VHDLを学ぶプロジェクト


16

私はEEの学生であり、指を持っているよりも多くの言語で(少なくとも単純な)プログラムを書くことができます。VHDLの学習を始めたばかりですが、言語と関連ツールを実際に理解するのに良いプロジェクトは何だろうと思いました。それは私にとって本当に異なるスタイルのプログラミングだからです。

加算器のような単純なものを作成しましたが、より長期(1か月程度)のプロジェクトを探しています。

関連する場合は、Xilinx WebpackとDigilent Spartan3ボードがあります。

回答:


7

私の「hello world」FPGAプロジェクトは、PWMおよびシリアルストリーム入力を備えたLEDアレイコントローラでした。最終結果は素晴らしかった(http://lbw.axe-man.org/led1.wmv)が、VHDLパーツがどのように記述されているかを確認するためにアルテラQuartus Schematic Editorでその一部を行ったことを認めます。


これは素晴らしいアイデアです。16x16のコントローラーレスマトリックスを選択しただけで、コントローラーは素晴らしいものになります。きちんとしたビデオ!
ペンジュイン

きれいなビデオ!そして、その回路図エディタが使用されます。
モニカ

10

プログラミングに興味があるように思えるので、簡単なマイクロプロセッサを構築できます。


強くお勧めします。FPGAとVHDLの側面だけでなく、プロセッサの動作方法、プロセッサをサポートする開発ツールで必要なものなどについても学習します。
Chris Stratton

5

opencores.orgをチェックして、興味深いプロジェクトを見つけてください。Sigasi HDTをダウンロードすることもできます。これは、VHDL文法の速度を上げるのに役立ちます。


4

私はでハンスでの作業楽しんhardhackに今年Rekonstruktの FPGAの基本的synthisizerを構築するプロジェクト。LEDプロジェクトも優れていますが、FPGAをステレオに接続するようなものはありません。これは、LEDプロジェクトのようにゼロから構築されているわけではありません。なぜなら、このプロジェクトは、Forthをサポートするオープンコアプロセッサに基づいているからです。したがって、最初は基本的にプロジェクトにFPGAをロードする方法を学習してから、FORTHでエンベロープを操作できます。しかし、FPGAの内部構造についてさらに学習を始めるのは、機能を追加するときです。そのためには、VHDLを掘り下げる必要があります。


2

私が楽しんだプロジェクトは、FPGAでのMilton Bradley Simon Gameの実装でした。

私の大学では、EDAクラスはあなたが言及したものと同じボードを使用しています。実装されたプロジェクトの一部は次のとおりです。

  • 画像処理:メディアンフィルター、ヒストグラムストレッチ、エッジ検出
  • 暗号化:AES、さまざまなハッシュアルゴリズムなど。
  • 通信:イーサネット、USB、I2Cなど
  • ゲーム:ピンポン、宇宙侵略者など

それはあなたにいくつかのアイデアを与えるかもしれません。

次に、opencores.orgのアイデアと、独自のマイクロプロセッサーの実装について説明します。ザイリンクスFPGAを使用しているため、microblazeまたはpicoblazeを使用して何かを行うことも検討できます。

編集:フォーマット。


1

xilinx virtexコア用のvhdlコードを少し前に書きました。それは目覚まし時計の実装でした。これは私がやったことです:

  • vhdlマニュアルをよくお読みください-今すぐ修正する必要がありますが、かなり簡単で使いやすいhdlを見つけました:-)
  • ザイリンクススイート(コンパイラー、シンセサイザー)を使用してビットストリームを取得
  • jtagを使用してビットストリームをアップロードしました

すすぎ、繰り返し1-3。ビットストリーム生成は、すべてザイリンクスのIDEに統合されていることを指摘しておきます。HDLで実装するロジックの明確なセットが必要です。残りのすべてはIDEによって行われます。


1

数値制御発振器は楽しいでしょう。Arduino互換ボード(http://tinyurl.com/ydmz2suを参照)を使用して設計しましたが、これはFPGAに最適です。

ここにいくつかの設計参照があります。

Snell、John 1988「リアルタイムで最大256個の低歪み正弦波を生成するデジタルオシレーターの設計」コンピューター音楽の基礎。マサチューセッツ州ケンブリッジ:MIT Press

ムーア、F。リチャード1988「正弦波デジタルオシレーターのテーブルルックアップノイズ」コンピューター音楽の基礎。マサチューセッツ州ケンブリッジ:MIT Press


0

私がやっていることは、少しCPUを作ることです。これは、すべての基本をカバーするための便利な方法です。

VHDLの大規模プロジェクトのすべての基本をカバーし、VHDLデザインのすべてのコアトピック(クロック、入力、出力、ロジック、バス、およびシーケンシャルデザイン)に加えて、多くのコアエレクトロニクスおよびコンピューターに触れます。レジスタ、データ操作、メモリ、コンピューター演算などの設計およびアーキテクチャの概念。

足し算と引き算から始めて、学習しながら機能を追加し、完全に機能する(単純ではあるが...私が「レトロ」と呼んでいるように)コンピューターまで進んでください。少なくとも、それは私の計画です。

加えて、チップ上に独自に設計したコンピューターを搭載するのはとてもクールです:) 16ビットRaspberry Piのように:P

その他の一般的なFPGAプロジェクト:

-音楽シンセサイザー

-DSPエフェクトジェネレーター

-MIDIコントローラー/インタラプター

-ビットコインマイナー

-ビデオゲームコンソールエミュレーター

-カスタムArduinoシールド

-並列プロセッサ(従来のコンピューターが得意としない特定の数学的問題に非常に役立ちます)

-ロボティクス/制御システム

-データ収集(オペアンプを使用する方法を知っている場合、FPGA用のオシロスコープ設計はほとんどありません)

VHDL自体は恐ろしく複雑ではありません。覚えておくべき最も重要なことは、マイクロコントローラ用のプログラムを書くのではなく、物理的な電子デジタル回路を設計しているということです。シミュレーションは基本的に行ごとに実行されるプログラムではないため、Cとの表面的な類似性に惑わされないでください。VHDLは非常に異なるパラダイムです。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.