論理回路構成論

担当教員

授業の到達目標及びテーマ

 論理回路は数学の一分野であるブール代数を基盤として具体的なハードウエアの世界で”動くもの”としてネットワークの形に構成する技術です。実世界では遅延があり動作もばらばらで連続した時間軸とアナログ的な論理値の変化の中で所望な動作をする回路を構成する必要があります。本講は論理回路の初歩から実用規模の回路を構成するまでの基本技術を学びます。

授業の概要と方法

 ブール代数、論理回路の基本技術は既知として始めます。組合せ回路から初めて順序回路の構成法、それらの簡単化などの技術を学びます。その後、各種ビルディングブロックとそれらを繋いでより複雑な論理回路を構成する技術。また実世界を相手にするので遅延やタイミングのずれや論理値変化のアナログ的変化にも正しく動作する論理回路設計法が重要です。さらに設計規模が大きくなると手設計だけでは限界となり、高レベルなハードウエア記述言語や高位論理合成、論理可変型LSIの利用などにも触れて行きます。

授業計画

テーマ内容
1 序論 コンピュータのハードウエアの構成を例に論理回路の果たす役割、そこで使われる論理モジュールを紹介。
2 論理回路の基本 基本論理ゲートとそれらを使ってて任意の組合せ回路ができること。少ないゲート数で実現する方法を学びバス
3 論理回路の簡単化 手動操作法と計算機向けの方法 手動操作でカルノー図による方法、計算機処理向きにクワイン・マクラスキー法などを紹介
4 多段論理、テクノロジマッピング 積和標準系以外の回路構成法、異なる基本論理ゲート群を使った設計法。
5 簡単な論理モジュール 選択回路やマルチプレクサ、エンコーダなど頻繁に使われる論理モジュール
6 論理で計算すること 加減算や掛け算はハードウエアの中では2進化表現されたデータをそれぞれ論理値として扱い出力(計算結果)を得ることになります。その仕組みを学びます。
7 ビルディングブロックを接続して大きな論理ブロックを構成 掛け算や加減算などは原理的には組合せ回路でできるはずですが回路規模が大きすぎ、実際は小規模な論理ブロックと積み重ねて実現する手法を学びます。
8 記憶と順序回路 論理回路にフィードバックループがある一般的には周回を繰り返し安定状態になることがあります。これがメモリとなり、その安定状態を制御して活用したものが順序回路です。その設計法を学びます。
9 フリップフロップを用いた順序回路の構成 順序回路は組合せ論理部分とメモリ部分(フリップフロップ)を切り離して構成した方が見通しが良く設計できます。
10 順序回路の状態割当と簡単化と同期式順序回路 実際に少ないメモリで順序回路を構成するのが望ましいが、状態の時間変化が有限であるのでハザードや競合などの問題を解消する必要。同期式は最も容易
11 カウンタや一般的な順序回路の設計 カウンタは一番単純な同期式順序回路。その構成法から始め一般的な制御回路で用いられる順序回路の構成法を学びます。
12 FPGAや論理可変型論理回路を用いた設計 FPGAは大規模化、微細化が進み、今やマルチコアのCPUが周辺回路も含め1チップに収まり、性能も競争力あるところまで来ています。その動作と設計法を見て行きます。
13 ハードウエア記述言語を使った論理設計と論理合成 ハードウエア記述言語は従来の回路図での入力を無くし、ソフトウエアのプログラムを書く感じで回路記述と接続情報を記述すると所望の論理回路ができるので現在では世の中の大勢を占めています。本講では簡単なその導入をします。
14 ハードウエア記述言語を用いた順序回路の設計、論理合成 順序回路も、JAVAの関数を記述する感じで設計できます。また、ハードウエア記述言語は一般のプログラミング言語のような高レベル記述から論理合成で実回路を得る方法からゲートをそれぞれ記述すモジュールの組合せによる実現まで様々なニーズに適合した設計法が適用できます。
15 論理回路設計の課題 様々な論理回路の設計法を学んできたがそのまとめとして、論理合成の課題、故障診断、テスト容易化設計、CADなど、大規模・複雑化した論理回路を如何に短期間で正しく動作させるかへの様々な取組を紹介してまとめとする。

授業外に行うべき学習活動

殆ど毎回、課題が出る

テキスト

担当教員Websiteに掲載 http://cis.k.hosei.ac.jp/~koike/ に配置する。

参考書

特に指定しない。 教員サイトで学習

成績評価基準

 期末試験60% 課題提出と出席40%  なお毎回出席が原則なので欠席は1回-5点加算する。

情報機器使用

 情報コンセントから各自PCで情報を取得する。

前年度の授業改善アンケートからの気づき

 離散構造1で論理回路が出てきますが、まだ、実用規模の論理回路が時間軸の中で正しく動作する回路が設計できるには及びません。また、後続のハードウエア系の講義科目への橋渡しとしても是非本課目を受講してください。また、他のコースに進む場合もハードウエアの動作が分からないと良いコードができません。その意味で本課目の受講を推薦します。