03/31/031 ECE 551: Digital System Design & Synthesis Lecture Set 8 8.1: Miscellaneous Synthesis (In separate file) 8.2: Sequential Synthesis.

Slides:



Advertisements
Similar presentations
VERILOG: Synthesis - Combinational Logic Combination logic function can be expressed as: logic_output(t) = f(logic_inputs(t)) Rules Avoid technology dependent.
Advertisements

ECE 551 Digital Design And Synthesis
Combinational Logic.
Table 7.1 Verilog Operators.
2/9/20031 ECE 551: Digital System Design & Synthesis Lecture Set 4 4.1: Verilog – Procedural Assignments &Scheduling Semantics 4.2: Verilog – More Behavioral.
COE 202: Digital Logic Design Sequential Circuits Part 1 Dr. Ahmad Almulhem ahmadsm AT kfupm Phone: Office: Ahmad Almulhem, KFUPM.
Digital Design - Sequential Logic Design Chapter 3 - Sequential Logic Design.
Sequential circuits The digital circuits considered thus far have been combinational, where the outputs are entirely dependent on the current inputs. Although.
Introduction to Sequential Logic Design Bistable elements Latches.
Module 12.  In Module 9, 10, 11, you have been introduced to examples of combinational logic circuits whereby the outputs are entirely dependent on the.
1 Lecture 20 Sequential Circuits: Latches. 2 Overview °Circuits require memory to store intermediate data °Sequential circuits use a periodic signal to.
Slide 1 7. Verilog: Combinational always statements. VHDL: Combinational Processes: To avoid (I.E. DO NOT What in your HDL code?) Cases that generate Synthesis.
Circuits require memory to store intermediate data
Charles Kime & Thomas Kaminski © 2008 Pearson Education, Inc. (Hyperlinks are active in View Show mode) Chapter 5 – Sequential Circuits Part 1 – Storage.
1 COMP541 Sequential Circuits Montek Singh Sep 17, 2014.
Lecture 12 Latches Section , Block Diagram of Sequential Circuit gates New output is dependent on the inputs and the preceding values.
ECE 551 Digital System Design & Synthesis Lecture 09 Synthesis of Common Verilog Constructs.
CS 151 Digital Systems Design Lecture 25 State Reduction and Assignment.
Design at the Register Transfer Level
Useful Things to Know Norm. Administrative Midterm Grading Finished –Stats on course homepage –Pickup after this lab lec. –Regrade requests within 1wk.
Digital System Design by Verilog University of Maryland ENEE408C.
Embedded Systems Hardware:
ELEN 468 Lecture 161 ELEN 468 Advanced Logic Design Lecture 16 Synthesis of Language Construct II.
ENEE 408C Lab Capstone Project: Digital System Design Fall 2005 Sequential Circuit Design.
ECE C03 Lecture 141 Lecture 14 VHDL Modeling of Sequential Machines Hai Zhou ECE 303 Advanced Digital Design Spring 2002.
Embedded Systems Hardware: Storage Elements; Finite State Machines; Sequential Logic.
ELEN 468 Advanced Logic Design
ECE 301 – Digital Electronics Introduction to Sequential Logic Circuits (aka. Finite State Machines) and FSM Analysis (Lecture #17)
ECE 331 – Digital Systems Design Introduction to Sequential Logic Circuits (aka. Finite State Machines) and FSM Analysis (Lecture #19)
ENGIN112 L25: State Reduction and Assignment October 31, 2003 ENGIN 112 Intro to Electrical and Computer Engineering Lecture 25 State Reduction and Assignment.
A State Element “Zoo”.
Overview Logistics Last lecture Today HW5 due today
Sequential Logic in Verilog
Digital Computer Design Fundamental
Some Useful Circuits Lecture for CPSC 5155 Edward Bosworth, Ph.D. Computer Science Department Columbus State University.
Chap 4. Sequential Circuits
Chapter 2Basic Digital Logic1 Chapter 2. Basic Digital Logic2 Outlines  Basic Digital Logic Gates  Two types of digital logic circuits Combinational.
ECE 551 Digital System Design & Synthesis Fall 2011 Midterm Exam Overview.
RTL Hardware Design by P. Chu Chapter Overview on sequential circuits 2. Synchronous circuits 3. Danger of synthesizing asynchronous circuit 4.
Digital Logic Design Lecture # 21 University of Tehran.
Slide 1 6. VHDL/Verilog Behavioral Description. Slide 2 Verilog for Synthesis: Behavioral description Instead of instantiating components, describe them.
Topic: Sequential Circuit Course: Logic Design Slide no. 1 Chapter #6: Sequential Logic Design.
ECE/CS 352 Digital System Fundamentals© 2001 C. Kime 1 ECE/CS 352 Digital Systems Fundamentals Spring 2001 Chapters 3 and 4: Verilog – Part 2 Charles R.
1 COMP541 Sequential Circuits Montek Singh Feb 1, 2012.
Anurag Dwivedi. Basic Block - Gates Gates -> Flip Flops.
3/4/20031 ECE 551: Digital System Design * & Synthesis Lecture Set 3 3.1: Verilog - User-Defined Primitives (UDPs) (In separate file) 3.2: Verilog – Operators,
Lecture 7 Chap 9: Registers Instructors: Fu-Chiung Cheng ( 鄭福炯 ) Associate Professor Computer Science & Engineering Tatung University.
ELEN 468 Lecture 131 ELEN 468 Advanced Logic Design Lecture 13 Synthesis of Combinational Logic II.
04/26/20031 ECE 551: Digital System Design & Synthesis Lecture Set : Introduction to VHDL 12.2: VHDL versus Verilog (Separate File)
COMP541 Sequential Circuits
Synchronous Sequential Logic A digital system has combinational logic as well as sequential logic. The latter includes storage elements. feedback path.
2/1/20001 ECE 551: Digital System Design & Synthesis Lecture Set 7 7.1: Coding for if and case 7.2: Coding logic building blocks (In separate file) 7.3:
CS151 Introduction to Digital Design Chapter 5: Sequential Circuits 5-1 : Sequential Circuit Definition 5-2: Latches 1Created by: Ms.Amany AlSaleh.
ACCESS IC LAB Graduate Institute of Electronics Engineering, NTU 99-1 Under-Graduate Project Design of Datapath Controllers Speaker: Shao-Wei Feng Adviser:
SYEN 3330 Digital SystemsJung H. Kim Chapter SYEN 3330 Digital Systems Chapters 4 – Part4: Verilog – Part 2.
CENG 241 Digital Design 1 Lecture 7 Amirali Baniasadi
ECE 331 – Digital System Design Introduction to Sequential Circuits and Latches (Lecture #16)
1 COMP541 Sequential Circuits Montek Singh Feb 24, 2016.
Chapter 3 Boolean Algebra and Digital Logic T103: Computer architecture, logic and information processing.
TOPIC : Introduction to Sequential Circuits UNIT 1: Modeling and Simulation Module 4 : Modeling Sequential Circuits.
Overview Logistics Last lecture Today HW5 due today
EMT 351/4 DIGITAL IC DESIGN Week # Synthesis of Sequential Logic 10.
SYNTHESIS OF SEQUENTIAL LOGIC
CSE 370 – Winter Sequential Logic - 1
332:437 Lecture 8 Verilog and Finite State Machines
The Verilog Hardware Description Language
ECE 551: Digital System Design & Synthesis
332:437 Lecture 8 Verilog and Finite State Machines
Sequntial-Circuit Building Blocks
Presentation transcript:

03/31/031 ECE 551: Digital System Design & Synthesis Lecture Set 8 8.1: Miscellaneous Synthesis (In separate file) 8.2: Sequential Synthesis

03/30/032 ECE Digital System Design & Synthesis Lecture Synthesis of Sequential Logic Overview  Latches  Edge-triggered flip-flops  Finite state machines (FSMs)  Resets  Gated Clocks

03/30/033 Synthesis of Latches  Implication of latches  Implementation of latches  Implementation issue

03/30/034 Implication of Latches  Latches are synthesized in response to the following:  A variable with an unassigned value on a thread (e. g., missing branches in case or if)  Assignment of value to self (e. g. Q = Q) with either fully or partially assigned threads.  Conditional assignment statement ( ? :) with feedback (equivalent to assignment of value to self).

03/30/035 Implementation of Latches  Forms of storage  Combinational logic with feedback  Multiplexer with feedback  Latch component  Which of the above is the best?

03/30/036 Implementation Issue  Latches (as any storage element) are at the fundamental level asynchronous circuits  Thus, they suffer from asynchronous circuit problems  Example: Multiplexer-based latch:  Q = E D + ~E Q.  Note the feedback

03/30/037 Implementation Issue - 1  Consider this circuit open-loop:  P = E D + ~E Q.  In the face of different path delays as E changes from 1 to 0 with D and Q = 1, the RHS can exhibit a static 1 hazard (will drop momentarily from 1 to 0 in response to the change in E and then return to 1.  But in the closed loop case with Q on the LHS propagating the 0 to the Q on the RHS, the resulting stored value may erroneously become 0!

03/30/038 Implementation Issue - 2  The solution is to add a static hazard elimination term  P = E D + ~E Q + D Q  This term will be present or the problem handled otherwise in a latch component  But what will happen in synthesis?  Conclusion: For a given synthesis tool, it is best to use constructs that will synthesize to a latch, not a multiplexer with feedback or combinational logic

03/30/039 Synthesis of Flip-Flops  Implication of flip-flops  Implementation of flip-flops

03/30/0310 Implication of Flip-flops - 1  Flip-flops are synthesized in response to the following:  A variable that is referenced outside of the scope of the behavior  A variable that is referenced within a behavior before being assigned (including assignment of value to self)  A variable with an unassigned value on a thread (e. g., missing branches in case or if)  The 3 rd condition is the same as one that implies a latch, but the first two are new  What is different here?

03/30/0311 Implication of Flip-flops - 2  Using edge-triggering: (posedge clk) begin A <= B; B <= A; end  Edge sensitivity permits fully assigned threads without unassigned values that are meaningful.  Example 1: Referenced before being assigned

03/30/0312 Implication of Flip-flops - 3  Using edge-triggering: (posedge clk) begin A <= B; end (posedge clk) begin B <= A; end  Example 2: Referenced outside scope of behavior

03/30/0313 Implication of Flip-Flops - 4  If actions, other than synchronous, described with the flip-flop implied by a unassigned value on a thread, the last branch must describe the synchronous activity.  The synchronizing signal is not tested explicitly in the body of the if statement.  Use of if (reset), else if (clk) may not synthesize!

03/30/0314 Comments on Finite State Machines (FSMs) - 1  default: applies only to expression items, not to embedded if, case, or “? :”  Thus, embedded structures must avoid latch formation independently  Pre-assignment before case statement provides default for all  If don’t cares desired need to reinsert using default in case

03/30/0315 Comments on Finite State Machines (FSMs)  State Encoding  Typical assignments Binary count Random Gray - low power One hot - no decoding - fast - low power? Johnson (twisted ring counter) minimal decoding with glitch suppression. Algorithmic - uses state assignment algorithm to achieve specific tradeoffs

03/30/0316 Pragmatics: Resets - 1  assign … deassign allow a separate behavior for an asynchronous reset/set  Simulation efficient, but not universally supported  If library components selected by synthesis tool have sets/resets that do not appear in the Verilog, will be tied to power and ground.

03/30/0317 Pragmatics: Resets - 2  Be sure to a reset on all storage elements where needed.  Asynchronous Power-up Explicit  Synchronous clocked reset Resetting for normal synchronous functionality

03/30/0318 Pragmatics: Gated Clocks  Use only if necessary  Low-power is a use  Often done more globally  The author’s gated clock is NOT a gated clock+  Is a clock enable  and does not achieve the full power savings of a gated clock!  Clock gating details (done in class)  Correct implementations  Dealing with delay