ECE 551: Digital System Design & 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

Combinational Logic.
Register Transfer Level
Table 7.1 Verilog Operators.
TOPIC : Finite State Machine(FSM) and Flow Tables UNIT 1 : Modeling Module 1.4 : Modeling Sequential circuits.
Give qualifications of instructors: DAP
ECE 551 Digital System Design & Synthesis Lecture 08 The Synthesis Process Constraints and Design Rules High-Level Synthesis Options.
Logic Synthesis – 3 Optimization Ahmed Hemani Sources: Synopsys Documentation.
CS 151 Digital Systems Design Lecture 37 Register Transfer Level
Kazi Spring 2008CSCI 6601 CSCI-660 Introduction to VLSI Design Khurram Kazi.
Digital System Design by Verilog University of Maryland ENEE408C.
CS 300 – Lecture 3 Intro to Computer Architecture / Assembly Language Sequential Circuits.
ELEN 468 Advanced Logic Design
03/30/031 ECE 551: Digital System Design & Synthesis Lecture Set 9 9.1: Constraints and Timing 9.2: Optimization (In separate file)
ECE 551 Digital System Design & Synthesis Lecture 11 Verilog Design for Synthesis.
ECE 551 Digital System Design & Synthesis Fall 2011 Midterm Exam Overview.
Verilog for Synthesis Ing. Pullini Antonio
Introduction to ASIC flow and Verilog HDL
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:
ECE 448 Lecture 6 Finite State Machines State Diagrams vs. Algorithmic State Machine (ASM) Charts.
03/30/031 ECE Digital System Design & Synthesis Lecture Design Partitioning for Synthesis Strategies  Partition for design reuse  Keep related.
1 COMP541 First Midterm Test Feb 22, :15pmSN006 Vishal will be present.
George Mason University Finite State Machines Refresher ECE 545 Lecture 11.
Overview Logistics Last lecture Today HW5 due today
Adapted from Krste Asanovic
ASIC Design Methodology
TODAY’S OUTLINE Verilog Codings Concurrent and Sequential If-else
EMT 351/4 DIGITAL IC DESIGN Mrs. Siti Zarina Md Naziri
ECE 448 Lecture 6 Finite State Machines State Diagrams, State Tables, Algorithmic State Machine (ASM) Charts, and VHDL Code.
ELEN 468 Advanced Logic Design
CSE241A VLSI Digital Circuits Winter 2003 Recitation 2
EMT 351/4 DIGITAL IC DESIGN Week # Synthesis of Sequential Logic 10.
Introduction Introduction to VHDL Entities Signals Data & Scalar Types
Learning Outcome By the end of this chapter, students are expected to be able to: Design State Machine Write Verilog State Machine by Boolean Algebra and.
Learning Outcome By the end of this chapter, students are expected to refresh their knowledge on sequential logic related to HDL.
Synthesis of Combinational Logic
Dr. Clincy Professor of CS
ECE 448 Lecture 6 Finite State Machines State Diagrams vs. Algorithmic State Machine (ASM) Charts.
332:437 Lecture 12 Finite State Machine Design
Two-phase Latch based design
Basics Combinational Circuits Sequential Circuits Ahmad Jawdat
Topics HDL coding for synthesis. Verilog. VHDL..
  State Encoding مرتضي صاحب الزماني.
HDL Compiler Unsupport (Do NOT use in your verilog code)
ECE 551: Digital System Design & Synthesis
SYNTHESIS OF SEQUENTIAL LOGIC
Computer Architecture
ECE-C662 Introduction to Behavioral Synthesis Knapp Text Ch
FSM MODELING MOORE FSM MELAY FSM. Introduction to DIGITAL CIRCUITS MODELING & VERIFICATION using VERILOG [Part-2]
FPGA Tools Course Answers
CSE 370 – Winter Sequential Logic - 1
Lecture 15 Logistics Last lecture Today HW4 is due today
CaseZ In Verilog there is a casez statement, a variation of the case statement that permits "z" and "?“ values to be treated during case-comparison as.
332:437 Lecture 8 Verilog and Finite State Machines
Topics Clocking disciplines. Flip-flops. Latches..
Dr. Tassadaq Hussain Introduction to Verilog – Part-3 Expressing Sequential Circuits and FSM.
THE ECE 554 XILINX DESIGN PROCESS
ECE 448 Lecture 6 Finite State Machines State Diagrams, State Tables, Algorithmic State Machine (ASM) Charts, and VHDL Code.
ECE 551: Digital System Design & Synthesis
ECE 448 Lecture 6 Finite State Machines State Diagrams, State Tables, Algorithmic State Machine (ASM) Charts, and VHDL code ECE 448 – FPGA and ASIC Design.
102-1 Under-Graduate Project: RTL Coding Style
Dr. Tassadaq Hussain Introduction to Verilog – Part-4 Expressing FSM in Verilog (contd) and FSM State Encoding Dr. Tassadaq Hussain.
332:437 Lecture 8 Verilog and Finite State Machines
ECE 448 Lecture 6 Finite State Machines State Diagrams vs. Algorithmic State Machine (ASM) Charts.
*Internal Synthesizer Flow *Details of Synthesis Steps
Optimizing RTL for EFLX Tony Kozaczuk, Shuying Fan December 21, 2016
THE ECE 554 XILINX DESIGN PROCESS
CSE 370 – Winter Sequential Logic-2 - 1
Lecture 3: Timing & Sequential Circuits
Presentation transcript:

ECE 551: Digital System Design & Synthesis 11/27/2018 ECE 551: Digital System Design & Synthesis Final Review

Exam Format 2 hours Roughly 7 problems – each with multiple parts Open book & two note sheets Similar to the two previous exams posted on the course homepage Material Covered Chapters 8-10 Lecture Sets 9-14 Problem Set 5 and Course Project Synopsys Tools Manuals Working Knowledge of Material Prior to Midterm

Synthesis of Combinational Logic: Tools Perspective Basic HDL based design flows (DCUG and Ciletti - CH8) Basic Synthesis Flows (DCUG and Ciletti - CH8) Internal Synthesizer Flow overview Logic Optimization (De Micheli) Single output functions minimization – espresso (operators) Multi-output function minimization – MIS (transformations) Important concepts Key steps performed in synthesis Two-level, single-output logic operators Expand, Reduce, Reshape, Irredundant Multiple-level, multiple-output Elimination, Decomposition, Extraction, Simplification, Substitution

Synthesis of Combinational Logic: Coding for Synthesis Basic Synthesis Combinational, RTL, FSM, Behavioral (Ciletti - CH9) Advantages/Disadvantages of Synthesis (Ciletti - CH9) Synthesis Methodology (Ciletti – CH9) Vendor Support (Ciletti - CH9) Coding for Synthesis of Combinational Logic (Ciletti, GHCS) GHCS – Guide to HDL Coding Styles for Synthesis (synco.pdf) Basic coding of if and case statements - priority encoding Reorder code for late arriving signals Coding for basic building blocks Decoder, Priority Encoder, Reduction XOR, Multiplexer Tree versus array structures - for parameterized modules

Synthesis of Combinational Logic: Coding for Synthesis Coding for Synthesis of Combinational Logic Datapath duplication to reduce delay General coding style guidelines Unintentional Latch Inference avoid by using else, default, and synopsys full_case Incomplete Sensitivity Lists may lead to pre-synthesis and post-synthesis mismatches Unnecessary Calculations in for Loops Should be pulled out of loops Resource Sharing Not in conditional assignments, but in if-then-else Optimizing Arithmetic Expressions (A + B) + (C + D) Sharing Common Subexpressions

Design Partitioning for Synthesis Lots of information from Chapter 3 of DCUG Design Partitioning Strategies Partition for design reuse - document, standardize, parameterize Keep related combinational logic together - allows better optimizations Avoid glue logic, particularly at top level - what and why Register block outputs - advantages vs. disadvantages Partition by design goal - minimum area or minimum delay Partition by compile technique - structure or flattening Keep sharable resources together - in same always block Keep UDRs (User-Defined Resources) with logic they drive Isolate special functions - pads, clocks, boundary scan at top level Place large SRAMs and DRAMS at top core level Size blocks based on available computational resources

Synthesis of Sequential Logic UDPs – restrictions & what tools do Latches Edge-triggered flip-flops Synopsys multi-bit inferences Registered combinational logic Shift registers and counters Finite state machines (FSMs) Resets Gated Clocks Be able to write synthesizable sequential logic code

Synthesis of Language Constructs Text (CH10) and HDL Compiler for Verilog Reference Manual (CH3-5, hdlcv.pdf) Synthesizing nets Synthesizing registers Synthesis with “x” and “z” Expressions and Operators Arithmetic, Non-Arithmetic, Shift, Relational and Identity, Reduction, bitwise, and logical, Conditional, Concatenation Assignments Timing Control in Synthesis Multiple Cycle Operations Loops, Fork & Join, Disables Tasks and Functions

Constraints and Timing Mostly from Design Compiler Reference Manual: Constraints and Timing (dcrm.pdf) – CH1-2 Constraint Classification Design Rule Constraints Maximum Transition Time, Maximum Fanout Maximum and minimum capacitance, Cell degradation Optimization Constraints Area, delay, and porosity Constraint violations and slack time Including defining timing paths and path delays Setting Constraints Constraints for realistic goals

Optimization Mostly from Design Compiler Reference Manual: Optimization and Timing (dcrmo.pdf), CH1-2 Optimization Phases : combinational, sequential, I/O pad, local Logic-Level and Gate-Level Optimization Optimization Flow Compilation Types Compilation Strategies