Reusability is FIRRTL ground: Hardware construction languages, compiler frameworks, and transformations
- 1 November 2017
- conference paper
- conference paper
- Published by Institute of Electrical and Electronics Engineers (IEEE)
Abstract
Enabled by modern languages and retargetable compilers, software development is in a virtual “Cambrian explosion” driven by a critical mass of powerfully parameterized libraries; but hardware development practices lag far behind. We hypothesize that existing hardware construction languages (HCLs) and novel hardware compiler frameworks (HCFs) can put hardware development on a similar evolutionary path by enabling new hardware libraries to be independent of underlying process technologies including FPGA mappings. We support this claim by (1) evaluating the degree with which Chisel, an existing HCL, can support powerfully parameterized libraries, and (2) introducing the concept and implementation of an HCF that uses an open-source hardware intermediate representation, FIRRTL (Flexible Intermediate Representation for RTL), to transform target-independent RTL into technology-specific RTL. Finally, we evaluate many hardware compiler transformations, including simplifying transformations, analyses, optimizations, instrumentations, and specializations, which demonstrate the power of a combined HCL and HCF approach.Keywords
This publication has 29 references indexed in Scilit:
- OpenPitonPublished by Association for Computing Machinery (ACM) ,2016
- From opencl to high-performance hardware on FPGASPublished by Institute of Electrical and Electronics Engineers (IEEE) ,2012
- Avoiding game overPublished by Association for Computing Machinery (ACM) ,2012
- ChiselPublished by Association for Computing Machinery (ACM) ,2012
- Synthesis of Platform Architectures from OpenCL ProgramsPublished by Institute of Electrical and Electronics Engineers (IEEE) ,2011
- LegUpPublished by Association for Computing Machinery (ACM) ,2011
- Trident: From High-Level Language to Hardware CircuitryComputer, 2007
- LLVM: A compilation framework for lifelong program analysis & transformationPublished by Institute of Electrical and Electronics Engineers (IEEE) ,2004
- JHDL-an HDL for reconfigurable systemsPublished by Institute of Electrical and Electronics Engineers (IEEE) ,2002
- HML, a novel hardware description language and its translation to VHDLIEEE Transactions on Very Large Scale Integration (VLSI) Systems, 2000