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

FPGA Express 3.x - KEEP 属性を使用した内部ネット名の維持

説明

キーワード : preserve, CPLD, net, signal, internal, KEEP, attribute, 維持, ネット, 信号, 内部, 属性

重要度 : 標準

概要 : HDL で信号名/ワイヤ名を維持し、インプリメンテーション ツールでネットに制約を追加する方法について

ソリューション

FPGA Express を使用してネットを維持するには、ネットの真ん中で BUF プリミティブをインスタンシエートし、BUF に FPGA Express Constraints Editor で dont_touch 属性を設定します。次に、BUF に入力されるネットおよび BUF から出力されるネットに KEEP 制約を設定します。

ISE を使用した dont_touch 属性の設定方法 :

1. Project Navigator のプロセス ウィンドウで [Synthesize] を展開します。 2. [Synthesize] の階層の下にある [Create Functional Structure] を展開します。 3. [Edit Constraints] をダブルクリックします。 4. FPGA Express Constraints Editor ウィンドウで [Modules] タブをクリックします。 5. インスタンシエートした BUF を選択し、[Dont Touch] の列で [True] を選択します。 6. [OK] をクリックします。

メモ : FPGA Express をスタンドアロンで使用する場合、[Create Implementation] ダイアログ ボックスの [Skip constraint entry] チェック ボックスをオフにします。 上記の手順 4 〜 6 に従います。

ISE を使用した KEEP 制約の設定方法 :

1. Project Navigator を起動し、[ファイル] → [開く] をクリックします。 2. ファイル project_name.ucf を選択します。 3. 次の 2 つの制約を入力します。

NET buf_input_net_name KEEP; NET buf_output_net_name KEEP;

BUF プリミティブをインスタンシエートする VHDL コード :

library ieee; use ieee.std_logic_1164.all;

entity ff is port (a : in std_logic; b : in std_logic; clk : in std_logic; q : out std_logic); end entity;

architecture ff_arch of ff is

signal d, d_int : std_logic;

component BUF is port (I : in std_logic; O : out std_logic); end component;

begin

process (clk) is begin

d <= a AND b;

if clk'event and clk = '1' then q <= d_int; end if; end process;

u0 : BUF port map (d, d_int);

end architecture;

Verilog code for instantiating a BUF primitive:

module ff (a, b, clk, q);

input a, b, clk; output q;

wire d, d_int; reg q;

assign d = a & b;

always @(posedge clk) q <= d_int;

BUF u0 (.I(d), .O(d_int));

endmodule
AR# 9780
作成日 08/31/2007
最終更新日 08/02/2010
ステータス アーカイブ
タイプ 一般