The Automatic Generation of Merged-Mode Design Constraints

Slides:



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

Presenter : Shao-Chieh Hou VLSI Design, Automation and Test, VLSI-DAT 2007.
1ASM Algorithmic State Machines (ASM) part 1. ASM2 Algorithmic State Machine (ASM) ‏ Our design methodologies do not scale well to real-world problems.
Continuing Challenges in Static Timing Analysis
Introducing Formal Methods, Module 1, Version 1.1, Oct., Formal Specification and Analytical Verification L 5.
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.
- Verifying “Golden” reused IPs The Evil’s in the Edits William C Wallace Texas Instruments Nitin Jayaram Texas Instruments Nitin Mhaske Atrenta Inc Vijay.
Copyright 2001, Agrawal & BushnellVLSI Test: Lecture 261 Lecture 26 Logic BIST Architectures n Motivation n Built-in Logic Block Observer (BILBO) n Test.
Automated Method Eliminates X Bugs in RTL and Gates Kai-hui Chang, Yen-ting Liu and Chris Browy.
Timing Override Verification (TOV) Erik Seligman CS 510, Lecture 18, March 2009.
Timing Constraints: Are they constraining designs or designers? Subramanyam Sripada Synopsys Inc 3/13/2015.
Key-word Driven Automation Framework Shiva Kumar Soumya Dalvi May 25, 2007.
TIMING CLOSURE IN SYSTEM-ON-CHIP ERA Sam Appleton, CEO CONFIDENTIAL.
Timing sign-off with PrimeTime
6/14/991 Symbolic verification of systems with state machines David L. Dill Jeffrey Su Jens Skakkebaek Computer System Laboratory Stanford University.
How to Accelerate the Analog Design Verification Flow Itai Yarom Senior Verification Expert Synopsys.
MotoHawk Training Model-Based Design of Embedded Systems.
An Automata-based Approach to Testing Properties in Event Traces H. Hallal, S. Boroday, A. Ulrich, A. Petrenko Sophia Antipolis, France, May 2003.
Approaches to EJB Replication. Overview J2EE architecture –EJB, components, services Replication –Clustering, container, application Conclusions –Advantages.
Automatic Verification of Timing Constraints Asli Samir – JTag course 2006.
ECE Synthesis & Verification1 ECE 667 Spring 2011 Synthesis and Verification of Digital Systems Verification Introduction.
1 Design For Debug Using DAFCA system Gadi Glikberg 15/6/06.
Design of Fault Tolerant Data Flow in Ptolemy II Mark McKelvin EE290 N, Fall 2004 Final Project.
SE 450 Software Processes & Product Metrics Activity Metrics.
Presenter: PCLee Design Automation Conference, ASP-DAC '07. Asia and South Pacific.
© Copyright Eliyahu Brutman Programming Techniques Course.
TAU Panel: Timing constraints: Are they constraining designs or designers Bruce Zahn March 2015.
Educational Computer Architecture Experimentation Tool Dr. Abdelhafid Bouhraoua.
Principle of Functional Verification Chapter 1~3 Presenter : Fu-Ching Yang.
Churning the Most Out of IP-XACT for Superior Design Quality Ayon Dey Lead Engineer, TI Anshuman Nayak Senior Product Director, Atrenta Samantak Chakrabarti.
VerificationTechniques for Macro Blocks (IP) Overview Inspection as Verification Adversarial Testing Testbench Design Timing Verification.
Streamline Verification Process with Formal Property Verification to Meet Highly Compressed Design Cycle Prosenjit Chatterjee, nVIDIA Corporation.
1 Tools for Commercial Component Assembly Francis Bordeleau, Zeligsoft/Carleton University Mark Vigder, National Research Council Canada.
Presenter : Ching-Hua Huang 2013/9/16 Visibility Enhancement for Silicon Debug Cited count : 62 Yu-Chin Hsu; Furshing Tsai; Wells Jong; Ying-Tsai Chang.
ASIC/FPGA design flow. FPGA Design Flow Detailed (RTL) Design Detailed (RTL) Design Ideas (Specifications) Design Ideas (Specifications) Device Programming.
Scalable Analysis of Distributed Workflow Traces Daniel K. Gunter and Brian Tierney Distributed Systems Department Lawrence Berkeley National Laboratory.
Using Formal Verification to Exhaustively Verify SoC Assemblies by Mark Handover Kenny Ranerup Applications Engineer ASIC Consultant Mentor Graphics Corp.
4.2.1 Programming Models Technology drivers – Node count, scale of parallelism within the node – Heterogeneity – Complex memory hierarchies – Failure rates.
Workflow Early Start Pattern and Future's Update Strategies in ProActive Environment E. Zimeo, N. Ranaldo, G. Tretola University of Sannio - Italy.
Joseph Cordina 1/11 The Use of Model-Checking for the Verification of Concurrent Algorithms Joseph Cordina Department of C.S.&A.I.
1 Towards Optimal Custom Instruction Processors Wayne Luk Kubilay Atasu, Rob Dimond and Oskar Mencer Department of Computing Imperial College London HOT.
1 Hybrid-Formal Coverage Convergence Dan Benua Synopsys Verification Group January 18, 2010.
Test and Test Equipment Joshua Lottich CMPE /23/05.
Synthesis Of Fault Tolerant Circuits For FSMs & RAMs Rajiv Garg Pradish Mathews Darren Zacher.
TTCN-3 MOST Challenges Maria Teodorescu
1 Computing Challenges for the Square Kilometre Array Mathai Joseph & Harrick Vin Tata Research Development & Design Centre Pune, India CHEP Mumbai 16.
Lucy Yong Young Lee IETF CCAMP WG GMPLS Extension for Reservation and Time based Bandwidth Service.
4/19/20021 TCPSplitter: A Reconfigurable Hardware Based TCP Flow Monitor David V. Schuehler.
CHAPTER 8 Developing Hard Macros The topics are: Overview Hard macro design issues Hard macro design process Physical design for hard macros Block integration.
Embedded Embedded at-speed test at-speed test.
REALITY STATISTICAL CHARACTERIZATION OF A HIGH-K METAL GATE 32NM ARM926 CORE UNDER PROCESS VARIABILITY IMPACT Paul Zuber Petr Dobrovolny Miguel Miranda.
EKT 221 : Chapter 4 Computer Design Basics
ELEE 4303 Digital II Introduction to Verilog. ELEE 4303 Digital II Learning Objectives Get familiar with background of HDLs Basic concepts of Verilog.
Source Level Debugging of Parallel Programs Roland Wismüller LRR-TUM, TU München Germany.
Equivalence checking Prof Shobha Vasudevan ECE 598SV.
Course: Software Engineering – Design I IntroductionSlide Number 1 What is a specification Description of a (computer) system, which:  is precise;  defines.
Testing Overview Software Reliability Techniques Testing Concepts CEN 4010 Class 24 – 11/17.
ING XBRL Proof of Concept July 19, ©2005 page 2. Utilizing XBRL  ING Objectives  Benefits  Goals  Proof of Concept Plan  Stat  USGAAP  Pain.
20 Copyright © 2006, Oracle. All rights reserved. Best Practices and Operational Considerations.
On the Relation Between Simulation-based and SAT-based Diagnosis CMPE 58Q Giray Kömürcü Boğaziçi University.
Distributed Network Monitoring in the Wisconsin Advanced Internet Lab Paul Barford Computer Science Department University of Wisconsin – Madison Spring,
Gopakumar.G Hardware Design Group
Hayri Uğur UYANIK Very Large Scale Integration II - VLSI II
Introduction to Programmable Logic
Testability in EOCHL (and beyond…)
Northbound API Dan Shmidt | January 2017
Timing Analysis 11/21/2018.
Formal Verification of Partial Good Self-Test Fencing Structures
Design for Testability
Coupling Interaction: It occurs due to methods of a class invoking methods of other classes. Component Coupling: refers to interaction between two classes.
Presentation transcript:

The Automatic Generation of Merged-Mode Design Constraints Subrangshu K. Das, Texas Instruments Ajay J. Daga, FishTail Design Automation Aishwarya Singh, Texas Instruments Vikas Sachdeva, FishTail Design Automation In this presentation, I am going to talk about a joint work between TI and FishTail to automatically create merged-mode design constraints for a very complex multi-media IP --- built almost 80-85%s grounds up

Constraints Development Challenges Number of operating modes supported in a design today has increased tremendously (>20) Each operating mode could be unique in terms of its timing requirements Constraints designer needs to understand all these “unique” timing requirements and capture them in the constraints If we step back and really think why developing timing constraints have become extremely difficult, it is really because of the fact that “Number of operating modes…..” This is not just limited to functional modes but test-modes as well. In reasonably complex IPs using core-based testing, the number of modes could easily be between 20-30 Each new operating mode brings along with it a unique set of timing requirements - -different from the rest o fthe modes

Prior Solutions Single-mode implementation flow Using most timing-critical “operating” mode E.g., if freq. clkb > freq. clka, SDC-1: set_case_analysis 1 sel Single timing-critical mode is extremely rare Multi-mode implementation flow Separate constraint files for each “operating” mode SDC-1: set_case_analysis 0 sel SDC-2: set_case_analysis 1 sel Easy to create but tool run-times become prohibitive beyond 2-3 modes (on complex IPs) Merged-mode implementation flow Created by collapsing constraints for multiple “operating” modes into one No case-analysis SDC-1: set_clock_groups –logically_exclusive –group clka –group clkb Effort intensive and error-prone No easy way to review FF1 FF2 clka clkb 1 sel Merged-mode implementation flow No case-analysis: This could be highly pessimistic in many cases like for example if clka = 100 MHz and clkb = 150 MHz, the path would get timed at 200 MHz! Effort intensive  because it requires extensive design knowledge! So what is the ideal solution? Ideal would be if we could feed in SDC-1/SDC-2 (i.e. constraints for all the operating modes supported by the design) to a tool, which can then generate merged-mode SDC-1 constraints automatically – that we can then feed into P&R and STA tools! Ideal Solution: Designer creates individual mode SDC files and a tool automatically collapses them and also generates the clock-exceptions!

Key Components for “automation” FF1 FF2 clka clkb 1 sel Ability to define boolean condition required to propagate a clock signal from one node to another Ability to calculate dot-product between two sets of boolean expressions to see if 2 clocks can interact or not False-path if dot-product == 0 TI and Fishtail collaborated to enhance Focus (formal tool) to handle above and generate exceptions automatically during merging

Enhancements in Focus Mode-table Case-analysis to block clock propagation Clock-propagation false-path Logically-exclusive Partially-exclusive

Automated Constraints Generation Flow

Focus Results Design Statistics No missing / erroneous exceptions Complex IP with ~1.6 Million instances Multiple clocks (~25) with highest clock frequency being 266 MHz ~30 operational modes including test modes Merged-mode # of set_clock_sense (stop propagation) # of generated clocks (partially-exclusive) # of clock exceptions # of case-analysis generated Run time Memory Usage Capture 17 30 133 2 4 hr 9.2 GB Func-PBIST 56 1 3 3 hr 6 min 9.37 GB Shift 12 8 107 3 hr 16 min 9.21 GB P1500 61 248 4hr 40 min 9.34 GB No missing / erroneous exceptions Constraints un-touched in the course of the entire P&R and STA flow

Focus helped catch design bugs! DFT clock implementation is complex and is custom-built for every IP Verifying DFT clock implementation is difficult using conventional techniques for scenarios like: Ensure ATPG shift and ATPG capture clocks do not interact in any of the operating modes No timing paths in the design between 2 ATPG capture clocks (programmed for simultaneous capture) in TFT However constraint designer assumes above when writing constraints Design implementation bug can easily get un-detected till late in the design or worse after Si! Focus formally proves if 2 clocks are mutually-exclusive and then generates clock-exception in merged SDC Absence of clock-exceptions (clock-crossing report) with help of clock-propagation/interaction reports helped catch implementation bugs (>5) DFT clock implementation is complex and is custom-built for every IP Clock-crossing report:  Implementation did not match intent

Conclusions Described how Focus was used to Automatically generate merged-mode constraints from mode-table spreadsheet Automatically generate clock-exceptions to remove pessimism Helped reduce constraint development cycle-time by a factor of 2-3X No last-minute heart-aches due to constraint bugs!!  Described how Focus helped in catching implementation bugs that could have been missed in conventional verification

Thank You

Mode-table spreadsheet Configuration ports Operating Modes Configuration registers Back

Case-Analysis to Block Clock Propagation FF1 FF2 CLKA CLKB 1 mux1 1 1 SEL1 MODE1 MODE2 SEL1 1 SEL2 SEL2 1 Modes being Merged MODE1 MODE2 set_case_analysis 1 mux1/s Back

Clock Propagation False-path FF1 FF2 CLKA TCLK 1 mux1 1 mux3 TESTMODE CLKB 1 mux2 SEL set_clock_sense –stop_propagation –clocks {TCLK} [get_pins mux3/b] Back

Logically-Exclusive Clocks FF1 FF2 AUXCLK0 ICG PICLK0 AUXCLK0 1 mux1 SE = 0 SE SE = 1 PICLK0 – functional clock AUXCLK0 – shift clock SE – scan enable set_clock_groups –logically_exclusive –group AUXCLK0 -group PICLK0 Back

Partially-Exclusive Clocks CLKA CLKB FF1 FF2 FF3 FF4 1 mux1 create_generated_clock mux1/Z –name clka_1 –master_clock CLKA create_generated_clock mux1/Z –name clkb_1 –master_clock CLKB set_clock_groups –physically_exclusive –group CLKA –group CLKB Back