Each module (Registers, ALU, memory, …) has multiple input bits that control the function of the module: Whether it loads data from the bus, outputs data to the bus, resets the module, which operation it should compute, etc. The name, abbreviation in the schematic and the description of each control bit is listed in the following table:
s/a stands for synchronous/asynchronous
Program Counter (PC)
Abbreviation
Name
s/a
Description
CE
Count Enable
s
Enables incrementing the PC on the next positive clock edge
IE_PC_L
Input Enable PC Low
s
Enables loading data from the bus to the low byte of the PC
IE_PC_H
Input Enable PC High
s
Enables loading data from the bus to the high byte of the PC
OE_PC_L
Output Enable PC Low
a
Enables outputting data from the low byte of the PC to the bus
OE_PC_H
Output Enable PC High
a
Enables outputting data from the high byte of the PC to the bus
A-Register
Abbreviation
Name
s/a
Description
IE_A
Input Enable A
s
Enables loading data from the bus to the A-Register
OE_A
Output Enable A
a
Enables outputting data from the A-Register to the bus
Memory-Address-Register (MAR)
Abbreviation
Name
s/a
Description
IE_MAR_L
Input Enable MAR Low
s
Enables loading data from the bus to the low byte of the MAR
IE_MAR_H
Input Enable MAR High
s
Enables loading data from the bus to the high byte of the MAR
Arithmetic Logic Unit (ALU)
Abbreviation
Name
s/a
Description
OE_ALU
Output Enable ALU
a
Enables outputting the ALU-result to the bus
ALU_SRC
ALU Source
a
Sets the source of the ALU: 0 = arithmetic operation, 1 = bitwise operation
ALU_CIN
ALU Carry In
a
Sets the Carry In for the adders of the ALU
ALU_AOP
ALU Arithmetic Operation
a
Sets the arithmetic operation of the ALU: 0 = ADD 1 = SUB
ALU_BOP[0:2]
ALU Bitwise Operation
a
Sets the bitwise operation of the ALU: 000 = AND 001 = OR 010 = XOR 011 = NOT 100 = SHL 101 = SLR 110 = SAR 111 = ROR
Flags-Register
Abbreviation
Name
s/a
Description
IE_F
Input Enable Flags
s
Enables loading data from the bus to the Flags-Register
OE_F
Output Enable Flags
a
Enables outputting data from the Flags-Register to the bus
Memory
Abbreviation
Name
s/a
Description
MEM_WE
Memory Write Enable
s
Enables writing to RAM
MEM_EN_IO
Memory Enable Input/Output
a
Enables data flow between memory and bus (direction depends on MEM_WE )
Controller
Abbreviation
Name
s/a
Description
RSC
Reset Step Counter
a
Resets the steps counter to zero. This is executed at the end of each instruction to reduce microsteps per instruction.
Temporary-Register (TMP)
Abbreviation
Name
s/a
Description
IE_T
Input Enable TMP
s
Enables loading data from the bus to the TMP-Register
OE_T
Output Enable TMP
a
Enables outputting data from the TMP-Register to the bus
B-Register
Abbreviation
Name
s/a
Description
IE_B
Input Enable B
s
Enables loading data from the bus to the B-Register
OE_B
Output Enable B
a
Enables outputting data from the B-Register to the bus
Instruction-Register (IR)
Abbreviation
Name
s/a
Description
IE_IR
Input Enable Instruction Register
s
Enables loading data from the bus to the Instruction-Register
OE_IR
Output Enable Instruction Register
a
Enables outputting data from the Instruction-Register to the bus
X-Register
Abbreviation
Name
s/a
Description
IE_X
Input Enable X
s
Enables loading data from the bus to the X-Register
OE_X
Output Enable X
a
Enables outputting data from the X-Register to the bus
INC_X
Increment X
s
Increments the X-Register if DEC_X is low
DEC_X
Decrement X
s
Decrements the X-Register if INC_X is low
Page-Register-Buffer-Register (PRB)
Abbreviation
Name
s/a
Description
IE_PRB
Input Enable PRB
s
Enables loading data from the bus to the PRB-Register
OE_PRB
Output Enable PRB
a
Enables outputting data from the PRB-Register to the bus
7-Segment Display
Abbreviation
Name
s/a
Description
IE_7SD
Input Enable 7-Segment Display
s
Enables loading data from the bus to the 7-Segment Display (the data will be displayed immediately)
Stack Pointer (SP)
Abbreviation
Name
s/a
Description
IE_SP_L
Input Enable Stack Pointer Low
s
Enables loading data from the bus to the low byte of the Stack Pointer
IE_SP_H
Input Enable Stack Pointer High
s
Enables loading data from the bus to the high byte of the Stack Pointer
OE_SP_L
Output Enable Stack Pointer Low
a
Enables outputting data from the low byte of the Stack Pointer to the bus
OE_SP_H
Output Enable Stack Pointer High
a
Enables outputting data from the high byte of the Stack Pointer to the bus
LCD
Abbreviation
Name
s/a
Description
LCD_RS
LCD Register Select
a
Chooses between the instruction register (0) and the data register (1) of the LCD-display
LCD_E
LCD Enable
a
Writes the data that is currently present at the data pins