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

FPGA Express - Attribute passing is available beginning with version 3.0

説明

Keywords: Foundation Express, FPGA Express, VHDL, Verilog, attribute, INIT, RAM, ROM, initialize

Urgency: Standard

General Description:
As of FPGA Express 3.0, attributes may be inserted in the HDL code to be passed on to the resulting netlist. These attributes can have any name or value, but they can only be applied to instantiated components or nets (not inferred logic or ports). Earlier versions of Express do not support any attribute passing.

The version of Foundation Express that is included with F1.5i Service Pack 1
(FPGA Express 3.1) supports attribute passing.

Use the syntax below to place an attribute in your HDL.

ソリューション

1

VHDL:

Place the following in the architecture before the "begin" keyword:

attribute <name> : string;
attribute <name> of <instance> : label is <value>;

The second attribute is applied to the instance name of an instantiation.
If applying an attribute to a signal instead of a component, replace "label" with "signal".

For example:

attribute LOC: string;
attribute LOC of CLOCKBUF: label is "BR";
...
CLOCKBUF:BUFG port map(I=>oscout,O=>clkint);

If multiple attributes need to be applied to the same component, simply
create two lines for each attribute:


attribute INIT_00: string;
attribute INIT_00 of MY_BLKRAM: label is "AAAAAAAAAAAAAAAA";
attribute INIT_09: string;
attribute INIT_09 of MY_BLKRAM: label is "9999998888888888";
...

MY_BLKRAM : RAMB4_S4 port map (
addr => ADDRTWO,
di => DINTWO,
clk => CLK,
we => WETWO,
en => ENTWO,
rst => RST,
do => DOUTTWO);

2

Verilog:

//synopsys attribute <name> <value>

This comment is placed immediately after the instantiated component

For example:

BUFG CLOCKB (.I(oscout), .O(clkint)); //synopsys attribute LOC "BR"

If multiple attributes need to be applied to the same component, use
multi-line comments, like so:


RAMB4_S4 U1 (.WE(w), .EN(en), .RST(r), .CLK(ck), .ADDR(ad), .DI(di), .DO(do));
/* synopsys attribute INIT_00 "AAAAAAAAAAAAAAAABBBBBBBBBBBBBBBB"
INIT_09 "99999988888888887777777776666666" */
AR# 4392
作成日 08/03/1998
最終更新日 08/11/2003
ステータス アーカイブ
タイプ 一般