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

SYNPLIFY - XC_LOC (Verilog/VHDL) を使って HDL で I/O ピンを固定する方法

説明

キーワード : Verilog, VHDL, Synplify, I/O pin, Synplicity, LOC, ピン, 固定

重要度 : 標準

概要 :
Synplicity の Synplyfy を使用して HDL で I/O ピンを固定する方法を教えてください。

ソリューション

1

メモ :
Synplify/Synplify Pro では、LOC 制約は NCF ファイルに書き込まれます。 ザイリンクスのインプリメンテーション プロジェクト ディレクトリにこの NCF ファイルを必ず含め、正しいアノテーションを行ってください。

メモ 2 : Synplify の XC_LOC は EDIF ネットリストに書き込まれます。 XC_LOC は Synplify 固有の制約であるため、インプリメンテーション ツールで無視されても問題はありません。

LOC/RLOC を使って CLB にインスタンシエートされたザイリンクス プリミティブの例に関しては (ザイリンクス アンサー #8055) を参照してください。

2

I/O ロケーションを HDL に割り当てる (VHDL コード)

library IEEE;
use IEEE.std_logic_1164.all;

entity iob_loc_ex is
port (CLK : in STD_LOGIC;
A, B : in STD_LOGIC_VECTOR (3 downto 0);
O : out STD_LOGIC_VECTOR (3 downto 0));

attribute xc_loc : string;
attribute xc_loc of CLK : signal is "P13";
attribute xc_loc of A : signal is "P19,P20,P23,P24";
attribute xc_loc of B : signal is "P25,P26,P27,P28";
attribute xc_loc of O : signal is "P48,P49,P50,P51";
end iob_loc_ex;

architecture xilinx of iob_loc_ex is

signal Q : STD_LOGIC_VECTOR (3 downto 0);

begin
U0: process (CLK)
begin
if (CLK'event and CLK='1') then
Q <= A;
end if;
end process;

-- Insert user's application here
O <= Q and B;

end xilinx;

3

I/O ロケーションを HDL に割り当てる (Verilor コード)

module iob_loc_ex (CLK, A, B, O);
input CLK /* synthesis xc_loc="P13" */;
input [3:0] A /* synthesis xc_loc="P19,P20,P23,P24" */;
input [3:0] B /* synthesis xc_loc="P25,P26,P27,P28" */;
output [3:0] O /* synthesis xc_loc="P48,P49,P50,P51" */;

reg [3:0] Q;

always @ (posedge CLK)
begin
Q <= A;
end

// token logic
assign O = Q & B;

endmodule

4

SDC
ベンダー固有の制約は SDC ファイルに渡されます。

define_attribute CLK xc_loc "P13"
define_attribute {A[3:0]} xc_loc "P19,P20,P23,P24"
define_attribute {B[3:0]} xc_loc "P25,P26,P27,P28"
define_attribute {O[3:0]} xc_loc "P48,P49,P50,P51"
AR# 2379
作成日 06/09/1997
最終更新日 04/24/2007
ステータス アーカイブ
タイプ 一般