2012-01-01 7 views
1

これは、これを投稿するための正しいスタック交換のWebサイトであるかどうかはわかりませんが、適切でない場合は適切なものに移動してください。Spartan 3スターターキットの制約ファイル

私は、スパルタン3スターターキット用の制約ファイルを作成する際に小さな問題に直面しています。

私は、ザイリンクス(製造元)が提供するドキュメントを読んでおり、幸運にも数週間オンラインで検索しています。

私がしようとしているのは、ボード上の3つの40ピンヘッダーのいずれかにNetlistインターフェイスをリンクすることです。私はボード上のLEDボタンまたはインタフェースにしたいと言うならば、たとえば、私はちょうどボード上の接続名を読んで、通常その非常にシンプルなボタンのいずれかを

enter image description here

を(下の画像を参照してください) M13がなく、UCFファイルにこのような何かを書く:

NET "BTN0"  LOC = "M13"; 

あなたがイメージに見ることができるようにヘッダが奇妙なボード上のA1、A2とB1の名前が、されている、次のよう加工されたのはいずれも、 :

エラーは、ターゲット(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が存在することをかなり確信しています正しいトップレベルユニットが使用されています。

enter image description here

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'. 

解決策:

01 0 iが使用理由マッピング可能ではないthatsのあるピン

NET "TestOutputBus(0)" LOC = "N7"; -- A1 pin 5 
NET "TestOutputBus(1)" LOC = "L5"; -- A1 pin 6 

注TestOutputBus(0)とTestOutputBusにマッピングされたピン5と6は、(1)iを使用していた夫々ものを得るために

このましたピン5とピン6は、すべてのヘッダーとLOCのマッピング可能なピンを示す表です。

enter image description here enter image description here

enter image description here
+0

あなたが書いたものは有効です: 'NET "TestOutputBus" LOC = "A1"; 'エラーメッセージを詳細に表示するには、ISEの出力を投稿してください。 –

+0

詳細を私の質問に更新したことを確認していただきありがとうございます –

+1

回路図では、TestOutputBus(39:2)に出力を割り当てていないようです。そのような場合は、問題を引き起こす可能性があります。あるいは、UCFファイル内の40個のTestOutputBusネットすべてに対してLOC制約を指定していない可能性があります。 –

答えて

2

結局のところ、FPGAの各ヘッダの各使用可能なピンのアドレスがあります。

データシート(http://forums.xilinx.com/xlnx/attachments/xlnx/Spartan/3411/1/S3BOARD_RM.pdf)は役立ちました特にページ49から51

2

私は私の以前からこれをコピーあなたの質問にコメントして、コメントだけでなく実際の答えになります。

トップレベルモジュールのすべてのポートについて、UCFファイルにLOC制約が設定されている必要があります。したがって、トップレベルの入力または出力として40ビット幅のバスを使用している場合は、UCFファイルに40の別々のLOC制約を設定して、最上位レベルの回路図の論理バスが実際にマップされるようにする必要がありますあなたのFPGAの正しいピン。 2本のピンしか使用しない場合は、バスを2ビット幅に宣言し、2つのLOC制約を使用することができます。 FPGAは未使用のピンをすべて入力として処理し、無視します。

+2

Bitgenはデフォルトで未使用のピンにプルダウンを行います(タイプ 'bitgen -help ' - "UnusedPin"という行の最初のオプションです)) - 'プルーネン'をトライステート化するように要求する必要があります。 –

0

私は一度元のConstraintSystemを取得しました。誤って自分のモジュールの1つをトップモジュールとして選択した場合、59 net xyzが見つかりませんでした。 UCFで宣言されたピンは、間違ったモジュールのポート宣言に見つかりませんでした。

また、私はいくつかのピンがUCFで宣言されているが、トップモジュールのポート宣言でそれを宣言しています。