同期設計の基本

RTL設計

1. この記事で学べること

  • 同期設計とは何か、その基本思想と目的
  • クロック、フリップフロップ、セットアップ/ホールドなどの基礎概念
  • 同期設計が実務で広く採用される理由
  • 誤解しやすいポイントと注意点

2. 概要(全体像)

同期設計(Synchronous Design)とは、クロック信号を基準に回路の状態遷移を制御する設計手法です。
デジタル回路の大半は同期設計を前提に構築されており、SoC、FPGA、ASIC などあらゆる分野で標準的なアプローチとなっています。

同期設計の中心にあるのは 「フリップフロップ(FF)による状態保持」「クロック境界でのデータの安定性」 です。
これにより、回路の動作を予測可能にし、タイミング解析や検証を体系化できます。


3. なぜ重要なのか(背景・目的)

同期設計が重要視される理由は以下の通りです。

予測可能性の確保

クロックに同期して動作するため、回路の状態遷移が明確で、設計者が意図した動作を保証しやすい。

タイミング解析が可能

セットアップ/ホールド、クロック遅延、スキューなどを定量的に扱えるため、静的タイミング解析(STA) による品質保証が可能になる。

大規模化への対応

非同期設計では規模が大きくなるほど複雑性が急増するが、同期設計は階層化・モジュール化が容易で、現代の数千万〜数億ゲート規模の SoC を成立させている。

検証容易性

同期設計は動作が安定しているため、シミュレーション・形式検証・CDC 検証などの手法が適用しやすい。


4. 基本概念の整理

クロック(Clock)

定義:回路の状態遷移を制御する基準信号。
:100 MHz のクロック → 10 ns ごとに立ち上がり/立ち下がりが発生。
実務での意味:タイミング制約の基準となり、設計全体の性能(周波数)を決める。


フリップフロップ(Flip-Flop, FF)

定義:クロックエッジで入力値を取り込み、次のクロックまで保持する記憶素子。
:D-FF(最も一般的)
実務での意味:同期設計の基本単位。FF 間の経路が「タイミングパス」となる。


セットアップ時間(Setup Time)

定義:クロックエッジより前に入力データが安定していなければならない最小時間。
:セットアップ 100 ps → クロック前 100 ps 以内にデータが変化すると不安定。
実務での意味:セットアップ違反は「遅すぎる」パスで発生し、性能限界を決める。


ホールド時間(Hold Time)

定義:クロックエッジの後も入力データが保持されるべき最小時間。
:ホールド 50 ps → クロック直後 50 ps 以内にデータが変化すると不安定。
実務での意味:ホールド違反は「速すぎる」パスで発生し、配線遅延やバッファ挿入で調整する。


クロックドメイン(Clock Domain)

定義:同一クロックで動作する回路の集合。
:CPU ドメイン(1 GHz)、Peripheral ドメイン(200 MHz)
実務での意味:異なるドメイン間では CDC(Clock Domain Crossing)対策が必須。


同期回路と組み合わせ回路

  • 同期回路:FF を含み、クロックで状態が変わる
  • 組み合わせ回路:FF を含まず、入力が変わると即座に出力が変わる
    実務での意味:FF → 組み合わせ回路 → FF の構造が同期設計の基本パターン。

5. 誤解しやすい点・注意点

「同期設計=安全」ではない

クロックがあるだけでは安全ではなく、セットアップ/ホールドが満たされて初めて同期動作が保証される

クロックゲーティングは慎重に扱う

省電力のためにクロックを止める手法だが、誤ったゲーティングはグリッチを生み、重大な不具合につながる。

CDC を無視すると致命的

異なるクロック間でのデータ転送はメタステーブルを引き起こすため、同期化回路や FIFO が必須。

組み合わせ回路の遅延は無視できない

FF 間の遅延がセットアップ違反を引き起こすため、論理段数や配線長を意識した設計が必要。


6. 関連する専門用語の整理

用語定義実務での意味
クロック状態遷移の基準信号性能(周波数)とタイミング制約の基準
フリップフロップクロックでデータを保持する素子同期回路の基本単位
セットアップ時間クロック前にデータが安定すべき時間遅いパスの制約、性能限界
ホールド時間クロック後にデータを保持すべき時間速いパスの制約、配線調整
クロックドメイン同一クロックで動作する領域CDC 対策の単位
組み合わせ回路FF を含まない論理FF 間の遅延を形成
CDCクロックドメイン間のデータ転送メタステーブル対策が必須

7. まとめ

  • 同期設計は クロックと FF を基準に回路を制御する設計手法
  • セットアップ/ホールドを満たすことで動作が保証される
  • 大規模化・高性能化を支える標準的な設計アプローチ
  • 誤解しやすいポイント(CDC、クロックゲーティング、遅延)を理解することが重要

コメント

タイトルとURLをコピーしました