Demonstration venue · read-only. Every page can be browsed; the buttons that would change it are switched off. Create an account to run TaxoReview on your own data. A simulation from public publication records: the people listed were not invited and did not agree to review.

Swathi T. Gurumani

dblp:31/7601 · also Swathi Tanjore Gurumani · DBLP profile ↗
← Back
17ranked-venue papers
2as first author
0since 2021 · last 2019
—ORCID · none

Domains — the database's venue-derived domains; a paper can count in several

Systems, architecture and hardware · 17 · 2 first-authorSoftware engineering, systems software and programming languages · 1

Expertise — from the expertise taxonomy: the topics of the expert's papers under the CCF categories. A weight counts papers with recency: 1 for a paper about the topic, 0.3 when the topic is its context, halved every five years.

Computer architecture, parallel and distributed computing, and storage systems
8 papers
Electronic design automation · 73% Reconfigurable computing and FPGAs · 16% Hardware reliability and fault tolerance · 6%
Computer graphics and multimedia
1 paper
Image and video coding · 100%

Topics — the 19 heaviest of 21, each with the papers that count most for it

TopicWeightPapersLastEvidence papers
Electronic design automation
high-level synthesis
1.872019
Hybrid Quick Error Detection: Validation and Debug of SoCs Through High-Level Synthesis · IEEE Trans. Comput. Aided Des. Integr. Circuits Syst. 2019
FCUDA-HB: Hierarchical and Scalable Bus Architecture Generation on FPGAs With the FCUDA Flow · IEEE Trans. Comput. Aided Des. Integr. Circuits Syst. 2016
Automated Verification Code Generation in HLS Using Software Execution Traces (Abstract Only) · FPGA 2016
Electronic design automation
hardware verification and test
0.622019
Hybrid Quick Error Detection: Validation and Debug of SoCs Through High-Level Synthesis · IEEE Trans. Comput. Aided Des. Integr. Circuits Syst. 2019
Debugging and verifying SoC designs through effective cross-layer hardware-software co-simulation · DAC 2016
Hardware reliability and fault tolerance
error detection
0.412019
Hybrid Quick Error Detection: Validation and Debug of SoCs Through High-Level Synthesis · IEEE Trans. Comput. Aided Des. Integr. Circuits Syst. 2019
Electronic design automation › hardware verification and test › design validation
post-silicon validation
0.412019
Hybrid Quick Error Detection: Validation and Debug of SoCs Through High-Level Synthesis · IEEE Trans. Comput. Aided Des. Integr. Circuits Syst. 2019
Electronic design automation › hardware verification and test › debugging
bug localization
0.212016
Debugging and verifying SoC designs through effective cross-layer hardware-software co-simulation · DAC 2016
Electronic design automation › hardware/software co-design
co-simulation
0.212016
Debugging and verifying SoC designs through effective cross-layer hardware-software co-simulation · DAC 2016
Reconfigurable computing and FPGAs
FPGA accelerator
0.212016
High Level Synthesis of Complex Applications: An H.264 Video Decoder · FPGA 2016
Reconfigurable computing and FPGAs › FPGA design flow
FPGA design space exploration
0.212016
FCUDA-HB: Hierarchical and Scalable Bus Architecture Generation on FPGAs With the FCUDA Flow · IEEE Trans. Comput. Aided Des. Integr. Circuits Syst. 2016
Reconfigurable computing and FPGAs
FPGA routing architecture
0.212016
FCUDA-HB: Hierarchical and Scalable Bus Architecture Generation on FPGAs With the FCUDA Flow · IEEE Trans. Comput. Aided Des. Integr. Circuits Syst. 2016
Electronic design automation › hardware verification and test
hardware verification
0.212016
Automated Verification Code Generation in HLS Using Software Execution Traces (Abstract Only) · FPGA 2016
Electronic design automation › hardware verification and test › hardware verification
high-level synthesis verification
0.212016
Automated Verification Code Generation in HLS Using Software Execution Traces (Abstract Only) · FPGA 2016
Electronic design automation › hardware verification and test › hardware verification
soc design verification
0.212016
Debugging and verifying SoC designs through effective cross-layer hardware-software co-simulation · DAC 2016
Hardware accelerators and domain-specific architectures
video decoder
0.212016
High Level Synthesis of Complex Applications: An H.264 Video Decoder · FPGA 2016
Electronic design automation › timing analysis
critical path analysis
0.212014
High-Level Synthesis With Behavioral-Level Multicycle Path Analysis · IEEE Trans. Comput. Aided Des. Integr. Circuits Syst. 2014
Electronic design automation
false positive elimination
0.212014
High-Level Synthesis With Behavioral-Level Multicycle Path Analysis · IEEE Trans. Comput. Aided Des. Integr. Circuits Syst. 2014
Reconfigurable computing and FPGAs
FPGA design flow
0.212014
Fast and effective placement and routing directed high-level synthesis for FPGAs · FPGA 2014
Electronic design automation
timing analysis
0.212014
High-Level Synthesis With Behavioral-Level Multicycle Path Analysis · IEEE Trans. Comput. Aided Des. Integr. Circuits Syst. 2014
Image and video coding › video coding standards
h.264 video decoding
0.112016
High Level Synthesis of Complex Applications: An H.264 Video Decoder · FPGA 2016
Debugging and program repair
fault localization
0.112016
Automated Verification Code Generation in HLS Using Software Execution Traces (Abstract Only) · FPGA 2016

Methods — techniques the papers use, named apart from their topics

watchdog timer · 0.5software execution traces · 0.5instrumentation · 0.5code conversion for synthesizability · 0.5HLS optimization · 0.5quick error detection · 0.4cycle-accurate systemc simulation · 0.2cross-layer co-simulation · 0.2RTL generation · 0.2CUDA · 0.2
YearPublicationVenuePosition
2019 Hybrid Quick Error Detection: Validation and Debug of SoCs Through High-Level Synthesis
abstract
Validation and debug challenges of system-on-chips (SoCs) are getting increasingly difficult. 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. Hence, it is essential to address the validation and debug of hardware accelerators. High-level synthesis (HLS) is a promising technique to rapidly create customized hardware accelerators. In this paper, we present the hybrid quick error detection (H-QED) approach that overcomes validation and debug challenges for hardware accelerators by leveraging HLS techniques in both the presilicon and post-silicon stages. H-QED improves error detection latencies (time elapsed from when a bug is activated to when it is detected) by 2-5 orders of magnitude with one cycle latencies in presilicon scenarios and bug coverage threefold higher compared to traditional validation techniques. H-QED also uncovered previously unknown bugs in the CHStone benchmark suite, which is widely used by the HLS community. H-QED incurs an 8% accelerator area overhead with negligible silicon performance impact for post-silicon stage, and we also introduce techniques to minimize any possible intrusiveness introduced by H-QED.
Keith A. Campbell, Leon He, Swathi T. Gurumani, Kyle Rupnow, Subhasish Mitra, Deming Chen
IEEE Trans. Comput. Aided Des. Integr. Circuits Syst.5
2016 Designing high-quality hardware on a development effort budget: A study of the current state of high-level synthesis
abstract
High-level synthesis (HLS) promises high-quality hardware with minimal development effort. In this paper, we evaluate the current state-of-the-art in HLS and design techniques based on software references and architecture references. We present a software reference study developing a JPEG encoder from pre-existing software, and an architecture reference study developing an AES block encryption module from scratch in SystemC and SystemVerilog based on a desired architecture. Additionally, we develop micro-benchmarks to demonstrate best-practices in C coding styles that produce high-quality hardware with minimal development effort. Finally, we suggest language, tool, and methodology improvements to improve upon the current state-of-the-art in HLS.
Zelei Sun, Keith A. Campbell, Wei Zuo, Kyle Rupnow, Swathi T. Gurumani, Frederic Doucet, Deming Chen
ASP-DAC5
2016 Debugging and verifying SoC designs through effective cross-layer hardware-software co-simulation
abstract
Verification of modern day electronic circuits has become the bottleneck for the timely delivery of complex SoC designs. We develop a novel cross-layer hardware/software co-simulation framework that can effectively debug and verify an SoC design. We combine high-level C/C++ software with cycle-accurate SystemC hardware, uniquely identify various types of bugs, and help the hardware designer localize them. 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. Our framework is fully automated, representing an important step forward targeting fast and effective SoC design verification.
Keith A. Campbell, Leon He, Swathi T. Gurumani, Kyle Rupnow, Deming Chen
DAC4
2016 Real-time system-level implementation of a telepresence robot using an embedded GPU platform
Muhammad Teguh Satria, Swathi T. Gurumani, Keng Peng Tee, Augustine Koh, Pan Yu, Kyle Rupnow, Deming Chen
DATE2
2016 AutoSLIDE: Automatic Source-Level Instrumentation and Debugging for HLS
abstract
Improved quality of results from high level synthesis (HLS) tools have led to their increased adoption in hardware design. However, functional verification of HLS-produced designs remains a major challenge. Once a bug is exposed, designers must backtrace thousands of signals and simulation cycles to determine the underlying cause. The challenge is further exacerbated with HLS-produced non-human-readable RTL. In this paper, we present AutoSLIDE, an automated cross-layer verification framework that instruments critical operations, detects discrepancies between software and hardware execution, and traces the suspect datapath tree to identify bug source for the detected discrepancy. AutoSLIDE also maintains mappings between RTL datapath operations, LLVM-IR operations, and C/C++ source code to precisely pinpoint the root-cause of bugs to the exact line/operation in source code, substantially reducing user effort to localize bugs. We demonstrate the effectiveness by detecting and localizing bugs from former versions of the CHStone benchmark suite. Furthermore, we demonstrate the efficiency of AutoSLIDE, with low overhead in HLS time (27%), software trace gathering (10%), and significantly reduced trace size and simulation time compared to exhaustive instrumentation.
Swathi T. Gurumani, Deming Chen, Kyle Rupnow
FCCM2
2016 High Level Synthesis of Complex Applications: An H.264 Video Decoder
abstract
High level synthesis (HLS) is gaining wider acceptance for hardware design due to its higher productivity and better design space exploration features. In recent years, HLS techniques and design flows have also advanced significantly, and as a result, many new FPGA designs are developed with HLS. However, despite many studies using HLS, the size and complexity of such applications remain generally small, and it is not well understood how to design and optimize for HLS with large, complex reference code. Typical HLS benchmark applications contain somewhere between 100 to 1400 lines of code and about 20 sub-functions, but typical input applications may contain many times more code and functions. To study such complex applications, we present a case study using HLS for a full H.264 decoder: an application with over 6000 lines of code and over 100 functions. We share our experience on code conversion for synthesizability, various HLS optimizations, HLS limitations while dealing with complex input code, and general design insights. Through our optimization process, we achieve 34 frames/s at 640x480 resolution (480p). To enable future study and benefit the research community, we open-source our synthe- sizable H.264 implementation.
Xinheng Liu, Yao Chen 0008, Swathi T. Gurumani, Kyle Rupnow, Deming Chen
FPGA4
2016 FCUDA-SoC: Platform Integration for Field-Programmable SoC with the CUDA-to-FPGA Compiler
abstract
Throughput oriented high level synthesis allows efficient design and optimization using parallel input languages. Parallel languages offer the benefit of parallelism extraction at multiple levels of granularity, offering effective design space exploration to select efficient single core implementations, and easy scaling of parallelism through multiple core instantiations. However, study of high level synthesis for parallel languages has concentrated on optimization of core and on-chip communications, while neglecting platform integration, which can have a significant impact on achieved performance. In this paper, we create an automated flow to perform efficient platform integration for an existing CUDA-to-RTL throughput oriented HLS, and we open source the FCUDA tool, platform integration, and benchmark applications. We demonstrate platform integration of 16 benchmarks on two Zynq-based systems in bare-metal and OS mode. We study implementation optimization for platform integration, compare to an embedded GPU (Tegra TK1) and verify designs on a Zedboard Zynq 7020 (bare-metal) and Omnitek Zynq 7045 (OS).
Swathi T. Gurumani, Kyle Rupnow, Deming Chen
FPGA2
2016 Automated Verification Code Generation in HLS Using Software Execution Traces (Abstract Only)
abstract
Improved quality of results from high level synthesis (HLS) tools has led to their increased adoption. Despite the automated translation from high level descriptions to register-transfer level (RTL) implementations, functional verification remains a major challenge. Verification can take significantly more time than the design process; if there is a functional mismatch, developers must back-trace thousands of signals and cycles to determine underlying cause. The challenge is further exacerbated with HLS-produced RTL, which is often not human readable. To overcome these challenges, we present a verification technique that uses software-execution traces and automated insertion of verification code into the HLS-generated RTL to assist in debugging. The verification code helps pinpoint the earliest instance of RTL simulation mismatch, either caused by HLS engine bugs or design bugs, and related instructions. We also integrate a watchdog timer to examine the execution of control-flow and perform source-to-source transformation on benchmarks to take advantage of our proposed instrumentation. We also create a framework to insert various types of bugs, e.g. data-flow, control-flow and operational bugs, to evaluate our technique. We use the CHStone benchmark suite and demonstrate that our verification detects over 90% of the inserted bugs, with over 70% of them detected within 10 cycles. In addition, the proposed flow can detect real-life bugs existing in previously released versions of CHStone suite as well.
Swathi T. Gurumani, Suhaib A. Fahmy, Deming Chen, Kyle Rupnow
FPGA2
2016 FCUDA-HB: Hierarchical and Scalable Bus Architecture Generation on FPGAs With the FCUDA Flow
abstract
Recent progress in high-level synthesis (HLS) has helped raise the abstraction level of hardware design. HLS flows reduce designer effort by allowing development in a high-level language, which improves debugging, code reuse and ability to explore different implementation options. However, although the HLS process is fast, implementation and performance analysis still require lengthy logic synthesis and physical design. For design optimization, HLS tools require design space exploration to obtain parallelism at multiple levels of granularity including parallelism within a single HLS-generated core and parallelism between multiple instances of cores. Core interconnect and external bandwidth limitations can significantly impact feasible options in the design space. With many dimensions in a design space exploration, it quickly becomes infeasible to perform full logic synthesis and physical design for each possible design point. However, generation and evaluation of communications infrastructure as part of the exploration is critical to determine the system performance. Thus, in this paper, we extend the prior multilevel granularity parallelism exploration in the FCUDA HLS flow, which takes CUDA code as design input and generates a corresponding field programmable gate array implementation. Our framework performs an initial characterization of the application design space, then analytically explores the design space considering parallelism, core interconnect, and external memory bandwidth, and selects a pare-to-optimal set of designs. Our flow is completely automated to perform the exploration to characterize the analytical model, perform the exploration, select a solution, and integrate multiple instantiations of FCUDA cores via an advanced extensible interface bus interconnect. Our results demonstrate that this new FCUDA flow efficiently identifies and generates implementations with up to 5× improved system performance compared to single-level granularity parallelism (core-level optimization).
Yao Chen 0008, Swathi T. Gurumani, Yun Liang 0001, Kyle Rupnow, Jason Cong, Wen-Mei W. Hwu, Deming Chen
IEEE Trans. Comput. Aided Des. Integr. Circuits Syst.4
2016 FCUDA-NoC: A Scalable and Efficient Network-on-Chip Implementation for the CUDA-to-FPGA Flow
abstract
High-level synthesis (HLS) of data-parallel input languages, such as the Compute Unified Device Architecture (CUDA), enables efficient description and implementation of independent computation cores. HLS tools can effectively translate the many threads of computation present in the parallel descriptions into independent, optimized cores. The generated hardware cores often heavily share input data and produce outputs independently. As the number of instantiated cores grows, the off-chip memory bandwidth may be insufficient to meet the demand. Hence, a scalable system architecture and a data-sharing mechanism become necessary for improving system performance. The network-on-chip (NoC) paradigm for intrachip communication has proved to be an efficient alternative to a hierarchical bus or crossbar interconnect, since it can reduce wire routing congestion, and has higher operating frequencies and better scalability for adding new nodes. In this paper, we present a customizable NoC architecture along with a directory-based data-sharing mechanism for an existing CUDA-to-FPGA (FCUDA) flow to enable scalability of our system and improve overall system performance. We build a fully automated FCUDA-NoC generator that takes in CUDA code and custom network parameters as inputs and produces synthesizable register transfer level (RTL) code for the entire NoC system. We implement the NoC system on a VC709 Xilinx evaluation board and evaluate our architecture with a set of benchmarks. The results demonstrate that our FCUDA-NoC design is scalable and efficient and we improve the system execution time by up to 63× and reduce external memory reads by up to 81% compared with a single hardware core implementation.
Yao Chen 0008, Swathi T. Gurumani, Yun Liang 0001, Guofeng Li, Donghui Guo, Kyle Rupnow, Deming Chen
IEEE Trans. Very Large Scale Integr. Syst.2
2015 Behavioral-level IP integration in high-level synthesis
abstract
High level synthesis (HLS) quality improvements have led to its increased adoption in hardware design. In the design flow, IP reuse is critical for achieving quality of results, yet current HLS tools allow only a small set of tool-provided IPs integrated during HLS. General IP integration is then handled as an additional step either manually or using other system level tools. Performing post-HLS integration of IPs requires a clear separation of IPs from HLS-generated cores, requiring significant partitioning effort. In contrast, behavioral-level IP integration during HLS can simplify the design flow while still supporting HLS-based optimization and design space exploration. In this paper, we develop a general IP integration framework for HLS that supports fixed- and variable-latency IPs without requiring application partitioning. Using this framework that allows user-specified function/instruction-to-IP mapping, we demonstrate integration of both synthesizable and non-synthesizable IPs.
Swathi T. Gurumani, Deming Chen, Kyle Rupnow
FPT2
2015 JIT trace-based verification for high-level synthesis
abstract
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.
Magzhan Ikram, Swathi T. Gurumani, Suhaib A. Fahmy, Deming Chen, Kyle Rupnow
FPT3
2014 Integrated CUDA-to-FPGA Synthesis with Network-on-Chip
abstract
Data parallel languages such as CUDA and Open CL efficiently describe many parallel threads of computation, and HLS tools can effectively translate these descriptions into independent optimized cores. As the number of instantiated cores grows, average external memory access latency can be a significant factor in system performance. However, although each core produces outputs independently, the cores often heavily share input data. Exploiting on-chip data sharing both reduces external bandwidth demand and improves the average memory access latency, allowing the system to improve performance at the same number of cores. In this paper, we develop a network-on-chip coupled with computation cores synthesized from CUDA for FPGAs that enables on-chip data sharing. We demonstrate reduced external bandwidth demand by up to 60% (average 56%) and total application latency in cycles by up to 43% (average 27%).
Swathi T. Gurumani, Jacob Tolar, Yao Chen 0008, Yun Liang 0001, Kyle Rupnow, Deming Chen
FCCM1
2014 Fast and effective placement and routing directed high-level synthesis for FPGAs
abstract
Achievable frequency (fmax) is a widely used input constraint for designs targeting Field-Programmable Gate Arrays (FPGA), because of its impact on design latency and throughput. Fmax is limited by critical path delay, which is highly influenced by lower-level details of the circuit implementation such as technology mapping, placement and routing. However, for high-level synthesis~(HLS) design flows, it is challenging to evaluate the real critical delay at the behavioral level. Current HLS flows typically use module pre-characterization for delay estimates. However, we will demonstrate that such delay estimates are not sufficient to obtain high fmax and also minimize total execution latency.
Hongbin Zheng, Swathi T. Gurumani, Kyle Rupnow, Deming Chen
FPGA2
2014 High-Level Synthesis With Behavioral-Level Multicycle Path Analysis
abstract
High-level synthesis (HLS) tools generate register-transfer level (RTL) hardware descriptions from behavioral-level specifications through resource allocation, scheduling and binding. Traditionally, HLS tools build datapath pipelines by inserting pipeline registers to break combinational logic into single-cycle segments; accurately analyzing that the number of available cycles for signal propagation is proven to be infeasible at the RT-level. Thus, RT-level timing analyses must pessimistically assume each path has at most one cycle for signal propagation. This leads to false positives in critical-path analyses, prevents RTL synthesis tools from optimizing real critical paths, and forces HLS flows to insert pipeline registers without improving hardware quality. In this paper, we present an efficient behavioral-level multicycle path analysis (BL-MCPA) algorithm that leverages control-data flow information to reduce time complexity of multicycle path analysis from exponential to polynomial. BL-MCPA helps eliminate false positives in timing analysis, and improves the reported fmaxby 15% on average. With BL-MCPA, we avoid unnecessary pipeline register insertion, and reduce execution latency by 25% and register usage by 29% under a user fmaxconstraint of 300 MHz. Using BL-MCPA, we replace large multiplexers (MUXs) by pipelined MUX-trees and reduce execution latency of hardware by up to 67% on designs whose performance is limited by the large MUXs.
Hongbin Zheng, Swathi T. Gurumani, Deming Chen, Kyle Rupnow
IEEE Trans. Comput. Aided Des. Integr. Circuits Syst.2
2013 High-level synthesis of multiple dependent CUDA kernels on FPGA
abstract
High-level synthesis (HLS) tools provide automatic generation of hardware at the register transfer level (RTL) from algorithm descriptions written in high-level languages, enabling faster creation of custom accelerators for FPGA architectures. Existing HLS tools support a wide variety of input languages, and assist users in design space exploration through automation and feedback on designs' performance bottlenecks. This design space exploration applies techniques such as pipelining, partitioning and resource sharing in order to improve performance, and resource utilization. However, although automated exploration can find some inherent parallelism, data-parallel input source code is still superior for exposing a greater variety of parallelism. In prior work, we demonstrated automated design space exploration of GPU multi-threaded (CUDA) language source code for efficient RTL generation. In this paper, we examine the challenges in extending this automated design space exploration to multiple dependent CUDA kernels, demonstrate a step-by-step procedure for efficiently performing multi-kernel synthesis, and demonstrate the potential of this approach through a case study of a stereo matching algorithm. This study demonstrates that HLS of multiple dependent CUDA kernels can maintain performance parity with the GPU implementation, while consuming over 16X less energy than the GPU. Based on our manual procedure, we identify the key challenges in fully automating the synthesis of multi-kernel CUDA programs.
Swathi T. Gurumani, Hisham Cholakkal, Yun Liang 0001, Kyle Rupnow, Deming Chen
ASP-DAC1
2013 High-level synthesis with behavioral level multi-cycle path analysis
abstract
High-level synthesis (HLS) tools generate register transfer level (RTL) hardware descriptions through a process of resource allocation, scheduling and binding. Intuitively, RTL quality influences the logic synthesis quality. Specifically, the achievable clock rate, area, and latency in clock cycles will be determined by the RTL description. However, not all paths should receive equal logic synthesis effort - multi-cycle paths represent an opportunity to spend logic synthesis effort elsewhere to achieve better design quality. In this paper, we perform multi-cycle optimisation on chained functional operations. We couple HLS and logic synthesis synergistically so multi-cycle paths can be identified and optimised coherently across both behavioral and logic levels. In addition, we perform multi-cycle path analysis at the behavioral level efficiently. We prove that our technique examines all reachable circuit state and finds multi-cycle paths including control flow and guarding conditions that improve the flexibility and power of the technique. Compared to LegUp, we achieve average 55% execution time improvement, 29% area improvement, and 68% time-area product improvement targeting FPGA architecture.
Hongbin Zheng, Swathi T. Gurumani, Deming Chen, Kyle Rupnow
FPL2