2

マシンで WebPack を再び起動して実行し、単純なデザインを合成して FPGA にアップロードした後、理解にかなりの問題が発生しました。

ユーザー制約ファイルに次のような行がある場合:

NET "W1A<0>" LOC = "P18" ;

合成ソフトウェアは、VHDL コードによってこのピンがどのように割り当てられるかを正確にどのように判断しますか?

たとえば、提供された次のコード例を見てください。

entity Webpack_Quickstart is
Port (
W1A : out  STD_LOGIC_VECTOR(15 downto 0);
rx : in STD_LOGIC;
tx : inout STD_LOGIC;
clk : in STD_LOGIC
);
end Webpack_Quickstart;

architecture Behavioral of Webpack_Quickstart is
signal counter : STD_LOGIC_VECTOR(47 downto 0) := (others => '0');
begin
    W1A(0) <= '1';
end;

このコードはどのように正確WIA0に FPGA のピンをオンにしますか? リンクは何ですか?エンティティ宣言のポートの名前だけですか?さらに魔法が関係していますか?

4

1 に答える 1

2

制約.ucfは実装フェーズで適用されます。この時点で、デザインが合成され、使用可能なトップレベルのネットが「既知」になります。そうです、それは同じ名前のネットを同じ名前の制約に一致させることだけの問題です。

構文は少し異なりますが(たとえば、ベクトルのインデックス付け<>の代わりに使用())、それ以外の場合は単純な文字列の一致です。

特に大規模なデザインの場合、ピン制約を最初に構成する最も簡単な方法は、グラフィカルツールの1つ(WebPackに含まれている場合はPlanAhead)を使用してピンを割り当て、初期.ucfファイルを生成することです。ただし、後で小さな変更を加えるのは、標準のISEテキストエディタを直接使用して手動で行うのが最も簡単です。

于 2012-04-22T09:14:10.303 に答える