

AR# 7909

2.1i COREGEN: Incorrect data written to Virtex Block RAM in VHDL behavioral simulation / model has incorrect timing on address and data lines


Keywords: block ram, virtex, hold, output, vhdl

Urgency: hot

General Description:
Incorrect data may be written to the CORE Generator 2.1i Single Port and Dual Port
Block RAM during VHDL behavioral simulation due to an error in the behavioral model.
There is a delta delay implied by the declaration of an internal version of the module output
that is not balanced by implied delta delays associated with internal versions of the data
and address signals.

One possible symptom is seen when the rising edge of the clock and the address lines
change at the same time. Under these conditions, the new data appears to be written into
the new address instead of the data that was valid right before the rising edge of the clock.



Install one of the following tactical patches to your Xilinx directory:

http://www.xilinx.com/txpatches/pub/swhelp/coregen/c_ip4_patch1.tar.gz (UNIX), or
http://www.xilinx.com/txpatches/pub/swhelp/coregen/c_ip4_patch1.zip (PC)


You can also use an AFTER statement in your testbench so that
the clock does not transition at the exact same time as data/address
(Ex. address <= address + 1 AFTER 1 ns;).
AR# 7909
Date 08/24/2001
Status Archive
Type General Article
Page Bookmarked