質問
私は独学の組み込み開発者です。私は主にCとASMでプログラムされたAVRを使用しますが、他のシステムに手を出しました。 CPLDやFPGAなどのより複雑なデバイスに移行したいと考えていますが、どこから始めればいいのかわかりません。だから私の1つ半の質問は:
- VHDLとVerilogのどちらが好きですか?
- HDLの経験のない人にとって、このような獣の学習を始めるのに良い方法は何ですか?
解決
ザイリンクスまたはアルテラ(2つの大手FPGAプレーヤー)から安価なスターターキットを購入します。ザイリンクスSpartan3スターターキットは200ドルです。
私は個人的にVHDLを好みます。強く型付けされており、Verilogよりも高度な機能を備えています。 VHDLはヨーロッパでより人気があり、Verilogは米国で優勢です。
本(例:Peter Ashendens The Designers Guide to VHDL)を購入し、無料のシミュレーターでデザインのシミュレーションを開始します。 Mentor GraphisのModelSimは優れたものであり、無料のバージョンがあります(シミュレーション速度が損なわれています)。
興味深いプロジェクト(ミニCPU、VGAグラフィック、シンセサイザー)を作成し、設計を開始します。デザインをハードウェアに配置する前に、常にシミュレーションを行い、デザインが機能することを確認してください...
デジタルエレクトロニクスのバックグラウンドがない場合は、そのテーマの本も購入してください。
他のヒント
ASIC設計に取り組んでいた当時、それはverilogでした。多くの場合、デザイナーとして選択することはできません。HDL用のASIC合成ツールにはかなりの費用がかかり、企業は1つの<!> quot; blessed <!> quot;だけで完全なツールチェーンを購入します。言語。私の雇用主はVerilogで標準化していたので、それを使用しました。
FPGA合成ツールは大幅に安価であるため、FPGA設計者として好みの言語とツールを自由に選択できます。
verilog.net には、無料のVerilogシミュレータもあります。
@krisが述べたように、FPGAスターターボードも良い方法です。 verilogコードをボード上のLEDに点灯させることは、画面上のシミュレータ波形よりもはるかに満足のいくものです。
opencores.org もご覧ください-両方にいくつかの記事と多くのオープンソースコードがあります学習できるVerilogとVHDL。
私が知る限り、VHDL対Verilogは、Ruby対PythonまたはJava対C#と同じくらい宗教的です。人によって好みが異なります。
このサイトをご覧ください: http://www.fpga4fun.com/
シンプルなツールを使用した素敵なシンプルなプロジェクト。数年前にこれらのボードの1つを使用して、掲示板として使用する小さなVGAディスプレイシステムを構築しました。
サイトをもう一度見てみると、ARMプロセッサ、SDRAM、およびザイリンクスSpartan 3eを備えたXylo-LMボードを入手することを考えています。
以前使用した別のボードは、Charmed LabsのXPort 2でした。これは、オープンソース開発ツールで十分にサポートされているGameboy Advanceにプラグインされます。
チェックアウト: http://www.charmedlabs.com/index.php?option=com_virtuemart&page=shop.browse&category_id=6&Itemid=43
考慮すべきもう1つのことは、HDLを学習することから始めるか、ブール論理、カルノーマップ、DeMorganの定理、ゲート、ゲートに算術を実装することから始めるかなどです。合成不可能なHDLを書くのは簡単です。基盤となるハードウェアがどのように見えるかについての正確なメンタルモデルを持っていません。
この本は、Verilogバージョンの私は学部で使用したもので、私の意見ではかなり良い仕事をしました。上記の資料と、ゲートのトランジスタレベルの実装に関する基本的な基本情報から始めて、HDLを紹介し、より複雑な構造および動作のハードウェアブロックを徐々に構築します。はい、ほとんどの大学の教科書と同様に、それは信じられないほど高価であると知っていますが、これは、少なくともオンラインで見つけることができた情報がひどく不十分なものの1つです。
HDLを選択する準備ができたら、Verilogをお勧めします(VHDLを最初に学習したので)。はい、VHDLはかつてVerilogよりも機能が豊富でしたが、言語のその後のリビジョン(Verilog 2001、Verilog 2005、SystemVerilogなど)はほとんどの興味深い機能を厳選しており、はるかに堅牢なツールチェーンのサポートがあります最近のVerilogとそのバリアントでは、米国で使用されている主要言語であることに加えて(私の経験では、VHDLは、前述のツールサポートのために、極端なレガシーブロックやアカデミックなコンテキストを扱う場合にのみここで使用されます以前)。最後に、HDLを習得すると、厳格なスーパーセット構文を使用したSystemVerilogのハードウェア検証言語(HVL)が得られ、学習曲線をかなり節約できます。私の知る限り、VHDLにはそうではありません。
Alteraとザイリンクスには、無料のツールセットに組み込まれたシミュレータがあります。これらは、非常に人気のあるMentor ModelSimツールの限定バージョンです。 <!> lt;に収まる可能性が高いデザインのサイズを処理します。 500ドル(米国)のボード。
HDLの選択では、VerilogはC、VHDLはADAです。そのため、Verilogの使用は簡単ですが、間違いを犯しやすくなります。これらの問題を回避するには、シミュレーションとコンパイルの警告を確認してください。
- Verilog 2. http://www.opensparc.net/
HTH
Verilogは、はるかに学習しやすく、構文が単純です。また、新しい言語です。第二に、ほとんどの人はベリログを使用しています。 VHDLには、学習曲線を与える多くのデータ型があります。 Verilogを知ったら、VHDLへのギャップを埋めるのが簡単になります。ああ、非常にニートなverilogのマクロもあります。私はそれで言語を発明しました。最後に、最終的に混合言語のハードウェア設計を行うことができます。私はVHDLから始めて、次にverilogを学び、今ではpro verilogです。
私はあなたが今学期前と同じ船に乗っていました。私のお気に入りの本はこれでした。デジタルロジックを確認してFPGAについて説明したためです。 。また、VHDLとVerilogのコードを並べて比較することもできるため、ユーザーがプッシュするコードを選択する代わりに、好みのコードをスタイル的に学習できます。
FPGA自体については、ザイリンクスの ISE webpack を使用してプログラミングを行い(無料)、 Basys2 FPGAボード。これは非常に小さなFPGAであり、低価格で使用を開始できますが、リソースとメモリ管理を非常に早く学習できるという利点もあります。 Digilentの Adept (無料)を使用して、 <!> quot; compiled <!> quot;のアップロードボードへのコード。
がんばって!
Verilog / VHDLに飛び込むか、FPGA開発キットを購入する前に、デジタルデザインの入門クラスを受講することをお勧めします。優れたオンライン OpenCourseWare MIT クラスがあります。
がんばって。