Changes from v0.1
In developing the Register Board schematic and PCB the design has undergone a change from v0.1 in that the Temp register has been removed. This greatly simplified the design and eliminated a number of ICs as the Internal Data Bus can now be connected directly to the ALU right input. The Temp register was originally intended to optimise a few operations such as adding A to itself by avoiding a memory read/write operation. On balance the simplification in complexity will hopefully outweigh the loss.Register Board v0.2 Design
The following drawing shows the Register design for the Juno. Juno has the following registers:
- A - General purpose register
- B - General purpose register
- IX(L) - Index Register low byte
- IX(H) - Index Register high byte
- SP(L) - Stack Pointer low byte
- SP(H) - Stack Pointer high byte
- PC(L) - Program Counter low byte.
- PC'(L) - Copy of the Program Counter low byte. Connected to the Address bus.
- PC(H) - Program Counter high byte.
- PC'(H) - Copy of the Program Counter high byte. Connected to the Address bus.
- MAR(L) - Memory Address Register low byte. Not visible to the programmer.
- MAR(H) - Memory Address Register high byte. Not visible to the programmer.
- Status Register
![]() |
Juno Register Design v0.2 |
Status Register
The Status Register contains the following four ALU operation flags which are set when performing a mathematical operation- V - overflow
- C - Carry
- Z - Zero
- N - Negative
- Interrupts disabled - when set interrupts are disabled.
- Reserved (for future use)
EagleCAD Board Design
The Eagle CAD schematic can be downloaded here and the PCB board here.There was not enough space on the PCB to include the Status Register components therefore this will be placed on its own dedicated PCB.
![]() |
Register Board v0.2 PCB |
EagleCAD PCB settings
- Text - size 0.04, ratio 10%, font = vector
- Mounting holes - 3.0mm mounting holes. Top left 0.20, 2.95. Bottom Right 3.75, 0.20
- Signal Net class - width 0.25mm, drill 0.25mm, clearance 0.25mm
- Power Net class - width 0.3mm, drill 0.3mm, clearance 0.3mm
- Signal 0.012inch (selected from EagleCAD's defaults)
- Power 0.016inch (selected from EagleCAD's defaults. Slightly bigger than the 0.3mm minimum)
- Ground plane on top and bottom. Isolation on polygon set to 0.012
Parts list
Part Value Package Library Position (inch) Orientation/OE_AB 1X02 pinhead (3.85 1.55) R90
/OE_REG 1X09 pinhead (1.9 0.1) R0
A 74HC574N DIL20 74xx-eu (0.4 0.9) R90
ABUS0..7 1X08 pinhead (0.9 3.05) R0
ABUS8..15 1X08 pinhead (3.85 2.35) R90
ALU-ZBUS 1X08 pinhead (3.85 0.9) R90
B 74HC574N DIL20 74xx-eu (0.85 0.9) R90
C1 0.1uF C050-030X075 rcl (0.5 0.2) R270
C2 0.1uF C050-030X075 rcl (3.05 1.65) R0
C3 0.1uF C050-030X075 rcl (1.7 1.65) R0
C5 0.1uF C050-030X075 rcl (2.15 1.65) R0
C6 0.1uF C050-030X075 rcl (0.8 0.25) R0
C7 0.1uF C050-030X075 rcl (3.4 0.2) R270
C8 0.1uF C050-030X075 rcl (1.25 0.25) R0
C9 0.1uF C050-030X075 rcl (1.7 0.25) R0
C10 0.1uF C050-030X075 rcl (2.15 0.25) R0
C11 0.1uF C050-030X075 rcl (2.6 0.25) R0
C12 0.1uF C050-030X075 rcl (3.05 0.25) R0
C15 0.1uF C050-030X075 rcl (2.6 1.65) R0
C17 10uF E5-5 rcl (1.65 3.05) R180
IX(H) 74HC574N DIL20 74xx-eu (1.75 0.9) R90
IX(L) 74HC574N DIL20 74xx-eu (1.3 0.9) R90
LBUS 1X08 pinhead (0.1 0.9) R90
L_REG 1X13 pinhead (0.1 2.1) R90
MAR(H) 74HC574N DIL20 74xx-eu (3.1 2.35) R90
MAR(L) 74HC574N DIL20 74xx-eu (2.2 2.35) R90
PC'(H) 74HC574N DIL20 74xx-eu (2.65 2.35) R90
PC'(L) 74HC574N DIL20 74xx-eu (1.75 2.35) R90
PC(H) 74HC574N DIL20 74xx-eu (2.65 0.9) R90
PC(L) 74HC574N DIL20 74xx-eu (2.2 0.9) R90
PWR 1X02 pinhead (2 3.05) R0
SP(H) 74HC574N DIL20 74xx-eu (3.55 0.9) R90
SP(L) 74HC574N DIL20 74xx-eu (3.1 0.9) R90
No comments:
Post a Comment