• 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