異なるクロックで動作する回路と回路の接続部分に潜む注意点 ...70...

1
70 今さら聞けないクロック・ドメイン・クロッシング(CDC)検証の実際 ASIC 設計者には既に当たり前になっている CDC の検証は,近年 FPGA 設計者からも強く求められるようになってきました.CDC とは,クロック・ドメイン・クロッシングの略です.非同期のクロック・ドメイン間のデータの受け渡しを行う箇所では不具合が生 じやすいことから,設計検証時には特に注意する必要があります.FPGA 設計における CDC 検証が,なぜ近年になって強く求められ るようになってきているのでしょうか,一緒に考えていきましょう. 異なるクロックで動作する回路と回路の接続部分に潜む注意点 今さら聞けないクロック・ドメイン・ クロッシング(CDC)検証の実際 扇谷 信孝 Nobutaka Ogiya がちです. 不具合の発生しやすい押さえておくべきポイントも それほど多くないため,社内レビューが有効に機能し ていて,完全に掌握できていました.プロジェクトの 人数も限られており,少数のエキスパート,中堅エン ジニア,新人のバランスもよく,プロジェクト内の教 育も良いスパイラルが描けています. 市場に投入した製品が不具合を起こしても,すぐに 修正したプログラム・データを作成し,ネットワーク 越しのプログラムなどで対応してきました.FPGA は 書き換え可能であるというメリットを活かした運用で す. CDC 検証が近年求められている背景 製品のライフサイクルは短くなり,アプリケーショ ンに求められる機能は多くなってきています. こういった市場要求に対応するように,FPGA デバ イスも常に進化を続けています.年々ハードウェア・ リソースを増やし,高い動作周波数に対応し,搭載で きる CPU 性能も向上させています. タイム・トゥ・マーケットでさまざまなニーズに対 応するためにも,一つのFPGAデバイスに実装すべ き機能が多くなり,全てをスクラッチで設計すること は,時間的な制約から非常に難しいと言えます. 設計者は要求事項を満足するために,既存の設計資 産を検討し,新規設計部分と組み合わせて機能を実現 する必要があります.ここで既存の設計資産とは,社 FPGA 開発と品質の確認 1 これまでの FPGA デザイン 設計者は,FPGA 開発ツールのデザイン・フローに 従って設計作業を進めてきました. 設定から始まって,RTLエントリ,解析,デザイ ン・ルール・チェック,合成,配置配線,バイナリ生 成して,FPGA のコンフィグレーションまで,一括し てFPGA開発ツールの閉じた環境で設計作業は完結 します.ベンダによって多少違っても,この手順に従 えば,短時間のうちに実機上で機能を確認することが できます(図1). FPGA開発ツールが独自にDRC(デザイン・ルー ル・チェック)を持っているため,サード・ベンダの リント・ツールも特に必要になることはありません. 実機上であれば実時間で機能の動作確認が行えるの で,シミュレーションやカバレッジの確認などのプロ セスを簡略化することも現場ではよく行われています. プロジェクト・マネージャの立場からは,もう少し 手堅く,例えばブロック・レベルの検証を積み上げて いくボトムアップの設計検証や,品質の確認をするた めに,カバレッジ・データの取得なども期待したいと ころですが,工数の増長を避けたいことと,やはり実 機で動いているところを目で見て早く安心したいとい う心理が働いて,つい現場のやり方に流されてしまい クロック・ ドメイン・ クロッシング って何? 設定 FPGA開発ツールの環境 RTLエントリ 解析 ルール・チェック 合成 シミュレーション 配置配線 バイナリ生成 コンフィグレーション デザイン・フロー 図 1 FPGA 開発ツールのデザイン・フロー

Upload: others

Post on 05-Mar-2021

0 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: 異なるクロックで動作する回路と回路の接続部分に潜む注意点 ...70 今さら聞けないクロック・ドメイン・クロッシング(CDC)検証の実際

70 今さら聞けないクロック・ドメイン・クロッシング(CDC)検証の実際

 ASIC設計者には既に当たり前になっているCDCの検証は,近年FPGA設計者からも強く求められるようになってきました.CDCとは,クロック・ドメイン・クロッシングの略です.非同期のクロック・ドメイン間のデータの受け渡しを行う箇所では不具合が生じやすいことから,設計検証時には特に注意する必要があります.FPGA設計におけるCDC検証が,なぜ近年になって強く求められるようになってきているのでしょうか,一緒に考えていきましょう.

異なるクロックで動作する回路と回路の接続部分に潜む注意点今さら聞けないクロック・ドメイン・

クロッシング(CDC)検証の実際扇谷 信孝 Nobutaka Ogiya

がちです. 不具合の発生しやすい押さえておくべきポイントもそれほど多くないため,社内レビューが有効に機能していて,完全に掌握できていました.プロジェクトの人数も限られており,少数のエキスパート,中堅エンジニア,新人のバランスもよく,プロジェクト内の教育も良いスパイラルが描けています. 市場に投入した製品が不具合を起こしても,すぐに修正したプログラム・データを作成し,ネットワーク越しのプログラムなどで対応してきました.FPGAは書き換え可能であるというメリットを活かした運用です.● CDC検証が近年求められている背景 製品のライフサイクルは短くなり,アプリケーションに求められる機能は多くなってきています. こういった市場要求に対応するように,FPGAデバイスも常に進化を続けています.年々ハードウェア・リソースを増やし,高い動作周波数に対応し,搭載できるCPU性能も向上させています. タイム・トゥ・マーケットでさまざまなニーズに対応するためにも,一つのFPGAデバイスに実装すべき機能が多くなり,全てをスクラッチで設計することは,時間的な制約から非常に難しいと言えます. 設計者は要求事項を満足するために,既存の設計資産を検討し,新規設計部分と組み合わせて機能を実現する必要があります.ここで既存の設計資産とは,社

FPGA開発と品質の確認1

● これまでのFPGAデザイン 設計者は,FPGA開発ツールのデザイン・フローに従って設計作業を進めてきました. 設定から始まって,RTLエントリ,解析,デザイン・ルール・チェック,合成,配置配線,バイナリ生成して,FPGAのコンフィグレーションまで,一括してFPGA開発ツールの閉じた環境で設計作業は完結します.ベンダによって多少違っても,この手順に従えば,短時間のうちに実機上で機能を確認することができます(図1). FPGA開発ツールが独自にDRC(デザイン・ルール・チェック)を持っているため,サード・ベンダのリント・ツールも特に必要になることはありません.実機上であれば実時間で機能の動作確認が行えるので,シミュレーションやカバレッジの確認などのプロセスを簡略化することも現場ではよく行われています. プロジェクト・マネージャの立場からは,もう少し手堅く,例えばブロック・レベルの検証を積み上げていくボトムアップの設計検証や,品質の確認をするために,カバレッジ・データの取得なども期待したいところですが,工数の増長を避けたいことと,やはり実機で動いているところを目で見て早く安心したいという心理が働いて,つい現場のやり方に流されてしまい

クロック・ドメイン・クロッシングって何?

設定

FPGA開発ツールの環境

RTLエントリ 解析ルール・チェック

合成

シミュレーション

配置配線 バイナリ生成 コンフィグレーション

デザイン・フロー

図1 FPGA開発ツールのデザイン・フロー