Combinational Circuits Jason Filippou CMSC250 @ UMCP 06-02-2016 - - PowerPoint PPT Presentation

combinational circuits
SMART_READER_LITE
LIVE PREVIEW

Combinational Circuits Jason Filippou CMSC250 @ UMCP 06-02-2016 - - PowerPoint PPT Presentation

Combinational Circuits Jason Filippou CMSC250 @ UMCP 06-02-2016 Jason Filippou (CMSC250 @ UMCP) Circuits 06-02-2016 1 / 1 Outline Jason Filippou (CMSC250 @ UMCP) Circuits 06-02-2016 2 / 1 Hardware design levels Hardware design levels


slide-1
SLIDE 1

Combinational Circuits

Jason Filippou

CMSC250 @ UMCP

06-02-2016

Jason Filippou (CMSC250 @ UMCP) Circuits 06-02-2016 1 / 1

slide-2
SLIDE 2

Outline

Jason Filippou (CMSC250 @ UMCP) Circuits 06-02-2016 2 / 1

slide-3
SLIDE 3

Hardware design levels

Hardware design levels

Jason Filippou (CMSC250 @ UMCP) Circuits 06-02-2016 3 / 1

slide-4
SLIDE 4

Hardware design levels

Levels of abstraction for ICs

Small Scale Integration: ≈ 10 boolean gates Medium Scale Integration: > 10,≤ 100 Large Scale Integration: Anywhere between 100 and 30,000. Very Large Scale Integration: Up to 150,000. Very Very Large Scale Integration: > 150,000.

Jason Filippou (CMSC250 @ UMCP) Circuits 06-02-2016 4 / 1

slide-5
SLIDE 5

Hardware design levels

Example schematic

Figure 1: VLSI schematic for a professional USB interface for Macintosh PCs.

Jason Filippou (CMSC250 @ UMCP) Circuits 06-02-2016 5 / 1

slide-6
SLIDE 6

Hardware design levels

SSI

Consists of circuits that contain about 10 gates.

16-bit adders. Encoders / Decoders. MUX/DEMUX. ...

All our examples will be at an SSI level. Logic Design is the branch of Computer Science that essentially analyzes the kinds of circuits and optimizations done at an SSI/MSI level.

We do not have such a course in the curriculum, but you can expect to be exposed to it if you ever take 411.

Jason Filippou (CMSC250 @ UMCP) Circuits 06-02-2016 6 / 1

slide-7
SLIDE 7

Combinational Circuit Design

Combinational Circuit Design

Jason Filippou (CMSC250 @ UMCP) Circuits 06-02-2016 7 / 1

slide-8
SLIDE 8

Combinational Circuit Design

Combinational vs Sequential circuits

A combinational circuit is one where the output of a gate is never used as an input into it.

Jason Filippou (CMSC250 @ UMCP) Circuits 06-02-2016 8 / 1

slide-9
SLIDE 9

Combinational Circuit Design

Combinational vs Sequential circuits

A combinational circuit is one where the output of a gate is never used as an input into it. A sequential circuit is one where this constraint can be violated.

Jason Filippou (CMSC250 @ UMCP) Circuits 06-02-2016 8 / 1

slide-10
SLIDE 10

Combinational Circuit Design

Combinational vs Sequential circuits

A combinational circuit is one where the output of a gate is never used as an input into it. A sequential circuit is one where this constraint can be violated.

Example: Flip-flops (yes, seriously).

In this course, we will only touch upon combinational circuits.

Jason Filippou (CMSC250 @ UMCP) Circuits 06-02-2016 8 / 1

slide-11
SLIDE 11

Combinational Circuit Design Boolean Gates

Boolean Gates

Jason Filippou (CMSC250 @ UMCP) Circuits 06-02-2016 9 / 1

slide-12
SLIDE 12

Combinational Circuit Design Boolean Gates

Analogy between logic and hardware

Every binary or unary boolean operator (∧,∨, ∼) is mapped to a gate. This includes the binary connectives (⇒,⇔) (why?) So, every propositional logic construct (“compound” or

  • therwise) can be mapped to a logically equivalent boolean

circuit!

Jason Filippou (CMSC250 @ UMCP) Circuits 06-02-2016 10 / 1

slide-13
SLIDE 13

Combinational Circuit Design Boolean Gates

AND gate

Figure 2: The ANSI symbol of an AND gate.

Truth table corresponds to ∧ binary operator. (board)

Jason Filippou (CMSC250 @ UMCP) Circuits 06-02-2016 11 / 1

slide-14
SLIDE 14

Combinational Circuit Design Boolean Gates

OR gate

Figure 3: The ANSI symbol of an OR gate.

Truth table corresponds to ∨ binary operator.

Jason Filippou (CMSC250 @ UMCP) Circuits 06-02-2016 12 / 1

slide-15
SLIDE 15

Combinational Circuit Design Boolean Gates

NOT gate (inverter)

Figure 4: The ANSI symbol of a NOT gate.

Truth table corresponds to ∼ unary operator.

Jason Filippou (CMSC250 @ UMCP) Circuits 06-02-2016 13 / 1

slide-16
SLIDE 16

Combinational Circuit Design Boolean Gates

XOR gate

Figure 5: ANSI symbol for a XOR gate.

Truth table? (whiteboard)

Jason Filippou (CMSC250 @ UMCP) Circuits 06-02-2016 14 / 1

slide-17
SLIDE 17

Combinational Circuit Design Boolean Gates

XOR gate

Can I implement a XOR gate using gates I know?

Jason Filippou (CMSC250 @ UMCP) Circuits 06-02-2016 15 / 1

slide-18
SLIDE 18

Combinational Circuit Design Boolean Gates

XOR gate

Can I implement a XOR gate using gates I know? Homework

Jason Filippou (CMSC250 @ UMCP) Circuits 06-02-2016 15 / 1

slide-19
SLIDE 19

Combinational Circuit Design Boolean Gates

NAND/NOR gates

Figure 6: ANSI symbol for a NAND gate Figure 7: ANSI symbol for a NOR gate

What’s the truth table for both of those?

Jason Filippou (CMSC250 @ UMCP) Circuits 06-02-2016 16 / 1

slide-20
SLIDE 20

Combinational Circuit Design Boolean Gates

NAND/NOR gates

Figure 6: ANSI symbol for a NAND gate Figure 7: ANSI symbol for a NOR gate

What’s the truth table for both of those? Sheffer stroke: ↑ (used for NAND operation) Quince arrow: ↓ (used for NOR operation)

Jason Filippou (CMSC250 @ UMCP) Circuits 06-02-2016 16 / 1

slide-21
SLIDE 21

Combinational Circuit Design Boolean Gates

NAND/NOR gates

Figure 6: ANSI symbol for a NAND gate Figure 7: ANSI symbol for a NOR gate

What’s the truth table for both of those? Sheffer stroke: ↑ (used for NAND operation) Quince arrow: ↓ (used for NOR operation) NAND gates are the cheapest gates to implement in modern hardware.

Jason Filippou (CMSC250 @ UMCP) Circuits 06-02-2016 16 / 1

slide-22
SLIDE 22

Combinational Circuit Design Complex circuits

Complex circuits

Jason Filippou (CMSC250 @ UMCP) Circuits 06-02-2016 17 / 1

slide-23
SLIDE 23

Combinational Circuit Design Complex circuits

Examples

Convert the following boolean expressions to their corresponding circuits:

(p ∧ q ∧ z) ∨ (∼r) (p ∨ q) ∧ q

Now, convert them into circuits that only use NAND gates!

Jason Filippou (CMSC250 @ UMCP) Circuits 06-02-2016 18 / 1

slide-24
SLIDE 24

Combinational Circuit Design Complex circuits

Simplifying circuits

We can often use the axioms of boolean logic to simplify a circuit into one that uses a smaller number of gates. Then, we can convert that circuit into one that only uses NAND gates! Pipeline (Important to remember!):

1 Identify boolean expression implemented by the circuit (tip: scan

the circuit from output to inputs).

2 Use axioms of boolean algebra to simplify expression in terms of

boolean connectives used.

3 Use axioms of boolean algebra to translate the expression into one

that only uses (possibly negated) conjunctions (∼(p ∧ ∼q ∧ z ∧ ...).

4 Draw the corresponding circuit. Jason Filippou (CMSC250 @ UMCP) Circuits 06-02-2016 19 / 1

slide-25
SLIDE 25

Combinational Circuit Design Complex circuits

Examples

Whiteboard...

Jason Filippou (CMSC250 @ UMCP) Circuits 06-02-2016 20 / 1

slide-26
SLIDE 26

Combinational Circuit Design Complex circuits

K-maps

A much more efficient way to quickly simplify circuits is the Karnaugh map, or K-map for short.1 Automatically converts any boolean expression to either a sum-of-product form (ORs of ANDs) or product-of-sums form (ANDs of ORs). We will not analyze them in this course, but you’re directed to the Wikipedia article for information.

1Named such after Maurice Karnaugh. Jason Filippou (CMSC250 @ UMCP) Circuits 06-02-2016 21 / 1