DocumentCode
2005092
Title
Hardware Compilation from Machine Code with M2V
Author
Meier, Karl ; Forin, Alessandro
Author_Institution
Univ. of Washington, Washington, DC, USA
fYear
2008
fDate
14-15 April 2008
Firstpage
293
Lastpage
295
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;
fLanguage
English
Publisher
ieee
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
Type
conf
DOI
10.1109/FCCM.2008.32
Filename
4724922
Link To Document