1 |
2 |
fabiop |
# FPz8 - An open-source VHDL implementation of the Zilog Z8 encore
|
2 |
|
|
|
3 |
3 |
fabiop |
FPz8 mk1 v0.99
|
4 |
2 |
fabiop |
|
5 |
5 |
fabiop |
- Version: 0.99 Nov, 24th, 2016 (changed LDWX instruction, interrupts, condition code function, debugger command processor)
|
6 |
|
|
- Version: 0.91 Nov, 15th, 2016
|
7 |
|
|
- Version: 0.9 Nov, 11th, 2016
|
8 |
2 |
fabiop |
|
9 |
3 |
fabiop |
FPz8 is a softcore almost 100% object-code compatible with the Z8 encore microcontroller line. Current implementation includes
|
10 |
|
|
2kb of file registers (RAM), 16kb of program memory (using FPGA RAM), 8 vectored interrupts with programmable priority,
|
11 |
|
|
full-featured onchip debugger 100% compatible with Zilog's OCD and ZDS-II IDE.
|
12 |
|
|
It was designed to work as a SoC and everything (except the USB chip) fits inside a single FPGA (I have used an Altera
|
13 |
|
|
Cyclone IV EP4CE6 device). The debugger connection makes use of a serial-to-USB chip (it is part of the low-cost FPGA
|
14 |
|
|
board used on the project).
|
15 |
2 |
fabiop |
In a near future I plan to add some more features to the device (such as a timer and maybe other peripherals).
|
16 |
3 |
fabiop |
The idea behind the FPz8 was to learn more on VHDL and FPGAs (this is my second design using these technologies). I also
|
17 |
|
|
believe FPz8 can be a very interesting tool for learning/teaching VHDL, computing and microprocessors/microcontrollers
|
18 |
|
|
programming.
|
19 |
2 |
fabiop |
|
20 |
3 |
fabiop |
You are free to use and to modify FPz8 to fit your needs, except for comercial use (I don't expect anyone would do that anyway).
|
21 |
|
|
If you want to contribute to the project, contact me and share your thoughts.
|
22 |
2 |
fabiop |
Don't forget to credit the author!
|
23 |
|
|
|
24 |
|
|
Note: currently there are only a few SFRs physically implemented, they are:
|
25 |
|
|
0xFC0 - IRQ0
|
26 |
|
|
0xFC1 - IRQ0ENH
|
27 |
|
|
0xFC2 - IRQ0ENL
|
28 |
|
|
0xFCF - IRQCTL
|
29 |
|
|
0xFD2 - PAIN
|
30 |
|
|
0xFD3 - PAOUT
|
31 |
|
|
0xFF8 - FCTL
|
32 |
|
|
0xFFC - FLAGS
|
33 |
|
|
0xFFD - RP
|
34 |
|
|
0xFFE - SPH
|
35 |
|
|
0xFFF - SPL
|
36 |
|
|
|
37 |
3 |
fabiop |
What else is missing from the original architecture?
|
38 |
|
|
A: no watchdog (WDT instruction runs as a NOP), no LDE and LDEI instructions (data memory related), no option bytes,
|
39 |
|
|
no data memory related debug commands, no CRC debug command, no ID bytes
|
40 |
|
|
|
41 |
|
|
FPz8 was tested on an EP4CE6 mini board (50MHz clock)
|
42 |
|
|
http://www.ebay.com/itm/EP4CE6-Mini-Board-USB-Blaster-Altera-Cyclone-IV-FPGA-CPLD-Nano-Size-
|
43 |
|
|
|
44 |
2 |
fabiop |
This work is licensed under the Creative Commons Attribution 4.0 International License.
|
45 |
|
|
To view a copy of this license, visit http://creativecommons.org/licenses/by/4.0/.
|