HDL時代に求められる論理回路設計とは ―― 回路記号を使わない設計手法の考え方

小林 優


[コラム] 本稿のコンセプト

 ここでは,論理回路をこれから学ぶ方のために書かれていますが,そうでないバリバリの設計者の方が,後輩に勧められるのかざっと目を通すこともあるでしょう.そんなエキスパートの皆さん向けに,本稿の考え方について説明します.

● 回路設計学習をブロック図から始める
 HDL などの言語設計を前提としているので,回路設計をブロック図から始めても構わないはずです.ブロックの中身は論理合成で得られるものとし,ブラックボックスとして扱っています.

● 回路の最小単位は,ゲートやフリップフロップではなくセレクタやレジスタ
 ここでは,最終的にFPGAで動作させるところまで説明します.従って回路をブロック図で表すといっても,あまり抽象的すぎては設計できません.そこで,セレクタやレジスタを最小単位としたブロック図で設計します.HDLで記述する場合には,この程度の抽象度がちょうどよいでしょう.

● 仕様の表現は真理値表とタイミング・チャート
 ブロックの中身はブラックボックス扱いですが,仕様を明確にしておかないと設計できません.その仕様の表現は,

  • 組み合わせ回路…真理値表
  • 順序回路…タイミング・チャート

を使用します.

● 組み合わせ回路と順序回路という区分けを最初からしない
 実のところ,組み合わせ回路と順序回路という用語は矛盾を含んでいます.例えば,

  • ゲート回路…組み合わせ回路
  • フリップフロップ…順序回路

でしたら,排他的な概念ということになります.しかし,

  • 加算回路…組み合わせ回路
  • カウンタ…順序回路
では,包含関係にあります.カウンタの中には組み合わせ回路であるインクリメント(+ 1)回路が含まれているからです.場合によっては排他的,別の場合は包含関係という矛盾する概念を最初から説明に使うのは難があると考えました.区別が必要なときは,
  • クロックを必要としない回路
  • クロックが必要な回路

というように説明しています.

● 単相同期の理想的な回路のみを扱う
 単相同期とは,

  • 1 種類のクロックのみ
  • 立ち上がりなど片方のエッジだけを使う
  • クロックは常時与えたままにする
  • 制御はイネーブル信号で行う

のすべてを満たしている場合をいいます.単相同期の回路は理想の話で,現実のシステムはクロックだらけでしょう.しかし基本的な回路は単相同期であり,クロックの乗せ替えなど行って単相同期に持ち込めるよう工夫しているはずです.従って,まずは理想的な回路仕様で学んでもらうことにします.

● 知識の整理のためにも,本稿を読んでみていただきたい
 「知識は,人に説明すると確実なものになる」と聞いたり実感したりしたことがあると思います.後輩に質問されたときにうまく答えるためにも,本特集を利用してみてください.知識の整理に役立つでしょう.




こばやし・まさる

コバック・ドットネット

組み込みキャッチアップ

お知らせ 一覧を見る

電子書籍の最新刊! 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日