I have successfully come to an end of schematics drawing. It was a challenging task, considering I had zero experience in this matter and the final design is quite complex in terms of number of components and nets. In a hope I didn’t make many mistakes I am publishing the results today and declaring the commence of construction phase.
While drawing the schematics I did some optimizations and cleanup and I changed the simulator software to account for this. Also, I still made one architectural decision and limited the width of a machine status word (MSW register) to only 8 bits. Previous design assumed 16-bits but I currently see no reason to leave as many unused bits. Even with smaller size I still have two spare bits. The instructions
MOV A, MSW and
MOV MSW, A were changed to a 8-bit version using 8-bit register. The whole updated software suite is available in downloads, with today’s date.
The schematics set contains 9 sheets – 7 sheets for the CPU and 2 sheets for memory module (which will ultimately occupy separate board, or set of boards). Here is a preview (full sized PDFs are in downloads section, along with Eagle files):
CPU – Clock generation and reset
CPU – Control Unit
CPU – Machine Status Word
CPU – Arithmetic Logic Unit (ALU)
CPU – Bus interconnects (ALUBUS-DBUS and ABUS-RBUS)
CPU – Registers – set A (MAR, PC, KSP, SP)
CPU – Registers – set B (MDR, DP, A, X, Y, PPC)
Memory – address decoder
Memory – ROM and RAM
Next up – construction. I have been thinking recently whether I really should go for wire wrapping. Considering the number of mistakes I have probably made in the schematics, this is probably a good idea. Considering the amount of boring manual work required, it sucks. Ok, I know the design was simulated but there is many things I didn’t account for – apart from a simple propagation delay of ICs, my simulator does not reflect electrical characteristics of the circuit. The thing I am most concerned about is termination of my clock signals which I am currently totally neglecting. This requires some probing and working with a scope before I know what I am doing. The bottom line is that it’s probably to early to pay money for PCBs. Or maybe I should etch my own PCBs at home using toner transfer and some highly corrosive chemicals? For now, I think I will start with wire wrapping and see how it’s going. I will report soon.