「RTL設計スタイルガイド概要」
1. 搭載可能ゲート数の推移
2. 設計規模
3. IPを利用した設計
4. 再利用を妨げる要因
5. デバイスに依存する要因の排除
6. ツールに依存する記述を排除
7. RTL設計スタイルガイドとは
8. RTL設計スタイルガイドの内容
9. RTL設計スタイルガイドの利用方法
「第1章 基本設計制約」
1. 命名規則
2. 命名規則
3. 階層識別文字1
4. 階層識別文字2
5. 信号には意味のある名前を付ける
6. パラメーターの命名規則
7. 非同期の端子は、初期リセットのみ
8. リセットラインのハザード
9. 初期リセットは非同期リセット
10. 同期リセットでの問題
11. 同期リセットで必ず値を確定させる方法
12. 同期リセットFFの階層化
13. 非同期による初期リセットの注意
14. 非同期による初期リセットの注意2
15. 同期化された安全なリセット信号
16. クロックツリーシンセシス
17. クロック生成とリセット生成
18. クロック系統図
19. 基本ブロック(基本階層)の考え方
20. 基本ブロックの構造
21. 基本ブロックとサブブロック
22. データパス部とコントロールロジックの分離
23. 誤った階層の組み方
|
「第2章 RTL記述テクニック」
1. always文とfunction文
2. functionとalwaysによる記述の注意点
3. 論理式の記述はif, caseよりも面積、速度的に有利
4. 論理式の記述はif, caseよりも面積、速度的に有利2
5. 可読性の悪い記述は、検証、再利用に不利
6. 配列の範囲指定
7. ラッチを生成する危険を避ける
8. 誤ってラッチを生成させる例
9. ラッチを生成させない記述
10. ブロッキング代入とノンブロッキング代入
11. 組み合わせ回路での初期値記述の注意点
12. 順序回路での同一信号への複数代入は禁止
13. シリアル・パラレル変換記述
14. if文を並べた記述
15. 非同期部(ゲーティドクロック)の誤動作
16. 非同期部の動作の保証
17. 非同期リセット・セットはどちらか1つにする
18. FF記述の制限
19. 回路構造を意識した記述
20. always文による組み合わせ回路記述の注意点
21. always文内に複数の信号を記述しない
22. if文のスタイル
23. if文のスタイル2
24. case文の記述
25. default項を使用する
26. 大きなテーブルは分割する
27. case文記述の考え方(例)
28. ドントケア条件を代入した信号の制限
29. プライオリティロジック(if)
30. プライオリティロジック(casex, casez)
31. casexの記述
32. casex文で不定値をばらばらに記述しない
33. parallel_caseに頼った記述
34. for文記述
35. for文による組み合わせ回路の記述
36. リソースシェアリング
37. データパス構造はassign文で記述する
|