NanoBlaze: the Expandable Processor

NanoBlaze: the Expandable Processor

Details

Category: Processor

Created: April 07, 2015

Updated: January 27, 2020

Language: VHDL

Other project properties

Development Status: Beta

WishBone compliant: No

WishBone version: n/a

License: LGPL

Description

The NanoBlaze is a grow-up of the Xilinx Picoblaze microcontroller (http://www.xilinx.compicoblaze.html), hence the name.
Various sizes can be defined with the help of generic parameters:
- registerBitNb defines the data bit width
- programCounterBitNb allows to cope with different program lengths
- stackPointerBitNb adapts to various nesting depths of the subroutines
- registerAddressBitNb allows to choose the number of internal registers
- scratchPadAddressBitNb allows to manage the size of the scratchpad
- addressBitNb defines the size of the I/O space

It features an assembler written in PERL (http://www.perl.org) which runs on any operating system. The VHDL processor code contains a disassembler process which writes the current instruction in the form of a string. This can be displayed in the simulator for debugging purpose. The corresponding VHDL code is commented out for synthesis via the "pragma translate_off" clause.