Functional Verification of Dynamically Reconfigurable Systems Mr. Lingkan (George) Gong, Dr. Oliver Diessel The University of New South Wales, Australia.

Slides:



Advertisements
Similar presentations
1 SECURE-PARTIAL RECONFIGURATION OF FPGAs MSc.Fisnik KRAJA Computer Engineering Department, Faculty Of Information Technology, Polytechnic University of.
Advertisements

EECE499 Computers and Nuclear Energy Electrical and Computer Eng Howard University Dr. Charles Kim Fall 2013 Webpage:
Chapter 2Test Specification Process. n Device Specification Sheet – Purpose n Design Specification – Determine functionality of design n Test List Generation.
University Of Vaasa Telecommunications Engineering Automation Seminar Signal Generator By Tibebu Sime 13 th December 2011.
Cloud Computing Resource provisioning Keke Chen. Outline  For Web applications statistical Learning and automatic control for datacenters  For data.
Fast FPGA Resource Estimation Paul Schumacher & Pradip Jha Xilinx, Inc.
MotoHawk Training Model-Based Design of Embedded Systems.
Chapter 19: Network Management Business Data Communications, 4e.
Extensible Processors. 2 ASIP Gain performance by:  Specialized hardware for the whole application (ASIC). −  Almost no flexibility. −High cost.  Use.
Behavioral Design Outline –Design Specification –Behavioral Design –Behavioral Specification –Hardware Description Languages –Behavioral Simulation –Behavioral.
Logic Design Outline –Logic Design –Schematic Capture –Logic Simulation –Logic Synthesis –Technology Mapping –Logic Verification Goal –Understand logic.
2/9/2007EECS150 Lab Lecture #41 Debugging EECS150 Spring2007 – Lab Lecture #4 Laura Pelton Greg Gibeling.
مرتضي صاحب الزماني  The registers are master-slave flip-flops (a.k.a. edge-triggered) –At the beginning of each cycle, propagate values from primary inputs.
Principle of Functional Verification Chapter 1~3 Presenter : Fu-Ching Yang.
02/10/06EECS150 Lab Lecture #41 Debugging EECS150 Spring 2006 – Lab Lecture #4 Philip Godoy Greg Gibeling.
© 2011 Xilinx, Inc. All Rights Reserved This material exempt per Department of Commerce license exception TSU Xilinx Tool Flow.
VerificationTechniques for Macro Blocks (IP) Overview Inspection as Verification Adversarial Testing Testbench Design Timing Verification.
© 2005 The MathWorks, Inc. Advanced Technologies to Accelerate Mixed Signal Simulation Pieter J. Mosterman Senior Research Scientist The MathWorks, Inc.
1 Chapter 2. The System-on-a-Chip Design Process Canonical SoC Design System design flow The Specification Problem System design.
TM Efficient IP Design flow for Low-Power High-Level Synthesis Quick & Accurate Power Analysis and Optimization Flow JAN Asher Berkovitz Yaniv.
Background (Floating-Point Representation 101)  Floating-point represents real numbers as (± sig × 2 exp )  Sign bit  Significand (“mantissa” or “fraction”)
1 VERILOG Fundamentals Workshop סמסטר א ' תשע " ה מרצה : משה דורון הפקולטה להנדסה Workshop Objectives: Gain basic understanding of the essential concepts.
ISE. Tatjana Petrovic 249/982/22 ISE software tools ISE is Xilinx software design tools that concentrate on delivering you the most productivity available.
Trigger design engineering tools. Data flow analysis Data flow analysis through the entire Trigger Processor allow us to refine the optimal architecture.
JMAG-RT: A General and Accurate Motor Model for Real-time Simulation of Motor Drives Takashi Yamada JSOL Corporation jmag-international.com Real-Time 2010.
ASIC/FPGA design flow. FPGA Design Flow Detailed (RTL) Design Detailed (RTL) Design Ideas (Specifications) Design Ideas (Specifications) Device Programming.
© 2003 Xilinx, Inc. All Rights Reserved For Academic Use Only Xilinx Design Flow FPGA Design Flow Workshop.
Design Verification An Overview. Powerful HDL Verification Solutions for the Industry’s Highest Density Devices  What is driving the FPGA Verification.
A New Method For Developing IBIS-AMI Models
Using Formal Verification to Exhaustively Verify SoC Assemblies by Mark Handover Kenny Ranerup Applications Engineer ASIC Consultant Mentor Graphics Corp.
HDL Bencher FPGA Design Workshop. For Academic Use Only Presentation Name 2 Objectives After completing this module, you will be able to:  Describe the.
SPREE RTL Generator RTL Simulator RTL CAD Flow 3. Area 4. Frequency 5. Power Correctness1. 2. Cycle count SPREE Benchmarks Verilog Results 3. Architecture.
VHDL Project Specification Naser Mohammadzadeh. Schedule  due date: Tir 18 th 2.
6 Memory Management and Processor Management Management of Resources Measure of Effectiveness – On most modern computers, the operating system serves.
Chonnam national university VLSI Lab 8.4 Block Integration for Hard Macros The process of integrating the subblocks into the macro.
Functional Verification Figure 1.1 p 6 Detection of errors in the design Before fab for design errors, after fab for physical errors.
Yazd University, Electrical and Computer Engineering Department Course Title: Advanced Software Engineering By: Mohammad Ali Zare Chahooki 1 Machine Learning.
LOGO A Convolution Accelerator for OR1200 Dawei Fan.
Xilinx Programmable Logic Development Systems Alliance Series version 3.
4/19/20021 TCPSplitter: A Reconfigurable Hardware Based TCP Flow Monitor David V. Schuehler.
Final Presentation Final Presentation OFDM implementation and performance test Performed by: Tomer Ben Oz Ariel Shleifer Guided by: Mony Orbach Duration:
Field Programmable Port Extender (FPX) 1 Modular Design Techniques for the FPX.
1 Extending FPGA Verification Through The PLI Charles Howard Senior Research Engineer Southwest Research Institute San Antonio, Texas (210)
This material exempt per Department of Commerce license exception TSU Xilinx On-Chip Debug.
November 29, 2011 Final Presentation. Team Members Troy Huguet Computer Engineer Post-Route Testing Parker Jacobs Computer Engineer Post-Route Testing.
Efficient software-based fault isolation Robert Wahbe, Steven Lucco, Thomas Anderson & Susan Graham Presented by: Stelian Coros.
Chapter 1 Software Engineering Principles. Problem analysis Requirements elicitation Software specification High- and low-level design Implementation.
ASIC/FPGA design flow. Design Flow Detailed Design Detailed Design Ideas Design Ideas Device Programming Device Programming Timing Simulation Timing Simulation.
Application-Specific Customization of Soft Processor Microarchitecture Peter Yiannacouras J. Gregory Steffan Jonathan Rose University of Toronto Electrical.
Corflow Online Tutorial Eric Chung
Problem: design complexity advances in a pace that far exceeds the pace in which verification technology advances. More accurately: (verification complexity)
Presenter: Yi-Ting Chung Fast and Scalable Hybrid Functional Verification and Debug with Dynamically Reconfigurable Co- simulation.
Chapter 19: Network Management
Introduction to Vivado
Testing Tutorial 7.
Dynamo: A Runtime Codesign Environment
Topics Modeling with hardware description languages (HDLs).
FPGA: Real needs and limits
Improving java performance using Dynamic Method Migration on FPGAs
Maintaining Data Integrity in Programmable Logic in Atmospheric Environments through Error Detection Joel Seely Technical Marketing Manager Military &
Topics Modeling with hardware description languages (HDLs).
Anne Pratoomtong ECE734, Spring2002
Shenghsun Cho, Mrunal Patel, Han Chen, Michael Ferdman, Peter Milder
Logic Analyzers EECS150 Fall Lab Lecture #5 Arjun Singh
Dynamic Program Analysis
THE ECE 554 XILINX DESIGN PROCESS
Logic Analyzers EECS150 Fall Lab Lecture #5 Arjun Singh
Application-Specific Customization of Soft Processor Microarchitecture
THE ECE 554 XILINX DESIGN PROCESS
System View Inc..
Presentation transcript:

Functional Verification of Dynamically Reconfigurable Systems Mr. Lingkan (George) Gong, Dr. Oliver Diessel The University of New South Wales, Australia

2 Outline Objectives & Motivation Challenges in Verifying Dynamically Reconfigurable Systems (DRS) Proposed Solution: The ReSim Library Example Designs Conclusions

3 Objectives & Motivation Dynamically Reconfigurable Systems (DRS) –Improved flexibility –Better resource utilization

4 Objectives & Motivation Functional Verification –Bottleneck of all hardware designs –Most costly bugs occur in system integration stage –DRS designs Involve activities that don’t exist in static designs (e.g., module swapping, … ) It is essential to perform simulation-based verification of Dynamically Reconfigurable Systems (DRS) 1 bug/6 lines of RTL code

5 Objectives & Motivation “Partial Reconfiguration itself can not be simulated … ” –Xilinx UG702 (Partial Reconfiguration User Guide) –Can simulate Static + A; Static +B; But not the process of swapping out A and swapping in B Objective –Support the simulation of the reconfiguration process –Support the simulation and functional verification of integrated Dynamically Reconfigurable Systems (DRS) Dynamically Reconfigurable System (Static part) Dynamic part: Module A Dynamic part: Module B Dynamic part: Module B

6 Objectives & Motivation Focus on detecting functional bugs –e.g. Cycle mismatch –Assuming there is no timing violation, no errors in the bitstream, no glitch in the reconfiguration process Focus on systematic verification –Correctly verified sub-systems, while necessary, are not sufficient –Recommend to simulate the design BEFORE running it on the target device

7 Challenges in Verifying DRS DRS-specific design considerations

8 Challenges in Verifying DRS DRS-specific bugs –BEFORE Reconfiguration  Handshake errors (e.g., deadlock)  Fail to save module state  … –DURING Reconfiguration:  Errors in bitstreams (e.g., corrupted bitstreams)  Errors in transferring bitstreams (e.g., traffic contention, encryption …)  Fail to isolate the module undergoing reconfiguration  … –AFTER Reconfiguration  Errors in resetting the module  Errors in state restoration  …

9 Challenges in Verifying DRS Accuracy v.s. Productivity –Simulation accuracy  Modeling the entire FPGA fabric  Models for the FPGA fabric not available  Even if available, it is not efficient to simulate the FPGA fabric (Low Productivity)

10 Challenges in Verifying DRS Accuracy v.s. Productivity –Simulation productivity  DO NOT model the FPGA fabric  Does not model bitstream traffic  Assume zero or constant reconfiguration delay  Does not trigger module swapping  Does not model spurious module outputs  Low accuracy

11 Challenges in Verifying DRS Accuracy v.s. Productivity –Simulation accuracy  DO model the FPGA fabric –Simulation productivity  DO NOT model the FPGA fabric It is essential to balance “accuracy” & “productivity” when simulating partial reconfiguration

12 ReSim Core idea –Model the fabric at such a level of detail that is just enough for RTL simulation of DRS

13 ReSim Simulation-only bitstreams (SimB) –Capture the essence of a real bitstream, but with reduced size

14 ReSim Capabilities and Limitations –BEFORE Reconfiguration  Handshake errors (e.g., deadlock)  Fail to save module state  … –DURING Reconfiguration:  Errors in bitstreams (e.g., corrupted bitstreams)  Errors in transferring bitstreams (e.g., traffic contention, encryption …)  Fail to isolate the module undergoing reconfiguration  … –AFTER Reconfiguration  Errors in resetting the module  Errors in state restoration  … RED: Only on Target device BLUE: Only by ReSim GRAY: More Efficient by ReSim

15 ReSim Capabilities and Limitations –ReSim assists in testing device-independent part of the design –After simulation, test & debug device-dependent part on the target device (using Chipscope)

16 ReSim Reusability –Codegen: automatic generation of artifacts –OO: override the default behavior of artifacts

17 Example Designs (1) The XDRS system: an example DRS design –Similar to Erlangen Slot Machine, a general-purpose reconfigurable compute engine (Bobda et al. FCCM 2005)

18 Example Designs (1) Example simulation waveform –A complete reconfiguration process

19 Example Designs (1) Example bug that was detected –Hold the "reset" signal of a module during reconfiguration

20 Example Designs (2) Fast PCIe (XAPP883) –The original design ~3500 lines of Verilog code + Coregen code (the PCIe endpoint) –Integrate ReSim with the original testbench 150 lines of Tcl script (120 IO signals) 10 lines of Verilog code to instantiate the generated artifacts 50 lines of Verilog code to modify the stimuli generation component

21 Example Designs (3) Microprocessor-based partial reconfiguration (UG744) –Modified the software to support state saving and restoration –The modified software is composed of device-independent C code and device-dependent C code

22 Example Designs (3) Microprocessor-based partial reconfiguration (UG744) –The workload to modify the software 1100 lines of device-independent C code 200 lines of device-dependent C code –Simulation using ReSim 10+ bugs in the device-independent C code Less than 1 minute to compile and simulate –ReSim-based simulation missed 2 device-dependent bugs e.g., the higher 16 bits of the statistic register was optimized away 53 minutes to compile the design with Chipscope

23 Conclusions Accuracy v.s. Productivity

24 Conclusions It is essential to simulate partial reconfiguration –Activities such as bitstream traffic, triggering condition, state saving and restoration, isolation of the reconfigurable region, … It is essential to balance accuracy & productivity –Modeling the FPGA fabric is not productive –MUX-based simulation is not accurate ReSim –Models the fabric at such a level of detail that is just enough for RTL simulation of DRS –A reusable simulation library

25 Thank you