Full Record

New Search | Similar Records

Title Robust and reliable hardware accelerator design through high-level synthesis
Publication Date
Date Accessioned
Degree PhD
Discipline/Department Electrical & Computer Engr
Degree Level doctoral
University/Publisher University of Illinois – Urbana-Champaign
Abstract System-on-chip design is becoming increasingly complex as technology scaling enables more and more functionality on a chip. This scaling-driven complexity has resulted in a variety of reliability and validation challenges including logic bugs, hot spots, wear-out, and soft errors. To make matters worse, as we reach the limits of Dennard scaling, efforts to improve system performance and energy efficiency have resulted in the integration of a wide variety of complex hardware accelerators in SoCs. Thus the challenge is to design complex, custom hardware that is efficient, but also correct and reliable. High-level synthesis shows promise to address the problem of complex hardware design by providing a bridge from the high-productivity software domain to the hardware design process. Much research has been done on high-level synthesis efficiency optimizations. This dissertation shows that high-level synthesis also has the power to address validation and reliability challenges through three automated solutions targeting three key stages in the hardware design and use cycle: pre-silicon debugging, post-silicon validation, and post-deployment error detection. Our solution for rapid pre-silicon debugging of accelerator designs is hybrid tracing: comparing a datapath-level trace of hardware execution with a reference software implementation at a fine temporal and spatial granularity to detect logic bugs. An integrated backtrace process delivers source-code meaning to the hardware designer, pinpointing the location of bug activation and providing a strong hint for potential bug fixes. Experimental results show that we are able to detect and aid in localization of logic bugs from both C/C++ specifications as well as the high-level synthesis engine itself. A variation of this solution tailored for rapid post-silicon validation of accelerator designs is hybrid hashing: inserting signature generation logic in a hardware design to create a heavily compressed signature stream that captures the internal behavior of the design at a fine temporal and spatial granularity for comparison with a reference set of signatures generated by high-level simulation to detect bugs. Using hybrid hashing, we demonstrate an improvement in error detection latency (time elapsed from when a bug is activated to when it manifests as an observable failure) of two orders of magnitude and a threefold improvement in bug coverage compared to traditional post-silicon validation techniques. Hybrid hashing also uncovered previously unknown bugs in the CHStone benchmark suite, which is widely used by the HLS community. Hybrid hashing incurs less than 10% area overhead for the accelerator it validates with negligible performance impact, and we also introduce techniques to minimize any possible intrusiveness introduced by hybrid hashing. Finally, our solution for post-deployment error detection is modulo-3 shadow datapaths: performing lightweight shadow computations in modulo-3 space for each main computation. We leverage the binding and scheduling…
Subjects/Keywords High-level synthesis (HLS); Automation; Error detection; Scheduling; Binding; Compiler transformation; Compiler optimization; Pipelining; Modulo arithmetic; Modulo-3; Logic optimization; State machine; Datapath; Control logic; Shadow datapath; Modulo datapath; Low cost; High performance; Electrical bug; Aliasing; Stuck-at fault; Soft error; Timing error; Checkpointing; Rollback; Recovery; Pre-silicon validation; Post-silicon validation; Pre-silicon debug; Post-silicon debug; Accelerator; System on a chip; Signature generation; Execution signature; Execution hash; Logic bug; Nondeterministic bug; Masked error; Circuit reliability; Hot spot; Wear out; Silent data corruption; Observability; Detection latency; Mixed datapath; Diversity; Checkpoint corruption; Error injection; Error removal; Quick Error Detection (QED); Hybrid Quick Error Detection (H-QED); Instrumentation; Hybrid co-simulation; Hardware/software; Integration testing; Hybrid tracing; Hybrid hashing; Source-code localization; Software debugging tool; Valgrind; Clang sanitizer; Clang static analyzer; Cppcheck; Root cause analysis; Execution tracing; Realtime error detection; Simulation trigger; Nonintrusive; Address conversion; Undefined behavior; High-level synthesis (HLS) bug; Detection coverage; Gate-level architecture; Mersenne modulus; Full adder; Half adder; Quarter adder; Wraparound; Modulo reducer; Modulo adder; Modulo multiplier; Modulo comparator; Cross-layer; Algorithm; Instruction; Architecture; Logic synthesis; Physical design; Algorithm-based fault tolerance (ABFT); Error detection by duplicated instructions (EDDI); Parity; Flip-flop hardening; Layout design through error-aware transistor positioning dual interlocked storage cell (LEAP-DICE); Cost-effective; Place-and-route; Field programmable gate array (FPGA) emulation; Application specific integrated circuit (ASIC); Field programmable gate array (FPGA); Energy; Area; Latency
Contributors Chen, Deming (advisor); Chen, Deming (Committee Chair); Hwu, Wen-Mei W (committee member); Wong, Martin D F (committee member); Kim, Nam Sung (committee member)
Language en
Rights Copyright 2017 Keith A. Campbell
Country of Publication us
Record ID handle:2142/99294
Repository uiuc
Date Indexed 2020-03-09
Grantor University of Illinois at Urbana-Champaign
Issued Date 2017-09-21 00:00:00

Sample Search Hits | Sample Images | Cited Works

…Chapter 7, we propose creating a redundant, but smaller “shadowdatapath based on modulo arithmetic to detect reliability problems in a design’s main datapath. HLS is critical here because it provides a clear 2 picture of the datapath of the design and…

…functional units with the goal of automating the generation of these units. We show that the use of these new functional units reduces shadow datapath cost, and enables practical scaling to larger shadow datapath widths for improved error detection…

…bit adder [39]) associated with parity prediction across functional units. While razor logic, flip-flop hardening, and parity are limited to certain kinds of faults and certain parts of a datapath, modulo shadow datapaths have none of…

…these limitations. Modulo shadow datapaths holistically protect the entire datapath from input to output, including all of the combinational logic. Modulo shadow datapaths is a general purpose error detection technique with essentially no assumptions…

…12 12 14 17 CHAPTER 3 RELATED WORK . . 3.1 Hybrid Quick Error Detection 3.2 Modulo Shadow Datapaths . . 3.3 Cross-Layer Reliability…

…vii CHAPTER 7 POST-DEPLOYMENT RESILIENCE: SHADOW DATAPATHS . . . . . . . . . . . . . . 7.1 Framework . . . . . . . . . . . . . . . . . . . 7.2 Results and Analysis . . . . . . . . . . . . . MODULO-3 . . . . . . . . . . 66 . . . . . . . . . . 66…

…enables effective sharing of expensive checksum computing resources. In Chapter 8, we take a dive into gate-level optimization to further optimize these shadow datapaths, exploring new gate-level algorithms and architectural templates for modulo arithmetic…

…effectiveness. In Chapter 9, we take shadow datapaths further by looking for cross-layer synergies with techniques for improving soft-error reliability ranging from the algorithm to the physical design level. By combining techniques, we can exploit the strength…