Python Hardware Processor -> pyCPU Intro
The Python Hardware Processsor is a implementation of a Hardware CPU in Myhdl. The CPU can directly execute something very similar to python bytecode (but only a very restricted instruction set). The Programm code for the CPU can be written directly in python (very restricted parts of python). This code is then converted by a small python programm to this restricted python bytecode. Since the hardware description is also in python, the slightly modified bytecode an then automatically loaded into the CPU design.
Most “bytecode” instructions are executed in the Hardware CPU with one instruction per cycle. If you have enought hardware available you can simply instantiate more cores on an FPGA with different Programmcode to make them run in parallel.
Due to the python nature of Myhdl and the Python Hardware Prozessor written with it, it
allows you, to write a Programm for the prozessor, to simulate the Hardware Processor
and to convert the Processor to a valid hardware description (VHDL or Verilog) inside
a single python environment.