回答:
私の「hello world」FPGAプロジェクトは、PWMおよびシリアルストリーム入力を備えたLEDアレイコントローラでした。最終結果は素晴らしかった(http://lbw.axe-man.org/led1.wmv)が、VHDLパーツがどのように記述されているかを確認するためにアルテラQuartus Schematic Editorでその一部を行ったことを認めます。
プログラミングに興味があるように思えるので、簡単なマイクロプロセッサを構築できます。
opencores.orgをチェックして、興味深いプロジェクトを見つけてください。Sigasi HDTをダウンロードすることもできます。これは、VHDL文法の速度を上げるのに役立ちます。
私はでハンスでの作業楽しんhardhackに今年Rekonstruktの FPGAの基本的synthisizerを構築するプロジェクト。LEDプロジェクトも優れていますが、FPGAをステレオに接続するようなものはありません。これは、LEDプロジェクトのようにゼロから構築されているわけではありません。なぜなら、このプロジェクトは、Forthをサポートするオープンコアプロセッサに基づいているからです。したがって、最初は基本的にプロジェクトにFPGAをロードする方法を学習してから、FORTHでエンベロープを操作できます。しかし、FPGAの内部構造についてさらに学習を始めるのは、機能を追加するときです。そのためには、VHDLを掘り下げる必要があります。
私が楽しんだプロジェクトは、FPGAでのMilton Bradley Simon Gameの実装でした。
私の大学では、EDAクラスはあなたが言及したものと同じボードを使用しています。実装されたプロジェクトの一部は次のとおりです。
それはあなたにいくつかのアイデアを与えるかもしれません。
次に、opencores.orgのアイデアと、独自のマイクロプロセッサーの実装について説明します。ザイリンクスFPGAを使用しているため、microblazeまたはpicoblazeを使用して何かを行うことも検討できます。
編集:フォーマット。
xilinx virtexコア用のvhdlコードを少し前に書きました。それは目覚まし時計の実装でした。これは私がやったことです:
すすぎ、繰り返し1-3。ビットストリーム生成は、すべてザイリンクスのIDEに統合されていることを指摘しておきます。HDLで実装するロジックの明確なセットが必要です。残りのすべてはIDEによって行われます。
数値制御発振器は楽しいでしょう。Arduino互換ボード(http://tinyurl.com/ydmz2suを参照)を使用して設計しましたが、これはFPGAに最適です。
ここにいくつかの設計参照があります。
Snell、John 1988「リアルタイムで最大256個の低歪み正弦波を生成するデジタルオシレーターの設計」コンピューター音楽の基礎。マサチューセッツ州ケンブリッジ:MIT Press
ムーア、F。リチャード1988「正弦波デジタルオシレーターのテーブルルックアップノイズ」コンピューター音楽の基礎。マサチューセッツ州ケンブリッジ:MIT Press
私がやっていることは、少しCPUを作ることです。これは、すべての基本をカバーするための便利な方法です。
VHDLの大規模プロジェクトのすべての基本をカバーし、VHDLデザインのすべてのコアトピック(クロック、入力、出力、ロジック、バス、およびシーケンシャルデザイン)に加えて、多くのコアエレクトロニクスおよびコンピューターに触れます。レジスタ、データ操作、メモリ、コンピューター演算などの設計およびアーキテクチャの概念。
足し算と引き算から始めて、学習しながら機能を追加し、完全に機能する(単純ではあるが...私が「レトロ」と呼んでいるように)コンピューターまで進んでください。少なくとも、それは私の計画です。
加えて、チップ上に独自に設計したコンピューターを搭載するのはとてもクールです:) 16ビットRaspberry Piのように:P
その他の一般的なFPGAプロジェクト:
-音楽シンセサイザー
-DSPエフェクトジェネレーター
-MIDIコントローラー/インタラプター
-ビットコインマイナー
-ビデオゲームコンソールエミュレーター
-カスタムArduinoシールド
-並列プロセッサ(従来のコンピューターが得意としない特定の数学的問題に非常に役立ちます)
-ロボティクス/制御システム
-データ収集(オペアンプを使用する方法を知っている場合、FPGA用のオシロスコープ設計はほとんどありません)
VHDL自体は恐ろしく複雑ではありません。覚えておくべき最も重要なことは、マイクロコントローラ用のプログラムを書くのではなく、物理的な電子デジタル回路を設計しているということです。シミュレーションは基本的に行ごとに実行されるプログラムではないため、Cとの表面的な類似性に惑わされないでください。VHDLは非常に異なるパラダイムです。