CMPE222 Project Synthesis Optimization ------ analysis of DC & DW Zhenrong Wang, Mingcui Instructor: Prof. Wakefield.

Slides:



Advertisements
Similar presentations
HDL Programming Fundamentals
Advertisements

TOPIC : SYNTHESIS DESIGN FLOW Module 4.3 Verilog Synthesis.
Simulation executable (simv)
The Verilog Hardware Description Language
12- Agenda Introduction 1 Verilog-A Modules 2 DAY 1 Synopsys 60-I-032-BSG-005 © 2007 Synopsys, Inc. All Rights Reserved Simulating Variability – Design.
ECE Synthesis & Verification - Lecture 2 1 ECE 667 Spring 2011 ECE 667 Spring 2011 Synthesis and Verification of Digital Circuits High-Level (Architectural)
Anurag Dwivedi.  Verilog- Hardware Description Language  Modules  Combinational circuits  assign statement  Control statements  Sequential circuits.
CSE 341 Verilog HDL An Introduction. Hardware Specification Languages Verilog  Similar syntax to C  Commonly used in  Industry (USA & Japan) VHDL 
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.
1 Verilog Digital Computer Logic Kashif Bashir WWW: http//:
1 Omar F. Mousa Professor: Scott Wakefield Omar F. Mousa Professor: Scott Wakefield.
ELEN 468 Lecture 151 ELEN 468 Advanced Logic Design Lecture 15 Synthesis of Language Construct I.
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.
FIR Filter CMPE 222 – Project Divya Misra Gnanapriya Mohanavelu.
FIR Tap Filter Optimization CE222 Final Project Spring 2003 S oleste H ilberg N icole S tarr.
Altera’s Quartus II Installation, usage and tutorials Gopi Tummala Lab/Office Hours : Friday 2:00 PM to.
King Fahd University of Petroleum and Minerals Computer Engineering Department COE 561 Digital Systems Design and Synthesis (Course Activity) Synthesis.
ENEE 408C Lab Capstone Project: Digital System Design Spring 2005 Class Web Site: e408c.
Prof. John Nestor ECE Department Lafayette College Easton, Pennsylvania ECE VLSI System Design Lecture 4 - Advanced Verilog.
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.
FPGA-Based System Design: Chapter 4 Copyright  2004 Prentice Hall PTR HDL coding n Synthesis vs. simulation semantics n Syntax-directed translation n.
© 2003 Xilinx, Inc. All Rights Reserved CORE Generator System.
EE 5900 Advanced Algorithms for Robust VLSI CAD, Spring 2009 Static Timing Analysis and Gate Sizing.
LOPASS: A Low Power Architectural Synthesis for FPGAs with Interconnect Estimation and Optimization Harikrishnan K.C. University of Massachusetts Amherst.
Synthesis Presented by: Ms. Sangeeta L. Mahaddalkar ME(Microelectronics) Sem II Subject: Subject:ASIC Design and FPGA.
ASIC Design Flow – An Overview Ing. Pullini Antonio
© 2003 Xilinx, Inc. All Rights Reserved For Academic Use Only Xilinx Design Flow FPGA Design Flow Workshop.
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.
Fully Pipelined FPU for OR1200
정 용 군 ( 전자공학과 대학원 ) 대상 : VLSI 설계 연구회 1,2,3 학년 기간 : ~ Synopsys Tool 교육 Synopsys 교육 1.
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.
1 Logic Synthesis Using Cadence Ambit. 2 Environment Setup Enter the following to.cshrc or a c-shell command file. –setenv LM_LICENSE_FILE full_path/license.dat.
Programmable Logic Training Course Project Manager.
Fall 08, Oct 31ELEC Lecture 8 (Updated) 1 Lecture 8: Design, Simulation Synthesis and Test Tools ELEC 2200: Digital Logic Circuits Nitin Yogi
Module 1.2 Introduction to Verilog
TOPIC : SYNTHESIS INTRODUCTION Module 4.3 : Synthesis.
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 System Simulation.
Introductory project. Development systems Design Entry –Foundation ISE –Third party tools Mentor Graphics: FPGA Advantage Celoxica: DK Design Suite Design.
Electrical and Computer Engineering University of Cyprus LAB 1: VHDL.
Slide 1 2. Verilog Elements. Slide 2 Why (V)HDL? (VHDL, Verilog etc.), Karen Parnell, Nick Mehta, “Programmable Logic Design Quick Start Handbook”, Xilinx.
ECE-C662 Lecture 2 Prawat Nagvajara
Tools - LogiBLOX - Chapter 5 slide 1 FPGA Tools Course The LogiBLOX GUI and the Core Generator LogiBLOX L BX.
EE 4271 VLSI Design, Fall 2013 Static Timing Analysis and Gate Sizing Optimization.
ELEE 4303 Digital II Introduction to Verilog. ELEE 4303 Digital II Learning Objectives Get familiar with background of HDLs Basic concepts of Verilog.
MEMORY GENERATORS MEMPRO Instructor: Dr. Anthony Johnson Presented by: Rajesh Natarajan Motheeswara Salla.
Adding the Superset Adder to the DesignWare IP Library
Introduction to Verilog. Data Types A wire specifies a combinational signal. – Think of it as an actual wire. A reg (register) holds a value. – A reg.
VHDL ELEC 311 Digital Logic and Circuits Dr. Ron Hayne Images Courtesy of Cengage Learning.
Teaching Digital Logic courses with Altera Technology
Static Timing Analysis
Altera Technical Solutions Seminar Schedule OpeningIntroduction FLEX ® 10KE Devices APEX ™ 20K & Quartus ™ Overview Design Integration EDA Integration.
INF3430 / 4431 Synthesis and the Integrated Logic Analyzer (ILA) (WORK IN PROGRESS)
Introduction to the FPGA and Labs
VLSI Synthesis and Simulation Tools Nitin Yogi 01/09/2009
ASIC Design Methodology
Flopoco in LegUp Jenny deng.
ELEN 468 Advanced Logic Design
Static Timing Analysis and Gate Sizing Optimization
Topics HDL coding for synthesis. Verilog. VHDL..
Static Timing Analysis and Gate Sizing Optimization
Timing Analysis 11/21/2018.
Linear Programming Excel Solver.
THE ECE 554 XILINX DESIGN PROCESS
Today’s Lab Start working with Xilinx
THE ECE 554 XILINX DESIGN PROCESS
Presentation transcript:

CMPE222 Project Synthesis Optimization analysis of DC & DW Zhenrong Wang, Mingcui Instructor: Prof. Wakefield

2 Outline Preparation for Synthesis: source code HDL level Optimization Optimization using Design_analyzer constraints & DesignWare Depth study of Synthesis Optimization ----look into DesignWare * Build your own synthesis Library (Optional)

3 (I) HDL Level Optimization Using FIR 3 Tap 3 latency version: combine status (wait, load) and (shift, output) Simulator: Modelsim 5.5 SEb

4 Output verification 2 latency version : wait and combine all the calcuation states into one

5 HDL level Optimization Compare compiling results: PowerAreaDelayTotal 2latency latency

6 Reason for difference Less status for less Power More combined calculation hinder reuse of adders and multipliers

7 Conclusion for HDL Optimization Conciseness may not be the best but it’s good approach!

8 (II) Adding Constraints

9 Wishing for the best result? If constraints ( Max area == 0 && Max delay == 0 && Power ==0 ) Compiling time = hours long; Result = WORSE;

10 Understand how it works

11 Foundation Library Design Library (.syn, etc) contains the circuit descriptions that are immediately usable by the Synopsys tools. Synthetic Library (.sldb) links the circuits in a design library to the Synopsys Synthesis tools /projects/cadlab/synopsys/ /dw /dw0*/lib  Design library /projects/cadalb/synopsys/ /libraries/syn  Synthetic Library

12 Default Synthesis Library standard.sldb List name of default: “Synthetic Operator” “Synthetic Model” “Implementations” “binding relationship of each level”

13 Synthetic Library Structure

14 The standard.sldb of synopsys See what contains in the synopsys default synthesis library (different to users with different license) > cd /projects/cadlab/synopsys/ /library/syn/ >Source your_synopsys.rc >dc_shell //enter dc_shell dc_shell> report_synlib standard.sldb

15 Contents of.sldb Synthetic operator type ADD_TC_CI_OP add ADD_TC_OP add Synthetic model desciprtion DW01_add design_library: DW01 HDL parameter: width =... Synthetic model Implimentation DW02_mult sim v csa leg = "(A_width>=1) &

16 Examples of tracing component

17 Bounding of each level Synthetic Model DW02_mult … b2 bound_operator: MULT_UNS_OP Pin Associations (module, oper): A, A B, B … … Module Implementations Attributes/Parameters DW02_mult sim v csa leg = "(A_width>=1) &&…

How constraints works?

19 Implementation Selection

20 How to optimize To characterize the implementations for comparison, the synthesis tool creates a pre-optimized model for each one, in the user’s target technology. The timing and area characteristics of the models serve as the basis for implementation selection.

21 Content of technology.db Main parts Area time cell(OR2I) { area : 2; cell_footprint : "or2"; pin(A) { direction : input; capacitance : 1; } … … { intrinsic_rise : 0.18; intrinsic_fall : 0.65; rise_resistance : 0.223; fall_resistance : ;

What if we choose both: max area==0&&delay==0

Tools optimize timing first by default!

24 One constraint Each time(1) 2-latency version Typical db Dynamic Power Cell AreaArrival Time Total Default Area Timing Fanout

25 One constraint each time (2) 3-latency version Typical db Dynamic Power Cell AreaArrival Time Total Default Area Timing Fanout

26 Tips Area constraint has the more impact on the optimization compared to others High-level behavioral optimization reduces the area, power a lot. Fanout constraint reduce the timing but increase the dynamic power Default optimization is, in common case, good enough for timing optimization

27 III DesignWare Best case for non-DW & DW Dynamic Power Cell Area Arrival Time Total DW Non-DW

28 Advantages of using DW It offers many different design descriptions (implementations) for a given function; users let the synthesis tools choose which implementation to use in any given context.

29 See datasheet of DW

30 Check information in datasheet symbols Ports description Parameter Implimentations …

31 Setup environment for DW you must set two dc_shell variables: synthetic_library and link_library. Add in.synopsys_dc.setup “ … synthetic_library = dw01.sldb dw02.sldb; link_library = { typical.db dw01.sldb dw02…}

32 How are DesignWare Foundation Components Used? Component instantiation: Operator Inferencing

33 Instantiate Example // Instantiating DW02_multp in Verilog module adder(a, b, tc, out); parameter wordlength = 24; input [wordlength- 1:0] a, b; … // instantiate DW01_add DW02_multp #(wordlength) U1(a,b,tc,out); endmodule

34 example

35 Results after Instantiating Using DW_multp/wall DesignWare db (3 latency) Dynamic Power Cell AreaArrival time Total Default Area Timing Fanout

36 Set model/implementation or in2) begin :b1 /* synopsys resource r0: map_to_module = ”DW01_add”, implementation = ”cla”, ops = ”a1”; */ sum <= in1 + in2; //synopsys label a1

37 Disabling Selected Synthetic Modules and Implementations Tools use the first one if there’s models with same names Disable using models in synthetic lib: set_dont_use standard.sldb/DW01_addsub

38 Developing Synthetic Library