Return to Support Page
 homesearchagentssupportask xilinxmap

Answers Database


HDL timing simulation: compiling testbench reveals port mismatches


Record #2283

Product Family:  Software

Product Line:  Merged Core

Problem Title:
HDL timing simulation: compiling testbench reveals port mismatches


Problem Description:
Keywords: VHDL, Verilog, testbench, simulation, ports, DOWNTO

Urgency: Hot

General Description:

Compiling your unit-under-test design from NGD2VER or NGD2VHDL along with your t
estbench reveals mismatches on bused ports.


Solution 1:

This problem comes about when your unit under test has top-level ports that
are defined as LSB-to-MSB, e.g.,

   Verilog:  input [0:7] A;
   VHDL:     A: in STD_LOGIC_VECTOR (0 to 7);

The Xilinx design database does not keep track of the direction in which
buses were defined in the original design.  When NGD2VER or NGD2VHDL writes
out a structural timing Verilog or VHDL description, all buses are written
as MSB-to-LSB, e.g.,

   Verilog:  input [7:0] A;
   VHDL:     A: in STD_LOGIC_VECTOR (7 downto 0);

If your ports were originally defined as LSB-to-MSB in your original design
and testbench, this results in a port mismatch when the testbench is
compiled for timing simulation.  There are two ways to work around this
problem:

1. In the testbench, modify the instantiation of the unit under test so
   that all ports are defined as MSB-to-LSB for timing simulation, OR

2. Define all ports as MSB-to-LSB in the original design and testbench.



End of Record #2283

For the latest news, design tips, and patch information on the Xilinx design environment, check out the Xilinx Expert Journals!

© 1998 Xilinx, Inc. All rights reserved
Trademarks and Patents