Digital System Design by Verilog University of Maryland ENEE408C.

Slides:



Advertisements
Similar presentations
Digital System Design-II (CSEB312)
Advertisements

VERILOG: Synthesis - Combinational Logic Combination logic function can be expressed as: logic_output(t) = f(logic_inputs(t)) Rules Avoid technology dependent.
Sequential Logic in Verilog
ECE 551 Digital Design And Synthesis
Synchronous Sequential Logic
EE 361 Fall 2003University of Hawaii1 Hardware Design Tips EE 361 University of Hawaii.
Combinational Logic.
Table 7.1 Verilog Operators.
Hardware Description Language (HDL)
CSE 201 Computer Logic Design * * * * * * * Verilog Modeling
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.
 HDLs – Verilog and Very High Speed Integrated Circuit (VHSIC) HDL  „ Widely used in logic design  „ Describe hardware  „ Document logic functions.
Spring 20067W. Rhett Davis with minor modifications by Dean Brock ECE 406 at UNASlide 1 ECE 406 Design of Complex Digital Systems Lecture 10: 9: State.
OUTLINE Introduction Basics of the Verilog Language Gate-level modeling Data-flow modeling Behavioral modeling Task and function.
Design at the Register Transfer Level
Verilog Sequential Circuits Ibrahim Korpeoglu. Verilog can be used to describe storage elements and sequential circuits as well. So far continuous assignment.
ELEN 468 Lecture 161 ELEN 468 Advanced Logic Design Lecture 16 Synthesis of Language Construct II.
Verilog HDL (Behavioral Modeling) Bilal Saqib. Behavioral Modeling.
Silicon Programming--Intro. to HDLs1 Hardware description languages: introduction intellectual property (IP) introduction to VHDL and Verilog entities.
Prof. John Nestor ECE Department Lafayette College Easton, Pennsylvania ECE Senior Design I Lecture 4 - Verilog 2 (Sequential.
ENEE 408C Lab Capstone Project: Digital System Design Fall 2005 Sequential Circuit Design.
ELEN 468 Advanced Logic Design
Advanced Verilog EECS 270 v10/23/06.
Overview Logistics Last lecture Today HW5 due today
Sequential Logic in Verilog
Verilog Intro: Part 2. Procedural Blocks There are two types of procedural blocks in Verilog. – initial for single-pass behavior: initial blocks execute.
ECE 2372 Modern Digital System Design
Chapter 4: Behavioral Modeling Digital System Designs and Practices Using Verilog HDL and 2008~2010, John Wiley 4-1 Ders – 4: Davranışsal Modelleme.
ECE 551 Digital System Design & Synthesis Fall 2011 Midterm Exam Overview.
Chapter 11: System Design Methodology Digital System Designs and Practices Using Verilog HDL and 2008, John Wiley11-1 Ders 8: FSM Gerçekleme ve.
1/8/ L20 Project Step 8 - Data Path Copyright Joanne DeGroat, ECE, OSU1 State Machine Design with an HDL A methodology that works for documenting.
ACCESS IC LAB Graduate Institute of Electronics Engineering, NTU 99-1 Under-Graduate Project: RTL Coding Style Speaker: 蔡朝陽 Date: 2010/10/26.
1 Workshop Topics - Outline Workshop 1 - Introduction Workshop 2 - module instantiation Workshop 3 - Lexical conventions Workshop 4 - Value Logic System.
ACCESS IC LAB Graduate Institute of Electronics Engineering, NTU Under-Graduate Project: RTL Coding Style Speaker: MingChun-Hsiao Date: 2012/11/27.
1 Workshop Topics - Outline Workshop 1 - Introduction Workshop 2 - module instantiation Workshop 3 - Lexical conventions Workshop 4 - Value Logic System.
Slide 1 6. VHDL/Verilog Behavioral Description. Slide 2 Verilog for Synthesis: Behavioral description Instead of instantiating components, describe them.
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 CSE-308 Digital System Design (DSD) N-W.F.P. University of Engineering & Technology, Peshawar.
1 COMP541 Sequential Circuits Montek Singh Feb 1, 2012.
Verilog for Synthesis Ing. Pullini Antonio
Charles Kime & Thomas Kaminski © 2004 Pearson Education, Inc. Terms of Use (Hyperlinks are active in View Show mode) Terms of Use Verilog Part 3 – Chapter.
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,
1 Hardware description languages: introduction intellectual property (IP) introduction to VHDL and Verilog entities and architectural bodies behavioral,
Behavioral Modelling - 1. Verilog Behavioral Modelling Behavioral Models represent functionality of the digital hardware. It describes how the circuit.
ELEN 468 Lecture 131 ELEN 468 Advanced Logic Design Lecture 13 Synthesis of Combinational Logic II.
Finite State Machine (FSM) Nattha Jindapetch December 2008.
CSCE 211: Digital Logic Design Chin-Tser Huang University of South Carolina.
M.Mohajjel. Objectives Learn How to write synthesizable Verilog code Common mistakes and how to avoid them What is synthesized for what we code Digital.
03/31/031 ECE 551: Digital System Design & Synthesis Lecture Set 8 8.1: Miscellaneous Synthesis (In separate file) 8.2: Sequential Synthesis.
1 COMP541 State Machines - II Montek Singh Feb 13, 2012.
Chapter 11: System Design Methodology Digital System Designs and Practices Using Verilog HDL and 2008, John Wiley11-1 Chapter 11: System Design.
OUTLINE Introduction Basics of the Verilog Language Gate-level modeling Data-flow modeling Behavioral modeling Task and function.
Spring 2009W. Rhett DavisNC State UniversityECE 406Slide 1 ECE 406 – Design of Complex Digital Systems Lecture 9: State Machines & Reset Behavior Spring.
SYEN 3330 Digital SystemsJung H. Kim Chapter SYEN 3330 Digital Systems Chapters 4 – Part4: Verilog – Part 2.
102-1 Under-Graduate Project Synthesis of Combinational Logic
EMT 351/4 DIGITAL IC DESIGN Verilog Behavioral Modeling  Finite State Machine -Moore & Mealy Machine -State Encoding Techniques.
1 Lecture 3: Modeling Sequential Logic in Verilog HDL.
Overview Logistics Last lecture Today HW5 due today
Supplement on Verilog FF circuit examples
EMT 351/4 DIGITAL IC DESIGN Week # Synthesis of Sequential Logic 10.
Introduction Introduction to VHDL Entities Signals Data & Scalar Types
HDL Compiler Unsupport (Do NOT use in your verilog code)
SYNTHESIS OF SEQUENTIAL LOGIC
FSM MODELING MOORE FSM MELAY FSM. Introduction to DIGITAL CIRCUITS MODELING & VERIFICATION using VERILOG [Part-2]
State Machine Design with an HDL
Dr. Tassadaq Hussain Introduction to Verilog – Part-3 Expressing Sequential Circuits and FSM.
The Verilog Hardware Description Language
ECE 551: Digital System Design & Synthesis
Lecture 7: Verilog Part II
Presentation transcript:

Digital System Design by Verilog University of Maryland ENEE408C

HDL Compiler Unsupport (Do NOT use in your verilog code) delay (# will ignore) initial ( add a reset signal ) repeat wait fork event deassign force release

Basic Rules in Synthesis Type of LogicOutput Assigned toEdge Specifies in Sensitivity List Combinational The output must be assigned to in all control paths All the inputs must be listed in the event’s sensitivity list Sequential Non-blocking assign- ments are the choice when specifying the edge-sensitive behavior of the circuit Only the edges for the clock, reset and preset conditions (The reset and preset are specified first in always block)

a) out = in1; b) out = in2; a) out = in1; b) out = in2; Warning! Synthesized function will go wrong *Can not assign identical reg in more than one blocks Synthesizable HDL coding

Combinational Logic if (sel==1) out = in1; else out = in2; *Warning !! if (sel==1) out = in1; else out = in2; *Warning !! in1 in2 out sel Multiplexer or in1 or in2) if (sel==1) out = in1; else out = in2; or in1 or in2) if (sel==1) out = in1; else out = in2;

Register clk or posedge reset) if ( reset ) out <=0; else out <= a & b; clk or posedge reset) if ( reset ) out <=0; else out <= a & b; clk) if ( reset ) out <=0; else out <= a & b; clk) if ( reset ) out <=0; else out <= a & b; Register with asynchronous reset Register with Synchronous reset

Inferred Latch or in) if (sel==1) out = in; or in) case ( sel ) 2’b00: out=in1; 2’b01: out=in2; 2’b10: out=in3; endcase Incomplete if statement Not a full case

Finite State Machine or data1 or data2) case ( current_state ) S0: begin result=data1; next_state=S1; end S1: endcase or data1 or data2) case ( current_state ) S0: begin result=data1; next_state=S1; end S1: endcase clk) if ( reset ) current_state=S0; else current_state=next_state; Combinational logic next_state generator Sequential logic state transition

Few more rules Verilog Restrictions for Synthesis Simulatable designs are not necessarily synthesizable. Synthesizable constructs are tool dependent Use only few HDL commands. case if else concurrent and sequential statements Continuous assignment is synthesizable An unknown(x) is not synthesizable when is used in comparison. assign y=(a===1’bx)?c:1; (No) assign y=(a==b)?1’bx:c; (Yes)

Use non-blocking assignment for edge-sensitive behavior Keep the intended circuit architecture in mind during design description. Using C-like programming style increases the silicon area dramatically. Type conversions and test stimuli definitions cannot be synthesized. Smallest HDL code does not imply smallest silicon. Smallest HDL code does not imply smallest silicon. Describe the architecture clearly. Describe the architecture clearly. Cover all possible states within a if-else or case statement. Cover all possible states within a if-else or case statement. Loops withLoops with Do not use nested loops for circuit description Do not use nested loops for circuit description

Do not define functions when instantiating parts within one entity. Do not define functions when instantiating parts within one entity. Make extensive use of comments. Make extensive use of comments. Use headers for all modules, functions Use headers for all modules, functions Explain the operating modes of the modules Explain the operating modes of the modules Explain all input and output signals Explain all input and output signals Compiler directives reside within comments Compiler directives reside within comments

Useful Links