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 142000

Article: 142000
Subject: Re: How do you handle build variants in VHDL?
From: Andy <jonesandy@comcast.net>
Date: Tue, 21 Jul 2009 06:08:46 -0700 (PDT)
Links: << >>  << T >>  << A >>
Unfortunately, the generate statement only allows conditionally
including concurrent statements. You must use subprograms or if-
statements based on generics for conditionally executing sequential
code. And while you can't conditionally declare objects, you can make
unconditional declarations dependent upon generic parameters
(constants can be initialized by a function call that takes a
generic). Generate does allow a local declarative region for the
concurrent statement(s) that are included, but those declarations are
not visible outside of it.

In most cases you can use a constant anywhere you could use a generic.
You can use a generic anywhere you could use a deferred constant
(beware locally static restrictions).

With generic driven packages in the new standard, the (dis)advantages
of generics vs package of constants may get more blurred.

Andy

Article: 142001
Subject: Re: Strange FPGA behavior
From: Andy <jonesandy@comcast.net>
Date: Tue, 21 Jul 2009 06:10:52 -0700 (PDT)
Links: << >>  << T >>  << A >>
On Jul 21, 4:18=A0am, "Fredxx" <fre...@spam.com> wrote:
> Actually running Chipscope at a higher multiple of the clock is very good=
 at
> seeing timing errors. =A0Ideal if you have a spare DCM!

Except inserting chipscope alters the timing, so it may help you find
timing errors that were not there to begin with, or mask timing errors
that are there without it.

Andy

Article: 142002
Subject: Re: Strange FPGA behavior
From: "Fredxx" <fredxx@spam.com>
Date: Tue, 21 Jul 2009 15:13:33 +0100
Links: << >>  << T >>  << A >>
Andy wrote:
> On Jul 21, 4:18 am, "Fredxx" <fre...@spam.com> wrote:
>> Actually running Chipscope at a higher multiple of the clock is very
>> good at seeing timing errors. Ideal if you have a spare DCM!
>
> Except inserting chipscope alters the timing, so it may help you find
> timing errors that were not there to begin with, or mask timing errors
> that are there without it.
>
> Andy

Maybe, but I would hope that the timing criteria would have been tied down 
so waveforms didn't change on every compilation.

I was thinking more of interface issues, rather than "intermediate 
failiures" where I assume there is some internal timing failure within the 
device.  It should be possible to overcome or identify these sorts of 
failures by entering timing information in the UCF file, or by following 
good practice if crossing clock domains.



Article: 142003
Subject: Re: MPMC4.03 DDR1 question
From: Florian <googlegroups@47110815.com>
Date: Tue, 21 Jul 2009 07:48:55 -0700 (PDT)
Links: << >>  << T >>  << A >>
On Jul 17, 11:48=A0pm, "MM" <mbmsv@yahoo.com> wrote:
> Does anyone know if I can run DDR1 type of memory at double the frequency=
 ofMPMC4.03 (EDK10.1) main clock? Or is this possible for DDR2 only? I am
> having difficult time trying to understand this from the datasheet. So,
> before digging into the MPMC source code I thought I would try asking...
>
> Thanks,
> /Mikhail

Hi Mikhail

In MPMC v4.03 I don't find any hint that 1:2 clock ratio is not
allowed for DDR1.
In v5.02 the 1:2 clock ratio is described in chapter Performance...

Have fun
Florian


Article: 142004
Subject: Spartan 3 and DDR2
From: John Larkin <jjlarkin@highNOTlandTHIStechnologyPART.com>
Date: Tue, 21 Jul 2009 08:31:47 -0700
Links: << >>  << T >>  << A >>
Hi,

We want to use an XC3S1500 to talk to a single 16-wide 1 gbit DDR2
dram chip. The coregen thing seems to successfully build a dram
interface that's claimed to work up to 133 MHz. The DRAM is spec'd to
work down to 128 MHz, so there's a small overlap window. We'd run at
128.

Our Xilinx FAE seems to be discouraging us from doing this, without
saying precisely why, suggesting some other parts. Spartan 6 would be
ideal (hard dram controller as I understand it) but are unavailable
for some vague time. We'd rather not use a new part for a single
project, since we will cut over to the s6's when they are available.

Has anyone done DDR2 from a Spartan 3? Success/horror stories?

John



Article: 142005
Subject: Is it possible to encrypt an existing bit file with BitGen?
From: bonnerfme <xiaoling.li@fme.fujitsu.com>
Date: Tue, 21 Jul 2009 08:35:58 -0700 (PDT)
Links: << >>  << T >>  << A >>
Hi there,

I'm wondering is it possible to encrypt an already existing
unencrypted bit file with BitGen, with out any files from the
implementation step?

Article: 142006
Subject: Re: Spartan 3 and DDR2
From: "BobW" <nimby_GIMME_SOME_SPAM@roadrunner.com>
Date: Tue, 21 Jul 2009 09:01:26 -0700
Links: << >>  << T >>  << A >>

"John Larkin" <jjlarkin@highNOTlandTHIStechnologyPART.com> wrote in message 
news:e4nb65t2drpjnba1453ms7541utu8lojf3@4ax.com...
> Hi,
>
> We want to use an XC3S1500 to talk to a single 16-wide 1 gbit DDR2
> dram chip. The coregen thing seems to successfully build a dram
> interface that's claimed to work up to 133 MHz. The DRAM is spec'd to
> work down to 128 MHz, so there's a small overlap window. We'd run at
> 128.
>
> Our Xilinx FAE seems to be discouraging us from doing this, without
> saying precisely why, suggesting some other parts. Spartan 6 would be
> ideal (hard dram controller as I understand it) but are unavailable
> for some vague time. We'd rather not use a new part for a single
> project, since we will cut over to the s6's when they are available.
>
> Has anyone done DDR2 from a Spartan 3? Success/horror stories?
>
> John
>

Spartan 3 doesn't have any of the Virtex 4 (and later) type of regional IOB 
group clocking, so doing DDR and/or DDR2 memory interfaces is tougher and 
certainly will limit your max data rate.

Can you get Spartan 3 to work at 4ns data rate? Probably, but if you have 
the option you should use a later family.

Even with the families that have regional clocking that can be strobed by 
DQS, it's still a challenge. You have to be super careful about which pins 
you use and be aware of the "reach" of the local clocking resources in terms 
of the data bits associated with each DQS and also the reach of the divided 
local clock that feeds the fifo that is the interface into the fabric 
(proper).

It sure would have been nice if the DRAM manufacturers would have provided a 
CONTINUOUS read clock rather than a freeking dual purpose read/write strobe 
(DQS). My hair would be darker.

Bob
-- 
== All google group posts are automatically deleted due to spam == 



Article: 142007
Subject: Re: HELP required floating point multiplier on FPGA
From: "Sundar S" <krishna.sun@gmail.com>
Date: Tue, 21 Jul 2009 11:05:16 -0500
Links: << >>  << T >>  << A >>
10000 floating point! That's a huge multiplier. First point, think whether
that's the best way to do your image processing. And then, this is what you
have to read to do it:
http://ieeexplore.ieee.org/Xplore/login.jsp?url=http%3A%2F%2Fieeexplore.ieee.org%2Fiel5%2F9047%2F28700%2F01287799.pdf&authDecision=-203.
You may need to implement a 8-bit adder and a 24-bit multipler for each
multiplication. My best was 190 MHz on a Virtex II family. I used a 8 stage
pipeline for FP multiplication. Never gone beyond that. It was part of a
big project, not something that I did for fun.
http://sunnyeves.blogspot.com/

>On Jul 16, 8:07=A0pm, Martin Thompson <martin.j.thomp...@trw.com> wrote:
>> Nauman Mir <m...@hotmail.com> writes:
>> > hi Good Day!
>> > =A0 I hope you all are fine. Actually i want to take some technical
>> > input. I want to build 10,000 floating point multiplier in FPGA
>> > fabric. So
>>
>> That's a lot of multipliers! =A0Unfortunately I have only more
questions
>> for you:
>>
>> What are you doing that needs this qty of multipliers? =A0Do you
really
>> need floating point? =A0What word size? =A0What data rate?
>>
>> > =A0> Kindly suggest me Is it possible ?
>>
>> Not taking your query at face value - a single-precision FP multiplier
>> from Xilinx Coregen runs to 1000 or so LUTs (IIRC), so that's a 10MLUT
>> FPGA... (actually, DSP blocks would probably be the limiting factor
>> anyway, but it's still infeasible!). =A0The largest Virtex 6 looks
like
>> about 450k LUTs...
>>
>> Now, if you actually need to do 10,000 multiplies one after the other,
>> that's very different story...
>>
>> > =A0> How we can implement ? (my suggestion is MicroBlaze soft
processor=
>)
>>
>> Only if you want the answer realtively slowly, in which case a normal
>> processor rather than an FPGA would better suit the problem. =A0That
woul=
>d
>> also be a sequential solution.
>>
>> > =A0> Which Chip_Set is best for this purpose ?
>>
>> Insufficient data. =A0sorry!
>>
>> Cheers,
>> Martin
>>
>> --
>> martin.j.thomp...@trw.com
>> TRW Conekt - Consultancy in Engineering, Knowledge and
Technologyhttp://w=
>ww.conekt.net/electronics.html
>
>Thanks for your concern .........
>
>
>> word size is 8-bit
>> Definatly i necer lose precession so that i use Floating point
>> I want to do this maximum in 13Cycles , after pipeline
>> I want to do this all Concurrently
>> i use this in image matching algorithm for medical machine development
>
>Best Regards
>
>Nauman Mir
>

Article: 142008
Subject: Re: Is it possible to encrypt an existing bit file with BitGen?
From: Marc Jet <jetmarc@hotmail.com>
Date: Tue, 21 Jul 2009 09:17:58 -0700 (PDT)
Links: << >>  << T >>  << A >>
> I'm wondering is it possible to encrypt an already existing
> unencrypted bit file with BitGen, with out any files from the
> implementation step?

The only way I found for my projects was to use the .ncd file.

Article: 142009
Subject: Re: Problem with System ACE, can't get it to work with partitioned
From: AndreasWallner <Andreas.Wallner.etm07@fh-joanneum.at>
Date: Tue, 21 Jul 2009 10:43:17 -0700 (PDT)
Links: << >>  << T >>  << A >>
> Why do you call "mkdosfs -F 16 -R 1 -I /dev/sdc (for the whole disk)" ?

It was a test, because I couldn't get the partitioned disk to work.
It's not the call I used to format the partition.

> What version of mkdosfs do you use?

My gentoo tells my I'm using dos-tools 3.0.2

But thanks, I think I found my mistake... It looks like a partition
with a small size like 64MB has to be FAT12 formatted, I discovered
this after it worked with a 97MB partition (wrong line on the
numblock...). I typed in the wrong column, it worked, and since then I
never had a problem.

Andreas

Article: 142010
Subject: Re: MPMC4.03 DDR1 question
From: "MM" <mbmsv@yahoo.com>
Date: Tue, 21 Jul 2009 14:03:18 -0400
Links: << >>  << T >>  << A >>
"Florian" <googlegroups@47110815.com> wrote
>
> In MPMC v4.03 I don't find any hint that 1:2 clock ratio is not allowed 
> for DDR1.

From looking at the source code I don't believe it will work... I don't 
think it will work with v5.0 either...


/Mikhail 



Article: 142011
Subject: Re: Spartan 3 and DDR2
From: qrk <SpamTrap@spam.net>
Date: Tue, 21 Jul 2009 18:18:05 GMT
Links: << >>  << T >>  << A >>
On Tue, 21 Jul 2009 08:31:47 -0700, John Larkin
<jjlarkin@highNOTlandTHIStechnologyPART.com> wrote:

>Hi,
>
>We want to use an XC3S1500 to talk to a single 16-wide 1 gbit DDR2
>dram chip. The coregen thing seems to successfully build a dram
>interface that's claimed to work up to 133 MHz. The DRAM is spec'd to
>work down to 128 MHz, so there's a small overlap window. We'd run at
>128.
>
>Our Xilinx FAE seems to be discouraging us from doing this, without
>saying precisely why, suggesting some other parts. Spartan 6 would be
>ideal (hard dram controller as I understand it) but are unavailable
>for some vague time. We'd rather not use a new part for a single
>project, since we will cut over to the s6's when they are available.
>
>Has anyone done DDR2 from a Spartan 3? Success/horror stories?
>
>John
>

We're using the XC3S1400A with DDR2 using a pair of Gb memory. We're
also using a Virtex 5 with DDR2. The Spartan-3A interface to DDR2 was
done using the coregen thing since the consultants that did the code
for this part of the project only had the skills to do drop-in cores.
We used the pinout from the demo board since that was a known working
configuration and the wiring produced a nearly optimal layout. If you
let the coregen do it's own pinout selection, you will end up with a
horrible wiring mess. The consultants got it working, but it was a
fight. If you read the documentation, you soon find out that using the
coregen requires a lot of fiddling with the config files, making sure
that pin functions are grouped in certain ways. The consultants
assured us that the coregen was an easy way to do memory interface,
but obviously they didn't heed the warnings - Xilinx peppers their
notes with "may" and "might". The memory coregen is a horrible piece
of crap. Plus, the documentation is extremely confusing on how you
deal with trace length between memory and FPGA and a delay line
required for the Spartan-3. We finally found the correct answer in
their on-line answer bank.

We did the Virtex 5 DDR2 interface in-house. We produced a much more
elegant interface than the coregen.

Oh, if you place the memory right next to the FPGA and optimize the
pinout, you can leave all the termination resistors out. We ran a
bunch of simulations which shows that this is possible. In practice,
we got beautiful looking waveforms using a GHz scope and a
differential probe on single ended lines. It saves a huge amount of
space and power. By putting in terminations, it requires that you need
terminations because of all the excess wiring you need! This was done
on both the Spartan and Virtex. All traces were buried.

I think you'll find that Xilinx cores are generally poorly done except
for a few things. Lots of bugs and poor functionality. They generally
require huge amounts of space to do things not quite right.

Don't get me started on their bloody buggy tools!!!!

-- 
Mark

Article: 142012
Subject: Re: How do you handle build variants in VHDL?
From: Andy Peters <google@latke.net>
Date: Tue, 21 Jul 2009 11:50:59 -0700 (PDT)
Links: << >>  << T >>  << A >>
On Jul 21, 6:08=A0am, Andy <jonesa...@comcast.net> wrote:
> Unfortunately, the generate statement only allows conditionally
> including concurrent statements. You must use subprograms or if-
> statements based on generics for conditionally executing sequential
> code. And while you can't conditionally declare objects, you can make
> unconditional declarations dependent upon generic parameters
> (constants can be initialized by a function call that takes a
> generic). Generate does allow a local declarative region for the
> concurrent statement(s) that are included, but those declarations are
> not visible outside of it.
>
> In most cases you can use a constant anywhere you could use a generic.
> You can use a generic anywhere you could use a deferred constant
> (beware locally static restrictions).
>
> With generic driven packages in the new standard, the (dis)advantages
> of generics vs package of constants may get more blurred.

It may be convenient to use generics to control a generate which
instantiates entities.

-a

Article: 142013
Subject: building a card reader into a virtex 2 or 5 based FPGA device.
From: jleslie48 <jon@jonathanleslie.com>
Date: Tue, 21 Jul 2009 12:56:52 -0700 (PDT)
Links: << >>  << T >>  << A >>
Sorry to start from scratch yet again, but I don't know where to
begin.

In the past I've had log file info dump out onto  a UART as
necessary.  The UART is slow, and requires an additional device to
capture the datastream.

I want to be able to write to a removable memory stick, or compact
flash card, but I don't have any idea how to do it.  When the FPGA is
powered up it should start a new "file" on the compact flash card, and
start writing to it.  On commanded bit or powerdown, the file should
be closed, and stored such that I can pull the card, plug it into a PC
and read the file with notepad or such.


The fpga should be able to read a small config file, and then write it
back out, for example a file with the filename in it

logfilen.txt:
0000000
--------------------------

the fpga reads the line ( 0000000 ) and knows filename should be that
plus one say 0000001.txt
and then it updates/rewrites/deletes and posts a

logfilen.txt:
00000001

this way the filenames of the log files keeps changing.


I'm looking for ideas on how to get this accomplished.

Thanks,

Jon






Article: 142014
Subject: Re: building a card reader into a virtex 2 or 5 based FPGA device.
From: Dave <dhschetz@gmail.com>
Date: Tue, 21 Jul 2009 17:38:59 -0700 (PDT)
Links: << >>  << T >>  << A >>
On Jul 21, 3:56=A0pm, jleslie48 <j...@jonathanleslie.com> wrote:
> Sorry to start from scratch yet again, but I don't know where to
> begin.
>
> In the past I've had log file info dump out onto =A0a UART as
> necessary. =A0The UART is slow, and requires an additional device to
> capture the datastream.
>
> I want to be able to write to a removable memory stick, or compact
> flash card, but I don't have any idea how to do it. =A0When the FPGA is
> powered up it should start a new "file" on the compact flash card, and
> start writing to it. =A0On commanded bit or powerdown, the file should
> be closed, and stored such that I can pull the card, plug it into a PC
> and read the file with notepad or such.
>
> The fpga should be able to read a small config file, and then write it
> back out, for example a file with the filename in it
>
> logfilen.txt:
> 0000000
> --------------------------
>
> the fpga reads the line ( 0000000 ) and knows filename should be that
> plus one say 0000001.txt
> and then it updates/rewrites/deletes and posts a
>
> logfilen.txt:
> 00000001
>
> this way the filenames of the log files keeps changing.
>
> I'm looking for ideas on how to get this accomplished.
>
> Thanks,
>
> Jon

If you wanted to use CompactFlash, you could use Xilinx'x SystemAce
chip and their libraries for interfacing to it with an embedded
processor like Microblaze or the PowerPC. If you wanted to roll your
own CF interface, it's basically an IDE interface, so you might be
able to find the spec and go at it, or find a free core on
opencores.org.

If you wanted to use Secure Digital, you can do that with a SPI
interface to implement the sector reads/writes and find some FAT32
code to put on top of in, of course in an embedded processor. There's
also a product called DosOnChip which takes care of a lot of the
filesystem stuff for you: http://www.sparkfun.com/commerce/product_info.php=
?products_id=3D8215

Hope this gives you some ideas.

Dave

Article: 142015
Subject: Re: Suzaku SZx30 or similar
From: "AstroLad" <AstroLad@cox.net>
Date: Tue, 21 Jul 2009 21:52:11 -0500
Links: << >>  << T >>  << A >>
John,

The size is probably manageable, but we don't need the extra features.

How about this possibility: Darnaw 1 with the non-PCI Ethernet module. We
have to make a carrier board for our circuitry anyway. So we put the Darnaw
on one side, the Ethernet on the opposite side and our circuits wherever
they will fit. That has the appeal of getting only what we need to keep the
cost and power down.

A few more questions if you don't mind. I could not find answers on your
web site.

1. Size of the Darnaw. I estimate about 2.8" square from the picture.
2. Does the Ethernet module have a PHY or a MAC/PHY? What device?
3. Does the Ethernet module have an oscillator? I can't tell from the
Xilinx documentation if the 1200E DLLs can internally handle 800MHz (25MHz
= (32MHz * 25) / 32). I guess we could put a separate oscillator on our
board if we have to.
4. The Darnaw manual says that the regulators get very hot. Will they
survive being enclosed in a small volume, say 4"x3"x2", with no airflow?

Thanks for your patience.

Larry


>Larry
>
>The size of the board is about 67.5mm x 96.5mm. It is a lot bigger
>than the related Craignell2 because it has expansion headers, usb,
>display, accelerometer that make it bigger.
>
>The board has our standard dil header arrangement that you can see on
>several of our boards and we do have a phy module for these headers so
>you can probably have the configuration you want asumig the size meets
>the requirement.
>
>John Adair
>Enterpoint Ltd.
>
>On 18 July, 14:25, "AstroLad" <Astro...@cox.net> wrote:
>> John,
>>
>> Can you give me a few details? Will the new board be the same, or
roughly
>> the the same size as the Craignell2? What about Ethernet? We want a
10/100
>> PHY (best), or MAC/PHY. The reason the PHY is best for us is that I
already
>> developed a simplified MAC tuned to our processor core. It doesn't
take
>> much space and not much support code.
>>
>> Thanks,
>>
>> Larry Dingle
>>
>>
>>
>>
>>
>> >We have a product coming shortly based on our Craignell2 but a
>> >development board format that might offer an alternative. If you have
>> >a few weeks then wait and see if suits your application.
>>
>> >John Adair
>> >Enterpoint Ltd.
>>
>> >On Jul 6, 2:19=A0pm, "AstroLad" <Astro...@cox.net> wrote:
>> >> Does anyone know of anything similar to the Suzaku SZ030/SZ130?
It's
>> just
>> >> about a perfect fit for a short production run product I'm helping
a
>> frie=
>> >nd
>> >> with. Perfect that is except the price. What we need is an FPGA as
good
>> o=
>> >r
>> >> better than a XC3S1000, 1MB or more of RAM (SRAM or SDRAM) and
100MB
>> >> Ethernet. It does not absolutely have to be a Spartan. An Altera
>> Cyclone =
>> >of
>> >> some flavor would do if the price were right. We already have a lot
of
>> >> development done using Digilent Spartan boards. We don't need the
>> >> Microblaze as we have a CPU from OpenCores that is adequate.- Hide
quoted text -
>>
>> - Show quoted text -
>
>

Article: 142016
Subject: Re: How do you handle build variants in VHDL?
From: Mike Harrison <mike@whitewing.co.uk>
Date: Wed, 22 Jul 2009 10:09:14 +0100
Links: << >>  << T >>  << A >>
On Tue, 21 Jul 2009 06:08:46 -0700 (PDT), Andy <jonesandy@comcast.net> wrote:

>Unfortunately, the generate statement only allows conditionally
>including concurrent statements. 

so does that mean that, for example, you couldn't use it to conditionally exclude particular case
branches in a case structure?


>You must use subprograms or if-
>statements based on generics for conditionally executing sequential
>code. And while you can't conditionally declare objects, you can make
>unconditional declarations dependent upon generic parameters
>(constants can be initialized by a function call that takes a
>generic). Generate does allow a local declarative region for the
>concurrent statement(s) that are included, but those declarations are
>not visible outside of it.
>
>In most cases you can use a constant anywhere you could use a generic.
>You can use a generic anywhere you could use a deferred constant
>(beware locally static restrictions).
>
>With generic driven packages in the new standard, the (dis)advantages
>of generics vs package of constants may get more blurred.
>
>Andy

The replies so far suggest to me that it could get far more complicated than it would be if a #ifdef
type feature were available, which would be universally applicable to any type of construct. 
I've yet to look in detail but it seems like the code/project structure has to be significantly
designed around the need to handle variants. 

ISPLever can specify pin mapping within the VHDL, so this would also provide a way to handle pinout
differences between boards.
I can't immediately see any way to make ISPLever select different preferences files based on a
simple option - any suggestions/examples on this would be appreciated.

 
 

Article: 142017
Subject: Re: Spartan 3 and DDR2
From: Martin Thompson <martin.j.thompson@trw.com>
Date: Wed, 22 Jul 2009 11:26:48 +0100
Links: << >>  << T >>  << A >>
John Larkin <jjlarkin@highNOTlandTHIStechnologyPART.com> writes:

> Hi,
>
> We want to use an XC3S1500 to talk to a single 16-wide 1 gbit DDR2
> dram chip. The coregen thing seems to successfully build a dram
> interface that's claimed to work up to 133 MHz. The DRAM is spec'd to
> work down to 128 MHz, so there's a small overlap window. We'd run at
> 128.
>

If it's any help - I've done DDR (not DDR2) with S3ADSP3400-4.  I used
the MIG tool which, contrary to others, I found to work well, as long as
the documented limits (esp. on pin placement) are followed.  Given that
the ultimate target was to use XPS's memory controller (MPMC), which
uses a MIG physical layer, I didn't think rolling my own controller was
worth the hassle.

And indeed, the board worked first time (4 independent x16 DDR chips, 4
MIGs/MPMCs @ 125MHz).  On the bench, I pushed the clock up to 140MHz,
and used the chipscope VIO core (which MIG builds in) to push the timing
over to one "side", but it just sat there and took it - one channel
would fail at the most extreme sampling point offset I could set.  

I used series terminators on the signal lines, but to be honest that was
maybe paranoia.  The sims did show rather more overshoot that I wanted
with fast-edge models, so I put them in.  I also turned down the drive
strength on the data lines in the MIG/MPMC config.

> Our Xilinx FAE seems to be discouraging us from doing this, without
> saying precisely why, suggesting some other parts. Spartan 6 would be
> ideal (hard dram controller as I understand it) but are unavailable
> for some vague time. We'd rather not use a new part for a single
> project, since we will cut over to the s6's when they are available.
>
> Has anyone done DDR2 from a Spartan 3? Success/horror stories?
>

I don't know how much of DDR reads over to DDR2, but hopefully the above
is of interest!

Cheers,
Martin

-- 
martin.j.thompson@trw.com 
TRW Conekt - Consultancy in Engineering, Knowledge and Technology
http://www.conekt.net/electronics.html

Article: 142018
Subject: Re: Strange FPGA behavior
From: maverick <sheikh.m.farhan@gmail.com>
Date: Wed, 22 Jul 2009 03:29:23 -0700 (PDT)
Links: << >>  << T >>  << A >>
On Jul 21, 7:13=A0pm, "Fredxx" <fre...@spam.com> wrote:
> Andy wrote:
> > On Jul 21, 4:18 am, "Fredxx" <fre...@spam.com> wrote:
> >> Actually running Chipscope at a higher multiple of the clock is very
> >> good at seeing timing errors. Ideal if you have a spare DCM!
>
> > Except inserting chipscope alters the timing, so it may help you find
> > timing errors that were not there to begin with, or mask timing errors
> > that are there without it.
>
> > Andy
>
> Maybe, but I would hope that the timing criteria would have been tied dow=
n
> so waveforms didn't change on every compilation.
>
> I was thinking more of interface issues, rather than "intermediate
> failiures" where I assume there is some internal timing failure within th=
e
> device. =A0It should be possible to overcome or identify these sorts of
> failures by entering timing information in the UCF file, or by following
> good practice if crossing clock domains.

Thanks alot all for helping me out with your valuable ideas and
experiences. Actually, I dont see a timing problem there. Had it been
a timing problem, it should have given me the same problem on the
first FPGA board which is identical. As I said earlier, I have
identical Spartan3AN boards. The same code works on one board but
fails on the other in a strange manner which I have explained in my
opening post. It seems something has really gone wrong with the FPGA
fabric as Antii said. I was more interested to find out is there
really something wrong with the FPGA and if so, how to authenticate
it!

Thanks anyway.
Ciao

Article: 142019
Subject: Re: building a card reader into a virtex 2 or 5 based FPGA device.
From: Martin Thompson <martin.j.thompson@trw.com>
Date: Wed, 22 Jul 2009 11:38:35 +0100
Links: << >>  << T >>  << A >>
jleslie48 <jon@jonathanleslie.com> writes:

> Sorry to start from scratch yet again, but I don't know where to
> begin.
>
> In the past I've had log file info dump out onto  a UART as
> necessary.  The UART is slow, and requires an additional device to
> capture the datastream.
>

How fast do you need? FTDIs UART-USB (TTL-232R-3V3) cable will go @
3Mbps IIRC.  It's an extra cable, hardly a device though, unless you
count the PC as well?

http://apple.clickandbuild.com/cnb/shop/ftdichip?productID=53&search=usb+uart+cable&op=catalogue-product_info-null

> I want to be able to write to a removable memory stick, or compact
> flash card, but I don't have any idea how to do it.  When the FPGA is
> powered up it should start a new "file" on the compact flash card, and
> start writing to it.  On commanded bit or powerdown, the file should
> be closed, and stored such that I can pull the card, plug it into a PC
> and read the file with notepad or such.

Is this sort of thing any use?

http://www.vinculum.com/

Easy modules:
http://apple.clickandbuild.com/cnb/shop/ftdichip?op=catalogue-products-null&prodCategoryID=57&title=VDIP1

I've never used them, but it looks like a simple way to add use-storage
to a system.

Failing that, glue a USB host controller on the side and run linux on a
microblaze.

[BTW, even though I sound like an FTDI salesman I have no affiliation
with FTDI, other than having used various of their products!]

Cheers,
Martin

-- 
martin.j.thompson@trw.com 
TRW Conekt - Consultancy in Engineering, Knowledge and Technology
http://www.conekt.net/electronics.html

Article: 142020
Subject: Re: Why do both Xilinx and Altera DPS use 18*18?
From: Philip <philip.freidin@gmail.com>
Date: Wed, 22 Jul 2009 03:54:22 -0700 (PDT)
Links: << >>  << T >>  << A >>
On Jul 11, 8:26=A0am, Weng Tianxiang <wtx...@gmail.com> wrote:
> Hi,
> I have a question about DSP's data width.
>
> Why do both Xilinx and AlteraDPSuse 18*18?
>
> Is it determined by hardware algorithms in order to save time or by
> meeting most DSP data real needs? or any other reasonning?
>
> Weng

On Sat, 11 Jul 2009 08:26:48 -0700 (PDT), Weng Tianxiang
<wtxwtx@gmail.com> wrote:
>Hi,
>I have a question about DSP's data width.
>
>Why do both Xilinx and Altera DPS use 18*18?
>
>Is it determined by hardware algorithms in order to save time or by
>meeting most DSP data real needs? or any other reasonning?
>
>Weng

(the following may well be fiction)

At the dawn of time, there was darkness and void, and FPGAs were
without
block RAMs or multipliers.

And it came to pass that a traveler told and listened to the stories
among the chosen, the enlightened, the designers that had completed
more
than one FPGA design.

And many were the opinions of what would be really neat to have on a
next generation FPGA. And lo, the largest lump that floated to the top
was block RAMs. And many were the opinions of what it should look
like.
And the traveler sifted and sorted the many stories and multitude of
opinions, and divined that block RAMs with 8 data bits and 1 parity
bit and 2048 such words, would make most of the chosen, happy.
Especially if it could also be 16+2 bits by 1K words, and 32+4 bits
and 512 such words.

And, dual port would be really neat, since most designers wanted
FIFOs, and so would synchronous control, for memories (sorry for the
pun) of the evils of asynchronous RAMs were still fresh on the mind
of the designers, and the traveler.

And the traveler took the stories he had heard, and carefully
inscribed them on the finest parchment scrolls, and presented these
to the high priests. The high priests new sedition when they saw it,
and cast the traveler to the underworld, and buried the parchment
under a pile of peat. And there it remained for a few years.

Then one day, a competitor announced their newly born FPGA, and to the
amazement of all, it had block RAM! Though they could hardly spell
dual port, and were unaware of the law of zero hold time, the gauntlet
was clearly upon the ground. A desperate call rose up from the ranks
of the guild of marketing, and the parchment scrolls were remembered,
and hastily they were dug up, and most of the peat was cleaned off.
And thus the path to 2K Byte (with parity, and reconfigurable depth)
dual port, synchronous, block RAM, was truly started.

(As the chronicler of this ancient tale, I have noticed that while
 many insisted that it was imperative to include the 9th bit for
 parity, almost no-one ever used it for that purpose. Instead it was
 greeted with great enthusiasm, for such purposes such as tagging
 message starts and ends, or for marking a position in a FIFO, or
 for sideband data).

As time went on, the next generation of FPGA was planned, and the
traveler's scrolls were consulted, and the next largest lump to
float to the top, were DSP applications. But not all designers had
need for these strange incantations, and so the cost of adding these
incantations needed to be minimized.

High among the guiding lights of the of the traveler's clan were
the realtors guild. They divided the land into pico-hectares, and
charged mightily for each and every one used. The traveler noted
that 3 score and 10 percent of all the pico-hectare of all FPGAs
were made up of the roadways, the intersections, and even the
drive-ways (especially the driveways) linking the roads to the
LUTs and the BRAMs. The traveler said "Let us make good use of
the pico-hectares we have already committed to the roads and
driveways, and use them also to visit the Multipliers, for these
are the essence of DSP". And let us also have accumulators, and
shifters, and register files, and forwarding logic, and an ALU,
and ....". And the high priests struck down the traveler, shouting
"Enough! ... You get multipliers, and that's it".

And it was many more years, and much more peat until these fine
appendages were added.

And that's why the multipliers are 18x18 bits with 36 bit results.


------
Philip


Article: 142021
Subject: Re: FPGA to PC connection
From: Bert_Paris <do_not_spam@me.com>
Date: Wed, 22 Jul 2009 13:46:20 +0200
Links: << >>  << T >>  << A >>
Mike Harrison :
> On Sun, 19 Jul 2009 18:39:46 +0200, Bert_Paris <do_not_spam_@me> wrote:
>> 12.8 Mbits is :
>> * clearly out of reach for USB 1.1 like for FTDI Fifo or RS versions 
>> (2232 or 4232 OTOH).
>
> FYI I've just been playing with the FT2232H for outputting from the PC to an 
> FPGA, and this will sustain 20MBytes/second one-way.
> This is in parallel sync mode - the async modes are constrained by the async 
> bus timing. 

Thanks Mike,

I missed the "H" at the end.

The "old" FT2232 is USB1.1 so limited to ~1Mbyte/s, and I haven't use 
the USB2.0 "H" version yet.
But now we are much more focused on Ethernet (especially Gigabit which 
is much faster & easier than USB2.0), so it may not happen soon.

Bert



Article: 142022
Subject: Re: How do you handle build variants in VHDL?
From: KJ <kkjennings@sbcglobal.net>
Date: Wed, 22 Jul 2009 04:50:22 -0700 (PDT)
Links: << >>  << T >>  << A >>
On Jul 22, 5:09=A0am, Mike Harrison <m...@whitewing.co.uk> wrote:
> On Tue, 21 Jul 2009 06:08:46 -0700 (PDT), Andy <jonesa...@comcast.net> wr=
ote:
> >Unfortunately, the generate statement only allows conditionally
> >including concurrent statements.
>
> so does that mean that, for example, you couldn't use it to conditionally=
 exclude particular case
> branches in a case structure?
>
Generate statements would not be used to conditionally exclude
particular case branches, they can only exclude concurrent statements
or instantiation of entities.

I don't see much utility you would get from excluding particular case
branches at all.  The case conditions by definition must be
- mutually exclusive
- cover all cases

Excluding a particular branch condition with an #ifdef would either
violate the 'cover all cases' rule or force that particular branch to
now follow the 'when others' default path.  I haven't run across a
situation where I've ever wanted to code something like that.  In any
case, you can still use the 'if...then' inside the case branch to
branch around the code you would like to exclude.  It's roughly the
same amount of typing so it shouldn't be any extra work one way or the
other.

>
> The replies so far suggest to me that it could get far more complicated t=
han it would be if a #ifdef
> type feature were available, which would be universally applicable to any=
 type of construct.
> I've yet to look in detail but it seems like the code/project structure h=
as to be significantly
> designed around the need to handle variants.
>

'Far more' complicated and 'significantly designed' are relative
measures that people will disagree on, one can always concoct an
example that will showcase any language in either it's worst light or
it's best depending on what you would like to demonstrate.  You should
probably consider looking a bit more in detail as well as come back
with more specific examples of "code/project structure has to be
significantly designed around the need to handle variants" to make the
conversation a bit less abstract.


> ISPLever can specify pin mapping within the VHDL, so this would also prov=
ide a way to handle pinout
> differences between boards.

Just because it 'can' doesn't mean that you 'should' do it that way.
Pin mapping specifications in VHDL are not standardized (although the
method used to implement them 'attributes' is part of the language).
Maybe you don't care now that this would be non-portable, but down the
road you might.  Pin mappings, timing requirement specifications, I/O
drive strength, voltage standards, etc. are all examples of things
that you 'could' specify in VHDL by using attributes (if the
particular synthesis tool allows it), but they are all examples of
things that you most likely should not specify this way.  No matter
how you cut it, a real design will have more to its specification than
what you would find in the VHDL, there will always be a project file
that will contain some or all of these specifications.

> I can't immediately see any way to make ISPLever select different prefere=
nces files based on a
> simple option - any suggestions/examples on this would be appreciated.- H=
ide quoted text -
>

Here might be your example of where upon first inspection an #ifdef
might be thought to be useful since to define the pin number for a
signal in VHDL you would most likely need to do this by assigning some
form of pin number VHDL attribute to the I/O signal.  If you have a
need to do so, assigning the attribute value via a function probably
is a bit clunkier than the #ifdef (not by much).  The reason though
that this is not really all that useful after all is
- Pin numbers on physical parts never have a need to 'move'.  A given
board will have a given part which will have pins connected to
specific other pins on that board.  There will not be any reason to
vary these pin numbers for a given design while also maintaining the
old pin numbers.
- Pin numbers are specific to a given part and the synthesis tool will
need to know the target part.  Where is that stored?  The pin number
info would best be stored in that place as well (which will be the
synthesis tool's project file).
- Migrating a design to a new environment (i.e. the 'variants') means
either changing parts or changing the target board with different
pinouts (although I would think that if the same part is plopped down
on to a new board, that new board would be best off to use the old
pinouts).  In any case, to get to the final bitstream/JEDEC file
you'll need a new project for the synthesis tool...the pinouts belong
in there.

Kevin Jennings

Article: 142023
Subject: Re: building a card reader into a virtex 2 or 5 based FPGA device.
From: Uwe Bonnes <bon@elektron.ikp.physik.tu-darmstadt.de>
Date: Wed, 22 Jul 2009 12:06:43 +0000 (UTC)
Links: << >>  << T >>  << A >>
Martin Thompson <martin.j.thompson@trw.com> wrote:
> jleslie48 <jon@jonathanleslie.com> writes:

> > Sorry to start from scratch yet again, but I don't know where to
> > begin.
> >
> > In the past I've had log file info dump out onto  a UART as
> > necessary.  The UART is slow, and requires an additional device to
> > capture the datastream.
> >

> How fast do you need? FTDIs UART-USB (TTL-232R-3V3) cable will go @
> 3Mbps IIRC.  It's an extra cable, hardly a device though, unless you
> count the PC as well?

If you go with the FT245 or FT2232 in 245 mode, rate can even be higher, at
the cost of more pins. Requirements on the PC side are the same.
-- 
Uwe Bonnes                bon@elektron.ikp.physik.tu-darmstadt.de

Institut fuer Kernphysik  Schlossgartenstrasse 9  64289 Darmstadt
--------- Tel. 06151 162516 -------- Fax. 06151 164321 ----------

Article: 142024
Subject: ISERDES behaviour
From: "anoopjoseph" <anoop.joseph@nestgroup.net>
Date: Wed, 22 Jul 2009 09:46:24 -0500
Links: << >>  << T >>  << A >>
Hi,

What is the minimum time(setup time) for the input D with respect to Clk
in ISERDES block of virtex 4 fpga?. I am doing 400 Mhz DDR data
capture.upto behavioral simulation it is ok...but failed in post route
simulation. Can anyone help?





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