Publication | Closed Access
Signal-Tracing Techniques for In-System FPGA Debugging of High-Level Synthesis Circuits
45
Citations
27
References
2016
Year
EngineeringHardware Verification LanguageComputer ArchitectureDebugging ArchitectureSoftware EngineeringSignal CompressionSoftware AnalysisHigh-level SynthesisHardware SecurityIn-system Fpga DebuggingSystems EngineeringHardware Description LanguageComputer EngineeringComputer ScienceDebuggerFpga DesignLogic SynthesisHardware EmulationProgram AnalysisSoftware Testing
High-level synthesis (HLS) promises to increase designer productivity in the face of increasing field-programmable gate array sizes, and broaden the market of use, allowing software designers to reap the benefits of hardware implementation. One roadblock to HLS adoption is the lack of an in-system debugging infrastructure. Although designers can run their software code on a workstation, or simulate the register-transfer level, neither can reliably capture the behaviors, and therefore bugs, that may be present in the final system. Debugging hardware circuits in-system requires using signal-tracing to record circuit behavior for later offline analysis. In this paper, we present a debugging architecture, which automatically records key hardware signals, and relates them back to the original software source code. This architecture allows designers to debug HLS circuits in-system, in the context of the original source code. We present several signal-tracing techniques, tailored to HLS circuits, which allow a much longer execution trace to be captured. These techniques include signal compression, dynamically changing which signals are recorded cycle-by-cycle, and offline signal restoration. Compared to using an embedded logic analyzer to perform signal-tracing, our architecture increases the length of execution trace that can be recorded by 127X. For each 100 Kb of trace buffer memory, our architecture can record 15 369 executed lines of C code.
| Year | Citations | |
|---|---|---|
Page 1
Page 1