Kits
›
Memoria de transistores
RU
EN
ES
Contenido
Before you start
A bit of history: how computers remembered
Lesson 1. Cell and row: a 4-bit word
1.1. The idea: memory is a lot of latches
1.2. The cell: a latch and a "tap"
1.3. The row: 4 cells with shared wires
1.4. Building
1.5. Check
Lesson 1 paste (Cmd+I)
Lesson 2. 16×4 memory: sixteen rows and picking one
2.1. The idea: pick one row out of sixteen
2.2. Why reading uses gates and not a shared wire
2.3. Building
2.4. Check
Lesson 2 paste (Cmd+I)
Lesson 3. 256×4 memory: the same circuit one level up
3.1. The idea: the address splits in half
3.2. The cost
3.3. Building
3.4. Check
Lesson 3 paste (Cmd+I)
Lesson 4. Your own memory in the processor — and the first error
4.1. What is in the machine now and how our memory differs
4.2. Memory at power-on — "whatever"
4.3. Building
4.4. Running it — and the error
4.5. Looking for the cause with the oscilloscope
Lesson 4 paste (Cmd+I)
Lesson 5. Two-phase clock: the write never meets a new address
5.1. The idea: put "new address" and "write" into different slices
5.2. Why it doesn't break now
5.3. Building
5.4. Check
Lesson 5 paste (Cmd+I)
Summary
All the parts
Instructions in pictures
Lesson 2 in pictures
← Back to the lesson: Lesson 2. 16×4 memory: sixteen rows and picking one
2
16×4 memory
a decoder picks a row, an OR gathers the output
kh
GW-03
4b
0
mA
4b
2
mD
4b
1
mQ
IN
9×
OUT
4×
DEC16
1×
AND
16×
WORD4
16×
1
OR4
20×
0
8×
Q
Q
1×
4b
0
A
3×
∞
Ctrl
+
G
RAM16x4
© 2026 Daniil Khanin · khanin.info · GW-03
8
RAM16x4
1
IN
9×
OUT
4×
A0
A1
A2
A3
D0
D1
D2
D3
WE
Q0
Q1
Q2
Q3
2
DEC16
1×
20×
DEC16
I0
A0
I1
A1
I2
A2
I3
A3
Y0
r0
Y1
r1
Y2
r2
Y3
r3
Y4
r4
Y5
r5
Y6
r6
Y7
r7
Y8
r8
Y9
r9
Y10
r10
Y11
r11
Y12
r12
Y13
r13
Y14
r14
Y15
r15
3
AND
3×
9×
AND
A
r0
B
WE
Y
w0
AND
A
r1
B
WE
Y
w1
AND
A
r2
B
WE
Y
w2
© 2026 Daniil Khanin · khanin.info · GW-03
9
RAM16x4 …
4
AND
3×
9×
AND
A
r3
B
WE
Y
w3
AND
A
r4
B
WE
Y
w4
AND
A
r5
B
WE
Y
w5
5
AND
3×
9×
AND
A
r6
B
WE
Y
w6
AND
A
r7
B
WE
Y
w7
AND
A
r8
B
WE
Y
w8
6
AND
3×
9×
AND
A
r9
B
WE
Y
w9
AND
A
r10
B
WE
Y
w10
AND
A
r11
B
WE
Y
w11
© 2026 Daniil Khanin · khanin.info · GW-03
10
RAM16x4 …
7
AND
3×
9×
AND
A
r12
B
WE
Y
w12
AND
A
r13
B
WE
Y
w13
AND
A
r14
B
WE
Y
w14
8
AND
1×
WORD4
1×
1
13×
AND
A
r15
B
WE
Y
w15
WORD4
D0
D0
D1
D1
D2
D2
D3
D3
W
w0
R
r0
O0
c0_0
O1
c0_1
O2
c0_2
O3
c0_3
© 2026 Daniil Khanin · khanin.info · GW-03
11
RAM16x4 …
9
WORD4
1×
1
10×
WORD4
D0
D0
D1
D1
D2
D2
D3
D3
W
w1
R
r1
O0
c1_0
O1
c1_1
O2
c1_2
O3
c1_3
10
WORD4
1×
1
10×
WORD4
D0
D0
D1
D1
D2
D2
D3
D3
W
w2
R
r2
O0
c2_0
O1
c2_1
O2
c2_2
O3
c2_3
11
WORD4
1×
1
10×
WORD4
D0
D0
D1
D1
D2
D2
D3
D3
W
w3
R
r3
O0
c3_0
O1
c3_1
O2
c3_2
O3
c3_3
© 2026 Daniil Khanin · khanin.info · GW-03
12
RAM16x4 …
12
WORD4
1×
1
10×
WORD4
D0
D0
D1
D1
D2
D2
D3
D3
W
w4
R
r4
O0
c4_0
O1
c4_1
O2
c4_2
O3
c4_3
13
WORD4
1×
1
10×
WORD4
D0
D0
D1
D1
D2
D2
D3
D3
W
w5
R
r5
O0
c5_0
O1
c5_1
O2
c5_2
O3
c5_3
14
WORD4
1×
1
10×
WORD4
D0
D0
D1
D1
D2
D2
D3
D3
W
w6
R
r6
O0
c6_0
O1
c6_1
O2
c6_2
O3
c6_3
© 2026 Daniil Khanin · khanin.info · GW-03
13
RAM16x4 …
15
WORD4
1×
1
10×
WORD4
D0
D0
D1
D1
D2
D2
D3
D3
W
w7
R
r7
O0
c7_0
O1
c7_1
O2
c7_2
O3
c7_3
16
WORD4
1×
1
10×
WORD4
D0
D0
D1
D1
D2
D2
D3
D3
W
w8
R
r8
O0
c8_0
O1
c8_1
O2
c8_2
O3
c8_3
17
WORD4
1×
1
10×
WORD4
D0
D0
D1
D1
D2
D2
D3
D3
W
w9
R
r9
O0
c9_0
O1
c9_1
O2
c9_2
O3
c9_3
© 2026 Daniil Khanin · khanin.info · GW-03
14
RAM16x4 …
18
WORD4
1×
1
10×
WORD4
D0
D0
D1
D1
D2
D2
D3
D3
W
w10
R
r10
O0
c10_0
O1
c10_1
O2
c10_2
O3
c10_3
19
WORD4
1×
1
10×
WORD4
D0
D0
D1
D1
D2
D2
D3
D3
W
w11
R
r11
O0
c11_0
O1
c11_1
O2
c11_2
O3
c11_3
20
WORD4
1×
1
10×
WORD4
D0
D0
D1
D1
D2
D2
D3
D3
W
w12
R
r12
O0
c12_0
O1
c12_1
O2
c12_2
O3
c12_3
© 2026 Daniil Khanin · khanin.info · GW-03
15
RAM16x4 …
21
WORD4
1×
1
10×
WORD4
D0
D0
D1
D1
D2
D2
D3
D3
W
w13
R
r13
O0
c13_0
O1
c13_1
O2
c13_2
O3
c13_3
22
WORD4
1×
1
10×
WORD4
D0
D0
D1
D1
D2
D2
D3
D3
W
w14
R
r14
O0
c14_0
O1
c14_1
O2
c14_2
O3
c14_3
23
WORD4
1×
1
10×
WORD4
D0
D0
D1
D1
D2
D2
D3
D3
W
w15
R
r15
O0
c15_0
O1
c15_1
O2
c15_2
O3
c15_3
24
OR4
2×
10×
OR4
A
c0_0
B
c1_0
C
c2_0
D
c3_0
Y
g0_0
OR4
A
c4_0
B
c5_0
C
c6_0
D
c7_0
Y
g1_0
© 2026 Daniil Khanin · khanin.info · GW-03
16
RAM16x4 …
25
OR4
2×
10×
OR4
A
c8_0
B
c9_0
C
c10_0
D
c11_0
Y
g2_0
OR4
A
c12_0
B
c13_0
C
c14_0
D
c15_0
Y
g3_0
26
OR4
2×
10×
OR4
A
g0_0
B
g1_0
C
g2_0
D
g3_0
Y
Q0
OR4
A
c0_1
B
c1_1
C
c2_1
D
c3_1
Y
g0_1
© 2026 Daniil Khanin · khanin.info · GW-03
17
RAM16x4 …
27
OR4
2×
10×
OR4
A
c4_1
B
c5_1
C
c6_1
D
c7_1
Y
g1_1
OR4
A
c8_1
B
c9_1
C
c10_1
D
c11_1
Y
g2_1
28
OR4
2×
10×
OR4
A
c12_1
B
c13_1
C
c14_1
D
c15_1
Y
g3_1
OR4
A
g0_1
B
g1_1
C
g2_1
D
g3_1
Y
Q1
29
OR4
2×
10×
OR4
A
c0_2
B
c1_2
C
c2_2
D
c3_2
Y
g0_2
OR4
A
c4_2
B
c5_2
C
c6_2
D
c7_2
Y
g1_2
© 2026 Daniil Khanin · khanin.info · GW-03
18
RAM16x4 …
30
OR4
2×
10×
OR4
A
c8_2
B
c9_2
C
c10_2
D
c11_2
Y
g2_2
OR4
A
c12_2
B
c13_2
C
c14_2
D
c15_2
Y
g3_2
31
OR4
2×
10×
OR4
A
g0_2
B
g1_2
C
g2_2
D
g3_2
Y
Q2
OR4
A
c0_3
B
c1_3
C
c2_3
D
c3_3
Y
g0_3
32
OR4
2×
10×
OR4
A
c4_3
B
c5_3
C
c6_3
D
c7_3
Y
g1_3
OR4
A
c8_3
B
c9_3
C
c10_3
D
c11_3
Y
g2_3
© 2026 Daniil Khanin · khanin.info · GW-03
19
RAM16x4 …
33
OR4
2×
10×
OR4
A
c12_3
B
c13_3
C
c14_3
D
c15_3
Y
g3_3
OR4
A
g0_3
B
g1_3
C
g2_3
D
g3_3
Y
Q3
34
Ctrl
+
G
Library
…
Chip N
2×
Library
…
RAM16x4
Enter
RAM16x4
A0
A1
A2
A3
D0
D1
D2
D3
WE
Q0
Q1
Q2
Q3
© 2026 Daniil Khanin · khanin.info · GW-03
20
CANVAS
35
0
5×
5×
0
mA0
0
mA1
0
mA2
0
mA3
0
mD0
36
0
3×
3×
0
mD1
0
mD2
0
mD3
37
Q
Q
1×
1×
WE
WE
mWE
38
RAM16x4
1×
13×
RAM16x4
A0
mA0
A1
mA1
A2
mA2
A3
mA3
D0
mD0
D1
mD1
D2
mD2
D3
mD3
WE
mWE
Q0
mQ0
Q1
mQ1
Q2
mQ2
Q3
mQ3
© 2026 Daniil Khanin · khanin.info · GW-03
21
CANVAS …
39
4b
0
A
3×
4b
0
mA
4b
0
mD
4b
0
mQ
40
4b
0
mA
⚙
4b
8b
HEX
PIN
mA
mD
mQ
Enter
4b
0
mA
4b
1
mD
WE
WE
4b
1
mQ
4b
1
mA
4b
2
mD
WE
WE
4b
2
mQ
4b
0
mA
4b
2
mD
4b
1
mQ
© 2026 Daniil Khanin · khanin.info · GW-03
22
← Back to the lesson
Lesson 2. 16×4 memory: sixteen rows and picking one