論理設計
藤原秀雄
講義スタイル
◆ 教科書を使って講義します。
図や表はスライド(プロジェクター)を使い、
教科書の内容は、ホワイトボードに板書しながら説明します。
◆ 毎回出席を取ります。
講義の理解を深めるために、毎回簡単な小テストを行います。
◆ 定期試験では教科書持ち込み可です。
日頃から、授業の予習、復習に、教科書を活用してください。 評価基準・方法:
定期試験(筆記試験) 60%
教科書
藤原秀雄著: コンピュータ設計概論、工学図書 , 円 �
論理回路 年前期 と
論理設計 年後期 の両方の教科書
第 章〜第 章 論理回路 第 章〜第8章 論理設計
講義テーマ・概要
半導体技術の進歩により、ディジタルシステムは現代の情報社 会に広く浸透しており、通常のコンピュータの他、マイクロプロ セッサ、メモリ、各種専用回路を一つのチップ上に集積したシス テムオンチップとして実現されます。
本講義では、このようなコンピュータやシステムオンチップな どのディジタルシステムをどのように設計するかに関する方法論 を理解し、関連する基礎知識を習得することを目的としています。 コンピュータの構成、設計論を学ぶことにより、コンピュータの 中身を理解し、簡単なコンピュータが設計できるようになります。 同時に、ハードウエアとしてのコンピュータに関連する基礎知識、 ならびに専門知識を習得できます。
5
講義スケジュール(授業計画)
第1回 はじめ
第2回 論理回路(1)… 第1章∼3章(要点だけ) 第3回 論理回路(2)… 第1章∼3章(要点だけ) 第4回 コンピュータの原理(1)
第5回 コンピュータの原理(2) 第6回 コンピュータの原理(3)
第7回 レジスタ転送レベルの設計(1) 第8回 レジスタ転送レベルの設計(2) 第9回 演算部の設計(1)
第10回 演算部の設計(2) 第11回 制御部の設計(1) 第12回 制御部の設計(2)
第13回 コンピュータの設計(1) 第14回 コンピュータの設計(2) 第15回 コンピュータの設計(3) 第16回 定期試験(筆記試験)
評価基準・方法 定期試験 60%
第1回目の授業内容
コンピュータの種類,その中身
ディジタル表現と2進数
論理演算とスイッチ回路
論理回路
今日は第1回目なので、教科書を使わず、
コンピュータとは何か、論理回路とは何かを簡単に紹介します。
コンピュータ
パソコン, 携帯電話, …
個人用に広く普及
ワークステーション
設計や科学計算に用いられ、PCより高速処理が可能
メインフレーム(大型コンピュータ)
銀行などの大量のデータを処理
スーパーコンピュータ
気象の予測など、超高速処理が目的
理化学研究所+富士通の「京(けい)」 一昨年世界最速(世界1位)
コンピュータの中身
LSI(集積回路)
多数の半導体素子で構成された電子部品
コンピュータは論理回路で構成されている
CPU
制御回路 論理回路 演算回路 論理回路
リ 集積回路 LSI
論理素子と真理値表
ANDの真理値表
A B A・B 0 0
0 1 1 0 1 1
0 0 0 1
ORの真理値表
A B A+B 0 0
0 1 1 0 1 1
0 1 1 1
NOTの真理値表
A A 0
1
1 0
AA
B A B
AA
B A + B A A
論理回路のシミュレーション
0
1
1
論理回路のシミュレーション
0
1
1
0
1
1
論理回路のシミュレーション
0
1
1
0
1
1
0
0
AND 0 0
0 1 1 0 1 1
0 0 0 1
NOT 0
1
1 0
論理回路のシミュレーション
0
1
1
0
1
1
0
0
0
OR 0 0
0 1 1 0 1 1
0 1 1 1
論理回路のシミュレーション
0
1
1
0
1
1
0
0
0
シミュレ ション結果
論理回路のシミュレーション
1
1
1
論理回路のシミュレーション
1
1
1
1
1
1
論理回路のシミュレーション
1
1
1
1
1
1
1
0
AND 0 0
0 1 1 0 1 1
0 0 0 1
NOT 0
1
1 0
論理回路のシミュレーション
1
1
1
1
1
1
1
0
1
OR 0 0
0 1 1 0
0 1 1
論理回路のシミュレーション
1
1
1
1
1
1
1
0
1
シミュレ ション結果
論理回路と真理値表
A B C X 0 0 0
0 0 1 0 1 0 0 1 1 1 0 0 1 0 1 1 1 0 1 1 1
1 0 1 0 1 0 1
1
11
1
1
1
1
0
1
1
0
1
1
0
0
0
真理値表
論理回路と真理値表
A B C X 0 0 0
0 0 1 0 1 0 0 1 1 1 0 0 1 0 1 1 1 0 1 1 1
1 0 1 0 1 0 1 1 真理値表
論理式
論理図
X = A B + C
C
A・B
A・B + C
等価な論理式
f = x
1x
2x
3+ x
1x
2x
3+ x
1x
2x
3+ x
1x
2x
3+ x
1x
2x
3f = x
1+ x
2x
3x1 x2 x3 f1 0 0 0
0 0 1 0 1 0 0 1 1 1 0 0 1 0 1 1 1 0 1 1 1
0 0 0 1 1 1 1 1 x1 x2 x3 f2
0 0 0 0 0 1 0 1 0 0 1 1 1 0 0 1 0 1 1 1 0
0 0 0 1 1 1 1
等価な論理式
f = x
1x
2x
3+ x
1x
2x
3+ x
1x
2x
3+ x
1x
2x
3+ x
1x
2x
3x1 x2 x3 f1 0 0 0
0 0 1 0 1 0 0 1 1 1 0 0 1 0 1 1 1 0 1 1 1
0 0 0 1 1 1 1 1
f = x
1+ x
2x
3x1 x2 x3 f2 0 0 0
0 0 1 0 1 0 0 1 1 1 0 0 1 0 1 1 1 0 1 1 1
0 0 0 1 1 1 1 1
等価な論理式
f = x
1x
2x
3+ x
1x
2x
3+ x
1x
2x
3+ x
1x
2x
3+ x
1x
2x
3x1 x2 x3 f1 0 0 0
0 0 1 0 1 0 0 1 1 1 0 0 1 0 1 1 1 0 1 1 1
0 0 0 1 1 1 1 1
f = x
1+ x
2x
3x1 x2 x3 f2 0 0 0
0 0 1 0 1 0 0 1 1 1 0 0 1 0 1 1 1 0
0 0 0 1 1 1 1
等価な論理式
f = x
1x
2x
3+ x
1x
2x
3+ x
1x
2x
3+ x
1x
2x
3+ x
1x
2x
3x1 x2 x3 f1 0 0 0
0 0 1 0 1 0 0 1 1 1 0 0 1 0 1 1 1 0 1 1 1
0 0 0 1 1 1 1 1
f = x
1+ x
2x
3x1 x2 x3 f2 0 0 0
0 0 1 0 1 0 0 1 1 1 0 0 1 0 1 1 1 0 1 1 1
0 0 0 1 1 1 1 1
等価な論理式
f = x
1x
2x
3+ x
1x
2x
3+ x
1x
2x
3+ x
1x
2x
3+ x
1x
2x
3x1 x2 x3 f1 0 0 0
0 0 1 0 1 0 0 1 1 1 0 0 1 0 1 1 1 0 1 1 1
0 0 0 1 1 1 1 1
f = x
1+ x
2x
3x1 x2 x3 f2 0 0 0
0 0 1 0 1 0 0 1 1 1 0 0 1 0 1 1 1 0
0 0 0 1 1 1 1
等価な論理式
f = x
1x
2x
3+ x
1x
2x
3+ x
1x
2x
3+ x
1x
2x
3+ x
1x
2x
3f = x
1+ x
2x
3x1 x2 x3 f1 0 0 0
0 0 1 0 1 0 0 1 1 1 0 0 1 0 1 1 1 0 1 1 1
0 0 0 1 1 1 1 1 x1 x2 x3 f2
0 0 0 0 0 1 0 1 0 0 1 1 1 0 0 1 0 1 1 1 0 1 1 1
0 0 0 1 1 1 1 1
等価な論理式
f = x
1+ x
2x
3x1 x2 x3 f2 0 0 0
0 0 1 0 1 0 0 1 1 1 0 0 1 0 1 1 1 0
0 0 0 1 1 1 1
f = x
1x
2x
3+ x
1x
2x
3+ x
1x
2x
3+ x
1x
2x
3+ x
1x
2x
3x1 x2 x3 f1 0 0 0
0 0 1 0 1 0 0 1 1 1 0 0 1 0 1 1 1 0 1 1 1
0 0 0 1 1 1 1 1
等価な論理式
f = x
1x
2x
3+ x
1x
2x
3+ x
1x
2x
3+ x
1x
2x
3+ x
1x
2x
3f = x
1+ x
2x
3x1 x2 x3 f1 0 0 0
0 0 1 0 1 0 0 1 1 1 0 0 1 0 1 1 1 0 1 1 1
0 0 0 1 1 1 1 1 x1 x2 x3 f2
0 0 0 0 0 1 0 1 0 0 1 1 1 0 0 1 0 1 1 1 0 1 1 1
0 0 0 1 1 1 1 1
より小さな論理回路で実現
f = x
1+ x
2x
3コンピュータの設計自動化
コンピュ タを用いて コンピュ タが設計されています
Computer-Aided Design (CAD)
仕様決定 設計 製造
全加算器のVHDL記述
library IEEE;
use ieee.std_logic_1164.all; use ieee.std_logic_arith.all;
entity FULL_ADDER is
port( x, y, z : in std_logic; s, c : out std_logic ); end FULL_ADDER;
architecture struct of FULL_ADDER is component HALF_ADDER
port( x, y : in std_logic; s, c : out std_logic ); end component;
signal hadd1_c, hadd1_s, hadd2_c : std_logic;
begin
half_adder1: HALF_ADDER port map( x, y, hadd1_s, hadd1_c ); half_adder2: HALF_ADDER port map( hadd1_s, z, s, hadd2_c ); c <= hadd1_c or hadd2_c;
end;
architecture struct of HALF_ADDER is begin
s <= x xor y; c <= x and b; end;
library IEEE;
use ieee.std_logic_1164.all; use ieee.std_logic_arith.all;
entity HALF_ADDER is
port( x, y : in std_logic; s, c : out std_logic ); end HALF_ADDER;
半加算器の真理値表・論理式・論理図
X Y C S 0
1 0
1
0
0 1
1
0
0 0
1
0
1 1
0
入力 出力
半加算器の真理値表
XY
C
Y
X
Y
X
Y
X
S
=
⊕
=
+
=
論理式
Design Compilerによる半加算器の合成
全加算器の真理値表・論理式
X Y C S 0
0 0
0
0
1 0
1
0
0 0
1
0
1 1
0
入力 出力
全加算器の真理値表
YZ
XZ
XY
C
XYZ
Z
Y
X
Z
Y
X
Z
Y
X
S
+
+
=
+
+
+
=
論理式
Z 0
0 1
1 1
1 1
1
0
1 0
1
0
1 1
1
1
0 0
1 0
0 1
1
Y)
Z(X
XY
C
Z
Y
X
S
⊕
+
=
⊕
⊕
=
論理式の簡単化
Design Compiler による全加算器の論理合成
Design Compiler初期画面 Design Compiler : Synopsys
Design Compiler による全加算器の論理合成
合成ファイル読み出し画面
論理合成ファイル読み出し後
Design Compiler による全加算器の論理合成
論理合成前の1ビット全加算器の論理図
(全加算器を2個の半加算器とORゲートで表したもの)
Design Compiler による全加算器の論理合成
Design Compiler による4ビット並列加算器の論理合成
以上のまとめ
コンピュータとは
コンピュータは、0と1からなる2進数などのディジタル
情報を演算、処理する
コンピュータは論理回路で構成されている
コンピュータの設計自動化
コンピュータはコンピュータを使って設計する
次回からは
教科書を使って講義を行うので 、
まだ教科書を買っていない人は、買っておいてください。
予め教科書をよく読み、予習•復習することを奨めます 。
教科書
藤原秀雄著: コンピュータ設計概論、工学図書 (2,310円)