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

FGPA Express - FPGA IOB でプルアップまたはプルダウンを使用/インスタンシエートする方法

説明

キーワード : pull, up, down, pullup, pulldown, instantiate, FPGA Express, Foundation Express, IOB, Virtex, プルアップ, プルダウン, インスタンシエート

重要度 : 標準

概要 :
FPGA IOB でプルアップまたはプルダウンを使用/インスタンシエートする方法について

ソリューション

1

プルアップまたはプルダウンは、デザインをインプリメントした後に指定できます。 ポート専用のプルアップまたはプルダウンは、Constraints GUI で指定できます。

1. FPGA Express でデザインをインプリメント後、そのデザインをプロジェクト ウィンドウで右クリックし、[Edit Constraints] を選択し、Constraints ウィンドウを開きます。

2. [Ports] に、そのデザインに対する外部ピンがすべてリストされます。 このダイアログ ボックスで、該当するピンの [Resistance] という列を選択します。 次に、使用する抵抗の種類を選択します。[PULLUP] または [PULLDOWN] を選択します。

3. [Constraints] ウィンドウを閉じ、インプリメンテーションを最適化します。

メモ : Virtex デバイス用のプルアップ、プルダウン、およびキーパは、FPGA Express の Constraints Editor ではまだサポートされていません。 この問題を回避するには、次のソリューションに記述してあるように HDL でこれらのコンポーネントをインスタンシエートします。 抵抗コンポーネントがポートに適用される場合は、I/O コンポーネント (OBUFT、OFD など) をインスタンシエートする必要があります。

2

プルアップまたはプルダウンは、HDL コードでもインスタンシエートできます。 内部ロジックでインスタンシエートできるのはプルアップで、外部ピン用のインスタンシエートは、プルアップまたはプルダウンのどちらでもできます。

VHDL の例 (IBUF および AND ファンクションを使用した例) :

library IEEE;
use IEEE.STD_LOGIC_1164.ALL;
use IEEE.STD_LOGIC_ARITH.ALL;
use IEEE.STD_LOGIC_UNSIGNED.ALL;

entity pullup_test is
Port ( a : in std_logic;
b : in std_logic;
c : out std_logic);
end pullup_test;

architecture Behavioral of pullup_test is

component PULLUP
port (
O : out std_logic);
end component;


component IBUF
port(
O : out STD_ULOGIC;
I : in STD_ULOGIC);
end component;

signal hello : STD_LOGIC;
signal middle : STD_LOGIC;


begin

U1: PULLUP port map (O => hello);
U2: IBUF port map (I => hello, O => middle);
U3: c <= (middle and b);
hello <= a;

end Behavioral;


Verilog の例 :

PULLUP U1 (.O(signal));

メモ :
- プルダウンは、外部 I/O とのみ使用できます。
- プルアップは、外部 I/O または、トライステートなどの (BUFT、BUFE) 内部ロジックとオープン ドレイン (DECODE、WAND、WORAND) エレメントと使用できます。 プルアップが有効に使用できない場合にインスタンシエートされると、FPGA Express では XNF ファイルにそのインスタンシエーションが記述されません。
- プルアップは、XC9500 デザインには不要です (使用できません)。

3

プルアップを使って入力ポートを直接駆動できない点に注意してください。 つまり、入力ポートにプルアップを設定する必要がある場合、その入力ポートで駆動される一時的な信号を作成し、プルアップ ポート マップでその信号を使用する必要があります。

VHDL の例
Input A にプルアップを接続する:

Entity test is
port (A : in std_logic;
B : out std_logic);
end test;

architecture RTL of Test is

component PULLUP
port (O : out STD_LOGIC);
end component;

signal temp : std_logic;

begin

temp <= A;

U1: PULLUP port map (O => temp);
AR# 1481
作成日 08/31/2007
最終更新日 04/11/2012
ステータス アーカイブ
タイプ 一般