Using Formal Verification to Exhaustively Verify SoC Assemblies by Mark Handover Kenny Ranerup Applications Engineer ASIC Consultant Mentor Graphics Corp.

Slides:



Advertisements
Similar presentations
© Copyright 2013 Xilinx. How to Kill 4 Birds with 1 Stone: Using Formal Verification to Validate Legal Configurations, Find Design Bugs, and Improve Testbench.
Advertisements

What are FPGA Power Management HDL Coding Techniques Xilinx Training.
Presenter : Shao-Chieh Hou VLSI Design, Automation and Test, VLSI-DAT 2007.
1 System Level Verification of OCP-IP based SoCs using OCP-IP eVC Himanshu Rawal eInfochips, Inc.,4655 Old Ironsides Drive, Suite 385,Santa Clara, CA
The need for AMS assertions Verify the analog/digital interfaces at block and SoC levels –Check properties involving voltages and currents –Check complex.
Simulation executable (simv)
Combinational Logic.
Introducing Formal Methods, Module 1, Version 1.1, Oct., Formal Specification and Analytical Verification L 5.
Systematic method for capturing “design intent” of Clock Domain Crossing (CDC) logic in constraints Ramesh Rajagopalan Cisco Systems.
CSE 201 Computer Logic Design * * * * * * * Verilog Modeling
Give qualifications of instructors: DAP
Xiushan Feng* ASIC Verification Nvidia Corporation Automatic Verification of Dependency 1 TM Jayanta Bhadra
Timing Override Verification (TOV) Erik Seligman CS 510, Lecture 18, March 2009.
Key-word Driven Automation Framework Shiva Kumar Soumya Dalvi May 25, 2007.
MS-SoC Best Practices – Advanced Modeling & Verification Techniques for first-pass success By Neyaz Khan Greg Glennon Dan Romaine.
Presenter: PCLee – This paper outlines the MBAC tool for the generation of assertion checkers in hardware. We begin with a high-level presentation.
CSE241 Formal Verification.1Cichy, UCSD ©2003 CSE241A VLSI Digital Circuits Winter 2003 Recitation 6: Formal Verification.
CS 151 Digital Systems Design Lecture 37 Register Transfer Level
Design For Verification Synopsys Inc, April 2003.
Automatic Verification of Timing Constraints Asli Samir – JTag course 2006.
1 Assertion Based Verification 2 The Design and Verification Gap  The number of transistors on a chip increases approximately 58% per year, according.
ECE Synthesis & Verification1 ECE 667 Spring 2011 Synthesis and Verification of Digital Systems Verification Introduction.
Silicon Programming--Intro. to HDLs1 Hardware description languages: introduction intellectual property (IP) introduction to VHDL and Verilog entities.
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.
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.
Presented by Brian Griffin On behalf of Manu Goel Mohit Goel Nov 12 th, 2014 Building a dynamic GUI, configurable at runtime by backend tool.
VERIFICATION OF I2C INTERFACE USING SPECMAN ELITE By H. Mugil Vannan Experts Mr. Rahul Hakhoo, Section Manager, CMG-MCD Mr. Umesh Srivastva, Project Leader.
VHDL Structured Logic Design School of Electrical Engineering University of Belgrade Department of Computer Engineering Ivan Dugic Veljko.
1 VERILOG Fundamentals Workshop סמסטר א ' תשע " ה מרצה : משה דורון הפקולטה להנדסה Workshop Objectives: Gain basic understanding of the essential concepts.
Codelink Using Embedded Code for Verification Stimulus.
Reporter: PCLee. Assertions in silicon help post-silicon debug by providing observability of internal properties within a system which are.
1 WORLD CLASS – through people, technology and dedication High level modem development for Radio Link INF3430/4431 H2013.
1 Integration Verification: Re-Create or Re-Use? Nick Gatherer Trident Digital Systems.
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.
Copyright © 2002 Qualis Design Corporation Industry and Textbook Overview Qualis Design Corporation PO Box 4444 Beaverton, Oregon USA Phone:
SoC Verification HW #2 TA: Wei-Ting Tu Assignment: 04/12/06
HDL Bencher FPGA Design Workshop. For Academic Use Only Presentation Name 2 Objectives After completing this module, you will be able to:  Describe the.
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.
Chonnam national university VLSI Lab 8.4 Block Integration for Hard Macros The process of integrating the subblocks into the macro.
1 An Update on Verilog Ξ – Computer Architecture Lab 28/06/2005 Kypros Constantinides.
1 Hybrid-Formal Coverage Convergence Dan Benua Synopsys Verification Group January 18, 2010.
Boost Verification Results by Bridging the Hw/Sw Testbench Gap by Matthew Ballance Verification Technologist Mentor Graphics.
Chuck Benz ASIC & FPGA Design csrGen: Automated CSRs for ASIC/FPGA Processor Interfaces Chuck Benz Chuck Benz ASIC & FPGA Design
1 CSE-308 Digital System Design (DSD) N-W.F.P. University of Engineering & Technology, Peshawar.
Module 1.2 Introduction to Verilog
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.
displayCtrlr Specification
Introduction to VLSI Design – Lec01. Chapter 1 Introduction to VLSI Design Lecture # 11 High Desecration Language- Based Design.
Automated Generation of the Register Set of a SOC and its Verification Environment K. Poulos, K. Adaos, G.P. Alexiou Dept. of Computer Engineering and.
Memory Subsystem verification – Can it be taken for granted ?
An Overview of Hardware Design Methodology Ian Mitchelle De Vera.
1 Extending FPGA Verification Through The PLI Charles Howard Senior Research Engineer Southwest Research Institute San Antonio, Texas (210)
- 1 - ©2009 Jasper Design Automation ©2009 Jasper Design Automation JasperGold for Targeted ROI JasperGold solutions portfolio delivers competitive.
Lopamudra Kundu Reg. No. : of Roll No.:- 91/RPE/ Koushik Basak
1 Hardware/Software Co-Design Final Project Emulation on Distributed Simulation Co-Verification System 陳少傑 教授 R 黃鼎鈞 R 尤建智 R 林語亭.
IMPLEMENTATION OF MIPS 64 WITH VERILOG HARDWARE DESIGN LANGUAGE BY PRAMOD MENON CET520 S’03.
SVA Encapsulation in UVM enabling phase and configuration aware assertions by Mark Litterick Verification Consultant Verilab GmbH, Munich, Germany.
Architecture View Models A model is a complete, simplified description of a system from a particular perspective or viewpoint. There is no single view.
ELEE 4303 Digital II Introduction to Verilog. ELEE 4303 Digital II Learning Objectives Get familiar with background of HDLs Basic concepts of Verilog.
Introduction to ASIC flow and Verilog HDL
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.
Chapter 11 System-Level Verification Issues. The Importance of Verification Verifying at the system level is the last opportunity to find errors before.
Introduction to Hardware Verification ECE 598 SV Prof. Shobha Vasudevan.
On the Relation Between Simulation-based and SAT-based Diagnosis CMPE 58Q Giray Kömürcü Boğaziçi University.
Gopakumar.G Hardware Design Group
ASIC Design Methodology
ECE-C662 Introduction to Behavioral Synthesis Knapp Text Ch
Srinivas Aluri Jaimin Mehta
Lecture 9: Testbench and Division
Presentation transcript:

Using Formal Verification to Exhaustively Verify SoC Assemblies by Mark Handover Kenny Ranerup Applications Engineer ASIC Consultant Mentor Graphics Corp. ST-Ericsson

Sponsored By: 2 of 18 Agenda Introduction SoC Assembly Verification ST-Ericsson’s SoC Assembly Verification Approach Types of Checking Connectivity Specifications Keys to success Results & Conclusions

Sponsored By: 3 of 18 Introduction We will discuss a project at ST-Ericsson for which Formal verification was successfully deployed in the task of SoC Assembly verification We will describe the methods used and the types of checking employed We will present results and conclusions including the elements that led to successful deployment

Sponsored By: 4 of 18 SoC Assembly Verification SoC assembly verification is the process of checking that blocks of logic are correctly connected Traditionally verified using Dynamic Approach –Constructing a set of simulation stimuli to toggle source nodes and observe the behavior at the destination –Challenges Likely requires directed approach not Constrained Random Requires huge number of tests and potentially many test environments Creating and managing test suites Observability & debug

Sponsored By: 5 of 18 SoC Assembly Verification Static Approach –Using Formal tools to exhaustively check all connectivity in the SoC –Challenges Requires the creation of the property set Running Formal on SoC –Benefits Simplified debug No requirement to create tests Time to Results

Sponsored By: 6 of 18 ST-Ericsson Project ST-Ericsson modem subsystem –~ 50 IP blocks, VHDL and Verilog implementation –Several processors, bus interconnect, 400 memory instances –Multi-Power domains, clock gating General Verification Approach –Constrained Random and software driven verification Connectivity checking Verification –Traditionally has used directed tests Bugs seen here have a large impact on other verification tasks Time consuming and considerable effort involved

Sponsored By: 7 of 18 ST-Ericsson Project Looked to deploy formal for connectivity checking to improve throughput and results –IP connectivity, Reset, Clocking and DFT checks Connectivity Specifications –Many types Integration spreadsheet Port lists Memory lists Architecture specification –Created and used for both SoC Construction/generating RTL and for verification –Scripted for auto-generation of properties

Sponsored By: 8 of 18 Types of Checks Many types of connectivity checks can be performed –IP Connectivity Unconditional Point to Point Point to Point With Delay Point to Point With Condition –Resets Reset source correctly controls the correct block reset Correct reset values appear on outputs of blocks/subsystems –DFT Memory BIST control & BIST status checking, Clocking, Resets –Clocks Clock is successfully applied to destination when enabled

Sponsored By: 9 of 18 Specifications and property generation Automation of the property set is a key requirement –Specification has to facilitate automation –Scripts written to create properties from specification Specification Example 1 {check} CDR connection N0-N4, Main PLL {src} $syscon_main_pll_cdr_entity {srcports} tst_pll_pf_n0, tst_pll_pf_n1, tst_pll_pf_n2, tst_pll_pf_n3, tst_pll_pf_n4, tst_pll_pf_enable {dst} $syscon_main_pll_entity {dstports} N0,N1,N2,N3,N4,ENABLE {tag} main_pll_n_ctrl

Sponsored By: 10 of 18 Specifications and property generation Specification Example 2 –Allows for generating RTL and Verification of the connectivity –Compact formal allows for greater readability cpu.paddrdbg[11..2];db.paddr[11..2] cpu.paddrdbg31 ;db.paddr[31] ac.prdata[31..0] ;pb0.ac_prd[31..0] ac.psel_vec_a ;pb0.ac_evec_psel cpu.rstreq ;_to_open cpu.nopwrdwn ;_to_open cpu.addr[31..12] ;_to_constant ;(OTHERS => '0') cpu.addrv ;_to_constant ;'0'

Sponsored By: 11 of 18 Connectivity Property Examples Property examples –Port connectivity assert_in1__blockb_port1: assert property ( dut.in1 == dut.a.b.port1 ); assign select = ((dut.c1 == 1) && (dut.c2 == 1)); assert_select_in2__b_port2: assert property select |-> dut.in2 == dut.a.b.port2 ); {check} DUT, Block B {src} $DUT {srcports} in2 {dst} $BlockB {dstports} Port2 {tag} select

Sponsored By: 12 of 18 Connectivity Property Examples Reset Connectivity –Multiple reset sources to a block assert_reset1_blocka_rst: assert property ( dut.reset1 == 0 |-> !dut.a.b.c.blocka.rstn ); assert_reset2_blocka_rst: assert property ( dut.reset2 == 0 |-> !dut.a.b.c.blocka.rstn ); DUT Block A Block B rstn reset2 reset1

Sponsored By: 13 of 18 Connectivity Property Examples Reset Value check module reset_checker ( input ref_clk ); default clocking ref_clk); endclocking assume property (dut.core_rst_n == 0); assume property (dut.dbg_rst_n == 0); assert_rst_mem_m0_awsize: assert property ( dut.mem_m0_awsize == 0); assert_rst_mem_m0_awvalid: assert property ( dut.mem_m0_awvalid == 0); endmodule bind dut reset_checker i_reset_checker (.*);

Sponsored By: 14 of 18 Connectivity Property Examples Verifying a global logic function –MBIST status signals are combined from all controllers to a global output port using AND or OR logic. This is very difficult to verify in simulation. assert_global_bend: assert property ( dut.global_bend == ( dut.a.b.c.bend && dut.a.x.i1.bend && dut.b.bend ) ); MBIST global_bend

Sponsored By: 15 of 18 Connectivity Property Examples Design Regularity –Can take advantage of regularity to greatly simplify property generation –Use SystemVerilog bind statement to bind checker module to all instances thereby avoid listing all instance paths. –bind clk_gate checker i_checker(.*);

Sponsored By: 16 of 18 Results and Conclusions ST- Ericsson have successfully developed an approach and deployed connectivity checking using formal verification –Exhaustive verification of SoC assemblies New design project –100+ bugs were found Simple connectivity to interface bugs –Property set for project included automatically generated properties 300+ semi automated properties 100+ manually created constraints Subsequent project, same structural design but with some new functionality, 40 bugs found

Sponsored By: 17 of 18 Results and Conclusions Keys to success –Automation Its essential that the Connectivity specifications lend themselves to automation of properties –SoC’s will generate thousands of checks to be verified –Design regularity and consistency –Considerations for Formal Application doesn’t require high level of Formal competence –Properties are typically simple SoC’s will contain blocks which are non-friendly to formal tools ST-Ericsson continue to use and develop formal based connectivity checking

Sponsored By: 18 of 18 THANK YOU