デジタル回路設計

[] [] []


0. きっかけ

デジタル回路の一般常識

 

1. 非同期クロック間転送(CDC)

同期設計ルール

クロックスキューとジッタ

同期なクロックと非同期なクロック

2FFシンクロナイザ

MUXシンクロナイザ

MUXシンクロナイザの使用上の注意

ハンドシェイク・シンクロナイザ

グレイコードカウンタ

同期FIFOの作り方

非同期FIFOの作り方

非同期FIFOを使ったCDC転送

一致検出シンクロナイザ

CDC転送方法のまとめ

非同期リセットの解除タイミング

マルチサイクルパス

補足 - ハザード

補足 - FPGAの合成結果によってハザードが出る例

 

2. ステートマシン(FSM)

ステートマシンとデータパス

ムーアマシンとミーリーマシン

ステートの決め方

ステートのエンコーディング

未定義のステート

FSM vs カウンタ

 

3. イプライン

パイプライン処理のアイデア

広義のパイプライン

 

4. 定小数点

2補数表現

加算・乗算結果のビット幅

符号付き乗算(Baugh-Wooley)

符号付き乗算(定数加算法)

符号なし除算(回復法)

符号つき除算(非回復法)

正規化の除算(非回復法)

定数による除算

開平(回復法)

sin,cos(CORDIC,回転モード)

atan2(CORDIC,ベクタモード)

ベクタ(x,y)の長さ

丸め

補足-10進数と2進数の桁数の関係

補足-固定小数点テンプレートの使い方

 

5. デジタル回路の仕様の書き方

全体の動作を書く

文章<箇条書き<真理値表<式,疑似コード

状態遷移図の書き方

入出力仕様の書き方

レジスタ仕様の書き方

使用範囲⊆実装範囲


[] [] []

最終更新 2022.07.03 zakii