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!

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

Description

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.

Solution

1

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)


2

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 Created 10/21/1999
Last Updated 08/24/2001
Status Archive
Type General Article