The ZPU has a well-tested port of the GNU Compiler Collection. and
μClinux. At least one group of enthusiasts have copied the popular development environment of the
Arduino and adapted it to the ZPU. There are now multiple models of the ZPU core. Besides the original Zylin cores, The Zylin core is designed for a minimal FPGA footprint, and includes a 16-bit version. The ZPUino has practical improvements for speed, can replace emulated instructions with hardware, and is embedded in a system-on-chip framework. The ZPUFlex is designed to use external memory blocks and can replace emulated instructions with hardware. Academic projects include power efficiency studies and improvements, and reliability studies. To improve speed, most implementors have implemented the emulated instructions, and added a stack cache. Beyond this, one implementor said that a two-stack architecture would permit pipelining (i.e. improving speed to one instruction per clock cycle), but this might also require compiler changes. One implementor reduced power usage by 46% with a stack cache and automated insertion of
clock gating. The power usage was then roughly equivalent to the small open-source
Amber core, which implements the ARM v2a architecture. The parts of the ZPU that would be most aided by fault-tolerance are the address bus, stack pointer and
program counter. == Instruction set ==