PLA2: ALU address calculation/carry_in


PLA2 controls the ALU for incrementing PC,
and during address calculation (for the addressing modes).

It also works as ALU carry input multiplexer during
data calculation (step 3)

For this table, SHR is always 0.

Note: if all ALU control lines are 0, ALU output is $0000.
That's how we set PC to $0000 after a RESET in step 1.

Note:
+ means, no transistor.
O means, transistor (BC847 or BC857) at this location.

    !S0-O+++++O+++++++++
     S0-+OOOOO++OO++++++
    !S1-OOOOOO++++++++++
     S1-++++++O+OO++++++
    !S2-OOOOOOO+OO++++++
     S2-+++++++O++++++++
   CMD4-+++++++++O++++++
   CMD5-++++++++O+++++++
 !CMD11-+++O+O++++++++++
  CMD11-++O+O+++++++++++
 !CMD12-++++OO++++++++++
  CMD12-++OO++++++++++++
 C_FLAG-+++++++++O++++++
 !RES_F-+OOOOO++++++++++
  !TRUE-+O++++++++++++++
   TRUE-++OOOO++++++++++
       -++++++++++++++++
       -++++++++++++++++
        ||||||||||||||||
        ++++++++++++++++-PS0
        OO+OO++O++++++++-PS1
        ++OOOOO+++++++++-PS2
        OOO++OOO++++++++-PS3
        ++++++++++++++++-GS0
        ++++++++++++++++-GS1
        ++++++++++++++++-GS2
        +++OO+++++++++++-GS3
        ++++++++++++++++-SHR
        OO++O++OOO++++++-Cin

ALU control for address calculation and incrementing PC:

 S   CMD11 CMD12 !RES_FLAG TRUE  Cin PS3..0 GS3..1 // ALU

 000 x     x     x         x     1   1010   000    // Q = reg+1
 001 x     x     1         0     1   1010   000    // Q = reg+1
 001 1     1     1         1     0   1100   000    // Q = mem
 001 0     1     1         1     0   0110   100    // Q = reg+mem  
 001 1     0     1         1     1   0110   100    // Q = reg+mem+1
 001 0     0     1         1     0   1100   000    // Q = mem
 010 x     x     x         x     0   1100   000    // Q = mem
 1xx x     x     x         x     1   1010   000    // Q = reg+1

ALU carry input multiplexer for data calculation (step 3)

 Cin  = !S2 & S1 & S0 & CMD4 & C_FLAG
 Cin |= !S2 & S1 & S0 & CMD5

[HOME] [UP]/ [BACK] [1] [2] [3] [4] [5] [6] [7] [8] [NEXT]

(c) Dieter Mueller 2005