System Timing

It's all about timing. Whether you're pushing dope or pushing bits, it's all about timing. You see, I bought some time with that half a million. Bought 24 years, but it could only last so long. So I'm leaving you, baby, I'm going to Milpitas to work in the exciting field of ASIC design.



A total view of system timing requires us to examine the entire circuit in a modular fashion. The following image shows the floorplan of the circuit divided into the smallest semantically meaningful modules:

This circuit uses non-overlapping two-phase clocking; we refer to the two clocks as clock A and clock B in the following analysis. Karplus timings listed in boldface represent constraints that must be provided in order for correct (or quality) operation, whereas others represent guarantees that the system provides if the former constraints are met. Italicized outputs represent actual outputs at the pins, rather than purely internal signals.

InputOutput
CLKAQAN/A
CLKBQBN/A
Data Inputs
IN7-0VAN/A
STROBE_AQBN/A
STROBE_BQBN/A
Input Latch AVBVBSA
Input Latch BVBVBSA
XORS for /BVBSAVBSA
PLA
RESTARTVAN/A
OP3-0VBSAN/A
STROBE_OPVAN/A
SB0-4VBSAVBSA
ST0BARVBSAVBSA
ST1BARVBSAVBSA
ST3BARVBSAVBSA
ST4BARVBSAVBSA
ASELN/AVBSA
CLRN/AVBSA
STOREN/AVBSA
C7-C0N/AVBSA
OUT1N/AVBSA
OUT0N/AVBSA
OEN/AVBSA
Boolean Unit
ORVBSAVBSA
ANDVBSAVBSA
NOTVBSAVBSA
XORVBSAVBSA
Boolean UnitVBSAVBSA
Shifter
Input glue logic (muxes)VBSAVBSA
Barrel shifter coreVBSAVBSA
Adder/Multiplier
Shift & AndVBSAVBSA
MUX0VBSAVBSA
AdderVBSAVBSA
OUTSTOREVBSA (from PLA)
QA (from CLKA)
QA
C7-0 strobesVBSA (from PLA)
QA (from CLKA)
QA
Output registersVBSA(data)
QA(strobe)
VASB
AccumulatorVASB(data)
VBSA(strobe)
VBSA
Output
MUX1VASB(add/mult)
VBSA(barrel)
VAVB
MUX2VAVBVAVB
COUTN/AVAVB
Output muxVAVB(MUX2)
VBSA(boolean)
VAVB
OUT_EXT7-0N/AVAVB
(Note: STROBE_A and STROBE_B do not need to be QB for the circuit to function; this assumption was made for easier analysis. OP3-0 only need to be VA for the FSM, but these opcodes are used directly as inputs to the shifters and various muxes, for which they must be VBSA. These opcode bits should not change before OE is asserted.)