We think you have liked this presentation. If you wish to download it, please recommend it to your friends in any social system. Share buttons are a little bit lower. Thank you!
Presentation is loading. Please wait.
Published byKaleb Sheerer
Modified over 2 years ago
© Copyright 2013 Xilinx. How to Kill 4 Birds with 1 Stone: Using Formal Verification to Validate Legal Configurations, Find Design Bugs, and Improve Testbench and Software Specifications Saurabh Shrivastava, Kavita Dangi, Darrow Chu, Mukesh Sharma
© Copyright 2013 Xilinx. Sponsored By: Page 2 Motivation How to get a head start on verification How to augment simulation based verification How to validate/verify device configuration for –Better testbench simulations –Better software output How to weed out basic bugs: –Bus contention, x-assignments, floating-bus, FSM Assign out = SEL ? in0 : 1bz; Assign out = SEL ? in1 : 1bz; Case(sel) 0: out = in0; 2: out = in1; default: out = 1bx;
© Copyright 2013 Xilinx. Sponsored By: Page 3 Older Approach Full Chip TB Block1 TB Block2 TB BlockN TB Block3 TB CFG Configuration Bus Contention X - Assignment Bus Floating Multidriver Bus Floating Multidriver FSM
© Copyright 2013 Xilinx. Sponsored By: Page 4 Limitations of Older Approach Bugs are discovered late Block and Chip level simulations are as good as stimulus Difficult to hit all scenarios due to: –Big configuration space (only handful are verified) –Big design Interesting bugs found when test benches are sophisticated!
© Copyright 2013 Xilinx. Sponsored By: Page 5 New Approach Configuration Bus Contention X - Assignment Bus Floating Multidriver Bus Floating Multidriver FSM SVA Lib Block1 RTL Block1 RTL SVA Lib BlockN RTL BlockN RTL Better TB Checkers Better TB Checkers Better Software Output Checkers for illegal config Converted to Assume Constraints White Formal TB Targets: Bus checks, X- assignments, range- checks, FSM-checks, etc Assertions are generated by the tool
© Copyright 2013 Xilinx. Sponsored By: Page 6 New Verification Flow SVA Lib Block RTL Block RTL SVA Lib Block RTL Block RTL Block/FullChip TestbenchWhite Formal Testbench Used as Checkers Software SVA Lib Block RTL Block RTL Verify Constraints: Correct & Complete Catches Incorrect Block programming Read by SW End User IP Configurator Prevents incorrect IP programming Find design bugs early Find design bugs
© Copyright 2013 Xilinx. Sponsored By: Page 7 Assertion Library Example fileA_assert_lib.sv reg [3:0] varA; reg [5:0] widthA; reg modeA; … `LIB_ASSERT_ONE_HOT(22,varA value is not compliant,varA) `LIB_ASSERT_CHECK(23,Incorect width for modeA=0,(modeA==0 && widthA==16)) assert_lib_define.svh `define LIB_ASSERT_ONE_HOT(INST,MSG,a) `ifdef FORMAL \ assume_one_hot_``INST``: assume property clk) $onehot0(a)); \ `else \ assert_one_hot_``INST``: assert property clk) $onehot0(a)) \ else begin $error ("%s: one_hot fails for a=%h\n",MSG,a); \ `endif run.log ncsim: *E,ASRTST (lib_assert_macros.sv,17): (time 17 NS) Assertion top.dut.modA.assert_one_hot_22 has failed varA value is not compliant: one_hot fails for a=b
© Copyright 2013 Xilinx. Sponsored By: Page 8 Bugs Found Incorrect library assertion causing bus contention Assign out = SEL ? in0 : 1bz; Assign out = ~SEL ? in1 : 1bz; Assign out = SEL ? in2 : 1bz; Assign out = SEL ? in3 : 1bz; `LIB_ASSERT_CHECK(sel,Select values are incorrect,(SEL==0 || SEL==1 || SEL==6 || SEL==10) Combinatorial loops State reachability and transition State deadlock issues Bus floating failures Range overflow Missing library assertions causing –bus contention –X-assignment failures –Bus floating failures
© Copyright 2013 Xilinx. Sponsored By: Page 9 Comparison: Old v/s New © Copyright 2012 Xilinx Old ApproachNew Approach Early bug discovery Exhaustive Setup time> 1 Month1-3 days Setup effort Test codingNo assertion coding ScopeTargeted Configuration verificationManual approach, limitedDoes not verify anything out of cone of logic, but verifies ALL legal cfgs for properties Tool capacity Tool issues Tool learning Only opportunistic!
© Copyright 2013 Xilinx. Sponsored By: Page 10 Future Work Multi-block verification Tool kit Enable designers to run the flow Gate level Verilog verification
© Copyright 2013 Xilinx. Sponsored By: Page 11 Summary Finding early design bug and verifying configurations is an issue Simulation based approaches have limitations White Formal is used along with SVA library to solve this problem New approach finds early bugs and verifies configuration space As a result we get better testbench and better software output
© Copyright 2013 Xilinx. Sponsored By: Page 12 White Formal X-assignment example
© Copyright 2013 Xilinx. Sponsored By: Page 13 Older Approach © Copyright 2012 Xilinx Block and Chip level testbenches Directed & pseudo-random tests for: –bus contention, X-assignment, FSM-checks Static lint for bus floating and multi-driver Configuration verification –Manual –Directed simulations
© Copyright 2013 Xilinx. Sponsored By: Page 14 Limitations of New Approach © Copyright 2012 Xilinx Only opportunistic! Works only for targeted checks Configurations outside cone of logic not verified Tool capacity: cannot be applied at chip level Tool issues Tool learning
Xiushan Feng* ASIC Verification Nvidia Corporation Automatic Verification of Dependency 1 TM Jayanta Bhadra
Hub The Only Co-Simulation Tool of Its Kind on the Market The Only Co-Simulation Tool of Its Kind on the Market.
April 30, A New Tool for Designer-Level Verification: From Concept to Reality April 30, 2014 Ziv Nevo IBM Haifa Research Lab.
Using Formal Verification to Exhaustively Verify SoC Assemblies by Mark Handover Kenny Ranerup Applications Engineer ASIC Consultant Mentor Graphics Corp.
Putting It All Together: Using Formal Verification In Real Life Erik Seligman CS 510, Lecture 19, March 2009.
1 Hybrid-Formal Coverage Convergence Dan Benua Synopsys Verification Group January 18, 2010.
VerificationTechniques for Macro Blocks (IP) Overview Inspection as Verification Adversarial Testing Testbench Design Timing Verification.
SVA Encapsulation in UVM enabling phase and configuration aware assertions by Mark Litterick Verification Consultant Verilab GmbH, Munich, Germany.
Who’s Watching the Watchmen? The Time has Come to Objectively Measure the Quality of Your Verification by David Brownell Design Verification Analog Devices.
Real Intent, Inc (1) Copyright © Real Intent Real Intent, Inc. EnVision Suite of EDA Solutions.
Prof. John Nestor ECE Department Lafayette College Easton, Pennsylvania ECE Senior Design I Lecture 7 - Verification.
Xilinx 6.3 Tutorial Integrated Software Environment (ISE) Set up basic environment Select Gates or Modules to Be simulated (Insert Program Code) Run Waveform.
Ivan Marsic Rutgers University LECTURE 8: Software Testing.
1 Verification by Model Checking. 2 Part 1 : Motivation.
SoC Verification HW #2 TA: Wei-Ting Tu Assignment: 04/12/06 Due: 04/26/06.
An Overview of Hardware Design Methodology Ian Mitchelle De Vera.
Architecture optimization and design verification of the Timepix3 and the Velopix pixel ASICs Tuomas Poikela (TUCS/CERN) SV/UVM Mini workshop.
Introductory project. Development systems Design Entry –Foundation ISE –Third party tools Mentor Graphics: FPGA Advantage Celoxica: DK Design Suite Design.
1 IP-Based System-on-Chip Design 2002 IP Reuse Hardening via Embedded Sugar Assertions Erich Marschner 1, Bernard Deadman 2, Grant Martin 1 1 Cadence Design.
ECE Synthesis & Verification1 ECE 667 Spring 2011 Synthesis and Verification of Digital Systems Verification Introduction.
1 General-Purpose Languages, High-Level Synthesis John Sanguinetti High-Level Modeling.
Some Course Info Jean-Michel Chabloz. Main idea This is a course on writing efficient testbenches Very lab-centric course: –You are supposed to learn.
Streamline Verification Process with Formal Property Verification to Meet Highly Compressed Design Cycle Prosenjit Chatterjee, nVIDIA Corporation.
CascadedBCDCntr&Display Aim : Capture, simulate and implement a 2-digit, loadable BCD up/down counter, with chip enable I/P (CE) and chip enable O/P (CEO).
CYPRESS Software Testing By Rick Clements
© 2006 Synopsys, Inc. (1) CONFIDENTIAL Simulation and Formal Verification: What is the Synergy? Carl Pixley Disclaimer: These opinions are mine alone and.
CS 510 Lecture 16: Verification Case Studies: Evolution From SVA 2005 to SVA 2009 Adapted from DVCon 2009 paper by Eduard Cerny 1, Surrendra Dudani 1,
- 1 - ©2009 Jasper Design Automation ©2009 Jasper Design Automation JasperGold for Targeted ROI JasperGold solutions portfolio delivers competitive.
DCC Grenoble April 6, 2002 Unifying Traditional and Formal Verification Through Property Specification Designing Correct Circuits 2002 Harry Foster Verplex.
* College Intern, West Virginia Wesleyan, Buckhannon, WV.
1. Topics to be discussed Introduction Objectives Testing Life Cycle Verification Vs Validation Testing Methodology Testing Levels 2.
Churning the Most Out of IP-XACT for Superior Design Quality Ayon Dey Lead Engineer, TI Anshuman Nayak Senior Product Director, Atrenta Samantak Chakrabarti.
Macro Verification Guidelines Chapter 7.. Chap 7. Macro Verification Guidelines The goal of macro verification The macro is 100 percent correct in its.
6/14/991 Symbolic verification of systems with state machines David L. Dill Jeffrey Su Jens Skakkebaek Computer System Laboratory Stanford University.
Chris Spear, Kevork Dikramanjian, Abhisek Verma Synopsys C through UVM: Effectively using C based models with UVM based Verification IP by Adiel Khan Staff.
Title Subtitle 1. A. B. C. C. * D. Click to try again! INCORRECT.
Robust Low Power VLSI R obust L ow P ower VLSI Memory Management Units for Instruction and Data Cache for OR1200 CPU Core Arijit Banerjee ASIC/SOC Class.
Testing of IEC Based Protection Systems Dr. Alexander Apostolov.
February 22-25, 2010 Designers Work Less with Quality Formal Equivalence Checking by Orly Cohen, Moran Gordon, Michael Lifshits, Alexander Nadel, and Vadim.
SiliconAid Solutions, Inc. Confidential SAJE SiliconAid JTAG Environment Overview – Very Short.
The Future of Formal: Academic, IC, EDA, and Software Perspectives Ziyad Hanna VP of Research and Chief Architect Jasper Design Automation Ziyad Hanna.
Chonnam national university VLSI Lab 8.4 Block Integration for Hard Macros The process of integrating the subblocks into the macro.
SpW-10X Router ASIC Testing and Performance Steve Parkes, Chris McClements, Space Technology Centre, University of Dundee Gerald Kempf, Christian Gleiss,
© Copyright Alvarion Ltd. SVA Dafna Senderovich Jan 2006.
Software Testing. Software Quality Assurance Overarching term Time consuming (40% to 90% of dev effort) Includes –Verification: Building the product right,
(c) 2007 Mauro Pezzè & Michal Young Ch 17, slide 1 Test Execution.
Software Testing Mehwish Shafiq. Testing Testing is carried out to validate and verify the piece developed in order to give user a confidence to use reliable.
Annoucements Next labs 9 and 10 are paired for everyone. So don’t miss the lab. There is a review session for the quiz on Monday, November 4, at 8:00.
02/10/06EECS150 Lab Lecture #41 Debugging EECS150 Spring 2006 – Lab Lecture #4 Philip Godoy Greg Gibeling.
© 2017 SlidePlayer.com Inc. All rights reserved.