目次

この教材の構成

HDL Endeavorでは、Verilog-HDLを使った設計、検証、論理合成を、効率よく学べます。Verilog-HDLの文法体系はとても広範囲です。HDL Endeavorでは、回路記述と、検証のためのテストベンチについて解説します。

ユニット

意味

内容

ST

E1~E6

C1~C8

T1~T6

S1~S5

Start

Elementary

Circuit

Testbench

Synthesis

HDL設計の手順や用語

Verilog-HDLの基本

回路記述

テストベンチ(シミュレーション用記述)

論理合成

O1~O8

L1~L4

Option

Logic

記述上の各種ヒント

論理回路

効果的な学習方法

  • STおよびEユニット
    Verilog-HDLによる回路設計について、一通り解説しています。これらのユニットは時間をおかず一気に学習した方がよいでしょう。
  • C(回路記述)、T(テストベンチ)
    回路設計と検証に必要な記述について詳しく解説しています。本格的に設計するためには必須です。
  • S(論理合成)
    ASIC設計で使われている事実上の業界標準ツールをベースに解説しています。ASIC設計者には必須です。FPGAを中心に設計している方は選択ユニットとしても結構です。
  • O(記述上の各種ヒント)
    ある程度、設計や検証に慣れてきたら参考にすると良いでしょう。いろいろな記述やテクニックや注意点を知ることができます。
  • L(論理回路)
    論理回路の基本事項ですので、必要な部分だけ復習に使うと良いでしょう。

総目次

STユニット

STはじめに

  1. ここで学ぶ内容
  2. HDL設計の手順
  3. RTL設計
  4. RTL検証
  5. 論理合成
  6. ゲートレベル検証
  7. Verilog-HDLの文法体系
  8. 修了判定

Eユニットグループ

E1簡単な組み合わせ回路の記述

  1. ここで学ぶ内容
  2. 加算演算子による加算回路
  3. フルアダーによる加算回路
  4. フルアダーの動作
  5. フルアダーの記述
  6. フルアダーによる加算回路の記述1
  7. フルアダーによる加算回路の記述2
  8. ワンポイント・アドバイス
  9. 修了判定

E2簡単な順序回路の記述

  1. ここで学ぶ内容
  2. バイナリカウンタの動作
  3. バイナリカウンタの記述
  4. ワンポイント・アドバイス
  5. 修了判定

E3シミュレーションと論理合成体験

  1. ここで学ぶ内容
  2. シミュレーションと論理合成
  3. テストベンチ
  4. 加算回路のテストベンチ
  5. シミュレーション時のファイル指定
  6. 加算回路のシミュレーション
  7. クロックの記述
  8. カウンタのテストベンチ
  9. カウンタのシミュレーション
  10. 論理合成の実行
  11. 修了判定

E4基本文法1

  1. ここで学ぶ内容
  2. モジュール構造
  3. ポート宣言
  4. 信号の型
  5. ネット型とレジスタ型の使い分け
  6. パラメータ宣言
  7. 複数ビット信号
  8. assign文
  9. functionとalways
  10. if文とcase文
  11. begin~end
  12. ワンポイント・アドバイス
  13. 修了判定1
  14. 修了判定2

E5基本文法2

  1. ここで学ぶ内容
  2. 論理値と数値表現
  3. 演算子
  4. ビット演算と論理演算
  5. リダクション演算
  6. 条件演算
  7. 連接演算
  8. 演算の優先順位
  9. ワンポイント・アドバイス
  10. 修了判定

E6基本記述スタイル

  1. ここで学ぶ内容
  2. 4つの記述スタイル
  3. assign文による組み合わせ回路
  4. functionによる組み合わせ回路
  5. always文による組み合わせ回路
  6. always文による順序回路―1
  7. always文による順序回路―2
  8. always文による順序回路―3
  9. 下位モジュール接続
  10. ポート接続の注意点
  11. ワンポイント・アドバイス
  12. 修了判定1
  13. 修了判定2

Cユニットグループ

C1ゲート回路とセレクタの記述

  1. ここで学ぶ内容
  2. プリミティブゲートによるゲート回路
  3. 論理式を利用したゲート回路
  4. If文によるセレクタ
  5. case文によるセレクタ
  6. ビット選択によるセレクタ
  7. 条件演算子によるセレクタ
  8. 修了判定1
  9. 修了判定2
  10. 修了判定3
  11. 修了判定4

C2デコーダとエンコーダの記述

  1. ここで学ぶ内容
  2. 等号演算によるデコーダ
  3. if文によるデコーダ
  4. case文によるデコーダ
  5. casex文、casez文によるデコーダ
  6. if文によるエンコーダ
  7. case文によるエンコーダ
  8. 修了判定1
  9. 修了判定2
  10. 修了判定3

C3演算回路の記述

  1. ここで学ぶ内容
  2. 組み合わせ回路によるシフト回路
  3. 乗算回路
  4. 大小比較回路と一致比較回路
  5. 組み合わせ回路で作るROM
  6. 修了判定

C4順序回路の基礎

  1. ここで学ぶ内容
  2. Dフリップフロップの記述
  3. ラッチの記述
  4. 2つの代入
  5. 2つの代入による回路
  6. 非同期リセットと同期リセット
  7. 非同期リセットのメリット/デメリット
  8. ワンポイント・アドバイス
  9. 修了判定

C5フリップフロップの記述

  1. ここで学ぶ内容
  2. フリップフロップの設計方法
  3. HDLによるフリップフロップの記述
  4. Tフリップフロップ
  5. JKフリップフロップ
  6. ワンポイント・アドバイス
  7. 修了判定

C6カウンタとシフトレジスタの記述

  1. ここで学ぶ内容
  2. N進カウンタ
  3. アップダウンカウンタ
  4. 任意のカウント値を持つカウンタ
  5. 分周回路
  6. シリアルパラレル変換回路
  7. レジスタ回路
  8. 修了判定1
  9. 修了判定2

C7ブロック図から回路記述へ

  1. ここで学ぶ内容
  2. 仕様からの回路記述手順
  3. 仕様の理解
  4. 修了判定1
  5. 修了判定2
  6. 修了判定3
  7. 修了判定4
  8. 修了判定5

C8回路記述と動作確認

  1. ここで学ぶ内容
  2. 電子錠について
  3. 電子錠の仕様
  4. 電子錠の回路構成検討
  5. タイミングチャート
  6. 修了判定1
  7. 修了判定2
  8. 修了判定3
  9. 修了判定4
  10. 修了判定5
  11. 修了判定6
  12. 修了判定7

Tユニットグループ

T1テストベンチの基礎

  1. ここで学ぶ内容
  2. 動作確認のためのテスト入力1
  3. 動作確認のためのテスト入力2
  4. 回路規模に応じたテストベンチ
  5. テストベンチの構造
  6. ワンポイント・アドバイス
  7. 修了判定1
  8. 修了判定2

T2テストベンチ向き文法

  1. ここで学ぶ内容
  2. モジュールアイテムとステートメント
  3. プリミティブ・ゲート
  4. 信号強度
  5. データタイプ
  6. タイミング制御
  7. さまざまな遅延
  8. forとwhile
  9. forceとrelease
  10. begin~endとfork~join
  11. 階層アクセス
  12. 修了判定1
  13. 修了判定2
  14. 修了判定3