Copyright © 2009,Intel Corporation. All rights reserved. Auto ECO Flow Development For Functional ECO Using Efficient Error Rectification Method Based.

Slides:



Advertisements
Similar presentations
Testing Workflow Purpose
Advertisements

Test Yaodong Bi.
TOPIC : SYNTHESIS DESIGN FLOW Module 4.3 Verilog Synthesis.
Requirements Specification and Management
Handling Complexity in FEV Erik Seligman CS 510, Lecture 6, January 2009.
© 2013 IBM Corporation A Smarter Design Environment Tom Guzowski / Bert Bradley.
Timing Override Verification (TOV) Erik Seligman CS 510, Lecture 18, March 2009.
Logic Synthesis – 3 Optimization Ahmed Hemani Sources: Synopsys Documentation.
ECE Synthesis & Verification 1 ECE 667 Synthesis and Verification of Digital Systems Formal Verification Combinational Equivalence Checking.
CSE241 Formal Verification.1Cichy, UCSD ©2003 CSE241A VLSI Digital Circuits Winter 2003 Recitation 6: Formal Verification.
February 25, 2009Chaitanya: MEE Project Defense1 Fully configurable hierarchical transaction level verifier for functional verification Master’s Defense.
The Design Process Outline Goal Reading Design Domain Design Flow
Chapter 6 Database Design
ECE Synthesis & Verification1 ECE 667 Spring 2011 Synthesis and Verification of Digital Systems Verification Introduction.
Chapter 1 Software Development. Copyright © 2005 Pearson Addison-Wesley. All rights reserved. 1-2 Chapter Objectives Discuss the goals of software development.
Logic Design Outline –Logic Design –Schematic Capture –Logic Simulation –Logic Synthesis –Technology Mapping –Logic Verification Goal –Understand logic.
TAU Panel: Timing constraints: Are they constraining designs or designers Bruce Zahn March 2015.
22–1. 22–2 Chapter Twenty-Two Copyright © 2014 by The McGraw-Hill Companies, Inc. All rights reserved. McGraw-Hill/Irwin.
9 1 Chapter 9 Database Design Database Systems: Design, Implementation, and Management, Seventh Edition, Rob and Coronel.
Introduction to Software Testing
© 2006, Cognizant Technology Solutions. All Rights Reserved. The information contained herein is subject to change without notice. Automation – How to.
Churning the Most Out of IP-XACT for Superior Design Quality Ayon Dey Lead Engineer, TI Anshuman Nayak Senior Product Director, Atrenta Samantak Chakrabarti.
Impromptu Data Extraction and Analysis Data Mining and Analytics Framework for VLSI Designs Sandeep P
TM Efficient IP Design flow for Low-Power High-Level Synthesis Quick & Accurate Power Analysis and Optimization Flow JAN Asher Berkovitz Yaniv.
CCSB223/SAD/CHAPTER141 Chapter 14 Implementing and Maintaining the System.
Extreme Programming Software Development Written by Sanjay Kumar.
S/W Project Management Software Process Models. Objectives To understand  Software process and process models, including the main characteristics of.
1 Software Testing (Part-II) Lecture Software Testing Software Testing is the process of finding the bugs in a software. It helps in Verifying and.
© 2012 IBM Corporation Rational Insight | Back to Basis Series Chao Zhang Unit Testing.
COE4OI5 Engineering Design. Copyright S. Shirani 2 Course Outline Design process, design of digital hardware Programmable logic technology Altera’s UP2.
ITEC 3220M Using and Designing Database Systems
ECO Methodology for Very High Frequency Microprocessor Sumit Goswami, Srivatsa Srinath, Anoop V, Ravi Sekhar Intel Technology, Bangalore, India Introduction.
Week 4 Lecture Part 3 of 3 Database Design Samuel ConnSamuel Conn, Faculty Suggestions for using the Lecture Slides.
MAPLDDesign Integrity Concepts You Mean We’re Still Working On It? Sustaining a Design.
Testing Workflow In the Unified Process and Agile/Scrum processes.
CSE 494: Electronic Design Automation Lecture 2 VLSI Design, Physical Design Automation, Design Styles.
Tools - Implementation Options - Chapter15 slide 1 FPGA Tools Course Implementation Options.
Chonnam national university VLSI Lab 8.4 Block Integration for Hard Macros The process of integrating the subblocks into the macro.
FORMAL VERIFICATION OF ADVANCED SYNTHESIS OPTIMIZATIONS Anant Kumar Jain Pradish Mathews Mike Mahar.
© 2012 xtUML.org Bill Chown – Mentor Graphics Model Driven Engineering.
Language Concepts Ver 1.1, Copyright 1997 TS, Inc. VHDL L a n g u a g e C o n c e p t s Page 1.
TEST-1 6. Testing & Refactoring. TEST-2 How we create classes? We think about what a class must do We focus on its implementation We write fields We write.
TESTING LEVELS Unit Testing Integration Testing System Testing Acceptance Testing.
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
February 22-25, 2010 Designers Work Less with Quality Formal Equivalence Checking by Orly Cohen, Moran Gordon, Michael Lifshits, Alexander Nadel, and Vadim.
Test Plan: Introduction o Primary focus: developer testing –Implementation phase –Release testing –Maintenance and enhancement o Secondary focus: formal.
Dynamic Testing.
Silicon Programming--Testing1 Completing a successful project (introduction) Design for testability.
Winter 2007SEG2101 Chapter 121 Chapter 12 Verification and Validation.
GCSE ICT 3 rd Edition The system life cycle 18 The system life cycle is a series of stages that are worked through during the development of a new information.
Equivalence checking Prof Shobha Vasudevan ECE 598SV.
Testing Overview Software Reliability Techniques Testing Concepts CEN 4010 Class 24 – 11/17.
Full Design. DESIGN CONCEPTS The main idea behind this design was to create an architecture capable of performing run-time load balancing in order to.
Design with Vivado IP Integrator
On the Relation Between Simulation-based and SAT-based Diagnosis CMPE 58Q Giray Kömürcü Boğaziçi University.
The PLA Model: On the Combination of Product-Line Analyses 강태준.
Speaker: Nansen Huang VLSI Design and Test Seminar (ELEC ) March 9, 2016 Simulation-Based Equivalence Checking.
EMT 351/4 DIGITAL IC DESIGN Week # 1 EDA & HDL.
ASIC Design Methodology
SOFTWARE TESTING OVERVIEW
SoCKs Flow: Here, There, and Back Again
Chapter 6 Database Design
VLSI Testing Lecture 6: Fault Simulation
Verification and Validation Unit Testing
Chapter 3 – Combinational Logic Design
Chapter 10 – Software Testing
Test Case Test case Describes an input Description and an expected output Description. Test case ID Section 1: Before execution Section 2: After execution.
Paper by D.L Parnas And D.P.Siewiorek Prepared by Xi Chen May 16,2003
Integration Testing.
Presentation transcript:

Copyright © 2009,Intel Corporation. All rights reserved. Auto ECO Flow Development For Functional ECO Using Efficient Error Rectification Method Based On FV Tool Andal Jayalakshmi Intel Corporation, Penang, Malaysia

Copyright © 2009, Intel Corporation. All rights reserved. Disclaimers The flow results discussed have been simulated and are provided for informational purposes only. Results were derived using EDA software tool that run on an Intels VLSI design. Any difference in VLSI design or software tool or configuration or flow may affect actual results. This work/manuscript does not in any way constitute an Intel endorsement of a product or supplier.

Copyright © 2009, Intel Corporation. All rights reserved. ECO (Engineering Change Order) ECO is a capability to integrate late RTL changes into converged netlist as re-synthesis involves high re-convergence cost Simple ECO changes may even require a lot of efforts to make the corresponding changes in the converged netlist due to the deep optimizations done by the synthesis tools. RTL Logic Synthesis Netlist Converged Netlist Scan, Clock Stitch New RTL ECO Tool Converged Netlist

Copyright © 2009, Intel Corporation. All rights reserved. Auto ECO Flow The Auto ECO Flow encompasses 5 stages which includes verification of ECO collaterals, rectification of error and verification of ECO changes made by the tool. Screen stage – Verify the netlists for old RTL and converged design for functional equivalence as a sanity check for pre-ECO collaterals. FV stage – Verify the synthesis netlists for Old and New RTL for functional equivalence to identify the failing fubs to fix. Rectification stage - Rectify the errors in each of the failing fubs iteratively and obtain the patches. Syn stage - Implement the patches on to the converged netlist to get the converged netlist with the ECO fix. Verify stage – Verify the netlists for new RTL and the converged design for functional equivalence to verify the ECO fix.

Copyright © 2009, Intel Corporation. All rights reserved. Syn netlist (for old RTL) Syn netlist (for New RTL) Converged netlist (for old RTL) FV (FV stage) Failing Fubs List Generate Fix (Rectification stage) Implement Changes (Syn stage) Converged netlist (for new RTL) FV (Verify stage) FV Status and Fix statistics ECO Change list FV (Screen stage) Sanity check FV rpt Auto ECO Flow

Copyright © 2009, Intel Corporation. All rights reserved. Sanity Check FV This is to verify if the pre-ECO synthesis netlist and the converged design (pre-ECO post-layout netlist) pass FV. This is to ensure the correctness of the pre-ECO collaterals such as the netlists and FV collaterals (scan and CTS mapping information). The FV is done at the top level as we are only interested to see if they pass or not. Pre Eco Syn Vs Pre Eco Lay (Top level) Syn netlist (for old RTL) Converged netlist (for old RTL) CTS mapping Scan ports Scan constraints FV RPT Equivalence Status

Copyright © 2009, Intel Corporation. All rights reserved. FV Collaterals – CTS Mapping The clock tree which represents more than one clock signal are to be equated to obtain functional equivalence. For example the CLK and CLK1 represent the same clock signal. Example CTS mapping # Module Dir Old New Module1 in CLK CLK1 CLK Module1 U1 DFF U2 DFF Golden Revised CLK Module1 U1 DFF U2 DFF CLK1

Copyright © 2009, Intel Corporation. All rights reserved. FV Collaterals – Scan Ports The scan ports need to be identified to constrain these to proper values to suppress the scan path from checking. Whenever the synthesis netlist is checked against converged design the CTS mapping is essential to remove the Clock and Scan signal differences. #Module scanin scanin_port Top scanin scan_in submod1 scanin scan_in #Module scanout scanout_port Top scanout scan_out submod1 scanout scan_out #Module constin constin_port value netlist Top constin scan_en 0 tar submod1 constin scan_en 0 tar Module submod1 DFF Module Top in1 in2 scan_in scan_en scan_out

Copyright © 2009, Intel Corporation. All rights reserved. FV Pre-ECO Vs Post-ECO Netlist The failing modules are identified by verifying the synthesis netlists for old and new RTL. This helps to identify the exact ECO changes to fix, which does not include the clock and scan differences. Pre Eco Syn netlist Vs Post Eco Syn netlist Hierarchical FV Syn netlist (for old RTL) Fv RPT Equivalence status for each sub module Syn netlist (for new RTL)

Copyright © 2009, Intel Corporation. All rights reserved. Error Rectification Identifies the logic in golden which are equivalent to revised using the FV tool and reuses this logic. Rectifies the error in golden by just fixing that particular portion of logic which is erroneous. Identifies and reuses the equivalent logic beyond the error boundary. Uses a BDD for functional equivalence checking during error correction. GOLDEN CONE REVISED CONE FINAL CONE Error Boundary Reused Rectified

Copyright © 2009, Intel Corporation. All rights reserved. Generating Equivalent Points Using FV tool Auto ECO Flow uses the FV tool to recursively find equivalent points. It recurses from the cone tip towards the Primary Inputs (PIs) until an equivalent point is found. The run time for this depends on the location of the error. If the error lies near to the interfaces, it will take longer run time. Interfaces

Copyright © 2009, Intel Corporation. All rights reserved. Functional Equivalence Checking Using BDDs The error rectification algorithm employs BDDs for logic function verification. These are very useful for on the fly verification compared to FV tools as they take longer time for loading the design and libraries and are more suitable for batch mode operations. The disadvantage of BDDs is that the run time and memory requirements will grow exponentially as the number of variables in the logic function increases.

Copyright © 2009, Intel Corporation. All rights reserved. Example ECO Scenario And Error Rectification Finds equivalent points as highlighted in yellow below.

Copyright © 2009, Intel Corporation. All rights reserved. Example ECO Scenario And Error Rectification contd… It marks all the cells in the sub-cone behind the equivalent points as reused ( shown in yellow) and recreates the remaining logic (shown in red) based on the ECO netlist while trying to reuse cells (shown in green) in pre-ECO netlist.

Copyright © 2009, Intel Corporation. All rights reserved. Example ECO Scenario And Error Rectification contd… Then it removes the dangling cells which have no loads recursively.

Copyright © 2009, Intel Corporation. All rights reserved. Example ECO Scenario and Error Rectification contd… This would then be the final netlist which is equivalent to the post-ECO netlist.

Copyright © 2009, Intel Corporation. All rights reserved. Converged netlist (for old RTL) Syn netlist (for new RTL) Rectification Logic ECO changelist CTS mapping Scan ports Scan constraints FUB FV rpt FUB Generate ECO Fix The rectification logic takes the netlists and FV collaterals as the inputs and generates the ECO changes as a TCL script.

Copyright © 2009, Intel Corporation. All rights reserved. Implement Changes The ECO changes are implemented using a synthesis tool. It takes in the converged netlist and the TCL script as input and generates the final netlist. The final netlist is not used directly as it is preferred to implement the changes in the same synthesis environment. ECO stitch Converged netlist (for old RTL) ECO changelist Converged netlist (for new RTL)

Copyright © 2009, Intel Corporation. All rights reserved. Post Eco Syn netlist Vs Post Eco Lay netlist Syn netlist (for new RTL) Converged netlist (for new RTL) CTS mapping Scan ports Scan constraints FV RPTEquivalence Status ECO Fix Verification The final netlist is verified for functional equivalence with the post-ECO- syn netlist. This enables the ECO change list generated by the flow to be used directly in the ECO environment for implementing the changes.

Copyright © 2009, Intel Corporation. All rights reserved. Results The flow is successfully used in Intel for various projects and the results obtained in few of the ECO executions are tabulated here. The flow is robust enough to handle complex ECOs and the user feedbacks are very encouraging. The ECO changes are found to be comparable with manual ECO changes. Though the TPT is high it was acceptable compared to manual ECOs.

Copyright © 2009, Intel Corporation. All rights reserved. Future Enhancements The TPT of the flow is high due to its functional equivalence checking mechanism. It relies upon the FV tool for finding equivalent points and BDDs for logic function verification during error correction. The future developments will be focused on improving the TPT further to exploit the fullest benefits of an automation tool to handle time critical ECOs.

Copyright © 2009, Intel Corporation. All rights reserved. Summary FV tool and BDDs were employed for the automation of the ECO flow. The ECO changes generated by the Flow was comparable to manual ECOs as per the feedback from the customers. It has improved the productivity to a large extent by reducing the ECO efforts from weeks to hours. The automation has enabled very complex ECOs which are otherwise dropped as manually fixing them is impossible due to the critical ECO schedules.