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 - Publisher Copyright:
© 2015 IEEE.
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.
KW - High-Level Synthesis
KW - JIT
KW - Trace-based Verification
UR - http://www.scopus.com/inward/record.url?scp=84963603447&partnerID=8YFLogxK
UR - http://www.scopus.com/inward/citedby.url?scp=84963603447&partnerID=8YFLogxK
U2 - 10.1109/FPT.2015.7393155
DO - 10.1109/FPT.2015.7393155
M3 - Conference contribution
AN - SCOPUS:84963603447
T3 - 2015 International Conference on Field Programmable Technology, FPT 2015
SP - 228
EP - 231
BT - 2015 International Conference on Field Programmable Technology, FPT 2015
PB - Institute of Electrical and Electronics Engineers Inc.
T2 - International Conference on Field Programmable Technology, FPT 2015
Y2 - 7 December 2015 through 9 December 2015
ER -