Systems which employ a microprocessor together with an application specific FPGA based coprocessor are common today. These applications can reduce power consumption and system costs by incorporating the microprocessor in the FPGA. For such applications, a microprocessor which has good performance, occupies a minimal amount of FPGA resources, has a good high level language software development environment and good code density is desirable. In this paper a 16 bit FPGA based microprocessor, called MSL16, optimised for such applications is described. MSL16 can be integrated with an FPGA in applications normally requiring an additional microprocessor. It utilises a stack architecture with each instruction occupying only 4 bits, leading to a small instruction set, simple datapath and control, and high code density. MSL16 was specifically designed to efficiently execute the programming language Forth. The Forth language has the desirable features of portability and high code density, and it is well suited to control, DSP, real-time and embedded applications. The design was synthesized from a VHDL description and occupies 175 Xilinx 4000E series configurable logic blocks (CLBs). It was successfully tested on a Xilinx 4006E-1 device and has a peak clock frequency of 33~MHz at room temperature.
Citation:
P.H.W. Leong, P.K. Tsang, T.K. Lee, "A FPGA Based Forth Microprocessor," fccm, pp.254, IEEE Symposium on FPGAs for Custom Computing Machines, 1998