これがこれを投稿するのに適切なスタック交換 Web サイトかどうかはわかりませんが、そうでない場合は、適切な Web サイトに移動してください。
Spartan 3 スターター キットの制約ファイルを作成する際に小さな問題に直面しています。
ザイリンクス (製造元) から提供されたドキュメントを読み、数週間オンラインで検索しましたが、うまくいきませんでした。
私がやろうとしているのは、ネットリスト インターフェイスをボード上の 3 つの 40 ピン ヘッダーのいずれかにリンクすることです。(下の画像を参照)
通常、ボード上のボタンまたは LED をインターフェースしたい場合、ボード上の接続名を読み取るだけです。たとえば、ボタンの 1 つがM13であり、UCF ファイルに次のように書き込みます。
NET "BTN0" LOC = "M13";
画像でわかるように、ヘッダーはボード上で A1、A2、および B1 という名前になっていますが、奇妙なことに、次のいずれも機能しませんでした。
NET "TestOutputLine" LOC = "A1(0)"; -- The (0) is to reference a single line on an array
NET "TestOutputBus" LOC = "A1"; -- The bus is of equal dimension of A1 (which is 40)
私が得たエラーは、ターゲット (LOC で指定) が存在しないか、割り当てが無効であることを意味していました。
アイデアをいただければ幸いです。前もって感謝します
編集: ISEからの出力は次のとおりです。
ConstraintSystem:59 - Constraint <NET "TestOutputBus" LOC = "A1";>
[circuit.ucf(12)]: NET "TestOutputBus" not found. Please verify that:
1. The specified design element actually exists in the original design.
しかし、TestOutputBus が存在することは確かです。実際のところ、現在私の設計には他に何もなく、正しい最上位ユニットが使用されています。
EDIT2: UCF ファイルを更新しました。現在は次のようになっています。
NET "TestOutputBus(0)" LOC = "A1(0)";
NET "TestOutputBus(1)" LOC = "A1(1)";
しかし、マッピングで別のエラーが発生しました:
MapLib:30 - LOC constraint A1:0 on TestOutputBus<0> is invalid: No such
site on the device. To bypass this error set the environment variable
'XIL_MAP_LOCWARN'.
MapLib:30 - LOC constraint A1:1 on TestOutputBus<1> is invalid: No such
site on the device. To bypass this error set the environment variable
'XIL_MAP_LOCWARN'.
解決 :
ピン 5 と 6 をそれぞれ TestOutputBus(0) と TestOutputBus(1) にマップするには、次のようにします。
NET "TestOutputBus(0)" LOC = "N7"; -- A1 pin 5
NET "TestOutputBus(1)" LOC = "L5"; -- A1 pin 6
ピン 0 はマッピング可能ではないことに注意してください。そのため、ピン 5 と 6 を使用しました。すべてのヘッダーとその LOC のマッピング可能なピンを示す表を次に示します。