160 likes | 177 Views
EKT 221 : Digital 2 One FF per State. Today’s Outline. Designing CU – One FF per State Method 5 Transformation Rules Transformation Process Microprogrammed Control Unit. Designing CU One Flip-Flop per State Method. 1 FF is assigned to each state
E N D
Today’s Outline • Designing CU – One FF per State Method • 5 Transformation Rules • Transformation Process • Microprogrammed Control Unit
Designing CUOne Flip-Flop per State Method • 1 FF is assigned to each state • At any one time, only one FF is high, the rest contain 0 (low) • The design starts with the ASM chart, and replaces • State Boxes with flip-flops, • Scalar Decision Boxes with a demultiplexer with 2 outputs, • Vector Decision Boxes with a (partial) demultiplexer • Junctions with an OR gate, and • Conditional Outputs with AND gates.
Each state box transforms to a D Flip-Flop Entry point is connected to the input. Exit point is connected to the Q output. 1. State Box Transformation Rules
Entry DEMUX D0 D1 EN A0 X Exit 1 Exit 0 2. Scalar Decision Box Transformation Rules • Each Decision box transforms to a Demultiplexer • Entry points are "Enable" inputs. • The Condition is the "Select" input. • Decoded Outputs are the Exit points.
3. Conditional Output Box Transformation Rules • Entry point is Enable input. • The Condition is the "Select" input. • Demultiplexer Outputs are the Exit points. • The Control OUTPUT is the same signal as the exit value.
4. Vector Decision Box Transformation Rules • Each Decision box transforms to a Demultiplexer • Entry point is Enable inputs. • The Conditions are the Select inputs. • Demultiplexer Outputs are the Exit points.
5. Junction Transformation Rules • Where two or more entry points join, connect the entry variables to an OR gate • The Exit is the output of the OR gate
Transformation • Replace each state with D FF (IDLE, MUL0 & MUL1) • Replace decision boxes with demultiplexer, decision variable as its selection input (G & Z), Q0 use rule 3 as it’s condition goes to the same state • Each junction is replaced by an OR gate. • For output refer back to CU Table : Table 8.1 • Initialize = IDLE · G • Load = MUL0 · Q0 • Clear_C = IDLE · G + MUL1 • Shift_dec = MUL1
Transformation • Initialize = IDLE · G • Load = MUL0 · Q0 • Clear_C = IDLE · G + MUL1 • Shift_dec = MUL1 • State Box D FF • Decision Box Demux • Junction OR gate • Conditional AND gate Corrections: Demux Z, D0 goes to MUL0 D1 goes to MUL1
Speeding up the Multiplier • In processing each bit of the multiplier, the circuit visits states MUL0 and MUL1 in sequence. • By redesigning the multiplier, is it possible to visit only a single state per bit processed? • Remember the Alternative ASM • (try and do it yourself at home/hostel)
Microprogrammed Control • Microprogrammed Control— a control unit with binary control values stored as words in memory. • Microinstructions— words in the control memory. • Microprogram— a sequence of microinstructions. • Control Memory— RAM or ROM memory holding the microinstructions. • Writeable Control Memory— RAM Memory into which microinstructions may be written
Microprogrammed CU Organization Control Memoryis assumed to be a ROM which all control microprograms are permanently stored. The control address register (CAR)specifies the add. of the microinstructions. The control data register (CDR),which is optional, may hold the microinstructions currently being executed by the datapath and the CU When a microinstruction is executed, the next-address generator (NAG) produces the next address. The NAG + CAR is sometimes called a microprogram sequencer. Fig. 8.17: Morris Mano, pg 391
Next Lecture • Memory Basics • Random Access Memory (RAM) • Write and Read Operations • Properties of Memories • SRAM • Integrated Circuits • Coincident Selection • Array of SRAM ICs • Constructing SRAM for extended Address Line • Constructing SRAM for extended Word bits