The challenges of hardware synthesis from C-like languages

@article{Edwards2005TheCO,
  title={The challenges of hardware synthesis from C-like languages},
  author={Stephen A. Edwards},
  journal={Design, Automation and Test in Europe},
  year={2005},
  pages={66-67 Vol. 1}
}
  • S. Edwards
  • Published 7 March 2005
  • Computer Science
  • Design, Automation and Test in Europe
Many techniques for synthesizing digital hardware from C-like languages have been proposed, but none have emerged as successful as Verilog or VHDL for register-transfer-level design. Familiarity is the main reason C-like languages have been proposed for hardware synthesis. Synthesize hardware from C, proponents claim, and a C programmer can be turned into a hardware designer. Another common motivation is hardware/software codesign: today's systems usually contain a mix of hardware and software… Expand
SHIM: A Language for Hardware/Software Integration
TLDR
The shim language is presented, which combines imperative C- like semantics for software and rtl-like semantics for hardware to allow a unied description of hardware/software systems. Expand
Compiling C-like Languages to FPGA Hardware: Some Novel Approaches Targeting Data Memory Organization
TLDR
The approaches to raise the level of abstraction at which hardware suitable for accelerating computationally intensive applications can be specified are described, which are based on formal optimization techniques and present some results showing the advantage of exposing the interaction between data memory system design and parallelism extraction to the compiler. Expand
Compiling C-like languages to FPGA hardware: some novel approaches targeting data memory organisation
TLDR
The approaches to raise the level of abstraction at which hardware suitable for accelerating computationally-intensive applications can be specified are described, which are based on formal optimization techniques and present some results showing the advantage of exposing the interaction between data memory system design and parallelism extraction to the compiler. Expand
A New Computing Model for C-Like Hardware Description Languages
TLDR
The result language describes both behavior and cost of designs so trade-off can be made at relative high level during synthesis process and early stage of design process, thus make it easy to optimize designs for different target applications. Expand
A memory-first language and model for hardware-software cosynthesis
  • K. Arya, F. Brewer
  • Computer Science
  • Proceedings of the 2014 Electronic System Level Synthesis Conference (ESLsyn)
  • 2014
TLDR
A memory-centric model & language tailored for hardware/software co-synthesis that sets up a large potential design space where any part of the application is realizable on any software/hardware component and enables exploitation of concurrency while simplifying implementation in either software or hardware. Expand
A Study of Hardware Programming from a Compilation Perspective
I propose a systematic review and evaluation of the use of general purpose, high-level programming languages for the design and synthesis of circuit specifications that implement algorithms directlyExpand
An OpenMP-based circuit design tool: Customizable bit-width
TLDR
Improvements to the OpenMP to HandelC translator are described, including a new compiler directive allowing customizable register width, with the goal of evaluating the variable bit-width effects and identifying further areas for improvement. Expand
Flowpaths: Compiling stack-based IR to hardware
TLDR
A new systems architecture for FPGAs, called flowpaths, is introduced, which can implement Java bytecodes or software programs written in Forth directly in an FPGA without the need for a microprocessor core. Expand
Analysis and compilation techniques for HARPO/L
TLDR
This thesis will develop a formal mathematical representation for HARPO/L, to help verify the semantics of the language, and develop a method to identify synchronization problems in shared variable access, and to simplify the implementation of atomicity in language. Expand
Compiling CHR to parallel hardware
TLDR
This paper investigates the compilation of a committed-choice rule-based language, Constraint Handling Rules (CHR), to specialized hardware circuits through the Field Programmable Gate Array (FPGA) technology, by first compiling the CHR code fragment into a low level hardware description language. Expand
...
1
2
3
4
5
...

References

SHOWING 1-10 OF 45 REFERENCES
Hardware C - A Language for Hardware Design
TLDR
Hardware C is described, a hardware description language that is based on the C programming language, extended with notions of concurrent processes, message passing, explicit instantiation of procedures, and templates, used by the HERCULES High-Level Synthesis System. Expand
Hardware synthesis from C/C++ models
TLDR
Novel approaches have helped in reducing the semantic gap, and in easing the creation of design flows that support system-level specifications in C/C++. Expand
HardwareC -- A Language for Hardware Design (Version 2.0)
TLDR
A hardware description language called HardwareC is presented, which supports both declarative and procedural semantics, has a C-like syntax, and is extended with notion of concurrent processes, message passing, timing constraints via tagging, resource constraints, explicit instantiation of models, and template models. Expand
Implementing C designs in hardware: a full-featured ANSI C to RTL Verilog compiler in action
  • D. Soderman, Yuri Panchul
  • Computer Science
  • Proceedings International Verilog HDL Conference and VHDL International Users Forum
  • 1998
TLDR
The usage of a new full-featured ANSI C to synthesizable RTL Verilog compiler for implementing system-level algorithms in hardware is described and efficient clock packing is demonstrated with a prime number generator algorithm which executes in 25x fewer clock cycles compared to Pentium software execution. Expand
Compiling Application-Specific Hardware
TLDR
This paper presents in detail CASH, a scalable compiler framework for ASH, which generates hardware from programs written in C by exploiting instruction level parallelism by using aggressive speculation and dynamic scheduling. Expand
Synthesis of hardware models in C with pointers and complex data structures
TLDR
This work presents a solution for efficiently mapping arbitrary C code with pointers and malloc/free into hardware and presents an implementation based on the SUIF framework along with case studies such as the realization of a video filter and an ATM segmentation engine. Expand
Techniques to evolve a C++ based system design language
TLDR
The development of such an extension aimed to provide a platform-independent high-level structured storage object through hiding of the low-level implementation details is shown, which results in a completely virtualised, user-extendible component, suitable for use in heterogeneous systems. Expand
System Design with SystemC
TLDR
System Design and SystemC provides a comprehensive introduction to the powerful modeling capabilities of the SystemC language, and also provides a large and valuable set of system level modeling examples and techniques. Expand
Resolution, optimization, and encoding of pointer variables for thebehavioral synthesis from C
TLDR
SpC is presented, a solution to synthesize and optimize hardware C models with pointers to multiple variables or array elements and a heuristic is used to efficiently encode the values of the pointers. Expand
An efficient implementation of reactivity for modeling hardware in the scenic design environment
TLDR
This paper presents Scenic's implementation of concurrency (signals and processes) and reactivity (waiting andwatching) and introduces the notion of delayed expression objects, orlambdas, to reduce context-switching when C++ is used as an HDL. Expand
...
1
2
3
4
5
...