® Java Debug Hardware Modules Using JBits by Jonathan Ballagh Eric Keller Peter Athanas Reconfigurable Architectures Workshop 2001.

Slides:



Advertisements
Similar presentations
An FPGA Wire Database for Run- Time Routers Eric Keller Scott McMillan.
Advertisements

A self-reconfiguring platform Brandon Blodget,Philip James- Roxby, Eric Keller, Scott McMillan, Prasanna Sundararajan.
PARTIAL RECONFIGURATION DESIGN. 2 Partial Reconfiguration Partial Reconfiguration :  Ability to reconfigure a portion of the FPGA while the remainder.
Octavian Cret, Kalman Pusztai Cristian Vancea, Balint Szente Technical University of Cluj-Napoca, Romania CREC: A Novel Reconfigurable Computing Design.
Integrated Circuits Laboratory Faculty of Engineering Digital Design Flow Using Mentor Graphics Tools Presented by: Sameh Assem Ibrahim 16-October-2003.
LOGO HW/SW Co-Verification -- Mentor Graphics® Seamless CVE By: Getao Liang March, 2006.
Graduate Computer Architecture I Lecture 15: Intro to Reconfigurable Devices.
1 Performed By: Khaskin Luba Einhorn Raziel Einhorn Raziel Instructor: Rivkin Ina Spring 2004 Spring 2004 Virtex II-Pro Dynamical Test Application Part.
Configurable System-on-Chip: Xilinx EDK
Evolution of implementation technologies
Chapter 2: Impact of Machine Architectures What is the Relationship Between Programs, Programming Languages, and Computers.
GanesanP91 Synthesis for Partially Reconfigurable Computing Systems Satish Ganesan, Abhijit Ghosh, Ranga Vemuri Digital Design Environments Laboratory.
Silberschatz, Galvin and Gagne ©2009 Operating System Concepts – 8 th Edition Chapter 2: Operating-System Structures Modified from the text book.
© 2011 Xilinx, Inc. All Rights Reserved This material exempt per Department of Commerce license exception TSU Xilinx Tool Flow.
EKT303/4 PRINCIPLES OF PRINCIPLES OF COMPUTER ARCHITECTURE (PoCA)
Programming Model for Network Processing on FPGAs Eric Keller October 8, 2004 M.S. Thesis Defense.
Benefits of Partial Reconfiguration Reducing the size of the FPGA device required to implement a given function, with consequent reductions in cost and.
Diffuse Optical Tomography Optimization and Miniaturization ECE 4902-Spring 2014 Thomas Capuano (EE&BME), Donald McMenemy (EE), David Miller (EE), Dhinakaran.
ISE. Tatjana Petrovic 249/982/22 ISE software tools ISE is Xilinx software design tools that concentrate on delivering you the most productivity available.
A comprehensive method for the evaluation of the sensitivity to SEUs of FPGA-based applications A comprehensive method for the evaluation of the sensitivity.
CHAPTER 3 TOP LEVEL VIEW OF COMPUTER FUNCTION AND INTERCONNECTION
System Arch 2008 (Fire Tom Wada) /10/9 Field Programmable Gate Array.
Building Asynchronous Circuits With JBits Eric Keller FPL 2001.
© 2003 Xilinx, Inc. All Rights Reserved For Academic Use Only Xilinx Design Flow FPGA Design Flow Workshop.
Heng Tan Ronald Demara A Device-Controlled Dynamic Configuration Framework Supporting Heterogeneous Resource Management.
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.
VHDL Project Specification Naser Mohammadzadeh. Schedule  due date: Tir 18 th 2.
Hardware Support for Trustworthy Systems Ted Huffmire ACACES 2012 Fiuggi, Italy.
GRECO - CIn - UFPE1 A Reconfigurable Architecture for Multi-context Application Remy Eskinazi Sant´Anna Federal University of Pernambuco – UFPE GRECO.
FPGA_Editor Probes. . Probe Overview 2 Adding a Probe : GUI Probes tie an internal signal to an output pin To Launch the GUI: Click the “probes” button.
© 2004 Mercury Computer Systems, Inc. FPGAs & Software Components Graham Bardouleau & Jim Kulp Mercury Computer Systems, Inc. High Performance Embedded.
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.
Basic Sequential Components CT101 – Computing Systems Organization.
This material exempt per Department of Commerce license exception TSU Xilinx Tool Flow.
Part A Presentation Implementation of DSP Algorithm on SoC Student : Einat Tevel Supervisor : Isaschar Walter Accompanying engineer : Emilia Burlak The.
Introductory project. Development systems Design Entry –Foundation ISE –Third party tools Mentor Graphics: FPGA Advantage Celoxica: DK Design Suite Design.
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.
JRoute: A Run-Time Routing API for FPGAs by Eric Keller JRoute RAW2000 5/1/00 ®
Field Programmable Port Extender (FPX) 1 Modular Design Techniques for the FPX.
Evaluating and Improving an OpenMP-based Circuit Design Tool Tim Beatty, Dr. Ken Kent, Dr. Eric Aubanel Faculty of Computer Science University of New Brunswick.
Silberschatz, Galvin and Gagne  Operating System Concepts UNIT II Operating System Services.
This material exempt per Department of Commerce license exception TSU Xilinx On-Chip Debug.
Simics: A Full System Simulation Platform Synopsis by Jen Miller 19 March 2004.
Connecting EPICS with Easily Reconfigurable I/O Hardware EPICS Collaboration Meeting Fall 2011.
Assignment write a short notes on 1.Manufacturing Testing. 2.Functional Testing. 3.Files and Text I/O. 4.Differentiate the cpld and fpga architecture.
ESS | FPGA for Dummies | | Maurizio Donna FPGA for Dummies Basic FPGA architecture.
Part A Final Dor Obstbaum Kami Elbaz Advisor: Moshe Porian August 2012 FPGA S ETTING U SING F LASH.
Proposal for an Open Source Flash Failure Analysis Platform (FLAP) By Michael Tomer, Cory Shirts, SzeHsiang Harper, Jake Johns
MEMORY GENERATORS MEMPRO Instructor: Dr. Anthony Johnson Presented by: Rajesh Natarajan Motheeswara Salla.
CDA 4253 FGPA System Design Xilinx FPGA Memories
Mid presentation Part A Project Netanel Yamin & by: Shahar Zuta Moshe porian Advisor: Dual semester project November 2012.
Introduction to Field Programmable Gate Arrays Lecture 1/3 CERN Accelerator School on Digital Signal Processing Sigtuna, Sweden, 31 May – 9 June 2007 Javier.
Chapter 1 Basic Concepts of Operating Systems Introduction Software A program is a sequence of instructions that enables the computer to carry.
Survey of Reconfigurable Logic Technologies
PARBIT Tool 1 PARBIT Partial Bitfile Configuration Tool Edson L. Horta Washington University, Applied Research Lab August 15, 2001.
ASIC/FPGA design flow. Design Flow Detailed Design Detailed Design Ideas Design Ideas Device Programming Device Programming Timing Simulation Timing Simulation.
Robust Low Power VLSI R obust L ow P ower VLSI Using Module Compiler to build FPGA Structures Seyi Ayorinde ECE 6505.
Dynamic Circuit Specialization of a CORDIC Processor Eric Keller Nov. 7, 2000 SPIE Photonics East.
Introduction to the FPGA and Labs
Introduction to Programmable Logic
Reconfigurable Computing
We will be studying the architecture of XC3000.
Programmable Logic- How do they do that?
THE ECE 554 XILINX DESIGN PROCESS
THE ECE 554 XILINX DESIGN PROCESS
Presentation transcript:

® Java Debug Hardware Modules Using JBits by Jonathan Ballagh Eric Keller Peter Athanas Reconfigurable Architectures Workshop 2001

®  Motivation  JBits Overview  Virtex Device Simulator  Simulator Stimulus  Hardware Modeling  RAM Model Example  Test Bench Design  Advantages/Disadvantages  Future Work/Conclusions Overview

® FPGA FPGA  Want to safely test RTR designs  Traditional simulators lack RTR support  Provide more flexibility than traditional simulators  “Black box” nature of the configuration bitstream  Design to bitstream translation is error prone Did we get what we wanted? Motivation

®  A Java API to configure Xilinx FPGA bitstream  Provides complete design control –Routing –CLB configuration  Supports run-time reconfiguration  Allows for tools to be built upon it  Example low-level configuration call: jBits.Set(row, col, S1F1.S1F1, S1F1.SINGLE_EAST0) JBits

® RTP Core Library JRoute API Device Simulator User Code BoardScope Debugger XHWIF JBits API TCP/IP The JBits Environment

®  Java based simulator for Virtex devices  Models the FPGA hardware –Interconnected flip-flops and 4-input LUTs  Determines state information of Virtex FPGA  Allows “safe” validation of designs Virtex Device Simulator FPGA FPGA

®  Supports simulation of RTR designs  No mechanism for generating external I/O  The problem: - How do we do test bench design? Virtex Device Simulator

®  Manage I/O in a separate process  SimulatorClient connects to VirtexDS server  Internal FPGA states travel over TCP/IP connection VirtexDS Simulator Server Simulator Client TCP/IP Connection FPGA FPGA Internal FPGA Signals Simulator Stimulus

®  Signals are probed and stimulated through JBits Pin resources  Example JBits Pin declaration: Pin reg_pin = new Pin(pin.CLB, 4, 9, CenterWires.S0_XQ); CLB, IOB, BRAM, or DLL Row Column JBits Resource Simulator Stimulus

®  Pins are read using readPinValue (Pin)  Vectors are read using readVector(Pin[] IOPins)  Pins are written using setPinValue(Pin, int)  Vectors are written using writeVector(int val, Pin[] IOPins)  Method waitForStep() waits for simulator clock to be stepped Simulator Stimulus - Functions

®  Models extend SimulatorClient class  Devices are modeled using behavioral Java code  Examples:  Limited only by the resources available to the “host” machine Memory Processor Control Signal Manipulation Hardware Modeling

® Read Pin Values from Simulator Determine Next State Write Pin Values to Simulator Initialization File I/O Wait for Clock Step  Generic model operation: Model Operation

® public class RAMClient extends SimulatorClient { /* class member fields */ private int[] RAMContents; /* array storing memory values */ private Pin[] addrPins; /* RAM address pins */ private Pin[] dataPins; /* RAM data I/O pins */ private Pin RWPin; /* RAM read/write pin */ private Pin CEPin; /* RAM chip enable pin */ /** * Creates an instance of the RAMClient * _addrPins - collection of RAM addr pins _dataPins - collection of RAM data pins _RWPin - RAM read/write pin _CEPin - RAM chip enable pin _RAMContents - RAM memory values * */ public RAMClient(Pin[] _addrPins, Pin[] _dataPins, Pin _RWPin, Pin _CEPin, int[] _RAMContents) {... Example: RAM

® while (stepCount < maxSteps) { /* obtain RAM address */ address = readVector(addrPins); /* check CEPin status */ if (readValue(CEPin) == 0) { /* active low */ /* check the r/w status */ if (readValue(RWPin) == 0) /* write */ RAMContents[address] = readVector(dataPins); else /* read */ writeVector(RAMContents[address], dataPins); } /* end if */ /* wait for VirtexDS to be stepped */ waitForStep(); stepCount++; } /* end while */ Example: RAM

® VirtexDS FPGA FPGA Vector Files …. ….. …. ….. XHWIF Models GUI(s) …. ….. …. ….. …. ….. …. ….. BoardScope Test Bench Design

®  Java language easily models design  Allows hardware level simulation involving proto type hardware components  Supports RTR, unlike traditional VHDL simulators  Testbench can be designed for any Virtex bitstream –Design tool is irrelevant Advantages

®  Only supports Virtex devices  No way to view asynchronous events  Only one device simulator can be open at a time  Very “low-level”… Disadvantages

®  Only 1 VirtexDS can be open at a time  Allow direct access to VirtexDS event queues, rather than with a TCP/IP connection.  Allow primitives to generate events on external models. This would allow for better timing models.  Communication between external modules  Add asynchronous event support  Use JBits User Constraints File Parser to automatically obtain Pin locations Future Work

®  Provides a method to model external hardware  Allows bitstream level debugging with VirtexDS –Which means that it supports RTR  More flexible than VHDL testbenches  Graphical model representations can be designed to complement the BoardScope graphical debugger. Conclusions

®Questions?