Sunday, 8 September 2013

ALU Design (bits 0 - 3) #1


The ALU is a complex part of the Juno and all the components will not fit on a single PCB board therefore it is broken down into seperate boards as follows
  • ALU (bits 0 - 3)
  • ALU (bits 4 - 7)
  • Shifter and flag logic 

ALU (bits 0 -3)

The following schematic shows the design for the ALU (bits 0 -3).




Control 

There are 8 control inputs
  • C0 -  Combined with C1 used to select ALU operation to output; 00 = AND, 01=OR, 10=XOR, 11=ADDER
  • C1 - see above
  • CIN - Carry input from the Control Register
  • LBUSINPUTSELECT - select between the external left bus (L) or hardcoded zero (H) for the ALU's left input
  • RBUSINPUTSELECT - select between the external right bus (L) or hardcoded zero (H) for the ALU's right input
  • CINPUTSEL0 - combined with CINPUTSEL1to select the carry input into the adder; 00 = 0, 01=1, 10 = CIN, 11 = 0
  • CINPUTSEL1 - see above
  • INVB - If enabled (H) inverts the ALU's right input. Used for performing subtraction. 

 Input

There are two bus data inputs consisting of 4 bits each, bits 0 to 3. 
  1. L_0 - left bus bit 0
  2. L_1 - left bus bit 1
  3. L_2 - left bus bit 2
  4. L_3 - left but bit 3
  5. R_0 - right bus bit 0
  6. R_1 - right bus bit 1
  7. R_2 - right bus bit 2
  8. R_3 - right bus bit 3

Ouput

The output consists of 4 output bits plus the carry out from the adder which is fed into the ALU board for bits 4 to 7.  
  1. Z0 - output bus bit 0
  2. Z1 - output bus bit 1
  3. Z2 - output bus bit 2
  4. Z3 - output bus bit 3
  5. ADDERCOUT - carry out from the adder


 

No comments:

Post a Comment