Top Banner
EECS 303 Lecture 1 1 Lecture 1 Introduction to Digital Logic Design Hai Zhou EECS 303 Advanced Digital Design Fall 2011
30
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
  • EECS 303 Lecture 1*Lecture 1Introduction to Digital Logic DesignHai ZhouEECS 303Advanced Digital DesignFall 2011

    EECS 303 Lecture 1

  • EECS 303 Lecture 1*OutlineClass administrationDigital design methodologyRepresentations of Digital DesignIntroduction to Mentor Graphics toolsREADING: Chapter 1Chapter 2

    EECS 303 Lecture 1

  • EECS 303 Lecture 1*Class AdministrationLectures twice a week, Tuesday-Thursday 3:30-4:50PMInstructor: Hai ZhouOffice: L461 TechEMAIL: [email protected]: 491-4155Teaching AssistantPeng KangOffice: M314 TechEMAIL: [email protected] Page: www.eecs.northestern.edu/~haizhou/303/

    EECS 303 Lecture 1

  • EECS 303 Lecture 1*Class PrerequisitesEECS 203: Introduction to Computer EngineeringNeed to have basic understanding of digital systems, logic gates, combinational and sequential logicNeed to have been exposed to UNIX since we will use the Mentor Graphics tools on SUN workstationsClass will form a background for other classes in Computer EngineeringEECS 357: Introduction to VLSI CADEECS 355: ASIC & FPGA DesignEECS 361: Computer ArchitectureEECS 391: Introduction to VLSI Design

    EECS 303 Lecture 1

  • EECS 303 Lecture 1*Class AdministrationRequired Textbooks:Mano and Kime, Logic & Computer Design Fundamentals, Prentice Hall.ClassnotesCopies of lecture transparencies to be made available

    EECS 303 Lecture 1

  • EECS 303 Lecture 1*Class Grades5 Homeworks25% of grade5 Labs25% of gradeMidterm exam20% of gradeFinal exam30% of gradeHomeworks and labs will be due at the beginning of class on the due dateA penalty of 10% per working day will be assigned to late assignments or labs

    EECS 303 Lecture 1

  • EECS 303 Lecture 1*Lab WorkYou will be introduced to the use of a commercial computer aided design tool from Mentor GraphicsWill use the Sun workstations in the Wilkinson Lab (3rd floor M wing of Tech)Lab Hours: OpenThere will be 5 labsLab 1: Tutorial on Mentor Graphics (simple logic)Lab 2: Design of combinational logic (8-bit adder)Lab 3: Design of ALU and shifterLab 4: Design of a simple 8-state finites state machineLab 5: Use of VHDL for combinational and sequential design

    EECS 303 Lecture 1

  • EECS 303 Lecture 1*The Process of DesignDesignInitial concept: what is the function performed by the object?Constraints: How fast? How much area? How much cost?Refine abstract functional blocks into more concrete realizationsImplementationAssemble primitives into more complex building blocksComposition via wiringChoose among alternatives to improve the designDebugFaulty systems: design flaws, composition flaws, component flawsDesign to make debugging easierHypothesis formation and troubleshooting skills

    EECS 303 Lecture 1

  • EECS 303 Lecture 1*Digital SystemsDigital vs. Analog WaveformsAnalog: values vary over a broad range continuouslyDigital: only assumes discrete values

    EECS 303 Lecture 1

  • EECS 303 Lecture 1*Digital Hardware SystemsAlgebra: variables, values, operations

    In Boolean algebra, the values are the symbols 0 and 1 If a logic statement is false, it has value 0 If a logic statement is true, it has value 1

    Operations: AND, OR, NOTBoolean Algebra and Logical Operators

    EECS 303 Lecture 1

  • EECS 303 Lecture 1*Digital Hardware SystemsCombinational logic no feedback among inputs and outputs outputs are a pure function of the inputs e.g., full adder circuit: (A, B, Carry In) mapped into (Sum, Carry Out)

    Network implemented from switching elements or logicgates. The presence of feedback distinguishes between sequentialand combinational networks.Combinational vs. Sequential Logic

    EECS 303 Lecture 1

  • EECS 303 Lecture 1*Digital Hardware SystemsSequential logic

    inputs and outputs overlap outputs depend on inputs and the entire history of execution!

    network typically has only a limited number of unique configurations these are called states e.g., traffic light controller sequences infinitely through four states

    new component in sequential logic networks: storage elements to remember the current state

    output and new state is a function of the inputs and the old state i.e., the fed back inputs are the state!Synchronous systemsperiod reference signal, the clock, causes the storage elements to accept new values and to change stateAsynchronous systemsno single indication of when to change state

    EECS 303 Lecture 1

  • Case Study of a Simple Logic Design: Seven Segment DisplayChip to drive digital display

    B3

    B2

    B1

    B0

    Val

    0

    0

    0

    0

    0

    0

    0

    0

    1

    1

    0

    0

    1

    0

    2

    0

    0

    1

    1

    3

    0

    1

    0

    0

    4

    0

    1

    0

    1

    5

    0

    1

    1

    0

    6

    0

    1

    1

    1

    7

    1

    0

    0

    0

    8

    1

    0

    0

    1

    9

  • Case Study (cont.)

    B3

    B2

    B1

    B0

    Val

    L1

    L2

    L3

    L4

    L5

    L6

    L7

    0

    0

    0

    0

    0

    1

    0

    1

    1

    1

    1

    1

    0

    0

    0

    1

    1

    0

    0

    0

    0

    0

    1

    1

    0

    0

    1

    0

    2

    1

    1

    1

    0

    1

    1

    0

    0

    0

    1

    1

    3

    1

    1

    1

    0

    0

    1

    1

    0

    1

    0

    0

    4

    0

    1

    0

    1

    0

    1

    1

    0

    1

    0

    1

    5

    1

    1

    1

    1

    0

    0

    1

    0

    1

    1

    0

    6

    1

    1

    1

    1

    1

    0

    1

    0

    1

    1

    1

    7

    1

    0

    0

    0

    0

    1

    1

    1

    0

    0

    0

    8

    1

    1

    1

    1

    1

    1

    1

    1

    0

    0

    1

    9

    1

    1

    1

    1

    0

    1

    1

  • Case Study (cont.)Implement L4:Some gate level implementationof the Boolean function for L4

    B3

    B2

    B1

    B0

    L4

    0

    0

    0

    0

    1

    0

    0

    0

    1

    0

    0

    0

    1

    0

    0

    0

    0

    1

    1

    0

    0

    1

    0

    0

    1

    0

    1

    0

    1

    1

    0

    1

    1

    0

    1

    0

    1

    1

    1

    0

    1

    0

    0

    0

    1

    1

    0

    0

    1

    1

  • EECS 303 Lecture 1*Representations of Digital Design: SwitchesA switch connects two points under control signal.

    when the control signal is 0 (false), the switch is open

    when it is 1 (true), the switch is closedwhen control is 1 (true), switch is open

    when control is 0 (false), switch is closedNormally ClosedNormally Open

    EECS 303 Lecture 1

  • EECS 303 Lecture 1*Switch RepresentationsExamples:routing inputs to outputs through a mazeFloating nodes: what happens if the car is not running? outputs are floating rather than forced to be falseUnder all possible control signal settings (1) all outputs must be connected to some input through a path (2) no output is connected to more than one input through any path

    EECS 303 Lecture 1

  • EECS 303 Lecture 1*Switch RepresentationsImplementation of AND and OR Functions with SwitchesAND functionSeries connection to TRUEOR functionParallel connection to TRUE

    EECS 303 Lecture 1

  • EECS 303 Lecture 1*Representations of a Digital DesignTruth Tablestabulate all possible input combinations and their associated output valuesExample: half adder adds two binary digits to form Sum and CarryExample: full adder adds two binary digits and Carry in to form Sum and Carry OutNOTE: 1 plus 1 is 0 with a carry of 1 in binary

    EECS 303 Lecture 1

  • EECS 303 Lecture 1*Representations of Digital Design: Boolean AlgebraNOT X is written as XX AND Y is written as X & Y, or sometimes X YX OR Y is written as X + Yvalues: 0, 1variables: A, B, C, . . ., X, Y, Zoperations: NOT, AND, OR, . . .A

    0011B

    0101Sum

    0110Carry

    0001Sum = A B + A BCarry = A BOR'd together product terms for each truth tablerow where the function is 1

    if input variable is 0, it appears in complemented form; if 1, it appears uncomplementedDeriving Boolean equations from truth tables:

    EECS 303 Lecture 1

  • EECS 303 Lecture 1*Representations of a Digital Design: Boolean AlgebraA

    00001111B

    00110011Cin

    01010101Sum

    01101001Cout

    00010111Another example:Sum = A B Cin + A B Cin + A B Cin + A B CinCout = A B Cin + A B Cin + A B Cin + A B Cin

    EECS 303 Lecture 1

  • EECS 303 Lecture 1*Gate Representations of a Digital Designmost widely used primitive building block in digital system designStandardLogic GateRepresentationHalf Adder SchematicNetlist: tabulation of gate inputs & outputs and the nets they are connected toNet: electrically connected collection of wires

    EECS 303 Lecture 1

  • EECS 303 Lecture 1*Representations of a Digital Design: GatesFull Adder SchematicFan-in: number of inputs to a gateFan-out: number of gate inputs an output is connected to

    Technology "Rules of Composition" place limits on fan-in/fan-out

    EECS 303 Lecture 1

  • EECS 303 Lecture 1*Waveform Representationdynamic behavior of a circuitreal circuits have non-zero delaysTiming Diagram of the Half Addersumpropagationdelaycircuit hazard: 1 plus 0 is 1, not 0!sumpropagationdelayOutput changes are delayed from input changes

    The propagation delay is sensitive to paths in the circuit

    Outputs may temporarily change from the correct value to the wrong value back again to the correct value: this is called a glitch or hazard

    EECS 303 Lecture 1

  • EECS 303 Lecture 1*Block Representation of a Digital Designstructural organization of the design

    black boxes with input and output connections

    corresponds to well defined functions

    concentrates on how the components are composed by wiring Full Adder realized in terms ofcomposition of half adder blocksBlock diagram representationof the Full Adder

    EECS 303 Lecture 1

  • EECS 303 Lecture 1*Introduction to Mentor Graphics ToolsThe Mentor Graphics CAD system has many componentsYou will use a small portion of the tools for this courseFalcon Design FrameworkDesign Architect for entering logic designsQuicksim for simulating the designsQuickHDL for entering and simulating the VHDL designsRead through and execute Lab 1: Mentor Graphics tutorial

    EECS 303 Lecture 1

  • EECS 303 Lecture 1*Introduction to Mentor GraphicsTyping source /vol/ece303/mgc.env on Sun workstation will set up env for 303 labsTyping dmgr for Design Manager will create a window for running several toolsMentor Graphics is not a single tool but a series of design tools that uses object oriented data representation to simplify the design processData created in one tool (e.g. design architect) can be shipped to another tool (e.g. quicksim) for simulationA schematic is merely a pictorial representation of a circuit

    EECS 303 Lecture 1

  • EECS 303 Lecture 1*Viewpoints in Electronic Design ObjectsData created by DESIGN ARCHITECT is saved inComponentViewpointA component is a collection of models used to describe the functional, graphical aspectsComponent data is made of a schematic and a symbolA symbol is a graphical model of the input and output pinsA schematic is a functional model of how outputs are related to input valuesA viewpoint can be thought of as a filter that other applications use to process component dataComponentViewpointElectronic Design ObjectSymbol forXOR

    EECS 303 Lecture 1

  • EECS 303 Lecture 1*Moving Design DataStudents familiar with UNIX, please refrain from using UNIX commands to move directories or filesYou MUST move these objects using the Design ManagerFailure to use Design Manager will result in data corruptionDesign Architect will store the absolute pathname to a designQuicksim will try to use the symbol to look for the design from that pathname

    EECS 303 Lecture 1

  • EECS 303 Lecture 1*SummaryClass administrationDigital design methodologyRepresentations of Digital DesignIntroduction to Mentor Graphics toolsNEXT LECTURE: Memory ElementsREADING: Chapter 4

    EECS 303 Lecture 1