I've started building out the 1802 control logic from http://visual6502.org/wiki/images/6/64/Rca1802-control-reversed.gif using Logic Circuit (http://www.logiccircuit.org/). There have been a couple of things that I've had to kinda take on faith, but I seem to be getting some results.
I've been trying to create modules out of related gates, so far I've been able to get three modules working:
- The Reset/Load/Wait/Run logic (U8-U11 and U73 to 78). I had to reverse the value on the CLR line to get it to work, so there may be an issue in the original tracing, but once I put an extra inverter in the CLR line the logic in that section worked great. There are only three signals that come out of this section, /LOAD, /RESET, and the clock.
- The Johnson counter that drives the operation sequence (U133 to 139 and U190 to 193). This section has two inputs, the clock and the /RESET line. There are 7 outputs from this section, SEQ0 to SEQ7. I created special versions of D-type transparent latches that match layout of the latches in the schematic to make it easier to lay out the latches. This is an interesting section of the control logic to watch run. I attached "LEDs" to the sequence outputs so that I could follow the sequence visually. I expected each LED to light up in turn, but what happened was different. SEQ0 goes high on the rising edge of CLK0, SEQ1 goes high on the falling edge of CLK0. CLK1 raises SEQ2 and SEQ3, etc. until all of the SEQ outputs are high at the falling edge of CLK3. On the rising edge of CLK4 SEQ0 goes low, followed by SEQ1 on the falling edge of CLK4, and so on until SEQ7 goes low on the falling edge of CLK7.
- The two 3-to-8 line decoders and the enable logic (U1 to U4). I combined these 4 chips into a single module that has 5 inputs (enable, B7 to B4) and 16 outputs (i0x to iFx). I set up the module so that the 16 outputs were in the order that the appear from top to bottom in the schematic to make it easier to follow the logic.
I zipped up the Logic Circuit data file that I've been working on and put it on my Web site. You can download the file from http://www.bramblyhill.com/downloads/RCA1802-control.zip. If you download the zip file, you'll need to install the latest version of Logic Circuit from the Web site above. It does require the .NET Framework 4.0 or higher -- if you're running Windows 7 or 8 you have that installed. If you're running Windows Vista or NT you can install the Framework from Microsoft's Web site (http://www.microsoft.com/en-us/download/confirmation.aspx?id=17851) if you haven't already.