UPGRADE YOUR BROWSER

We have detected your current browser version is not the latest one. Xilinx.com uses the latest web technologies to bring you the best online experience possible. Please upgrade to a Xilinx.com supported browser:Chrome, Firefox, Internet Explorer 11, Safari. Thank you!

cancel
Showing results for 
Search instead for 
Did you mean: 
Observer eestar
Observer
2,354 Views
Registered: ‎08-21-2012

read latency in block ram(named_funcsim.v) simulation is 2, should be 3

Jump to solution

Hi,

I generate a block ram memory IP in vivado, read latency is 3. When simulate with named_funcsim.v, see the read latency is 2; but it is 3 when using ../sim/name.v and ../blk_mem_gen_v8_2/simulation/blk_mem_gen_v8_2.v. After implementation, it is also 3.

I am using vivado 2015.2 and Questasim, the verilog timescale is 1ps/1ps.

 

Can I use named_funcsim.v when run functional simulation? I like this file, just one file for one IP. If can use, why read latency did not match? Thanks for any help!

 

 

BR

Guoxing

0 Kudos
1 Solution

Accepted Solutions
Moderator
Moderator
4,240 Views
Registered: ‎11-09-2015

Re: read latency in block ram(named_funcsim.v) simulation is 2, should be 3

Jump to solution

Hi @eestar,

 

Could you try to add some delay between your clock and your signals in the tb?

 

My guess is that you see only 2 latency because the data are captured directly

 

Regards,

 

Florent


Florent
Product Application Engineer - Xilinx Technical Support EMEA
**~ Don't forget to reply, give kudos, and accept as solution.~**
0 Kudos
2 Replies
Moderator
Moderator
4,241 Views
Registered: ‎11-09-2015

Re: read latency in block ram(named_funcsim.v) simulation is 2, should be 3

Jump to solution

Hi @eestar,

 

Could you try to add some delay between your clock and your signals in the tb?

 

My guess is that you see only 2 latency because the data are captured directly

 

Regards,

 

Florent


Florent
Product Application Engineer - Xilinx Technical Support EMEA
**~ Don't forget to reply, give kudos, and accept as solution.~**
0 Kudos
Observer eestar
Observer
2,307 Views
Registered: ‎08-21-2012

Re: read latency in block ram(named_funcsim.v) simulation is 2, should be 3

Jump to solution

@florentw, Thank you very much for the help!

After adding delay, the latency is right, it 3.

And after rechecking the code, found another code error, in my code, the the ram address is driven by a sequence logic, but using blocking assignments(=), this should be the root cause this delay mismatch. After changing to Nonblocking assignments(<=), the latency is right without verilog delay.

 

BR

Guoxing

0 Kudos