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.

Slides:



Advertisements
Similar presentations
IMA 2.5: Software Architecture and Development Environment Roberto Olivares M.S. Electrical Engineering Vanderbilt University, Spring 2003.
Advertisements

FUNCTION FITTING Student’s name: Ruba Eyal Salman Supervisor:
Sugar 2.0 Formal Specification Language D ana F isman 1,2 Cindy Eisner 1 1 IBM Haifa Research Laboratory 1 IBM Haifa Research Laboratory 2 Weizmann Institute.
Slide 1 Insert your own content. Slide 2 Insert your own content.
Introduction to Product Family Engineering. 11 Oct 2002 Ver 2.0 ©Copyright 2002 Vortex System Concepts 2 Product Family Engineering Overview Project Engineering.
1 Formal Modeling & Verification of Messaging Framework of Simple Object Access Protocol (SOAP) Manzur Ashraf Faculty,BRAC University.
Requirements. UC&R: Phase Compliance model –RIF must define a compliance model that will identify required/optional features Default.
0 - 0.
Relational data integrity
CS4026 Formal Models of Computation Running Haskell Programs – power.
Implementation and Verification of a Cache Coherence protocol using Spin Steven Farago.
Modeling issues Book: chapters 4.12, 5.4, 8.4, 10.1.
Determining Test Quality through Dynamic Runtime Monitoring of SystemVerilog Assertions Kelly D. Larson
Construction process lasts until coding and testing is completed consists of design and implementation reasons for this phase –analysis model is not sufficiently.
1 Dynamic Interconnection Networks Buses CEG 4131 Computer Architecture III Miodrag Bolic.
DATE 2003, Munich, Germany Formal Verification of a System-on-Chip Bus Protocol Abhik Roychoudhury Tulika Mitra S.R. Karri National University of Singapore.
© Copyright 2013 Xilinx. How to Kill 4 Birds with 1 Stone: Using Formal Verification to Validate Legal Configurations, Find Design Bugs, and Improve Testbench.
PRESENTER: PCLee System-on-chip (SoC) designs use bus protocols for high performance data transfer among the Intellectual Property (IP) cores.
Presenter : Cheng-Ta Wu Kenichiro Anjo, Member, IEEE, Atsushi Okamura, and Masato Motomura IEEE JOURNAL OF SOLID-STATE CIRCUITS, VOL. 39,NO. 5, MAY 2004.
Research & development Towards a Versatile Contract Model to Organize Behavioral Specifications Philippe Collet 1, Alain Ozanne 2 and Nicolas Rivierre.
April 30, A New Tool for Designer-Level Verification: From Concept to Reality April 30, 2014 Ziv Nevo IBM Haifa Research Lab.
Component-Based Software Engineering Main issues: assemble systems out of (reusable) components compatibility of components.
Copyright  2003 Dan Gajski and Lukai Cai 1 Transaction Level Modeling: An Overview Daniel Gajski Lukai Cai Center for Embedded Computer Systems University.
Chapter 10 Software Testing
© 2003 Xilinx, Inc. All Rights Reserved Course Wrap Up DSP Design Flow.
CSCE 668 DISTRIBUTED ALGORITHMS AND SYSTEMS Fall 2011 Prof. Jennifer Welch CSCE 668 Set 14: Simulations 1.
Putting It All Together: Using Formal Verification In Real Life Erik Seligman CS 510, Lecture 19, March 2009.
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,
FPV For Design Exploration Erik Seligman CS 510, Lecture 11, February 2009.
1. We use models in an attempt to gain understanding and insights about some aspect of the real world. Attempts to model reality assume a priori the existence.
Verification SV3.1a Assumptions Surrendra Dudani Nov. 14, 2003 Synopsys, Inc.
Introduction to Avalon Interface Hardik Shah Robotics and Embedded Systems Department of Informatics Technische Universität München www6.in.tum.de 06 May.
Xiushan Feng* ASIC Verification Nvidia Corporation Automatic Verification of Dependency 1 TM Jayanta Bhadra
Presenter: PCLee VLSI Design, Automatic and Test, (VLSI-TSA-DAT).
1 EECS 373 Design of Microprocessor-Based Systems Prabal Dutta University of Michigan Lecture 5: Memory and Peripheral Busses September 21, 2010.
 Both System.out and System.err are streams—a sequence of bytes.  System.out (the standard output stream) displays output  System.err (the standard.
1 EECS 373 Design of Microprocessor-Based Systems Prabal Dutta University of Michigan Lecture 6: AHB-Lite, Interrupts (1) September 18, 2014 Slides developed.
Nir Piterman Department of Computer Science TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AAAAA Bypassing Complexity.
 2012 Bert Molenkamp, Jan Kuper, University of Twente, PSL Introduction to Assertion Based Verification with PSL (VHDL flavor) Bert Molenkamp Jan Kuper.
Presenter: PCLee – This paper outlines the MBAC tool for the generation of assertion checkers in hardware. We begin with a high-level presentation.
Design For Verification Synopsys Inc, April 2003.
1 Assertion Based Verification 2 The Design and Verification Gap  The number of transistors on a chip increases approximately 58% per year, according.
Assertions in OpenVera Assertions check for the occurrence of sequences during simulation Sequence is an ordered (maybe timed) series of boolean events.
Performance Analysis of Different Arbitration Algorithms of the AMBA AHB Bus Massimo Conti, Marco Caldari, Giovanni B. Vece, Simone Orcioni, Claudio Turchetti.
An Automatic AMBA Wrapper Generation Tool for Embedded Cores Laboratory for Reliable Computing (LaRC) Electrical Engineering Department National Tsing.
Principle of Functional Verification Chapter 1~3 Presenter : Fu-Ching Yang.
VerificationTechniques for Macro Blocks (IP) Overview Inspection as Verification Adversarial Testing Testbench Design Timing Verification.
Presenter : Cheng-Ta Wu Vijay D’silva, S. Ramesh Indian Institute of Technology Bombay Arcot Sowmya University of New South Wales, Sydney.
Developing Workflows with SharePoint Designer David Coe Application Development Consultant Microsoft Corporation.
1 EECS 373 Design of Microprocessor-Based Systems Prabal Dutta University of Michigan Lecture 5: Memory and Peripheral Busses September 20, 2011.
NS Training Hardware.
On Chip Bus National Taiwan University
The Macro Design Process The Issues 1. Overview of IP Design 2. Key Features 3. Planning and Specification 4. Macro Design and Verification 5. Soft Macro.
Assertions Jean-Michel Chabloz. Assertions basic Idea We assert that a certain “thing” should be true. –If it is true, fine –If it is false, then we get.
Field Programmable Port Extender (FPX) 1 Modular Design Techniques for the FPX.
SOC Consortium Course Material On Chip Bus National Taiwan University Adopted from National Taiwan University SOC Course Material.
1 EECS 373 Design of Microprocessor-Based Systems Mark Brehob University of Michigan Lecture 12: Memory and Peripheral Busses October 22nd, 2013 Slides.
Verification Technologies IBM Haifa Labs Formal Specification Using Sugar 2.0 Cindy Eisner September 2002.
March 20, Sugar 2.0 – Proposal Presented to Accellera FVTC Cindy Eisner Joint Work with Dana Fisman IBM Research Laboratory in Haifa.
Spring 2007W. Rhett DavisNC State UniversityECE 747Slide 1 ECE 747 Digital Signal Processing Architecture SoC Lecture – Working with Buses & Interconnects.
AMBA® 3 AHB-Lite Protocol
Internal Logic Analyzer Middle presentation-part A By: Moran Katz and Zvika Pery Mentor: Moshe Porian Dual-semester project Spring 2012.
Introduction to System Verilog Assertions
ME2100 EMBEDDED SYSTEM DESIGN (ARM9™) [Slide 8] ARM AMBA Bus BY DREAMCATCHER
Formally capturing the structure of bus specifications
Formal Performance Evaluation of AMBA-based System-on-Chip Designs
Burst read Valid high until ready high
SOC Design Lecture 4 Bus and AMBA Introduction.
Formal Verification of Partial Good Self-Test Fencing Structures
EECS 373 Design of Microprocessor-Based Systems Prabal Dutta
Presentation transcript:

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 Systems 2 Structured Design Verification

2 IP-Based System-on-Chip Design 2002 Agenda Motivation Sugar 2.0 Overview Simple Use of Assertions Clock and Reset More Complex Use of Assertions Protocol Requirements Transaction Modeling Arbitration Requirements Summary

3 IP-Based System-on-Chip Design 2002 Motivation Rapid design of complex chips requires reuse acquisition and integration of reusable IP blocks Effective reuse requires good documentation to capture designer's understanding of the block, interface requirements assumptions about internal operation Embedded Assertions can capture this knowledge to catch errors in the configuration or use of the IP Sugar 2.0 provides this capability Accellera standard property specification language developed by Accellera FVTC based on IBM donation supports both simulation and formal verification

4 IP-Based System-on-Chip Design 2002 Sugar 2.0 Overview Booleans control conditions: (OPC=`JSR) && (Addr != 0) clocking clka) Sequences multi-cycle behavior: {a; b[*2]; c[+]}[*] Properties always, never, next, eventually until, before, within, abort {a;b} |=> {c;d;e} Clocking always Declarations sequence, property,... parameterizable Directives assert, assume, restrict, cover,... Embedding // pragma sugar // always ph1 -> next ph2;

5 IP-Based System-on-Chip Design 2002 Clock and Reset Requirements Exclude disallowed cases: assert never (c1 && c2); Describe required clocking behavior: assert always {c1} |-> {(c1 && !c2)[+]; (!c1 && !c2)[*]; (!c1 && c2)[+]; (!c1 && !c2)[*]; (c1)}; Describe legal reset behavior: assert always {reset; !reset} |-> [*3];

6 IP-Based System-on-Chip Design 2002 Protocol Requirements Define Default Clock default clock = rose(HCLK); Define Protocol Requirements assert always (HREADY && HTRANS==`BUSY) -> next (HREADY && HRESP==`OKAY); assert always { HREADY } |=> { ( !HREADY && (HRESP==`OKAY) )[*]; { { HREADY && (HRESP==`OKAY)} | { {!HREADY;HREADY} && {(HRESP==`ERROR)[*2]} } | { {!HREADY;HREADY} && {(HRESP==`SPLIT)[*2]} } | { {!HREADY;HREADY} && {(HRESP==`RETRY)[*2]} } } };

7 IP-Based System-on-Chip Design HCLK BUSY HTRANS OKAY HRESP HREADY Address phase Data phase AHB - Correct Busy Response assert always (HREADY && HTRANS==`BUSY) -> next (HREADY && HRESP==`OKAY); Pass

8 IP-Based System-on-Chip Design 2002 AHB - Incorrect Error Response HCLK OKAY HRESP HREADY previous transactionTransaction ERROR assert always { HREADY } |=> { ( !HREADY && (HRESP==`OKAY) )[*]; { { HREADY && (HRESP==`OKAY)} | { !HREADY && (HRESP==`ERROR); HREADY && (HRESP==`ERROR) } | { !HREADY && (HRESP==`SPLIT); HREADY && (HRESP==`SPLIT) } | { !HREADY && (HRESP==`RETRY); HREADY && (HRESP==`RETRY) } } }; Fail

9 IP-Based System-on-Chip Design 2002 Transaction Modeling Define alternative behaviors as sequences: sequence NotReady = {!HREADY && (HRESP==`OKAY)}; sequence Ready = {HREADY && `OKAY}; sequence Error = { !HREADY && (HRESP==`ERROR); HREADY && (HRESP==`ERROR) } sequence Split = { !HREADY && (HRESP==`SPLIT); HREADY && (HRESP==`SPLIT) } sequence Retry = { !HREADY && (HRESP==`RETRY); HREADY && (HRESP==`RETRY) }

10 IP-Based System-on-Chip Design 2002 Transaction Modeling (2) Define master control conditions as Boolean expressions: `define FirstTransfer ( HTRANS == `NONSEQ ) `define NextTransfer ( HTRANS == `SEQ ) `define MasterBusy ( HTRANS == `BUSY ) `define ReadIncr ( !HWRITE && ( HBURST == `INCR ) )

11 IP-Based System-on-Chip Design 2002 Transaction Modeling (3) Build compound sequences with && and |, [*] sequence SlaveResponse = { NotReady[*]; { Ready | Error | Split | Retry } }; sequence ReadFirst = { {SlaveResponse} && {(`FirstTransfer && `ReadIncr)[*]} }; sequence ReadNext ={ {SlaveResponse} && { {(`NextTransfer && `ReadIncr)[*]} | {`MasterBusy[*]} } }; sequence BurstModeRead = { {ReadFirst} ; {ReadNext}[*] };

12 IP-Based System-on-Chip Design 2002 Transaction Modeling (4) Model all transactions as compound sequences Require a series of valid transactions assert {HREADY} |=> { BurstModeRead | BurstModeWrite | SingleRead | SingleWrite | Inactive | Reset };

13 IP-Based System-on-Chip Design 2002 Arbitration Requirements Require Arbiter to properly restrict master access assert forall m in {0:15} : always (HREADY && (HMASTER == m) && (HRESP==`SPLIT)) -> next (HMASTER != m) until! (HSPLIT[m]); Require Arbiter to eventually complete splits assert forall m in {0:15} : always (HSPLIT[m]) -> eventually ((HMASTER == m) && HREADY && HSEL);

14 IP-Based System-on-Chip Design 2002 Summary Embedded Sugar assertions enable reuse hardening of design IP to exclude illegal operating conditions to define (and require) legal behavior Assertions capture the original designer's knowledge interface requirements, design assumptions, etc. executable documentation of design/environment functionality Embedded assertions record knowledge directly within the IP can be developed in parallel with the design, by the designer knowledge is guaranteed to be available to for later verification Embedded assertions facilitate design and verification can be checked during simulation can be used in formal verification Result: more reliable IP reuse in the design of large, complex chips and less time spent by designers helping users debug problems later