BigEd wrote:
In order of increasing complexity then, you could have
1 - buttons and LEDs as a front panel
2 - keypad and LCD or seven-segment display
3 - serial-over-USB to a host machine
4 - onboard or PS/2 keyboard and VGA or RF out
Frankly, depending on the goal of the curriculum, I think #3 is less complex than #1.
If one of the components is a working monitor ROM, wiring up a UART/VIA seems to me to be a lot simpler than wiring up a keypad/switch and light display. There's a lot of discrete logic involved in doing that, which overcomplicates the design.
It would be a great 2nd stage project, but there's something to be said of having a system that's little more than a CPU chip, an EEPROM chip, a RAM chip, a VIA, and a clock. It's effectively an operating block diagram.
But this brings up another point.
I think this could be an interesting 2 semester course, with the first semester focused on digital logic theory, assembly, tools, etc. while the second would be actual design and creation of the computer with some control experiments in the late part of it. I don't think you could safely just start with a computer build and no digital electronics background.
It would also be nice if the design could be accomplished on a breadboard. I think they're more accessible and useable than wire wrap, and encourage experimentation. If it's a speed issue where it's simply not safe to run at 1MHz (it's too unreliable), then clock it down. I don't know much about that, though. Just seems when the cost of change is low, change can happen more often. Not doing weather modeling here, just seeing lights blink on and off is exciting.
It would actually be interesting to build it on a breadboard, boost the clock speed, watch it fail, show on test equipment (scopes, whatever) why its failing, then have a WW version going faster until it fails, and finally a PCB version. Just to help show limitations of the different techniques. No reason for the students to do this, but it would be an interesting presentation (to me at least).