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.