
このコースで学ぶこと
- 二進数・論理ゲート・ブール代数で組合せ回路を説明する
- 加算器・比較器・符号付き演算の境界値を計算する
- MUX・カウンタ・シフトレジスタを実装し波形を比較する
- 状態機械・タイミング制約・検証計画を使って小さな設計を完成させる
はじめる前に
概念はブラウザで読めます。実習にはDigital Design Studio Desktopのプロジェクトと実行権限を準備してください。ソースと入力ファイルを提供します。
インストールと初回起動 ↗カリキュラム
- デジタル論理の基礎
- 二進数と十六進数概念
同じ値を二進数と十六進数で表します。
- ゲートと真理値表概念
AND・OR・NOT・XORの出力規則を比較します。
- ブール代数とド・モルガンの法則概念
異なる式が同じ出力になるか確かめます。
- デコーダとイネーブル信号概念
二進アドレスを一つの有効出力に変えます。
- 信号と選択
- ビット・信号・ポート概念
入出力と1ビット値の意味を読み取ります。
- 真理値表で選択を定義する概念
全入力の組合せと期待出力を定義します。
- MUXと観測レジスタ概念
組合せ出力とサンプリング出力を区別します。
- RTLの記述と実行
- 条件式でMUXを記述する概念
選択信号とデータ入力をRTLでつなぎます。
- MUXシミュレーション実習実習
提供されたソースと入力ファイルで出力を比較します。
- 解釈と確認
- 入力変化とサンプリング時刻概念
クロックエッジ前後のyとsampled_yを追います。
- 誤りを見つけるテストケース概念
選択の逆転やサンプリングの誤りを見つけます。
- MUXの理解度チェック理解度チェック
選択と保存の違いを確認します。
- 算術回路と状態
- 半加算器と全加算器概念
和と桁上がりを別々に計算してつなぎます。
- 符号付きの値とオーバーフロー概念
同じビット列を符号なしと2の補数で解釈します。
- 比較器と境界条件概念
等値・大小比較を境界テストにつなげます。
- フリップフロップとクロックイネーブル概念
リセット・許可・保持の優先順位を定めます。
- 数と時間
- ビット幅と二進数概念
2ビットの値と各桁の位置を読みます。
- クロックエッジと状態概念
入力変化とレジスタ更新を区別します。
- カウンタと同期リセット概念
以前の状態から次の状態を計算します。
- 状態更新と実習
- 以前の値から次の値を計算する概念
非ブロッキング代入とリセット優先度を読みます。
- カウンタシミュレーション実習実習
リセット後の増加と折り返しを観察します。
- 境界とデバッグ
- 最大値の次は何か概念
レジスタ幅を超える加算を計算します。
- リセットと計数の誤りを調べる概念
初期値・リセット・最初のエッジを順に確認します。
- カウンタの理解度チェック理解度チェック
ビット幅と折り返し動作を確認します。
- ビットとデータフロー
- ベクタ方向とビット番号概念
q[2:0]とスライスが選ぶ位置を読みます。
- 直列入力を時系列で読む概念
1ビットずつの入力を時系列に整理します。
- シフトレジスタの状態変化概念
以前のビットを移動して新しい入力を入れます。
- 連結と実習
- スライスと連結概念
連結したビットが新しいレジスタに入る順を追います。
- シフトレジスタ実習実習
直列入力とqを同時に追います。
- 遅延とデバッグ
- ビットが出力に届くまで概念
一つのビットが各段を進むエッジ数を数えます。
- 方向・リセット・入力順を確認概念
単一ビットのパターンで逆接続を探します。
- シフトレジスタの理解度チェック理解度チェック
更新前の値から次の状態を計算します。
- 回路の接続と検証
- 組合せ遅延とタイミング予算概念
機能シミュレーションとタイミング検証を区別します。
- 小さな状態機械を設計する概念
状態・入力・次状態を遷移表で表します。
- 検証計画と不一致の追跡概念
通常・境界・リセット時の期待値を定めます。
- 総合設計:直列パターン検出器概念
101を検出する状態機械を設計・確認します。