1

Spartan 6 fpga に配置される VHDL のプロジェクトに取り組んでいます。コードは準備ができていますが、それを fpga に取り込む方法がわかりません。

別のプロジェクトにアクセスできましたが、このプロジェクトには Microblaze プロセッサ (.xmp) ファイルと、すべての「NET」インターフェイスを定義する UCF ファイルが含まれていることに気付きました。

最終的には、FPGA とアドオン ボード コネクタを使用してハードウェアと通信する予定ですが、すべてを FPGA に移動する必要があります。

いくつかのリソースとチュートリアル、特に microblaze プロセッサを私のプロジェクトに組み込む方法 (必要な場合) は素晴らしいでしょう。

ありがとう

更新: プロジェクトのシミュレーションを開始しましたが、エラーが発生しました。

214 行目: ステートメントは NOT (クロック エッジ) 条件で値を保持しないため、合成できません。

これは、私のプロジェクト ファイルの 1 つである ana if ステートメントで取得します。

if rising_edge(clk) then
-- other if statements that assign output values
end if

コードを変更してみましたが、変更すると機能しなくなります。

エラーが正確に何を意味するのかわかりません。

4

2 に答える 2

1

新しいVHDL開発者向けの最高のチュートリアルの1つは、MikeFieldによる短いチュートリアル「IntrotoSpartan 3E FPGA and VHDL」です。PDFとすべてのソースコードを彼のGitHubアカウントからダウンロードするか、彼の本の章を参照してください。ウェブサイト

FPGAの単純なHelloWorldに相当するものから、DCMの使用とVGA信号の生成に数時間で移行できます。

マイクは本の中でPapilioOneボードとDigilentBasys2ボードの両方を使用していますが、使用しているボードに例を簡単に適合させることができます。それに応じてUCFファイルを調整する必要があります。彼がSpartan-3を使用していて、あなたがSpartan-6を使用しているという事実は、何の違いもありません。

UCF(User Constraints File)は、FPGAに外部への接続を通知するファイルです。ボードごとにピンのセットが異なるため、UCFは特定のハードウェアに大きく依存します。おそらく人気のあるメーカーの1つが提供するボードを使用しているので、特定のハードウェアのドキュメントを確認する必要があります。

特定のボードの元のUCFファイルを見つけたら、使用していないすべての行を削除することをお勧めします(つまり、vhdlコード内の何にも接続されていないすべてのノード)。そうしないと、コンパイラーが警告またはエラーを発生させます。

これはあなたが始めるのに十分なはずです。

ps:MicroBlazeを使用する特別な理由がない場合は、今のところ無視しても問題ありません。

于 2013-03-22T16:33:41.967 に答える