92
1 Logic Design I (17.341) Fall 2011 Lecture Outline Class # 11 November 28, 2011 Dohn Bowden

Logic Design I (17.341) Fall 2011 Lecture Outlinefaculty.uml.edu/dbowden/ClassPages/2011_Fall_KCS/17-341/Ref_Documents... · 1 Logic Design I (17.341) Fall 2011 Lecture Outline Class

  • Upload
    others

  • View
    3

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Logic Design I (17.341) Fall 2011 Lecture Outlinefaculty.uml.edu/dbowden/ClassPages/2011_Fall_KCS/17-341/Ref_Documents... · 1 Logic Design I (17.341) Fall 2011 Lecture Outline Class

1

Logic Design I (17.341)

Fall 2011

Lecture Outline

Class # 11

November 28, 2011

Dohn Bowden

Page 2: Logic Design I (17.341) Fall 2011 Lecture Outlinefaculty.uml.edu/dbowden/ClassPages/2011_Fall_KCS/17-341/Ref_Documents... · 1 Logic Design I (17.341) Fall 2011 Lecture Outline Class

2

Today’s Lecture

• Administrative

• Main Logic Topic

• Homework

Page 3: Logic Design I (17.341) Fall 2011 Lecture Outlinefaculty.uml.edu/dbowden/ClassPages/2011_Fall_KCS/17-341/Ref_Documents... · 1 Logic Design I (17.341) Fall 2011 Lecture Outline Class

3

CourseAdmin

Page 4: Logic Design I (17.341) Fall 2011 Lecture Outlinefaculty.uml.edu/dbowden/ClassPages/2011_Fall_KCS/17-341/Ref_Documents... · 1 Logic Design I (17.341) Fall 2011 Lecture Outline Class

4

Administrative

• Admin for tonight …

– Syllabus Review

Page 5: Logic Design I (17.341) Fall 2011 Lecture Outlinefaculty.uml.edu/dbowden/ClassPages/2011_Fall_KCS/17-341/Ref_Documents... · 1 Logic Design I (17.341) Fall 2011 Lecture Outline Class

5

Syllabus

• Syllabus

– Lecture changes … see syllabus

– Lab due dates …

• Lab #1 Due tonight … 11/28/11• Lab #2 Due … 12/12/11

– Exam #3 is next week … 12/05/11

Page 6: Logic Design I (17.341) Fall 2011 Lecture Outlinefaculty.uml.edu/dbowden/ClassPages/2011_Fall_KCS/17-341/Ref_Documents... · 1 Logic Design I (17.341) Fall 2011 Lecture Outline Class

6

Syllabus ReviewWeek Date Topics Chapter Lab Report Due

1 09/12/11 Introduction to digital systems and number systems 1

2 09/19/11 Binary Codes and Boolean Algebra 2

3 09/26/11 Boolean Algebra (continued) 3

4 10/03/11 Examination 1

X 10/10/11 No Class - Holiday

5 10/17/11 Application of Boolean Algebra 4

6 10/24/11 Karnaugh Maps and 5

7 10/31/11 Multi-Level Gate Circuits and Lab lecture 7

8 11/07/11 Examination 2

9 11/14/11 Combinational Circuit Design and Simulation Using Gates

8

10 11/21/11 Multiplexers, Decoders. Encoder, and start PLD 9

11 11/28/11 Programmable Logic Devices 10 1

12 12/05/11 Examination 3

13 12/12/11 Introduction to VHDL and Final Review 2

14 12/19/11 Final Exam

Page 7: Logic Design I (17.341) Fall 2011 Lecture Outlinefaculty.uml.edu/dbowden/ClassPages/2011_Fall_KCS/17-341/Ref_Documents... · 1 Logic Design I (17.341) Fall 2011 Lecture Outline Class

Exam #2

• Will be returned at the end of class tonight

7

Page 8: Logic Design I (17.341) Fall 2011 Lecture Outlinefaculty.uml.edu/dbowden/ClassPages/2011_Fall_KCS/17-341/Ref_Documents... · 1 Logic Design I (17.341) Fall 2011 Lecture Outline Class

8

Questions?

Page 9: Logic Design I (17.341) Fall 2011 Lecture Outlinefaculty.uml.edu/dbowden/ClassPages/2011_Fall_KCS/17-341/Ref_Documents... · 1 Logic Design I (17.341) Fall 2011 Lecture Outline Class

9

Chapter 9 …

MULTIPLEXERS, DECODERS, AND PROGRAMMABLE LOGIC

DEVICES

Page 10: Logic Design I (17.341) Fall 2011 Lecture Outlinefaculty.uml.edu/dbowden/ClassPages/2011_Fall_KCS/17-341/Ref_Documents... · 1 Logic Design I (17.341) Fall 2011 Lecture Outline Class

10

Programmable Logic Devices

Page 11: Logic Design I (17.341) Fall 2011 Lecture Outlinefaculty.uml.edu/dbowden/ClassPages/2011_Fall_KCS/17-341/Ref_Documents... · 1 Logic Design I (17.341) Fall 2011 Lecture Outline Class

Programmable Logic Devices

• A programmable logic device … or … PLD …

– A general name for a digital integrated circuit capable of being programmed to provide a variety of different logic functions

11

Page 12: Logic Design I (17.341) Fall 2011 Lecture Outlinefaculty.uml.edu/dbowden/ClassPages/2011_Fall_KCS/17-341/Ref_Documents... · 1 Logic Design I (17.341) Fall 2011 Lecture Outline Class

Programmable Logic Devices

• For digital system is designed using a PLD …

– Changes in the design can easily be made by …

• Changing the programming of the PLD …

– Without having to change the wiring in the system

12

Page 13: Logic Design I (17.341) Fall 2011 Lecture Outlinefaculty.uml.edu/dbowden/ClassPages/2011_Fall_KCS/17-341/Ref_Documents... · 1 Logic Design I (17.341) Fall 2011 Lecture Outline Class

13

Programmable Logic Arrays

Page 14: Logic Design I (17.341) Fall 2011 Lecture Outlinefaculty.uml.edu/dbowden/ClassPages/2011_Fall_KCS/17-341/Ref_Documents... · 1 Logic Design I (17.341) Fall 2011 Lecture Outline Class

Programmable Logic Arrays

• Programmable logic array … PLA

• Performs the same basic function as a ROM

14

Page 15: Logic Design I (17.341) Fall 2011 Lecture Outlinefaculty.uml.edu/dbowden/ClassPages/2011_Fall_KCS/17-341/Ref_Documents... · 1 Logic Design I (17.341) Fall 2011 Lecture Outline Class

Programmable Logic Arrays

• A PLA with n inputs and m outputs can realize m functions of nvariables

15

Page 16: Logic Design I (17.341) Fall 2011 Lecture Outlinefaculty.uml.edu/dbowden/ClassPages/2011_Fall_KCS/17-341/Ref_Documents... · 1 Logic Design I (17.341) Fall 2011 Lecture Outline Class

Programmable Logic Arrays

• The internal organization of the PLA is different from that of the ROM in that …

– The decoder is replaced with an AND array which realizes selected product terms of the input variables

16

Page 17: Logic Design I (17.341) Fall 2011 Lecture Outlinefaculty.uml.edu/dbowden/ClassPages/2011_Fall_KCS/17-341/Ref_Documents... · 1 Logic Design I (17.341) Fall 2011 Lecture Outline Class

Programmable Logic Arrays

• The OR array …

– ORs together the product terms needed to form the output functions …so …

• A PLA implements a sum-of-products expression

• A ROM directly implements a truth table

17

Page 18: Logic Design I (17.341) Fall 2011 Lecture Outlinefaculty.uml.edu/dbowden/ClassPages/2011_Fall_KCS/17-341/Ref_Documents... · 1 Logic Design I (17.341) Fall 2011 Lecture Outline Class

Programmable Logic Arrays

• PLA which realizes the same functions as the ROM we discussed last time … larger images on next two slides

ROM PLA

18

Page 19: Logic Design I (17.341) Fall 2011 Lecture Outlinefaculty.uml.edu/dbowden/ClassPages/2011_Fall_KCS/17-341/Ref_Documents... · 1 Logic Design I (17.341) Fall 2011 Lecture Outline Class

Programmable Logic Arrays

• ROM

19

Page 20: Logic Design I (17.341) Fall 2011 Lecture Outlinefaculty.uml.edu/dbowden/ClassPages/2011_Fall_KCS/17-341/Ref_Documents... · 1 Logic Design I (17.341) Fall 2011 Lecture Outline Class

Programmable Logic Arrays

• PLA … Three Inputs … Five Product Terms … and … Four Outputs

20

Page 21: Logic Design I (17.341) Fall 2011 Lecture Outlinefaculty.uml.edu/dbowden/ClassPages/2011_Fall_KCS/17-341/Ref_Documents... · 1 Logic Design I (17.341) Fall 2011 Lecture Outline Class

Programmable Logic Arrays

• Product terms are formed in the AND array by connecting switching elements at appropriate points in the array

21

Page 22: Logic Design I (17.341) Fall 2011 Lecture Outlinefaculty.uml.edu/dbowden/ClassPages/2011_Fall_KCS/17-341/Ref_Documents... · 1 Logic Design I (17.341) Fall 2011 Lecture Outline Class

Programmable Logic Arrays

• To form A’ B’ … – Switching elements are used to connect the first word line with

the A’ … and … B’ lines• Switching elements are

22

<Unknown User>
Pencil
Page 23: Logic Design I (17.341) Fall 2011 Lecture Outlinefaculty.uml.edu/dbowden/ClassPages/2011_Fall_KCS/17-341/Ref_Documents... · 1 Logic Design I (17.341) Fall 2011 Lecture Outline Class

Programmable Logic Arrays

• Switching elements are connected in the OR array to select the product terms needed for the output functions

23

Page 24: Logic Design I (17.341) Fall 2011 Lecture Outlinefaculty.uml.edu/dbowden/ClassPages/2011_Fall_KCS/17-341/Ref_Documents... · 1 Logic Design I (17.341) Fall 2011 Lecture Outline Class

Programmable Logic Arrays

• Example … because F0 = A’B’ + AC’ …– Switching elements are used to connect the A’ B’ … and … AC’

lines to the F0 line

24

Page 25: Logic Design I (17.341) Fall 2011 Lecture Outlinefaculty.uml.edu/dbowden/ClassPages/2011_Fall_KCS/17-341/Ref_Documents... · 1 Logic Design I (17.341) Fall 2011 Lecture Outline Class

Programmable Logic Arrays

• The connections in the AND … and … OR arrays of this PLA make it equivalent to the AND- OR array below

25

Page 26: Logic Design I (17.341) Fall 2011 Lecture Outlinefaculty.uml.edu/dbowden/ClassPages/2011_Fall_KCS/17-341/Ref_Documents... · 1 Logic Design I (17.341) Fall 2011 Lecture Outline Class

Programmable Logic Arrays

• The contents of a PLA can be specified by a PLA table …

26

Page 27: Logic Design I (17.341) Fall 2011 Lecture Outlinefaculty.uml.edu/dbowden/ClassPages/2011_Fall_KCS/17-341/Ref_Documents... · 1 Logic Design I (17.341) Fall 2011 Lecture Outline Class

Programmable Logic Arrays

• The input side of a PLA table defines the product terms generated by the AND array …

• 0 indicates a complemented variable1 indicates an uncomplemented variable− indicates a missing variable

27

Page 28: Logic Design I (17.341) Fall 2011 Lecture Outlinefaculty.uml.edu/dbowden/ClassPages/2011_Fall_KCS/17-341/Ref_Documents... · 1 Logic Design I (17.341) Fall 2011 Lecture Outline Class

Programmable Logic Arrays

• The output side of a PLA table specifies which product terms are ORed together to form the output functions …

• 0 indicates a product term is not present1 indicates a product term is present

28

Page 29: Logic Design I (17.341) Fall 2011 Lecture Outlinefaculty.uml.edu/dbowden/ClassPages/2011_Fall_KCS/17-341/Ref_Documents... · 1 Logic Design I (17.341) Fall 2011 Lecture Outline Class

Programmable Logic Arrays

• Unlike a truth table … zero … one … or more rows in a PLA table can be selected at the same time

29

Page 30: Logic Design I (17.341) Fall 2011 Lecture Outlinefaculty.uml.edu/dbowden/ClassPages/2011_Fall_KCS/17-341/Ref_Documents... · 1 Logic Design I (17.341) Fall 2011 Lecture Outline Class

Programmable Logic Arrays

• Table below specifies the shown PLA

30

Page 31: Logic Design I (17.341) Fall 2011 Lecture Outlinefaculty.uml.edu/dbowden/ClassPages/2011_Fall_KCS/17-341/Ref_Documents... · 1 Logic Design I (17.341) Fall 2011 Lecture Outline Class

31

Example …

Page 32: Logic Design I (17.341) Fall 2011 Lecture Outlinefaculty.uml.edu/dbowden/ClassPages/2011_Fall_KCS/17-341/Ref_Documents... · 1 Logic Design I (17.341) Fall 2011 Lecture Outline Class

Programmable Logic Arrays

• Example … Realize the following using a PLA …

f1 = a’bd + abd + ab’c’ +b’c f2 = c + a’bd f3 = bc + ab’c’ + abd

32

Page 33: Logic Design I (17.341) Fall 2011 Lecture Outlinefaculty.uml.edu/dbowden/ClassPages/2011_Fall_KCS/17-341/Ref_Documents... · 1 Logic Design I (17.341) Fall 2011 Lecture Outline Class

Programmable Logic Arrays

f1 = a’bd + abd + ab’c’ +b’c f2 = c + a’bd f3 = bc + ab’c’ + abd

• Construct a PLA Table …

33

Page 34: Logic Design I (17.341) Fall 2011 Lecture Outlinefaculty.uml.edu/dbowden/ClassPages/2011_Fall_KCS/17-341/Ref_Documents... · 1 Logic Design I (17.341) Fall 2011 Lecture Outline Class

Programmable Logic Arrays

f1 = a’bd + abd + ab’c’ +b’c f2 = c + a’bd f3 = bc + ab’c’ + abd

• Develop PLA Structure …

34

Page 35: Logic Design I (17.341) Fall 2011 Lecture Outlinefaculty.uml.edu/dbowden/ClassPages/2011_Fall_KCS/17-341/Ref_Documents... · 1 Logic Design I (17.341) Fall 2011 Lecture Outline Class

Programmable Logic Arrays

f1 = a’bd + abd + ab’c’ +b’c f2 = c + a’bd f3 = bc + ab’c’ + abd

• Four inputs …

35

Page 36: Logic Design I (17.341) Fall 2011 Lecture Outlinefaculty.uml.edu/dbowden/ClassPages/2011_Fall_KCS/17-341/Ref_Documents... · 1 Logic Design I (17.341) Fall 2011 Lecture Outline Class

Programmable Logic Arrays

f1 = a’bd + abd + ab’c’ +b’c f2 = c + a’bd f3 = bc + ab’c’ + abd

• Six product terms …

36

Page 37: Logic Design I (17.341) Fall 2011 Lecture Outlinefaculty.uml.edu/dbowden/ClassPages/2011_Fall_KCS/17-341/Ref_Documents... · 1 Logic Design I (17.341) Fall 2011 Lecture Outline Class

Programmable Logic Arrays

f1 = a’bd + abd + ab’c’ +b’c f2 = c + a’bd f3 = bc + ab’c’ + abd

• Three outputs …

37

Page 38: Logic Design I (17.341) Fall 2011 Lecture Outlinefaculty.uml.edu/dbowden/ClassPages/2011_Fall_KCS/17-341/Ref_Documents... · 1 Logic Design I (17.341) Fall 2011 Lecture Outline Class

Programmable Logic Arrays

f1 = a’bd + abd + ab’c’ +b’c f2 = c + a’bd f3 = bc + ab’c’ + abd

• A dot represents a switching element …

38

Page 39: Logic Design I (17.341) Fall 2011 Lecture Outlinefaculty.uml.edu/dbowden/ClassPages/2011_Fall_KCS/17-341/Ref_Documents... · 1 Logic Design I (17.341) Fall 2011 Lecture Outline Class

39

Programmable Array Logic

Page 40: Logic Design I (17.341) Fall 2011 Lecture Outlinefaculty.uml.edu/dbowden/ClassPages/2011_Fall_KCS/17-341/Ref_Documents... · 1 Logic Design I (17.341) Fall 2011 Lecture Outline Class

Programmable Array Logic

• Programmable Array Logic … PAL

• The PAL is a special case of the PLA in which …

– The AND array is programmable and the OR array is fixed

• Because only the AND array is programmable …

– The PAL is less expensive than the more general PLA … and …

• The PAL is easier to program

40

Page 41: Logic Design I (17.341) Fall 2011 Lecture Outlinefaculty.uml.edu/dbowden/ClassPages/2011_Fall_KCS/17-341/Ref_Documents... · 1 Logic Design I (17.341) Fall 2011 Lecture Outline Class

Programmable Array Logic

• The following two symbols are logically equivalent …

• A buffer is used since each PAL input drives many AND gate outputs

41

Page 42: Logic Design I (17.341) Fall 2011 Lecture Outlinefaculty.uml.edu/dbowden/ClassPages/2011_Fall_KCS/17-341/Ref_Documents... · 1 Logic Design I (17.341) Fall 2011 Lecture Outline Class

Programmable Array Logic

• Gates below are equivalent …

• Connections to the AND gate inputs in a PAL are represented by …

– A … X’s

42

Page 43: Logic Design I (17.341) Fall 2011 Lecture Outlinefaculty.uml.edu/dbowden/ClassPages/2011_Fall_KCS/17-341/Ref_Documents... · 1 Logic Design I (17.341) Fall 2011 Lecture Outline Class

43

Example …

Page 44: Logic Design I (17.341) Fall 2011 Lecture Outlinefaculty.uml.edu/dbowden/ClassPages/2011_Fall_KCS/17-341/Ref_Documents... · 1 Logic Design I (17.341) Fall 2011 Lecture Outline Class

Programmable Array Logic

• Example … Using a PAL … realize the function … I1I’2 + I’1I2

44

Page 45: Logic Design I (17.341) Fall 2011 Lecture Outlinefaculty.uml.edu/dbowden/ClassPages/2011_Fall_KCS/17-341/Ref_Documents... · 1 Logic Design I (17.341) Fall 2011 Lecture Outline Class

Programmable Array Logic

• Example … Using a PAL … realize the function … I1I’2 + I’1I2

45

Page 46: Logic Design I (17.341) Fall 2011 Lecture Outlinefaculty.uml.edu/dbowden/ClassPages/2011_Fall_KCS/17-341/Ref_Documents... · 1 Logic Design I (17.341) Fall 2011 Lecture Outline Class

Programmable Array Logic

• Example … Using a PAL … realize the function … I1I’2 + I’1I2

46

Unlike PLAs … the AND terms cannot be shared amongst two or more OR gates … therefore …

Simplify logic equations

Page 47: Logic Design I (17.341) Fall 2011 Lecture Outlinefaculty.uml.edu/dbowden/ClassPages/2011_Fall_KCS/17-341/Ref_Documents... · 1 Logic Design I (17.341) Fall 2011 Lecture Outline Class

47

Example …

Page 48: Logic Design I (17.341) Fall 2011 Lecture Outlinefaculty.uml.edu/dbowden/ClassPages/2011_Fall_KCS/17-341/Ref_Documents... · 1 Logic Design I (17.341) Fall 2011 Lecture Outline Class

Programmable Array Logic

• Example … Using a PAL … implement a full adder

48

Page 49: Logic Design I (17.341) Fall 2011 Lecture Outlinefaculty.uml.edu/dbowden/ClassPages/2011_Fall_KCS/17-341/Ref_Documents... · 1 Logic Design I (17.341) Fall 2011 Lecture Outline Class

Programmable Array Logic

• Example … Using a PAL … implement a full adder

49

Sum = X’Y’Cin + X’YC’in + XY’C’in + XYCin

Cout = XCin + YCin + XY

Page 50: Logic Design I (17.341) Fall 2011 Lecture Outlinefaculty.uml.edu/dbowden/ClassPages/2011_Fall_KCS/17-341/Ref_Documents... · 1 Logic Design I (17.341) Fall 2011 Lecture Outline Class

50

Complex Programmable Logic Devices

Page 51: Logic Design I (17.341) Fall 2011 Lecture Outlinefaculty.uml.edu/dbowden/ClassPages/2011_Fall_KCS/17-341/Ref_Documents... · 1 Logic Design I (17.341) Fall 2011 Lecture Outline Class

Complex Programmable Logic Devices

• As integrated circuit technology continues to improve …

– More and more gates can be placed on a single chip

• This has allowed the development of …

– Complex programmable logic devices … CPLDs ...

51

Page 52: Logic Design I (17.341) Fall 2011 Lecture Outlinefaculty.uml.edu/dbowden/ClassPages/2011_Fall_KCS/17-341/Ref_Documents... · 1 Logic Design I (17.341) Fall 2011 Lecture Outline Class

Complex Programmable Logic Devices

• Instead of a single PAL or PLA on a chip …

– Many PALs or PLAs can be placed on a single CPLD chip and interconnected

• When storage elements such as flip-flops are also included on the same integrated circuit (IC) …

– A small digital system can be implemented with a single CPLD

52

Page 53: Logic Design I (17.341) Fall 2011 Lecture Outlinefaculty.uml.edu/dbowden/ClassPages/2011_Fall_KCS/17-341/Ref_Documents... · 1 Logic Design I (17.341) Fall 2011 Lecture Outline Class

Complex Programmable Logic Devices

• For example … the following is the basic architecture of …

– Xilinx XCR3064XL CPLD

53

Page 54: Logic Design I (17.341) Fall 2011 Lecture Outlinefaculty.uml.edu/dbowden/ClassPages/2011_Fall_KCS/17-341/Ref_Documents... · 1 Logic Design I (17.341) Fall 2011 Lecture Outline Class

Complex Programmable Logic Devices

• This CPLD has … four function blocks– Each block has 16 associated macrocells … MC1 … MC2 . . .

54

Page 55: Logic Design I (17.341) Fall 2011 Lecture Outlinefaculty.uml.edu/dbowden/ClassPages/2011_Fall_KCS/17-341/Ref_Documents... · 1 Logic Design I (17.341) Fall 2011 Lecture Outline Class

Complex Programmable Logic Devices

• Each function block is a programmable AND- OR array that is configured as a PLA

55

Page 56: Logic Design I (17.341) Fall 2011 Lecture Outlinefaculty.uml.edu/dbowden/ClassPages/2011_Fall_KCS/17-341/Ref_Documents... · 1 Logic Design I (17.341) Fall 2011 Lecture Outline Class

Complex Programmable Logic Devices

• Each macrocell contains a flip- flop and multiplexers that route signals from the function block to the input-output (I/O) block or to the interconnect array (IA)

56

<Unknown User>
Pencil
Page 57: Logic Design I (17.341) Fall 2011 Lecture Outlinefaculty.uml.edu/dbowden/ClassPages/2011_Fall_KCS/17-341/Ref_Documents... · 1 Logic Design I (17.341) Fall 2011 Lecture Outline Class

Complex Programmable Logic Devices

• The IA selects signals from the macrocell outputs or I/O blocks and connects them back to function block inputs

57

Page 58: Logic Design I (17.341) Fall 2011 Lecture Outlinefaculty.uml.edu/dbowden/ClassPages/2011_Fall_KCS/17-341/Ref_Documents... · 1 Logic Design I (17.341) Fall 2011 Lecture Outline Class

Complex Programmable Logic Devices

• Thus … a signal generated in one function block can be used as an input to any other function block

58

Page 59: Logic Design I (17.341) Fall 2011 Lecture Outlinefaculty.uml.edu/dbowden/ClassPages/2011_Fall_KCS/17-341/Ref_Documents... · 1 Logic Design I (17.341) Fall 2011 Lecture Outline Class

Complex Programmable Logic Devices

• The I/O blocks provide an interface between the bi-directional I/O pins on the IC and the interior of the CPLD

59

Page 60: Logic Design I (17.341) Fall 2011 Lecture Outlinefaculty.uml.edu/dbowden/ClassPages/2011_Fall_KCS/17-341/Ref_Documents... · 1 Logic Design I (17.341) Fall 2011 Lecture Outline Class

CPLD Function Block and Macrocell

60

Signals generated in a PLA can be routed to an I/O pin through a macrocell

<Unknown User>
Pencil
Page 61: Logic Design I (17.341) Fall 2011 Lecture Outlinefaculty.uml.edu/dbowden/ClassPages/2011_Fall_KCS/17-341/Ref_Documents... · 1 Logic Design I (17.341) Fall 2011 Lecture Outline Class

61

Field-Programmable Gate Arrays

Page 62: Logic Design I (17.341) Fall 2011 Lecture Outlinefaculty.uml.edu/dbowden/ClassPages/2011_Fall_KCS/17-341/Ref_Documents... · 1 Logic Design I (17.341) Fall 2011 Lecture Outline Class

Field-Programmable Gate Arrays

• Field-Programmable Gate Array … FPGA

– Is an IC that contains an array of identical logic cells with programmable interconnections

• The user can program the functions realized by each logic cell and the connections between the cells

62

Page 63: Logic Design I (17.341) Fall 2011 Lecture Outlinefaculty.uml.edu/dbowden/ClassPages/2011_Fall_KCS/17-341/Ref_Documents... · 1 Logic Design I (17.341) Fall 2011 Lecture Outline Class

Field-Programmable Gate Arrays

• The interior of the FPGA consists of …

– An array of logic cells … also called configurable logic blocks … CLBs

• The array of CLBs is surrounded by a ring of I/O interface blocks

• The I/O blocks connect the CLB signals to IC pins

63

Page 64: Logic Design I (17.341) Fall 2011 Lecture Outlinefaculty.uml.edu/dbowden/ClassPages/2011_Fall_KCS/17-341/Ref_Documents... · 1 Logic Design I (17.341) Fall 2011 Lecture Outline Class

Layout of a Typical FPGA

64

Page 65: Logic Design I (17.341) Fall 2011 Lecture Outlinefaculty.uml.edu/dbowden/ClassPages/2011_Fall_KCS/17-341/Ref_Documents... · 1 Logic Design I (17.341) Fall 2011 Lecture Outline Class

Simplified Configurable Logic Block (CLB)

65

Two function generators … implemented as lookup tables … LUT

Page 66: Logic Design I (17.341) Fall 2011 Lecture Outlinefaculty.uml.edu/dbowden/ClassPages/2011_Fall_KCS/17-341/Ref_Documents... · 1 Logic Design I (17.341) Fall 2011 Lecture Outline Class

Simplified Configurable Logic Block (CLB)

66

Two flip- flops

Page 67: Logic Design I (17.341) Fall 2011 Lecture Outlinefaculty.uml.edu/dbowden/ClassPages/2011_Fall_KCS/17-341/Ref_Documents... · 1 Logic Design I (17.341) Fall 2011 Lecture Outline Class

Simplified Configurable Logic Block (CLB)

67

Multiplexers for routing signals within the CLB

Page 68: Logic Design I (17.341) Fall 2011 Lecture Outlinefaculty.uml.edu/dbowden/ClassPages/2011_Fall_KCS/17-341/Ref_Documents... · 1 Logic Design I (17.341) Fall 2011 Lecture Outline Class

Simplified Configurable Logic Block (CLB)

68

Each function generator has four inputs and can implement any function of up to four variables.

Page 69: Logic Design I (17.341) Fall 2011 Lecture Outlinefaculty.uml.edu/dbowden/ClassPages/2011_Fall_KCS/17-341/Ref_Documents... · 1 Logic Design I (17.341) Fall 2011 Lecture Outline Class

Simplified Configurable Logic Block (CLB)

69

The function generators are A four-input LUT … essentially a reprogrammable ROM with 16 1-bit words

This ROM stores the truth table for the function being generated.

Page 70: Logic Design I (17.341) Fall 2011 Lecture Outlinefaculty.uml.edu/dbowden/ClassPages/2011_Fall_KCS/17-341/Ref_Documents... · 1 Logic Design I (17.341) Fall 2011 Lecture Outline Class

Simplified Configurable Logic Block (CLB)

70

The H multiplexer selects either F or G depending on the value of H1

<Unknown User>
Pencil
Page 71: Logic Design I (17.341) Fall 2011 Lecture Outlinefaculty.uml.edu/dbowden/ClassPages/2011_Fall_KCS/17-341/Ref_Documents... · 1 Logic Design I (17.341) Fall 2011 Lecture Outline Class

Simplified Configurable Logic Block (CLB)

71

The CLB has two combinational outputs … X and Y

Page 72: Logic Design I (17.341) Fall 2011 Lecture Outlinefaculty.uml.edu/dbowden/ClassPages/2011_Fall_KCS/17-341/Ref_Documents... · 1 Logic Design I (17.341) Fall 2011 Lecture Outline Class

Simplified Configurable Logic Block (CLB)

72

Two flip- flop outputs … XQ and YQ

Page 73: Logic Design I (17.341) Fall 2011 Lecture Outlinefaculty.uml.edu/dbowden/ClassPages/2011_Fall_KCS/17-341/Ref_Documents... · 1 Logic Design I (17.341) Fall 2011 Lecture Outline Class

Simplified Configurable Logic Block (CLB)

73

The X and Y outputs and the flip-flop inputs are selected by programmable multiplexers

The select inputs to these MUXes are programmed when the FPGA is configured

Page 74: Logic Design I (17.341) Fall 2011 Lecture Outlinefaculty.uml.edu/dbowden/ClassPages/2011_Fall_KCS/17-341/Ref_Documents... · 1 Logic Design I (17.341) Fall 2011 Lecture Outline Class

Implementation of a Lookup Table (LUT)

• A four-input LUT is essentially a reprogrammable ROM with 16 1-bit words

74

abcd F 0000 0 0001 1

• • • • • •

1111 1

Page 75: Logic Design I (17.341) Fall 2011 Lecture Outlinefaculty.uml.edu/dbowden/ClassPages/2011_Fall_KCS/17-341/Ref_Documents... · 1 Logic Design I (17.341) Fall 2011 Lecture Outline Class

Implementation of a Lookup Table (LUT)

• Implementation of a function generator with inputs a, b, c, d• The numbers in the squares represent the bits stored in the LUT• These bits enable particular minterms• A function with only one minterm or with as many as 15 minterms

requires a single function generator … because it’s a truth table

75

abcd F 0000 0 0001 1

• • • • • •

1111 1

Page 76: Logic Design I (17.341) Fall 2011 Lecture Outlinefaculty.uml.edu/dbowden/ClassPages/2011_Fall_KCS/17-341/Ref_Documents... · 1 Logic Design I (17.341) Fall 2011 Lecture Outline Class

76

Shannon′s Expansion Theorem

Page 77: Logic Design I (17.341) Fall 2011 Lecture Outlinefaculty.uml.edu/dbowden/ClassPages/2011_Fall_KCS/17-341/Ref_Documents... · 1 Logic Design I (17.341) Fall 2011 Lecture Outline Class

Shannon′s Expansion Theorem

• In order to implement a switching function of more than four variables using 4-variable function generators …

– The function must be decomposed into subfunctions where each subfunction requires only three variables

• For example, we can expand a function of the variables a, b, c, and d about the variable a:

77

Page 78: Logic Design I (17.341) Fall 2011 Lecture Outlinefaculty.uml.edu/dbowden/ClassPages/2011_Fall_KCS/17-341/Ref_Documents... · 1 Logic Design I (17.341) Fall 2011 Lecture Outline Class

Shannon′s Expansion Theorem

• Example … we can expand a function of the variables a, b, c, and dabout the variable a …

f (a, b, c, d) = a'f (0, b, c, d) + a f (1, b, c, d) = a'f0 + a f1

78

<Unknown User>
Pencil
Page 79: Logic Design I (17.341) Fall 2011 Lecture Outlinefaculty.uml.edu/dbowden/ClassPages/2011_Fall_KCS/17-341/Ref_Documents... · 1 Logic Design I (17.341) Fall 2011 Lecture Outline Class

Shannon′s Expansion Theorem

• Example … we can expand a function of the variables a, b, c, and dabout the variable a …

f (a, b, c, d) = a'f (0, b, c, d) + a f (1, b, c, d) = a'f0 + a f1

f (a, b, c, d) = c'd'+ a'b'c + bcd + ac'

= a‘ (c'd'+ b’c + bcd) + a(c'd'+ bcd + c‘ )

= a‘ (c'd'+ b'c + cd) + a(c'+ bd) = a'f0 + a f1

79

<Unknown User>
Pencil
Page 80: Logic Design I (17.341) Fall 2011 Lecture Outlinefaculty.uml.edu/dbowden/ClassPages/2011_Fall_KCS/17-341/Ref_Documents... · 1 Logic Design I (17.341) Fall 2011 Lecture Outline Class

Shannon′s Expansion Theorem

• Function Expansion Using a Karnaugh Map …

80

Page 81: Logic Design I (17.341) Fall 2011 Lecture Outlinefaculty.uml.edu/dbowden/ClassPages/2011_Fall_KCS/17-341/Ref_Documents... · 1 Logic Design I (17.341) Fall 2011 Lecture Outline Class

Shannon′s Expansion Theorem

• The general form of Shannon’s expansion theorem for expanding an n-variable function about the variable xi is

f (x1, x2, . . . , xi−1, xi, xi+1, . . . , xn)= xi′ f (x1, x2, . . . , xi−1, 0, xi+1, . . . , xn) +

xi f (x1, x2, . . . , xi−1, 1, xi+1, . . . , xn)= xi′ f0 + xi f1

• Where f0 is the (n − 1)-variable function obtained by setting xi to 0 in the original function and f1 is the (n − 1)-variable function obtained by setting xi to 1 in the original function

81

<Unknown User>
Pencil
Page 82: Logic Design I (17.341) Fall 2011 Lecture Outlinefaculty.uml.edu/dbowden/ClassPages/2011_Fall_KCS/17-341/Ref_Documents... · 1 Logic Design I (17.341) Fall 2011 Lecture Outline Class

Shannon′s Expansion Theorem

• Realization of a 5-Variable Function with Function Generators and a MUX …

82

<Unknown User>
Pencil
Page 83: Logic Design I (17.341) Fall 2011 Lecture Outlinefaculty.uml.edu/dbowden/ClassPages/2011_Fall_KCS/17-341/Ref_Documents... · 1 Logic Design I (17.341) Fall 2011 Lecture Outline Class

Shannon′s Expansion Theorem

• Realization of a 6-Variable Function with Function Generators and a MUX …

83

G(a, b, c, d, e, f)= a'G0 + aG1

G0 = b'G00 + bG01

G1 = b'G10 + bG11

<Unknown User>
Pencil
Page 84: Logic Design I (17.341) Fall 2011 Lecture Outlinefaculty.uml.edu/dbowden/ClassPages/2011_Fall_KCS/17-341/Ref_Documents... · 1 Logic Design I (17.341) Fall 2011 Lecture Outline Class

84

Exam # 2 and Exam # 3

Page 85: Logic Design I (17.341) Fall 2011 Lecture Outlinefaculty.uml.edu/dbowden/ClassPages/2011_Fall_KCS/17-341/Ref_Documents... · 1 Logic Design I (17.341) Fall 2011 Lecture Outline Class

Exam #2

• Pass back Exam #2

• Exam #3 … next week …

– Open Book … open notes

85

Page 86: Logic Design I (17.341) Fall 2011 Lecture Outlinefaculty.uml.edu/dbowden/ClassPages/2011_Fall_KCS/17-341/Ref_Documents... · 1 Logic Design I (17.341) Fall 2011 Lecture Outline Class

86

Lab

Page 87: Logic Design I (17.341) Fall 2011 Lecture Outlinefaculty.uml.edu/dbowden/ClassPages/2011_Fall_KCS/17-341/Ref_Documents... · 1 Logic Design I (17.341) Fall 2011 Lecture Outline Class

Lab

• Lab #1 Due tonight …

– Hard copy before end of night– Electronic by 11:59 PM tonight

• Lab # 2 is due … 12/12/11

• Use Student Logic Number 301

• Lab report criteria is available on the class web page

87

Page 88: Logic Design I (17.341) Fall 2011 Lecture Outlinefaculty.uml.edu/dbowden/ClassPages/2011_Fall_KCS/17-341/Ref_Documents... · 1 Logic Design I (17.341) Fall 2011 Lecture Outline Class

88

Next Week …

Page 89: Logic Design I (17.341) Fall 2011 Lecture Outlinefaculty.uml.edu/dbowden/ClassPages/2011_Fall_KCS/17-341/Ref_Documents... · 1 Logic Design I (17.341) Fall 2011 Lecture Outline Class

89

Next Week Topics

• Exam # 3

• In two weeks … Chapter 10 … VHDL

Page 90: Logic Design I (17.341) Fall 2011 Lecture Outlinefaculty.uml.edu/dbowden/ClassPages/2011_Fall_KCS/17-341/Ref_Documents... · 1 Logic Design I (17.341) Fall 2011 Lecture Outline Class

90

Home Work

Page 91: Logic Design I (17.341) Fall 2011 Lecture Outlinefaculty.uml.edu/dbowden/ClassPages/2011_Fall_KCS/17-341/Ref_Documents... · 1 Logic Design I (17.341) Fall 2011 Lecture Outline Class

91

Homework

1. Study for exam #3

2. Lab #2

3. Read Chapter 10

Page 92: Logic Design I (17.341) Fall 2011 Lecture Outlinefaculty.uml.edu/dbowden/ClassPages/2011_Fall_KCS/17-341/Ref_Documents... · 1 Logic Design I (17.341) Fall 2011 Lecture Outline Class

92

References

1. None