Paper Title
Compiler Synthesis of Multiply Accumulate (MAC) Instructions Using LLVM Backend
Abstract
Multiply Accumulate (MAC) instruction can improve computation speed, especially in operations such as matrix
calculations. FPGA-based soft-IP (intellectual property) design such as CPU-IP can be more flexible for special purpose
application scenarios. Our laboratory has designed various FPGA-based CPU designs with/without MAC supports. Since this
hardware features cannot be directly represented by high-level languages, such as C/C++, a new compiler synthesized for such
CPU becomes a must. The authors have chosen LLVM framework to develop the compiler.This approach can help designers
automatically generate or synthesis various compilersfor different CPU architectures with/without MAC. Users are relieved
from intensive knowledge of the intricate prerequisites compiler synthesis for adapting MAC instruction supports. After
understanding the hardware MAC support mechanism, CPU designers can run the proposed tool to synthesizea
MAC-instruction-supporting compiler. After the modified compiler is synthesized, the process can be integrated to the
FPGA-based CPU design flowto speed up HW/SW-co-designs. This tool enables users to automate the design process without
manually adaptingcompiler for FPGA-based CPU design flow.
Keywords - LLVM,CPU0,Automated Program