FPGAの初心者プロジェクト?


11

最初の大学のデジタルロジックデザインコースを修了して2週間です。最終的なプロジェクトはなく、退屈な期末試験です。

それで、好奇心旺盛な学生がするように、私は実際にFPGAが何であるか、そしてクラスでスプーンで供給されていたものを調べました。そして、簡単なFPGAプロジェクトを完成させることにしました。私はBasys2 Spartan-3E FPGAを使用しており、デジタルロジックとISEを使用してロジックゲートを押し広げていますが、VHDL / Verilogはわかりません(簡単にピックアップできると思います)。

初心者のためのプロジェクトのアイデアはありますか?私は多くの実験室でのデモンストレーションを行いましたが、それほど凝ったものはありません。


ほしいものリスト:1080pビデオディスプレイ、...そこに止まると言うのは:-)
ラッセルマクマホン

1
fpga4fun.comサイトを確認してください。
armf 2011

3
fpga4fun.com dev-boardsに注意してください。彼らのドキュメントはがらくたで、開発ボードの回路図のリリースを拒否しています。
コナーウルフ

回答:


5

Pong Chuの「Verilogの例によるFPGAのプロトタイピング:ザイリンクスSpartan-3バージョン」は非常に役立つ本であることがわかりました。これは、言及したものとは異なるSpartan-3ボード用ですが、それでも役立つはずです。

あなたがそのルートに行きたいならVHDL版もあります


4

あなたはそれの外観によってそれにVGAを持っています。ビデオは常に私の経験に興味を起こさせます:)

ここにあなたが試したいかもしれない計画があります(フレームバッファは必要ありません):

  1. 純粋な色のVGA画面を表示する
  2. 黒から無地への水平方向のフェードを表示する
  3. 黒から赤に垂直に、黒から緑に水平にフェードします3a。(リアルタイムでレンダリングできる、より興味深いアルゴリズムで指定された背景を作成します)
  4. 任意の場所に小さな任意の形状をオーバーレイする単純なスプライトエンジンを作成します-スプライトデータに1 BRAMを使用できます
  5. いくつかの異なるスプライトを表示する(それぞれ1 BRAM)
  6. いくつかの更新ロジックを作成して、スプライトをバウンドさせます(相互にバウンスさせます)-スプライトロジックに衝突検出を追加します。
  7. スイッチで制御できる「パドル」スプライトを作成し、それを使用してスプライトが画面から消えるのを停止します
  8. スコアリングメカニズムを追加する

250Eにすべて収まると思います。(VGAクロックはFPGA用語で遅いため、DCMで4〜8倍にすることができます。これにより、1つのスプライトエンジンが複数のスプライトインスタンスを多重化できるようになります)


3

ハムスターによって書かれたこの無料のオンラインコース素晴らしくBasys 2Nexys 2を念頭に置いて書かれています。

私は個人的にBasys 2を使用し、このコースを学ぶことでたくさんのことを学びました。Basysボードのすべての側面と、コースを超えてほとんどのプロジェクトを達成するための多くの概念について説明します。


2

他のすべてと同様に、hello worldプロジェクト(この場合はLEDを点滅)から始めて、楽しみのためにその周期を可変にします。

そのためには、Verilog / VHDLでカウンターを構築する方法を学ぶ必要があります。次の方法を学習するので、HDLの複雑さを学習するための良いスタートです。

  1. ハードウェア操作の推測-ゲートレベルのコードの代わりにRTLコードを使用します。RTLコードを使用してプリロード可能でリセット可能なアップ/ダウンカウンターを設計する方法を学習します。
  2. 同期設計の方法を学びましょう。これは、ほとんどのFPGAがとにかく良いことであり、ほとんどすべてのデジタルシステム設計の基本です。
  3. FPGAのI / Oを使用して、外界とのインターフェース方法を学びます。これにより、FPGAで構成および実装する方法がわかります。

それが終わったら、opencoresにアクセスして、より大きなプロジェクトでハッキングを始めます。あなたは本当にあなたを含め、ここで私たちのメンバーの何人かによる他のたくさんの楽しいプロジェクトを見つけるでしょう。:)


1

マーティンはあなたにVGA機能があることを提案しています。

一般的に入手可能なものよりも写真をよりよく制御できるまともな「フォトフレーム」はどうですか。

  • ほとんどはサブディレクトリをうまく処理しません。

  • どれもランダムな表示順序を許可しない-大量の写真がある場合、これは非常に大きな利点です。

  • 選択した写真に基づいてスライドショーを作成する機能はボーナスです。(例については、Irfanviewを参照してください)。

  • 追加ポイント-MP3再生機能を追加します。音楽と写真をインターリーブします。

  • SDフラッシュデータストア。

  • USB?

  • 802.11?(希望しすぎる。)



0

Hamblen et alの本には、アルテラのCyclone DE1およびDE2ボードに関する興味深いプロジェクトが満載です。VHDLコードが提供されます。それらのいくつかをSpartan-3Eボードに実装します。


0

最初に行うことの1つは、(ベンダーまたはマニアサイトから)ダウンロードして、入力を出力にフックするスケルトンプロジェクトを構築することです。これは、経験を積むまで、作業に非常にイライラすることがあります。

その後、ロジックを間に配置し始めることができます-クラスでのように不自然な例のステートマシン、または他の人が推奨しているビデオジェネレーターなどのより複雑なもの。シンプルなDIYプロセッサなどのより複雑なブロック...


0

VHDLコースを受講したとき、いくつかの命令、メモリ通信、マイクロ命令シーケンサーを備えたALUを備えたマイクロプロセッサを作りました。特に堅牢にする場合は、思ったよりも時間がかかります。


同上(それは講師のお気に入りでなければなりません)。意外といいチャレンジでしたし、実際のプロセッサーの仕組みを考えさせられました。
Al Bennett、
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.