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

FPGA/Design Compiler: Pullup/Pulldown Resistors are Deleted From Synopsys Design


Keywords: FPGA Compiler, Synopsys, pullup, pulldown

Urgency: Standard

General Description:
Instantiated pullup/pulldown resistors may be deleted from your
design during the compile process in FPGA Compiler versions V3.4b
and earlier. This is a known Synopsys problem that will not be fixed in
a future release of Synopsys FPGA Compiler I.

This issue does not apply to FPGA Express or FPGA Compiler II.


To solve this problem, do not instantiate pullup/pulldown resistors for I/O
applications. Instead, use the set_pad_type -pullup|-pulldown port_name
command to achieve the same result.

For internal applications (such as wired-AND or mux functions built using
wide edge-decoders or tristate buffers), use the following commands to
re-insert the pullup/pulldown once it has been removed by the compile
process. When targeting XC4000E/EX devices, execute the replace_fpga
command as usual and then use the following commands:

create_cell an_instance_name_of_your_own_creation
connect_net find(net, target_net_name) find(pin,

create_cell pullup1 xgen_4000e/PULLUP
connect_net find(net, SIGNAL_C) find(pin, pullup1/O)
create_cell pullup2 xgen_4000ex/PULLUP
connect_net find(net, SIGNAL_B) find(pin, pullup2/O)
create_cell pulldown1 xgen_4000ex/PULLDOWN
connect_net find(net, SIGNAL_A) find(pin, pulldown1/O)
AR# 1757
Date 10/01/2008
Status Archive
Type General Article