1. ホーム

HDLbits回答更新シリーズ目次(回答への直リンク)

2022-02-24 14:49:45

HDLbitsウェブサイトの質問へリンク

1 はじめに

1.1 はじめに(ステップ1)

1.2 出力ゼロ(Zero)

2 Verilog言語

2.1 基本事項

2.1.1 シンプルなワイヤー(wire)

2.1.2 4本の電線(wire4)

2.1.3 インバータ (ノートゲート)

2.1.4 ANDゲート(Andgate)

2.1.5 NORゲート(ノルゲート)

2.1.6 XNORゲート(Xnorgate)

2.1.7 ワイヤの宣言(Wire decl)

2.1.8 7458 チップ (7458)

2.2 ベクター

2.2.1 ベクトル (Vector0)

2.2.2 ベクトル詳細 (Vector1)

2.2.3 ベクトル部分選択 (Vector2)

2.2.4 ビット演算子(Vectorgates)

2.2.5 4入力ゲート(Gates4)

2.2.6 ベクトル連結演算子(Vector3)

2.2.7 ベクトル反転 1 (Vectorr)

2.2.8 レプリケーション操作(Vector4)

2.2.9 その他のレプリケーション(Vector5)

2.3 モジュール ヒエラルキー

2.3.1 モジュール(Module)

2.3.2 位置によるポートの接続 (Module pos)

2.3.3 名前でポートを接続する(モジュール名)

2.3.4 3つのモジュール(モジュールシフト)

2.3.5 モジュールとベクトル (モジュールshift8)

2.3.6 加算器1 (モジュールadd)

2.3.7 加算器2 (モジュール fadd)

2.3.8 キャリーセレクト加算器 (モジュール cseladd)

2.3.9 加算器-減算器 (モジュール addsub)

2.4手続き

2.4.1 常にブロックする(組み合わせ)(Alwaysblock1)

2.4.2 常時閉塞(クロックド) (Alwaysblock2)

2.4.3 If文(Always if)

2.4.4 If文のラッチ(常にif2)

2.4.5 Case文(常にcase)

2.4.6 優先度エンコーダ (常に case2)

2.4.7 ケース付き優先順位エンコーダ (常にケース付き)

2.4.8 ラッチの回避 (常にノーラッチ)

2.5 その他のVerilogの機能

2.5.1 条件付き三項演算子(Conditional)

2.5.2 減量演算子 (Reduction)

2.5.3 リダクション さらに広いゲート(Gates100)

2.5.4 組み合わせ型for-loop。ベクトル反転 2 (Vector100r)

2.5.5 組み合わせ型for-loop。255ビット人口カウント(Popcount255)

2.5.6 for-loopを生成する。100ビット2進加算器2 (Adder100i)

2.5.7 フォアループを生成する。100ビット桁BCD加算器(Bcdadd100)

3 回路

3.1 組合せ論理

3.1.1 基本ゲート

3.1.1.1 ワイヤ(試験/m2014 q4h)

3.1.1.2 GND (Exams/m2014 q4i)

3.1.1.3 NOR (Exams/m2014 q4e)

3.1.1.4 アナザーゲート(Exams/m2014 q4f)

3.1.1.5 二つのゲート(Exams/m2014 q4g)

3.1.1.6 その他の論理ゲート(Gates)

3.1.1.7 7420チップ (7420)

3.1.1.8 真理値表(Truthtable1)

3.1.1.9 2ビットの等価性 (Mt2015 eq2)

3.1.1.10 単純回路A (Mt2015 q4a)

3.1.1.11 シンプルサーキットB(Mt2015 q4b)

3.1.1.12 回路 A と B を組み合わせる(Mt2015 q4)

3.1.1.13 Ring or vibrate? (呼び出し音)

3.1.1.14 サーモスタット (サーモスタット)

3.1.1.15 3 ビット人口カウント(Popcount3)

3.1.1.16 ゲートとベクター (Gatesv)

3.1.1.17 さらに長いベクター(Gatesv100)

3.1.2 マルチプレクサ

3.1.2.1 2対1マルチプレクサ(Mux2to1)

3.1.2.2 2-2-1バス・マルチプレクサ (Mux2to1v)

3.1.2.3 9対1マルチプレクサ(Mux9to1v)

3.1.2.4 256対1マルチプレクサ(Mux256to1)

3.1.2.5 256対1 4ビットマルチプレクサ(Mux256to1v)

3.1.3 演算回路

3.1.3.1 半加算器(Hadd)

3.1.3.2 フル加算器(Fadd)

3.1.3.3 3 ビット 2 進加算器(Adder3)

3.1.3.4 加算器 (Exams/m2014 q4j)

3.1.3.5 符号付加算オーバーフロー (Exams/ece241 2014 q1c)

3.1.3.6 100ビット2進加算器 (Adder100)

3.1.3.7 4桁BCD加算器(Bcdadd4)

3.1.4 カルノーマップから回路へ

3.1.4.1 3変数(Kmap1)

3.1.4.2 4 変数 (Kmap2)

3.1.4.3 4 変数 (Kmap3)

3.1.4.4 4 変数 (Kmap4)

3.1.4.5 最小限のSOPとPOS (Exams/ece241 2013 q3)

3.1.4.6 カルノーマップ(Exams/m2014 q3)

3.1.4.7 カルノー図(2012年度第1回試験問題)

3.1.4.8 マルチプレクサで実装されたKマップ (Exams/ece241 2014 q3)

3.2 シーケンシャルロジック

3.2.1 ラッチとフリップフロップ

3.2.1.1 Dフリップフロップ(Dff)

3.2.1.2 Dフリップフロップ(Dff8)

3.2.1.3 リセット付き DFF (Dff8r)

3.2.1.4 リセット値付きDFF(Dff8p)

3.2.1.5 非同期リセット付き DFF (Dff8ar)

3.2.1.6 バイトイネーブルの DFF (Dff16e)

3.2.1.7 D ラッチ (Exams/m2014 q4a)

3.2.1.8 DFF (Isems/m2014 q4b)

3.2.1.9 DFF(受験生/m2014 q4c)

3.2.1.10 DFF+gate(エグザム/m2014 q4d)

3.2.1.11 MuxとDFF (Mt2015 muxdff)

3.2.1.12 MuxとDFF(Exams/2014 q4a)

3.2.1.13 DFFとゲート(試験/ece241 2014 q4)

3.2.1.14 真理値表から回路を作成する(試験/ece241 2013 q7)

3.2.1.15 エッジの検出 (Edgedetect)

3.2.1.16 両エッジを検出する (Edgedetect2)

3.2.1.17 エッジキャプチャレジスタ(Edgecapture)

3.2.1.18 デュアルエッジトリガーフリップフロップ(Dualedge)

3.2.2 カウンタ

3.2.2.1 4ビットバイナリカウンタ(Count15)

3.2.2.2 10 進カウンタ (Count10)

3.2.2.3 再び10年カウンタ (Count1to10)

3.2.2.4 10年カウンターを表示する (Countslow)

3.2.2.5 カウンター1~12(試験/ece241 2014 q7a)

3.2.2.6 カウンター1000(Exams/ece241 2014 q7b)

3.2.2.7 4桁の10進カウンタ(Countbcd)

3.2.2.8 12 時間時計(カウントクロック)

3.2.3 シフトレジスタ

3.2.3.1 4ビットシフトレジスタ(Shift4)

3.2.3.2 左/右ローテータ (Rotate100)

3.2.3.3 1または8による左/右算術シフト(Shift18)

3.2.3.4 5ビットLFSR(Lfsr5)

3.2.3.5 3 ビット LFSR (Mt2015 lfsr)

3.2.3.6 32ビットLFSR(Lfsr32)

3.2.3.7 シフトレジスタ(Exams/m2014 q4k)

3.2.3.8 シフトレジスタ(Exams/m2014 q4b)

3.2.3.9 3入力LUT (Exams/ece241 2013 q12)

3.2.4 その他の回路

3.2.4.1 ルール90 (Rule90)

3.2.4.2 ルール110(Rule110)

3.2.4.3 コンウェイの人生ゲーム16x16 (Conwaylife)

3.2.5 有限ステートマシン

3.2.5.1 シンプルなFSM 1(非同期リセット)

3.2.5.2 シンプルなFSM1(同期型リセット)

3.2.5.3 シンプルFSM2(非同期リセット)

3.2.5.4 シンプルなFSM2(同期型リセット)

3.2.5.5 単純状態遷移3(Fsm3comb)

3.2.5.6 単純ワンショット状態遷移3 (Fsm3onehot)

3.2.5.7 シンプルFSM3(非同期リセット)(Fsm3)

3.2.5.8 シンプルFSM3(同期リセット)(Fsm3s)

3.2.5.9 ムーアFSMの設計 (Exams/ece241 2013 q4)

3.2.5.10 Lemmings 1 (Lemmings1)

3.2.5.11 レミングス2 (Lemmings2)

3.2.5.12 Lemmings 3 (Lemmings3)

3.2.5.13 Lemmings 4 (Lemmings4)

3.2.5.14 ワンホットFSM (Fsm onehot)

3.2.5.15 PS/2パケットパーサ (Fsm ps2)

3.2.5.16 PS/2パケット構文解析とデータパス (Fsm ps2data)

3.2.5.17 シリアルレシーバ (Fsm serial)

3.2.5.18 シリアル受信機とデータパス (Fsm serialdata)

3.2.5.19 パリティチェック付きシリアルレシーバ (Fsm serialdp)

3.2.5.20 シーケンス認識 (Fsm hdlc)

3.2.5.21 問 8: ミーリーFSMの設計 (Exams/ece241 2013 q8)

3.2.5.22 問5a:シリアル2の補数(ムーアFSM)(試験/ece241 2014 問5a)

3.2.5.23 問5b:直列2の補数(ミーリーFSM) (出題:ece241 2014 問5b)

3.2.5.24 問 3a: FSM (試験/2014 q3fsm)

3.2.5.25 Q3b: FSM(試験/2014 q3bfsm)

3.2.5.26 Q3c: FSMロジック(試験/2014 q3c)。

3.2.5.27 問 6b: FSM の次の状態の論理(Exams/m2014 q6b)

3.2.5.28 Q6c: FSMワンホットネクストステートロジック(Exams/M2014 q6c)

3.2.5.29 問 6: FSM (Exams/m2014 q6)

3.2.5.30 Q2a: FSM(試験/2012 q2fsm)

3.2.5.31 問2b: ワンホットFSM方程式(試験/ 2012 q2bの)

3.2.5.32 問2a: FSM(試験/2013 q2afsm)

3.2.5.33 Q2b: 別のFSM(試験/ 2013 q2bfsm)

3.3 より大きな回路の構築

3.3.1 周期1000のカウンタ(Exams/review2015 count1k)

3.3.2 4ビットシフトレジスタとダウンカウンター (試験/review2015 shiftcount)

3.3.3 FSM:シーケンス1101認識器 (Exams/review2015 fsmseq)

3.3.4 FSM: シフトレジスタの有効化 (Exams/review2015 fsmshift)

3.3.5 FSM:完全なFSM (Exams/review2015 fsm)

3.3.6 タイマーの完成 (Exams/review2015 fancytimer)

3.3.7 FSM: ワンホット論理式 (Exams/review2015 fsmonehot)

4検証を行う。シミュレーションを読む

4.1 コードのバグを発見する

4.1.1 Mux (バグ mux2)

4.1.2 NAND (不具合 nand3)

4.1.3 Mux (Bugs mux4)

4.1.4 Add/sub (Bugs addsubz)

4.1.5 ケースステートメント (Bugs case)

4.2 シミュレーション波形から回路を作る

4.2.1 組合せ回路1(Sim/circuit1)

4.2.2 組合せ回路2(Sim/circuit2)

4.2.3 組合せ回路3(Sim/circuit3)

4.2.4 組合せ回路4 (Sim/circuit4)

4.2.5 組合せ回路5 (Sim/circuit5)

4.2.6 組合せ回路6 (Sim/circuit6)

4.2.7 順序回路7 (Sim/circuit7)

4.2.8 順序回路8 (Sim/circuit8)

4.2.9 順序回路9 (Sim/circuit9)

4.2.10 順序回路10 (Sim/circuit10)

5検証を行います。シミュレーションを読む

5.1 クロック(Tb/clock)

5.2 テストベンチ1 (Tb/tb1)

5.3 ANDゲート(Tb/and)

5.4 テストベンチ2 (Tb/tb2)

5.5 Tフリップフロップ(Tb/tff)