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、クロックゲーティング、遅延)を理解することが重要

コメント