Answers Database


pld_men2edif ERROR:basnu:120 - logical net "port_signal_name" has multiple pad connections


Record #5713

Product Family: Software

Product Line: Mentor

Product Part: pld_men2edif

Problem Title:
pld_men2edif ERROR:basnu:120 - logical net "port_signal_name" has multiple pad connections


Problem Description:
Urgency: Standard

General Description:

I am trying to run pld_men2edif but when I run it I am getting the following error:

ERROR:basnu:120 - logical net "port_signal_name" has multiple pad connections

What could be causing this?


Solution 1:

This error could result when running pld_men2edif, when there are special ports such as TDO, MD0, MD1, TDI, etc used in the schematic for user I/O after configuration, and a symbol was created for a Board Level Simulation where the symbol has a pin on it the same name as the signal name going to the special PORT pad (ie. TDO).

It is easily understandable why users would want to have the signal going to the TDO pin for user I/O to goto the symbol pin, for Board Level Simulation. The problem arises because the TDO pad is special, as well as MD0, MD1, etc. Normally for IPAD's and OPAD's when pld_men2edif is run, the PAD's are not written into the EDIF netlist, as it is not required. Running pld_men2edif will translate the signal going to the PAD, to a 'port' in the netlist so that the Xilinx tools will be able to determine if this goes to an iopin or not. For special pins like TDO the specific pad must be written into the netlist in order for the Xilinx tools to be able to realize that this particular signal going to the TDO in the schematic must only goto the TDO pin on the package.

When a symbol resides under the top level schematic EDDM in which this symbol
does contain a pin for the signal going to the TDO pad, pld_men2edif will create a netlist that has essentially two ports driving a single buffer. One going to a 'port' in the netlist, and the other going to the TDO pad in the same netlist.

You may be asking, "Why does pld_men2edif complete without errors for my top level schematic that only has IPAD's and OPAD's?", even though I do have a symbol created for a Board Level Simulation with these signals going to pins. The reason this works is there is a property called CLASS=P on IPAD's and OPAD's, which causes
pld_men2edif to not write the IPAD and OPAD elements into the resulting EDIF netlist, and to write 'port' statements for them instead. The CLASS=P property also makes the signal hierarchial, which is why the symbol for the top level schematic can contain pins for the signals going to all the IPAD's and OPAD's. Due to the nature of the property the CLASS=P property can not be used on special pins such as TDO, as this will
results in a multiple drivers error.

NOTE: This will not be a problem for a Baord Level Timing Simulation, and only
        arises for a Board Level pre-M1 Functional Simulation.



Solution 2:

There are a few way to workround this problem invovling a little work from the
user, and he/she must be careful to keep things in sync.

1) maintain two seperate designs, one for implmentation, and one for functional board level sim. Within 1) there are two ways to do this a) add a portout to the existing schematic in parallel with the TDO b) add an OPAD in parallel to the TDO. Making sure in both ot the above the symbol for the board schematic exists only in the functional sim design. The Board Level schematic viewpoint can then point to the 'copy' of the design. Any design changes will have to be updated in the 'copy' though.

2) Create a symbol in the functional board level sim directory, that represents the chip. Then create a new empty sheet under this and copy and paste only the top level sheet of the chip design, and paste this into the new empty sheet. Now THIS schematic will have to be modified as in 1), but will leave the original design untouched for implmentation. Any design changes in the original top level schematic will have to be updated in the Board Level Simulation top level schematic too.





End of Record #5713 - Last Modified: 02/22/99 17:08

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