デジタル回路のタイミング理解:セットアップ時間、ホールド時間、汚染遅延、クロックスキュー
1 min
- デジタル設計におけるタイミングパラメータ
- 伝搬遅延と汚染遅延
- クロックスキュー(Clock Skew)
- セットアップ時間(Setup Time)
- ホールド時間(Hold Time)
- タイミングパス
- タイミング方程式
- 数値例(単一サイクルパス)
- 違反の原因と対策
- 設計テクニック
- まとめ
本記事は、デジタル回路における伝搬遅延(Propagation Delay)シリーズの第2回です。デジタル回路設計では、必ず満たすべき重要な要素が2つあります。1つ目は機能(Functionality)、2つ目は**タイミング(Timing)**です。前回の記事では基本ブロックについて解説しました。
電子回路において「時間」とはクロックの刻みそのものです。すべてはクロックエッジを基準に動作しており、動作周波数や処理速度もこのクロックによって決まります。マイクロコントローラ、FPGA、ASICを扱う場合、回路を正しく動作させるためにはタイミング制約を満たす必要があります。本記事では、設計時に考慮すべき主要なタイミング制約について解説します。
本ガイドでは以下の基礎項目を扱います:
- セットアップ時間(Setup Time)
- ホールド時間(Hold Time)
- 汚染遅延(最小遅延 / Contamination Delay)
- クロックスキュー(Clock Skew)
さらに、それらがタイミング方程式や実設計でどのように相互作用するかも説明します。
デジタル設計におけるタイミングパラメータ
組み合わせ回路ブロックでは、次の2つの遅延指標が重要です。
- Tpd(最大伝搬遅延) 組み合わせ回路を通過する最悪ケース(最長)の遅延。セットアップチェックで使用されます。
- Tcd(最小汚染遅延) 組み合わせ回路を通過する最短遅延。ホールドチェックで使用されます。
- クロック周期(Tclk) 連続するクロックエッジ間の時間。
伝搬遅延と汚染遅延
● 伝搬遅延(Tpd, max)
ゲートやロジックブロックを通過する最長遅延。
セットアップ時間の検証で使用されます。最も遅く到達するデータがセットアップ要件を満たす必要があるためです。

● 汚染遅延(Tcd, min)
ゲートやロジックブロックを通過する最短遅延。
ホールド時間の検証で使用されます。最も早く変化するデータを考慮する必要があるためです。
クロックスキュー(Clock Skew)
クロックがソースフリップフロップとキャプチャフリップフロップに到達する時間差を指します。主な原因は以下の通りです:
- クロックツリーの不均衡
- 配線差異
- バッファ挿入
- 合成/CTS選択
- ローカルクロックゲーティング
- PLLやバッファのジッタ
- 正のスキュー:キャプチャ側クロックが遅れて到達
- 負のスキュー:キャプチャ側クロックが早く到達
設計上、セットアップを緩和する目的で意図的にスキューを導入することもあります(Useful Skew)。
セットアップ時間(Setup Time)
セットアップ時間(Tsu)は、アクティブクロックエッジの前にデータが安定していなければならない最小時間です。

データ到達が遅すぎると、キャプチャフリップフロップが誤った値をサンプリングする可能性があります。最悪の場合、メタステーブル状態に陥ることもあります。
セットアップ違反は主に**最大伝搬遅延(Tpd)**が大きすぎる場合に発生します。
ホールド時間(Hold Time)
ホールド時間(Thold)は、クロックエッジの後にデータが安定していなければならない最小時間です。
データが早く変化しすぎると、キャプチャフリップフロップが不正な値をサンプリングする可能性があります。
最も早い到達時間は:
Tcq + Tcd
これがホールド時間を満たさなければなりません。
タイミングパス
典型的な同期タイミングパス:
Launch FF → Tcq → 組み合わせ回路 → Tpd/Tcd → Capture FF → Setup/Holdチェック
- Launchイベント:フリップフロップAが新しいデータを出力
- Captureイベント:フリップフロップBが次クロックエッジでデータを取得
タイミング方程式
● セットアップ条件

● ホールド条件

※Jclkはクロックジッタ。安全マージンを減少させる要素として扱います。
数値例(単一サイクルパス)
与えられた値:
- Tclk = 5.0 ns
- Tskew = +0.10 ns
- Tcq = 0.12 ns
- Tpd = 2.80 ns
- Tsu = 0.08 ns
- Tcd = 0.02 ns
- Thold = 0.05 ns
セットアップチェック
必要時間 = 0.12 + 2.80 + 0.08 − 0.10 = 2.90 ns
Slack = 5.00 − 2.90 = 2.10 ns → PASS
ホールドチェック
許容時間 = 0.12 + 0.02 − 0.10 = 0.04 ns
Slack = 0.04 − 0.05 = −0.01 ns → 10psのホールド違反
実設計ではこのように、セットアップは余裕があってもホールド違反が発生することは珍しくありません。
違反の原因と対策
セットアップ違反対策
- パイプライン挿入
- ロジック深さ削減
- 高ドライブセル使用
- 配線最適化
- 電圧改善
ホールド違反対策
- バッファ挿入
- 意図的な遅延追加
- 配線を長くする
- マルチサイクルパス設定
設計テクニック
● Useful Skew
セットアップを緩和するために意図的にスキューを導入。
● マルチサイクルパス
複数サイクルを許容できるパスはSTAで適切に制約設定。

まとめ
本記事では、セットアップ時間とホールド時間を中心に、汚染遅延やクロックスキューとの関係を詳しく解説しました。
- セットアップは最大遅延で決まる
- ホールドは最小遅延で決まる
- 機能だけでなくタイミングも同じくらい重要
デジタル回路設計では、機能とタイミングの両立が不可欠です。本シリーズでは今後もタイミング関連の高度なテーマを扱っていきます。

学び続ける
電子増幅回路:初心者のための包括ガイド
電子増幅回路は、現代のエレクトロニクスにおいて最も重要なコンポーネントの一つです。音楽を聴くとき、スマートフォンを使うとき、産業機器を操作するときなど、増幅器は弱い信号を実用的なレベルに高める重要な役割を果たしています。 しかし、増幅回路とは一体何なのでしょうか?どのように動作し、なぜそれほど重要なのでしょうか?簡単な言葉で解説していきましょう。 1. 電子増幅回路とは? 電子増幅回路は、入力信号をより強力にする装置または部品の集合体です。この信号は、オーディオ信号、高周波信号、または処理や伝送のために増幅する必要があるその他の弱い電気信号である可能性があります。 増幅器をトランペットのように考えてみてください。入力信号である小さな声を使って、誰もが聞こえるほど大きな出力信号を生成します。 2. 増幅回路の主要コンポーネント 増幅器の動作を理解するには、回路の基本的な構成要素を知ることが役立ちます。 ⦁ トランジスタ: 増幅器の動作はトランジスタの特性に由来します。トランジスタは、入力信号を強くすることで増幅プロセスを制御します。 ⦁ 抵抗器: 抵抗器は電流の流れを制御し、増幅器が得る増幅度(ゲイ......
デジタル電子回路:包括ガイド
デジタル電子回路は現代技術の基盤であり、スマートフォンからコンピューター、さらにはスマートホームデバイスに至るまで、あらゆるものに電力を供給しています。 これらの回路は、通常はバイナリ値(0と1)として表される離散信号を使用して動作し、デジタル世界のバックボーンとなっています。 この記事では、デジタル電子回路とは何か、その仕組み、構成要素、そして日常生活での応用について詳しく解説します。 1. デジタル電子回路とは? その核心は、デジタル信号を扱う電子回路です。アナログ回路が連続信号で動作するのに対し、デジタル回路は離散信号で動作します。本質的にバイナリであるこれらの信号は、ON(1)またはOFF(0)のいずれかになります。このバイナリロジックにより、デジタル回路は非常に信頼性が高く、ノイズによる誤動作が起こりにくくなり、これは現代のエレクトロニクスにおける大きな利点です。 最も精密で正確なデバイスはデジタル回路を使用しています。例としては、マイクロプロセッサ、通信システム、メモリデバイスなどが挙げられます。 2. デジタル電子回路の構成要素 デジタル回路の重要な各部分は、システム全体が機能するた......
直列回路と並列回路:主な違い、利点、および応用
直列回路と並列回路は、電子工学を理解し、効率的な電気システムを設計するための基本です。これらの構成は、抵抗、コンデンサ、ダイオードなどの部品が回路内でどのように接続されるかを定義し、システム全体の動作に影響を与えます。通常、回路図には、特定の機能を実行するために、直列と並列の要素が互いに組み込まれたものが多く含まれています。1つの電池と1つの負荷抵抗だけで構成される回路は解析が非常に簡単ですが、実際のアプリケーションで見られることはあまりありません。通常、2つ以上の部品が一緒に接続された回路が見られます。これらの2つの基本的な接続方法を組み合わせることで、より複雑な直並列回路を作成できます。 LEDアレイを制御するために新しく組み立てられた回路基板をデバッグしていると想像してください。マルチメーターの電圧表示が計算と一致しません。これは必ずしもマルチメーターの故障を示すものではなく、デバイス内の直列回路と並列回路の動作に関する重要な何かを示している可能性があります。エンジニアとして、電気回路が電子機器に電力を供給し制御するための基本であることを理解しています。 このガイドでは、直列回路と並列回路の......
ブランク回路基板(ベアPCB)とは何か、そしてその使用方法
電子部品が実装されていないプリント基板(PCB)は、ブランクPCB、ベアPCBと呼ばれます。一方、PCBAは、必要なすべての電子部品が実装されたPCBです。回路基板には銅の層が覆われているため、ブランクPCB基板は「銅張り」回路基板と呼ばれることもあります。ブランクPCBは、エポキシガラス繊維、銅箔、およびPCBインクの層で構成されるコンピュータ基板です。銅シートの前には、ブランクプリント基板上に非導電性のプリプレグ層があります。基板にはベースシートもあります。銅で満たされた穴が、複数の銅配線層を接続します。 片面、両面、多層のベアPCBなど、いくつかの異なるタイプがあります。その複雑さと有用性に基づいて、スタックアップを選択することが可能です。これらを作成するために、FR-4(ガラス繊維エポキシ)、ポリイミド(フレキシブル基板用)、または高負荷用途向けのメタルコア材料などのベース材料が使用されます。これらの一部については、この記事の次のセクションで説明します。この記事では、ブランクPCBとは何か、その用途、および製造方法について説明します。また、JLCPCBの製造サービスを使用してブランクPCB......
電荷とは何か?定義、種類、例
電荷は、電子工学において最も基本的かつ根本的な量です。電荷とは、一部の素粒子が持つ物質の基本的な性質であり、粒子が電場や磁場によってどのような影響を受けるかを決定します。そして、電池(または電源)からエネルギーを運びながら回路内を流れる電荷の流れは、電気として知られています。電気が流れるためには、電池からワイヤーを通り部品を経由して再び電池に戻る、完全な回路が存在しなければなりません。メートル・キログラム・秒単位系およびSI単位系における電荷の単位はクーロンであり、電流が1アンペアの値を持つときに、毎秒電気回路内の導体の断面を流れる電荷の量として定義されます。 私たちは、電気が電池の正極(+)端子から負極(-)端子へ流れると言います。正の電荷を持つ粒子がこの方向に回路内を流れると想像できます。この電気の流れは慣用電流と呼ばれ、電子工学全体で使用される流れの方向です。しかし、これは完全な答えではありません。なぜなら、実際に移動する粒子は負の電荷を持ち、それらは反対方向に流れるからです!この記事では、電気と電荷についてさらに詳しく見ていきましょう。 1. 1Cの定義 1 Cは、ワイヤーを流れる電流が1......
デジタル101:デジタル論理設計の基本構成要素
デジタル101:デジタル論理設計の基本構成要素 デジタル回路設計は、カスタム集積回路(IC)とマイクロコントローラを中心に展開します。多くのエンジニアがアナログシステムに注力する一方で、今日の市場需要の約70%はデジタル設計エンジニアに向けられています。しかし、デジタル設計には具体的に何が含まれるのでしょうか?マイクロコントローラやICを構成する基本的な構成要素にはどのようなものがあるのでしょうか? アナログ回路とデジタル回路の両方の核心にあるのはトランジスタです。アナログ設計では通常、少数のトランジスタしか使用しませんが、デジタル設計は全く異なる規模に達します。例えば、AppleのM4チップには280億個のトランジスタが含まれており、それぞれのサイズはわずか3ナノメートルです。これは想像を絶する規模です。 なぜデジタル設計にはこれほど膨大な数のトランジスタが必要なのでしょうか?その答えは、デジタルシステムが0と1のバイナリ論理を使用して動作するという点にあります。この記事では、論理ゲート、メモリ要素、機能ユニットなどのデジタル設計に不可欠な構成要素を探り、それらがどのように組み合わさって現代のエ......
