Professional Documents
Culture Documents
7 Seg 7 Seg
LED LED
BCD- BCD-
7 Seg 7 Seg
BCD Mod 6
Clock Divider
Counter Counter
POR
Kuruvilla Varghese
24
Design Issues 25
• Accuracy
– Clock Frequency
• Area
– Clock frequency, Divider
– BCD, Mod-6 or Mod-60 counter ?
• Timing
– Max frequency – Divider
• Electrical Specs
– 7 Segment LED driving
Kuruvilla Varghese
25
1
CPU Specifications 26
26
CPU Design 27
Kuruvilla Varghese
27
2
Top-down Design 28
Kuruvilla Varghese
28
CPU Level 0 29
CLK RD/
RST WR/
D7:0
Kuruvilla Varghese
29
3
CPU Level 1 30
CLK
Kuruvilla Varghese
30
CPU Level 1 31
• Data Path
– Registers, Combinational Circuit
– (R C R), (R R)
• Controller
– Finite State Machine (FSM)
– Registers, Combinational Circuit
Kuruvilla Varghese
31
4
Datapath 32
• Datapath is where data movement and computation happens. It usually comprises of registers to
hold the input/intermediate/final data values and combinational circuits implementing all the
computations.
• In the case of CPU, Register file, ALU with registers at it input, Program Counter block and Stack
pointer block forms the datapath.
• Controller provides the timing or control signals to enable various outputs of registers, give latch
signals to registers, specify the operation of combinational circuit, to select various path through
which data moves (through Multiplexers) etc.
• Controller does no computation, merely provides the timing signals.
• This helps as to partition individual blocks as at the point of partitioning individual blocks we need
not bother about sequence of operations or its timing, we need to concentrate the functionality in
terms of computation, data movement etc.
Kuruvilla Varghese
32
Controller 33
Kuruvilla Varghese
33
5
CPU Level 2: Registers 34
Kuruvilla Varghese
34
D Q D7:0
RA_E
RA_L
CK
CLK
Kuruvilla Varghese
35
6
CPU Level 2: Registers 36
Kuruvilla Varghese
36
0
D Q D7:0
D7:0 1
RA_L RA_E
CLK CK
Kuruvilla Varghese
37
7
CPU Level 2: Registers 38
• A mux steers the input to the input of the register. Problem with this
approach is that, since the clock is active always, input gets latched.
To hold the stored value, when input is not selected, output of register
is re-circulated back to the input.
• The flip side is the higher power dissipation in registers due to
continuous clocking.
Kuruvilla Varghese
38
Program Counter 39
Kuruvilla Varghese
39
8
Program Counter 40
Kuruvilla Varghese
40
D7:0
PC-RST
PC-INT
PC_L0
CLK PCS(0)
PC-IS
PC-IS
+1
PC_L1 PC_L1
CLK PC(1) CLK PC(0)
From SP
AD-S PC-OS
A15:0 PC-E
D7:0
Kuruvilla Varghese
41
9
CPU Level 2: Program Counter 42
• 3, 8-bit Registers
• 2, 8-bit 4 to 1 Multiplexers
• 1, 16 bit Incrementer
• 1, 16-bit 2 to 1 Multiplexers
• 1, 8-bit 2 to 1 Multiplexers
• 8 Tri-state gates
Kuruvilla Varghese
42
Kuruvilla Varghese
43
10
CPU Level 2: Program Counter 44
data
D7:0
PC-RST
PC-INT
PC_L0
CLK PCS(0)
PC-IS pcs
PC-IS
+1
PC_L1 PC_L1
CLK PC(1) CLK PC(0)
pco(15:8)
from-SP pco(7:0)
AD-S PC-OS
address data1
A15:0 PC-E
data D7:0
Kuruvilla Varghese
44
45
11