CDC(クロックドメインクロッシング)とは
CDC(クロックドメインクロッシング)(Clock Domain Crossing)とは、異なるクロックで動く回路の間を信号が渡ることです。設計検証では、この境界で不安定な値やデータの取り違えが生じない構造とプロトコルを確認します。
周波数が同じでも位相関係が保証されなければ非同期です。一方、同期用フリップフロップを置くだけでは複数ビットの整合まで保証できません。
CDC(クロックドメインクロッシング)の仕組み
Section titled “CDC(クロックドメインクロッシング)の仕組み”受信側のクロックが入力の変化と重なると、フリップフロップがメタステーブル状態になることがあります。同期段は、その状態が後段へ伝わる確率を低くするために使います。1
クロックの境界は、RTLの接続だけでは判断できません。クロックの生成、切替え、リセットの関係を制約として与え、非同期経路を抽出します。
前後の工程と、処理する順番
Section titled “前後の工程と、処理する順番”クロックとリセットを定義し、ドメイン間の経路を抽出します。同期器の構造を確認した後、データ保持やハンドシェイクの条件を検証します。1
パルス幅が短いと受信側で取り逃がすため、パルスの伸長や要求・応答の方式を使います。バスでは各ビットを独立に同期させると値が混ざるので、FIFOや符号化も検討します。
処理後に確認すること
Section titled “処理後に確認すること”同期器の配置、未同期経路、パルスの捕捉、複数ビットの整合、クロックとリセット制約を確認します。
検証で除外した経路は、その前提が実機でも成り立つことを確かめます。クロック切替えや電源状態によって非同期関係が変わる場合も対象です。
トレードオフ
Section titled “トレードオフ”同期段を増やすと不安定状態の伝播を抑えやすくなりますが、遅延が増えます。転送量と待ち時間、回路規模を合わせて方式を選びます。
よくある質問(FAQ)
Section titled “よくある質問(FAQ)”CDC(クロックドメインクロッシング)は何をする工程ですか?
異なるクロックで動く回路の間を信号が渡ることです。設計検証では、この境界で不安定な値やデータの取り違えが生じない構造とプロトコルを確認します。
どの段階で行いますか?
クロックとリセットを定義し、ドメイン間の経路を抽出します。同期器の構造を確認した後、データ保持やハンドシェイクの条件を検証します。
何を管理しますか?
同期器の配置、未同期経路、パルスの捕捉、複数ビットの整合、クロックとリセット制約を確認します。
比較・違いを学ぶ
Section titled “比較・違いを学ぶ”1件を表示
- 1CDC(クロックドメインクロッシング)の公式技術資料synopsys.com ・ 2026年10月12日閲覧 ab