Testing the RAM

Writing to the RAM

When the test program reaches Step 20, the counter outputs A4 and A5 are both low and the UUT is initialized. Now Group 2 channels (including channels 8 - 9) are redefined as receivers with well-defined inputs.

At Step 20, Group 3 (D0, D3, including channels 16-19) is now reversed and outputs 0000 (0x0) to the board. LSB Address lines A0 - A3 are set to 0x0.

At Step 21 (table below), WR is driven low at Channel 3 to enable writing to RAM. In Step 22, WR is returned high. Three steps are used for each WR cycle: (1) to avoid “races” within the UUT, (2) to assure that data and address inputs are stable when the WR signal is applied, and (3) to assure that data and address inputs are static while WR is active.

These three steps repeat 64 times. Data is written to all memory locations. For the first 16 locations, data written to RAM is set to the address on lines A0-A3. In the second 16, it is inverted. In the third 16, 0xAA is written and in the final 16 locations, 0x55 is written.

After the first 16 write cycles, channel 0 is clocked to increment the counter to state 01 while writing continues for the next 16 cycles, etc. Step 214 completes writing to RAM.

The table below describes DIO channels and steps that have been implemented to write data to RAM.

 
I/O Ch
0
1
2
3
4
5
6
7
8
9
16
17
18
19
 
Ch. Group Direction
 
Group
1
1
1
1
1
1
1
1
2
2
3
3
3
3
Step
Label
1
2
3
4
5
6
7
8
Cmd
Op/
Label
CLK
CLR
RD
WR
AO
A1
A2
A3
A4
A5
D0
D1
D2
D3
20
RAMTEST
0
I
0
 
 
 
 
 
 
 
1
1
1
1
0
0
0
0
X
X
X
X
X
X
21
WR0
0
I
0
 
 
 
 
 
 
 
1
1
1
0
0
0
0
0
0
0
0
0
0
0
22
 
0
I
0
 
 
 
 
 
 
 
1
1
1
1
0
0
0
0
0
0
0
0
0
0
23
 
0
I
0
 
 
 
 
 
 
 
1
1
1
1
1
0
0
0
0
0
1
0
0
0
24
WR1
0
I
0
 
 
 
 
 
 
 
1
1
1
0
1
0
0
0
0
0
1
0
0
0
25
 
0
I
0
 
 
 
 
 
 
 
1
1
1
1
1
0
0
0
0
0
1
0
0
0
26
 
0
I
0
 
 
 
 
 
 
 
1
1
1
1
0
1
0
0
0
0
0
1
0
0
27
WR2
0
I
0
 
 
 
 
 
 
 
1
1
1
0
0
1
0
0
0
0
0
1
0
0
28
 
0
I
0
 
 
 
 
 
 
 
1
1
1
1
0
1
0
0
0
0
0
1
0
0
 
64
 
0
I
0
 
 
 
 
 
 
 
1
1
1
1
0
1
1
1
0
0
0
1
1
1
65
 
0
I
0
 
 
 
 
 
 
 
1
1
1
1
1
1
1
1
0
0
1
1
1
1
66
WR15
0
I
0
 
 
 
 
 
 
 
1
1
1
0
1
1
1
1
0
0
1
1
1
1
67
 
0
I
0
 
 
 
 
 
 
 
1
1
1
1
1
1
1
1
0
0
1
1
1
1
68
 
0
I
0
 
 
 
 
 
 
 
0
1
1
1
1
1
1
1
0
0
1
1
1
1
69
 
0
I
0
 
 
 
 
 
 
 
1
1
1
1
1
1
1
1
1
1
0
0
0
0
70
WR16
0
I
0
 
 
 
 
 
 
 
1
1
1
0
1
1
1
1
1
0
0
0
0
0
71
 
0
I
0
 
 
 
 
 
 
 
1
1
1
1
1
1
1
1
1
0
0
0
0
0
72
 
0
I
0
 
 
 
 
 
 
 
1
1
1
1
0
1
1
1
1
0
1
0
0
0
 
204
 
0
I
0
 
 
 
 
 
 
 
1
1
1
0
1
1
0
0
0
0
1
0
1
0
205
 
0
I
0
 
 
 
 
 
 
 
1
1
1
1
0
0
1
1
1
1
0
1
0
1
206
 
0
I
0
 
 
 
 
 
 
 
1
1
1
1
1
0
1
1
1
1
0
1
0
1
207
WR61
0
I
0
 
 
 
 
 
 
 
1
1
1
0
1
0
1
1
1
1
0
1
0
1
208
 
0
I
0
 
 
 
 
 
 
 
1
1
1
1
1
0
1
1
1
1
0
1
0
1
209
 
0
I
0
 
 
 
 
 
 
 
1
1
1
1
0
1
1
1
1
1
0
1
0
1
210
WR62
0
I
0
 
 
 
 
 
 
 
1
1
1
0
0
1
1
1
1
1
0
1
0
1
211
 
0
I
0
 
 
 
 
 
 
 
1
1
1
1
0
1
1
1
1
1
0
1
0
1
212
 
0
I
0
 
 
 
 
 
 
 
1
1
1
1
1
1
1
1
1
1
0
1
0
1
213
WR63
0
I
0
 
 
 
 
 
 
 
1
1
1
0
1
1
1
1
1
1
0
1
0
1
214
 
0
I
0
 
 
 
 
 
 
 
1
1
1
1
1
1
1
1
1
1
0
1
0
1

     Writing to RAM

Reading from RAM

To complete the test, all RAM locations are read back. In Step 215, the direction of Group 3 (channels 16-19) is changed to input. The expected data is defined only when the RD signal is set low.

After reading the first 16 locations, the Counter advances to the position (Step 264) to initiate an additional cycle to read the next 16 locations, etc.

The table below describes DIO channels and steps for reading the RAM. The result of this reading can then be compared to the data actually written to RAM.

 
I/O Ch
0
1
2
3
4
5
6
7
8
9
16
17
18
19
 
Ch. Group Direction
 
Group
1
1
1
1
1
1
1
1
2
2
3
3
3
3
Step
Label
1
2
3
4
5
6
7
8
Cmd
Op/
Label
CLK
CLR
RD
WR
AO
A1
A2
A3
A4
A5
D0
D1
D2
D3
215
STRTRD
0
I
I
 
 
 
 
 
 
 
0
1
1
1
0
0
0
0
1
1
X
X
X
X
216
 
0
I
I
 
 
 
 
 
 
 
1
1
1
1
0
0
0
0
0
0
X
X
X
X
217
RD0
0
I
I
 
 
 
 
 
 
 
1
1
0
1
0
0
0
0
0
0
0
0
0
0
218
 
0
I
I
 
 
 
 
 
 
 
1
1
1
1
0
0
0
0
0
0
X
X
X
X
219
WR3
0
I
I
 
 
 
 
 
 
 
1
1
1
1
1
0
0
0
0
0
X
X
X
X
220
RD1
0
I
I
 
 
 
 
 
 
 
1
1
0
1
1
0
0
0
0
0
1
0
0
0
221
 
0
I
I
 
 
 
 
 
 
 
1
1
1
1
1
0
0
0
0
0
X
X
X
X
222
 
0
I
I
 
 
 
 
 
 
 
1
1
1
1
0
1
0
0
0
0
X
X
X
X
223
RD2
0
I
I
 
 
 
 
 
 
 
1
1
0
1
0
1
0
0
0
0
0
1
0
0
224
 
0
I
I
 
 
 
 
 
 
 
1
1
1
1
0
1
0
0
0
0
X
X
X
X
 
404
 
0
I
I
 
 
 
 
 
 
 
1
1
1
1
1
0
1
1
1
1
X
X
X
X
405
 
0
I
I
 
 
 
 
 
 
 
1
1
1
1
0
1
1
1
1
1
X
X
X
X
406
RD62
0
I
I
 
 
 
 
 
 
 
1
1
0
1
0
1
1
1
1
1
0
1
0
1
407
 
0
I
I
 
 
 
 
 
 
 
1
1
1
1
0
1
1
1
1
1
X
X
X
X
408
 
0
I
I
 
 
 
 
 
 
 
1
1
1
1
1
1
1
1
1
1
X
X
X
X
409
RD63
0
I
I
 
 
 
 
 
 
 
1
1
0
1
1
1
1
1
1
1
0
1
0
1
410
 
0
I
I
 
 
 
 
 
 
 
1
1
1
1
1
1
1
1
1
1
X
X
X
X

Reading from RAM