FEV And Netlists Erik Seligman CS 510, Lecture 5, January 2009.

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

TOPIC : SYNTHESIS DESIGN FLOW Module 4.3 Verilog Synthesis.
V. Vaithianathan, AP/ECE
The Design Process, RTL, Netlists, and Verilog
Putting It All Together: Using Formal Verification In Real Life Erik Seligman CS 510, Lecture 19, March 2009.
Handling Complexity in FEV Erik Seligman CS 510, Lecture 6, January 2009.
Introduction to Formal Equivalence Verification (FEV)
Combinational Logic.
Courtesy RK Brayton (UCB) and A Kuehlmann (Cadence) 1 Logic Synthesis Sequential Synthesis.
Timing Override Verification (TOV) Erik Seligman CS 510, Lecture 18, March 2009.
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.
© 2015 Synopsys, Inc. All rights reserved.1 Timing Analysis in a Mixed Signal World TAU Workshop Panel Session Jim Sproch March 12, 2015.
High-Level Constructors and Estimators Majid Sarrafzadeh and Jason Cong Computer Science Department
CSE241 Formal Verification.1Cichy, UCSD ©2003 CSE241A VLSI Digital Circuits Winter 2003 Recitation 6: Formal Verification.
The Design Process Outline Goal Reading Design Domain Design Flow
ELEN 468 Lecture 121 ELEN 468 Advanced Logic Design Lecture 12 Synthesis of Combinational Logic I.
Modern VLSI Design 2e: Chapter4 Copyright  1998 Prentice Hall PTR.
VHDL Intro What does VHDL stand for? VHSIC Hardware Description Language VHSIC = Very High Speed Integrated Circuit Developed in 1982 by Govt. to standardize.
Logic Design Outline –Logic Design –Schematic Capture –Logic Simulation –Logic Synthesis –Technology Mapping –Logic Verification Goal –Understand logic.
1 Application Specific Integrated Circuits. 2 What is an ASIC? An application-specific integrated circuit (ASIC) is an integrated circuit (IC) customized.
Churning the Most Out of IP-XACT for Superior Design Quality Ayon Dey Lead Engineer, TI Anshuman Nayak Senior Product Director, Atrenta Samantak Chakrabarti.
TM Efficient IP Design flow for Low-Power High-Level Synthesis Quick & Accurate Power Analysis and Optimization Flow JAN Asher Berkovitz Yaniv.
FPGA-Based System Design: Chapter 4 Copyright  2004 Prentice Hall PTR HDL coding n Synthesis vs. simulation semantics n Syntax-directed translation n.
Charles Kime & Thomas Kaminski © 2004 Pearson Education, Inc. Terms of Use (Hyperlinks are active in View Show mode) Terms of Use Lecture 12 – Design Procedure.
Lecture 5 Key Locker using FPGA 2007/10/05 Prof. C.M. Kyung.
Lecture 17 Lecture 17: Platform-Based Design and IP ECE 412: Microcomputer Laboratory.
ASIC/FPGA design flow. FPGA Design Flow Detailed (RTL) Design Detailed (RTL) Design Ideas (Specifications) Design Ideas (Specifications) Device Programming.
Synthesis Presented by: Ms. Sangeeta L. Mahaddalkar ME(Microelectronics) Sem II Subject: Subject:ASIC Design and FPGA.
Chonnam national university VLSI Lab 8.4 Block Integration for Hard Macros The process of integrating the subblocks into the macro.
The Verification Gap Verification determines whether a design satisfies its requirements (a.k.a. its specification): Does it satisfy its functional requirements?
FORMAL VERIFICATION OF ADVANCED SYNTHESIS OPTIMIZATIONS Anant Kumar Jain Pradish Mathews Mike Mahar.
Modern VLSI Design 3e: Chapter 4 Copyright  1998, 2002 Prentice Hall PTR Topics n Combinational network delay. n Logic optimization.
Logic BIST Logic BIST.
1 An Update on Verilog Ξ – Computer Architecture Lab 28/06/2005 Kypros Constantinides.
Vendor Independent SEE Mitigation Solution For FPGAs Kamesh Ramani Pravin Bhandakkar Darren Zacher Melanie Berg (MEI – NASA Goddard)
Digital Logic Design Lecture # 21 University of Tehran.
TOPIC : SYNTHESIS INTRODUCTION Module 4.3 : 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.
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:
Introductory project. Development systems Design Entry –Foundation ISE –Third party tools Mentor Graphics: FPGA Advantage Celoxica: DK Design Suite Design.
Slide 1 2. Verilog Elements. Slide 2 Why (V)HDL? (VHDL, Verilog etc.), Karen Parnell, Nick Mehta, “Programmable Logic Design Quick Start Handbook”, Xilinx.
04/06/031 ECE 551: Digital System Design & Synthesis Lecture Set 9 9.1: Constraints and Timing (In separate file) 9.2: Optimization - Part 1 9.3: Optimization.
CHAPTER 8 Developing Hard Macros The topics are: Overview Hard macro design issues Hard macro design process Physical design for hard macros Block integration.
Verification – The importance
IMPLEMENTATION OF MIPS 64 WITH VERILOG HARDWARE DESIGN LANGUAGE BY PRAMOD MENON CET520 S’03.
ELEN 468 Lecture 131 ELEN 468 Advanced Logic Design Lecture 13 Synthesis of Combinational Logic II.
Update on the Design Implementation Methodology for the 130nm process Microelecronics User Group meeting TWEPP 2010 – Aachen Sandro Bonacini CERN PH/ESE.
Modern VLSI Design 4e: Chapter 4 Copyright  2008 Wayne Wolf Topics n Combinational network delay. n Logic optimization.
Manufacture Testing of Digital Circuits
03/30/031 ECE Digital System Design & Synthesis Lecture Design Partitioning for Synthesis Strategies  Partition for design reuse  Keep related.
Equivalence checking Prof Shobha Vasudevan ECE 598SV.
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.
1 Lecture 1: Verilog HDL Introduction. 2 What is Verilog HDL? Verilog Hardware Description Language(HDL)? –A high-level computer language can model, represent.
Hardware Description Languages: Verilog
ASIC Design Methodology
Figure 8.1. The general form of a sequential circuit.
SoCKs Flow: Here, There, and Back Again
Hardware Description Languages: Verilog
ECE 448 Lecture 6 Finite State Machines State Diagrams vs. Algorithmic State Machine (ASM) Charts.
Topics HDL coding for synthesis. Verilog. VHDL..
Week 5, Verilog & Full Adder
CSE 370 – Winter Combinational Implementation - 1
FEV’s Greatest Bloopers: False Positives in Formal Equivalence
Robert Brayton Alan Mishchenko Niklas Een
Dr. Tassadaq Hussain Introduction to Verilog – Part-4 Expressing FSM in Verilog (contd) and FSM State Encoding Dr. Tassadaq Hussain.
Word-Level Aspects of ABC
ECE 448 Lecture 6 Finite State Machines State Diagrams vs. Algorithmic State Machine (ASM) Charts.
Presentation transcript:

FEV And Netlists Erik Seligman CS 510, Lecture 5, January 2009

Goals  Review how logic changes in synthesis  Understand how to make RTL-netlist FEV work Mainly looking at synthesized netlists  “Grab Bag” of cool techniques for FEV Look at interesting corner cases

Synthesized Netlist Basics  Synthesized netlists built from cell library  Cells hide transistor-level logic Delivered with behavioral descriptions Library owners certify correctness  Be sure you have a library! FEVing full block at transistor level is expensive Cell and custom FEV is separate process

Custom & Cell FEV  Typically done by specialized team  FEV tools like have special functionality LEC –custom abstract logic …  Users have to give many hints to tool Transistor, pin directions Which nodes are meant to hold state Domino precharge nodes

State Negation And Replication

Are these equivalent?

Yes- State Negation is OK add mapped point f2 f4 –inv OR set mapping method -phase

Are these equivalent?

Yes- State Replication add instance equivalence f2_1 f2_2 –rev

Don’t Forget Key Point Mapping (One Representative) add instance equivalence f2_1 f2_2 –rev add renaming rule r1 f2 f2_1 -gold

Pin Replication Also Common add pin equivalence ck1 ck2 –rev add renaming rule r2 ck ck1 -gold

Scan Chains and FEV

What Is A Scan Chain?  Enable observation of internal states Critical for post-silicon debug May enable setting internal states as well May involve all (full scan) or some states  Do this by creating serial chain Minimize need for additional pins Cost: Extra wires & more complex flops

Logic Example (no scan)

Logic + Scan Chain

Handling scan chains in FEV  Be careful! Scan in netlists, but not RTL Scan insertion is during synthesis  Identify scan enable conditions May be simple scan enable pin Or combination of pins / states  Use FEV constraints to disable in netlist add pin constraint 0 scan_en –rev  Plan to address verification hole! Gate-level simulation of netlist Or custom scripts to walk chains

Clock Gating

What is Clock Gating?  Goal: Power Reduction  Stop clock to inactive flops No clock change  No switching power  Automatically inserted in synthesis Thus in netlist but not RTL

Enabled Flop (no clk gating)

Enabled Flop + Clock Gating set flatten model –gated_clock

Black Boxes

What is a Black Box?  Area of logic to ignore for FEV Usually a Verilog module instance  Why ignore some logic? Non-FEVable analog circuits “Hard IP”– externally supplied block you trust Divide & conquer– different ownership  What is verified? Drivers of bbox input pins Recipients of bbox outputs Internals are ignored– be careful!

Black Box Example add black box /top/yellow –both TOP YELLOW a b c

Black Box Example TOP.YELLOW is a single key point But mapped only if a, b, and c have matches Verify fails if logic driving a or b mismatches TOP YELLOW a b c

Don’t Care (DC) Space

Are these equal?

What if we see source RTL… case ({a,b}) 2’b00: out=0 2’b01: out=1 2’b10: out=1 endcase

What if we see source RTL… case ({a,b}) 2’b00: out=0 2’b01: out=1 2’b10: out=1 endcase Unspecified case is a Don’t-Care (DC)

Don’t Care Cases  Often result from underspecified RTL  Synthesis has freedom to choose values Can optimize for area, timing, etc.  FEV tools can handle automatically BUT DCs only come from GOLD model DC in REV model is an error (‘E’) Asymmetry between GOLD and REV!

Watch out for confusion!

Pipeline Retiming

Are these equivalent?

Yes, in a sequential sense. Logic moved across flop: Pipeline Retiming

Pipeline Retiming and FEV  Retiming violates state matching Shouldn’t expect combo FEV tool to handle  BUT recent tools can handle some cases FEV tools aware of synthesis techniques –Internally “push” logic along pipeline to match add module attribute m1 –pipeline_retime  Many limitations, be careful Retiming must be isolated to one module Can cause runtime/memory complexity Need sequential FEV for more general cases

References / Further Reading  Scan  Clock Gating 270_Fall07/PROJECT/LUO/snug2000.pdf 270_Fall07/PROJECT/LUO/snug2000.pdf =915 =915  Pipeline Retiming rces/resources_imp/verif/Dtp_cdnlive2005_1207_E mbanath.pdf rces/resources_imp/verif/Dtp_cdnlive2005_1207_E mbanath.pdf 3/2.3_paper.pdf 3/2.3_paper.pdf