Problem: design complexity advances in a pace that far exceeds the pace in which verification technology advances. More accurately: (verification complexity)

Slides:



Advertisements
Similar presentations
FPGA (Field Programmable Gate Array)
Advertisements

Greta YorshEran YahavMartin Vechev IBM Research. { ……………… …… …………………. ……………………. ………………………… } T1() Challenge: Correct and Efficient Synchronization { ……………………………
Evolution and History of Programming Languages Software/Hardware/System.
EELE 367 – Logic Design Module 2 – Modern Digital Design Flow Agenda 1.History of Digital Design Approach 2.HDLs 3.Design Abstraction 4.Modern Design Steps.
Defense MicroElectronics Activity Defense MicroElectronics Activity VE The Impact of System Level Design on the DMS World Keith Bergevin Senior.
Presenter: PCLee – This paper outlines the MBAC tool for the generation of assertion checkers in hardware. We begin with a high-level presentation.
1 Speed, Drunkenness, and the Wall Does High Level Design/ESL Make Sense? Kris Konigsfeld Sr. Principal Engineer Oregon CPU Architecture Intel Corporation.
CS 355 – Programming Languages
Implementing Rule Checking Early in the Design Cycle to Reduce Design Iterations and Verification Time Kent Moffat DesignAnalyst Product Manager Mentor.
Extensible Processors. 2 ASIP Gain performance by:  Specialized hardware for the whole application (ASIC). −  Almost no flexibility. −High cost.  Use.
Presenter : Yeh Chi-Tsai System-on-chip validation using UML and CWL Qiang Zhu 1, Ryosuke Oish 1, Takashi Hasegawa 2, Tsuneo Nakata 1 1 Fujitsu Laboratories.
ECE Synthesis & Verification1 ECE 667 Spring 2011 Synthesis and Verification of Digital Systems Verification Introduction.
Verilog Code Generation for an ASIP Design Environment Nathan Kitchen Vinay Krishnan Mentor: Scott Weber (MESCAL) EE 244/249 Joint Project Fall 2002.
Tejas Bhatt and Dennis McCain Hardware Prototype Group, NRC/Dallas Matlab as a Development Environment for FPGA Design Tejas Bhatt June 16, 2005.
Describing Syntax and Semantics
1 Embedded Computer System Laboratory RTOS Modeling in Electronic System Level Design.
© 2005 The MathWorks, Inc. Advanced Technologies to Accelerate Mixed Signal Simulation Pieter J. Mosterman Senior Research Scientist The MathWorks, Inc.
Role of Standards in TLM driven D&V Methodology
Maria-Cristina Marinescu Martin Rinard Laboratory for Computer Science Massachusetts Institute of Technology A Synthesis Algorithm for Modular Design of.
Formal Methods 1. Software Engineering and Formal Methods  Every software engineering methodology is based on a recommended development process  proceeding.
Programming Languages – Coding schemes used to write both systems and application software A programming language is an abstraction mechanism. It enables.
TM Efficient IP Design flow for Low-Power High-Level Synthesis Quick & Accurate Power Analysis and Optimization Flow JAN Asher Berkovitz Yaniv.
1 VERILOG Fundamentals Workshop סמסטר א ' תשע " ה מרצה : משה דורון הפקולטה להנדסה Workshop Objectives: Gain basic understanding of the essential concepts.
Chap. 1 Overview of Digital Design with Verilog. 2 Overview of Digital Design with Verilog HDL Evolution of computer aided digital circuit design Emergence.
ON LINE TEST GENERATION AND ANALYSIS R. Šeinauskas Kaunas University of Technology LITHUANIA.
CAD Techniques for IP-Based and System-On-Chip Designs Allen C.-H. Wu Department of Computer Science Tsing Hua University Hsinchu, Taiwan, R.O.C {
ASIC/FPGA design flow. FPGA Design Flow Detailed (RTL) Design Detailed (RTL) Design Ideas (Specifications) Design Ideas (Specifications) Device Programming.
Presenter : Ching-Hua Huang 2013/12/30 Finding Reset Nondeterminism in RTL Designs – Scalable X-Analysis Methodology and Case Study Cited count : 4 Hong-Zu.
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.
Design Verification An Overview. Powerful HDL Verification Solutions for the Industry’s Highest Density Devices  What is driving the FPGA Verification.
Xilinx Programmable Logic Design Solutions Version 2.1i Designing the Industry’s First 2 Million Gate FPGA Drop-In 64 Bit / 66 MHz PCI Design.
FPGA-Based System Design: Chapter 6 Copyright  2004 Prentice Hall PTR Topics n Design methodologies.
COE 405 Design and Modeling of Digital Systems
Chonnam national university VLSI Lab 8.4 Block Integration for Hard Macros The process of integrating the subblocks into the macro.
Catapult™ C Synthesis Crossing the Gap between Algorithm and Hardware Architecture Mac Moore North American Product Specialist Advanced Synthesis Solutions.
ESL and High-level Design: Who Cares? Anmol Mathur CTO and co-founder, Calypto Design Systems.
1 Combinational Logic Design Digital Computer Logic Kashif Bashir
September 3, 2009L02-1http://csg.csail.mit.edu/korea Introduction to Bluespec: A new methodology for designing Hardware Arvind Computer Science & Artificial.
Introduction to Bluespec: A new methodology for designing Hardware Arvind Computer Science & Artificial Intelligence Lab. Massachusetts Institute of Technology.
© 2012 xtUML.org Bill Chown – Mentor Graphics Model Driven Engineering.
Functional Verification Figure 1.1 p 6 Detection of errors in the design Before fab for design errors, after fab for physical errors.
Quality Driven SystemC Design By Nasir Mahmood. Hybrid Approach The idea here is to combine the strengths of simulation – namely the ability to handle.
© 2006 Synopsys, Inc. (1) CONFIDENTIAL Simulation and Formal Verification: What is the Synergy? Carl Pixley Disclaimer: These opinions are mine alone and.
March, 2007Intro-1http://csg.csail.mit.edu/arvind Design methods to facilitate rapid growth of SoCs Arvind Computer Science & Artificial Intelligence Lab.
Spring 2007 W. Rhett Davis with minor editing by J. Dean Brock UNCA ECE Slide 1 ECE 406 – Design of Complex Digital Systems Lecture 1: Introduction.
3.2 Semantics. 2 Semantics Attribute Grammars The Meanings of Programs: Semantics Sebesta Chapter 3.
An Overview of Hardware Design Methodology Ian Mitchelle De Vera.
Modern VLSI Design 4e: Chapter 8 Copyright  2008 Wayne Wolf Topics Modeling with hardware description languages (HDLs).
Modern VLSI Design 3e: Chapter 8 Copyright  1998, 2002 Prentice Hall PTR Topics n Modeling with hardware description languages (HDLs).
IMPLEMENTATION OF MIPS 64 WITH VERILOG HARDWARE DESIGN LANGUAGE BY PRAMOD MENON CET520 S’03.
Digital System Design Verilog ® HDL Introduction to Synthesis: Concepts and Flow Maziar Goudarzi.
1 Copyright  2001 Pao-Ann Hsiung SW HW Module Outline l Introduction l Unified HW/SW Representations l HW/SW Partitioning Techniques l Integrated HW/SW.
Introduction to ASIC flow and Verilog HDL
FPGA-Based System Design Copyright  2004 Prentice Hall PTR Topics n Modeling with hardware description languages (HDLs).
Introduction to Bluespec: A new methodology for designing Hardware Arvind Computer Science & Artificial Intelligence Lab. Massachusetts Institute of Technology.
Introduction to Bluespec: A new methodology for designing Hardware Arvind Computer Science & Artificial Intelligence Lab. Massachusetts Institute of Technology.
EMT 351/4 DIGITAL IC DESIGN Week # 1 EDA & HDL.
System-on-Chip Design
ASIC Design Methodology
Topics Modeling with hardware description languages (HDLs).
Topics Modeling with hardware description languages (HDLs).
Matlab as a Development Environment for FPGA Design
21 November 2018 Implementing Rule Checking Early in the Design Cycle to Reduce Design Iterations and Verification Time Kent Moffat DesignAnalyst Product.
332:437 Lecture 7 Verilog Hardware Description Language Basics
Lesson 4 Synchronous Design Architectures: Data Path and High-level Synthesis (part two) Sept EE37E Adv. Digital Electronics.
ECE-C662 Introduction to Behavioral Synthesis Knapp Text Ch
332:437 Lecture 7 Verilog Hardware Description Language Basics
HIGH LEVEL SYNTHESIS.
332:437 Lecture 7 Verilog Hardware Description Language Basics
Digital Designs – What does it take
Presentation transcript:

Problem: design complexity advances in a pace that far exceeds the pace in which verification technology advances. More accurately: (verification complexity) > sqr(design complexity)

Disadvantages of current verification techniques RTL-level verification is slow, while many tests are irrelevant to the system-level verification needs. RTL-based verification can start only after the RTL model is available. RTL-level has it’s own complexity, reflected by high debug effort.

Proposed solution: !ESL verification (ESL = Electronic system level) Use verification models directly on the abstract model – Early verification! Use the abstract model to better describe the goal – more accurate specifications! If possible, use synthesizable abstract models – make the connection between TLM and RTL

Advantages: High quality specifications. TLM bugs are debugged earlier (no need for RTL to be ready) and in their natural context. Earlier development of test benches and debug collaterals. Wider verification capabilities – it’s possible to apply testing scenarios that are impractical for RTL simulation. More levels of abstraction. Bug PREVENTION in the TLM later on reduces the need for bug DETECTION in the RTL.

If synthesizable models are used : Use RTL-based verification methods in tandem with the previously described methods. Use a mix of RTL modules and synthesized TLM modules. Re-use checker for the RTL simulation.

:Bottom line More levels of abstraction allows better, faster and earlier verification.

Down to the details: Choosing a modeling technique It should be simple enough to allow one-to-one correspondence. It should be formal enough to enable automated analysis and test generation. It should be powerful enough to capture a wide variety of TLM specifications. CPN!! (Colored Petri Nets)

CPN example NOP n = n + i p1 p3 p4 p2 If i<100 then i + 1 If i<100 then (n,i) (n,i) If i>=100 then n If i<100 then n n t1 t2

Translates to this SystemC code: n = 0; for (int i = 0; i < 100; i++){ n = n + i; }

Example: a CPN for a router

The development arsenal: ( Ordered from the most abstract (up) to the least abstract ) SystemC UnSynthesizable portion of System Verilog Synthesizable portion of System Verilog Verilog (RTL) Standard C BlueSpec

RTL disadvantages: Large conceptual gap. Time consuming to verify. Difficult and time consuming to create. Accommodating specification changes is difficult. Evaluating alternative implementations is difficult. Implementation specific (FPGA vs. ASIC)

The proposed solution: Design, develop and synthesize from a higher level of abstraction. High-level synthesis is now taking shape. Next are two exemplary methods for implementing HLS. Each example represent one of two approaches to the challenge.

Requirements from future HLS designs ~50 Million gates at 2010 Correctness of construction. Predictable performance. Predictable functionality. While keeping time-to-market constraints, power, Area, verification, etc. Getting harder and harder!! Quality close to hand-written.

The BlueSpec methodology In a nutshell: use “Guarded atomic actions” instead of dead- on C-style functional description, and let the compiler handle the creation of any needed control circuitry. BlueSpec represent the approach in which the programmer designs the model in an extremely high-level language, and the implementation is created automatically.

How it works: The developer specifies all the needed modules/instances (registers, FIFO’s, Queues, etc.) The complier fills in automatically all the necessary control circuitry. Any conflict between “actions” is resolved by that circuitry, by means of Muxing, etc. System behavior is defined by using “Guarded atomic actions” or “rules”. The developer need not attend to things like mutual access to resources, as long as he keeps the actions “atomic”. Notice an important characteristic: every possible legitimate behavior of the system can be characterized as a series of atomic actions on the state.

Actions to hardware: First approach – correct but inefficient Rule R : when π (s) sⁿ :=δ(s) while (some π is true) do 1) select any R, s.t. π(s) is true 2) sⁿ := δ(s)

Actions to hardware: Second approach – much better ( more parallelism ) Compute predicates for each rule Compute next state for each rule STATESTATE Scheduler Selector (Mux’s and priority encoders) Read Update

Rules: example (router) In0: when (True) { req0 = port0.pop; sharedPort.enq(req0); fifo.enq(Tag0); { Out0: when (fifo.first == Tag0) { resp0 = sharedPort.pop; fifo.deq; port1.enq(resp0); {

Catapult C-based synthesis The conceptual gap

An ideal next-gen design flow

Mentor Graphic’s solution Differentiate the “intelligence” part from the design. The developer creates only the implementation-independent portion of the design. Catapult’s C engine adds the rest. Advantages Swift swaps from one implementation to another. Changes are maid to the Catapult engine in a very short time. C modeling advantages (ease of development, flexibility, speed of verification, etc. Quick learning of the system by developers (~ 3 weeks, instead of months)

Mentor Graphic’s Catapult C-based synthesizer

Catapult C represents the approach in which the developer uses a more standard language (C in that case), and the implementation is created in a user-aided process.

Summary Key point: use more, higher, levels of abstraction. Take advantage of the new richness of abstraction levels. Gain more speed, flexibility, quality and efficiency in both development AND verification of digital designs.