High-Level Abstractions and Modular Debugging for FPGA Design Validation

Abstract

Design validation is the most time-consuming task in the FPGA design cycle. Although manufacturers and third-party vendors offer a range of tools that provide visibility and control of the different stages of a design, many require that the design be fully re-implemented for even simple parameter modifications or do not allow the design to be run at full speed. Designs are typically first modeled using a high-level language then later rewritten in a hardware description language, first for simulation and then later modified for synthesis. IP and third-party cores may differ during these final two stages complicating development and validation. The developed approach provides two means of directly validating synthesized hardware designs. The first allows the original high-level model written in C or C++ to be directly coupled to the synthesized hardware, abstracting away the traditional gate-level view of designs. A high-level programmatic interface allows the synthesized design to be validated directly by the software reference model. The second approach provides an alternative view to FPGAs within the scope of a traditional software debugger. This debug framework leverages partially reconfigurable regions to accelerate the modification of dynamic, software-like breakpoints for low-level analysis and provides a automatable, scriptable, command-line interface directly to a running design on an FPGA.

Document Details

Document Type
Pub Defense Publication
Publication Date
Feb 01, 2014
Source ID
10.1145/2567662

Entities

People

  • Cameron Patterson
  • Stephen Craven
  • Yousef Iskander

Organizations

  • Defense Advanced Research Projects Agency
  • United States Army
  • University of Tennessee at Chattanooga
  • Virginia Tech

Tags

Fields of Study

  • Computer science

Readers

  • Computational Modeling and Simulation
  • Parallel and Distributed Computing.
  • Systems Analysis and Design