HDLの学習方法


24

今学期にデジタルデザインのコースを受講しましたが、とても気に入っています。今では、組み込みシステムとデジタル設計のほとんどの作業が最初にコンピューターシミュレーターで行われ、次にハードウェアを使用して実装されることがわかっています。だから、HDLを学習するにはどうすればいいのかと思っていました。質問が少ない

  1. 何?私は標準が何であるかを知りませんが、どれを選ぶのが簡単かを知りたいです。ほとんどのHDLはFPGAで使用するように設計されていることを理解していますが、そうではありません。
  2. どうやって?独立した例のある教科書をたどるか、小さなシステムを実装するようなプロジェクトに着手すべきか(信号制御のようなものかもしれません)。
  3. どこ?リソースはどこで入手できますか?

1
HDLに必要なものを明確にできますか?ほとんどのHDLは、ほとんどの人がFPGAを必要とするため、FPGAで使用するように設計されています。一般に、FPGAおよびASIC以外の回路設計には、シミュレータ(グラフィカルな回路図から動作)が使用されます。(1)離散デジタル回路、すなわち74XXコンポーネント、(2)アナログ回路、すなわちスイッチングレギュレータ、RFアンテナ/トランシーバ、一般的なオペアンプ回路、または(3)アナログ混合信号回路、すなわちインターフェースデジタル信号とアナログ信号の両方の間。
ケビンフェルメール

ハードウェアを記述するためにHDLを学びたいと思います。それは1、2、3です。また、1つでは、FPGAに依存しないようにしたいのです。これらを取得するためのアクセス権や資金がないためです。
Rick_2047

ハードウェアを記述するためにHDLを学びたいと思います。それは1、2、3です。また、1つでは、FPGAに依存しないようにしたいのです。これらを取得するためのアクセス権や資金がないためです。主に、HDLを使用して、自分が考えていることをシミュレートしたいと考えています。今年の私の主な計画は、自分のコンピューターを作ることです。そのために74xxを使用すると思います。それが、私の理論と回路をテストするためにHDLのアイデアが浮上した理由です。
Rick_2047

回答:


8

使用するHDLを明確にできますか?選択肢は、基本的にはVerilogまたはVHDL、[EDIT]、およびそれらの親類であるVerilog-ASMおよびVHDL-ASM(アナログ混合信号)です。[/編集] VerilogにはCに似た構文があり、以前にCで作業したことがある場合は簡単に手に入れることができますが、これにより悪い習慣を開発することも容易になります-Cではハードウェアをプログラミングできませんすべて平行!また、Cのように、自分が何をしているかを知っていることを前提としているため、足元で自分を撃つのは簡単です。VHDLを使用すると、まったく異なる方法で考えるように強制されます。これは便利ですが、難しいことです。それはより冗長であり、何か奇妙なことをすると警告を発する可能性が高くなります。このSlashdotの議論、またはこの記事を参照してください

編集:「ネットリスト言語」は(テキストエディタで)デザイン作業に使用したものではありませんが、できると思います。SPICE、Cadsoft Eagleのフォーマット、およびEDIFは、すべて頭に浮かぶ(非常に異なる目的を持つ)例です。ネットリストを使用して、回路図が正しいことを確認し(Eagle回路図の各接続が意味をなす)、シミュレーターによって提供される抽象化を調整する(SPICE、CでASMステートメントを使用する方法と同様)、または異なるプログラム間でエクスポート/インポートを行います(EDIF)。スペクターネットリスト言語は、Verilog-A [nalog]とSPICEに関連して、設計および検証作業のために設計されています。 マスト
Verilog-AMSおよびVHDL-AMSと互換性のあるコンポーネントモデリング言語です。これらの言語のチュートリアルを検索すると、ネットリスト言語自体でプログラミングするのではなく、回路図キャプチャユーティリティのように見えるツールがよく使用されることがわかります。

ザイリンクスのSpartan FPGAとDigilent開発ボードも2番目になります。ただし、O Engenheiro(教育割引のある価格)に記載されているスターターボード上のイーサネット(150ドル)が必要ない場合は、Basys(60ドル)またはNexys(100ドル)を選択します。BasysとNexysは安価であるため、学校で人気が高いため、オンラインでチュートリアルやラボが増えています。


VerilogやVHDLを学習するよりも、いわゆる「ネットリスト」言語を学習する方が有益なのか、それとも簡単なのか疑問に思っていました。
Rick_2047

言いにくい。それはあなたがあなたの言語で何をしたいかに依存します。半ダースの言語と非常に多くのユースケースのあらゆる順列の方法と場所を掘り下げる前に、あなたが何をしたいのか、どのような言語を使用したいのかをよりよく理解できますか?
ケビンフェルメール

9

私はあなたとほとんど同じ状況にいます。

私がやっていること:

勉強した大学でVHDLの無料の非常に基本的なコースを受講しました。Spartan 3Eボードで遊んだよ。

だから、ボードを買って、プレイを始めます。

私の友人はこれらの本を提案しました:

  1. デジタルシステムのラピッドプロトタイピング、ジェームズO.ハンブルン、マイケルD.ファーマン
  2. Doone Publications- HDLチップデザイン、ダグラスJスミス

そして彼はこのドキュメントも提案しています:

ザイリンクス合成およびシミュレーションデザインガイド


1
Hamblen and Furmanの本の2番目です。私は自分の小さなアルテラFlex 10K10ボードを設計し、それを使って本のほとんどのコードを使用することができました。それは料理の本ですが、それでも悪くはありません。
レオン・ヘラー

4
  1. HDL言語は2つあります。VHDLとVerilogです。教授に聞いて、どのように機能するかを確認してください。構文と、このモジュールを作成し、すべてのデジタル回路について大きなレビューを行う方法を確認してください。

  2. 何かをする前に1、デジタル回路に関するすべてを本当に知っていることを確認してください。HDLは新しいものを作成せず、これらのことを別の方法でしか使用しないからです。そのため、上記の2冊の本のいずれかを使用して、いくつかの演習を行い、教師に推奨の本を尋ねて使用するか、上記の2本のいずれかを使用できます。

  3. アルテラ、ザイリンクス、ラティスなどのクラスでFPGAを使用するか、アルテラがQuartus Web Editionをダウンロードする場合、ザイリンクス、ISE Webpackがこれらのいずれかを無料でダウンロードする場合、クラスで使用するFPGAを教えてください。ソフトウェアの1つについて学び、それらの1つでいくつかの演習、シミュレーションを行ってください。

HDLの作業の約90%はシミュレーターで行われているので、ModelsimシミュレーターやxilinxのISIMシミュレーター、コマンド、テストベンチの実行方法について学びます。


2つの主要なHDL。CUPL、MyHDL、Lavaなど、あまり人気のないものが多数あります。私の大学のデジタルデザインコースではVHDLに言及しましたが、ラボでCUPLを使用しました。もっとウィキペディア上:en.wikipedia.org/wiki/...
ヤン・バーニア

3

どこで仕事をする場合でも、すでに使用しているHDLと同じHDLを使用する必要があります。したがって、採用される可能性を高め、VerilogとVHDLの両方で少し時間を費やします。以前は非常に単純でした。Verilogは米国で使用され、ヨーロッパではVHDLが使用されていました。最近では単純ではありません。

誰かがVHDLの「異なる考え方」を学ぶことを述べたアップスレッドそれらを見ることができ、頭の中でタイミングハザードを「見る」ことができるポイント


2

icarus verilogまたはverilatorは、私がverilogを学習したり遊んだりするために推奨するものです。ghdlは、vhdlで遊ぶために使用するものです。メインストリームからは程遠いですが、独自のシム環境などを備え、合成可能なベリログを生成するcyclicity-cdl.sf.netもお勧めします。シミュレーターによって生成された.vcdファイルを調べるためにgtkwaveを使用して学習します。


1

大学で1つのコースでVerilogを学びました。そのコースの集大成は、2-way Superscalar MIPSプロセッサの実装でした(クラスの30%が完全に機能するようになりました;私は他の70%でした)。業界の状況は、VerilogからVHDLに大きく移行していると思います。そうは言っても、両方の言語のオンラインチュートリアルがたくさんあります。ここだVHDLの1と、ここでのVerilogの上の一つは

おそらくModelSimを使用したいと思うでしょうし、おそらく学生版を使用することもできます(私はそれが無料だと思う;制限付きかもしれません)。ちなみに、彼らは教科書としてVHDL 2nd Editionを使用したデジタルシステムデザインの使用を推奨しています。


1

最適な安価なFPGA開発キットを次に示します。ただし、それで動作するオープンソースツールのレベルについてはわかりません。ベンダーのツールキットチェーンは無料でダウンロードできます。私は、このキットが利用可能な価格で、それを行って入手する価値があると聞いています。

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