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

FPGA/Design Compiler - How do I pass the IOSTANDARD constraint for Virtex designs?

Description

Keywords: template, script, Synopsys

In the $XILINX/synopsys/examples, the template.synopsys_dc.setup_virtex does not include the option for passing through the IOSTANDARD constraint.

How do I specify special Virtex I/O standards on my ports?

解决方案

1

One option is to specify these standards in the synthesis compilation script. After running "set_port_is_pad", use this syntax to specify an I/O standard:

set_pad_type -exact <buffer_type>_<standard> {<port_list>}

where <buffer_type> represents the type of buffer to be inserted, <standard> represents an I/O standard, and <port_list> represents the ports to receive this standard. For example:

set_pad_type -exact IBUF_GTL {DIN}

2

The IOSTANDARD attribute can always be applied via the UCF file. Using the UCF overrides attributes that have been placed in the netlist (this does not affect the Synopsys flow). The UCF syntax is as follows:

NET <port_name> IOSTANDARD = <standard>;

For example:

NET DIN IOSTANDARD = GTS ;

3

The I/O standards can be instantiated in your HDL code along with the I/O buffers. The names of these components follow the <buffer_type>_<standard> convention, such as IBUF_GTL.

When these buffers are instantiated, they must not be included during the set_port_is_pad command. Consequently, when calling set_port_is_pad, either list only the ports that do not have buffers inserted:

set_port_is_pad {CLK, RST, DOUT}

or, set this attribute on all ports, and then remove it for those ports that have instantiated I/O buffers:

set_port_is_pad "*"
remove_attribute {DIN} port_is_pad
AR# 8254
创建日期 12/10/1999
Last Updated 06/05/2006
状态 Archive
Type 综合文章