MB-Lite Microprocessor - Implementation of Microblaze Instruction Set

Details
Category: Processor
Created: June 19, 2009
Updated: January 27, 2020
Language: VHDL
Other project properties
Development Status: Stable
Additional info: ASIC proven, Design done, FPGA proven, Specification done
WishBone compliant: Yes
WishBone version: n/a
License: LGPL
Description
Introduction
The MB-Lite microprocessor is a ligth-weight implementation of the Microblaze Instruction Set Architecture. It is instruction and cycle compatible with the Microblaze EDK 10.1i. It is successfully tested on older and newer Xilinx platforms (EDK 9 and 11). The design has been successfully synthesized for an Altera board as well to show platform independence.
Features
MB-Lite is a highly modular design and is therefore very simple to understand and modify. Features of the MicroBlaze architecture and MB-Lite implementation are:
- 32-bit data- and instruction bus
- Harvard architecture
- Five pipeline stages
- Cycle as well as instruction compatible with the MicroBlaze Instruction Set Architecture
- Optional interrupt support
- Optional wishbone bus
- Optional multiplier
- Optional barrel shifter
The following instructions are currently not implemented. All of these instructions are not used by the compiler (mb-gcc) or can be replaced by software libraries.
- MULH, MULHU, MULHSU
- IDIV, IDIVU (Integer Division)
- TN* (Fast Simplex Link instructions)
- F* (Floating point instructions)
- PCM* (Pattern Compare)
- WIC, WDC (Cache instructions)
- MTS, MFS, MSR* (Special purpose register instructions)
- RTBD, RTED (Return from break / exception)
Included design examples
- Integer unit directly connected to instruction- and datamemory
- Integer unit with wishbone bus wrapper
- Integer unit with address decoder
- Integer unit with address decoder and wishbone bus adapter
- SOC for synthesis purposes
Methodology
The core is designed using the two-process design methodology of Jiri Gaisler. All modules use inferred components, the design is not targeted specificly to any platform. However, currently it is only tested on a Xilinx Spartan 3 FPGA. All memory blocks and registers will synthesize to BRAM on xilinx devices.
Organization
The organization of the hardware corresponds closely to the implementation of the classic RISC pipeline of Hennesy & Patterson (Computer Organization and Design: The Hardware/Software Approach).