1 Unified Debug Environment for Adaptive Computing Systems Brigham Young University Provo, UT September 13, 1999.

Slides:



Advertisements
Similar presentations
Spartan-3 FPGA HDL Coding Techniques
Advertisements

Implementation Approaches with FPGAs Compile-time reconfiguration (CTR) CTR is a static implementation strategy where each application consists of one.
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.
Power Visualization, Analysis, and Optimization Tools for FPGAs Matthew French, Li Wang and Michael Wirthlin USC, Information Sciences Institute, BYU.
Integrated Circuits Laboratory Faculty of Engineering Digital Design Flow Using Mentor Graphics Tools Presented by: Sameh Assem Ibrahim 16-October-2003.
Graduate Computer Architecture I Lecture 15: Intro to Reconfigurable Devices.
FPGA-Based System Design: Chapter 3 Copyright  2004 Prentice Hall PTR SRAM-based FPGA n SRAM-based LE –Registers in logic elements –LUT-based logic element.
Extensible Processors. 2 ASIP Gain performance by:  Specialized hardware for the whole application (ASIC). −  Almost no flexibility. −High cost.  Use.
Operating Systems High Level View Chapter 1,2. Who is the User? End Users Application Programmers System Programmers Administrators.
Lecture 26: Reconfigurable Computing May 11, 2004 ECE 669 Parallel Computer Architecture Reconfigurable Computing.
Design Flow – Computation Flow. 2 Computation Flow For both run-time and compile-time For some applications, must iterate.
Configurable System-on-Chip: Xilinx EDK
VHDL Synthesis in FPGA By Zhonghai Shi February 24, 1998 School of EECS, Ohio University.
Evolution of implementation technologies
Basic Input/Output Operations
1-1 Embedded Software Development Tools and Processes Hardware & Software Hardware – Host development system Software – Compilers, simulators etc. Target.
Feng-Xiang Huang NIFD: Non-Intrusive FPGA Debugger Debugging FPGA ‘Threads’ for Rapid HW/SW Systems Prototyping Hari Angepat, Gage Eads, Christopher Craik.
GanesanP91 Synthesis for Partially Reconfigurable Computing Systems Satish Ganesan, Abhijit Ghosh, Ranga Vemuri Digital Design Environments Laboratory.
Implementation of DSP Algorithm on SoC. Mid-Semester Presentation Student : Einat Tevel Supervisor : Isaschar Walter Accompaning engineer : Emilia Burlak.
Foundation and XACTstepTM Software
Module I Overview of Computer Architecture and Organization.
Introduction to FPGA Design Illustrating the FPGA design process using Quartus II design software and the Cyclone II FPGA Starter Board. Physics 536 –
General FPGA Architecture Field Programmable Gate Array.
Cortex-M3 Debugging System
® ChipScope ILA TM Xilinx and Agilent Technologies.
Chapter 4 Programmable Logic Devices: CPLDs with VHDL Design Copyright ©2006 by Pearson Education, Inc. Upper Saddle River, New Jersey All rights.
EKT303/4 PRINCIPLES OF PRINCIPLES OF COMPUTER ARCHITECTURE (PoCA)
FPGA-Based System Design: Chapter 4 Copyright  2004 Prentice Hall PTR HDL coding n Synthesis vs. simulation semantics n Syntax-directed translation n.
ISE. Tatjana Petrovic 249/982/22 ISE software tools ISE is Xilinx software design tools that concentrate on delivering you the most productivity available.
SLAAC Hardware Status Brian Schott Provo, UT September 1999.
Lecture #3 Page 1 ECE 4110– Sequential Logic Design Lecture #3 Agenda 1.FPGA's 2.Lab Setup Announcements 1.No Class Monday, Labor Day Holiday 2.HW#2 assigned.
M i SMob i S Mob i Store - Mobile i nternet File Storage Platform Chetna Kaur.
A comprehensive method for the evaluation of the sensitivity to SEUs of FPGA-based applications A comprehensive method for the evaluation of the sensitivity.
Presenter : Ching-Hua Huang 2013/9/16 Visibility Enhancement for Silicon Debug Cited count : 62 Yu-Chin Hsu; Furshing Tsai; Wells Jong; Ying-Tsai Chang.
ASIC/FPGA design flow. FPGA Design Flow Detailed (RTL) Design Detailed (RTL) Design Ideas (Specifications) Design Ideas (Specifications) Device Programming.
Xilinx Development Software Design Flow on Foundation M1.5
Lessons Learned The Hard Way: FPGA  PCB Integration Challenges Dave Brady & Bruce Riggins.
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.
Research on Reconfigurable Computing Using Impulse C Carmen Li Shen Mentor: Dr. Russell Duren February 1, 2008.
집적회로 Spring 2007 Prof. Sang Sik AHN Signal Processing LAB.
Hardware Implementation of a Memetic Algorithm for VLSI Circuit Layout Stephen Coe MSc Engineering Candidate Advisors: Dr. Shawki Areibi Dr. Medhat Moussa.
J. Christiansen, CERN - EP/MIC
FPGA (Field Programmable Gate Array): CLBs, Slices, and LUTs Each configurable logic block (CLB) in Spartan-6 FPGAs consists of two slices, arranged side-by-side.
GRECO - CIn - UFPE1 A Reconfigurable Architecture for Multi-context Application Remy Eskinazi Sant´Anna Federal University of Pernambuco – UFPE GRECO.
Los Alamos National Lab Streams-C Maya Gokhale, Janette Frigo, Christine Ahrens, Marc Popkin- Paine Los Alamos National Laboratory Janice M. Stone Stone.
Introduction to FPGA Created & Presented By Ali Masoudi For Advanced Digital Communication Lab (ADC-Lab) At Isfahan University Of technology (IUT) Department.
Field Programmable Gate Arrays (FPGAs) An Enabling Technology.
® Java Debug Hardware Modules Using JBits by Jonathan Ballagh Eric Keller Peter Athanas Reconfigurable Architectures Workshop 2001.
“Politehnica” University of Timisoara Course No. 2: Static and Dynamic Configurable Systems (paper by Sanchez, Sipper, Haenni, Beuchat, Stauffer, Uribe)
Lecture #3 Page 1 ECE 4110–5110 Digital System Design Lecture #3 Agenda 1.FPGA's 2.Lab Setup Announcements 1.HW#2 assigned Due.
25 April 2000 SEESCOASEESCOA STWW - Programma Evaluation of on-chip debugging techniques Deliverable D5.1 Michiel Ronsse.
Task Graph Scheduling for RTR Paper Review By Gregor Scott.
1 - CPRE 583 (Reconfigurable Computing): VHDL to FPGA: A Tool Flow Overview Iowa State University (Ames) CPRE 583 Reconfigurable Computing Lecture 5: 9/7/2011.
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.
Tools - Design Manager - Chapter 6 slide 1 Version 1.5 FPGA Tools Training Class Design Manager.
USC GOVERNMENT ELECTRONIC SYSTEMS L O C K H E E D M A R T I N SLAAC / ECMA Demonstration DARPA Thursday 25 March 1999.
This material exempt per Department of Commerce license exception TSU Xilinx On-Chip Debug.
SLAAC Systems Level Applications of Adaptive Computing Delivering ACS Technology to Applications DARPA/ITO Adaptive Computing Systems PI Meeting San Juan,
© Paradigm Publishing, Inc. 4-1 Chapter 4 System Software Chapter 4 System Software.
Survey of Reconfigurable Logic Technologies
ASIC/FPGA design flow. Design Flow Detailed Design Detailed Design Ideas Design Ideas Device Programming Device Programming Timing Simulation Timing Simulation.
Introduction to Programmable Logic
Programmable Logic Devices: CPLDs and FPGAs with VHDL Design
Reconfigurable Computing
Embedded systems, Lab 1: notes
THE ECE 554 XILINX DESIGN PROCESS
THE ECE 554 XILINX DESIGN PROCESS
Xilinx Alliance Series
Presentation transcript:

1 Unified Debug Environment for Adaptive Computing Systems Brigham Young University Provo, UT September 13, 1999

2 Introduction and Motivation

3 Basic Premise FPGAs bring something unique to the party.

4 What is unique? FPGAs are faster?

5 What is unique? FPGAs are reprogrammable? ASIC

6 What is unique? FPGAs are always available? FPGAs

7 What is unique? FPGA Potential: Hardware development becomes software development.

8 modify design download/verify synthesize Good News compile edit execute/debug FPGA development cycle is similar to software development cycle.

9 Bad News modify design synthesize simulate/verify place&route/ download execute scratch head There are two development cycles!

10 Issues execute/scratch head 1000s of times slower... simulate/verify excellent visibility 1000s of times faster... poor visibility Either approach is insufficient.

11 Goal: One Efficient Cycle execute/verify 1000s of times faster... excellent visibility

12 Main Issue Need to provide “software” visibility when debugging hardware.

13 What is Software Debugging? Debug prints. Examine/watch variables. Modify variables. Single-step/multistep. Breakpoints.

14 Can’t I just use VHDL? Simulation: Yes (but that was always the case). Execution: No –Cannot control HW platform via VHDL. Automatic downloading of bitstreams. Patching the bitstream for debug “prints”. Controlling the clock. Accessing platform memory.

15 Do I have to use JHDL? NO! –EDIF can be translated to JHDL debug format. – All debugging tools operate using the debug format. –User-defined signal names will be generally available via the debugging tools.

16 General Vision FPGAs programmed and debugged similar to software. Use general-purpose languages for programming. Use software-like debugging techniques. Provide EDIF-interchange for access via other tools.

17 Project Overview

18 Goal Create a productive environment for debug and development that exploits the unique features of ACS.

19 Specifics Unified access to simulation and execution. Multitasking support for hardware execution. Control of the platform from remote locations. Automatic synthesis of debug circuitry. Checkpointing of execution and simulation. Support for external high-level tools.

20 General Software Architecture

21 Unified Simulation/Execution Simulator HW Manager ACS Platform configure data Configure/ Execute Simulate X3X4 X1X2 X0 ATR Simulator/Run-time API ATR Circuit Description JHDL Library

22 Single-User Systems ACS Platform Who’s got the board? Who’s got the ?&?# board? Glad nobody needs the board.

23 Hardware Multitasking ACS Platform Multitasking ACS Server

24 Remote Access

25 Remote Access Access ACS Hardware away from Laboratory ACS Platform ACS Platform ACS Platform ACS Platform Home Across Campus Across Hall

26 Remote Access Centralize Maintenance and Support It is expensive to outfit and support ACS technology ACS technology can be fragile ACS Platform ACS Platform ACS Platform ACS Platform ACS Platform

27 Remote Access Extend availability of ACS technology Collaborate with large distributed development teams Provide ACS hardware access to those without ACS capability ACS Platform ACS Platform Internet Access ACS Platform ACS Platform Industry Public School ACS Platform Universities

28 Remote Access - Issues No standardized client architecture User interfaces are unique (cannot export host display!) Only simple protocols available (http, ftp, telnet, etc.) ACS Platform ACS Platform ACS Platform ACS Platform Windows NT Mac HP Workstation Linux x86 Workstation Sun Workstation

29 Remote Access - Issues Network Bandwidth Limitations Must limit the data needed for remote access/debug Exporting user interface consumes excessive bandwidth ACS Platform ACS Platform ACS Platform ACS Platform v.34 slip LAN

30 Remote Access - Issues Security/Safety Must insure access to ACS hardware is restricted Prevent inadvertent communication (download to SLAAC board?) ACS Platform ACS Platform ACS Platform ACS Platform hacker

31 Remote Access - Approach Exploit platform independence of Java/JHDL Create unique communication protocol –Limit ACS to client communication to essential control and data information Add security layer to remote communication protocol Provide same interface to ACS hardware without requiring login access to host machine

32 Remote Access - Approach jvm (x86) jhdl/browser security ACS protocol ACS server security ACS protocol ACS Platform jvm (mac) jhdl/browser security ACS protocol Hardware API Hardware

33 Debug Circuitry

34 Debug Circuitry Synthesis ? Simulation routinely used for debugging circuits –Greater visibility –More control over execution –Easy to use interfaces Facilitate the use of hardware debugging by synthesizing custom circuits

35 Debug Circuitry Synthesis DQ Q DQ Q  16 ?

36 Debug Circuitry Synthesis DQ Q DQ Q  16 Additional Wires and I/O for Visibility 0 1 0

37 Debug Circuitry Synthesis DQ Q DQ Q  16 Memory Buffers for Real-Time Data Capture Signal Buffer

38 Debug Circuitry Synthesis DQ Q DQ Q  16 Logic Circuits for Hardware Breakpoints Disable Clock 0

39 Debug Circuitry Synthesis DQ Q DQ Q  16 Counters and Logic for System Profiling and Analysis 0 Event Counter Event Counter

40 Debug Circuitry Synthesis - Issues Preserve speed/function of circuit –Debug circuitry may add delays –Circuitry may introduce logic errors Remove debug circuits gracefully Avoid place and route step –Limit turn around time for debug cycle –May not be possible with some technologies –Xilinx-Jbits (Guccione)

41 Debug Circuitry Synthesis -Approach Define API for specifying debugging needs Develop platform independent synthesis tools Create platform specific debugging libraries –Optimized state machines –Clock controllers –Memory buffers and counters

42 Checkpointing Complete capture & restoration of simulation/execution state

43 Simulate/execute from any saved point - repeat problem sections - continue tomorrow Checkpointing Cycle 200K Checkpoint store Cycle 300K Checkpoint store Oops! Cycle 347K Cycle 200K Checkpoint store Cycle 300K Checkpoint store Watch different signals... Cycle 100K Checkpoint store

44 Checkpointing Mix simulation & execution ACS Platform ACS Execution or Simulation ACS Platform ACS Execution Simulation Checkpoint store ACS Platform

45 Checkpointing Checkpoint store Support for multitasking ACS Platform

46 Checkpointing Issues State capture Device issues –flip flops –LUT contents –on-chip RAM’s Platform issues –memories –fifos –control registers Hardware support for?

47 Checkpointing Issues State capture State representation Custom format? Common format? Communication with other tools?

48 Checkpointing Issues State capture State representation State storage Local vs. remote –speed of access Hardware support for?

49 Checkpointing Issues State capture State representation State storage State restoration Similar to capture –device issues –platform issues Hardware support for?

50 Checkpointing Concerns Device support for –Xilinx, Altera, CSRC Platform support for –Wild*, SLAAC1, CSRC, Altera platforms Proprietary issues –need for open systems

51 Checkpointing Concerns (2) Scope of applicability Multiple-clock systems Host-bus based systems Other –what if no single-step capability? –what if no host bus?

52 External Tool Support Leverage this environment for any design...

53 User control External Tools - Scenario #1 DSM ACS Platform Bitstreams Ptolemy Viewlogic ??? Platform control –configuration –clock/IO control –memory peek/poke –bitstream management Similar to most environments in existence…

54 User control External Tools - Scenario #2 DSM ACS Platform Bitstreams Symbol table Ptolemy Viewlogic ??? Platform control Waveform display of execution results –flat signal name space Similar to Splash-2’s t2 tool….

55 User control External Tools - Scenario #3 DSM ACS Platform Bitstreams EDIF (recreate circuit hierarchy) Ptolemy Viewlogic ??? Platform control Hierarchy navigation Schematic viewing Waveform display of execution results –hierarchical name space Mixed simulation/hardware execution No known equivalent...

56 Platform control Hierarchy navigation Schematic viewing Waveform display Mixed execution Programmatic control of debug process External Tools - Scenario #4 DSM ACS Platform Bitstreams EDIF Ptolemy Viewlogic ??? Debug commands Results (for post-processing and display) available but likely not needed in this scenario No known equivalent...

57 General Software Architecture

58 Collaborative Involvement Virginia Tech (P. Athanas) Synopsys (NIMBLE, R. Harr) Sanders (CSRC, C. Myers) Xilinx (Jbits, S. Guccione) Sarnoff (C-Streams, M. Gokhale, J. Arnold) Lockheed Martin (ECMA, R. Pancoast) LANL (DAPS, K. McCabe)

59 Device and Platform Targets Devices: –Xilinx (XC 4K and Virtex) –Sanders CSRC –Altera Platforms: –SLAAC –AMS WildStar/WildFire

60 Debug and CSRC Problem: –CSRC does not support readback. Solution: –Dedicate one context as a debug context during development.

61 JHDL and Altera

62 Why Target Altera? Double check that JHDL is not Xilinx dependent – The Altera model is much different than the Xilinx model Show versatility of JHDL for multiple targets JHDL Xilinx XC4000/Virtex Sanders CSRC Altera 10K

63 How JHDL is translated JHDL-XC4000 Technology Mapper Simulator JHDL-Altera 10K Technology Mapper JHDL hardware description JHDL-Altera Netlister EDIF Altera Tool: Max+Plus II Hardware

64 Challenges of interfacing with Altera Different architecture – Hierarchical logic structure Logic elements (similar to  CLB’s) Logic array blocks ( = 8 LE’s) – Embedded Array Blocks (2k RAM) Different placement primitives – no relative placement – no direct mapping – Altera placement specifies hierarchy, not physical location

65 Challenges of interfacing with Altera Difficult to debug – No readback – No partial reconfiguration JTAG boundary scan – Can it be used for debug?

66 Debugging strategy Instrument design with multiplexors to bring signals of interest to pins for debug tracing FPGA pins MUX Traced Signals

67 Debugging Strategy: Instrumentation JHDL-Altera 10K Technology Mapper JHDL hardware description JHDL-Altera Netlister EDIF Altera Tool: Max+Plus II Hardware It could be done here by the designer But it is bad to alter a design in order to debug it. Its better to do it here, transparently Its best to do it dynamically, but this is not possible with an Altera FPGA Its better yet to do it here.

68 Schedule and Milestones

Task 1 Design the DSM.

70 Task 2 Write the Debug API Spec

71 Task 3 Develop Platform Control Interface

72 Task 4 Develop Device Libraries: –Implement Xilinx-Virtex libraries (DEMO) –Implement Altera libraries (DEMO) –Implement CSRC libraries (DEMO)

73 Task 5 Develop Device-Specific Debug Strategies –Xilinx-Virtex (DEMO) –Altera (DEMO) –Sanders CSRC (DEMO)

74 Task 6 Implement the DSM –Implement basic DSM capabilities. (DEMO) –Implement multitasking and remote debugging. (DEMO) –Implement checkpointing. (DEMO) –Implement automated probe and monitoring. (DEMO)

75 Task 7 Internal data structures, algorithms, command-line interface Browser GUI

76 Task 8 Debugging Circuitry Synthesis Tool –Specify API –Develop platform independent software for debug circuitry –Develop platform specific synthesis backend for 2 platforms. (DEMO)

77 Task 9 Create API specification for high-level tool support. Select data interchange mechanism and data format(s) Create software modules for design data interchange Demonstrate use of high-level tool with DSM. (DEMO)

78 Task 10 Evaluate effectiveness on DARPA applications. –FOA, Superquant, CDI, Beamforming, etc. –Ongoing demonstrations as always

79 Staffing 4 Faculty –Brad Hutchings –Brent Nelson –Mike Wirthlin –Doran Wilde 4 Full-time staff (PhD) –Scott Hemmert –Justin Tripp Students (grad and undergrad).