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 136300

Article: 136300
Subject: Altera Quartus DDR2 Megacore function: local_address input: row, col,
From: "jjlindula@hotmail.com" <jjlindula@hotmail.com>
Date: Mon, 10 Nov 2008 08:00:03 -0800 (PST)
Links: << >>  << T >>  << A >>
Hello, I'm using the High-Performance DDR2 Controller in my design to
interface with two Micron MT47H64M16 - 8 Meg x 16 x 8 banks. These
DDR2 devices have the control lines connected together so I can
control both devices for 32-data. I'm reading over the DDR and DDR2
SDRAM High Performance Controller User Guide page 3-18 and my question
is about the input "local_address". In my design the bit width for
local_address is 27-bits. Can  someone tell me how the
mem_row_address, mem_col_address, and mem_bank_address are broken down
from the 27 bits?

Thanks,
joe

Article: 136301
Subject: Re: Altera Quartus DDR2 Megacore function: local_address input: row,
From: "jjlindula@hotmail.com" <jjlindula@hotmail.com>
Date: Mon, 10 Nov 2008 08:02:07 -0800 (PST)
Links: << >>  << T >>  << A >>
On Nov 10, 8:00=A0am, "jjlind...@hotmail.com" <jjlind...@hotmail.com>
wrote:
> Hello, I'm using the High-Performance DDR2 Controller in my design to
> interface with two Micron MT47H64M16 - 8 Meg x 16 x 8 banks. These
> DDR2 devices have the control lines connected together so I can
> control both devices for 32-data. I'm reading over the DDR and DDR2
> SDRAM High Performance Controller User Guide page 3-18 and my question
> is about the input "local_address". In my design the bit width for
> local_address is 27-bits. Can =A0someone tell me how the
> mem_row_address, mem_col_address, and mem_bank_address are broken down
> from the 27 bits?
>
> Thanks,
> joe

I should add that I'm trying to follow the example on page 3-17 when
writing to the memory. So the local size input is set to "2" and
local_be set to "3".

joe

Article: 136302
Subject: Re: Linux on Microblaze
From: cs_posting@hotmail.com
Date: Mon, 10 Nov 2008 08:04:29 -0800 (PST)
Links: << >>  << T >>  << A >>
On Nov 10, 12:55 am, "H. Peter Anvin" <h...@zytor.com> wrote:

> It would still be nice to have more chips with combination
> microcontroller and small FPGA at the low end, as that is often a useful
> mix as opposed to having to have a much bigger FPGA.  Aiming this at the
> high-end CPLD markets (with features such as onboard flash, 5V
> tolerance, etc.) would be especially nice.

My feeling is that when talking about low cost FPGA's, it's not the
logic fabric required to implement a decent microcontroller-class soft
core that's the problem, it's the ram to store the program that is
mostly missing and thus pushes you either into a larger FPGA than
logic demands require, or into using an external memory.

And flash cells would be nice too, but if doing that might as well
include storage for the FPGA bit file too.  Otherwise you can just
append the program code in a serial config flash and load that into
ram to execute from.  Or you could if the ram problem were solved...

Article: 136303
Subject: Re: RS-232 Bus controller design in VHDL
From: Mike Treseler <mtreseler@gmail.com>
Date: Mon, 10 Nov 2008 08:08:54 -0800
Links: << >>  << T >>  << A >>
Jonathan Bromley wrote:

> I'm just coming to the end of a session working
> alongside a very, very smart young designer whose
> only noticeable fault is the total lack of useful
> commentary in his code.  Initially I thought that
> was just bull-headed idiocy on his part, but now
> I recognise that his thoughts are probably a lot
> less fleeting than mine... so he doesn't (yet) 
> need comments for himself;

I'll check back in 6 months to see
how this design rule is working out for him ;)

  -- Mike Treseler

Article: 136304
Subject: Re: Silicon used for realising FPGA logic
From: David R Brooks <davebXXX@iinet.net.au>
Date: Tue, 11 Nov 2008 02:14:27 +0800
Links: << >>  << T >>  << A >>
Max wrote:
> Hi there,
> 
> I have a very stupid question. I was wondering how much silicon the
> actual FPGA logic (that is the slices and the BRAM ressources) are
> occuping on the physical chip. So can I expect that the whole physical
> chip is dedicated to these ressources or are there other components on
> the chip that take some space like flash memory for instance, or some
> other (external control) logic?
> 
Historically, the bulk of the chip was the interconnects & their
configurable switch arrays. I'm not sure if this is still true of the
latest designs, but I expect so.

Article: 136305
Subject: Re: Altera Quartus DDR2 Megacore function: local_address input: row,
From: "jjlindula@hotmail.com" <jjlindula@hotmail.com>
Date: Mon, 10 Nov 2008 10:30:14 -0800 (PST)
Links: << >>  << T >>  << A >>
On Nov 10, 8:02=A0am, "jjlind...@hotmail.com" <jjlind...@hotmail.com>
wrote:
> On Nov 10, 8:00=A0am, "jjlind...@hotmail.com" <jjlind...@hotmail.com>
> wrote:
>
> > Hello, I'm using the High-Performance DDR2 Controller in my design to
> > interface with two Micron MT47H64M16 - 8 Meg x 16 x 8 banks. These
> > DDR2 devices have the control lines connected together so I can
> > control both devices for 32-data. I'm reading over the DDR and DDR2
> > SDRAM High Performance Controller User Guide page 3-18 and my question
> > is about the input "local_address". In my design the bit width for
> > local_address is 27-bits. Can =A0someone tell me how the
> > mem_row_address, mem_col_address, and mem_bank_address are broken down
> > from the 27 bits?
>
> > Thanks,
> > joe
>
> I should add that I'm trying to follow the example on page 3-17 when
> writing to the memory. So the local size input is set to "2" and
> local_be set to "3".
>
> joe

Hello again, I've been reading over the data sheet for the DDR2 memory
and I made a mistake, the bit width for the local_address input on the
DDR2 Megacore Controller should be 25-bits, not 27 bits. The DDR2 has
13 bits on the row, 3 bits on the bank, and 10 bits on the columns.
Sorry about that error. Hopefully someone can help be point out where
the row, column, and bank is located in those 25 bits of the
local_address.

Thanks,
joe

Article: 136306
Subject: Re: Altera Quartus DDR2 Megacore function: local_address input: row,
From: "jjlindula@hotmail.com" <jjlindula@hotmail.com>
Date: Mon, 10 Nov 2008 10:56:12 -0800 (PST)
Links: << >>  << T >>  << A >>
On Nov 10, 10:30=A0am, "jjlind...@hotmail.com" <jjlind...@hotmail.com>
wrote:
> On Nov 10, 8:02=A0am, "jjlind...@hotmail.com" <jjlind...@hotmail.com>
> wrote:
>
>
>
> > On Nov 10, 8:00=A0am, "jjlind...@hotmail.com" <jjlind...@hotmail.com>
> > wrote:
>
> > > Hello, I'm using the High-Performance DDR2 Controller in my design to
> > > interface with two Micron MT47H64M16 - 8 Meg x 16 x 8 banks. These
> > > DDR2 devices have the control lines connected together so I can
> > > control both devices for 32-data. I'm reading over the DDR and DDR2
> > > SDRAM High Performance Controller User Guide page 3-18 and my questio=
n
> > > is about the input "local_address". In my design the bit width for
> > > local_address is 27-bits. Can =A0someone tell me how the
> > > mem_row_address, mem_col_address, and mem_bank_address are broken dow=
n
> > > from the 27 bits?
>
> > > Thanks,
> > > joe
>
> > I should add that I'm trying to follow the example on page 3-17 when
> > writing to the memory. So the local size input is set to "2" and
> > local_be set to "3".
>
> > joe
>
> Hello again, I've been reading over the data sheet for the DDR2 memory
> and I made a mistake, the bit width for the local_address input on the
> DDR2 Megacore Controller should be 25-bits, not 27 bits. The DDR2 has
> 13 bits on the row, 3 bits on the bank, and 10 bits on the columns.
> Sorry about that error. Hopefully someone can help be point out where
> the row, column, and bank is located in those 25 bits of the
> local_address.
>
> Thanks,
> joe

Ah, must be Monday, I'm making too may errors :) I should have said 26
bits, get my numbers straight, sorry for the confusion.
joe

Article: 136307
Subject: Re: RS-232 Bus controller design in VHDL
From: Mike Treseler <mtreseler@gmail.com>
Date: Mon, 10 Nov 2008 10:59:05 -0800
Links: << >>  << T >>  << A >>
ikki wrote:

> I would like to ask you about the coding for it. I do understand the
> concept of it. But, how do I shift it right so that every clock cycle the
> LSB will be transferred out ? 

Use a <= assignment from the reg bit to the out port.

> here are my codes ,. .. do you see any errrors about this ? ...how can i
> edit from here...

Reread this thread.
Several solutions to your problem are described.
If you want to debug your own code,
get a simulator and do it yourself.

          -- Mike Treseler

Article: 136308
Subject: Re: Altera Quartus DDR2 Megacore function: local_address input: row, col, bank?
From: "KJ" <kkjennings@sbcglobal.net>
Date: Mon, 10 Nov 2008 14:10:06 -0500
Links: << >>  << T >>  << A >>

<jjlindula@hotmail.com> wrote in message news:8a9329ee-81bc-462e-9ace-

> Hello again, I've been reading over the data sheet for the DDR2 memory
> and I made a mistake, the bit width for the local_address input on the
> DDR2 Megacore Controller should be 25-bits, not 27 bits. The DDR2 has
> 13 bits on the row, 3 bits on the bank, and 10 bits on the columns.
> Sorry about that error. Hopefully someone can help be point out where
> the row, column, and bank is located in those 25 bits of the
> local_address.

One easy way to figure this out on your own is to start up a simulation and 
simply walk a 1 across the local address side doing either a read or write 
operation and then seeing which address bits get twiddled by the controller 
while it performs that operation.  Another method would involve inspecting 
the controller's source code but that code is rather opaque and once you 
convince yourself you know what's going on, you still probably won't be 
confident enough without first verifying it in simulation anyway as I just 
mentioned.

Kevin Jennings 



Article: 136309
Subject: Re: XAUI v7.2 - timing issue - *channel bonding attributes*
From: "pkirchhoff" <pkirchhoff@solectrix.de>
Date: Mon, 10 Nov 2008 13:10:58 -0600
Links: << >>  << T >>  << A >>
>>explore wrote:
>>>   Thanks for your response. Unfortunately the board was not designed
>>> by us. This is an AVNET PCIe board that we happened to purchase a
>>> while ago. We hadn't put in the XAUI core until recently. Now we are
>>> forced to use the same GTP locations specified in the AVNET user
>>> guide. We were suggested by Xilinx support that we can use the
>>> flexibility of channel bonding available with rocketio's to try and
>>> make timing and this is the reason we are still hopeful of finding a
>>> solution to it. They also told us that some people were successful in
>>> making changes to the channel bonding in AURORA cores and the design
>>> to meet timing when they had a similar problem. As I mentioned
>>> earlier, the design meets timing when the tiles have channel bonding
>>> levels of 5,4,1,0 with 2 pipeline stages for rxchanbond signals, but
I
>>> do not get to see it work in simulation. Would like your suggestion/
>>> inputs on this.
>>> 
>>> Thanks for your time once again.
>>> 
>>> --Chethan
>>> 
>>> 
>>> On Jun 16, 7:31 pm, Ed McGettigan <ed.mcgetti...@xilinx.com> wrote:
>>>> explore wrote:
>>>>> I am using a XAUI core in my design for a PCIe board with a Xilinx
>>>>> Virtex - 5 LX110t FPGA. The board specifications require the GTP
>dual
>>>>> tiles of XAUI to be constrained to locations X0Y0 and X0Y7 which
are
>>>>> far from each other on the FPGA. Due to this, the design does not
>meet
>>>>> timing. The user-guide for the rocketio transceivers suggests
>>>>> modification of channel bonding attributes of the GTP Dual tiles to
>>>>> meet timing. To try this out, the default channel bonding level for
>>>>> the 4 GTP tiles (2 GTP duals) was changed to 3,2,1,0 with 3 as the
>>>>> master tile. This design works fine in simulation, but does not
meet
>>>>> timing. The timing error as seen on timing analyzer was due to the
>>>>> rxchanbondo signal.
>>>>> The channel bond level was further changed to 5,4,1,0 with 5 as the
>>>>> master. Two pipeline stages were added for the rxchanbondo signal
>>>>> (between the tiles 4 and 1). This design meets timing, but does not
>>>>> work in simulation. All these changes were made to the
>>>>> rocketio_wrapper.v file in the XAUI core generated using coregen.
>>>>> I feel that the wiring between the tiles in the rocketio_wrapper.v
>>>>> file needs to be modified to hook-up all the signals that may have
>>>>> been disturbed due to the addition of the two pipeline stages.
>>>>> Unfortunately I do not have a lot of experience working with
>rocketio
>>>>> transceivers and their channel bonding attributes which puts me in
a
>>>>> state of bother while analyzing what signals need to be modified/
>>>>> reassigned/patched between the gtp tiles.
>>>>> I would appreciate any suggestions from anybody who has had
>experience
>>>>> working with XAUI, rocketio's and their channel bonding attributes.
>>>>> Thanks for your help in advance
>>>> Why are the GTP_DUAL sites constrained to X0Y0 and X0Y7, these are
>the
>>>> worst possible locations to choose from.  If the board hasn't gone
>>>> through layout yet, can you change these to be adjacent locations?
>>>>
>>>> Ed McGettigan
>>>> --
>>>> Xilinx Inc.
>>> 
>>
>>Ok, I understand now.  I hope that when you take the design forward to 
>>your own platform that you clean this up and don't follow this design.
>>
>>I was not familiar with this particular board, but I was able to 
>>determine that you are using the Avnet AES-XLX-V5LXT-PCIE110-G board
and
>
>>after getting the schematics it does show that the XAUI/CX4 interface 
>>that you are trying to use is split across the device using X0Y0 and
>X0Y7.
>>
>>There are a couple of issues with this board design, but I will address
>>your channel bond timing issue first.
>>
>>You can make this timing work, but you have to insert additional 
>>registers in the RXCHBONDO[2:0] to RXCHBONDI[2:0] path.  These ports
use
>
>>the faster 10-bit RXUSRCLK clock that will be running at at 312.5MHz in

>>your application.  My guess is that you will need at least 2 register 
>>stages to get across the device at this frequency and you made need 
>>three as the clock-to-out on RXCHBONDO and the setup into RXCHBONDI are

>>long with respect to a 312.5 MHz clock.
>>
>>You should place absolute placement LOC attributes on these registers
to
>
>>ensure that MAP doesn't pack the stages into the same slice and you get

>>the spread that you need.  After you have the timing working you will 
>>then need to set the correct CHAN_BOND_LEVEL value for each lane based 
>>on the number of stages that you used.  This is describe in the GTP
User
>
>>Guide (UG196) Configurable Channel Bonding section.
>>
>>In addition to channel bonding issue you also have two other issues
with
>
>>this board that impact your XAUI design.
>>
>>1) You need to use two REFCLK sources, one for each GTP_DUAL.  The
board
>
>>supports it, but you will likely need to update the XAUI source to add 
>>the second set of inputs to one of the GTP_DUALs.
>>
>>2) The P/N nets are swapped for some of the pairs.  The schematic 
>>indicates that you need to set the TXPOLARITY0 and RXPOLARITY0 on X0Y7 
>>and TXPOLARITY1 on X0Y0 to 1 (default is 0).
>>
>>Good luck.
>>
>>Ed McGettigan
>>--
>>Xilinx Inc.
>>
>
>Does this help resolve issues? Do you see any other issues with this
>board?
>
>
>
>
>

Hello,

I also have a problem with this evalboard and the XAUI core. I added three
registers to the chanbond path and changed the chanbond levels as
described. The RX align Flag is set, so this seems to work. My PC (Windows
XP, Myricom 10 GbE NIC) tells me that the connection is established, but
also that the connection speed is only 1,4 GHz.
I generated the XAUI Core without MDIO interface, because of the size. 
The status vector output shows an RX Fault, TX seems to be ok.
I can't find any description of what could be the reason for this fault.
What can I do to debug the core?

Thanks
Philip






Article: 136310
Subject: Re: request: sample vcd files for TimingAnalyzer
From: Amal <akhailtash@gmail.com>
Date: Mon, 10 Nov 2008 14:24:26 -0800 (PST)
Links: << >>  << T >>  << A >>
Does it support verilog1995 VCD?  Or Extended VCD format?

-- Amal

On Nov 7, 10:50=A0am, timinganalyzer <timinganaly...@gmail.com> wrote:
> Hi All,
>
> A newly added feature of the TimingAnalyzer is the ability to
> read .vcd files. =A0These files can be generated by logic simulators or
> tools like Xilinx chipscope, or test equipment like logic analyzers.
> So, =A0you can easily make annotated timing diagrams from simulation or
> test equipment outputs.
>
> Would it be possible to email any .vcd files samples that you might
> have, =A0that are not proprietary, =A0so I can test this feature with .vc=
d
> files from as many sources as possible?
>
> tiiminganaly...@gmail.com
> supp...@timing-diagrams.com
>
> Thank you in advance,
> Dan
>
> www.timing-diagrams.com


Article: 136311
Subject: Re: Altera Quartus DDR2 Megacore function: local_address input: row,
From: "jjlindula@hotmail.com" <jjlindula@hotmail.com>
Date: Mon, 10 Nov 2008 14:25:12 -0800 (PST)
Links: << >>  << T >>  << A >>
On Nov 10, 11:10=A0am, "KJ" <kkjenni...@sbcglobal.net> wrote:
> <jjlind...@hotmail.com> wrote in message news:8a9329ee-81bc-462e-9ace-
> > Hello again, I've been reading over the data sheet for the DDR2 memory
> > and I made a mistake, the bit width for the local_address input on the
> > DDR2 Megacore Controller should be 25-bits, not 27 bits. The DDR2 has
> > 13 bits on the row, 3 bits on the bank, and 10 bits on the columns.
> > Sorry about that error. Hopefully someone can help be point out where
> > the row, column, and bank is located in those 25 bits of the
> > local_address.
>
> One easy way to figure this out on your own is to start up a simulation a=
nd
> simply walk a 1 across the local address side doing either a read or writ=
e
> operation and then seeing which address bits get twiddled by the controll=
er
> while it performs that operation. =A0Another method would involve inspect=
ing
> the controller's source code but that code is rather opaque and once you
> convince yourself you know what's going on, you still probably won't be
> confident enough without first verifying it in simulation anyway as I jus=
t
> mentioned.
>
> Kevin Jennings

Hello, I found the answer at the end of the documentation, DDR and
DDR2
SDRAM High Performance Controller User Guide page 3-40.

Another question, when writing a block of data, do I fill up the rows
first for each column or  fill up each
column of each row? What is the best addressing scheme?

Thanks,
joe

Article: 136312
Subject: Re: How to handle the problem "timing constraint not met"?
From: "mynewlifever@yahoo.com.cn" <mynewlifever@yahoo.com.cn>
Date: Mon, 10 Nov 2008 18:02:18 -0800 (PST)
Links: << >>  << T >>  << A >>
On 11=D4=C210=C8=D5, =CF=C2=CE=E712=CA=B102=B7=D6, Andreas Ehliar <ehliar-n=
os...@isy.liu.se> wrote:
> On 2008-11-10, mynewlife...@yahoo.com.cn <mynewlife...@yahoo.com.cn> wrot=
e:
>
> > In the report, route use 88.5% timing budget, how to make route use
> > fewer timing budget. reset_n is an output of BUFG.
>
> If I have a synchronuos reset I usually solve this problem by adding a co=
uple
> of registers to the reset signal. This means that the reset signal will n=
ot
> have any immediate effect, but I don't really care if the chip will reset
> itself in 3 nanoseconds or 15 nanoseconds.
>
> By the way, is your reset signal synchronuos with your clock signal or no=
t?
> If it isn't, you need to synchronize it with a couple of flip-flops regar=
dless
> of the above advice.
>
> /Andreas

I am sure reset signal synchronuos with clock signal, and I also add a
couple of registers.

Article: 136313
Subject: Re: How to handle the problem "timing constraint not met"?
From: "mynewlifever@yahoo.com.cn" <mynewlifever@yahoo.com.cn>
Date: Mon, 10 Nov 2008 18:51:31 -0800 (PST)
Links: << >>  << T >>  << A >>
On 11=D4=C210=C8=D5, =CF=C2=CE=E75=CA=B110=B7=D6, hal-use...@ip-64-139-1-69=
.sjc.megapath.net (Hal
Murray) wrote:

> Do you really have only one clock in your design?
>
> Do you understand metastability?
I know what is metastability, I have more than one clock in my design,
but the other clock is only for xilinx ip core like sgmii or xaui
core.  The reset signal to reset ip core or logic is different.
>
> The usual approach is to treat an external reset as an asynchronous
> signal and synchronize it (pair of FFs) locally at each state machine.
Reset signal is an input of FPGA, I use a special module to treat this
external reset, reset_int had already synchronize with global clk,
then I use BUFG like this,
  BUFG  reset
    ( .I (reset_int),
       .O(reset_n)
    );
The reset_n is a very high fanout network. In other modules, reset_n
signal is used directly to reset logic, I think it is synchronous
design, reset_n is an output of BUFG, so I do not synchronize it
locally at each state machine. Dose it matter?
> It may take some extra logic if your design depends upon a chain
> of state machines coming out of reset together.
What does this mean?
Thank you for you replay.



Article: 136314
Subject: Re: request: sample vcd files for TimingAnalyzer
From: timinganalyzer <timinganalyzer@gmail.com>
Date: Mon, 10 Nov 2008 20:11:27 -0800 (PST)
Links: << >>  << T >>  << A >>
On Nov 10, 5:24=A0pm, Amal <akhailt...@gmail.com> wrote:
> Does it support verilog1995 VCD? =A0Or Extended VCD format?
>
> -- Amal
>
> On Nov 7, 10:50=A0am, timinganalyzer <timinganaly...@gmail.com> wrote:
>
> > Hi All,
>
> > A newly added feature of the TimingAnalyzer is the ability to
> > read .vcd files. =A0These files can be generated by logic simulators or
> > tools like Xilinx chipscope, or test equipment like logic analyzers.
> > So, =A0you can easily make annotated timing diagrams from simulation or
> > test equipment outputs.
>
> > Would it be possible to email any .vcd files samples that you might
> > have, =A0that are not proprietary, =A0so I can test this feature with .=
vcd
> > files from as many sources as possible?
>
> > tiiminganaly...@gmail.com
> > supp...@timing-diagrams.com
>
> > Thank you in advance,
> > Dan
>
> >www.timing-diagrams.com

Currently,  just the vcd format,  but I could add the extended vcd
format if requested.

Do you know what tools work with the extended format?   I have also
worked with a compressed file format which might of interest to some
users working with large simulations.

Thanks,  Dan


Article: 136315
Subject: Re: hi all
From: wallra <khamitkar.ravikant@gmail.com>
Date: Mon, 10 Nov 2008 20:28:55 -0800 (PST)
Links: << >>  << T >>  << A >>
On Nov 10, 6:08=A0pm, wallra <khamitkar.ravik...@gmail.com> wrote:
> when i completed the edk base system builder wizard with EDK 8.2i
> and connected spartan 3e starter kit and downloaded the bitstream with
> Test_app_memory.c and .elf files
> i didn't seen anything on my hyperterminal with all hardware kit and
> wire attached
> with baud rate of 9600 as standard one.
> will any body suggest what would be the cause for this happen,
> all suggestions arew valuable for me.

no one can solve this simple problem of newbi like me who want to lean
EDK and C programing of its

Article: 136316
Subject: Re: Learning programming an FPGAs
From: "MikeWhy" <boat042-nospam@yahoo.com>
Date: Tue, 11 Nov 2008 01:39:10 -0600
Links: << >>  << T >>  << A >>
"Stonethrower" <digi_64-public[removethis]@yahoo.com> wrote in message 
news:gesvb8$67i$1@ss408.t-com.hr...
>> but it costs 20 Dollars... So I am wondering if there are any other sites 
>> out there where I can learn this kind of stuff?
>
> Try this one on San Jose State University: 
> http://www.engr.sjsu.edu/crabill/
> ...
> also try MIT's OpenCourseWare on FPGA: 
> http://ocw.mit.edu/ans7870/6/6.111/s04/NEWKIT/index.htm

The main course page is 
http://ocw.mit.edu/OcwWeb/Electrical-Engineering-and-Computer-Science/6-111Spring2004/CourseHome/index.htm. 
You'll find videos, PDFs, etc. Good luck.





Article: 136317
Subject: Re: How to handle the problem "timing constraint not met"?
From: hal-usenet@ip-64-139-1-69.sjc.megapath.net (Hal Murray)
Date: Tue, 11 Nov 2008 01:43:14 -0600
Links: << >>  << T >>  << A >>
>Reset signal is an input of FPGA, I use a special module to treat this
>external reset, reset_int had already synchronize with global clk,
>then I use BUFG like this,
>  BUFG  reset
>    ( .I (reset_int),
>       .O(reset_n)
>    );
>The reset_n is a very high fanout network. In other modules, reset_n
>signal is used directly to reset logic, I think it is synchronous
>design, reset_n is an output of BUFG, so I do not synchronize it
>locally at each state machine. Dose it matter?

High fanout signals are "interesting".

Routing takes a long time relative to how fast you can clock a
well placed small design.  It can easily take more than a clock period
to get a signal across the chip.

Check your documentation.  My old copy of the library guide says
BUFG is a global clock buffer.  It won't help you to distribute
anything but a clock.

You may be able to make your design work by splitting your reset signal
into several signals with different names, one for each region of
the chip.  You can add extra pipeline stages as necessary to
meet timing.

If you keep the number of pipeline stages in each branch the
same, then all the local reset signals will get cleared at
the same time.



>> It may take some extra logic if your design depends upon a chain
>> of state machines coming out of reset together.
>What does this mean?
>Thank you for you replay.

If you don't keep the number of pipeline stages in each branch
the same, then some sections (state machines) will come out of
reset before others.

-- 
These are my opinions, not necessarily my employer's.  I hate spam.


Article: 136318
Subject: Re: Data transfer between CPU and FPGA over PCI bus
From: hal-usenet@ip-64-139-1-69.sjc.megapath.net (Hal Murray)
Date: Tue, 11 Nov 2008 02:20:28 -0600
Links: << >>  << T >>  << A >>

>I have a Xilinx ML555 and Linux as OS.
>The job assigned to me is  linux programming for "Data transfer
>between CPU and FPGA over PCI bus".
>Someone already did the similar thing. Please help me.

>General flow is like this.
>(1) CPU sends data to FPGA
>(2) FPGA do computations
>(3) FPGA gives it back to CPU

How fast does that have to go?  Are you going to crunch a lot of
data?  Or crunch for a long time on a tiny bit of data?

Do you need a solid, high quality design, or just get
something to one once to finish your thesis?


There are 2 ways to get data to/from a PCI device.

You can load/store from an address that is setup to
point to the device.  This is called PIO, Programmed I/O.
It's slow, but simple.  This is find if you are doing something
like brute force searching DES - lots of computing, not much
I/O.

You can setup the device to read/write big chunks of data
to/from memory: DMA, Direct Memory Access.  This is a lot
faster.  You need this if you are doing video processing.

DMA is much more complicated, both for the driver and for
the FPGA.

If you are using DMA, the first thing you need to do is
allocate a big chunk of memory.  You want contigious memory,
so you may have to allocate it early in the boot process
rather than waiting until you open the device and memory
has been fragmented.

DMA works in physical memory.  User code works in virtual memory.
You need an ioctl to map the memory into user space and return
the virtual address and also the physical address so your
user program can setup the DMA control registers.

The general idea is something like:
  open device, allocate memory, ...
  Loop until done:
    fill data into first half of memory block
    setup DMA control registers and whatever
    poke FPGA to start
    wait until it finishes
    grab data from second half of memory block

After you get that done, you can double buffer things.

For something like a network controller, the system
allocates a buffer when it needs it, copies the data
to/from the buffer and user space, and sets up
the DMA registers for you.  That's another layer
of complication.  You can debug the FPGA without it,
then make the driver do all the fancy stuff.



>What I want to ask is following.

>(1) This is the first time for Linux programming.
>     Where can I get the sample codes or reference?

Sorry, I don't have any handy examples.  Have you checked
the Xilinx web site?

>(2) I think that initially FPGA chip is not configured.
>    So How to configure it?  ( I mean that if I have a bitstream file
>for FPGA, How can I configure FPGA with it?)

You load it just like you load any other board.  That's usually
with a gizmo that plugs into a USB port (or printer port) and the
other end plugs into JTAG or such on the board you want to program.

I haven't worked with that particular board.  I assume it has a
flash chip, so you program the flash via JTAG, then power cycle
the machine.  On power up, the FPGA will load itself from the flash.

After you get things debugged, you may be able to program the flash
from the FPGA.


>(3) If you have already done with similar job, plz give me an advice
>about how to proceed.
>    I have to do it myself, so even a little advice is big help for
>me.

I would try hard to avoid doing the whole thing by myself.
It really helps to have somebody else to bounce ideas off.

The driver is only half the problem.  You also need some code
in the FPGA.  When debugging things, you have to figure out
if the problem is in your driver or in the FPGA code.


You need a copy of the PCI specs.  A logic analyzer or scope
on the PCI bus may help a lot.

-- 
These are my opinions, not necessarily my employer's.  I hate spam.


Article: 136319
Subject: Re: request: sample vcd files for TimingAnalyzer
From: "HT-Lab" <hans64@ht-lab.com>
Date: Tue, 11 Nov 2008 08:22:17 -0000
Links: << >>  << T >>  << A >>

"timinganalyzer" <timinganalyzer@gmail.com> wrote in message 
news:bf961753-a564-4045-b12b-31d524986f31@a17g2000prm.googlegroups.com...
On Nov 10, 5:24 pm, Amal <akhailt...@gmail.com> wrote:
> Does it support verilog1995 VCD? Or Extended VCD format?
>
> -- Amal
>
> On Nov 7, 10:50 am, timinganalyzer <timinganaly...@gmail.com> wrote:
>
> > Hi All,
>
> > A newly added feature of the TimingAnalyzer is the ability to
> > read .vcd files. These files can be generated by logic simulators or
> > tools like Xilinx chipscope, or test equipment like logic analyzers.
> > So, you can easily make annotated timing diagrams from simulation or
> > test equipment outputs.
>
> > Would it be possible to email any .vcd files samples that you might
> > have, that are not proprietary, so I can test this feature with .vcd
> > files from as many sources as possible?
>
> > tiiminganaly...@gmail.com
> > supp...@timing-diagrams.com
>
> > Thank you in advance,
> > Dan
>
> >www.timing-diagrams.com
>
>Currently,  just the vcd format,  but I could add the extended vcd
>format if requested.
>
>Do you know what tools work with the extended format?

Modelsim is one of them.

Hans
www.ht-lab.com

> I have also
>worked with a compressed file format which might of interest to some
>users working with large simulations.
>
>Thanks,  Dan



Article: 136320
Subject: Re: hi all
From: shawn <shahrad.payandeh@gmail.com>
Date: Tue, 11 Nov 2008 00:52:15 -0800 (PST)
Links: << >>  << T >>  << A >>
On Nov 10, 8:28=A0pm, wallra <khamitkar.ravik...@gmail.com> wrote:
> On Nov 10, 6:08=A0pm, wallra <khamitkar.ravik...@gmail.com> wrote:
>
> > when i completed the edk base system builder wizard with EDK 8.2i
> > and connected spartan 3e starter kit and downloaded the bitstream with
> > Test_app_memory.c and .elf files
> > i didn't seen anything on my hyperterminal with all hardware kit and
> > wire attached
> > with baud rate of 9600 as standard one.
> > will any body suggest what would be the cause for this happen,
> > all suggestions arew valuable for me.
>
> no one can solve this simple problem of newbi like me who want to lean
> EDK and C programing of its

Are you sure that FPGA is configured?
How about writing simple program with printf and debug it, if you
enable it on your design.

Article: 136321
Subject: Re: Register access over PLB2DCR bridge
From: sundar <sundar.ece@gmail.com>
Date: Tue, 11 Nov 2008 01:16:59 -0800 (PST)
Links: << >>  << T >>  << A >>
On Nov 10, 3:45=A0pm, lomtiks...@gmail.com wrote:
> Hi,
>
> I am facing an issue of accessing the registers of a peripheral
> sitting on the DCR bus via PLBV46 to DCR Bridge and uBlaze. The uBlaze
> is on the PLB bus. The bridge is a slave on PLB and a master on DCR.
> Please see below for a snippet of the .mhs file.
>
> Since my peripheral has the C_DCR_BASEADDR =3D 0b0000000000, I assume it
> is register 0 on the PLB2DCR bridge and I can simply access it by
> looking at the base address of the PLB2DCR. For example,
> write_adress (0x87000000, value1)
> write_adress (0x87000004, value2)
> Does it make sense?
>
> BEGIN plbv46_dcr_bridge
> =A0PARAMETER INSTANCE =3D plbv46_dcr_bridge_0
> =A0PARAMETER HW_VER =3D 1.00.a
> =A0PARAMETER C_BASEADDR =3D 0x87000000
> =A0PARAMETER C_HIGHADDR =3D 0x8700ffff
> =A0BUS_INTERFACE SPLB =3D mb_plb
> =A0BUS_INTERFACE MDCR =3D dcr_v29_0
> END
>
> BEGIN xps_tft
> =A0PARAMETER INSTANCE =3D xps_tft_0
> =A0PARAMETER HW_VER =3D 1.00.a
> =A0PARAMETER C_DCR_SPLB_SLAVE_IF =3D 0
> =A0PARAMETER C_TFT_INTERFACE =3D 0
> =A0PARAMETER C_DEFAULT_TFT_BASE_ADDR =3D 0x10800000
> =A0PARAMETER C_DCR_BASEADDR =3D 0b0000000000
> =A0PARAMETER C_DCR_HIGHADDR =3D 0b0000000011
> =A0BUS_INTERFACE MPLB =3D mb_plb
> =A0BUS_INTERFACE SDCR =3D dcr_v29_0
> =A0PORT TFT_VSYNC =3D VGA_VSYNCH
> =A0PORT TFT_HSYNC =3D VGA_HSYNCH
> =A0PORT TFT_VGA_CLK =3D VGA_OUT_PIXEL_CLOCK
> =A0PORT SYS_TFT_Clk =3D tft_clk
> =A0PORT TFT_DE =3D VGA_OUT_BLANK_Z
> =A0PORT DCR_Rst =3D sys_bus_reset
> =A0PORT DCR_Clk =3D sys_clk_s
> =A0PORT TFT_VGA_R =3D VGA_OUT_RED
> =A0PORT TFT_VGA_G =3D VGA_OUT_GREEN
> =A0PORT TFT_VGA_B =3D VGA_OUT_BLUE
> END
>
> Thank you in advance

Hi,

I am not sure how your other EDK setup files looks like but still thot
of sharing some info.
Note: PLB can be configured as 32,63 or 128 dwidth and address access
is by default 32.
DCR address access is 10 width so please study address translation
section of the Product spec.
Now coming to direct query ....the bridge core has registers
classified as slave access registers,interrupt registers.
I think slave access register may not start from 0. In this case DCR
is slave so make sure you are setting proper reg address space.

Hope this helps.

Sundar

Article: 136322
Subject: Re: How to handle the problem "timing constraint not met"?
From: Uwe Bonnes <bon@elektron.ikp.physik.tu-darmstadt.de>
Date: Tue, 11 Nov 2008 09:49:59 +0000 (UTC)
Links: << >>  << T >>  << A >>
Hal Murray <hal-usenet@ip-64-139-1-69.sjc.megapath.net> wrote:
> >Reset signal is an input of FPGA, I use a special module to treat this
> >external reset, reset_int had already synchronize with global clk,
> >then I use BUFG like this,
> >  BUFG  reset
> >    ( .I (reset_int),
> >       .O(reset_n)
> >    );
> >The reset_n is a very high fanout network. In other modules, reset_n
> >signal is used directly to reset logic, I think it is synchronous
> >design, reset_n is an output of BUFG, so I do not synchronize it
> >locally at each state machine. Dose it matter?

> High fanout signals are "interesting".

> Routing takes a long time relative to how fast you can clock a
> well placed small design.  It can easily take more than a clock period
> to get a signal across the chip.

> Check your documentation.  My old copy of the library guide says
> BUFG is a global clock buffer.  It won't help you to distribute
> anything but a clock.

> You may be able to make your design work by splitting your reset signal
> into several signals with different names, one for each region of
> the chip.  You can add extra pipeline stages as necessary to
> meet timing.

> If you keep the number of pipeline stages in each branch the
> same, then all the local reset signals will get cleared at
> the same time.



> >> It may take some extra logic if your design depends upon a chain
> >> of state machines coming out of reset together.
> >What does this mean?
> >Thank you for you replay.

> If you don't keep the number of pipeline stages in each branch
> the same, then some sections (state machines) will come out of
> reset before others.
Shouldn't make using GSR and the STARTUP primitive make life easier?

-- 
Uwe Bonnes                bon@elektron.ikp.physik.tu-darmstadt.de

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

Article: 136323
Subject: Virtex2pro Dimm slot memory
From: alancanniff@gmail.com
Date: Tue, 11 Nov 2008 02:42:29 -0800 (PST)
Links: << >>  << T >>  << A >>
Hello,
I am relatively inexperience and I'm looking for some advice on a
system I am designing.
The system accesses a memory location and uses information stored at
that address to access the next memory element. this means that every
clock cycle a new memory element is addressed and the information at
that address has to be ready to be read at start of the next clock
cycle.
I currently have the system implemented on a virtex 2 pro board using
the on chip block rams, but I now need to expand the design.

1. What sort of memory should I use (ddr, asyncronous...), and where
can I find information about how to read and write to the Dimm slots
(The xilinx site has information, but I was hoping for something a
little more practical)

2. What is the best way of initializing this memory, considering the
memory will probably be a couple of Megs in size.

Thanks

Article: 136324
Subject: Re: external differential clock inputs
From: "sebastian.schueppel@gmail.com" <sebastian.schueppel@googlemail.com>
Date: Tue, 11 Nov 2008 02:46:18 -0800 (PST)
Links: << >>  << T >>  << A >>
On 21 Okt., 15:33, Pratap <pratap.i...@gmail.com> wrote:
> On Oct 20, 2:39 pm, Darol Klawetter <darol.klawet...@l-3com.com>
> wrote:
>
>
>
> > On Oct 20, 9:12 am, "sebastian.schuep...@gmail.com"
>
> > <sebastian.schuep...@googlemail.com> wrote:
> > > Hi,
>
> > > I would like to connect an external clk source (i.e. signal generator)
> > > to my virtex 2 pro board (xupv2p)
> > > The thing is that I didn't really unterstand the concept of
> > > differential clocks. Can I just connect one clk source to one input or
> > > do i have to have an input for both EXTERNAL_CLOCK_P and
> > > EXTERNAL_CLOCK_N. Whats the difference between those.
>
> > > Thanks for your help.
> > >Sebastian
>
> > The differential clock input circuitry of the FPGA measures the
> > voltage difference between the two inputs, not their absolute voltage
> > level with respect to a common reference (e.g. ground). The advantage
> > of differential clocks is greater noise immunity. If the differential
> > pair is routed correctly, then a noise source will couple into both
> > inputs, affecting the common mode voltage but not the voltage
> > difference.
>
> > Also, differential pairs cancel out self noise because each signal of
> > the pair emits an EM field that is of opposite phase with respect to
> > the other. There's plenty of info on the web if you want more detail.
>
> > Darol Klawetter
>
>       I am regularly using the pin "EXTERNAL_CLOCK_P" for my purpose
> and I am leaving the other node "EXTERNAL_CLOCK_N" unconnected.It
> works.In this case in the ucf file you will have to use the standard
> "LVCMOS25" or LVTTL instead of "LVDS".
>
> -Pratap

Thanks for your help.
This is exactly what I was looking for. I tried it and it works with
LVTTL.



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