FPGA×HDL超入門 2種類のリセット回路
ソフトにはクロック同期で.電源ON後は非同期で
電源ON後のレジスタを初期化する
図1 FPGAやLSIの電源投入後は,レジスタやフリップフロップの初期値が不定だ.意図した初期状態の保証に欠かせまいリセット処理にはクロック非同期型と同期型があり使い分ける.画像クリックで動画を見る.または記事を読む.[提供・著]森岡 澄夫
詳細:[VOD/KIT]Xilinx製FPGAで始めるHDL回路設計入門 |
非同期リセット:電源ON後の初期化に最適
非同期リセットは,クロック信号に依存せず,即座に回路の状態をリセットする機能をもちます.電源ON後にレジスタやフリップフロップの初期値が不定になる場合,非同期リセットを用いることですべてを既定の状態(通常は0)に初期化できます.
非同期リセットは設計における注意点も多く存在します.クロック信号が動作している状態で非同期リセットを使用すると,メタステーブル状態や誤動作を引き起こす可能性があります.この問題を回避するため,リセット解除時にはクロックとの同期を取る設計が推奨されます.
同期リセット:制御性と安定性を両立
同期リセットはクロック信号と同期してリセット処理を行います.このため,リセット操作が制御されやすく,誤動作を防ぎやすいという利点があります.システム動作中に特定の条件で回路を初期化したい場合,同期リセットを使用することで意図したタイミングで正確にリセットを実行できます.
同期リセットは通常,ソフトウェアやほかの制御回路からのリセット信号として使用されます.また,設定可能な値が非同期リセットと異なり柔軟で,初期化後の回路動作を細かく制御することが可能です.
用途に応じたリセット選択と実装
非同期リセットと同期リセットは,それぞれの特徴を活かして使いわけることが肝要です.電源ON直後には非同期リセットを,動作中の特定の条件下では同期リセットを使用する設計が一般的です.以下はリセット回路の用途に基づく選択例です.
- 非同期リセット:電源投入直後の回路全体の初期化に最適
- 同期リセット:特定条件でのリセット操作が必要な場合やソフトウェア制御下でのリセットに有効
誤動作しない回路設計の基礎
リセット回路の選択と実装は,FPGA設計の初級段階で習得すべき重要なスキルです.
1.同期設計を徹底する
同期設計は,すべての信号をクロック信号に基づいて処理することを意味します.同期設計が守られない場合,回路が意図しないタイミングで動作し,誤動作を引き起こす可能性があります.入力信号を適切にサンプリングせずに処理すると,グリッチやメタステーブル状態が発生することがあります.
2.初期状態の保証
多くのFPGAやLSIでは,電源投入後のレジスタやフリップフロップの初期値が不定です.このため,意図した初期状態を保証するにはリセット処理が必要です.リセット処理を省略すると,予測不能な動作が生じることがあります.
3.リセット回路の設計習慣
リセット回路の設計は,初級者の段階で正確に行う癖をつけることが大切です.適切なリセット回路がないと,高機能な回路を設計しても誤動作が頻発する可能性があります.同期・非同期リセットの特性を理解し,適切な場面で使いわけることで,信頼性の高い回路設計が可能になります.〈著:ZEPマガジン〉
著者紹介
- NTT,IBM,Sony,NECの各研究所において高性能回路IPやハイレベル・シンセシスの研究,およびプレイステーションなどの製品用SoC開発に従事した後,現職にて民間宇宙ロケットの飛行制御コンピュータの研究開発に従事.FPGAや高位合成を活用している
著書
- [VOD/KIT]一緒に動かそう!Lチカから始めるFPGA開発【基礎編&実践編】,ZEPエンジニアリング株式会社.
- [VOD/KIT]Xilinx製FPGAで始めるHDL回路設計入門,ZEPエンジニアリング株式会社.
- [VOD/KIT]一緒に動かそう!Lチカから始めるFPGA開発【基礎編】,ZEPエンジニアリング株式会社.
- [VOD/KIT]Zynqで初めてのFPGA×Linux I/O搭載カスタムSoC製作,ZEPエンジニアリング株式会社.
- [VOD/KIT]Tiny FPGA実習!高校生から始めるHDLプログラミング,ZEPエンジニアリング株式会社.
- [VOD/Pi KIT]カメラ×ラズパイで一緒に!初めての画像処理プログラミング,ZEPエンジニアリング株式会社.
- スパコンでも破れない!高セキュリティ・マイコン・プログラミング,ZEPエンジニアリング株式会社.
- [YouTube]宇宙軌道ロケット 成功の方程式
- [YouTube]宇宙ロケットの電子回路開発
- FPGA/Zynqで作るカスタム・コンピュータ・チップ,ZEPエンジニアリング株式会社.
- Lチカ入門!ソフトウェア屋のためのHDL事はじめ,ZEPエンジニアリング株式会社.
- USBカメラの動画キャプチャ&描画用 Pythonプログラム,ZEPエンジニアリング株式会社.
- ライブラリ完備!組立式ラズパイI/O増設ボード MCC DAQ HATSファミリ誕生,ZEPエンジニアリング株式会社.
参考文献
- [VOD/KIT] 実習キットで一緒に作る!オープンソースCPU RISC-V入門,ZEPエンジニアリング株式会社.
- [VOD/KIT]ARM Cortex-A9&FPGA内蔵SoC Zynqで初体験!オリジナル・プロセッサ開発入門,ZEPエンジニアリング株式会社.