PLA
We use a PLA to implement our Control unit. The PLA follows this state
diagram:
The "meg" file that expresses this state diagram is:
On RESET signal going HIGH the Control Unit (CU) goes to state0. It remain=
s in
state0 until STR_OP goes HIGH. On STR_OP going HIGH the CU goes to state1.=
The
STR_OP signal comes from the user and the user should make sure that the
OP_CODE is active and stable before pulling the STR_OP signal LOW (for val=
id
opcodes please refer to The functional description). Now the CU passes control signals to=
all
the units (Boolean, Multiply, Shift and Adder) and waits for one clock cyc=
le
before pulling the OE signal HIGH (except for the MULTIPLY operation). The=
user
is expected to continuously poll the OE pin before reading the outputs. On=
OE
signal going HIGH the user is assured that the outputs are stable. For the=
next
operation, the STR_OP signal should again be pulled up before placing the =
new
opcode. It should be noted that all the operations of the ALU except for t=
he
MULTIPLY takes one clock cycle. For the MULTIPLY operation the OE signal i=
s
asserted after 16 cycles.