Efficient High-level Synthesis Design Space Exploration


Book Description

To address the increase in Very Large-Scale Integration (VLSI) design complexity, companies have started to embrace High-Level Synthesis (HLS) as an alternative to traditional Register Transfer Level (RTL) VLSI design based on low-level hardware description languages (HDLs) such as Verilog or VHDL. HLS takes high level languages, such as ANSI-C, C++ or SystemC, as input and generate efficient RTL code. One of the most salient advantages of HLS is that it allows users to generate different designs by simply changing the synthesis options. Setting different combinations of these options lead to micro-architectures with different area, latency, power trade-offs. Among all the possible micro-architectures, the designer is typically only concerned about the Pareto-optimal ones. However, due to the exponential growth of the synthesis options search space, exhaustive enumerations are not possible. Thus, most work in the HLS Design Space Exploration (DSE) domain deals with the design of efficient heuristics. The main research contribution in this dissertation has been to investigate efficient HLS DSE methods. Firstly we analyse the relationship between meta-heuristics0́9 hyper parameters and their performance. Secondly, we introduce a new method based on transfer learning. This implies that the results from previous HLS DSE results are leveraged to more efficiently explore the search space of a new, unseen behavioral description. On the other hand, raising the level of abstraction opens the door to a new service model based on Behavioral IPs (BIPs). Unfortunately not many particular methods exist to protect the BIP providers from their BIPs being illegally distribute. In this dissertation I investigate a new business model that allows to lock the search space of BIPs by partially encrypting it. This has the benefit of allowing a new price discrimination policy. BIP consumers that want a fully visible BIP would need to pay more, while BIPs what only want a partially explorable BIP are expected to pay less. Finally, this dissertation investigates the use of embedded Field Programmable Gate Arrays (eFPGAs) in the context of BIP logic locking by judiciously extracting a portion of a BIP for HLS onto an eFPGA while mapping the rest on an Application Specific Integrated Circuit (ASIC).




High-Level Synthesis


Book Description

This book presents an excellent collection of contributions addressing different aspects of high-level synthesis from both industry and academia. It includes an overview of available EDA tool solutions and their applicability to design problems.




Algorithms for Coupling Circuit and Physical Synthesis with High-level Design-space Exploration of 2D and 3D Systems


Book Description

With increasing complexity and size of VLSI systems, RTL can no longer be a viable design entry point. On the other hand, higher levels of abstraction takes the design description farther away from the physical characteristics of the system, making valuable, and necessary information unavailable to the synthesis process leading to problems in achieving design convergence. This work addresses three significant problems in providing a direct link to circuit and physical synthesis during high level design space exploration. (1) Developing methodologies for coupling circuit synthesis with high level synthesis design-space exploration for the design of high performance DSP designs, (2) Developing algorithms to couple high level synthesis with physical synthesis by performing incremental placement during high level synthesis design-space exploration, (3) Developing algorithms to couple high level synthesis and physical synthesis for vertically integrated 3D systems by performing simultaneous scheduling, binding and layer assignment for resources; and finding the best possible methodology for the performance optimization in terms of interconnect lengths in the critical path and inter-layer vias. Unlike previous research efforts that concentrate on obtaining estimates, our work aims at directly coupling high level synthesis decisions with circuit and layout synthesis. The proposed approaches allow us to examine larger design spaces to synthesize better designs, which would otherwise be pruned by a top-down synthesis flow. To leverage circuit level optimizations during high level design space exploration, we propose a methodology for performing on-demand resource topology modification using partial evaluation for constant operands during synthesis of application specific DSP circuits. We also propose a methodology to perform on-demand resizing of resources for the generation of constraint satisfying RTL at the end of behavioral synthesis. In order to integrate physical synthesis during high level exploration, we propose a methodology to perform incremental global placement in a high level synthesis framework. The high level exploration system uses a delay budget driven incremental placement engine for the generation of constraint satisfying placed RTL structures. We also demonstrate the application of the placement methodology to account for resource resizing that changes resource dimensions impacting the physical RTL structure and associated interconnect characteristics. We extend the scope of our work to address behavioral synthesis for vertically integrated three-dimensional systems and propose a methodology to perform physical-aware synthesis for these systems. The emergence of three-dimensional systems has provided novel avenues for miniaturization; delay and power minimization. We propose a methodology to perform simultaneous scheduling, binding and layer assignment for vertically integrated three dimensional systems. By choosing judicious cost functions, both the inter-layer vias and the total length of interconnects in the critical path can be minimized. We analyze the advantages these systems offer and how they can be leveraged during synthesis to obtain the best trade-off between minimization of inter-layer vias and the total length of interconnects in the critical path.




High-level Synthesis


Book Description

Are you an RTL or system designer that is currently using, moving, or planning to move to an HLS design environment? Finally, a comprehensive guide for designing hardware using C++ is here. Michael Fingeroff's High-Level Synthesis Blue Book presents the most effective C++ synthesis coding style for achieving high quality RTL. Master a totally new design methodology for coding increasingly complex designs! This book provides a step-by-step approach to using C++ as a hardware design language, including an introduction to the basics of HLS using concepts familiar to RTL designers. Each chapter provides easy-to-understand C++ examples, along with hardware and timing diagrams where appropriate. The book progresses from simple concepts such as sequential logic design to more complicated topics such as memory architecture and hierarchical sub-system design. Later chapters bring together many of the earlier HLS design concepts through their application in simplified design examples. These examples illustrate the fundamental principles behind C++ hardware design, which will translate to much larger designs. Although this book focuses primarily on C and C++ to present the basics of C++ synthesis, all of the concepts are equally applicable to SystemC when describing the core algorithmic part of a design. On completion of this book, readers should be well on their way to becoming experts in high-level synthesis.




Logic Synthesis and SOC Prototyping


Book Description

This book describes RTL design, synthesis, and timing closure strategies for SOC blocks. It covers high-level RTL design scenarios and challenges for SOC design. The book gives practical information on the issues in SOC and ASIC prototyping using modern high-density FPGAs. The book covers SOC performance improvement techniques, testing, and system-level verification. The book also describes the modern Xilinx FPGA architecture and their use in SOC prototyping. The book covers the Synopsys DC, PT commands, and use of them to constraint and to optimize SOC design. The contents of this book will be of use to students, professionals, and hobbyists alike.




Exploration of High-level Synthesis Techniques to Improve Computational Intensive VLSI Designs


Book Description

Optimization techniques during high level synthesis procedure are often preferred since design decisions at early stages of a design à ̄¬‚ow are believed to have a large impact on design quality. In this dissertation, we present three high-level synthesis schemes to improve the power, speed and reliability of deep submicron VLSI systems. Specià ̄¬ cally, we à ̄¬ rst describe a simultaneous register and functional unit (FU) binding algorithm. Our algorithm targets the reduction of multiplexer inputs, shortening the total length of global interconnects. In this algorithm, we introduce three graph parameters that guide our FU and register binding. They are à ̄¬‚ow dependencies, common primary inputs and common register inputs. We maximize the interconnect sharing among FUs and registers. We then present an interconnect binding algorithm during high-level synthesis for global intercon- nect reduction. Our scheme is based on the observation that not all FUs operate at all time. When idle, FUs can be reconà ̄¬ gured as pass-through logic for data transfer, reducing interconnect requirement. Our scheme not only reduces the overall length of global interconnects but also minimizes the power overhead without introducing any timing violations. Lastly, we present a register binding algorithm with the ob jective of register minimization. We have observed that not all pipelined FUs are operating at all time. Idle pipelined FUs can be used to store data temporarily, reducing stand-alone registers.







High-Level VLSI Synthesis


Book Description

The time has come for high-level synthesis. When research into synthesizing hardware from abstract, program-like de scriptions started in the early 1970' s, there was no automated path from the register transfer design produced by high-level synthesis to a complete hardware imple mentation. As a result, it was very difficult to measure the effectiveness of high level synthesis methods; it was also hard to justify to users the need to automate architecture design when low-level design had to be completed manually. Today's more mature CAD techniques help close the gap between an automat ically synthesized design and a manufacturable design. Market pressures encour age designers to make use of any and all automated tools. Layout synthesis, logic synthesis, and specialized datapath generators make it feasible to quickly imple ment a register-transfer design in silicon,leaving designers more time to consider architectural improvements. As IC design becomes more automated, customers are increasing their demands; today's leading edge designers using logic synthesis systems are training themselves to be tomorrow's consumers of high-level synthe sis systems. The need for very fast turnaround, a competitive fabrication market WhlCh makes small-quantity ASIC manufacturing possible, and the ever growing co:n plexity of the systems being designed, all make higher-level design automaton inevitable.