Etantonio Electronic
Welcome to the forum.
Username:
Password:
Save Password


Register
Select Language

Forgot your Password?
 
Active Topics | Active Polls | Members | Online Users | Avatar Legend | Search
Select Skin: 
 All Forums
 Digital Board
 FPGA
 Edge selection with RAM
   All users can post NEW topics in this forum
   All users can reply to topics in this forum
Rating is not allowed for this topic.
 Printer Friendly
Author Previous Topic: The speedest FPGA Topic   

etantonio

Status: offline

 Posted - 11/17/2005 :  08:37:51  Show Profile  Visit etantonio's Homepage  Add etantonio to Buddylist
Maybe until now I did not understand many important things, for
example I've the famous
BlockRAM CORE v. 4.0 for it I choose to use the negative front 'cause
I use it in all the rest
of my circuit, the results in terms of speed are ok, almost 100MHz on
XCV1K-4 but in term of
simulation the result is really bad, it is :


# : WARNING: */RAMB4_S1 SETUP High VIOLATION ON ADDR(8) WITH RESPECT
TO CLK;
# : Expected := 0.01 ns; Observed := 0 ns; At : 1275 ns
# : Time: 1275 ns, Iteration: 3, Instance: /U1/U2/U2/B13.
# : WARNING: */RAMB4_S1 SETUP Low VIOLATION ON ADDR(7) WITH RESPECT TO
CLK;
# : Expected := 0.01 ns; Observed := 0 ns; At : 1275 ns
# : Time: 1275 ns, Iteration: 3, Instance: /U1/U2/U2/B13.


and really many other similar warnings, but let's try to understand
what the error say,
the problem is that the clock and the address change on the same time
while from data_sheets
seems that the address must arrive a little bit before 0.01ns.


The only rimedy I know is to change the operating edge of the ram so
now the address change on
negative edge of the clock and the ram work on positive edge. Now the
simulation it's ok but
the speed on FPGA is reduced to 45MHz.


Naturally I need 100MHz and a simulation working fine, it is possible
to obtain this ??

Why not ?!?

 Country: Italy  ~  Posts: 26  ~  Member Since: 10/21/2005  ~  Last Visit: 11/17/2008 Alert Moderator 

Brunner

Status: offline

 Posted - 11/19/2005 :  07:55:03  Show Profile  Add Brunner to Buddylist
> and really many other similar warnings, but let's try to understand
> what the error say,
> the problem is that the clock and the address change on the same time
> while from data_sheets
> seems that the address must arrive a little bit before 0.01ns.


Yes, a "little" bit more, so 2ns or so. ;-)


> The only rimedy I know is to change the operating edge of the ram so
> now the address change on
> negative edge of the clock and the ram work on positive edge. Now the
> simulation it's ok but
> the speed on FPGA is reduced to 45MHz.



This is clear, since the address changes on the negative edge and has so
only 1/2 clock cycle to propaget to the RAM. Switch back to te positive edge
and ignore the warning of the simulator. If you have a clean synchronous
design, just look at the timing analyzer, it will tell you how fast you can
go.

 Country: USA  ~  Posts: 1  ~  Member Since: 11/17/2005  ~  Last Visit: 11/19/2005 Alert Moderator  Go To Top Of Page

Joe

Status: offline

 Posted - 11/19/2005 :  08:01:49  Show Profile  Add Joe to Buddylist
If you're running with a delay annotated netlist then you shouldn't be
getting any warnings. If you using the Xilinx mem timing models with
RTL then I could understand the warnings. You could make a non-timing
mem model for RTL sim or you could put a simulation delay in the
address lines that are ignored at synthesis. Something like


wire //synopsys translate_off
#1 //synopsys translate_on
slow_we=we;


Regards


p.s. I don't recommend going to negative edge to solve simulation
model issues.


 Country: USA  ~  Posts: 2  ~  Member Since: 11/15/2005  ~  Last Visit: 11/19/2005 Alert Moderator  Go To Top Of Page
  Previous Topic: The speedest FPGA Topic   
 Printer Friendly
Jump To:
 Image Forums 2001 This page was generated in 0.06 seconds. Powered By: Snitz Forums 2000