Lecture 3: Logic circuit - NAISTarch.naist.jp/~hong/Lecture/Reconfig_Computing/3_Logic...Lecture...

Preview:

Citation preview

Lecture 3: Logic circuit

Combinational circuit and sequential circuit

TRAN THI HONG

HONG@ IS.NAIST.JP

Content

Lecture 1: Computer organization and performance evaluation metrics

Lecture 2: Processor architecture and memory system

Lecture 3: Logic circuit: Combinational circuit and sequential circuit

Lecture 4: Number system and Its Importance

Lecture 5: Hardware design by HDL

Lecture 6: Parallel programming

Lecture 7: Hardware design by high-level synthesis

Lecture 8: Computer system design and its applications

2

Lecture Information

3

Grading (評価)Mini-test (40%) Score is based on the number of times that you attend the class and your

enthusiastic on doing mini-test.

You may get MAX score although your answer is not correct!

If you cannot attend the lecture with reasonable reason (ex: attend conference), you can get MAX score if you: Inform about your absent to me via email: hong@is.naist.jp

Study from lecture video and submit mini-test by next time.

Home-work: (60%) Score is based on the correction of your home-work

Bonus (+10%) Your activeness, enthusiastic during the lecture (make question, answer the question,

etc.)

4

Basic Logic Circuits

Basic Logic Gates: Not, And, Or, Xor, Xnor, etc.

Combinational Circuits

Arithmetic Operator: adder, multiplier, etc.

Encoder

Multiplexer

Comparators

Sequential Circuits

Memory Elements: Latch, FlipFlop, Register, etc.

Sequential Circuits

5

6

brick

7

Transistor

Overview of Hardware Circuit Design

Block

1

Binary Logic gate:

Not, And, Or, etc.

Transistors

System Block

2

Block

N…

Comb. Circuit: Do specific

function.

Seq. Circuit: Register,

memory, etc.

Adder Mul.

MUX Comp.

Latch Flipflop

Comparator

Adder Register Memory

Hardware System

Analog

Circuit

Design

Digital

Circuit

Design

Verilog HDL

8

Transistor There are several types of transistor such as:

Bipolar junction transistor (BJT)

Field-Effect Transistor (FET)

Junction gate FET (JFET)

Metal-Oxide Semiconductor (MOS)

MOSFET

9

Basic Logic GatesNOT Gate

Logic gates are the element building blocks of a digital circuit.

Basic element of logic gate is transistor

NOT gate is built from 2 MOS transistors

10

Symbol

True-Table

0 1

1 0

Circuit

NOR gate is built from 4 transistors: 2 p-type in serial and 2 n-type in parallel

11

Basic Logic GatesNOR Gate

01

0

10

1

Circuit

Symbol

True-Table

OR gate is built by adding a NOT gate into NOR gate

12

Basic Logic GatesOR Gate

NOR

NOT

00

0

11

1

Symbol

True-Table

Circuit

NAND gate is built from 4 transistors: 2 p-type in parallel & 2 n-type in serial

13

Basic Logic GatesNAND Gate

Circuit

Symbol

True-Table

14

Basic Logic GatesAND Gate

NAND

NOT

Symbol

True-Table

Circuit

15

Basic Logic GatesXOR Gate

Symbol

True-Table

Circuit

16

Basic Logic GatesXNOR Gate

Symbol

True-Table

Circuit

Minitest-3.1How many p-type, n-type CMOS transistors are needed for building:

NAND gate

OR gate

XOR gate

XNOR gate

17

Minitest-3.1: Answer How many p-type, n-type CMOS transistors are needed for building:

NAND gate: 2 p-type + 2 n-type CMOS transistors

OR gate: 3 p-type + 3 n-type CMOS transistors

XOR gate: 4 NOT + 2 NAND + 1 OR = 4 (1p + 1n) + 2 (2p + 2n) + 1 (3p + 3n) = 11 p-type + 11 n-type transistors

XNOR gate: 11 p-type + 11 n-type transistors

18

Basic Logic Circuits

Basic Logic Gates: Not, And, Or, Xor, Xnor, etc.

Combinational Circuits

Arithmetic Operator: adder, multiplier, etc.

Encoder

Multiplexer

Comparators

Sequential Circuits

Memory Elements: Latch, FlipFlop, Register, etc.

Sequential Circuits

19

Combinational Circuits- Arithmetic Circuits - (1/4)

Basic operator: adder

Subtractor is the adder of negative number.

Multiplier is the sum of multiple adders

Divider is very complex and rarely used in hardware design.

Half Adder

20

Full Adder

Input Output

Combinational Circuits- Arithmetic Circuits - (2/4)

21

A0 B0 A1 B1 A2 B2 A3 B3

S0 S1 S2 S3 C3

Half

Adder

Full

Adder

Full

Adder

Full

Adder

C0 C1 C2

4-bit Adder

Example:

1 1 0 1 (-3)

+ 0 1 1 0 (6)

1 0 0 1 1 (3)

A3 A2 A1 A0

+ B3 B2 B1 B0C3 C2 C1 C0

S3 S2 S1 S0

Combinational Circuits- Arithmetic Circuits - (3/4)

22

Multiplier

Example:

010 (2)

× 101 (5)

010

+ 000

+ 010

01010 (10)

A2 A1 A0

×B2 B1 B0

A2 A1 A0 ×B0 ×1

+ A2 A1 A0 × B1 ×2

+ A2 A1 A0 × B2 ×4

A2×B0

A1×B0

A0×B0

A2×B1

A1×B1

A0×B1

A2×B2

A1×B2

A0×B2

A×B0

A×B1

A×B2

P0P1P2P3P4

Combinational Circuits- Arithmetic Circuits - (3/4)

23

Other Combinational Circuits- Decoder -

- An n-to-2n decoder is a multiple output combinational logic circuit with n input and 2n output signals.

- For each possible input condition, one and only one output signal is active.

n-to2n

Decoder

… …

x0

x1

xn-1

LSB

MSB

m0

m1

mB

(B = 2n-1)

Exercise: Design a 2-to-4 decoder

24

Input

x1 x0

Output

m3 m2 m1 m0

0 0 0 0 0 1

0 1 0 0 1 0

1 0 0 1 0 0

1 1 1 0 0 0

- Multiplexer (or MUX) selects one of many input signals to appear on a single output line

- Demultiplexer (or DEMUX) takes a single input signals and routes it to one of several output signals.

Other Combinational Circuits- Multiplexer & Demultiplexer -

D0

D1

Dn

Y

D0

D1

Dn

Y

MUX DEMUX

SEL

D0

Dn

Y Y

SEL

D0

Dn

… ………

25

- A comparator determines the relative magnitude of two binary numbers.

- There are many types of comparators such as:

Other Combinational Circuits- Comparator-

>A

BY1 <

A

BY2

≥A

BY3 ≤

A

BY4

=A

BY5

Input

Relationship

Output

Y1 Y2 Y3 Y4 Y5

A > B 1 0 1 0 0

A < B 0 1 0 1 0

A = B 0 0 1 1 1

26

Combinational Circuits

Combinational circuit: used for calculation

◦ Always representing a present state

◦ No past state in the circuit

27

A

NOT gate

out = A

out

NAND gate

A

Bout = AB

out

XOR gate

A

B out = A^B

out

“Out” changes

when A or B changes;

No past, nor next info.

Combinational Circuits

Combinational Circuits

◦ Always represent a current state

◦ No past state in the circuit

28

Not possible to achieve “counter”

Counter:

◦ 0123… N

+ 1A A_plus1

Comb. Logic

Q: What will happen on A_plus1?

A: A_plus1 will go ∞ w/o stop!

No stable state if input is not stable.

That’s the reason we need sequential circuit.

Minitest-3.2

29

0

1

1

0

= 2’b10

?

?

?

?

??

??

?

?

?

?

?

Minitest-3.2: Answer

30

0

1

1

0

= 2’b10

0

0

1

0

11

00

0

0

1

0

1

0 0 1 0 SEL = 2’b10 = 2

Y = D2

Basic Logic Circuits

Basic Logic Gates: Not, And, Or, Xor, Xnor, etc.

Combinational Circuits

Arithmetic Operator: adder, multiplier, etc.

Encoder

Multiplexer

Comparators

Sequential Circuits

Memory Elements: Latch, FlipFlop, Register, etc.

Sequential Circuits

31

- Sequential circuit is a circuit that is able to REMEMBER its previous data.

- Two main types:

Latch

FlipFlop

Latch FlipFlop

Controlled by excitation input

signals

Controlled by clock signal

Two types:

- Set latch: force to 1

- Reset latch: force to 0

Many Types:

- Master Slave SR FlipFlop

- Master Slave D FlipFlop

- Master Slave JK FlipFlop

- Edge-triggered D FlipFlop

- Edge-triggered JK FlipFlop

- T FlipFlop

Device state is changed

immediately

Device state is changed after 1

clock cycle

32

Memory Elements

Memory ElementsSR Latch

Set Reset Latch◦ “Set” means “output 1”

◦ “Reset” means “output 0”

e.g. reset status◦ The feedback loop creates stable status

33

S R Q Q’

0 0 Qprev Q’prev (stored)

0 1 0 1 (reset)

1 0 1 0 (set)

1 1 0 0 (not used)

S

RQ

Q’

0

1

1

0

0

1

34

E D Q Q’

0 x Qprev Q’prev (stored)

1 0 0 1 (reset)

1 1 1 0 (set)

Memory ElementsGate D Latch

35

D

cp=0

Q

Accept input Keep (Locked)

cp

cp

D

cp=1

Q

Keep (Locked) Accept input

Memory ElementsMaster/Slave D FlipFlop

Register

36

Enable

Clock

Data in

Data outbmsb ... b1 b0

bmsb ... b1 b0

bmsb ... b1 b0

bmsb ... b1 b0

Clock

Write_address

read_address

Write_data

Write_enable

read_data

Memory: is a bank of registers

Memory ElementsMaster/Slave D FlipFlop

Sequential Logic CircuitsDefinition: Outputs depends on stored information (current state) and current inputs

◦ Example: Bank account

◦ State = Waiting for new operation (stored value: your current balance)

◦ Input = Withdraw or deposit

◦ Output = Your new balance

Combinational logic and one/or more memory elements are used in sequential logic

37

input output

Mem. Element

Comb.

Logic

Sequential Circuit

Memory element

◦ Provide a lock of current status

Combinational logic

◦ Calculate new status

38

input output

Mem. Element

Comb.

Logic

Sequential Circuit

Sequential Logic Circuits

Modeling the Circuit

Looking into the memory

◦ It stores n-bits

◦ 1 bit has two states, as 0 and 1;

◦ 2 bits have four states, as 00, 01, 10, 11;

◦ n bits have 2n states.

39

input output

Comb.Logic

Sequential Circuit

Mem. Element

The amount of information to be stored is “finite”

◦ a Finite State Machine (FSM) to describe the 2n states

Two Kinds of FSM Models

Mealy Machine

◦ Outputs are function of the present/current state and the present inputs

Moore Machine

◦ Outputs are independent of the inputs i.e. dependent on present state only

40

input output

Comb.Logic

Sequential Circuit

Mem. Element

input output

Comb.Logic

Sequential Circuit

Mem. Element

Major FSM model we use

Minitest-3.3

41

1

1

?

?

?

?

Minitest-3.3: Answer

42

1

1

?

?

?

?

1

1

0

1

1

0

Summary

Basic Logic Gates: Not, And, Or, Xor, Xnor, etc.

Combinational Circuits

Arithmetic Operator: adder, multiplier, etc.

Encoder

Multiplexer

Comparators

Sequential Circuits

Memory Elements: Latch, FlipFlop, Register, etc.

Sequential Circuits

43

Recommended