Yes, for an experienced digital designer it's not an issue, more like of a piece of cake project, the stuff from open cores is good for the MCU interface ( all those bus states and IRQ/NMI stuff) and one has to add the logic that you've described and the ser/des for the SPI.
Sadly, I know enough to know that I don't know enough to do it myself , but if there are any takers, I can assist with the concept, schematic design and of course testing suite with whatever fruitPi or even SPI/USB cable for PC usage.
This thing should be able to emulate whatever 8 bit MCU from the series, besides doing completely new and unexpected things with the poor bus .
Oh well, I don't think I see it on the Kickstarter very soon, and I can only sponsor very marginally the project, with some German beer and tasty sausage stuff but few euros, if anybody wants to work for these peanuts, let me know .
Cheers,
DC1MC
I was stationed in Mannheim back in '66-'67 and I really like Dinkelacker beer.
If you take a step back, you might find that it's time to learn about FPGAs. Not only can you implement known blocks such as CPUs and predefined peripherals, there is no reason you can't add just anything you want.
You need to think of the modern FPGA as a virtual dumpster full of logic chips. You can make anything you want as long as it is digital (and that restriction is going away). Sure, it takes time and effort to learn the skills but it really isn't that hard. First you blink an LED and then you implement a CPU - pretty much just like that. Yes, it's helpful if you have a background in logic design but I don't think it is an absolute requirement. There are some excellent texts that take you through the design of a modern CPU like a MIPS or ARM.
This book goes from zero to a complete uC - the famous LC-3 project that you can find all over the Internet
"Introduction to Computing Systems" by Patt and Patel I really like this project. Among other things the state machine is all laid out, all you have to do is write the code. If you search Google for 'LC-3' or 'LC-3b' you will find all of the required material to implement the CPU and, better yet, the C compiler and assembler. A great learning project!
http://highered.mheducation.com/sites/0072467509/student_view0/c_to_lc-3_compiler.htmlHere's the more current document for the 'b' version which adds some 8 bit data handling:
http://users.ece.utexas.edu/~patt/09s.360N/handouts/new_byte.pdfHere are two books (one MIPS and one ARM) that have a ton of VHDL and Verilog code. In fact, a complete CPU is completely coded:
"Digital Design and Computer Architecture ARM Edition", Harris and Harris
"Digital Design and Computer Architecture 2d Edition", Harris and Harris - MIPS centric
Then there is a very detailed design of the Z80 CPU by the fellow who designed the Rabbit uP and one of the Z80 upgrades. He uses Excel spreadsheets to lay out all of the instructions and timing. Very clever! Code in Verilog
"Microprocessor Design Using Verilog HDL" Dalrymple
If you want to play in the Z80 sandbox, this is the book to buy! Just hang a Compact Flash to the project and implement CP/M with all 16 drives. Add whatever peripherals you want. Although I prefer the Nexys DDR because it has a lot of LEDs and switches, the Artix would be a great board:
https://store.digilentinc.com/nexys-4-ddr-artix-7-fpga-trainer-board-recommended-for-ece-curriculum/https://store.digilentinc.com/arty-a7-artix-7-fpga-development-board-for-makers-and-hobbyists/Either should be able to run a Z80 core at 100 MHz. Guaranteed 50 MHz. The Artix has a lot of BlockRAM so system memory isn't much of a problem and the DDR memory can be made to look static using a memory core provided free by Digilent.
And a book on implementing primitive blocks like decoders, muxes, state machines and so on:
"HDL Chip Design" Douglas J Smith. This books shows alternate methods for implementing the building blocks. Some methods are better than others.