TY - GEN
T1 - JIT trace-based verification for high-level synthesis
AU - Yang, Liwei
AU - Ikram, Magzhan
AU - Gurumani, Swathi
AU - Fahmy, Suhaib
AU - Chen, Deming
AU - Rupnow, Kyle
N1 - Generated from Scopus record by KAUST IRTS on 2021-03-16
PY - 2016/1/25
Y1 - 2016/1/25
N2 - High level synthesis (HLS) tools are increasingly adopted for hardware design as the quality of tools consistently improves. Concerted development effort on HLS tools represents significant software development effort, and debugging and validation represents a significant portion of that effort. However, HLS tools are different from typical large-scale software systems; HLS tool output must be subsequently verified through functional verification of the generated RTL implementation. Debugging machine-generated functionally incorrect RTL is time-consuming and cumbersome requiring back-Tracing through hundreds of signals and simulation cycles to determine the underlying error. This challenging process requires support framework in the HLS flow to enable fast and efficient pinpointing of the incorrectness in the tool. In this paper, we present a debug framework that uses just-in-Time (JIT) traces and automated insertion of verification code into the generated RTL to assist in debugging an HLS tool. This framework aids the user by quickly pinpointing the earliest instance of execution mismatch, paired with detailed information on the faulty signal, and the corresponding instruction from the application source. Using CHStone benchmarks, we demonstrate that this technique can significantly reduce bug detection latency: often with zero cycle detection.
AB - High level synthesis (HLS) tools are increasingly adopted for hardware design as the quality of tools consistently improves. Concerted development effort on HLS tools represents significant software development effort, and debugging and validation represents a significant portion of that effort. However, HLS tools are different from typical large-scale software systems; HLS tool output must be subsequently verified through functional verification of the generated RTL implementation. Debugging machine-generated functionally incorrect RTL is time-consuming and cumbersome requiring back-Tracing through hundreds of signals and simulation cycles to determine the underlying error. This challenging process requires support framework in the HLS flow to enable fast and efficient pinpointing of the incorrectness in the tool. In this paper, we present a debug framework that uses just-in-Time (JIT) traces and automated insertion of verification code into the generated RTL to assist in debugging an HLS tool. This framework aids the user by quickly pinpointing the earliest instance of execution mismatch, paired with detailed information on the faulty signal, and the corresponding instruction from the application source. Using CHStone benchmarks, we demonstrate that this technique can significantly reduce bug detection latency: often with zero cycle detection.
UR - http://ieeexplore.ieee.org/document/7393155/
UR - http://www.scopus.com/inward/record.url?scp=84963603447&partnerID=8YFLogxK
U2 - 10.1109/FPT.2015.7393155
DO - 10.1109/FPT.2015.7393155
M3 - Conference contribution
SN - 9781467390910
SP - 228
EP - 231
BT - 2015 International Conference on Field Programmable Technology, FPT 2015
PB - Institute of Electrical and Electronics Engineers Inc.
ER -