AR# 13206: 7.1i XST - "ERROR:NgdBuild:455 - logical net 'N17' has multiple drivers/ERROR:NgdBuild:466 - input pad net 'N17' has illegal connection"
7.1i XST - "ERROR:NgdBuild:455 - logical net 'N17' has multiple drivers/ERROR:NgdBuild:466 - input pad net 'N17' has illegal connection"
Keywords: port, signal, connected, unconnected, open
General Description: If signals or ports are left unconnected in my design, NGDBuild issues the following errors:
"ERROR:NgdBuild:455 - logical net "N17" has multiple drivers." "ERROR:NgdBuild:466 - input pad net "N17" has illegal connection."
XST responds as follows to unconnected or unused signals and ports:
A signal is driven, but is never driving: XST removes the signal and the associated logic. Any ports that were connected to the signal are now unconnected ports. In this case, XST ignores a KEEP attribute on the unused signal.
A signal is assigning (or driving), but is never driven: XST grounds the signal so that the signal is driven by a logic "0".
Ports are left unconnected in the top-level file: - XST keeps the input ports; however, nothing is connected to the input ports. - XST grounds unconnected output and in-out ports.
Ports are left unconnected in a sub-block: - XST recognizes the "open" keyword in the component instantiation in VHDL if a default value is assigned to that input port in the component declaration. - XST grounds any input ports that are not in the component declaration. - XST removes a sub-block if not all of the output ports are connected.
NGDBuild also reports these errors if an instantiated IBUF's input port is left unconnected.
To avoid this problem, either connect the input to the IBUF to a valid port, or remove the IBUF instantiation.
If the RXN and RXP ports on the gigabit transceiver (GT) are unconnected in your design, NGDBuild reports the above errors. These two ports are the primary communication ports in the GT component. If you do not use these ports, the GT component becomes unusable and should be removed from your design.
If multiple IBUF (and OBUF) type components are connected in series, NGDBuild reports the errors as listed above. Examples of IBUF-type components that should not be connected together include the following:
IBUFx IFDDRx BUFGP
The error "ERROR:NgdBuild:466 - input pad net "N17" has illegal connection" can also occur if a port is described as a bidirectional port but the bidirectional description is not on the top level of the design but on a lower level. XST currently cannot move this bidirectional port to the top level when "keep hierarchy" is on (it is off by default). To work around this problem, you can either move the bidirectional description to the top level or turn off "keep hierarchy":
ISE: 1. Right-click the "Synthesize" process and select "Properties". 2. Select "Synthesis Options". 3. Deselect "Keep Hierarchy".
To help in debugging multi-source, use the XST hierarchical separator '/' instead of the default '_' as follows: 1. Enable the Advance process view by selecting Edit -> Preferences. 2. Select the Processes tab and select Advanced in the Property Display Level field. 3. Select OK. 4. Enable the '/' hierarchy separator as follows: a) Right-click the Synthesize - XST process. b) Select Properties. c) Select the Synthesis Options tab. d) Select the '/' in the Hierarchy Separator field.
Now the '/' will be used to traverse the design hierarchy instead of '_', which will minimize confusion caused by using '_' in signal names.