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

4.2i ECS - XC4000 のモード ピンとその他のコンフィギュレーション ピンへのアクセス

説明

キーワード : mode, pin, ECS, MD0, MD1, MD2, M0, M1, M2, TDO, TDO, TCK, TMS, special, function, configuration, 4000, 4K, XC4000E, XC4000L, XC4000XL, pad, I/O, IO, input, output, dedicated, モード, ピン, 特別, ファンクション, コンフィギュレーション, パッド, 入力, 出力, 専用

重要度 : 標準

概要 :
コンフィギュレーションが終了した後に、多くのコンフィギュレーション ピン (MD0、MD1、MD2、TDO、TDI、TMS を含む) がデザイン入力または出力として使用されることがあります (使用方法の詳細については、ライブラリ ガイドを参照してください)。

4.2i ECS の標準のユーザー モードでは、コンフィギュレーション ピンを使用可能にする PAD コンポーネントが存在しません。 この特別な PAD コンポーネントが ECS で使用できないので、通常の操作中にこれらのピンをユーザー I/O としてコンフィギュレーションできますか。

ソリューション

1

ECS にこの特別なピンを使用するオプションはありません。 ただし、このファンクションは VHF や VF などの HDL ファイルを編集すると、追加できます。

- まず、この特別なピンを使用する回路図のネットに適切な IBUF または OBUF を配置します。

- Project Navigator のプロセス ウィンドウで [Design Entry Utilities] の下の [View VHDL Functional Model] または [View Verilog Functional Model] をクリックして、中間の HDL ファイルを作成し、表示します。 ファイルを編集するには、[ファイル] → [開く] をクリックしてください。

- このファイルで次の 2 点を変更します。

1. 該当するポートを信号 (ワイヤ) に変更します。
2. 該当する PAD コンポーネントを追加します。

次の 2 つのソリューションは、単純なデザインの HDL 例の編集前後を表しています。

- ファイルを編集してから、プロセス ウィンドウで [Synthesis] をクリックします。 回路図が変更されない限り、この中間 HDL ファイルは上書きされません。

メモ : 信号を特定のファンクション ピンに割り当てるためにロケーション制約を使用できません。

2

次の例では、M0、M1、M2 ピンを使用するために、2 入力 1 出力の単純な ECS デザインを VHDL モデルで編集しています。

編集前 :
-- VHDL model created from schematic md120.sch - Wed Sep 04 16:57:57 2002

LIBRARY ieee;
LIBRARY UNISIM;
USE ieee.std_logic_1164.ALL;
USE ieee.numeric_std.ALL;
USE UNISIM.Vcomponents.ALL;

ENTITY md120 IS
PORT ( in1 : IN STD_LOGIC;
in2 : IN STD_LOGIC;
in3 : IN STD_LOGIC;
out1 : OUT STD_LOGIC;
out2 : OUT STD_LOGIC);

end md120;

ARCHITECTURE SCHEMATIC OF md120 IS
SIGNAL a : STD_LOGIC;
SIGNAL b : STD_LOGIC;
SIGNAL c : STD_LOGIC;

ATTRIBUTE fpga_dont_touch : STRING ;
ATTRIBUTE fpga_dont_touch OF XLXI_9 : LABEL IS "true";
ATTRIBUTE fpga_dont_touch OF XLXI_5 : LABEL IS "true";
ATTRIBUTE fpga_dont_touch OF XLXI_6 : LABEL IS "true";
ATTRIBUTE fpga_dont_touch OF XLXI_7 : LABEL IS "true";
ATTRIBUTE fpga_dont_touch OF XLXI_8 : LABEL IS "true";

BEGIN
XLXI_9 : AND2 PORT MAP (I0=>b, I1=>a, O=>c);
XLXI_5 : BUF PORT MAP (I=>in3, O=>out2);
XLXI_6 : IBUF PORT MAP (I=>in1, O=>a);
XLXI_7 : IBUF PORT MAP (I=>in2, O=>b);
XLXI_8 : OBUF PORT MAP (I=>c, O=>out1);
END SCHEMATIC;


編集後 :
-- VHDL model created from schematic md120.sch - Wed Sep 04 16:57:57 2002 with minor edit of mode pins

LIBRARY ieee;
LIBRARY UNISIM;
USE ieee.std_logic_1164.ALL;
USE ieee.numeric_std.ALL;
USE UNISIM.Vcomponents.ALL;

ENTITY md120 IS
PORT ( in3 : IN STD_LOGIC;
out2 : OUT STD_LOGIC);
end md120;

ARCHITECTURE SCHEMATIC OF md120 IS
SIGNAL a : STD_LOGIC;
SIGNAL b : STD_LOGIC;
SIGNAL c : STD_LOGIC;
SIGNAL in1 : STD_LOGIC;
SIGNAL in2 : STD_LOGIC;
SIGNAL out1 : STD_LOGIC;

ATTRIBUTE fpga_dont_touch : STRING ;
ATTRIBUTE fpga_dont_touch OF XLXI_9 : LABEL IS "true";
ATTRIBUTE fpga_dont_touch OF XLXI_5 : LABEL IS "true";
ATTRIBUTE fpga_dont_touch OF XLXI_6 : LABEL IS "true";
ATTRIBUTE fpga_dont_touch OF XLXI_7 : LABEL IS "true";
ATTRIBUTE fpga_dont_touch OF XLXI_8 : LABEL IS "true";

BEGIN
XLXI_9 : AND2 PORT MAP (I0=>b, I1=>a, O=>c);
XLXI_5 : BUF PORT MAP (I=>in3, O=>out2);
XLXI_6 : IBUF PORT MAP (I=>in1, O=>a);
XLXI_7 : IBUF PORT MAP (I=>in2, O=>b);
XLXI_8 : OBUF PORT MAP (I=>c, O=>out1);

U1: MD0 port map ( I => in1);
U3: MD2 port map ( I => in2 );
U5: MD1 port map ( O => out1);

END SCHEMATIC;

3

次の例では、M0、M1、M2 ピンを使用するために、2 入力 1 出力の単純な ECS デザインを Verilog モデルで編集しています。

編集前 :
// Verilog model created from schematic md120.sch - Thu Sep 05 09:53:09 2002

`timescale 1ns / 1ps

module md120(in1, in2, in3, out1, out2);

input in1;
input in2;
input in3;
output out1;
output out2;

wire a;
wire b;
wire c;

AND2 XLXI_9 (.I0(b), .I1(a), .O(c));
/* synopsys attribute fpga_dont_touch "true"*/
BUF XLXI_5 (.I(in3), .O(out2));
/* synopsys attribute fpga_dont_touch "true"*/
IBUF XLXI_6 (.I(in1), .O(a));
/* synopsys attribute fpga_dont_touch "true"*/
IBUF XLXI_7 (.I(in2), .O(b));
/* synopsys attribute fpga_dont_touch "true"*/
OBUF XLXI_8 (.I(c), .O(out1));
/* synopsys attribute fpga_dont_touch "true"*/
endmodule


編集後 :
// Verilog model created from schematic md120.sch - Thu Sep 05 09:53:09 2002 with minor edit of mode pins

`timescale 1ns / 1ps

module md120(in3, out2);

input in3;
output out2;

wire a;
wire b;
wire c;
wire in1;
wire in2;
wire out1;

AND2 XLXI_9 (.I0(b), .I1(a), .O(c));
/* synopsys attribute fpga_dont_touch "true"*/
BUF XLXI_5 (.I(in3), .O(out2));
/* synopsys attribute fpga_dont_touch "true"*/
IBUF XLXI_6 (.I(in1), .O(a));
/* synopsys attribute fpga_dont_touch "true"*/
IBUF XLXI_7 (.I(in2), .O(b));
/* synopsys attribute fpga_dont_touch "true"*/
OBUF XLXI_8 (.I(c), .O(out1));
/* synopsys attribute fpga_dont_touch "true"*/
MD0 U1 (.I(in1));
MD2 U2 (.I(in2));
MD1 U3 (.O(out1));

endmodule
AR# 15543
日付 08/12/2003
ステータス アーカイブ
種類 一般
このページをブックマークに追加