• 検索結果がありません。

PDF 3回 組み合わせ回路 - 工学院大学

N/A
N/A
Protected

Academic year: 2024

シェア "PDF 3回 組み合わせ回路 - 工学院大学"

Copied!
8
0
0

読み込み中.... (全文を見る)

全文

(1)

第 3 回 組み合わせ回路

1. 実験目的

組み合わせ回路(Combinational logic)は現在の入力のみで出力が決まる回路である.論理ゲートを 組み合わせればどんな論理回路も構成することができる.CPU の演算論理装置(ALU, Arithmetic

and Logic Unit )も組み合わせ回路で構成されている.本実験の目的は,真理値表から論理回路を書

き起こし,ブレッドボードでその動作を確認することである.はじめに 3 の正の倍数を検出する論 理回路を設計する.次に 1 ビットの加算器である半加算器,全加算器を設計し,計算機の計算原理 を理解する.

2 使用器具

・ ブレッドボード(サンハヤト社製ICトレーナー CT-311R,単三型Eneloop電池×4取付済)

・ ロジックIC,74LS00(2入力NAND), 74LS04(NOT), 74LS08(2入力AND), 74LS32(2入力OR),

74LS02(2入力NOR) (各ブレッドボードに取付済)

・ ジャンプワイヤー(黒,赤,黄,青,白,各6本計30本,ICトレーナーケース内に同梱)

3 【実験1】3の正の倍数検出回路

3の正の倍数検出回路とは文字通り,3の正の倍数が入力された時に出力が真になる論理回路であ る.今回は3入力1出力の論理回路を設計する.設計の流れは,(1)真理値表を作り,(2)論理式を書 き起こし,(3)ゲート図を描く.実験はゲート図に基づいてブレッドボードのゲートICに配線して動 作確認を行う.

3.1 真理値表

真理値表(Truth table)とは論理式および論理回路において,すべての入出力の結果を表にし たものである.3の正の倍数回路の真理値表を表1に示す.網掛けが3の正の倍数である.入 力C,B,Aの並びは最下位ビット(LSB, least significant bit)がAとなるように並べている.

(2)

表1: 3の正の倍数検出回路の真理値表

入力 出力

(参考)10進数 C B A Z

0 0 0 0 0

1 0 0 1 0

2 0 1 0 0

3 0 1 1 1

4 1 0 0 0

5 1 0 1 0

6 1 1 0 1

7 1 1 1 0

3.2 論理式

論理式は,真理値表の出力が真(Z=1)となる場合を抽出して記述する.表1の場合,Z=1(3 の正の倍数)となるのは,

(C=0 かつ B=1 かつ A=1) または (C=1 かつ B=1 かつ A=0) ・・・(式1) であるから,

Z=C∙B∙A+C∙B∙A ・・・・・・・・・・・・・・・・・・・・・・・(式2) と書ける.

3.3 ゲート図

ゲート図は論理式をゲート記号に置き換えて配線した図である.式2をゲート図で描くと図

1になる.

図1: 3の正の倍数検出回路のゲート図

3.4 実験

図1をブレッドボード上のゲートICを使って配線しなさい(参考:図2).なお,ブレッド ボード上には3入力ANDは無いので,2入力ANDを2つ組み合わせて3入力ANDを構成 しなさい.配線が終わったら真理値表通りに動作するか確認しなさい.動作が確認できたら実

(3)

図2: (参考) 3の正の倍数検出回路の実体配線

4 【実験2】半加算器,全加算器

半加算器(Half adder)は加算器の一つで,2 進数の一桁の加算を行なう論理回路である.デジタ ル回路では,加減算などの演算は常に2進数で行なわれている.その回路において,半加算器が用 いられる.半加算器だけでは 2進数の一桁しか計算できず下の桁からの繰り上がり(Carry in)が処 理できないが,半加算器を二つ組み合わせると全加算器(Full adder)となり,下の桁からの繰り上 がりを含めた2進数の一桁の加算が実現できる.

4.1 半加算器

半加算器は 1ビット1桁の足し算を行う2入力2出力の論理回路である.算術式ではA+B=S 繰り上がりCoと書け,A,Bは入力,Sは合計,Coは次の桁への繰り上がり(Carry out)である.

半加算器の真理値表を表2に示す.

表2: 半加算器の真理値表

入力 出力

A B Co S 参考

0 0 0 0 0+0=00

0 1 0 1 0+1=01

1 1 1 0 1+1=10

1 0 0 1 0+1=01

A・B A○+B

さて,表2を見るとSはA○+B(XOR,排他的論理和),CoはA・B(AND,論理積)になって いることに気付くだろう.このことから,ゲート図は,図3のように描くことができる.

(4)

図3: 半加算器のゲート図

4.2 半加算器の実験

ブレッドボード上にはXORのゲートICが無いため,図3をそのまま配線することはできな い.そこでNANDゲートでXORを実現する(詳しくは第1回「デジタル回路の基礎」を参照).

図4にNANDゲートとNOTゲートによる半加算器のゲート図を示す.Coは初段のNAND

を否定(NOT)してA・Bを得ている.もちろん直接ANDゲートを使ってもよいが,こちらの

ほうが配線数が少ない.

図4をブレッドボード上のゲートICを使って配線しなさい.配線が終わったら真理値表通 りに動作するか確認しなさい.動作が確認できたら実験値をノートに記録し,回路を撮影する こと.

図4: NANDゲートとNOTゲートによる半加算器

4.3 全加算器

全加算器は二つの半加算器を組み合わせた繰り上がりを考慮した3入力2出力の論理回路で ある.半加算器は前の桁からの繰り上がり(Ci: Carry in)を足すことができない.そこで入力 A,Bを足すのに半加算器を1個,その答えと前の桁からの繰り上がり(Ci)を足すのに1個,合 わせて2個あれば1ビット一桁の計算が完全に行える.これを全加算器という.なお,参考ま でに32ビット (32桁)の加算機を実現するには,全加算器を32個(半加算器を64個)用意すれ ば良い.表3に全加算器の真理値表を,図5に半加算器2個によるゲート図を示す.半加算器 IはA,Bの加算を行いその合計SIと繰り上がりCIを出力する.半加算器IIはSIとCiを加算 しその合計Soutと繰り上がりCIIを出力する.CoはCIとCIIの論理和(OR)で出力される.な

S A,B,Ci 3 XOR Co A,B,Ci 3

Co

(5)

表3: 全加算器の真理値表

入力 出力

Ci A B Co S 参考

0 0 0 0 0 0+0+0=00

0 0 1 0 1 0+0+1=01

0 1 1 1 0 0+1+1=10

0 1 0 0 1 0+1+0=01

1 1 0 1 0 1+1+0=10

1 1 1 1 1 1+1+1=11

1 0 1 1 0 1+0+1=10

1 0 0 0 1 1+0+0=01

A ,B,Ciの 多数決回路

A○+ B○+ Ci 3入力XOR

図5: 2個の半加算器による全加算器

4.4 全加算器の実験

ブレッドボード上にはNANDのゲートICが1つしか無いためNANDゲートによる半加算 器を2つ作ることが出来ない.そこでNOR(否定論理和)のゲートIC他を用いて2個目の半加 算器を作成する.参考までに,どんな論理回路もNANDゲートで作ることができるが,NOR ゲートでも同様に作ることができる.図6にNORゲートによるXOR回路を示す.

図6: NORゲートによるXOR回路

これで解決したように思えるが,残念ながらブレッドボード上のNORのICは4ゲートし かない.図6は5ゲートある.代替案として1個のNORゲートをORゲートとNOTゲート で実現すれば良いが,それで全加算器を配線するとジャンプワイヤーが30本以上必要になり 現在の使用器具では実験できないことが分かった(次年度以降で買い足すかも知れない).そ こでジャンプワイヤー30本以内で足りる論理回路を以下に説明する.

i

o

(6)

図7: 図6の一部をANDゲートに置き換える説明図

図7の破線で囲んだ部分はド・モルガンの法則よりA+B=A∙Bと書き換えることができる ので3ゲートを1ゲートに簡略化できる.これにより,半加算器のゲート図は図8のように描 ける.CoはA・Bなのでそのまま引き出せる.これでブレッドボード上に2個目の半加算器 が配線できる.

図8: NORゲートとANDゲートによる半加算器

図4(半加算器Iとして)と図8(半加算器IIとして)を組み合わせ,図5をブレッドボード上に 配線しなさい(参考:図9).配線が終わったら真理値表通りに動作するか確認しなさい.動作 が確認できたら実験値をノートに記録し,回路を撮影すること.

9: ( )

A B

A B

S Co

(7)

5. レポート報告事項

【実験1】【実験2】について実験目的,実験方法,結果,考察,結論のように章立てし報告する こと.実体配線写真または実体配線図を図示すること.

6. 発展課題

実験1,実験2が終了した者は,以下の発展課題を任意で行ってもよい.

【実験3】複数名(n人)でnビットの2進数に対する全加算器を構成し,動作を確認する.

例えばn=4とする.2つの4ビットの2進数𝐴!𝐴!𝐴!𝐴!と𝐵!𝐵!𝐵!𝐵!の加算は,筆算による加算と同じく,

以下のようにして行うことができる.

𝐴!+𝐵! ⇒ 合計𝑆!,繰り上がり𝐶! 𝐴!+𝐵!+𝐶! ⇒ 合計𝑆!,繰り上がり𝐶! 𝐴!+𝐵!+𝐶! ⇒ 合計𝑆!,繰り上がり𝐶! 𝐴!+𝐵!+𝐶! ⇒ 合計𝑆!,繰り上がり𝐶!

加算結果は𝐶!𝑆!𝑆!𝑆!𝑆!となる.(𝐶! =1となるのは,加算結果が4ビットを超える数になった場合である)

上記より,以下の図10のように配線するとnビット2進数の全加算器を得ることができる.

図10: nビット全加算器の構成法

このとき,図11のようにプレッドボードのグランド(GND,0V)同士を接続することが必要になる.

A B Ci

Co S 全加算器n

A B Ci

Co S 全加算器2

A B Ci

Co S 全加算器1

A B Ci

Co S 全加算器3

A2 A1 A3

An Bn B3 B2 B1

S2 S1 S3

Cn+1 Sn

(8)

図11: グランドの相互接続

【実験4】実験3で作成したnビット加算器において,負の数を2の補数で表現することによって,

引き算ができることを確認する.

例えば4ビットの場合MSBが1である1000(2)から1111(2)で-8(10)から-1(10)までの負の数を表現する.

6-2を実行する場合は6+(-2)を行えばよいので0110(2)+1110(2)を行うと0100(2)が得られる.いくつかの数 値例に対して引き算が正しく実行されることを確認すること.

プレッドボードn

GND

プレッドボード3

GND

プレッドボード1

GND

プレッドボード2

GND

GND

参照

関連したドキュメント

再掲 論理回路 • データ bit 情報 の保持 −→ 順序回路 • 基本的な演算 −→ 組合せ回路 組合せ回路 入力 の組 によって出力が決まる 演算回路... フリップフロップ flip-flop

(重要) 市販半導体部品モデルと

したがって、減算の演算も減算対象を 2 の補数で表して、加算器で加えることで可能となります。その減 算器を図 16 で表します。.

現在のデジタル社会を支えるコンピュータ、インターネット、通信等すべての電子機器を構成

2)7セグメント LED エンコーダの a 出力をなるべく少ないトランジスタ数で回路を実現

現在のデジタル社会を支えるコンピュータ、インターネット、通信等すべての電子機器を構成

ANDの意図 ORの意図

または 百の位が同じ かつ 十の位が同じ かつ 一の位が大きい 等しくなる条件は. 百の位が同じ かつ 十の位が同じ