Outline. EECS Components and Design Techniques for Digital Systems. Lec 9 Putting it all together Digital design - as we ve seen it

Size: px
Start display at page:

Download "Outline. EECS Components and Design Techniques for Digital Systems. Lec 9 Putting it all together Digital design - as we ve seen it"

Transcription

1 Outline EES 5 omponents and Design Techniques for Digital Systems ec 9 Putting it all together 9257 David uller Electrical Engineering and omputer Sciences University of alifornia, erkeley Toptobottom What have we covered so far? ombo ock example FSM to logic Mapping to FPGs nnouncements ounters revisited nother example nt rain 9/25/7 EES5 fa7 9/25/7 EES5 fa7 2 Digital design as we ve seen it System specification (in words) T T Datapath specification ontroller specification ec 3,8: ogic ec 67: Modeling FSMs omb. logic operations FSM generation ec 4: HDs, abs ec 5,6,7: FSM Verilog dataflow STT / STD / Encoding ec 2, 3: MOS, FPG ec 3,8: ogic min. Gates / UTs ogic: nextstate/outputs ec 4: HD, abs Verilog behavior ec 2, 3: MOS, FPG Gates / UTs / FF 9/25/7 EES5 fa7 3 Where are we now? (Synchronous) Sequential systems Given datapath and control specifications Generate comb. logic for datapath» Minimize logic for efficient implementation Generate FSM for controller» hoose implementation, encoding» Generate logic for nextstate and output Describe datapath and controller in Verilog» structure, dataflow and behavior» Map onto gates or UTs Seems like a good point to test your understanding! 9/25/7 EES5 fa7 4

2 epresentation of digital designs Physical devices (transistors, relays) Switches Truth tables oolean algebra Gates Waveforms Finite state behavior egistertransfer behavior oncurrent abstract specifications scope of S 5 more depth than 6 focus on building systems ogic Functions and oolean lgebra ny logic function that can be expressed as a truth table can be written as an expression in oolean algebra using the operators: ', +, and X Y X Y X Y X' X' Y X Y X' Y' X Y X' Y' ( X Y ) + ( X' Y' ) ( X Y ) + ( X' Y' ) X = Y 9/25/7 EES5 fa7 5 oolean expression that is true when the variables X and Y have the same value X, Y are oolean algebra variables and false, otherwise 9/25/7 EES5 fa7 6 Waveform View of ogic Functions Just a sideways truth table ut note how edges don't line up exactly It takes time for a gate to switch its output! time n algebraic structure n algebraic structure consists of a set of elements binary operations { +, } and a unary operation { ' } such that the following axioms hold:. set contains at least two elements, a, b, such that a b 2. closure: a + b is in a b is in 3. commutativity: a + b = b + a a b = b a 4. associativity: a + (b + c) = (a + b) + c a (b c) = (a b) c 5. identity: a + = a a = a 6. distributivity: a + (b c) = (a + b) (a + c) a (b + c) = (a b) + (a c) 7. complementarity: a + a' = a a' = change in Y takes time to "propagate" through gates 9/25/7 EES5 fa7 7 9/25/7 EES5 fa7 8

3 Timing Methodologies (cont d) Definition of terms clock: periodic event, causes state of storage element to change; can be rising or falling edge, or high or low level setup time: minimum time before the clocking event by which the input must be stable (Tsu) hold time: minimum time after the clocking event until which the input must remain stable (Th) input clock T su T h there is a timing "window" around the clocking event during which the input must remain stable and unchanged in order to be recognized data clock data clock D Q stable changing D Q 9/25/7 EES5 fa7 9 xioms & theorems of oolean algebra Identity. X + = X D. X = X Null 2. X + = 2D. X = Idempotency: 3. X + X = X 3D. X X = X Involution: 4. (X')' = X omplementarity: 5. X + X' = 5D. X X' = ommutativity: 6. X + Y = Y + X 6D. X Y = Y X ssociativity: 7. (X + Y) + Z = X + (Y + Z) 7D. (X Y) Z = X (Y Z) 9/25/7 EES5 fa7 xioms and theorems of oolean algebra (cont d) Distributivity: 8. X (Y + Z) = (X Y) + (X Z) 8D. X + (Y Z) = (X + Y) (X + Z) Uniting: 9. X Y + X Y' = X 9D. (X + Y) (X + Y') = X bsorption:. X + X Y = X D. X (X + Y) = X. (X + Y') Y = X Y D. (X Y') + Y = X + Y Factoring: 2. (X + Y) (X' + Z) = 2D. X Y + X' Z = X Z + X' Y (X + Z) (X' + Y) oncensus: 3. (X Y) + (Y Z) + (X' Z) = 3D. (X + Y) (Y + Z) (X' + Z) = X Y + X' Z (X + Y) (X' + Z) xioms and theorems of oolean algebra (cont ) de Morgan's: 4. (X + Y +...)' = X' Y'... 4D. (X Y...)' = X' + Y' +... generalized de Morgan's: 5. f'(x,x2,...,xn,,,+, ) = f(x',x2',...,xn',,,,+) establishes relationship between and + 9/25/7 EES5 fa7 9/25/7 EES5 fa7 2

4 ecall: What makes Digital Systems tick? ombinational ogic Sequential ogic Implementation Models for representing sequential circuits Finitestate machines (Moore and Mealy) epresentation of memory (states) hanges in state (transitions) clk time Design procedure State diagrams Implementation choice: counters, shift registers, FSM State transition table State encoding ombinational logic» Next state functions» Output functions 9/25/7 EES5 fa7 3 9/25/7 EES5 fa7 4 bstraction of State Elements Divide circuit into combinational logic and state ocalize feedback loops and make it easy to break cycles Implementation of storage elements leads to various forms of sequential logic Forms of Sequential ogic synchronous sequential logic state changes occur whenever state inputs change (elements may be simple wires or delay elements) Synchronous sequential logic state changes occur in lock step across all storage elements (using a periodic waveform the clock) Inputs ombinational ogic Outputs State Inputs Storage Elements State Outputs 9/25/7 EES5 fa7 5 lock 9/25/7 EES5 fa7 6

5 FSM epresentations States: determined by possible values in sequential storage elements Transitions: change of state lock: controls when state can change by controlling storage elements In = In = In = In = Sequential ogic Sequences through a series of states ased on sequence of values on input signals lock period defines elements of sequence Example: FSM Design ombo lock ombination lock value 2 3 multiplexer comparator control datapath not new controller open/ not clock not ontroller E S S2 S3 OPEN open = =2 =3 9/25/7 EES5 fa7 7 9/25/7 not new not new EES5 fa7not new 8 ombo lock controller implementation Implementation of the controller control new controller open/ clock control special circuit element, called a register, for remembering inputs when told to by clock new comb. logic open/ state clock 9/25/7 EES5 fa7 9 ombo ock State Encoding new state nstate open/ S S S S E S S2 2 S2 S2 2 S2 E S2 S3 3 Symbolic states S3 S3 3 and outputs S3 E S3 OPEN OPEN OPEN open E E One possible encoding Mux control: oncrete encoding out= =, 2 =, 3 = (preestablished) not not not State encoding: S =, S2 =, S3 =, out= out= out= OPEN =, Error = out= = = = Output encoding: losed =, Open = 9/25/7 not new EES5 not fa7new not new 2

6 FSM implementation Example: ombo ock Steps for the hardware designer: Word specification FSM design Encoding Verification! t this point, hand over to synthesis tools: Describe FSM behavior in Verilog Synthesize controller Good encoding etter performance Fewer state bits Possibility of state minimization Tools also try to figure this out 9/25/7 EES5 fa7 2 (r) new (n) (e) state (s 2 s s ) nstate (n 2 n n ) (m m ) open (o) Next state and output logic nextstate (n2 n n): n2 = ~r (n e s s + s2) n = ~r (n e s + e s + ~n s + s2) n = r + s2 + n e s + ~n s outputs (m, m): m = s m = s open (o): o = s2 Take advantage of Ds! How do we get these: Kmaps? Tools For this example, go through the logic synthesis steps Espresso (ideally, tools take care of all this) 9/25/7 EES5 fa7 Synplicity 22 r ogic Implementation (on P) n e s2 s s Next state and output logic nextstate (n2 n n): n2 = ~r (n e s s + s2) n = ~r (n e s + e s + ~n s + s2) n = r + s2 + n e s + ~n s outputs (m, m): m = s m = s lternate logic implementations Ps Multilevel circuits ibrary of gates for implementation technology UTs on FPG open (o): o = s2 n2 n n m m o s2 s s 9/25/7 EES5 fa7 23 9/25/7 EES5 fa7 24

7 lternate ogic epresentations * Theorem: ny oolean function that can be expressed as a truth table can be written as an expression in oolean lgebra using ND, O, NOT. not unique? oolean Expression [convenient for manipulation] Truth Table unique gate representation (schematic) 9/25/7 EES5 fa7 25? To design is to represent [close to implementaton] How do we convert from one to the other? not unique hoosing different realizations of a function Z twolevel realization (we don't count NOT gates) multilevel realization (gates with fewer inputs) XO gate (easier to draw but costlier to build) 9/25/7 EES5 fa7 26 Which realization is best? educe number of inputs literal: input variable (complemented or not)» approximate cost of logic gate is 2 transistors per literal Fewer literals means less transistors smaller circuits Fewer inputs implies faster gates Fanins (# of gate inputs) are limited in some technologies educe number of gates Fewer gates (and the packages they come in) means smaller circuits educe number of levels of gates Fewer level of gates implies reduced signal propagation delays How do we explore tradeoffs between increased circuit delay and size? utomated tools to generate different solutions ogic minimization: reduce number of gates and complexity ogic optimization: reduction while trading off against delay lternate Implementation: ontroller based on Shift egister Previous implementation omb. logic as gates (P) State bits in latches lternative Shift reg to manipulate state Simplify comb. logic in clock comb. logic state new D n D *** nbit shift register clk load shft open out 9/25/7 EES5 fa7 27 9/25/7 EES5 fa7 28

8 (r) ontroller using Shift egister new (n) (e) state (s 3 s 2 s s ) nstate (n 3 n 2 n n ) (m m ) not new not new not new 9/25/7 EES5 fa7 29 open (o) Onehot encoding scheme: state transition is a shift right Mux control: =, 2 =, 3 = (preestablished) State encoding: S =, S2 =, S3 =, OPEN =, Error = Output encoding: losed =, Open = not not not E S S2 S3 OPEN open = =2 =3 ombo lock controller on shift reg in clock comb. logic new state 4bit shift register open out clk load shft ~out new open 4bit shift register: [D3, D2, D, D] [,,, ] Shift eg ontroller clk clock shft (~out new) (~ new ~out ) load in out open Mux control (read register contents): m = ~s3 m = ~s2 clock new not new not new not new 9/25/7 EES5 fa7 3 not not not E S S2 S3 OPEN open = =2 =3 How does the combo lock look on an FPG? Inside the FPG atches implement shift register (chain of 4 latches) UTs ombinational logic for out and control outing fabric onnect logical nets between s Network of ombinational logic blocks, memory and I/O rich interconnect network special units multipliers, carrylogic s 3 or 4input look up table (UT) implements combinational logic functions egister optionally stores output of UT ogic on FPG onfigure UTs (table of entries) onfigure latches in Program interconnect INPUTS ogic lock 4UT FF latch set by configuration bitstream OUTPUT 9/25/7 EES5 fa7 3 4input "look up table" 9/25/7 EES5 fa7 32

9 UT as general logic gate n nlut as a direct implementation of a function truthtable. Each latch location holds the value of the function corresponding to one input combination. Example: 2lut INPUTS ND O Implements any function of 2 inputs. How many of these are there? How many functions of n inputs? Example: 4lut INPUTS F(,,,) F(,,,) F(,,,) F(,,,) store in st latch store in 2nd latch 9/25/7 EES5 fa7 33 User Programmability atchbased (Xilinx, ltera, ) + reconfigurable volatile relatively large. latch atches are used to:. make or break crosspoint connections in the interconnect 2. define the function of the logic blocks 3. set user options:» within the logic blocks» in the input/output blocks» global /clock onfiguration bit stream can be loaded under user control: ll latches are strung together in a shift chain: 9/25/7 EES5 fa7 34 4UT Implementation onfiguring s 6 latch latch latch latch INPUTS 6 x OUTPUT nbit UT is implemented as a 2 n x memory: inputs choose one of 2 n memory locations. memory locations (latches) are normally loaded with values from user s configuration bit stream. Inputs to control are the inputs. esult is a general purpose logic gate. nut can implement any function of n inputs! atches programmed as part of configuration bitstream inputs 2 INPUTS NND gate in FPG 2 FF ogic lock 3UT FF out latch 3input "look up table" inputs 2 2 set by configuration bitstream OUTPUT Nextstate bit in FPG FF out 9/25/7 EES5 fa7 35 out = ~( 2 3) nextstate = 2 xor 9/25/7 EES5 fa7 36

10 onfiguring outes Sequential Systems more examples 2 2 FF 2 2 FF eat the combo lock example to death Direct FSM implementation Shift register» Multiple logic representations» gates to UTs Up next few quick counter examples nother design problem nt rain out = ~( 2 3) nextstate = 2 xor 9/25/7 EES5 fa7 37 in 9/25/7 EES5 fa7 38 nnouncements/eminders First mid term Thursday 9/27 No notes ( to discuss) eview materials are in the HW4 eview session tonight 8 642WK (9255) Trying to make the exams routine Feel free to approach us with questions No discussion Thurs, yes friday ab 5 Where s the music? Normal lab lecture on Friday an ny Sequential System be epresented with a State Diagram? Shift egister Input value shown on transition arcs Output values shown within state node IN K OUT OUT2 OUT3 D Q D Q D Q 9/25/7 EES5 fa7 39 9/25/7 EES5 fa7 4

11 ounter Example Shift egister Input determines next state In 2 3 N N2 N3 N := In N2 := N3 := 2 OUT OUT2 OUT3 IN DQ DQ DQ K 9/25/7 EES5 fa7 4 ounters are Simple Finite State Machines ounters Proceed thru welldefined state sequence in response to enable Many types of counters: binary, D, Graycode 3bit upcounter:,,,,,,,,,... 3bit downcounter:,,,,,,,,,... 3bit upcounter module binary_upcntr (q, clk) inputs clk; outputs [2:] q; reg [2:] q, p; // Next state case (q) 3 b: p = 3 b; 3 b: p = 3 b; 3 b: p = 3 b; endcase clk) // Update state q <= p; 9/25/7 EES5 endmodule fa7 42 More omplex ounter Example omplex ounter epeats five states in sequence Not a binary number representation Step : Derive the state transition diagram ount sequence:,,,, Step 2: Derive the state transition table from the state transition diagram More omplex ounter Example (cont d) Step 3: Kmaps for Next State Functions + X X X + X X X + X X X Present State Next State note the don't care conditions that arise from the unused state codes 9/25/7 EES5 fa := + := ' + '' + := ' 9/25/7 EES5 fa7 44

12 SelfStarting ounters (cont d) ederiving state transition table from don't care assignment SelfStarting ounters Startup States t powerup, counter may be in an unused or invalid state Designer must guarantee it (eventually) enters a valid state Selfstarting Solution Design counter so that invalid states eventually transition to a valid state May limit exploitation of don't cares Present State Next State /25/7 EES5 fa7 45 implementation on previous slide 9/25/7 EES5 fa7 46 Final Example: nt rain (Ward, MIT) nt ehavior Sensors: touching wall ctuators: Goal: Strategy: and antennae, if in F forward step, T/T turn left/right slightly find way out of maze keep the wall on the right : Following wall, touching Go forward, turning left slightly : Following wall, not touching Go forward, turning right slightly : reak in wall Go forward, turning right slightly D: Hit wall again ack to state E: Wall in front Turn left until... F:...we are here, same as state OST: Forward until we touch something G: Turn left until... 9/25/7 EES5 fa7 47 9/25/7 EES5 fa7 48

13 Designing an nt rain Synthesizing the nt rain ircuit State Diagram OST (F) + E G (T) (T, F) + (T, F) (T, F) Encode States Using a Set of State Variables rbitrary choice may affect cost, speed Use Transition Truth Table Define next state function for each state variable Define output function for each output Implement next state and output functions using combinational logic 2level logic (OM/P/P) Multilevel logic Next state and output functions can be optimized together 9/25/7 EES5 fa7 49 9/25/7 EES5 fa7 5 Transition Truth Table Using symbolic states and outputs OST (F) + E/G (T) + (T, F) state next state outputs OST OST F (T, F) (T, F) OST E/G F OST E/G F T, F T, F E/G T, F T, F T, F /25/7 EES5 fa7 5 Synthesis 5 states : at least 3 state variables required (X, Y, Z) State assignment (in this case, arbitrarily chosen) state next state outputs X,Y,Z X', Y', Z' F T T it now remains to synthesize these 6 functions OST E/G 9/25/7 EES5 fa7 52

14 Synthesis of Next State and Output Functions state inputs next state outputs X,Y,Z X +,Y +,Z + F T T e.g. T = X + Y Z X + = X + Y Z = T ircuit Implementation Outputs are a function of the current state only Moore machine output logic next state logic urrent State Next State X + Y + Z + X Y Z F T T 9/25/7 EES5 fa7 53 9/25/7 EES5 fa7 54 Verilog Sketch module ant_brain (F, T, T,, ) inputs, ; outputs F, T, T; reg X, Y, Z; assign F = function(x, Y, Z,, ); assign T = function(x, Y, Z,, ); assign T = function(x, Y, Z,, ); clk) begin X <= function (X, Y, Z,, ); Y <= function (X, Y, Z,, ); Z <= function (X, Y, Z,, ); end endmodule 9/25/7 EES5 fa7 55 Don t ares in FSM Synthesis What happens to the "unused" states (,, )? Exploited as don't cares to minimize the logic If states can't happen, then don't care what the functions do if states do happen, we may be in trouble (F) + + (T) (T, F) (T, F) (T, F) nt is in deep trouble if 9/25/7 it gets in this state EES5 fa7 56

15 State Minimization nt rain evisited Fewer states may mean fewer state variables Highlevel synthesis may generate many redundant states Two state are equivalent if they are impossible to distinguish from the outputs of the FSM, i. e., for any input sequence the outputs are the same ny equivalent states? OST (F) + E/G (T) + (T, F) Two conditions for two states to be equivalent: ) Output must be the same in both states 2) Must transition to equivalent states for all input combinations (T, F) (T, F) 9/25/7 EES5 fa7 57 9/25/7 EES5 fa7 58 New Improved rain New rain Implementation Merge equivalent and states ehavior is exactly the same as the 5state brain We now need only 2 state variables rather than 3 OST (F) + E/G (T) / (T, F) + (T, F) state inputs next state outputs X,Y X',Y' F TT F X Y X+ Y X T X Y Y+ Y X T X Y 9/25/7 EES5 fa7 59 9/25/7 EES5 fa7 6

16 Sequential ogic Implementation Summary Models for representing sequential circuits bstraction of sequential elements Finite state machines and their state diagrams Inputs/outputs Mealy, Moore, and synchronous Mealy machines Finite state machine design procedure Deriving state diagram Deriving state transition table Determining next state and output functions Implementing combinational logic Design hierarchy code registers datapath multiplexer comparator system state registers control combinational logic register logic switching networks 9/25/7 EES5 fa7 6 9/25/7 EES5 fa7 62 Final Word: locking Vs Nonlocking Two types of procedural assignments locking Nonlocking Good luck on the Midterm Why do we need them Express parallelism (not straight line ) Synchronous system ll flipflops clock data simultaneously How do we express parallelism in this operation? 9/25/7 EES5 fa7 63 9/25/7 EES5 fa7 64

17 Simple Shift egister The ircuit reg a, b, c; begin a = ; b = a; c = b; end Probably not what you want! reg a, b, c; a = ; b = a; c = b; What order does this run? a b c reg a, b, c; begin a = ; b = a; c = b; end reg a, b, c; begin a <= ; b <= a; c <= b; end This works reg a, b, c; a <= ; b <= a; c <= b; This works too 9/25/7 EES5 fa7 65 a b c reg a, b, c; begin a <= ; b <= a; c <= b; end Nonlocking: HS computed at beginning of execution instance. HS updated after all events in current instance computed. 9/25/7 EES5 fa7 66

Outline. EECS Components and Design Techniques for Digital Systems. Lec 11 Putting it all together Where are we now?

Outline. EECS Components and Design Techniques for Digital Systems. Lec 11 Putting it all together Where are we now? Outline EECS 5 - Components and Design Techniques for Digital Systems Lec Putting it all together -5-4 David Culler Electrical Engineering and Computer Sciences University of California Berkeley Top-to-bottom

More information

Abstraction of State Elements. Sequential Logic Implementation. Forms of Sequential Logic. Finite State Machine Representations

Abstraction of State Elements. Sequential Logic Implementation. Forms of Sequential Logic. Finite State Machine Representations Sequential ogic Implementation! Models for representing sequential circuits " Finite-state machines (Moore and Mealy) " epresentation of memory (states) " hanges in state (transitions)! Design procedure

More information

Review. EECS Components and Design Techniques for Digital Systems. Lec 05 Boolean Logic 9/4-04. Seq. Circuit Behavior. Outline.

Review. EECS Components and Design Techniques for Digital Systems. Lec 05 Boolean Logic 9/4-04. Seq. Circuit Behavior. Outline. Review EECS 150 - Components and Design Techniques for Digital Systems Lec 05 Boolean Logic 94-04 David Culler Electrical Engineering and Computer Sciences University of California, Berkeley Design flow

More information

Identity. p ^ T p p _ F p. Idempotency. p _ p p p ^ p p. Associativity. (p _ q) _ r p _ (q _ r) (p ^ q) ^ r p ^ (q ^ r) Absorption

Identity. p ^ T p p _ F p. Idempotency. p _ p p p ^ p p. Associativity. (p _ q) _ r p _ (q _ r) (p ^ q) ^ r p ^ (q ^ r) Absorption dam lank pring 27 E 3 Identity Pre-Lecture Problem Do it! Do it now! What are you waiting for?! Use Logical Equivalences to show!! $! & & $! p ^ T p p _ F p Domination p _ T T p ^ F F Idempotency p _ p

More information

ECE 2300 Digital Logic & Computer Organization. More Sequential Logic Verilog

ECE 2300 Digital Logic & Computer Organization. More Sequential Logic Verilog ECE 2300 Digital Logic & Computer Organization Spring 2018 More Sequential Logic Verilog Lecture 7: 1 Announcements HW3 will be posted tonight Prelim 1 Thursday March 1, in class Coverage: Lectures 1~7

More information

EECS Components and Design Techniques for Digital Systems. Lec 07 PLAs and FSMs 9/ Big Idea: boolean functions <> gates.

EECS Components and Design Techniques for Digital Systems. Lec 07 PLAs and FSMs 9/ Big Idea: boolean functions <> gates. Review: minimum sum-of-products expression from a Karnaugh map EECS 5 - Components and Design Techniques for Digital Systems Lec 7 PLAs and FSMs 9/2- David Culler Electrical Engineering and Computer Sciences

More information

Graduate Institute of Electronics Engineering, NTU. Lecturer: Chihhao Chao Date:

Graduate Institute of Electronics Engineering, NTU. Lecturer: Chihhao Chao Date: Design of Datapath Controllers and Sequential Logic Lecturer: Date: 2009.03.18 ACCESS IC LAB Sequential Circuit Model & Timing Parameters ACCESS IC LAB Combinational Logic Review Combinational logic circuits

More information

Sequential Logic Design

Sequential Logic Design Sequential Logic Design Design of Digital Circuits 2017 Srdjan Capkun Onur Mutlu (Guest starring: Frank K. Gürkaynak and Aanjhan Ranganathan) http://www.syssec.ethz.ch/education/digitaltechnik_17 Adapted

More information

I 3 I 2. ! Language of logic design " Logic optimization, state, timing, CAD tools

I 3 I 2. ! Language of logic design  Logic optimization, state, timing, CAD tools Course Wrap-up Let s Try the Priority Encoder One More Time = =! Priority Encoder Revisited! What (We Hope) You Learned I 3 O 3 I j O j! Design Methodology! I 2 O 2 I O I O Zero Oj Ij Ij CS 5 - Spring

More information

Sequential Circuits. inputs Comb FFs. Outputs. Comb CLK. Sequential logic examples. ! Another way to understand setup/hold/propagation time

Sequential Circuits. inputs Comb FFs. Outputs. Comb CLK. Sequential logic examples. ! Another way to understand setup/hold/propagation time Sequential Circuits! Another way to understand setup/hold/propagation time inputs Comb FFs Comb Outputs CLK CSE 37 Spring 2 - Sequential Logic - Sequential logic examples! Finite state machine concept

More information

EECS150 - Digital Design Lecture 20 - Finite State Machines Revisited

EECS150 - Digital Design Lecture 20 - Finite State Machines Revisited EECS150 - Digital Design Lecture 20 - Finite State Machines Revisited April 2, 2009 John Wawrzynek Spring 2009 EECS150 - Lec20-fsm Page 1 Finite State Machines (FSMs) FSM circuits are a type of sequential

More information

Quick Introduction to SystemVerilog: Sequental Logic

Quick Introduction to SystemVerilog: Sequental Logic ! Quick Introduction to SystemVerilog: Sequental Logic Lecture L3 8-545 Advanced Digital Design ECE Department Many elements Don Thomas, 24, used with permission with credit to G. Larson Today Quick synopsis

More information

Homework deadline extended to next friday

Homework deadline extended to next friday Norm Midterm Grading Finished Stats on course homepage Pickup after this lab lec. Regrade requests within 1wk of posted solution Homework deadline extended to next friday Description Design Conception

More information

Sequential Logic Implementation. Mealy vs. Moore Machines. Specifying Outputs for a Mealy Machine. Specifying Outputs for a Moore Machine

Sequential Logic Implementation. Mealy vs. Moore Machines. Specifying Outputs for a Mealy Machine. Specifying Outputs for a Moore Machine uential Logic Implementation! Models for representing sequential circuits " bstraction of sequential elements " Finite state machines and their state diagrams " Inputs/ " Mealy, Moore, and synchronous

More information

Synthesizable Verilog

Synthesizable Verilog Synthesizable Verilog Courtesy of Dr. Edwards@Columbia, and Dr. Franzon@NCSU http://csce.uark.edu +1 (479) 575-6043 yrpeng@uark.edu Design Methodology Structure and Function (Behavior) of a Design HDL

More information

ECE 2300 Digital Logic & Computer Organization. More Verilog Finite State Machines

ECE 2300 Digital Logic & Computer Organization. More Verilog Finite State Machines ECE 2300 Digital Logic & Computer Organization Spring 2017 More Verilog Finite State Machines Lecture 8: 1 Announcements 1 st batch of (raw) quiz scores released on CMS Solutions to HW 1-3 released on

More information

Finite State Machines

Finite State Machines Finite State Machines Design methodology for sequential logic -- identify distinct states -- create state transition diagram -- choose state encoding -- write combinational Verilog for next-state logic

More information

ECE 2300 Digital Logic & Computer Organization. More Finite State Machines

ECE 2300 Digital Logic & Computer Organization. More Finite State Machines ECE 2300 Digital Logic & Computer Organization Spring 2018 More Finite State Machines Lecture 9: 1 Announcements Prelab 3(B) due tomorrow Lab 4 to be released tonight You re not required to change partner(s)

More information

ECE 551: Digital System *

ECE 551: Digital System * ECE 551: Digital System * Design & Synthesis Lecture Set 5 5.1: Verilog Behavioral Model for Finite State Machines (FSMs) 5.2: Verilog Simulation I/O and 2001 Standard (In Separate File) 3/4/2003 1 Explicit

More information

General FSM design procedure

General FSM design procedure Sequential logic examples Basic design approach: a 4-step design process Hardware description languages and finite state machines Implementation examples and case studies finite-string pattern recognizer

More information

Synthesis of Combinational and Sequential Circuits with Verilog

Synthesis of Combinational and Sequential Circuits with Verilog Synthesis of Combinational and Sequential Circuits with Verilog What is Verilog? Hardware description language: Are used to describe digital system in text form Used for modeling, simulation, design Two

More information

Lecture 7. Summary of two-level combinational-logic. Ways of specifying circuits. Solving combinational design problems. Verilog versus VHDL

Lecture 7. Summary of two-level combinational-logic. Ways of specifying circuits. Solving combinational design problems. Verilog versus VHDL Lecture 7 Summary of two-level combinational-logic Logistics Homework due today Homework out today due next Wednesday First midterm a week Friday: Friday Jan 0 Will cover up to the of Multiplexers/DeMultiplexers

More information

ECEU530. Homework 4 due Wednesday Oct 25. ECE U530 Digital Hardware Synthesis. VHDL for Synthesis with Xilinx. Schedule

ECEU530. Homework 4 due Wednesday Oct 25. ECE U530 Digital Hardware Synthesis. VHDL for Synthesis with Xilinx. Schedule EEU530 EE U530 igital Hardware Synthesis Lecture 11: Prof. Miriam Leeser mel@coe.neu.edu October 18, 2005 Sequential Logic in VHL Finite State Machines in VHL Project proposals due now HW 4 due Wednesday,

More information

In the previous lecture, we examined how to analyse a FSM using state table, state diagram and waveforms. In this lecture we will learn how to design

In the previous lecture, we examined how to analyse a FSM using state table, state diagram and waveforms. In this lecture we will learn how to design 1 In the previous lecture, we examined how to analyse a FSM using state table, state diagram and waveforms. In this lecture we will learn how to design a fininte state machine in order to produce the desired

More information

In the previous lecture, we examined how to analyse a FSM using state table, state diagram and waveforms. In this lecture we will learn how to design

In the previous lecture, we examined how to analyse a FSM using state table, state diagram and waveforms. In this lecture we will learn how to design In the previous lecture, we examined how to analyse a FSM using state table, state diagram and waveforms. In this lecture we will learn how to design a fininte state machine in order to produce the desired

More information

University of Toronto Faculty of Applied Science and Engineering Edward S. Rogers Sr. Department of Electrical and Computer Engineering

University of Toronto Faculty of Applied Science and Engineering Edward S. Rogers Sr. Department of Electrical and Computer Engineering University of Toronto Faculty of Applied Science and Engineering Edward S. Rogers Sr. Department of Electrical and Computer Engineering Final Examination ECE 241F - Digital Systems Examiners: S. Brown,

More information

Chapter 10. case studies in sequential logic design

Chapter 10. case studies in sequential logic design Chapter. case studies in sequential logic design This is the last chapter of this course. So far, we have designed several sequential systems. What is the general procedure? The most difficult part would

More information

EECS150 - Digital Design Lecture 5 - Verilog Logic Synthesis

EECS150 - Digital Design Lecture 5 - Verilog Logic Synthesis EECS150 - Digital Design Lecture 5 - Verilog Logic Synthesis Jan 31, 2012 John Wawrzynek Spring 2012 EECS150 - Lec05-verilog_synth Page 1 Outline Quick review of essentials of state elements Finite State

More information

EE178 Lecture Verilog FSM Examples. Eric Crabill SJSU / Xilinx Fall 2007

EE178 Lecture Verilog FSM Examples. Eric Crabill SJSU / Xilinx Fall 2007 EE178 Lecture Verilog FSM Examples Eric Crabill SJSU / Xilinx Fall 2007 In Real-time Object-oriented Modeling, Bran Selic and Garth Gullekson view a state machine as: A set of input events A set of output

More information

General FSM design procedure

General FSM design procedure Sequential logic examples Basic design approach: a 4-step design process Hardware description languages and finite state machines Implementation examples and case studies finite-string pattern recognizer

More information

FPGA Design Challenge :Techkriti 14 Digital Design using Verilog Part 1

FPGA Design Challenge :Techkriti 14 Digital Design using Verilog Part 1 FPGA Design Challenge :Techkriti 14 Digital Design using Verilog Part 1 Anurag Dwivedi Digital Design : Bottom Up Approach Basic Block - Gates Digital Design : Bottom Up Approach Gates -> Flip Flops Digital

More information

University of Toronto Faculty of Applied Science and Engineering Edward S. Rogers Sr. Department of Electrical and Computer Engineering

University of Toronto Faculty of Applied Science and Engineering Edward S. Rogers Sr. Department of Electrical and Computer Engineering University of Toronto Faculty of Applied Science and Engineering Edward S. Rogers Sr. Department of Electrical and Computer Engineering Final Eamination ECE 4F - Digital Systems Eaminers: S. Brown, J.

More information

Review. EECS Components and Design Techniques for Digital Systems. Lec 03 Field Programmable Gate Arrays

Review. EECS Components and Design Techniques for Digital Systems. Lec 03 Field Programmable Gate Arrays EECS 5 - Components and Design Techniques for Digital Systems Lec 3 Field Programmable Gate Arrays 9-4-7 David Culler Electrical Engineering and Computer Sciences University of California, Berkeley http://www.eecs.berkeley.edu/~culler

More information

Digital Design with FPGAs. By Neeraj Kulkarni

Digital Design with FPGAs. By Neeraj Kulkarni Digital Design with FPGAs By Neeraj Kulkarni Some Basic Electronics Basic Elements: Gates: And, Or, Nor, Nand, Xor.. Memory elements: Flip Flops, Registers.. Techniques to design a circuit using basic

More information

Lecture 32: SystemVerilog

Lecture 32: SystemVerilog Lecture 32: SystemVerilog Outline SystemVerilog module adder(input logic [31:0] a, input logic [31:0] b, output logic [31:0] y); assign y = a + b; Note that the inputs and outputs are 32-bit busses. 17:

More information

There are only 16 possible 2-input gates Let s examine all of them. Some we already know, others are just silly.

There are only 16 possible 2-input gates Let s examine all of them. Some we already know, others are just silly. ll the Gates There are only 6 possible 2-input gates Let s examine all of them. Some we already know, others are just silly. Do we really need all of these gates? How many of these gates can be implemented

More information

ECE 2300 Digital Logic & Computer Organization. More Verilog Finite State Machines

ECE 2300 Digital Logic & Computer Organization. More Verilog Finite State Machines ECE 2300 Digital Logic & Computer Organization Spring 2018 More Verilog Finite Machines Lecture 8: 1 Prelim 1, Thursday 3/1, 1:25pm, 75 mins Arrive early by 1:20pm Review sessions Announcements Monday

More information

RTL Design (Using ASM/SM Chart)

RTL Design (Using ASM/SM Chart) Digital Circuit Design and Language RTL Design (Using ASM/SM Chart) Chang, Ik Joon Kyunghee University Process of Logic Simulation and Synthesis Design Entry HDL Description Logic Simulation Functional

More information

COE 561 Digital System Design & Synthesis Introduction

COE 561 Digital System Design & Synthesis Introduction 1 COE 561 Digital System Design & Synthesis Introduction Dr. Aiman H. El-Maleh Computer Engineering Department King Fahd University of Petroleum & Minerals Outline Course Topics Microelectronics Design

More information

Topics. Midterm Finish Chapter 7

Topics. Midterm Finish Chapter 7 Lecture 9 Topics Midterm Finish Chapter 7 ROM (review) Memory device in which permanent binary information is stored. Example: 32 x 8 ROM Five input lines (2 5 = 32) 32 outputs, each representing a memory

More information

Laboratory Exercise 3 Davide Rossi DEI University of Bologna AA

Laboratory Exercise 3 Davide Rossi DEI University of Bologna AA Laboratory Exercise 3 Davide Rossi DEI University of Bologna AA 2017-2018 Objectives Summary of finite state machines (Mealy, Moore) Description of FSMs in System Verilog Design of control blocks based

More information

ECE 4514 Digital Design II. Spring Lecture 15: FSM-based Control

ECE 4514 Digital Design II. Spring Lecture 15: FSM-based Control ECE 4514 Digital Design II Lecture 15: FSM-based Control A Design Lecture Overview Finite State Machines Verilog Mapping: one, two, three always blocks State Encoding User-defined or tool-defined State

More information

Administrivia. CSE 370 Spring 2006 Introduction to Digital Design Lecture 9: Multilevel Logic

Administrivia. CSE 370 Spring 2006 Introduction to Digital Design Lecture 9: Multilevel Logic SE 370 Spring 2006 Introduction to igital esign Lecture 9: Multilevel Logic Last Lecture Introduction to Verilog Today Multilevel Logic Hazards dministrivia Hand in Homework #3 Homework #3 posted this

More information

The Verilog Language COMS W Prof. Stephen A. Edwards Fall 2002 Columbia University Department of Computer Science

The Verilog Language COMS W Prof. Stephen A. Edwards Fall 2002 Columbia University Department of Computer Science The Verilog Language COMS W4995-02 Prof. Stephen A. Edwards Fall 2002 Columbia University Department of Computer Science The Verilog Language Originally a modeling language for a very efficient event-driven

More information

DIGITAL SYSTEM DESIGN

DIGITAL SYSTEM DESIGN DIGITAL SYSTEM DESIGN Prepared By: Engr. Yousaf Hameed Lab Engineer BASIC ELECTRICAL & DIGITAL SYSTEMS LAB DEPARTMENT OF ELECTRICAL ENGINEERING Digital System Design 1 Name: Registration No: Roll No: Semester:

More information

Mealy and Moore examples

Mealy and Moore examples CSE 37 Spring 26 Introduction to igital esign ecture 2: uential ogic Technologies ast ecture Moore and Mealy Machines Today uential logic technologies Ving machine: Moore to synch. Mealy OPEN = creates

More information

CS8803: Advanced Digital Design for Embedded Hardware

CS8803: Advanced Digital Design for Embedded Hardware CS883: Advanced Digital Design for Embedded Hardware Lecture 2: Boolean Algebra, Gate Network, and Combinational Blocks Instructor: Sung Kyu Lim (limsk@ece.gatech.edu) Website: http://users.ece.gatech.edu/limsk/course/cs883

More information

EPC6055 Digital Integrated Circuits EXAM 1 Fall Semester 2013

EPC6055 Digital Integrated Circuits EXAM 1 Fall Semester 2013 EPC6055 Digital Integrated Circuits EXAM 1 Fall Semester 2013 Print Here Student ID Signature This is a closed book exam. The exam is to be completed in one-hundred ten (110) minutes. Don t use scratch

More information

University of California at Berkeley College of Engineering Department of Electrical Engineering and Computer Sciences. Spring 2010 May 10, 2010

University of California at Berkeley College of Engineering Department of Electrical Engineering and Computer Sciences. Spring 2010 May 10, 2010 University of California at Berkeley College of Engineering Department of Electrical Engineering and Computer Sciences EECS150 J. Wawrzynek Spring 2010 May 10, 2010 Final Exam Name: ID number: This is

More information

Announcements. Midterm 2 next Thursday, 6-7:30pm, 277 Cory Review session on Tuesday, 6-7:30pm, 277 Cory Homework 8 due next Tuesday Labs: project

Announcements. Midterm 2 next Thursday, 6-7:30pm, 277 Cory Review session on Tuesday, 6-7:30pm, 277 Cory Homework 8 due next Tuesday Labs: project - Fall 2002 Lecture 20 Synthesis Sequential Logic Announcements Midterm 2 next Thursday, 6-7:30pm, 277 Cory Review session on Tuesday, 6-7:30pm, 277 Cory Homework 8 due next Tuesday Labs: project» Teams

More information

General FSM design procedure

General FSM design procedure Sequential logic examples Basic design approach: a 4-step design process Hardware description languages and finite state machines Implementation examples and case studies finite-string pattern recognizer

More information

Building Bigger Systems: Hardware Threads

Building Bigger Systems: Hardware Threads ! uilding igger Systems: Hardware Threads Lecture L06 18-4 dvanced igital esign ECE epartment Many elements on Thomas, 2014, used with permission with credit to G. Larson Today We build on our knowledge

More information

EECS150 - Digital Design Lecture 6 - Field Programmable Gate Arrays (FPGAs)

EECS150 - Digital Design Lecture 6 - Field Programmable Gate Arrays (FPGAs) EECS150 - Digital Design Lecture 6 - Field Programmable Gate Arrays (FPGAs) September 12, 2002 John Wawrzynek Fall 2002 EECS150 - Lec06-FPGA Page 1 Outline What are FPGAs? Why use FPGAs (a short history

More information

Today. Implementation of FSMs. Designing Digital System (1) Designing Digital System (2)

Today. Implementation of FSMs. Designing Digital System (1) Designing Digital System (2) Today mplementation of FSMs EECS50 Spring 2006 Lab Lecture #3 Guang Yang Greg Gibeling Designing Digital System Efficient Hardware Design HDL Simulation locking vs. Non-locking dministrative nfo Lab #3:

More information

FPGA. Logic Block. Plessey FPGA: basic building block here is 2-input NAND gate which is connected to each other to implement desired function.

FPGA. Logic Block. Plessey FPGA: basic building block here is 2-input NAND gate which is connected to each other to implement desired function. FPGA Logic block of an FPGA can be configured in such a way that it can provide functionality as simple as that of transistor or as complex as that of a microprocessor. It can used to implement different

More information

Verilog for Synthesis Ing. Pullini Antonio

Verilog for Synthesis Ing. Pullini Antonio Verilog for Synthesis Ing. Pullini Antonio antonio.pullini@epfl.ch Outline Introduction to Verilog HDL Describing combinational logic Inference of basic combinational blocks Describing sequential circuits

More information

This Lecture. Some components (useful for the homework) Verilog HDL (will continue next lecture)

This Lecture. Some components (useful for the homework) Verilog HDL (will continue next lecture) Last Lecture The basic component of a digital circuit is the MOS transistor Transistor have instrinsic resistance and capacitance, so voltage values in the circuit take some time to change ( delay ) There

More information

HDLs and SystemVerilog. Digital Computer Design

HDLs and SystemVerilog. Digital Computer Design HDLs and SystemVerilog Digital Computer Design Logic Arrays Gates can be organized into regular arrays. If the connections are made programmable, these logic arrays can be configured to perform any function

More information

Lecture #1: Introduction

Lecture #1: Introduction Lecture #1: Introduction Kunle Olukotun Stanford EE183 January 8, 20023 What is EE183? EE183 is continuation of EE121 Digital Logic Design is a a minute to learn, a lifetime to master Programmable logic

More information

Outline. EECS150 - Digital Design Lecture 6 - Field Programmable Gate Arrays (FPGAs) FPGA Overview. Why FPGAs?

Outline. EECS150 - Digital Design Lecture 6 - Field Programmable Gate Arrays (FPGAs) FPGA Overview. Why FPGAs? EECS150 - Digital Design Lecture 6 - Field Programmable Gate Arrays (FPGAs) September 12, 2002 John Wawrzynek Outline What are FPGAs? Why use FPGAs (a short history lesson). FPGA variations Internal logic

More information

CSE140L: Components and Design

CSE140L: Components and Design CSE140L: Components and Design Techniques for Digital Systems Lab Tajana Simunic Rosing Source: Vahid, Katz, Culler 1 Grade distribution: 70% Labs 35% Lab 4 30% Lab 3 20% Lab 2 15% Lab 1 30% Final exam

More information

EECS150 - Digital Design Lecture 4 - Verilog Introduction. Outline

EECS150 - Digital Design Lecture 4 - Verilog Introduction. Outline EECS150 - Digital Design Lecture 4 - Verilog Introduction Feb 3, 2009 John Wawrzynek Spring 2009 EECS150 - Lec05-Verilog Page 1 Outline Background and History of Hardware Description Brief Introduction

More information

CSE140L: Components and Design Techniques for Digital Systems Lab. Verilog HDL. Instructor: Mohsen Imani UC San Diego. Source: Eric Crabill, Xilinx

CSE140L: Components and Design Techniques for Digital Systems Lab. Verilog HDL. Instructor: Mohsen Imani UC San Diego. Source: Eric Crabill, Xilinx CSE140L: Components and Design Techniques for Digital Systems Lab Verilog HDL Instructor: Mohsen Imani UC San Diego Source: Eric Crabill, Xilinx 1 Hardware description languages Used to describe & model

More information

Designing Safe Verilog State Machines with Synplify

Designing Safe Verilog State Machines with Synplify Designing Safe Verilog State Machines with Synplify Introduction One of the strengths of Synplify is the Finite State Machine compiler. This is a powerful feature that not only has the ability to automatically

More information

Injntu.com Injntu.com Injntu.com R16

Injntu.com Injntu.com Injntu.com R16 1. a) What are the three methods of obtaining the 2 s complement of a given binary (3M) number? b) What do you mean by K-map? Name it advantages and disadvantages. (3M) c) Distinguish between a half-adder

More information

Field Programmable Gate Array (FPGA)

Field Programmable Gate Array (FPGA) Field Programmable Gate Array (FPGA) Lecturer: Krébesz, Tamas 1 FPGA in general Reprogrammable Si chip Invented in 1985 by Ross Freeman (Xilinx inc.) Combines the advantages of ASIC and uc-based systems

More information

Verilog introduction. Embedded and Ambient Systems Lab

Verilog introduction. Embedded and Ambient Systems Lab Verilog introduction Embedded and Ambient Systems Lab Purpose of HDL languages Modeling hardware behavior Large part of these languages can only be used for simulation, not for hardware generation (synthesis)

More information

EECS 151/251A: SRPING 2017 MIDTERM 1

EECS 151/251A: SRPING 2017 MIDTERM 1 University of California College of Engineering Department of Electrical Engineering and Computer Sciences E. Alon Thursday, Mar 2 nd, 2017 7:00-8:30pm EECS 151/251A: SRPING 2017 MIDTERM 1 NAME Last First

More information

ECE 4514 Digital Design II. Spring Lecture 7: Dataflow Modeling

ECE 4514 Digital Design II. Spring Lecture 7: Dataflow Modeling ECE 4514 Digital Design II Lecture 7: Dataflow Modeling A language Lecture Today's topic Dataflow Modeling input input input module output output Model with submodules and gates = Structural Model with

More information

Finite State Machines

Finite State Machines Lab Workbook Introduction (FSM) are sequential circuit used in many digital systems to control the behavior of systems and dataflow paths. Examples of FSM include control units and sequencers. This lab

More information

Verilog Sequential Logic. Verilog for Synthesis Rev C (module 3 and 4)

Verilog Sequential Logic. Verilog for Synthesis Rev C (module 3 and 4) Verilog Sequential Logic Verilog for Synthesis Rev C (module 3 and 4) Jim Duckworth, WPI 1 Sequential Logic Module 3 Latches and Flip-Flops Implemented by using signals in always statements with edge-triggered

More information

In this lecture, we will focus on two very important digital building blocks: counters which can either count events or keep time information, and

In this lecture, we will focus on two very important digital building blocks: counters which can either count events or keep time information, and In this lecture, we will focus on two very important digital building blocks: counters which can either count events or keep time information, and shift registers, which is most useful in conversion between

More information

Combinational Devices and Boolean Algebra

Combinational Devices and Boolean Algebra Combinational Devices and Boolean Algebra Silvina Hanono Wachman M.I.T. L02-1 6004.mit.edu Home: Announcements, course staff Course information: Lecture and recitation times and locations Course materials

More information

ECE 353 Lab 4. Verilog Review. Professor Daniel Holcomb With material by Professor Moritz and Kundu UMass Amherst Fall 2016

ECE 353 Lab 4. Verilog Review. Professor Daniel Holcomb With material by Professor Moritz and Kundu UMass Amherst Fall 2016 ECE 353 Lab 4 Verilog Review Professor Daniel Holcomb With material by Professor Moritz and Kundu UMass Amherst Fall 2016 Recall What You Will Do Design and implement a serial MIDI receiver Hardware in

More information

a, b sum module add32 sum vector bus sum[31:0] sum[0] sum[31]. sum[7:0] sum sum overflow module add32_carry assign

a, b sum module add32 sum vector bus sum[31:0] sum[0] sum[31]. sum[7:0] sum sum overflow module add32_carry assign I hope you have completed Part 1 of the Experiment. This lecture leads you to Part 2 of the experiment and hopefully helps you with your progress to Part 2. It covers a number of topics: 1. How do we specify

More information

Hardware Design Environments. Dr. Mahdi Abbasi Computer Engineering Department Bu-Ali Sina University

Hardware Design Environments. Dr. Mahdi Abbasi Computer Engineering Department Bu-Ali Sina University Hardware Design Environments Dr. Mahdi Abbasi Computer Engineering Department Bu-Ali Sina University Outline Welcome to COE 405 Digital System Design Design Domains and Levels of Abstractions Synthesis

More information

CSE 140L Final Exam. Prof. Tajana Simunic Rosing. Spring 2008

CSE 140L Final Exam. Prof. Tajana Simunic Rosing. Spring 2008 CSE 140L Final Exam Prof. Tajana Simunic Rosing Spring 2008 NAME: ID#: Do not start the exam until you are told to. Turn off any cell phones or pagers. Write your name and PID at the top of every page.

More information

Storage Elements & Sequential Circuits

Storage Elements & Sequential Circuits Storage Elements & Sequential Circuits LC-3 Data Path Revisited Now Registers and Memory 5-2 Combinational vs. Sequential Combinational Circuit always gives the same output for a given set of inputs Øex:

More information

ECE 353 Lab 3 (Verilog Design Approach)

ECE 353 Lab 3 (Verilog Design Approach) ECE 353 Lab 3 (Verilog Design Approach) Prof Daniel Holcomb Recall What You Will Do Design and implement a serial MIDI receiver Hardware in an Altera Complex Programmable Logic Device (CPLD) MAX 7000S

More information

Simplification of two-level combinational logic

Simplification of two-level combinational logic ombinational logic optimization! lternate representations of oolean functions " cubes " karnaugh maps! Simplification " two-level simplification " exploiting don t cares " algorithm for simplification

More information

PART B. 3. Minimize the following function using K-map and also verify through tabulation method. F (A, B, C, D) = +d (0, 3, 6, 10).

PART B. 3. Minimize the following function using K-map and also verify through tabulation method. F (A, B, C, D) = +d (0, 3, 6, 10). II B. Tech II Semester Regular Examinations, May/June 2015 SWITCHING THEORY AND LOGIC DESIGN (Com. to EEE, ECE, ECC, EIE.) Time: 3 hours Max. Marks: 70 Note: 1. Question Paper consists of two parts (Part-A

More information

Verilog Coding Guideline

Verilog Coding Guideline Verilog Coding Guideline Digital Circuit Lab TA: Po-Chen Wu Outline Introduction to Verilog HDL Verilog Syntax Combinational and Sequential Logics Module Hierarchy Write Your Design Finite State Machine

More information

ECE 4514 Digital Design II. Spring Lecture 13: Logic Synthesis

ECE 4514 Digital Design II. Spring Lecture 13: Logic Synthesis ECE 4514 Digital Design II A Tools/Methods Lecture Second half of Digital Design II 9 10-Mar-08 L13 (T) Logic Synthesis PJ2 13-Mar-08 L14 (D) FPGA Technology 10 18-Mar-08 No Class (Instructor on Conference)

More information

Lecture 3. Behavioral Modeling Sequential Circuits. Registers Counters Finite State Machines

Lecture 3. Behavioral Modeling Sequential Circuits. Registers Counters Finite State Machines Lecture 3 Behavioral Modeling Sequential Circuits Registers Counters Finite State Machines Behavioral Modeling Behavioral Modeling Behavioral descriptions use the keyword always, followed by optional event

More information

FSM and Efficient Synthesizable FSM Design using Verilog

FSM and Efficient Synthesizable FSM Design using Verilog FSM and Efficient Synthesizable FSM Design using Verilog Introduction There are many ways to code FSMs including many very poor ways to code FSMs. This lecture offers guidelines for doing efficient coding,

More information

WELCOME TO. ENGR 303 Introduction to Logic Design. Hello my name is Dr. Chuck Brown

WELCOME TO. ENGR 303 Introduction to Logic Design. Hello my name is Dr. Chuck Brown Chapter 1 WELCOME TO Introduction to Logic Design Hello my name is Dr. Chuck Brown Please sign in and then find a seat. The person next to you will be your lab partner for the course so choose wisely and

More information

ECE 551 Digital System Design and Synthesis. Instructor: Kewal K. Saluja. Midterm Exam

ECE 551 Digital System Design and Synthesis. Instructor: Kewal K. Saluja. Midterm Exam Last (family) name: First (given) name: Student I.D. #: Department of Electrical and Computer Engineering University of Wisconsin - Madison ECE 551 Digital System Design and Synthesis Instructor: Kewal

More information

Writing Circuit Descriptions 8

Writing Circuit Descriptions 8 8 Writing Circuit Descriptions 8 You can write many logically equivalent descriptions in Verilog to describe a circuit design. However, some descriptions are more efficient than others in terms of the

More information

VALLIAMMAI ENGINEERING COLLEGE. SRM Nagar, Kattankulathur DEPARTMENT OF ELECTRONICS AND COMMUNICATION ENGINEERING EC6302 DIGITAL ELECTRONICS

VALLIAMMAI ENGINEERING COLLEGE. SRM Nagar, Kattankulathur DEPARTMENT OF ELECTRONICS AND COMMUNICATION ENGINEERING EC6302 DIGITAL ELECTRONICS VALLIAMMAI ENGINEERING COLLEGE SRM Nagar, Kattankulathur-603 203 DEPARTMENT OF ELECTRONICS AND COMMUNICATION ENGINEERING EC6302 DIGITAL ELECTRONICS YEAR / SEMESTER: II / III ACADEMIC YEAR: 2015-2016 (ODD

More information

EECS 270 Midterm Exam

EECS 270 Midterm Exam EECS 270 Midterm Exam Fall 2009 Name: unique name: Sign the honor code: I have neither given nor received aid on this exam nor observed anyone else doing so. Scores: NOTES: Problem # Points 1 /11 2 /4

More information

Mark Redekopp, All rights reserved. EE 352 Unit 8. HW Constructs

Mark Redekopp, All rights reserved. EE 352 Unit 8. HW Constructs EE 352 Unit 8 HW Constructs Logic Circuits Combinational logic Perform a specific function (mapping of 2 n input combinations to desired output combinations) No internal state or feedback Given a set of

More information

CSE140L: Components and Design Techniques for Digital Systems Lab

CSE140L: Components and Design Techniques for Digital Systems Lab CSE140L: Components and Design Techniques for Digital Systems Lab Tajana Simunic Rosing Source: Vahid, Katz, Culler 1 Announcements & Outline Lab 4 due; demo signup times listed on the cse140l site Check

More information

EE178 Spring 2018 Lecture Module 4. Eric Crabill

EE178 Spring 2018 Lecture Module 4. Eric Crabill EE178 Spring 2018 Lecture Module 4 Eric Crabill Goals Implementation tradeoffs Design variables: throughput, latency, area Pipelining for throughput Retiming for throughput and latency Interleaving for

More information

Two HDLs used today VHDL. Why VHDL? Introduction to Structured VLSI Design

Two HDLs used today VHDL. Why VHDL? Introduction to Structured VLSI Design Two HDLs used today Introduction to Structured VLSI Design VHDL I VHDL and Verilog Syntax and ``appearance'' of the two languages are very different Capabilities and scopes are quite similar Both are industrial

More information

ENSC E-123: HW D3: Counter Applications; Counter in Verilog

ENSC E-123: HW D3: Counter Applications; Counter in Verilog HW D3; Counter Applications 1 ENSC E-123: HW D3: Counter Applications; Counter in Verilog REV 0 1 ; February 12, 2015 Contents 1 Counter Applications: Sync vs Async Function (5 points) 2 1.1 Crummy: asyncclear(2points).................

More information

Overview. EECS Components and Design Techniques for Digital Systems. Lec 16 Arithmetic II (Multiplication) Computer Number Systems.

Overview. EECS Components and Design Techniques for Digital Systems. Lec 16 Arithmetic II (Multiplication) Computer Number Systems. Overview EE 15 - omponents and Design Techniques for Digital ystems Lec 16 Arithmetic II (Multiplication) Review of Addition Overflow Multiplication Further adder optimizations for multiplication LA in

More information

Chapter 5 Registers & Counters

Chapter 5 Registers & Counters University of Wisconsin - Madison ECE/Comp Sci 352 Digital Systems Fundamentals Kewal K. Saluja and Yu Hen Hu Spring 2002 Chapter 5 Registers & Counters Originals by: Charles R. Kime Modified for course

More information

The process. Sensitivity lists

The process. Sensitivity lists The process process itself is a concurrent statement but the code inside the process is executed sequentially Process label (optional) Process declarative region Process body entity Test is, : in bit;

More information

Verilog for High Performance

Verilog for High Performance Verilog for High Performance Course Description This course provides all necessary theoretical and practical know-how to write synthesizable HDL code through Verilog standard language. The course goes

More information

Digital Circuit Design and Language. Datapath Design. Chang, Ik Joon Kyunghee University

Digital Circuit Design and Language. Datapath Design. Chang, Ik Joon Kyunghee University Digital Circuit Design and Language Datapath Design Chang, Ik Joon Kyunghee University Typical Synchronous Design + Control Section : Finite State Machine + Data Section: Adder, Multiplier, Shift Register

More information