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 108450

Article: 108450
Subject: Re: VHDL or Verilog or SystemC?
From: David Ashley <dash@nowhere.net.dont.email.me>
Date: 11 Sep 2006 19:13:11 +0200
Links: << >>  << T >>  << A >>
jetq88 wrote:
> hello all,
> 
> I have  experience with ARM microcontroller in C/C++ programming, now
> job function force me to have to expand my skill into FPGA, don't know
> anyone out there in the same shoes having experience with this
> transition, which Hardware language, VHDL or Verilog HDL or System C or
> Handle C  will make my life easier? I guess if you master one, it
> should make you quicker to jump into another one, but for me with
> limited hardware experience, which one can make this transition much
> smoother.
> 
> thanks
> 
> jet
> 

I'm in the same boat, however my reasons for wanting to get into FPGA
use are more personal as opposed to required by the company.

I chose VHDL almost automatically. Verilog I recall suffered from
complications when the project gets very big -- it isn't as strong as
VHDL in putting separate components together to form a whole.
Note I'm completely unfamiliar with Verilog, and the complaint
above came from some other source.

I've heard lots of complaints about VHDL and I've got a few of my
own. I'm just barely getting the hang of it, I can read it better than
I can write it. I'm still trying to work out a style of my own. However
it just seems to me time spent getting to know VHDL won't be wasted.

Important thing -- don't give up! It may seem very frustrating at
first but remember everything will get worked out in the end.
My big fear was something like "Oh god, this is just so ugly. I can't
see myself having to do ugly things all the time...forget it." In the
end it's not really ugly...just unfamiliar.

-Dave


-- 
David Ashley                http://www.xdr.com/dash
Embedded linux, device drivers, system architecture

Article: 108451
Subject: Re: Xilinx ISE ver 8.2.02i is optimizing away and removing "redundant"
From: David Ashley <dash@nowhere.net.dont.email.me>
Date: 11 Sep 2006 19:20:00 +0200
Links: << >>  << T >>  << A >>
Weng Tianxiang wrote:
> Hi David,
> I never use DOS commands and all options are accessable through Xilinx
> ISE window system so that I don't know how to answer any questions
> about it.
> 
> Weng

Aha! So your list was just describing your own way of development,
it wasn't meant as advice as to how best to do development.

Thanks--
Dave


-- 
David Ashley                http://www.xdr.com/dash
Embedded linux, device drivers, system architecture

Article: 108452
Subject: Re: RESET Signals
From: "Andy" <jonesandy@comcast.net>
Date: 11 Sep 2006 10:20:36 -0700
Links: << >>  << T >>  << A >>
In the days of 5v ttl signals on boards, active low signals had more
noise immunity than active high signals (assuming it is worse for noise
to make a false signal true, than the other way around).  Now, with
3.3V signals, there is a very small difference in the noise margings
between levels, and with 2.5V logic and below, there is none.

If you consider 5V TTL logic, most drivers can be pulled up to to
nearly 5V with a resistor, giving nearly 3 volts of headroom before
falling below the minimum high-level threshold at the receiver. With a
low driven signal, at 0.4V, it is hard to put a big enough resistor
(small enough value) on the signal to pull it below 0.2 volts or so
(otherwise the driver would not be able to drive the signal high
against such a resistor).  So it would only take a noise spike of 0.6 V
to get above the maximum low threshold at the receiver, where, under
just the wrong circumstances (remember Murphy!), it could be considered
a high level input.

Andy


Roger wrote:
> Why RESET signals are always active low? I understand that active low
> resets are immune to noise, but could someone explain in detail?
> 
> Also 
> 
> How does Power on Rest Work?
> 
> Thanks


Article: 108453
Subject: Re: Performance Appraisals
From: "Homer J Simpson" <nobody@nowhere.com>
Date: Mon, 11 Sep 2006 17:22:01 GMT
Links: << >>  << T >>  << A >>

"PeteS" <PeterSmith1954@googlemail.com> wrote in message 
news:1157987644.057824.253860@b28g2000cwb.googlegroups.com...

And besides, all work and no play makes a dull person (and a dull
employee too ;)

Is there any other sort of employee?




Article: 108454
Subject: Re: RESET Signals
From: "Andy" <jonesandy@comcast.net>
Date: 11 Sep 2006 10:31:30 -0700
Links: << >>  << T >>  << A >>
I should add that relying on RC networks driving digital inputs for
power up resets is not a reliable practice, especially with fast, low
voltage logic. The slow rise time causes high power dissipation, noise,
and multiple transitions in and out of reset, leading to eratic
operation.

I have also seen cases where a 2.5V processor actually executed random
code when VCC > 1.0 V, which was lower than the reset circuit could
guarantee a valid output.  Purpose-made power up reset circuits that
guarantee reset outputs down to VCC >= 0.8V are necessary in such
cases.

Andy


Andy wrote:
> In the days of 5v ttl signals on boards, active low signals had more
> noise immunity than active high signals (assuming it is worse for noise
> to make a false signal true, than the other way around).  Now, with
> 3.3V signals, there is a very small difference in the noise margings
> between levels, and with 2.5V logic and below, there is none.
>
> If you consider 5V TTL logic, most drivers can be pulled up to to
> nearly 5V with a resistor, giving nearly 3 volts of headroom before
> falling below the minimum high-level threshold at the receiver. With a
> low driven signal, at 0.4V, it is hard to put a big enough resistor
> (small enough value) on the signal to pull it below 0.2 volts or so
> (otherwise the driver would not be able to drive the signal high
> against such a resistor).  So it would only take a noise spike of 0.6 V
> to get above the maximum low threshold at the receiver, where, under
> just the wrong circumstances (remember Murphy!), it could be considered
> a high level input.
>
> Andy
>
>
> Roger wrote:
> > Why RESET signals are always active low? I understand that active low
> > resets are immune to noise, but could someone explain in detail?
> > 
> > Also 
> > 
> > How does Power on Rest Work?
> > 
> > Thanks


Article: 108455
Subject: Re: Functional and Post-Synthesis Simulation
From: "morpheus" <saurster@gmail.com>
Date: 11 Sep 2006 10:41:40 -0700
Links: << >>  << T >>  << A >>

Peppe wrote:
> Which is the difference between Functional and Post-Synthesis Simulation?
> Why should I do both simulation?
>
> Thanks
>
> Peppe

The basic difference between functional and post-synthesis simulation
is that functional simulation only check the behaviour of your design.
It does not point out any race conditions that might occur in your
design.
Post-synthesis simulation is the simulation of your design after it has
been synthesized, which means, that your design has been converted to
gates and takes timing(propagation delays, setup and hold delays) into
account. This simulation sheds light into race conditions or any other
timing issues that might exist in your design which werent apparent in
the behaviour simulation.
Personally, I perform behavioural(functiona) simulation to check if the
design is working properly and then perform timing(post-synthesis)
simulation to check for timing violations, race conditions, etc.
Hope this helps


Article: 108456
Subject: Re: Xilinx ISE ver 8.2.02i is optimizing away and removing "redundant" logic - help!
From: james7uw@yahoo.ca
Date: 11 Sep 2006 10:46:45 -0700
Links: << >>  << T >>  << A >>
Hi All,

What do people think of my idea from my post of
Sun, Sep 10 2006 7:25 pm? I have a description of
what I am doing, followed by a question:

>I am doing a lot of simultaneous "xor"s of
>different bit ranges of 128-bit "words" and using
>a function that uses a function (i.e.,
>combinatorial logic) and I'm doing that
>simultaneously as input to signals that are then
>"xor"-ed. These are done after each clock cycle,
>when initial signals are updated. That is, when
>these initial signals are updated in a process at
>the rising edge of my clock, then I have
>additional signals that should just be updated
>because the data has changed. I'm not using any
>sensitivity list or any clock cycle for them.
>These assignments should cause signals to change,
>which cause the next set of signals to change, in
>about three steps, with ranges of bits being
>processed in parallel (and mixed, which is why I
>have to get into bit ranges). Finally, signals
>named "_next" are updated, then the next clock
>cycle is awaited at which time the original
>signals are updated from the "_next" signals.
>Based on my experience so far in which I got into
>trouble at the synthesize and translate stage due
>to not having a clock on my ROM, do you think
>putting clocks on everything would be the thing to
>try?

I am trying this. Does anyone have some (simple to
them) samples of VHDL code along these lines that
succeed in a Xilinx FPGA?

Best regards,
-James


Article: 108457
Subject: Re: VHDL or Verilog or SystemC?
From: "Fred" <fred@nowhere.com>
Date: Mon, 11 Sep 2006 19:01:35 +0100
Links: << >>  << T >>  << A >>

"jetq88" <jetq5188@gmail.com> wrote in message 
news:1157987349.644693.118260@e3g2000cwe.googlegroups.com...
> hello all,
>
> I have  experience with ARM microcontroller in C/C++ programming, now
> job function force me to have to expand my skill into FPGA, don't know
> anyone out there in the same shoes having experience with this
> transition, which Hardware language, VHDL or Verilog HDL or System C or
> Handle C  will make my life easier? I guess if you master one, it
> should make you quicker to jump into another one, but for me with
> limited hardware experience, which one can make this transition much
> smoother.
>
> thanks
>
> jet
>

Generally Europe uses VHDL and the US uses Verilog.  I would suggest you use 
the one which is most likely to be used by your potential future employers. 



Article: 108458
Subject: Re: exporting an image with quartus 2 web edition
From: "Subroto Datta" <sdatta@altera.com>
Date: 11 Sep 2006 11:34:53 -0700
Links: << >>  << T >>  << A >>
Hello Toto,

Please open the stp file and click on the SignalTap II Data tab to have
the waveform to be exported visible in the window.  Go to menu File and
select Export.  The dialog box as described in the help shows up. If
you see the option to export the testbench file, you must've had the
Vector Waveform File (vwf) editor open and fwith the window focus at
that time.  The Waveform File Editor is a different editor from
SignalTap II Logic Analyzer editor window.

Hope this helps,
Subroto Datta
Altera Corp.


Thank you.

tthurnherr@gmail.com wrote:
> Hi there
> I'm trying to export a waveform from the quartus 2 web edition. In the
> quartus 2 help, there's a nice explanation how to do that:
>
> >Export Dialog Box (SignalTap II Logic Analyzer)
> >
> >--------------------------------------------------------------------------------
> >You open this dialog box by clicking Export on the File menu.
> >
> >Exports the current SignalTap II waveform data to a Comma-Separated Value File (.csv), >Vector Table Output File (.tbl), Value Change Dump File (.vcd), Vector Waveform File (.vwf), >JPEG File Interchange Format (.jpg), or Bitmap File (.bmp).
>
> Unfortunately, when i execute the described action, I can only export
> VHDL testbench files (*.vht) and Verilog testbench files (*.vt).
>
> Can anybody tell me if this is because of the licence, or if i'm doing
> something else wrong?
>
> My version is 6.0 build 202 SJ Web Edition, with service pack 1
> installed. 
> 
> Thanks a lot and have a nice day
> 
> 
> toto


Article: 108459
Subject: Re: VHDL or Verilog or SystemC?
From: Tim Wescott <tim@seemywebsite.com>
Date: Mon, 11 Sep 2006 11:39:47 -0700
Links: << >>  << T >>  << A >>
Fred wrote:

> "jetq88" <jetq5188@gmail.com> wrote in message 
> news:1157987349.644693.118260@e3g2000cwe.googlegroups.com...
> 
>>hello all,
>>
>>I have  experience with ARM microcontroller in C/C++ programming, now
>>job function force me to have to expand my skill into FPGA, don't know
>>anyone out there in the same shoes having experience with this
>>transition, which Hardware language, VHDL or Verilog HDL or System C or
>>Handle C  will make my life easier? I guess if you master one, it
>>should make you quicker to jump into another one, but for me with
>>limited hardware experience, which one can make this transition much
>>smoother.
>>
>>thanks
>>
>>jet
>>
> 
> 
> Generally Europe uses VHDL and the US uses Verilog.  I would suggest you use 
> the one which is most likely to be used by your potential future employers. 
> 
> 
There's enough of both (at least in the US) that unless you're trying 
for a specific employer it would be a good idea to learn one thoroughly, 
and learn at least a little bit of the other.

-- 

Tim Wescott
Wescott Design Services
http://www.wescottdesign.com

Posting from Google?  See http://cfaj.freeshell.org/google/

"Applied Control Theory for Embedded Systems" came out in April.
See details at http://www.wescottdesign.com/actfes/actfes.html

Article: 108460
Subject: Re: Performance Appraisals
From: "Michael A. Terrell" <mike.terrell@earthlink.net>
Date: Mon, 11 Sep 2006 18:46:24 GMT
Links: << >>  << T >>  << A >>
John Woodgate wrote:
> 
> Who did that?


   I'm not sure.  All caps gives me a splitting headache, so I don't
even read them anymore.


-- 
Service to my country? Been there, Done that, and I've got my DD214 to
prove it.
Member of DAV #85.

Michael A. Terrell
Central Florida

Article: 108461
Subject: Re: Trying to get plb_temac working
From: "funkrhythm" <rimas@cnmat.berkeley.edu>
Date: 11 Sep 2006 12:10:38 -0700
Links: << >>  << T >>  << A >>

are you sure you have all the pin assignments/connections between
plb_temac and hard_temac and such set up properly for the board ?

here are the relevant portions of the system.mhs and system.ucf files
that i am using (for the same V4FX12 mini module board with the gig
phy)

--- system.mhs

 PORT hard_temac_0_GMII_RX_CLK_0_pin = hard_temac_0_GMII_RX_CLK_0, DIR
= I
 PORT hard_temac_0_GMII_RX_DV_0_pin = hard_temac_0_GMII_RX_DV_0, DIR =
I
 PORT hard_temac_0_GMII_RX_ER_0_pin = hard_temac_0_GMII_RX_ER_0, DIR =
I
 PORT hard_temac_0_GMII_RXD_0_pin = hard_temac_0_GMII_RXD_0, DIR = I,
VEC = [7:0]
 PORT hard_temac_0_GMII_TX_CLK_0_pin = hard_temac_0_GMII_TX_CLK_0, DIR
= O
 PORT hard_temac_0_GMII_TX_EN_0_pin = hard_temac_0_GMII_TX_EN_0, DIR =
O
 PORT hard_temac_0_GMII_TX_ER_0_pin = hard_temac_0_GMII_TX_ER_0, DIR =
O
 PORT hard_temac_0_GMII_TXD_0_pin = hard_temac_0_GMII_TXD_0, DIR = O,
VEC = [7:0]
 PORT hard_temac_0_GTX_CLK_0_pin = hard_temac_0_GTX_CLK_0, DIR = I
 PORT hard_temac_0_MDC_0_pin = hard_temac_0_MDC_0, DIR = O
 PORT hard_temac_0_MDIO_0_pin = hard_temac_0_MDIO_0, DIR = IO
 PORT plb_temac_0_PhyResetN_pin = plb_temac_0_PhyResetN, DIR = O
 PORT hard_temac_0_MII_TX_CLK_0_pin = hard_temac_0_MII_TX_CLK_0, DIR =
I

....

BEGIN hard_temac
 PARAMETER INSTANCE = hard_temac_0
 PARAMETER HW_VER = 3.00.a
 BUS_INTERFACE V4EMACDST0 = plb_temac_0_V4EMACSRC
 PORT GMII_RX_CLK_0 = hard_temac_0_GMII_RX_CLK_0
 PORT GMII_RX_DV_0 = hard_temac_0_GMII_RX_DV_0
 PORT GMII_RX_ER_0 = hard_temac_0_GMII_RX_ER_0
 PORT GMII_RXD_0 = hard_temac_0_GMII_RXD_0
 PORT GMII_TX_CLK_0 = hard_temac_0_GMII_TX_CLK_0
 PORT GMII_TX_EN_0 = hard_temac_0_GMII_TX_EN_0
 PORT GMII_TX_ER_0 = hard_temac_0_GMII_TX_ER_0
 PORT GMII_TXD_0 = hard_temac_0_GMII_TXD_0
 PORT GTX_CLK_0 = hard_temac_0_GTX_CLK_0
 PORT MDC_0 = hard_temac_0_MDC_0
 PORT MDIO_0 = hard_temac_0_MDIO_0
 PORT REFCLK = sys_clk_s
 PORT RESET = plb_temac_0_Emac_Reset
 PORT MII_TX_CLK_0 = hard_temac_0_MII_TX_CLK_0
END

BEGIN plb_temac
 PARAMETER INSTANCE = plb_temac_0
 PARAMETER HW_VER = 3.00.a
 PARAMETER C_BASEADDR = 0x80400000
 PARAMETER C_HIGHADDR = 0x8040ffff
 PARAMETER C_PLB_CLK_PERIOD_PS = 10000
 PARAMETER C_DMA_TYPE = 1
 PARAMETER C_RX_DRE_TYPE = 0
 PARAMETER C_TX_DRE_TYPE = 0
 PARAMETER C_RXFIFO_DEPTH = 65536
 PARAMETER C_TXFIFO_DEPTH = 65536
 BUS_INTERFACE MSPLB = plb
 BUS_INTERFACE V4EMACSRC = plb_temac_0_V4EMACSRC
 PORT IP2INTC_Irpt = plb_temac_0_IP2INTC_Irpt
 PORT PhyResetN = plb_temac_0_PhyResetN
 PORT Emac_Reset = plb_temac_0_Emac_Reset
END

--- system.ucf

Net hard_temac_0_GMII_RX_CLK_0_pin LOC=W11 | IOSTANDARD = LVCMOS33;
Net hard_temac_0_GMII_RX_DV_0_pin LOC=J6 | IOSTANDARD = LVCMOS33;
Net hard_temac_0_GMII_RX_ER_0_pin LOC=H1 | IOSTANDARD = LVCMOS33;
Net hard_temac_0_GMII_RXD_0_pin<0> LOC=J5 | IOSTANDARD = LVCMOS33;
Net hard_temac_0_GMII_RXD_0_pin<1> LOC=K3 | IOSTANDARD = LVCMOS33;
Net hard_temac_0_GMII_RXD_0_pin<2> LOC=J4 | IOSTANDARD = LVCMOS33;
Net hard_temac_0_GMII_RXD_0_pin<3> LOC=K4 | IOSTANDARD = LVCMOS33;
Net hard_temac_0_GMII_RXD_0_pin<4> LOC=M6 | IOSTANDARD = LVCMOS33;
Net hard_temac_0_GMII_RXD_0_pin<5> LOC=L2 | IOSTANDARD = LVCMOS33;
Net hard_temac_0_GMII_RXD_0_pin<6> LOC=K1 | IOSTANDARD = LVCMOS33;
Net hard_temac_0_GMII_RXD_0_pin<7> LOC=K2 | IOSTANDARD = LVCMOS33;

Net hard_temac_0_GMII_TX_CLK_0_pin LOC=M2 | IOSTANDARD = LVCMOS33;
Net hard_temac_0_GMII_TX_EN_0_pin LOC=N2 | IOSTANDARD = LVCMOS33;
Net hard_temac_0_GMII_TX_ER_0_pin LOC=P1 | IOSTANDARD = LVCMOS33;
Net hard_temac_0_GMII_TXD_0_pin<0> LOC=M4 | IOSTANDARD = LVCMOS33;
Net hard_temac_0_GMII_TXD_0_pin<1> LOC=N4 | IOSTANDARD = LVCMOS33;
Net hard_temac_0_GMII_TXD_0_pin<2> LOC=L1 | IOSTANDARD = LVCMOS33;
Net hard_temac_0_GMII_TXD_0_pin<3> LOC=M1 | IOSTANDARD = LVCMOS33;
Net hard_temac_0_GMII_TXD_0_pin<4> LOC=P2 | IOSTANDARD = LVCMOS33;
Net hard_temac_0_GMII_TXD_0_pin<5> LOC=N5 | IOSTANDARD = LVCMOS33;
Net hard_temac_0_GMII_TXD_0_pin<6> LOC=P4 | IOSTANDARD = LVCMOS33;
Net hard_temac_0_GMII_TXD_0_pin<7> LOC=P5 | IOSTANDARD = LVCMOS33;

Net hard_temac_0_MII_TX_CLK_0_pin LOC=Y5 | IOSTANDARD = LVCMOS33;
Net hard_temac_0_GTX_CLK_0_pin LOC=W9 | IOSTANDARD = LVCMOS33;
Net hard_temac_0_MDC_0_pin LOC=J3 | IOSTANDARD = LVCMOS33;
Net hard_temac_0_MDIO_0_pin LOC=N3 | IOSTANDARD = LVCMOS33;
Net plb_temac_0_PhyResetN_pin LOC=M3 | IOSTANDARD = LVCMOS33;


---

works for me !

note the connection from the plb_temac to the reset pin on the PHY, if
this is missing you probably won't get a link...

-rimas

Benedikt Wildenhain wrote:
> Hello,
>
> I am using the XilinX Virtex 4 FX 12 Evaluation Kit and want to get
> ethernet working (it will have to do some IP networking stuff). The board
> is equipped with an mii-interface so usign hard_temac and plb_temac
> should be enough (or am I wrong here?). I programmed the FPGA with using
> these IP cores (and those which the BSB preselected), but the ethernet
> switch I connected to the board does not recognize anything. Do I make any
> mistake? Or do I first need to get some software running on the
> integrated ppc which somehow initializes the ethernet interface?
>


Article: 108462
Subject: Re: Lattice eval board with PCIe and SATA
From: lb.edc@telenet.be
Date: Mon, 11 Sep 2006 19:17:36 GMT
Links: << >>  << T >>  << A >>
Hi Antti,

I understood from our local FAE, it should become available very soon
as Lattice is building inventory.
The kit should be quite complete - no indication of price however.
The FAE told me that some new things are being tested for compliancy
(like SATA) and one can expect full support for this as well in the
near future.

Luc

On 11 Sep 2006 07:20:10 -0700, "Antti" <Antti.Lukats@xilant.com>
wrote:

>Hi
>
>http://www.latticesemi.com/products/developmenthardware/fpgafspcboards/scpciexpressx1evaluationb.cfm
>
>I wonder if that board is available and if it really supports SATA as
>it advertized to support?
>
>On the website there is no price information what usually is bad news
>regarding actual board availability :(
>
>Antti

Article: 108463
Subject: Re: Xilinx ISE ver 8.2.02i is optimizing away and removing "redundant" logic - help!
From: "KJ" <Kevin.Jennings@Unisys.com>
Date: 11 Sep 2006 12:33:59 -0700
Links: << >>  << T >>  << A >>

> >I am doing a lot of simultaneous "xor"s of
> >different bit ranges of 128-bit "words" and using
> >a function that uses a function (i.e.,
> >combinatorial logic) and I'm doing that
> >simultaneously as input to signals that are then
> >"xor"-ed. These are done after each clock cycle,
> >when initial signals are updated. That is, when
> >these initial signals are updated in a process at
> >the rising edge of my clock, then I have
> >additional signals that should just be updated
> >because the data has changed. I'm not using any
> >sensitivity list or any clock cycle for them.
> >These assignments should cause signals to change,
> >which cause the next set of signals to change, in
> >about three steps, with ranges of bits being
> >processed in parallel (and mixed, which is why I
> >have to get into bit ranges). Finally, signals
> >named "_next" are updated, then the next clock
> >cycle is awaited at which time the original
> >signals are updated from the "_next" signals.
It sounds like relatively straightforward logic and registers.  There
are absolutely no issues with using any design language to implement
this.

> >Based on my experience so far in which I got into
> >trouble at the synthesize and translate stage due
> >to not having a clock on my ROM, do you think
> >putting clocks on everything would be the thing to
> >try?
Not unless the outputs are required to be clocked for some other reason
no clock is required.  A couple reasons why you might want to clock the
outputs would be...
- More consistent timing on when the outputs become available (i.e. the
clock to output delay generally doesn't change much if the final
outputs are clocked)
- No glitching on the outputs.  The output of a flip flop will either
change or remain the same for the entire clock cycle whereas the output
of combinatorial logic implemented inside an FPGA might glitch during
the propogation delay while the new output value is being computed.

That doesn't imply that clocked are 'better' or 'worse' you just need
to be aware of what will come out.  As another very general statement,
there is usually absolutely no need for internal signals to be clocked
except to improve clock cycle performance.  Since you've provided no
information regarding what speed you need to run at, I'd say that there
is no speed issue at present.

>
> I am trying this. Does anyone have some (simple to
> them) samples of VHDL code along these lines that
> succeed in a Xilinx FPGA?
Not sure exactly what you were trying to describe but my interpretation
is that is something of the form...

y <= Fun1(Fun2(X1(100 downto 83)) xor X2(17 downto 0);

where Fun1 and Fun2 are your 'function of a function', X1 and X2 are
some inputs of some sort and you're Xor-ing them together.  I'm sure I
didn't guess right, but on the off chance that it is correct then 'yes'
the above line of code will work just fine for what you're trying to
do.  If you want a clocked output y then

process(Clock)
begin
   if rising_edge(Clock) then
      y <= Fun1(Fun2(X1(100 downto 83)) xor X2(17 downto 0);
   end if;
end process;

All of this will work you need to sit down and write the logic
equations for whatever it is you're trying to implement there shouldn't
be any need for any trial and error.

KJ


Article: 108464
Subject: Re: Functional and Post-Synthesis Simulation
From: "KJ" <Kevin.Jennings@Unisys.com>
Date: 11 Sep 2006 12:40:30 -0700
Links: << >>  << T >>  << A >>

morpheus wrote:
> Peppe wrote:
> > Which is the difference between Functional and Post-Synthesis Simulation?
> > Why should I do both simulation?
> >
> > Thanks
> >
> > Peppe
>
> The basic difference between functional and post-synthesis simulation
> is that functional simulation only check the behaviour of your design.
> It does not point out any race conditions that might occur in your
> design.
> Post-synthesis simulation is the simulation of your design after it has
> been synthesized, which means, that your design has been converted to
> gates and takes timing(propagation delays, setup and hold delays) into
> account. This simulation sheds light into race conditions or any other
> timing issues that might exist in your design which werent apparent in
> the behaviour simulation.
It might shed light but it most likely will not since there is no
expectation that the simulation will hit any of the corner conditions.
Furthermore, timing simulations do not take into account any sort of
variability of timing (i.e. min delay here, max delay there it simply
uses all min, or all max or all typ).  While you can argue that on a
single chip you probably won't have a mix of mins and max you can't
argue that there will be no variation (i.e. say 80% - 130% of typical).
 To check for correct timing you perform static timing analysis which
does not require any simulation.

> Personally, I perform behavioural(functiona) simulation to check if the
> design is working properly and then perform timing(post-synthesis)
> simulation to check for timing violations, race conditions, etc.
I'd suggest you perform static timing analysis instead...it is
typically an output report of the synthesis operation.

KJ


Article: 108465
Subject: Simulating EDK 8.1i System using ModelSim 6.1e
From: "kits59@gmail.com" <kits59@gmail.com>
Date: 11 Sep 2006 12:58:57 -0700
Links: << >>  << T >>  << A >>
Hello,

Recently, I have been trying to simulate my system to verify that the
pieces are working correctly in my EDK project.  In order to do this, I
need to use the SmartModel simulation tools for ModelSim 6.1e.  I've
read through all of Xilinx's documentation and have set up the
modelsim.ini file correctly, but when I run the simulation, everything
hangs.  There are no calls to the BRAM to fetch code for execution.

The only thing I get that might be a part of the problem is the
following warnings:

# ** Warning (SmartModel):
#    Model is being requested to run at a finer resolution than
necessary.


Anyone been able to do a system level simulation using SimGen and EDK?

Jon


Article: 108466
Subject: Re: Simulating EDK 8.1i System using ModelSim 6.1e
From: "kits59@gmail.com" <kits59@gmail.com>
Date: 11 Sep 2006 12:59:57 -0700
Links: << >>  << T >>  << A >>
It should go without saying, but the EDK version is 8.1i with the
latest 8.1 WebPack


Article: 108467
Subject: Re: simplyrisc-s1 free core
From: Andreas Ehliar <ehliar@lysator.liu.se>
Date: Mon, 11 Sep 2006 21:09:45 +0000 (UTC)
Links: << >>  << T >>  << A >>
On 2006-09-11, Antti <Antti.Lukats@xilant.com> wrote:
> BTW there is no SYNTHESIZE thing in the or1200_defines.v :(
> there is something about xilinx memories and the synthese really
> uses xilinx RAMB16 prims, but what else to check I dont know.

Oops, I think I should be a bit embarrased. I guess that we added it
to our version of or1200 used in teaching. `include "shamed_face.v" I
guess :) Sorry for making you look for something which wasn't there.

Anyway, what I can confirm is that we have successfully synthesized
an older version of OR1200 with both ISE 7.1 and 8.1.  The exact
version can be found on the course homepage at
http://www.da.isy.liu.se/courses/tsea02/labs.html. Lab1 is a small
system with the UART and parport missing (the students are supposed
to implement those to get familiar with wishbone and verilog) whereas
lab2-4 is a larger system. It should be possible to trim it down to
a smaller system if necessary.

/Andreas


Article: 108468
Subject: Re: RESET Signals
From: David R Brooks <davebXXX@iinet.net.au>
Date: Mon, 11 Sep 2006 15:18:00 -0800
Links: << >>  << T >>  << A >>
Andy wrote:
> In the days of 5v ttl signals on boards, active low signals had more
> noise immunity than active high signals (assuming it is worse for noise
> to make a false signal true, than the other way around).  Now, with
> 3.3V signals, there is a very small difference in the noise margings
> between levels, and with 2.5V logic and below, there is none.
> 
> If you consider 5V TTL logic, most drivers can be pulled up to to
> nearly 5V with a resistor, giving nearly 3 volts of headroom before
> falling below the minimum high-level threshold at the receiver. With a
> low driven signal, at 0.4V, it is hard to put a big enough resistor
> (small enough value) on the signal to pull it below 0.2 volts or so
> (otherwise the driver would not be able to drive the signal high
> against such a resistor).  So it would only take a noise spike of 0.6 V
> to get above the maximum low threshold at the receiver, where, under
> just the wrong circumstances (remember Murphy!), it could be considered
> a high level input.
> 
> Andy
> 
> 
> Roger wrote:
>> Why RESET signals are always active low? I understand that active low
>> resets are immune to noise, but could someone explain in detail?
>>
>> Also 
>>
>> How does Power on Rest Work?
>>
Many signals in the discrete-logic days were active low, and still are, 
out of habit. Most decoder chips, for example, have active-low outputs. 
SRAM chips therefore have active-low enable inputs, to work with them.
The reason actually predates TTL. Before TTL was DTL (diode-transistor 
logic), in which a wired-AND was the norm: that is, 2 or more 
transistors to ground, & a common pullup resistor. So the Low output 
impedance (a saturated transistor) is much lower than the High output 
(the resistor). Better noise tolerance.

Article: 108469
Subject: xilinx bram instantation template in vhdl?
From: David Ashley <dash@nowhere.net.dont.email.me>
Date: Mon, 11 Sep 2006 16:45:44 -0700
Links: << >>  << T >>  << A >>
I want to create a 1152 by 6 bit rom and I want to use
a bram. It can be clocked or not clocked, but I'd prefer
not clocked. Can someone point me to a template?

Something like this takes a long time to synthesize...
library IEEE;
use IEEE.STD_LOGIC_1164.ALL;
use ieee.numeric_std.all;

entity fontrom is
	port (
		addr : in unsigned ( 10 downto 0);
		data : out std_logic_vector ( 5 downto 0)
	);
end fontrom;

architecture rtl of fontrom is
begin

process ( addr)
begin
	case addr is
		when "00000000000" => data <= "000000";
		when "00000000001" => data <= "000000";
		when "00000000010" => data <= "000000";
		when "00000000011" => data <= "000000";
		when "00000000100" => data <= "000000";
		when "00000000101" => data <= "000000";
		when "00000000110" => data <= "000000";
...
		when "10001111100" => data <= "111111";
		when "10001111101" => data <= "111111";
		when "10001111110" => data <= "111111";
		when "10001111111" => data <= "111111";
		when others => data <= "00000";
	end case;
end process;
end rtl;

Thanks--
Dave
-- 
David Ashley                http://www.xdr.com/dash
Embedded linux, device drivers, system architecture

Article: 108470
Subject: Re: xilinx bram instantation template in vhdl?
From: David Ashley <dash@nowhere.net.dont.email.me>
Date: Mon, 11 Sep 2006 17:22:34 -0700
Links: << >>  << T >>  << A >>
David Ashley wrote:
> I want to create a 1152 by 6 bit rom and I want to use
>[cut]

I found this thread...
http://groups.google.com/group/comp.lang.vhdl/browse_thread/thread/9d83482446592315/cb311613c24c9d31?lnk=st&q=this_rom+small_rom+a_length&rnum=3#cb311613c24c9d31

Tues Nov 13 2001 Mike Treseler suggests something, see my attempt below.
This synthesizes quickly but doesn't seem to use a BRAM, it
uses 400+ LUTs to do it...want to use BRAMS as they're
unused, and LUT's are in short supply...

-Dave

library IEEE;
use IEEE.STD_LOGIC_1164.ALL;
use ieee.numeric_std.all;

entity fontrom is
	port (
		addr : in unsigned ( 10 downto 0);
		data : out std_logic_vector ( 5 downto 0)
	);
end fontrom;

architecture rtl of fontrom is
	type small_rom is array (0 to 1151)
      of std_logic_vector(5 downto 0);
	constant this_rom : small_rom :=
	(
		0 => "000000",
		1 => "000000",
		2 => "000000",
		3 => "000000",
		4 => "000000",
...
		1143 => "111111",
		1144 => "111111",
		1145 => "111111",
		1146 => "111111",
		1147 => "111111",
		1148 => "111111",
		1149 => "111111",
		1150 => "111111",
		1151 => "111111",
		others => "000000"
	);
begin
	data <= this_rom(to_integer(addr));
end architecture rtl;



-- 
David Ashley                http://www.xdr.com/dash
Embedded linux, device drivers, system architecture

Article: 108471
Subject: Re: xilinx bram instantation template in vhdl?
From: Ben Jackson <ben@ben.com>
Date: Mon, 11 Sep 2006 19:31:05 -0500
Links: << >>  << T >>  << A >>
On 2006-09-11, David Ashley <dash@nowhere.net.dont.email.me> wrote:
> I want to create a 1152 by 6 bit rom and I want to use
> a bram. It can be clocked or not clocked, but I'd prefer
> not clocked. Can someone point me to a template?

There's a whole PDF of them called "xst.pdf" which you can google.

-- 
Ben Jackson AD7GD
<ben@ben.com>
http://www.ben.com/

Article: 108472
Subject: Re: xilinx bram instantation template in vhdl?
From: David Ashley <dash@nowhere.net.dont.email.me>
Date: Mon, 11 Sep 2006 18:23:09 -0700
Links: << >>  << T >>  << A >>
Ben Jackson wrote:
> On 2006-09-11, David Ashley <dash@nowhere.net.dont.email.me> wrote:
> 
>>I want to create a 1152 by 6 bit rom and I want to use
>>a bram. It can be clocked or not clocked, but I'd prefer
>>not clocked. Can someone point me to a template?
> 
> 
> There's a whole PDF of them called "xst.pdf" which you can google.
> 

Thank you very much! That's what I was after.

Well I'll be busy reading for a while...

-Dave

-- 
David Ashley                http://www.xdr.com/dash
Embedded linux, device drivers, system architecture

Article: 108473
Subject: FPGA timing
From: "skyworld" <chenyong20000@gmail.com>
Date: 11 Sep 2006 19:20:54 -0700
Links: << >>  << T >>  << A >>
Hi,
I am porting my design from ASIC to FPGA, but I found the timing in
FPGA is very bad. What I konw is to set up the clock constraints, I
don't know how to add other constraints. Can any boby give me some
hints? thanks very much. 
I use Altera clone II.

skyworld


Article: 108474
Subject: Re: Functional and Post-Synthesis Simulation
From: Ray Andraka <ray@andraka.com>
Date: Mon, 11 Sep 2006 22:21:28 -0400
Links: << >>  << T >>  << A >>
morpheus wrote:
> Peppe wrote:
> 
>>Which is the difference between Functional and Post-Synthesis Simulation?
>>Why should I do both simulation?
>>
>>Thanks
>>
>>Peppe
> 
> 
> The basic difference between functional and post-synthesis simulation
> is that functional simulation only check the behaviour of your design.
> It does not point out any race conditions that might occur in your
> design.
> Post-synthesis simulation is the simulation of your design after it has
> been synthesized, which means, that your design has been converted to
> gates and takes timing(propagation delays, setup and hold delays) into
> account. This simulation sheds light into race conditions or any other
> timing issues that might exist in your design which werent apparent in
> the behaviour simulation.
> Personally, I perform behavioural(functiona) simulation to check if the
> design is working properly and then perform timing(post-synthesis)
> simulation to check for timing violations, race conditions, etc.
> Hope this helps
> 

Timing simulation by itself does not guarantee that you will catch all 
timing problems.  You only catch the timing problems that match the 
timing of the test your are running.  In addition, the delays in the 
model are generally the maximum delay, not the worst case (meaning 
minimum or maximum depending on the circumstance).  If you rely on a 
post-par simulation  to determine timing compliance, you are setting 
yourself up for a lot of grief down the line.

You will get more complete timing coverage by doing a proper timing 
analysis on the design.  For synchronous designs, that is pretty easy to 
accomplish using the tools provided with all of the major FPGA place and 
route tools.  The post-PAR simulation is really only useful for catching 
the very rare mistake by the PAR tools, or catching something that fell 
under a multi-cycle constraint when it didn't belong there.



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