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
ステータス アーカイブ
種類 一般
People Also Viewed