新人技術者のためのロジカル・シンキング入門(6) ―― ハードウェア基礎の基礎

冴木 元

tag: 組み込み

技術解説 2008年9月25日

【2】ソフト技術者のための「クロック」と「リセット」(2/2)

2)リセットは1クロック分とは限らない

 リセット処理は,かならずしも1クロックで終わるとは限らないことに注意が必要です.回路内のフリップフロップをすべて初期化するのに1クロックですむとは限らないからです(大きな回路の場合,リセットですべてのフリップフロップが初期化されるわけではない).

 したがって,「リセット」してから「リリース」するまでの間にwait(待機)処理が必要なことがあります.例えば,「リセット後,リリースまで2クロック分のwaitが必要」とハードウェアの仕様書に書かれているのに気づかずにプログラムを書いてしまった場合,そのハードウェアが未定義の動作をしてしまうことがあるので注意が必要です.

3)リセット後のリリースが自動的になされることも

 リリースの設定はプログラムで明示的に設定する設計もあれば,リセット後に回路が自動的に戻してくれる場合もあります.リセット後のリリースが回路で自動的に行われる場合,2)でお話ししたwaitは,リリースの設定レジスタの値が'0'から'1'に戻るのを待つ処理に変わります.

4)イネーブルと区別

 リセットはイネーブル信号と区別する必要があります.両者には図7に示したような違いがあります.

 リセットは内部のフリップフロップに保存されているステート情報を初期値に戻す信号のことですが,イネーブルは単に通常の処理を行うかどうかを決めるための信号です.

 ディセーブル→初期化→イネーブルというシーケンスで回路の初期設定を行うことがあります.この場合のディセーブルはあくまで回路の動作を止めたにすぎないので,注意が必要です.仕様書をよく読んで,自分が設定しようとしている信号がただのイネーブルなのかリセットなのかを確認しましょう.

 両者を組み合わせて使う必要がある場合などは,例えばディセーブル→リセット→初期化→イネーブルというような使いかたになると思います.

組み込みキャッチアップ

お知らせ 一覧を見る

電子書籍の最新刊! FPGAマガジン No.12『ARMコアFPGA×Linux初体験』好評発売中

FPGAマガジン No.11『性能UP! アルゴリズム×手仕上げHDL』好評発売中! PDF版もあります

PICK UP用語

EV(電気自動車)

関連記事

EnOcean

関連記事

Android

関連記事

ニュース 一覧を見る
Tech Villageブログ

渡辺のぼるのロボコン・プロモータ日記

2年ぶりのブログ更新w

2016年10月 9日

Hamana Project

Hamana-8最終打ち上げ報告(その2)

2012年6月26日