High-level abstractions and modular debugging for FPGA design validation

Y Iskander, C Patterson, S Craven - ACM Transactions on …, 2014 - dl.acm.org
Y Iskander, C Patterson, S Craven
ACM Transactions on Reconfigurable Technology and Systems (TRETS), 2014dl.acm.org
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 …
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.
ACM Digital Library
Showing the best result for this search. See all results