HDL時代に求められる論理回路設計とは ―― 回路記号を使わない設計手法の考え方
tag: 半導体 電子回路 ディジタル・デザイン
技術解説 2009年11月 6日
[コラム] 本稿のコンセプト
ここでは,論理回路をこれから学ぶ方のために書かれていますが,そうでないバリバリの設計者の方が,後輩に勧められるのかざっと目を通すこともあるでしょう.そんなエキスパートの皆さん向けに,本稿の考え方について説明します.
● 回路設計学習をブロック図から始める
HDL などの言語設計を前提としているので,回路設計をブロック図から始めても構わないはずです.ブロックの中身は論理合成で得られるものとし,ブラックボックスとして扱っています.
● 回路の最小単位は,ゲートやフリップフロップではなくセレクタやレジスタ
ここでは,最終的にFPGAで動作させるところまで説明します.従って回路をブロック図で表すといっても,あまり抽象的すぎては設計できません.そこで,セレクタやレジスタを最小単位としたブロック図で設計します.HDLで記述する場合には,この程度の抽象度がちょうどよいでしょう.
● 仕様の表現は真理値表とタイミング・チャート
ブロックの中身はブラックボックス扱いですが,仕様を明確にしておかないと設計できません.その仕様の表現は,
- 組み合わせ回路…真理値表
- 順序回路…タイミング・チャート
を使用します.
● 組み合わせ回路と順序回路という区分けを最初からしない
実のところ,組み合わせ回路と順序回路という用語は矛盾を含んでいます.例えば,
- ゲート回路…組み合わせ回路
- フリップフロップ…順序回路
でしたら,排他的な概念ということになります.しかし,
- 加算回路…組み合わせ回路
- カウンタ…順序回路
- クロックを必要としない回路
- クロックが必要な回路
というように説明しています.
● 単相同期の理想的な回路のみを扱う
単相同期とは,
- 1 種類のクロックのみ
- 立ち上がりなど片方のエッジだけを使う
- クロックは常時与えたままにする
- 制御はイネーブル信号で行う
のすべてを満たしている場合をいいます.単相同期の回路は理想の話で,現実のシステムはクロックだらけでしょう.しかし基本的な回路は単相同期であり,クロックの乗せ替えなど行って単相同期に持ち込めるよう工夫しているはずです.従って,まずは理想的な回路仕様で学んでもらうことにします.
● 知識の整理のためにも,本稿を読んでみていただきたい
「知識は,人に説明すると確実なものになる」と聞いたり実感したりしたことがあると思います.後輩に質問されたときにうまく答えるためにも,本特集を利用してみてください.知識の整理に役立つでしょう.
こばやし・まさる
コバック・ドットネット