Site Home   Archive Home   FAQ Home   How to search the Archive   How to Navigate the Archive   
Compare FPGA features and resources   

Threads starting:
1994JulAugSepOctNovDec1994
1995JanFebMarAprMayJunJulAugSepOctNovDec1995
1996JanFebMarAprMayJunJulAugSepOctNovDec1996
1997JanFebMarAprMayJunJulAugSepOctNovDec1997
1998JanFebMarAprMayJunJulAugSepOctNovDec1998
1999JanFebMarAprMayJunJulAugSepOctNovDec1999
2000JanFebMarAprMayJunJulAugSepOctNovDec2000
2001JanFebMarAprMayJunJulAugSepOctNovDec2001
2002JanFebMarAprMayJunJulAugSepOctNovDec2002
2003JanFebMarAprMayJunJulAugSepOctNovDec2003
2004JanFebMarAprMayJunJulAugSepOctNovDec2004
2005JanFebMarAprMayJunJulAugSepOctNovDec2005
2006JanFebMarAprMayJunJulAugSepOctNovDec2006
2007JanFebMarAprMayJunJulAugSepOctNovDec2007
2008JanFebMarAprMayJunJulAugSepOctNovDec2008
2009JanFebMarAprMayJunJulAugSepOctNovDec2009
2010JanFebMarAprMayJunJulAugSepOctNovDec2010
2011JanFebMarAprMayJunJulAugSepOctNovDec2011
2012JanFebMarAprMayJunJulAugSepOctNovDec2012
2013JanFebMarAprMayJunJulAugSepOctNovDec2013
2014JanFebMarAprMayJunJulAugSepOctNovDec2014
2015JanFebMarAprMayJunJulAugSepOctNovDec2015
2016JanFebMarAprMayJunJulAugSepOctNovDec2016
2017JanFebMarAprMayJunJulAugSepOctNovDec2017
2018JanFebMarAprMayJunJulAugSepOctNovDec2018
2019JanFebMarAprMayJunJulAugSepOctNovDec2019
2020JanFebMarAprMay2020

Authors:A B C D E F G H I J K L M N O P Q R S T U V W X Y Z

Custom Search

Messages from 134400

Article: 134400
Subject: Re: ISE 8.1i sp3: map is not recognized as an internal or external
From: andersod2 <thechrisanderson@gmail.com>
Date: Fri, 8 Aug 2008 17:26:42 -0700 (PDT)
Links: << >>  << T >>  << A >>
On Aug 8, 1:20=A0am, laserbeak43 <laserbea...@gmail.com> wrote:
> found a xilinx entry in the registry when searching "mingw" but the
> value in it was "MinGW^e"
> doubt that has anything to do with it.

Still, it could be worth backing up the registry and seeing what
happens when you remove that entry...after all, they are two seperate
programs that should not have anything to do with one another, yet
there they are sharing name space in the registry.  I have MinGW as
well and there is no registry entry that shows up "xilinx" when I
search for "mingw."

Also, Xilinx does not show up at all in my system path, though, like I
said, on my ISE 9.2 install I have a "Xilinx" variable set to my
install directory.  I haven't yet figured out how to mess with the
paths inside ISE itself.

Article: 134401
Subject: Re: Downsizing Verilog synthesization.
From: Jim Granville <no.spam@designtools.maps.co.nz>
Date: Sat, 09 Aug 2008 14:25:33 +1200
Links: << >>  << T >>  << A >>
Jim Granville wrote:

> Block RAM arrays would be one way to pack this into a smaller
> FPGA, and just clone the  Array-Scan as needed.
> eg if you have the time-budget to scan 50 into one block RAM,
> then 3 repeats supports 150 channels... 18 bit counters
> are good, as the reciprocal Cycle Ctr 'scales' these to
> similar times.
> (so precison is largely independant of freauency)
> 
> The Dual-port access to Block Rams, would allow
> the Cycle Ctr, and TimeCtr to share a block,
> typical block is 1K x 18, so 50 T_Ctrs, 50 captures,
> and 50 C_Ctrs + Preloads, is only 200 RAM-lines.

  I see a good, recent Xilinx WP here
"Creative Uses of Block RAM"  By: Peter Alfke

http://www.xilinx.com/support/documentation/white_papers/wp335.pdf

  So Peter may be able to comment on how many Counters, you
could practically 'pack into' Xilinx BlockRam, on a 1-2us Frame time ?
  [Tho even the smallest Xilinx device has 4 block rams..]

The OP may find pin-count dictates the fpga, if he wants to do a 
single-package parallel wiring design.
  Practical wiring decisions might point to a fast serial backplane
to collect the signals ?
  Something like a clone of the 4 bit SPI, done in 4-5 very bottom-end
cpld's, would feed 24-26-30 bits into practical 'ribbon-cable'
widths and speeds. That would avoid paying for a bigger fpga, just
to get the pins....

-jg



Article: 134402
Subject: Re: ML403, U-Boot+Linux and Ethernet?
From: Philipp Hachtmann <hachti@hachti.de>
Date: Sat, 09 Aug 2008 04:32:41 +0200
Links: << >>  << T >>  << A >>
Hi again,

thank you for your reply!

> There is also a U-Boot Version 1.1.4 from Xilinx out there which has 
> quite a lot of Xilinx specific support (Though I must admit, that I 
> haven't had a look at the current u-boot-git.

THAT's the point: The Xilinx git. I simply didn't know it!
And I used the old "ppc" arch, not yet "powerpc".

I now have an emaclite running. It is connected to the ML403's Marvell 
PHY via MII data lines without management interface.
The driver seems to work.
But everything is VERY slow and I see a lot of packet loss. Trying to 
wget something from my PC results in approx 10kB/s (yes, KILObytes...!).
I don't know what's wrong - and being not too keen to know about. I want 
to switch to the xps_ll_temac now.

This raises new questions:

- Does the Marvell PHY support GMII (I currently think so)?
- What is the GXP_Clk signal for?!?
- Are there any other important things to know?

- Does anybody have the Marvell Alaska PHY's datasheet? I would be VERY 
glad to get it - but Marvell doesn't provide any information :-(


> I do use the HardTemac as it saves some BRAMs and Slices (and I am 
> always lacking those ;-))
With xps_ll_temac I think? As the plb_temac doesn't exist for me...

>> How do I correctly set up the FX12's Tri-mode Emac with Linux and U-Boot?
>>
> 
> I think the Linuxppcembedded-Mailinglist might be a more convenient and 
> informative place to ask this.
Oh, nice to know. I'll subscribe there - if I find the list... found... 
subscribed :-)


Best wishes,

Philipp :-)


-- 
You have to reboot your computer after powerfail? Haha!
http://h316.hachti.de

Article: 134403
Subject: Re: Development board with SD card.
From: Bryan <bryan.fletcher@avnet.com>
Date: Fri, 8 Aug 2008 20:52:38 -0700 (PDT)
Links: << >>  << T >>  << A >>
You could use a board that has a 2x6 or two 1x6 Digilent PMOD
connections and then use the Digilent SD PMOD
http://www.digilentinc.com/Products/Detail.cfm?Prod=PMOD-SD&Nav1=Products&Nav2=Peripheral.

Some candidates include:
 - Avnet Spartan-3A 400A Eval board (www.em.avnet.com/spartan3a-evl)
 - Xilinx Spartan-3A DSP 1800A Starter (www.xilinx.com/s3adspstarter)
 - Xilinx Spartan-3A 700A Starter (www.xilinx.com/s3astarter)

Bryan

Article: 134404
Subject: Re: Development board with SD card.
From: "Pete Fraser" <pfraser@covad.net>
Date: Fri, 8 Aug 2008 21:30:16 -0700
Links: << >>  << T >>  << A >>
"Bryan" <bryan.fletcher@avnet.com> wrote in message 
news:a81b6767-e27e-434a-b273-1b49747b7dd8@n33g2000pri.googlegroups.com...
> You could use a board that has a 2x6 or two 1x6 Digilent PMOD
> connections and then use the Digilent SD PMOD
> http://www.digilentinc.com/Products/Detail.cfm?Prod=PMOD-SD&Nav1=Products&Nav2=Peripheral.
>
> Some candidates include:

> - Xilinx Spartan-3A DSP 1800A Starter (www.xilinx.com/s3adspstarter)

I happened to have one of these lying around, and I just
ordered the SDPMOD and cable.

Looks like it's exactly what I'm looking for.

Thanks.

Anybody know of any open source SD mode controller?
The only open core project I can find is SPI.

Thanks

Pete 



Article: 134405
Subject: altera cyclone3 484BGA package
From: Jamie Morken <jmorken@shaw.ca>
Date: Sat, 09 Aug 2008 06:37:50 GMT
Links: << >>  << T >>  << A >>
Hi,

Does anyone know of an appnote showing the recommended breakout routing
for the cyclone3 484BGA package?  I am currently working on a PCB with
this IC and am wondering about the most efficient way to break it out.

I am using tiny vias between the 1mm pitch BGA pads, mainly wondering
the best places to put the 3.3V supply and PLL supply decoupling caps,
and the best way to deal with the 3.3V and GND pins on the third and
fourth rows in respectively.

cheers,
Jamie

Article: 134406
Subject: Re: ISE 8.1i sp3: map is not recognized as an internal or external
From: laserbeak43 <laserbeak43@gmail.com>
Date: Sat, 9 Aug 2008 00:40:26 -0700 (PDT)
Links: << >>  << T >>  << A >>
ahhh, very interesting. I was getting tired of all the problems and
went back to 7.1i I must admit that i am tempted to try that again
though. hmm i'd like to back my pc up and then give it another shot on
a fresh install of windows. maybe i'll do that this week.

thanks for all of your help and words of encouragement! i'll let you
know what happens!!

andersod2 wrote:
> On Aug 8, 1:20=EF=BF=BDam, laserbeak43 <laserbea...@gmail.com> wrote:
> > found a xilinx entry in the registry when searching "mingw" but the
> > value in it was "MinGW^e"
> > doubt that has anything to do with it.
>
> Still, it could be worth backing up the registry and seeing what
> happens when you remove that entry...after all, they are two seperate
> programs that should not have anything to do with one another, yet
> there they are sharing name space in the registry.  I have MinGW as
> well and there is no registry entry that shows up "xilinx" when I
> search for "mingw."
>
> Also, Xilinx does not show up at all in my system path, though, like I
> said, on my ISE 9.2 install I have a "Xilinx" variable set to my
> install directory.  I haven't yet figured out how to mess with the
> paths inside ISE itself.

Article: 134407
Subject: Coolrunner programming - best way?
From: Didi <dp@tgi-sci.com>
Date: Sat, 9 Aug 2008 03:22:58 -0700 (PDT)
Links: << >>  << T >>  << A >>
I want to program a XCR3128X... (XPLA3) coolrunner so that
I have the jedec file as a result (I know my way from then on).

I looked at Xilinx' website and they do offer a free package
for that but it is 2G+ of size(!). Last time I downloaded something
for a similar purpose (the PHDL thing) it was well below 10M....

I really want only a translation from logic equations to jedec,
no optimization, no simulation, nothing more - is that achievable
using the 2G package? (I guess it is, IIRC I read something saying
ABEL <-> PHDL was not a huge issue, but some hint/confirmation
would not hurt)

Alternatively, can I locate some other free resource which is less
huge and will do the job?

This comes from someone who has written a complete toolchain for
the old - Philips - Coolrunner and so is used to have things under
control...

Thanks,

Didi

------------------------------------------------------
Dimiter Popoff               Transgalactic Instruments

http://www.tgi-sci.com
------------------------------------------------------
http://www.flickr.com/photos/didi_tgi/sets/72157600228621276/


Article: 134408
Subject: Re: Coolrunner programming - best way?
From: Jim Granville <no.spam@designtools.maps.co.nz>
Date: Sat, 09 Aug 2008 23:20:41 +1200
Links: << >>  << T >>  << A >>
Didi wrote:
> I want to program a XCR3128X... (XPLA3) coolrunner so that
> I have the jedec file as a result (I know my way from then on).
> 
> I looked at Xilinx' website and they do offer a free package
> for that but it is 2G+ of size(!). Last time I downloaded something
> for a similar purpose (the PHDL thing) it was well below 10M....

Isn't progress great!  ;)

There was a time when Xilinx let you download  JUST the CPLD
portion of the tools, but perhaps no longer...

> I really want only a translation from logic equations to jedec,
> no optimization, no simulation, nothing more - is that achievable
> using the 2G package? (I guess it is, IIRC I read something saying
> ABEL <-> PHDL was not a huge issue, but some hint/confirmation
> would not hurt)

  AFAIK, Xilinx still have ABEL in the tools, they took the trouble
a while ago to make a ABEL -> VHDL flow, which was good to
preserve legacy code, and good the those projects that don't
need VHDL source.
  (Of course, you now do have to have the VHDL tools, even if they
are pushed to the background....)

> 
> Alternatively, can I locate some other free resource which is less
> huge and will do the job?
> 
> This comes from someone who has written a complete toolchain for
> the old - Philips - Coolrunner and so is used to have things under
> control...

You could look around for some old Flow tools, and use those ?
Xilinx have some on the ISE Classics area, but the map page
omits to indicate any Size.


If you can use the Atmel ATF1502BE, (tqfp100) the tool flow for that is
lean by comparison :)

  20MB download, and that can be pruned
to under 5MB, if you want just command line flow.

-jg


Article: 134409
Subject: Re: Coolrunner programming - best way?
From: Marc Randolph <mrand@my-deja.com>
Date: Sat, 9 Aug 2008 05:05:37 -0700 (PDT)
Links: << >>  << T >>  << A >>
On Aug 9, 6:20=A0am, Jim Granville <no.s...@designtools.maps.co.nz>
wrote:
> Didi wrote:
> > I want to program a XCR3128X... (XPLA3) coolrunner so that
> > I have the jedec file as a result (I know my way from then on).
>
> > I looked at Xilinx' website and they do offer a free package
> > for that but it is 2G+ of size(!). Last time I downloaded something
> > for a similar purpose (the PHDL thing) it was well below 10M....
>
> Isn't progress great! =A0;)
>
> There was a time when Xilinx let you download =A0JUST the CPLD
> portion of the tools, but perhaps no longer...

It's still there:
http://www.xilinx.com/support/download/i101winpt.htm

although the single file download has certainly grown (thanks to their
"improved" user interface?) to almost 1 gigabyte.  Perhaps the web
install will only download the pieces that are important to you and
shave a few hundred megabytes(!) off.

   Marc

Article: 134410
Subject: Re: Downsizing Verilog synthesization.
From: eromlignod <eromlignod@aol.com>
Date: Sat, 9 Aug 2008 07:25:30 -0700 (PDT)
Links: << >>  << T >>  << A >>
On Aug 8, 9:25=A0pm, Jim Granville <no.s...@designtools.maps.co.nz>
wrote:
> Jim Granville wrote:
> > Block RAM arrays would be one way to pack this into a smaller
> > FPGA, and just clone the =A0Array-Scan as needed.
> > eg if you have the time-budget to scan 50 into one block RAM,
> > then 3 repeats supports 150 channels... 18 bit counters
> > are good, as the reciprocal Cycle Ctr 'scales' these to
> > similar times.
> > (so precison is largely independant of freauency)
>
> > The Dual-port access to Block Rams, would allow
> > the Cycle Ctr, and TimeCtr to share a block,
> > typical block is 1K x 18, so 50 T_Ctrs, 50 captures,
> > and 50 C_Ctrs + Preloads, is only 200 RAM-lines.
>
> =A0 I see a good, recent Xilinx WP here
> "Creative Uses of Block RAM" =A0By: Peter Alfke
>
> http://www.xilinx.com/support/documentation/white_papers/wp335.pdf
>
> =A0 So Peter may be able to comment on how many Counters, you
> could practically 'pack into' Xilinx BlockRam, on a 1-2us Frame time ?
> =A0 [Tho even the smallest Xilinx device has 4 block rams..]
>
> The OP may find pin-count dictates the fpga, if he wants to do a
> single-package parallel wiring design.
> =A0 Practical wiring decisions might point to a fast serial backplane
> to collect the signals ?
> =A0 Something like a clone of the 4 bit SPI, done in 4-5 very bottom-end
> cpld's, would feed 24-26-30 bits into practical 'ribbon-cable'
> widths and speeds. That would avoid paying for a bigger fpga, just
> to get the pins....
>
> -jg


It's a Spartan-3 and I picked it because of my large number of
inputs.  Connecting an input from each of the 88 notes lets me avoid
an elaborate tree of external multiplexers.  I only sustain 44 of the
strings at a time (every other note) because otherwise I get
interference from adjacent driving magnets.

The system does not run all the time.  It only actively adjusts
pitches for the first couple of minutes after you turn it on.  Once
the strings stabilize at their in-tune pitch, all of the PWM duty
cycles are frozen and maintained from that point on and the magnetic
sustaining ceases.  When the musician is done playing, he switches it
off.  The next time it is turned on, you get a new tuning for that
day's conditions.  This also keeps the system simple, since there is
only one button.

Don
Kansas City


Article: 134411
Subject: Re: Downsizing Verilog synthesization.
From: John_H <newsgroup@johnhandwork.com>
Date: Sat, 09 Aug 2008 08:18:31 -0700
Links: << >>  << T >>  << A >>
eromlignod wrote:
> It's a Spartan-3 and I picked it because of my large number of
> inputs.  Connecting an input from each of the 88 notes lets me avoid
> an elaborate tree of external multiplexers.  I only sustain 44 of the
> strings at a time (every other note) because otherwise I get
> interference from adjacent driving magnets.
> 
> The system does not run all the time.  It only actively adjusts
> pitches for the first couple of minutes after you turn it on.  Once
> the strings stabilize at their in-tune pitch, all of the PWM duty
> cycles are frozen and maintained from that point on and the magnetic
> sustaining ceases.  When the musician is done playing, he switches it
> off.  The next time it is turned on, you get a new tuning for that
> day's conditions.  This also keeps the system simple, since there is
> only one button.
> 
> Don
> Kansas City

So the tuning mode results in a constant square wave for each of the 44 
channels?  I was wondering how the system would decide when the square 
wave was "stable enough" to have reliable measurements.  The continuous 
feed simplifies many decisions.

The "Spartan-3" mention supplies a family, but the curiosity was more 
around the size of the part for the number of BlockRAMs and LUT 
resources (which is also different for S3, S3E, and S3A).

If you have a table full of count values, do you then just want to read 
these with an external processor?  Do you want to have processing done 
on the signals inside the FPGA?

Personally, I liked the earlier suggestion of defining the target period 
count and just measuring the delta value: the period error.

The approach I'd enjoy coding up would use the distributed SelectRAM 
memories as counters and use an "octave counter" configuration (my 
concept for the unique requirements of your project) which would count 
the C8 period every 2 clocks, C7 every 4, C6 every 8, all the way down 
to C1 and C2 each counted only every 128 clocks.  All eight octaves 
count with the same percent resolution relative to the period and use 
significantly less logic than one counter per key.  6 channels of the 
octave counter then give you the 44 channels at a time with a 2:1 mux to 
select odd or even keys.

The octave counter only needs to be used for the 3 LSbits and a single 
BlockRAM used to coordinate the counts and accumulate the 44 channels by 
adding the LSbits.  Two BlockRAMs would make the whole configuration 
easier to allow a dual-port for the accumulator on one and the full 
count (plus scaling?) into one port of the 2nd BlockRAM while the 
processor side has full access to the other port of the 2nd BlockRAM.

In the period counter arrangement, the largest error would be on the 
high frequency side so a 1/100 semitone error on C8 gives a 138ns error 
for a single cycle.  The "every other clock" at 50MHz for this highest 
octave easily gives a single-cycle measurement that would give the 
accuracy you need (80ns error from both sides of a single count); at 
this point your system error is probably much more an issue of the noise 
(measurement jitter) in the square waves from the sensors.  The octave 
counter approach give you the same percentage error on all octaves for a 
single key.

As pointed out by someone earlier, counting multiple consecutive periods 
rather than averaging multiple counts gives you a much higher precision, 
spreading the 80ns error I mentioned above over multiple periods rather 
than just one for a per-period error of 80ns/N for an N period count. 
Using BlockRAMs to hold the main part of the counters, you have 36 bits 
to play with for free.  Since the octave counter scales by a factor of 2 
for each octave, all the counts are the same relative size.

If you wanted to pursue the error count rather than the raw count values 
for each period, you could even multiply the errors by a defined 
constant for each key to give you a scaled error that's appropriate to 
feed your system adjustments and have all your processing easily handled 
within the single FPGA.

This kind of stuff is just fun.

Article: 134412
Subject: eliminating individual array registers?
From: sid <sylvestersn@yahoo.com>
Date: Sat, 9 Aug 2008 09:13:50 -0700 (PDT)
Links: << >>  << T >>  << A >>
I'm working with a Spartan FPGA using ISE.  I have a large array of 8
bit numbers, but due to the nature of the device, some of them are not
used.  Is there a way to eliminate those particular registers so that
they don't take up space?

For example, if I have an array with 100 8-bit registers like this:

reg [7:0] array [99:0];

and I'm not using registers [22], [45], [66], or [92], can I somehow
remove those registers from the final design?

sid

Article: 134413
Subject: Re: eliminating individual array registers?
From: "KJ" <kkjennings@sbcglobal.net>
Date: Sat, 9 Aug 2008 12:19:52 -0400
Links: << >>  << T >>  << A >>

"sid" <sylvestersn@yahoo.com> wrote in message 
news:2059f53b-6bb3-4552-b918-a4fecaff421b@k30g2000hse.googlegroups.com...
> I'm working with a Spartan FPGA using ISE.  I have a large array of 8
> bit numbers, but due to the nature of the device, some of them are not
> used.  Is there a way to eliminate those particular registers so that
> they don't take up space?
>
> For example, if I have an array with 100 8-bit registers like this:
>
> reg [7:0] array [99:0];
>
> and I'm not using registers [22], [45], [66], or [92], can I somehow
> remove those registers from the final design?
>

Synthesis will automatically do that for you

KJ 



Article: 134414
Subject: Re: eliminating individual array registers?
From: "Symon" <symon_brewer@hotmail.com>
Date: Sat, 9 Aug 2008 18:05:04 +0100
Links: << >>  << T >>  << A >>
KJ wrote:
> "sid" <sylvestersn@yahoo.com> wrote in message
> news:2059f53b-6bb3-4552-b918-a4fecaff421b@k30g2000hse.googlegroups.com...
>> I'm working with a Spartan FPGA using ISE.  I have a large array of 8
>> bit numbers, but due to the nature of the device, some of them are
>> not used.  Is there a way to eliminate those particular registers so
>> that they don't take up space?
>>
>> For example, if I have an array with 100 8-bit registers like this:
>>
>> reg [7:0] array [99:0];
>>
>> and I'm not using registers [22], [45], [66], or [92], can I somehow
>> remove those registers from the final design?
>>
>
> Synthesis will automatically do that for you
>
> KJ

KJ,
In some circumstances, maybe, but look at this scenario:-



process(clk,res)
  begin
    if res = '1' then
      registers <= all_zeros;
    elsif rising_edge(clk) then
      registers(cpu_address) <= data_from_cpu;
    end if;
  end process;

data_to_cpu <= registers(cpu_address);



How does the synthesiser know which addresses the CPU never uses?

Cheers, Syms.






Article: 134415
Subject: Re: eliminating individual array registers?
From: "KJ" <kkjennings@sbcglobal.net>
Date: Sat, 9 Aug 2008 13:54:01 -0400
Links: << >>  << T >>  << A >>

"Symon" <symon_brewer@hotmail.com> wrote in message 
news:g7kioq$3ld$1@aioe.org...
> KJ wrote:
>> "sid" <sylvestersn@yahoo.com> wrote in message
>> news:2059f53b-6bb3-4552-b918-a4fecaff421b@k30g2000hse.googlegroups.com...
>>>
>>> and I'm not using registers [22], [45], [66], or [92], can I somehow
>>> remove those registers from the final design?
>>>
>>
>> Synthesis will automatically do that for you
>>
>> KJ
>
> KJ,
> In some circumstances, maybe, but look at this scenario:-
>
>
>
> process(clk,res)
>  begin
>    if res = '1' then
>      registers <= all_zeros;
>    elsif rising_edge(clk) then
>      registers(cpu_address) <= data_from_cpu;
>    end if;
>  end process;
>
> data_to_cpu <= registers(cpu_address);
>
>
>
> How does the synthesiser know which addresses the CPU never uses?
>

It doesn't, and your example is not one where the registers are not used 
either since they are all addressable therefore they must all be 
implemented.  If this is what the OP had in mind when he said he had 
'unused' registers then he is mistaken as well.

KJ
> Cheers, Syms.
>
>
>
>
> 



Article: 134416
Subject: Re: ML403, U-Boot+Linux and Ethernet?
From: Lorenz Kolb <lorenz.kolb@uni-ulm.de>
Date: Sat, 09 Aug 2008 20:17:12 +0200
Links: << >>  << T >>  << A >>
Philipp Hachtmann wrote:
> Hi again,
> 
> thank you for your reply!
> 
>> There is also a U-Boot Version 1.1.4 from Xilinx out there which has 
>> quite a lot of Xilinx specific support (Though I must admit, that I 
>> haven't had a look at the current u-boot-git.
> 
> THAT's the point: The Xilinx git. I simply didn't know it!
> And I used the old "ppc" arch, not yet "powerpc".
> 
> I now have an emaclite running. It is connected to the ML403's Marvell 
> PHY via MII data lines without management interface.
> The driver seems to work.
> But everything is VERY slow and I see a lot of packet loss. Trying to 
> wget something from my PC results in approx 10kB/s (yes, KILObytes...!).
> I don't know what's wrong - and being not too keen to know about. I want 
> to switch to the xps_ll_temac now.
> 
> This raises new questions:
> 
> - Does the Marvell PHY support GMII (I currently think so)?

Yes it does, I do use it.

> - What is the GXP_Clk signal for?!?

I don't have this one :-(

But as a hint: use the BaseSystemBuilder Wizzard to generate a Design 
with Hard-Temac and copy from there to Your Design ;-)

> - Are there any other important things to know?

Well, there is a sack of rice in China, okok ;-) Well with u-boot 
Autonegotiation-Code didnÄt work fine for us, we changed that, maybe 
I'll find that patch somewhere, I promise to look for it...

> 
> - Does anybody have the Marvell Alaska PHY's datasheet? I would be VERY 
> glad to get it - but Marvell doesn't provide any information :-(
> 

Haha, Marvell obviously does NOT want to sell any chips, at least they 
would even have wanted a full story about the project behind our own 
custom board, well other fathers do have good-looking daughters as well.

Normally You do not need that datasheet. The registers You basically 
need are defined by the GMII-Standard everything beyond is not needed 
(though might be convenient).

> 
>> I do use the HardTemac as it saves some BRAMs and Slices (and I am 
>> always lacking those ;-))
> With xps_ll_temac I think? As the plb_temac doesn't exist for me...
> 

Well actually I started with my ML403 when EDK 8.1 was state of art and 
I do not change my base system just because Xilinx thinks that ll_temac 
is more suitable for them (or even just think of those crazy wrappers 
around the PPC405 just to use a PPC440 similar memory-interface, 
sometimes I think some people are really crazy ...

>>> How do I correctly set up the FX12's Tri-mode Emac with Linux and 
>>> U-Boot?
>>>
>>
>> I think the Linuxppcembedded-Mailinglist might be a more convenient 
>> and informative place to ask this.
> Oh, nice to know. I'll subscribe there - if I find the list... found... 
> subscribed :-)
> 
> 
> Best wishes,
> 
> Philipp :-)
> 
> 

Regards,

Lorenz

Article: 134417
Subject: altera cyclone3 vertical migration
From: Jamie Morken <jmorken@shaw.ca>
Date: Sat, 09 Aug 2008 22:35:53 GMT
Links: << >>  << T >>  << A >>
Hi,

How does the vertical migration, using different parts with the same 
package work with the altera cyclone 3 devices?  For the EP3C40 and
EP3C16 parts in the FBGA464 packages, pin D7 is gnd on the 16K part,
and D7 is diffio on the 40K part.  Also some gnd pins on the 40K part
are I/O on the 16K part.  So to design a PCB that can work with both of
these parts alot of extra I/O will have to be grounded I guess?

cheers,
Jamie

Article: 134418
Subject: Re: Downsizing Verilog synthesization.
From: Jim Granville <no.spam@designtools.maps.co.nz>
Date: Sun, 10 Aug 2008 11:09:05 +1200
Links: << >>  << T >>  << A >>
eromlignod wrote:
> It's a Spartan-3 and I picked it because of my large number of
> inputs.  Connecting an input from each of the 88 notes lets me avoid
> an elaborate tree of external multiplexers.  

Done right, the external fan-in design can save a lot of bulky wiring,
and keeps the looming in simple ribbon cable.

We have done Serial/parallel chainable fan-in/fan-out systems
in designs, and it is very expandable, and simple to loom-up.
Also has natural cross talk advantages.

You will already have 'remote PCBs' doing the front-end signal 
conditioning ?

How much you 'production enginerr' this, depends on how many of these 
you hope to make.

> I only sustain 44 of the
> strings at a time (every other note) because otherwise I get
> interference from adjacent driving magnets.
> 
> The system does not run all the time.  It only actively adjusts
> pitches for the first couple of minutes after you turn it on.  Once
> the strings stabilize at their in-tune pitch, all of the PWM duty
> cycles are frozen and maintained from that point on and the magnetic
> sustaining ceases.  When the musician is done playing, he switches it
> off.  The next time it is turned on, you get a new tuning for that
> day's conditions.  This also keeps the system simple, since there is
> only one button.

Hmm... has this been proven on a working unit, in the field ?

Better would be a system that can _prove_ what you stated, by
tracking the frequency even during a performance. It does not
have to adjust, but knowing just how many ppm the thing
has drifted, would seem a strong selling point

-jg


Article: 134419
Subject: Re: Downsizing Verilog synthesization.
From: Jim Granville <no.spam@designtools.maps.co.nz>
Date: Sun, 10 Aug 2008 11:29:31 +1200
Links: << >>  << T >>  << A >>
John_H wrote:

> The octave counter only needs to be used for the 3 LSbits and a single 
> BlockRAM used to coordinate the counts and accumulate the 44 channels by 
> adding the LSbits.  Two BlockRAMs would make the whole configuration 
> easier to allow a dual-port for the accumulator on one and the full 
> count (plus scaling?) into one port of the 2nd BlockRAM while the 
> processor side has full access to the other port of the 2nd BlockRAM.

With counters, normally you have a capture register, so that gives
the processor something relatively static to read,


> In the period counter arrangement, the largest error would be on the 
> high frequency side so a 1/100 semitone error on C8 gives a 138ns error 
> for a single cycle.  The "every other clock" at 50MHz for this highest 
> octave easily gives a single-cycle measurement that would give the 
> accuracy you need (80ns error from both sides of a single count); 

Correct. What you describe, with variable capture cycles, is a 
reciprocal frequecny counter.

There are three choices for the Cycles-to-time-over count
determination in a reciprocal frequecny counter.

a) it can be hard coded. (which I think is what you describe)

b) it can be preloaded via SW, which allows elasticity in the gate 
times. (one might try varying times to reduce beat effects)

c) It is Auto-Set by a desired gate time, and smarter logic
takes the first whole cycle number larger than the gate time.

Option c) is the full benchtop reciprocal Counter, and b) is the variant 
I'd suggest for this project. Lets SW have full control, without 
recompile of FPGA, but saves some logic & data bandwidth from c)

> As pointed out by someone earlier, counting multiple consecutive periods 
> rather than averaging multiple counts gives you a much higher precision, 
> spreading the 80ns error I mentioned above over multiple periods rather 
> than just one for a per-period error of 80ns/N for an N period count. 
> Using BlockRAMs to hold the main part of the counters, you have 36 bits 
> to play with for free.  Since the octave counter scales by a factor of 2 
> for each octave, all the counts are the same relative size.

Yes, with a little design care, on a reciprocal counter you can extend 
the precision across multiple readings.

The trick to to not lose time-counts, or edge-counts - If your HE does 
that, then [Cycles/Time] can be added downstream for very high precisions.

This would enable research into the milli-kelvin thermal shifts
going down, long before they became audible

Perhaps a variant of this capture-pathway, could be a 'wide tuner' for
general piano use - more sales ?
Would slash the skill and time needed to tune manually a piano


Article: 134420
Subject: Block Rams
From: Zhane <me75@hotmail.com>
Date: Sat, 9 Aug 2008 16:36:43 -0700 (PDT)
Links: << >>  << T >>  << A >>
I have a Spartan 3E XC3S500E. According to the data sheet, it has 20
blocks of ram, totalling up to 368,640 bits.

I've used it for my FIFO core, which is 5bits width and 65k depth.

However, the amount of data that I managed to store inside, seems to
be way lesser than 368,640bits. Even before reach 100,000bits, the
FIFO output a write_full signal, telling me that it's full.

I've no other cores, except my own code. Are there any other mechanism
that uses the blockram even though it is not indicated on the Summary
page inside my Xilinx ISE?

Article: 134421
Subject: Re: Block Rams
From: "KJ" <kkjennings@sbcglobal.net>
Date: Sat, 9 Aug 2008 19:50:02 -0400
Links: << >>  << T >>  << A >>

"Zhane" <me75@hotmail.com> wrote in message 
news:4b0f65af-207b-41d6-836d-378947084936@b30g2000prf.googlegroups.com...
> However, the amount of data that I managed to store inside, seems to
> be way lesser than 368,640bits. Even before reach 100,000bits, the
> FIFO output a write_full signal, telling me that it's full.
>

1. How did you validate the actual number of fifo writes that you performed? 
Presumably your counter is counting more than once for each time that you 
think you do a write.
2. What causes the fifo to be written to?  Is that signal generated 
synchronously to the same clock that clocks the fifo?

> I've no other cores, except my own code. Are there any other mechanism
> that uses the blockram even though it is not indicated on the Summary
> page inside my Xilinx ISE?

1. Start with a simulation, get that working.
2. Validate that the inputs to the simulation of the device match what is 
happening on the actual device

Since your code is implementing the fifo, keep in mind that the fifo signal 
is *saying* that the fifo is full, it might not in fact be *full*.  Memory 
does not send out a signal indicating that it is full, logic that counts 
events does.

KJ 



Article: 134422
Subject: Re: Block Rams
From: Peter Alfke <peter@xilinx.com>
Date: Sat, 9 Aug 2008 18:06:04 -0700 (PDT)
Links: << >>  << T >>  << A >>
On Aug 9, 4:36=A0pm, Zhane <m...@hotmail.com> wrote:
> I have a Spartan 3E XC3S500E. According to the data sheet, it has 20
> blocks of ram, totalling up to 368,640 bits.
>
> I've used it for my FIFO core, which is 5bits width and 65k depth.
>
> However, the amount of data that I managed to store inside, seems to
> be way lesser than 368,640bits. Even before reach 100,000bits, the
> FIFO output a write_full signal, telling me that it's full.
>
> I've no other cores, except my own code. Are there any other mechanism
> that uses the blockram even though it is not indicated on the Summary
> page inside my Xilinx ISE?

Zhane,
you are building a narrow and very deep FIFO. Obviously it does not
fit into one BlockRAM. How did you partition it?
You should use 5 BRAMs in parallel, each 1 bit wide, and 4 such
structures in series for the required depth. That would be most
efficient, and would also be fairly simple. This is the only
reasonable partitioning.
Perhaps you made each BRAM 9 bits wide, and concatenated 20 of them,
but that would give you only a depth of about 40k location, since you
wasted 4 out of 9 memory locations.
You did not mention speed and asynchronous vs synchronous operation.
Thus I assume you have no problms there.
How did you design the FIFO? Did you use a Wizard, or CoreGen?
Peter Alfke, Xilinx Applications

Article: 134423
Subject: Re: Block Rams
From: Zhane <me75@hotmail.com>
Date: Sat, 9 Aug 2008 18:43:06 -0700 (PDT)
Links: << >>  << T >>  << A >>
erm

I used the CoreGen to do it.
I set it up for 2 independent clocks.

Ya.. my writing code is using the same clock as the clock that is fed
into the FIFO

Article: 134424
Subject: Re: Block Rams
From: Zhane <me75@hotmail.com>
Date: Sat, 9 Aug 2008 18:45:41 -0700 (PDT)
Links: << >>  << T >>  << A >>
On Aug 10, 7:50=A0am, "KJ" <kkjenni...@sbcglobal.net> wrote:
> "Zhane" <m...@hotmail.com> wrote in message
>
> news:4b0f65af-207b-41d6-836d-378947084936@b30g2000prf.googlegroups.com...
>
> > However, the amount of data that I managed to store inside, seems to
> > be way lesser than 368,640bits. Even before reach 100,000bits, the
> > FIFO output a write_full signal, telling me that it's full.
>
> 1. How did you validate the actual number of fifo writes that you perform=
ed?
> Presumably your counter is counting more than once for each time that you
> think you do a write.
> 2. What causes the fifo to be written to? =A0Is that signal generated
> synchronously to the same clock that clocks the fifo?
>
> > I've no other cores, except my own code. Are there any other mechanism
> > that uses the blockram even though it is not indicated on the Summary
> > page inside my Xilinx ISE?
>
> 1. Start with a simulation, get that working.
> 2. Validate that the inputs to the simulation of the device match what is
> happening on the actual device
>
> Since your code is implementing the fifo, keep in mind that the fifo sign=
al
> is *saying* that the fifo is full, it might not in fact be *full*. =A0Mem=
ory
> does not send out a signal indicating that it is full, logic that counts
> events does.
>
> KJ

my code is working both in simulation and in real application. Just
that when I starts to write a little bit more into the fifo, the
fifo's output signal says that it is full and refuse to let me write
anymore.



Site Home   Archive Home   FAQ Home   How to search the Archive   How to Navigate the Archive   
Compare FPGA features and resources   

Threads starting:
1994JulAugSepOctNovDec1994
1995JanFebMarAprMayJunJulAugSepOctNovDec1995
1996JanFebMarAprMayJunJulAugSepOctNovDec1996
1997JanFebMarAprMayJunJulAugSepOctNovDec1997
1998JanFebMarAprMayJunJulAugSepOctNovDec1998
1999JanFebMarAprMayJunJulAugSepOctNovDec1999
2000JanFebMarAprMayJunJulAugSepOctNovDec2000
2001JanFebMarAprMayJunJulAugSepOctNovDec2001
2002JanFebMarAprMayJunJulAugSepOctNovDec2002
2003JanFebMarAprMayJunJulAugSepOctNovDec2003
2004JanFebMarAprMayJunJulAugSepOctNovDec2004
2005JanFebMarAprMayJunJulAugSepOctNovDec2005
2006JanFebMarAprMayJunJulAugSepOctNovDec2006
2007JanFebMarAprMayJunJulAugSepOctNovDec2007
2008JanFebMarAprMayJunJulAugSepOctNovDec2008
2009JanFebMarAprMayJunJulAugSepOctNovDec2009
2010JanFebMarAprMayJunJulAugSepOctNovDec2010
2011JanFebMarAprMayJunJulAugSepOctNovDec2011
2012JanFebMarAprMayJunJulAugSepOctNovDec2012
2013JanFebMarAprMayJunJulAugSepOctNovDec2013
2014JanFebMarAprMayJunJulAugSepOctNovDec2014
2015JanFebMarAprMayJunJulAugSepOctNovDec2015
2016JanFebMarAprMayJunJulAugSepOctNovDec2016
2017JanFebMarAprMayJunJulAugSepOctNovDec2017
2018JanFebMarAprMayJunJulAugSepOctNovDec2018
2019JanFebMarAprMayJunJulAugSepOctNovDec2019
2020JanFebMarAprMay2020

Authors:A B C D E F G H I J K L M N O P Q R S T U V W X Y Z

Custom Search