pysimCoder
pysimCoder copied to clipboard
MZ_APO CTU education kit support
The MZ_APO is Xilinx Zynq 7010 based education board used for Computer Architectures and Real-time Systems Programming courses at Czech technical University in Prague.
The VHDL FPGA design implemented for the curse provides multiple peripherals including support to connect two DC motor kits with incremental encoder feedback. Another advanced design includes PMSM motor control peripherals which allows to connect kit to PMSM motor power electronics as well.
The plan is use kits as another target to demonstrate pysimCoder.
@beqirdio (our thesis student) started to work on the inclusion of the MZ_APO support. Due to HW education goals, there is no driver on the Linux kernel side but peripherals are directly accessed by mmap. We decided to use MZ_APO specific MMIO registers sets directly for pysimCoder target. Support for three (red green blue) rotary encoder knobs has been implemented by @beqirdio as the initial demonstration. DC motor peripherals will follow. The pull request is in preparation.
There is initial version to include MZ_APO support provided for the discussion if it is acceptable
https://github.com/beqirdio/pysimCoder/tree/devel
There is one change in the generic code part as well which helps with diagnostic message print when there is syntactic error in included RCPblk, it is very difficult to to find cause of failure to locate block generation function import failure is silent. Limitation to *.py files has been required because else there is reported huge amount of failures to import help files as the Python sources
https://github.com/beqirdio/pysimCoder/commit/8123c8e6ec011bd0ab8317942a4f1721dfd6fdd1
Comments welcomed.