logo

Verilog チュートリアル

Verilog はハードウェア記述言語 (HDL) です。ネットワーク スイッチ、マイクロプロセッサ、メモリ、フリップフロップなどのデジタル システムを記述するために使用される言語です。 HDL を使用すると、あらゆるレベルであらゆるデジタル ハードウェアを記述することができます。 HDL で記述された設計はテクノロジーに依存せず、設計とデバッグが非常に簡単で、通常、特に大規模な回路の場合、回路図よりも役立ちます。

ベリログとは何ですか?

Verilog は、ネットワーク スイッチ、マイクロプロセッサ、メモリ、フリップフロップなどのデジタル システムを記述するために使用されるハードウェア記述言語 (HDL) です。

Verilog チュートリアル

ベリログ プロセスを簡素化し、HDL をより堅牢かつ柔軟にするために開発されました。現在、Verilog は、半導体業界全体で使用および実践されている最も人気のある HDL です。

HDL は、エンジニアが目的のハードウェアの機能を記述し、自動化ツールがその動作を組み合わせゲートや順序ロジックなどの実際のハードウェア要素に変換できるようにすることで、設計プロセスを強化するために開発されました。

Verilog は、他のハードウェア記述言語と同様です。これにより、設計者はボトムアップまたはトップダウンの方法論でデザインを設計できます。

    ボトムアップ設計:電子設計の伝統的な方法はボトムアップです。各設計は、標準ゲートを使用してゲート レベルで実行されます。この設計は、新しい構造的で階層的な設計方法を設計する方法を提供します。トップダウン設計:これにより、早期のテスト、さまざまなテクノロジーの簡単な変更、構造化されたシステム設計が可能になり、その他多くの利点が得られます。

Verilog 抽象化レベル

Verilog は、次のようなさまざまな抽象レベルでの設計をサポートしています。

  • 行動レベル
  • レジスタ転送レベル
  • ゲートレベル

行動レベル

動作レベルは、同時実行アルゴリズムの動作によってシステムを記述します。すべてのアルゴリズムはシーケンシャルです。つまり、アルゴリズムは 1 つずつ実行される一連の命令で構成されます。関数、タスク、ブロックが主な要素です。設計の構造的な実現は考慮されていません。

レジスタ転送レベル

レジスタ転送レベルを使用する設計では、レジスタ間の演算とデータ転送を使用して回路の特性を指定します。

RTL コードの最新の定義は、「合成可能なコードはすべて RTL コードと呼ばれます」です。

ゲートレベル

システムの特性は、論理リンクと論理レベル内のそのタイミング特性によって記述されます。すべての信号は離散信号です。それらは明確な論理値 (`0'、`1'、`X'、`Z`) のみを持つことができます。

使用可能な演算は、事前定義されたロジック プリミティブ (基本ゲート) です。ゲート レベルのモデリングは、ロジック設計にとって正しいアイデアではない可能性があります。ゲート レベルのコードは合成ツールなどのツールを使用して生成され、ネットリストはゲート レベルのシミュレーションとバックエンドに使用されます。

Verilog の歴史

  • Verilog HDL の歴史は、Gateway Design Automation という会社が論理シミュレータである Verilog-XL とハードウェア記述言語を開発した 1980 年代に遡ります。
  • Cadence Design Systems は 1989 年に Gateway を買収し、それとともに言語とシミュレーターの権利を取得しました。 1990 年、ケイデンスは、この言語を標準の非独自言語にすることを目的として、この言語をパブリック ドメインにしました。
  • Verilog HDL は現在、Open Verilog International (OVI) と VHDL International の合併により設立された非営利団体 Accellera によって維持されています。 OVI には、その言語を IEEE 標準化手順に通すという任務がありました。
  • 1995 年 12 月に、Verilog HDL が IEEE 標準になりました。 1364年から1995年。大幅に改訂されたバージョンが 2001 年に発行されました。IEEE Std. 1364年から2001年。 2005 年にさらなる改訂が行われましたが、これはいくつかの小さな変更が加えられただけでした。
  • Accellera は、Verilog を拡張する新しい標準 SystemVerilog も開発しました。
  • SystemVerilog は 2005 年に IEEE 標準 (1800-2005) になりました。

Verilog はどのように役立つのでしょうか?

Verilog は、その実装とテクノロジの詳細を隠すのに役立つ抽象化レベルを作成します。

たとえば、D フリップフロップの設計では、ポジティブエッジでトリガーされる FF を実現するためにトランジスタをどのように配置する必要があるか、および値をフロップにラッチするのに必要な立ち上がり、立ち下がり、CLK-Q 時間についての知識が必要になります。その他多くのテクノロジー指向の詳細。

消費電力、タイミング、ネットや他のフロップを駆動する能力についても、トランジスタの物理的特性をより徹底的に理解する必要があります。

Verilog を使用すると、動作に集中し、残りの部分は後で解決することができます。

前提条件

Verilog を学習する前に、VLSI 設計言語の基本的な知識を持っている必要があります。

  • 論理図の仕組み、ブール代数、論理ゲート、組合せ回路と順序回路、演算子などを理解しておく必要があります。
  • セットアップ時間、ホールド時間、クリティカル パス、クロック周波数の制限など、静的タイミング解析の概念について知っておく必要があります。
  • ASIC と FPGA の基本、合成とシミュレーションの概念。

観客

Verilog チュートリアルは、自動合成を可能にするために Verilog HDL でデジタル システムをモデル化する方法を学習したい初心者、設計エンジニア、検証エンジニアを支援するように設計されています。このチュートリアルを終了するまでに、Verilog に関する中級レベルの専門知識を習得していることになります。

問題

Verilog チュートリアルでは問題が発生しないことを保証します。ただし、間違いがある場合は、お問い合わせフォームに質問を投稿してください。