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# 11459

NetGen - Timing Simulation: "# ERROR: tstpbloc.tf(45): Illegal output port connection (1st connection)" (VHDL, Verilog)

Description

In timing simulation, the following errors occur:

"# ERROR: tstpbloc.tf(45): Illegal output port connection (1st connection).

# Region: /test_pb_loc_top/dut

# WARNING: tstpbloc.tf(45): [PCDPC] - Port size does not match connection size (6th connection).

# Region: /test_pb_loc_top/dut

# WARNING: tstpbloc.tf(45): [PCDPC] - Port size does not match connection size (7th connection)."

Solution

These errors occur when the testbench uses positional mapping instead of named mapping to instantiate the Design Under Test (DUT). The back-annotated netlist does not contain the signals in the same order in which they were declared in the pre-synthesis design. As a result, these errors appear when the simulator is unable to map the signals properly between the testbench and the DUT. Use named mapping to instantiate the DUT. Examples of named mapping are as follows:

VHDL

DUT: instance_name port map ( Clock => TB_Clock,

Input1 => TB_Input1,

...

OutputLast => TB_OutputLast );

Verilog

instance_name DUT (.Clock(TB_Clock),

.Input1(TB_Input1),

....

.OutputLast(TB_OutputLast) );

AR# 11459
Date Created 08/29/2007
Last Updated 12/15/2012
Status Active
Type General Article