Title :
Hardware Compilation from Machine Code with M2V
Author :
Meier, Karl ; Forin, Alessandro
Author_Institution :
Univ. of Washington, Washington, DC, USA
Abstract :
Hardware compilation flows use a high-level language like C++ or Java and translate it directly to an HDL. In this paper we propose to split the problem in two; first use a regular compiler to do the front-end processing, then use the generated machine code to produce the HDL. The MIPS-to-Verilog (M2V) compiler translates blocks of MIPS machine code into a hardware design represented in Verilog. M2V is a three-pass compiler that accepts as input basic blocks extracted from MIPS ELF images and emits synthesizable Verilog for the eMIPS dynamically extensible processor. The compiler was implemented from scratch in C++. The quality of the synthesizable Verilog output compares favorably with hand-generated code for the same input.
Keywords :
C++ language; hardware description languages; microcomputers; multiprocessing systems; program compilers; reduced instruction set computing; C++; HDL; Java; M2V; MlPS-to-Verilog compiler; RISC pipeline; dynamically extensible processor; front-end processing; hand-generated code; high-level language; input basic blocks; like Hardware compilation; machine code; three-pass compiler; Acceleration; Embedded system; Geophysical measurement techniques; Ground penetrating radar; Hardware design languages; Java; Pipelines; Programmable logic arrays; Programmable logic devices; Reduced instruction set computing; HDL; M2V; Verilog; compilers; eMIPS;
Conference_Titel :
Field-Programmable Custom Computing Machines, 2008. FCCM '08. 16th International Symposium on
Conference_Location :
Palo Alto, CA
Print_ISBN :
978-0-7695-3307-0
DOI :
10.1109/FCCM.2008.32