Kazi Fall 2006 EEGN 4941 EEGN-494 HDL Design Principles for VLSI/FPGAs Khurram Kazi.

Slides:



Advertisements
Similar presentations
Basic HDL Coding Techniques
Advertisements

Spartan-3 FPGA HDL Coding Techniques
Copyright 2001, Agrawal & BushnellLecture 12: DFT and Scan1 VLSI Testing Lecture 10: DFT and Scan n Definitions n Ad-hoc methods n Scan design  Design.
Courtesy RK Brayton (UCB) and A Kuehlmann (Cadence) 1 Logic Synthesis Sequential Synthesis.
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.
Digital Logic Circuits (Part 2) Computer Architecture Computer Architecture.
1 Lecture 28 Timing Analysis. 2 Overview °Circuits do not respond instantaneously to input changes °Predictable delay in transferring inputs to outputs.
RTL Hardware Design by P. Chu Chapter 161 Clock and Synchronization.
Kazi Spring 2008CSCI 6601 CSCI-660 Introduction to VLSI Design Khurram Kazi.
1Kazi Spring 2008 CSCI 660 CSCI-660 Introduction to VLSI Design Khurram Kazi.
Circuit Retiming with Interconnect Delay CUHK CSE CAD Group Meeting One Evangeline Young Aug 19, 2003.
Embedded Systems Hardware:
Evolution of implementation technologies
Kazi Fall 2006 EEGN 4941 EEGN-494 HDL Design Principles for VLSI/FPGAs Khurram Kazi Some of the slides were taken from K Gaj’s lecture slides from GMU’s.
VHDL Coding Exercise 4: FIR Filter. Where to start? AlgorithmArchitecture RTL- Block diagram VHDL-Code Designspace Exploration Feedback Optimization.
Logic Design Outline –Logic Design –Schematic Capture –Logic Simulation –Logic Synthesis –Technology Mapping –Logic Verification Goal –Understand logic.
Kazi Fall 2006 EEGN 4941 EEGN-494 HDL Design Principles for VLSI/FPGAs Khurram Kazi Some of the slides were taken from K Gaj’s lecture slides from GMU’s.
King Fahd University of Petroleum and Minerals Computer Engineering Department COE 561 Digital Systems Design and Synthesis (Course Activity) Synthesis.
1 Application Specific Integrated Circuits. 2 What is an ASIC? An application-specific integrated circuit (ASIC) is an integrated circuit (IC) customized.
Achieving Timing Closure. Achieving Timing Closure - 2 © Copyright 2010 Xilinx Objectives After completing this module, you will be able to:  Describe.
Embedded Systems Hardware: Storage Elements; Finite State Machines; Sequential Logic.
Kazi Fall 2006 EEGN 4941 EEGN-494 HDL Design Principles for VLSI/FPGAs Khurram Kazi.
Achieving Timing Closure. Objectives After completing this module, you will be able to: Describe a flow for obtaining timing closure Interpret a timing.
03/30/031 ECE 551: Digital System Design & Synthesis Lecture Set 9 9.1: Constraints and Timing 9.2: Optimization (In separate file)
Register-Transfer (RT) Synthesis Greg Stitt ECE Department University of Florida.
Global Timing Constraints FPGA Design Workshop. Objectives  Apply timing constraints to a simple synchronous design  Specify global timing constraints.
FPGA-Based System Design: Chapter 4 Copyright  2004 Prentice Hall PTR HDL coding n Synthesis vs. simulation semantics n Syntax-directed translation n.
ISE. Tatjana Petrovic 249/982/22 ISE software tools ISE is Xilinx software design tools that concentrate on delivering you the most productivity available.
© 2003 Xilinx, Inc. All Rights Reserved FPGA Design Techniques.
ASIC/FPGA design flow. FPGA Design Flow Detailed (RTL) Design Detailed (RTL) Design Ideas (Specifications) Design Ideas (Specifications) Device Programming.
ECE Advanced Digital Systems Design Lecture 12 – Timing Analysis Capt Michael Tanner Room 2F46A HQ U.S. Air Force Academy I n t e g r i.
1 H ardware D escription L anguages Modeling Digital Systems.
FPGA-Based System Design: Chapter 6 Copyright  2004 Prentice Hall PTR Topics n Design methodologies.
Logic Synthesis assign z=a&b a b z What is Synthesis synthesis /sinth siss/ noun ( pl. syntheses /sinth seez/) 1 the combination of components to form.
1 Towards Optimal Custom Instruction Processors Wayne Luk Kubilay Atasu, Rob Dimond and Oskar Mencer Department of Computing Imperial College London HOT.
King Fahd University of Petroleum and Minerals Computer Engineering Department COE 561 Digital Systems Design and Synthesis (Course Activity) Synthesis.
1 An Update on Verilog Ξ – Computer Architecture Lab 28/06/2005 Kypros Constantinides.
An Unobtrusive Debugging Methodology for Actel AX and RTAX-S FPGAs Jonathan Alexander Applications Consulting Manager Actel Corporation MAPLD 2004.
ECE 545 Project 2 Specification. Schedule of Projects (1) Project 1 RTL design for FPGAs (20 points) Due date: Tuesday, November 22, midnight (firm) Checkpoints:
© 2003 Xilinx, Inc. All Rights Reserved Global Timing Constraints FPGA Design Flow Workshop.
ECE 545 Project 2 Specification. Project 2 (15 points) – due Tuesday, December 19, noon Application: cryptography OR digital signal processing optimized.
Kazi ECE 6811 ECE 681 VLSI Design Automation Khurram Kazi Thanks to Automation press THE button outcomes the Chip !!! Reality or Myth.
Tools - Design Manager - Chapter 6 slide 1 Version 1.5 FPGA Tools Training Class Design Manager.
Kazi ECE 6811 ECE 681 VLSI Design Automation Khurram Kazi Thanks to Automation press THE button outcomes the Chip !!! Reality or Myth (most of the material.
Kazi ECE 6811 ECE 681 VLSI Design Automation Khurram Kazi Lecture 8 Thanks to Automation press THE button outcomes the Chip !!! Reality or Myth.
Introduction to Clock Tree Synthesis
Logic Synthesis assign z=a&b a b z What is Synthesis synthesis /sinth siss/ noun ( pl. syntheses /sinth seez/) 1 the combination of components to form.
CDA 4253 FPGA System Design RTL Design Methodology 1 Hao Zheng Comp Sci & Eng USF.
Static Timing Analysis
Clocking System Design
03/30/031 ECE Digital System Design & Synthesis Lecture Design Partitioning for Synthesis Strategies  Partition for design reuse  Keep related.
ASIC/FPGA design flow. Design Flow Detailed Design Detailed Design Ideas Design Ideas Device Programming Device Programming Timing Simulation Timing Simulation.
04/21/20031 ECE 551: Digital System Design & Synthesis Lecture Set : Functional & Timing Verification 10.2: Faults & Testing.
Hierarchical Memory Systems Prof. Sin-Min Lee Department of Computer Science.
EMT 351/4 DIGITAL IC DESIGN Verilog Behavioral Modeling  Finite State Machine -Moore & Mealy Machine -State Encoding Techniques.
-1- Soft Core Viterbi Decoder EECS 290A Project Dave Chinnery, Rhett Davis, Chris Taylor, Ning Zhang.
ASIC Design Methodology
Register Transfer Specification And Design
Reading: Hambley Ch. 7; Rabaey et al. Sec. 5.2
Topics HDL coding for synthesis. Verilog. VHDL..
Timing Analysis 11/21/2018.
ECE 551: Digital System Design & Synthesis
FPGA Tools Course Basic Constraints
FPGA Tools Course Answers
Pipeline Principle A non-pipelined system of combination circuits (A, B, C) that computation requires total of 300 picoseconds. Comb. logic.
FPGA Tools Course Timing Analyzer
ECE 551: Digital System Design & Synthesis
Instructor: Michael Greenbaum
Presentation transcript:

Kazi Fall 2006 EEGN 4941 EEGN-494 HDL Design Principles for VLSI/FPGAs Khurram Kazi

2Kazi Fall 2006 EEGN 494 Fundamental Steps to a Good design If you have a good start, the project will go smoothly Partitioning the Design is a good start Partition by: Functionality Don’t mix two different clock domains in a single block Don’t make the blocks too large Optimize for Synthesis

3Kazi Fall 2006 EEGN 494 Partitioning

4Kazi Fall 2006 EEGN 494 Recommended rules for Synthesis When implementing combinatorial paths do not have hierarchy Register all outputs Do not implement glue logic between block, partition them well Separate designs on functional boundary Keep block sizes to a reasonable size Separate core logic, pads, clock and JTAG

5Kazi Fall 2006 EEGN 494 Avoid hierarchical combinatorial blocks The path between reg1 and reg2 is divided between three different block Due to hierarchical boundaries, optimization of the combinatorial logic cannot be achieved Synthesis tools (Synopsys) maintain the integrity of the I/O ports, combinatorial optimization cannot be achieved between blocks (unless “grouping” is used).

6Kazi Fall 2006 EEGN 494 Recommend way to handle Combinatorial Paths All the combinatorial circuitry is grouped in the same block that has its output connected the destination flip flop It allows the optimal minimization of the combinatorial logic during synthesis Allows simplified description of the timing interface

7Kazi Fall 2006 EEGN 494 Register all outputs Simplifies the synthesis design environment: Inputs to the individual block arrive within the same relative delay (caused by wire delays) Don’t really need to specify output requirements since paths starts at flip flop outputs. Take care of fanouts, rule of thumb, keep the fanout to 16 (dependent on technology and components that are being driven by the output)

8Kazi Fall 2006 EEGN 494 NO GLUE LOGIC between blocks Due to time pressures, and a bug found that can be simply be fixed by adding some simple glue logic. RESIST THE TEMPTATION!!! At this level in the hierarchy, this implementation will not allow the glue logic to be absorbed within any lower level block.

9Kazi Fall 2006 EEGN 494 Separate design with different goals reg1 may be driven by time critical function, hence will have different optimization constraints reg3 may be driven by slow logic, hence no need to constrain it for speed

10Kazi Fall 2006 EEGN 494 Optimization based on design requirements Use different entities to partition design blocks Allows different constraints during synthesis to optimize for area or speed or both.

11Kazi Fall 2006 EEGN 494 Separate FSM with random logic Separation of the FSM and the random logic allows you to use FSM optimized synthesis

12Kazi Fall 2006 EEGN 494 Maintain a reasonable block size Partition your design such that each block is between gates (this is strictly tools and technology dependent) Larger the blocks, longer the run time -> quick iterations cannot be done.

13Kazi Fall 2006 EEGN 494 Partitioning of Full ASIC Top-level block includes I/O pads and the Mid block instantiation Mid includes Clock generator, JTAG, CORE logic CORE LOGIC includes all the functionality and internal scan circuitry

14Kazi Fall 2006 EEGN 494 Synthesis Constraints Specifying an Area goal Area constraints are vendor/library dependent (e.g. 2 input-nand gate, square mils, grid etc) Design compiler has the Max Area constraint as one of the constraint attributes.

15Kazi Fall 2006 EEGN 494 Timing constraints for synchronous designs Define timing paths within the design, i.e. paths leading into the design, internal paths and design leading out of the design Define the clock Define the I/O timing relative to the clock

16Kazi Fall 2006 EEGN 494 Define a clock for synthesis Clock source Period Duty cycle Defining the clock constraints the internal timing paths

17Kazi Fall 2006 EEGN 494 Timing goals for synchronous design Define timing constraints for all paths within a design Define the clocks Define the I/O timing relative to the clock

18Kazi Fall 2006 EEGN 494 Constraining input path Input delay is specified relative to the clock External logic uses some time within the clock period and i.e. TclkToQ(clock to Q delay) + Tw (net delay) ->{At input to B} Example command for this in synopsys design compiler: Dc_shell> set_input_delay –clock clk 5 (where 5 represents the input delay) (This command is Synopsys centric)

19Kazi Fall 2006 EEGN 494 Constraining output path Output delay is specified relative to the clock How much of the clock period does the external logic (shown by cloud b) use up? Tb + Tsetup; The amount to be specified as the output delay

20Kazi Fall 2006 EEGN 494 Timing paths

21Kazi Fall 2006 EEGN 494 Combinatorial logic may have multiple paths Static Timing Analysis uses the longest path to calculate a maximum delay or the shortest path to calculate a minimum delay.

22Kazi Fall 2006 EEGN 494 Schematic converted into a timing graph

23Kazi Fall 2006 EEGN 494 Calculating a path’s delay