1 Hardware/Software Co-Design Final Project Emulation on Distributed Simulation Co-Verification System 陳少傑 教授 R91921081 黃鼎鈞 R91943004 尤建智 R91921089 林語亭.

Slides:



Advertisements
Similar presentations
VHDL Design of Multifunctional RISC Processor on FPGA
Advertisements

Nios Multi Processor Ethernet Embedded Platform Final Presentation
© 2003 Xilinx, Inc. All Rights Reserved Course Wrap Up DSP Design Flow.
Evolution and History of Programming Languages Software/Hardware/System.
University Of Vaasa Telecommunications Engineering Automation Seminar Signal Generator By Tibebu Sime 13 th December 2011.
Presenter: PCLee – This paper outlines the MBAC tool for the generation of assertion checkers in hardware. We begin with a high-level presentation.
LOGO HW/SW Co-Verification -- Mentor Graphics® Seamless CVE By: Getao Liang March, 2006.
CSE241 Formal Verification.1Cichy, UCSD ©2003 CSE241A VLSI Digital Circuits Winter 2003 Recitation 6: Formal Verification.
Graduate Computer Architecture I Lecture 15: Intro to Reconfigurable Devices.
Extensible Processors. 2 ASIP Gain performance by:  Specialized hardware for the whole application (ASIC). −  Almost no flexibility. −High cost.  Use.
1 HW/SW Partitioning Embedded Systems Design. 2 Hardware/Software Codesign “Exploration of the system design space formed by combinations of hardware.
Behavioral Design Outline –Design Specification –Behavioral Design –Behavioral Specification –Hardware Description Languages –Behavioral Simulation –Behavioral.
Mahapatra-Texas A&M-Fall'001 cosynthesis Introduction to cosynthesis Rabi Mahapatra CPSC498.
ECE Synthesis & Verification1 ECE 667 Spring 2011 Synthesis and Verification of Digital Systems Verification Introduction.
Configurable System-on-Chip: Xilinx EDK
Evolution of implementation technologies
Technion – Israel Institute of Technology Department of Electrical Engineering High Speed Digital Systems Lab Project performed by: Naor Huri Idan Shmuel.
Implementation of DSP Algorithm on SoC. Mid-Semester Presentation Student : Einat Tevel Supervisor : Isaschar Walter Accompaning engineer : Emilia Burlak.
Principle of Functional Verification Chapter 1~3 Presenter : Fu-Ching Yang.
HW/SW Co-Design of an MPEG-2 Decoder Pradeep Dhananjay Kiran Divakar Leela Kishore Kothamasu Anthony Weerasinghe.
Hardware/Software Partitioning Witawas Srisa-an Embedded Systems Design and Implementation.
© 2011 Xilinx, Inc. All Rights Reserved Intro to System Generator This material exempt per Department of Commerce license exception TSU.
VerificationTechniques for Macro Blocks (IP) Overview Inspection as Verification Adversarial Testing Testbench Design Timing Verification.
Programmable Logic- How do they do that? 1/16/2015 Warren Miller Class 5: Software Tools and More 1.
© Copyright Alvarion Ltd. Hardware Acceleration February 2006.
Delevopment Tools Beyond HDL
EKT303/4 PRINCIPLES OF PRINCIPLES OF COMPUTER ARCHITECTURE (PoCA)
1 Chapter 2. The System-on-a-Chip Design Process Canonical SoC Design System design flow The Specification Problem System design.
VERIFICATION OF I2C INTERFACE USING SPECMAN ELITE By H. Mugil Vannan Experts Mr. Rahul Hakhoo, Section Manager, CMG-MCD Mr. Umesh Srivastva, Project Leader.
ISE. Tatjana Petrovic 249/982/22 ISE software tools ISE is Xilinx software design tools that concentrate on delivering you the most productivity available.
SOC Consortium Course Material ASIC Logic National Taiwan University Adopted from National Chiao-Tung University IP Core Design.
Reporter: PCLee. Assertions in silicon help post-silicon debug by providing observability of internal properties within a system which are.
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 {
1CADENCE DESIGN SYSTEMS, INC. Cadence Proposed Transaction Level Interface Enhancements for SCE-MI SEPTEMBER 11, 2003.
1 WORLD CLASS – through people, technology and dedication High level modem development for Radio Link INF3430/4431 H2013.
ASIC/FPGA design flow. FPGA Design Flow Detailed (RTL) Design Detailed (RTL) Design Ideas (Specifications) Design Ideas (Specifications) Device Programming.
1 Integration Verification: Re-Create or Re-Use? Nick Gatherer Trident Digital Systems.
Design Verification An Overview. Powerful HDL Verification Solutions for the Industry’s Highest Density Devices  What is driving the FPGA Verification.
© 2005 Altera Corporation SOPC Builder: a Design Tool for Rapid System Prototyping on FPGAs Kerry Veenstra Workshop on Architecture Research using FPGA.
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.
집적회로 Spring 2007 Prof. Sang Sik AHN Signal Processing LAB.
Using Formal Verification to Exhaustively Verify SoC Assemblies by Mark Handover Kenny Ranerup Applications Engineer ASIC Consultant Mentor Graphics Corp.
HW/SW PARTITIONING OF FLOATING POINT SOFTWARE APPLICATIONS TO FIXED - POINTED COPROCESSOR CIRCUITS - Nalini Kumar Gaurav Chitroda Komal Kasat.
Lecture 2 1 ECE 412: Microcomputer Laboratory Lecture 2: Design Methodologies.
IEEE ICECS 2010 SysPy: Using Python for processor-centric SoC design Evangelos Logaras Elias S. Manolakos {evlog, Department of Informatics.
1 Towards Optimal Custom Instruction Processors Wayne Luk Kubilay Atasu, Rob Dimond and Oskar Mencer Department of Computing Imperial College London HOT.
Chonnam national university VLSI Lab 8.4 Block Integration for Hard Macros The process of integrating the subblocks into the macro.
Introduction to FPGA Created & Presented By Ali Masoudi For Advanced Digital Communication Lab (ADC-Lab) At Isfahan University Of technology (IUT) Department.
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.
EEE440 Computer Architecture
EKT303/4 PRINCIPLES OF PRINCIPLES OF COMPUTER ARCHITECTURE (PoCA)
Lecture 12: Reconfigurable Systems II October 20, 2004 ECE 697F Reconfigurable Computing Lecture 12 Reconfigurable Systems II: Exploring Programmable Systems.
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)
Development of Programmable Architecture for Base-Band Processing S. Leung, A. Postula, Univ. of Queensland, Australia A. Hemani, Royal Institute of Tech.,
Chapter 11 System-Level Verification Issues. The Importance of Verification Verifying at the system level is the last opportunity to find errors before.
ECE 448 Lecture 6 Finite State Machines State Diagrams vs. Algorithmic State Machine (ASM) Charts.
ASIC/FPGA design flow. Design Flow Detailed Design Detailed Design Ideas Design Ideas Device Programming Device Programming Timing Simulation Timing Simulation.
Real-Time System-On-A-Chip Emulation.  Introduction  Describing SOC Designs  System-Level Design Flow  SOC Implemantation Paths-Emulation and.
Presenter: Yi-Ting Chung Fast and Scalable Hybrid Functional Verification and Debug with Dynamically Reconfigurable Co- simulation.
EMT 351/4 DIGITAL IC DESIGN Week # 1 EDA & HDL.
Programmable Logic Devices
Programmable Hardware: Hardware or Software?
ASIC Design Methodology
Figure 1 PC Emulation System Display Memory [Embedded SOC Software]
VHDL Introduction.
Win with HDL Slide 4 System Level Design
THE ECE 554 XILINX DESIGN PROCESS
THE ECE 554 XILINX DESIGN PROCESS
Presentation transcript:

1 Hardware/Software Co-Design Final Project Emulation on Distributed Simulation Co-Verification System 陳少傑 教授 R 黃鼎鈞 R 尤建智 R 林語亭

2 Agenda 1. Introduction of verification 1. Introduction of verification 2. Simulation / Emulation 2. Simulation / Emulation 3. Principle of co-verification 3. Principle of co-verification 4. System Architecture 4. System Architecture 5. Experiment Result 5. Experiment Result 6. Conclusion 6. Conclusion 7. Reference 7. Reference

3 Introduction of verification Check if a design correctly implements specified behavior (usually done before manufacture) Check if a design correctly implements specified behavior (usually done before manufacture) Classes Classes Logic design verification Logic design verification simulation simulation emulation emulation formal verification formal verification Physical design verification Physical design verification

4 Challenge in SOC Era The complexity and gate count sky-rocket base on Moore Law The complexity and gate count sky-rocket base on Moore Law The chip includes multi-modules( IP ), and mixed signal blocks The chip includes multi-modules( IP ), and mixed signal blocks

5 Design and Verification Process Design : writing design specification and start design cycle Implement : Implement and refine the design through all phases Verify : Verify the Correctness of design

6 The Verification Bottleneck Verification problem grows even faster due to the combination of increased gate count and increased vector count

7 Approaches to Design Verification Software Simulation ─ traditional software-based simulation Hardware Accelerated Simulation ─ use special purpose hardware to accelerate simulation of circuit Emulation ─ Emulation actual circuit behavior Rapid Prototyping ─ Create a prototype of actual hardware Formal Verification ─ formal method

8 Simulation / Emulation Verification Software Simulation: With very high flexibility high extension and more cheaper than emulation Software Simulation: With very high flexibility high extension and more cheaper than emulation ----Verilog, VHDL, C/C++, mixed language Hardware Emulation: With very high speed for processing time Hardware Emulation: With very high speed for processing time -----PFGA, special hardware

9 Industrial Verification Issues Intel: Processor project verification: “Billions of generated vectors” “Our VHDL regression tests take 27 days to run. ” Sun: Sparc project verification: Test suite ~1500 tests > 1 billion random simulation cycles “A server ranch ~1200 SPARC CPUs” Bull: Simulation including PwrPC 604 “Our simulations run at between 1-20 CPS.” “We need cps.” Cyrix : An x86 related project “We need 50x Chronologic performance today.” “170 CPUs running simulations continuously” Kodak: “hundreds of 3-4 hour RTL functional simulations” Xerox: “Simulation runtime occupies ~3 weeks of a design cycle” Ross: 125 Million Vector Regression tests

10 Software Verification Mechanism Design Under Test Test Patterns Simulation Engine Monitor or Rule Check Library Specific outputs

11 System/Abstract level simulation Easily debug and diagnosis Easily debug and diagnosis Reduce simulation time Reduce simulation time 1. Saving data structure transfer time 1. Saving data structure transfer time 2. Native code predominance 2. Native code predominance Much more memory function Much more memory function HDL C/C++ Simulation Engine Perl HDL

12 Emulation System Advantages: + easiest to implement (involves little change to the simulation environment) + 10X to 100X faster than traditional simulation Disadvantages: --All module must be synthesized --Difficult to handle verification scripts or mathematical formulas --Can’t probe any signal we want (only on input/output)

13 SW/HW Co-Verification Dedicated hardware Software simulator Synthesizable DUT and transactor High-level protocol for Communication via network or system bus DUTTest Bench Design transactor Transaction- level HDL or C/C++ test bench

14 Principle of co-verification How to design an hardware / software co- verification system ? How to design an hardware / software co- verification system ? ----The key issue is PARTITION

15 Partition constraint on hardware part Maximum gate-count of FPGA or emulator Maximum gate-count of FPGA or emulator Maximum number of input and output ports Maximum number of input and output ports Maximum number of registers in FPGA or emulator Maximum number of registers in FPGA or emulator Gate-count balance among emulators Gate-count balance among emulators Delay for critical path in emulator Delay for critical path in emulator Monitored signal is suitable in hardware Monitored signal is suitable in hardware

16 Partition constraint on software part Communication overhead among simulators and emulators Communication overhead among simulators and emulators Monitored signal is suitable in hardware Monitored signal is suitable in hardware Tight clock policy or loose clock policy (multi-clock system) Tight clock policy or loose clock policy (multi-clock system) ALL of these are test patterns related factors

17 Partition process flow --Dynamic process HDL file Test Patterns Partition Engine Hardware constraintSoftware constraint Emulator Simulator

18 Incentives of the Project Provide earlier verification in IC design process Provide earlier verification in IC design process Co-verification among different level description Co-verification among different level description Physical Physical Register Transfer Level Register Transfer Level Behavior Behavior Accelerates verification Accelerates verification

19 Our Goal Verilog VHDL C Partition Manual/Automatic Simulate 1 Simulate 2 Emulate 1 Emulate 2 Co-verification

20 System Architecture (I) Distributed Simulation Distributed Simulation Master Child I Child III Child II TCP/IP port communication TCP/IP port

21 Features of the Simulator A master process A master process must be setup to manipulate communication must be setup to manipulate communication Several child processes Several child processes Each corresponds to one part Each corresponds to one part Communication Communication TCP/IP ports TCP/IP ports

22 Potential Difficulties (I) Distributed Simulation Distributed Simulation Synchronization Synchronization Different simulating speeds among parts Different simulating speeds among parts The faster have to wait The faster have to wait Data communication Data communication Communication overhead Communication overhead Partition Partition Clocks are the bottleneck Clocks are the bottleneck Duplicate global clocks within each parts speedup simulation Duplicate global clocks within each parts speedup simulation

23 System Architecture (II) Emulation Emulation Master Simulation Child I Simulation Child III Simulation Child II TCP/IP port FPGA Emulation

24 Features of the Emulator Must be child processes Must be child processes Each corresponds to one part synthesized as EDIF Each corresponds to one part synthesized as EDIF Under the control of a corresponding child simulation Under the control of a corresponding child simulation Communication Communication Through IDE to its corresponding simulation process Through IDE to its corresponding simulation process

25 Potential Difficulties (II) Emulation Emulation Synchronization Synchronization Among FPGA ’ s and Simulator Among FPGA ’ s and Simulator Clock Signals must be handled by Simulator Clock Signals must be handled by Simulator Among different FPGA ’ s Among different FPGA ’ s Simulator synchronize the verification progression Simulator synchronize the verification progression Data communication Data communication Must be manipulated by the simulator Must be manipulated by the simulator Multiple clocks Multiple clocks Handled by Simulator Handled by Simulator

26 Potential Difficulties (III) Design Partition Design Partition Manual / Automatic Manual / Automatic Emulation parts must be synthesizable Emulation parts must be synthesizable Hardware constrains Hardware constrains Communication overhead Communication overhead Among different emulation parts Among different emulation parts Among different simulation parts Among different simulation parts

27 System Limitation Emulation Emulation Clocks are handled by Simulator, emulation can progress one clock cycle at each call. Clocks are handled by Simulator, emulation can progress one clock cycle at each call. FPGAs works interruptedly instead at their full speeds. FPGAs works interruptedly instead at their full speeds. Partition among emulation parts may dominate communication overhead. Partition among emulation parts may dominate communication overhead.

28 Experiment Results RTL module : Jazz2020 (DSP core) RTL module : Jazz2020 (DSP core) Gate Count : 0.5M (estimated) Gate Count : 0.5M (estimated) Number of test patterns : 374 (with verification function) Number of test patterns : 374 (with verification function) Purely software simulation : 183 sec Purely software simulation : 183 sec Co-simulation (with Xilinx Vertex 400E) : 94 sec Co-simulation (with Xilinx Vertex 400E) : 94 sec Speed up : 2x (almost) Not fast as we expect Speed up : 2x (almost) Not fast as we expect

29 Future work We will separate RTL code into nonsynthesizable part and synthesizable part We will separate RTL code into nonsynthesizable part and synthesizable part Nonsynthesizable Part : Convert to C code (compiled code type) run under embedded CPU on FPGA chip Nonsynthesizable Part : Convert to C code (compiled code type) run under embedded CPU on FPGA chip Synthesizable Part : put into FPGA block Synthesizable Part : put into FPGA block Goal : All process will be done only on one FPGA chip Goal : All process will be done only on one FPGA chip

30 Future Work Original RTL code C Code non-synthesizable RTL Gate Level code Embedded CPU compiler FPGA synthesizer Embedded CPU Embedded CPU Compiled code netlist FPGA Block FPGA main board Partition Engine

31 Conclusion Simulation is and will be the most popular verification method. Simulation is and will be the most popular verification method. Emulation will standout as an accelerator under heavy simulation load. Emulation will standout as an accelerator under heavy simulation load.