Implements a subset of the PIC mid-range ISA (no SFR, no carry, no call/stack), 6 GPRs, 16 program words.
Program data is shifted in serially. For each program word, shift in {(1 << address), data} (28 bits total) to prog_data and then assert prog_strobe. Once loaded, deassert (bring high), reset and the program should start running. GPR 6 is GPI and GPR 7 is GPO
A means of shifting in the program (e.g. another microcontroller, USB GPIO interface, etc) is required at startup. Once running, it is standalone.
# | Input | Output |
---|---|---|
0 | clock | gpo0 |
1 | reset | gpo1 |
2 | prog_strobe | gpo2 |
3 | prog_data | gpo3 |
4 | gpi0 | gpo4 |
5 | gpi1 | gpo5 |
6 | gpi2 | gpo6 |
7 | gpi3 | gpo7 |