!!!! 6 0 1 986749944 Va9c6 ! Device : 74ls208 ! Function : Static RAM 3-state 256 x 4 ! revision : B.01.00 ! safeguard : high_out_lsttl ! Modifications : Modified for AwareTest xi ! warning "This library has not been verified with hardware." sequential ! warning "Pull-ups are required to test high-impedance outputs." assign VCC to pins 20 assign GND to pins 10 assign Data_input to pins 19,5,9,11 assign Data_output to pins 15,14,13,12 assign Address to pins 18,8,7,6,4,3,2,1 assign Data_in_D0 to pins 11 !AT Added for minimum pin test. assign Data_in_D1 to pins 9 !AT Added for minimum pin test. assign Data_in_D2 to pins 5 !AT Added for minimum pin test. assign Data_in_D3 to pins 19 !AT Added for minimum pin test. assign Data_out_D0 to pins 12 !AT Added for minimum pin test. assign Data_out_D1 to pins 13 !AT Added for minimum pin test. assign Data_out_D2 to pins 14 !AT Added for minimum pin test. assign Data_out_D3 to pins 15 !AT Added for minimum pin test. assign Write_enable to pins 17 assign Output_enable_bar to pins 16 family TTL power VCC, GND inputs Data_input, Address, Write_enable, Output_enable_bar inputs Data_in_D0, Data_in_D1, Data_in_D2, Data_in_D3 !AT Added for min pin test. outputs Data_output outputs Data_out_D0, Data_out_D1, Data_out_D2, Data_out_D3 !AT Added for min pin test. when Output_enable_bar is "1" inactive Data_output trace Data_output to Data_input, Address, Write_enable, Output_enable_bar disable Data_output with Output_enable_bar to "1" !********************************************************************* !********************************************************************* vector Address_00000000 set Write_enable to "0" set Output_enable_bar to "1" set Address to "00000000" end vector vector Address_00000001 set Write_enable to "0" set Output_enable_bar to "1" set Address to "00000001" end vector vector Address_00000011 set Write_enable to "0" set Output_enable_bar to "1" set Address to "00000011" end vector vector Address_00000111 set Write_enable to "0" set Output_enable_bar to "1" set Address to "00000111" end vector vector Address_00001111 set Write_enable to "0" set Output_enable_bar to "1" set Address to "00001111" end vector vector Address_00011111 set Write_enable to "0" set Output_enable_bar to "1" set Address to "00011111" end vector vector Address_00111111 set Write_enable to "0" set Output_enable_bar to "1" set Address to "00111111" end vector vector Address_01111111 set Write_enable to "0" set Output_enable_bar to "1" set Address to "01111111" end vector vector Address_11111111 set Write_enable to "0" set Output_enable_bar to "1" set Address to "11111111" end vector vector Output_enable_high set Write_enable to "0" set Output_enable_bar to "1" end vector vector Read_data_0000 set Write_enable to "0" set Address to "kkkkkkkk" set Output_enable_bar to "0" set Data_output to "0000" end vector vector Read_data_0001 set Write_enable to "0" set Address to "kkkkkkkk" set Output_enable_bar to "0" set Data_output to "0001" end vector vector Read_data_0010 set Write_enable to "0" set Address to "kkkkkkkk" set Output_enable_bar to "0" set Data_output to "0010" end vector vector Read_data_0011 set Write_enable to "0" set Address to "kkkkkkkk" set Output_enable_bar to "0" set Data_output to "0011" end vector vector Read_data_0100 set Write_enable to "0" set Address to "kkkkkkkk" set Output_enable_bar to "0" set Data_output to "0100" end vector vector Read_data_0101 set Write_enable to "0" set Address to "kkkkkkkk" set Output_enable_bar to "0" set Data_output to "0101" end vector vector Read_data_0110 set Write_enable to "0" set Address to "kkkkkkkk" set Output_enable_bar to "0" set Data_output to "0110" end vector vector Read_data_0111 set Write_enable to "0" set Address to "kkkkkkkk" set Output_enable_bar to "0" set Data_output to "0111" end vector vector Read_data_1000 set Write_enable to "0" set Address to "kkkkkkkk" set Output_enable_bar to "0" set Data_output to "1000" end vector vector Read_data_1001 set Write_enable to "0" set Address to "kkkkkkkk" set Output_enable_bar to "0" set Data_output to "1001" end vector vector Read_data_1010 set Write_enable to "0" set Address to "kkkkkkkk" set Output_enable_bar to "0" set Data_output to "1010" end vector vector Read_data_1011 set Write_enable to "0" set Address to "kkkkkkkk" set Output_enable_bar to "0" set Data_output to "1011" end vector vector Read_data_1100 set Write_enable to "0" set Address to "kkkkkkkk" set Output_enable_bar to "0" set Data_output to "1100" end vector vector Read_data_1101 set Write_enable to "0" set Address to "kkkkkkkk" set Output_enable_bar to "0" set Data_output to "1101" end vector vector Read_data_1110 set Write_enable to "0" set Address to "kkkkkkkk" set Output_enable_bar to "0" set Data_output to "1110" end vector vector Read_data_1111 set Write_enable to "0" set Address to "kkkkkkkk" set Output_enable_bar to "0" set Data_output to "1111" end vector vector Write_data_0000 set Output_enable_bar to "1" set Write_enable to "0" set Address to "kkkkkkkk" set Data_input to "0000" end vector vector Write_data_0001 set Output_enable_bar to "1" set Write_enable to "0" set Address to "kkkkkkkk" set Data_input to "0001" end vector vector Write_data_0010 set Output_enable_bar to "1" set Write_enable to "0" set Address to "kkkkkkkk" set Data_input to "0010" end vector vector Write_data_0011 set Output_enable_bar to "1" set Write_enable to "0" set Address to "kkkkkkkk" set Data_input to "0011" end vector vector Write_data_0100 set Output_enable_bar to "1" set Write_enable to "0" set Address to "kkkkkkkk" set Data_input to "0100" end vector vector Write_data_0101 set Output_enable_bar to "1" set Write_enable to "0" set Address to "kkkkkkkk" set Data_input to "0101" end vector vector Write_data_0110 set Output_enable_bar to "1" set Write_enable to "0" set Address to "kkkkkkkk" set Data_input to "0110" end vector vector Write_data_0111 set Output_enable_bar to "1" set Write_enable to "0" set Address to "kkkkkkkk" set Data_input to "0111" end vector vector Write_data_1000 set Output_enable_bar to "1" set Write_enable to "0" set Address to "kkkkkkkk" set Data_input to "1000" end vector vector Write_data_1001 set Output_enable_bar to "1" set Write_enable to "0" set Address to "kkkkkkkk" set Data_input to "1001" end vector vector Write_data_1010 set Output_enable_bar to "1" set Write_enable to "0" set Address to "kkkkkkkk" set Data_input to "1010" end vector vector Write_data_1011 set Output_enable_bar to "1" set Write_enable to "0" set Address to "kkkkkkkk" set Data_input to "1011" end vector vector Write_data_1100 set Output_enable_bar to "1" set Write_enable to "0" set Address to "kkkkkkkk" set Data_input to "1100" end vector vector Write_data_1101 set Output_enable_bar to "1" set Write_enable to "0" set Address to "kkkkkkkk" set Data_input to "1101" end vector vector Write_data_1110 set Output_enable_bar to "1" set Write_enable to "0" set Address to "kkkkkkkk" set Data_input to "1110" end vector vector Write_data_1111 set Output_enable_bar to "1" set Write_enable to "0" set Address to "kkkkkkkk" set Data_input to "1111" end vector vector Write_enable_high set Output_enable_bar to "1" set Address to "kkkkkkkk" set Data_input to "kkkk" set Write_enable to "1" end vector vector Write_enable_low set Output_enable_bar to "1" set Write_enable to "0" end vector !AT The following vectors have been added for a minimum pins test. Any !AT vectors that references the data bus was copied and modified to reference !AT only a single pin of the data bus. vector Read_data_D0_0 set Write_enable to "0" set Address to "kkkkkkkk" set Output_enable_bar to "0" set Data_out_D0 to "0" end vector vector Read_data_D0_1 set Write_enable to "0" set Address to "kkkkkkkk" set Output_enable_bar to "0" set Data_out_D0 to "1" end vector vector Read_data_D1_0 set Write_enable to "0" set Address to "kkkkkkkk" set Output_enable_bar to "0" set Data_out_D1 to "0" end vector vector Read_data_D1_1 set Write_enable to "0" set Address to "kkkkkkkk" set Output_enable_bar to "0" set Data_out_D1 to "1" end vector vector Read_data_D2_0 set Write_enable to "0" set Address to "kkkkkkkk" set Output_enable_bar to "0" set Data_out_D2 to "0" end vector vector Read_data_D2_1 set Write_enable to "0" set Address to "kkkkkkkk" set Output_enable_bar to "0" set Data_out_D2 to "1" end vector vector Read_data_D3_0 set Write_enable to "0" set Address to "kkkkkkkk" set Output_enable_bar to "0" set Data_out_D3 to "0" end vector vector Read_data_D3_1 set Write_enable to "0" set Address to "kkkkkkkk" set Output_enable_bar to "0" set Data_out_D3 to "1" end vector vector Write_data_D0_0 set Output_enable_bar to "1" set Write_enable to "0" set Address to "kkkkkkkk" set Data_in_D0 to "0" end vector vector Write_data_D0_1 set Output_enable_bar to "1" set Write_enable to "0" set Address to "kkkkkkkk" set Data_in_D0 to "1" end vector vector Write_data_D1_0 set Output_enable_bar to "1" set Write_enable to "0" set Address to "kkkkkkkk" set Data_in_D1 to "0" end vector vector Write_data_D1_1 set Output_enable_bar to "1" set Write_enable to "0" set Address to "kkkkkkkk" set Data_in_D1 to "1" end vector vector Write_data_D2_0 set Output_enable_bar to "1" set Write_enable to "0" set Address to "kkkkkkkk" set Data_in_D2 to "0" end vector vector Write_data_D2_1 set Output_enable_bar to "1" set Write_enable to "0" set Address to "kkkkkkkk" set Data_in_D2 to "1" end vector vector Write_data_D3_0 set Output_enable_bar to "1" set Write_enable to "0" set Address to "kkkkkkkk" set Data_in_D3 to "0" end vector vector Write_data_D3_1 set Output_enable_bar to "1" set Write_enable to "0" set Address to "kkkkkkkk" set Data_in_D3 to "1" end vector vector WE_high_D0 set Output_enable_bar to "1" set Address to "kkkkkkkk" set Data_in_D0 to "k" set Write_enable to "1" end vector vector WE_high_D1 set Output_enable_bar to "1" set Address to "kkkkkkkk" set Data_in_D1 to "k" set Write_enable to "1" end vector vector WE_high_D2 set Output_enable_bar to "1" set Address to "kkkkkkkk" set Data_in_D2 to "k" set Write_enable to "1" end vector vector WE_high_D3 set Output_enable_bar to "1" set Address to "kkkkkkkk" set Data_in_D3 to "k" set Write_enable to "1" end vector !********************************************************************* !********************************************************************* sub Write_data (Address, Data) execute Address execute Data execute Write_enable_high execute Write_enable_low end sub sub Read_data (Address, Data) execute Address execute Data execute Output_enable_high end sub !AT The following subroutines have been added for a minimum pins test. !AT Vectors in the subroutine "Write_data" reference the entire data bus. !AT Therefore this subroutine was copied and modified to reference only !AT a single pin of the data bus. The subroutine "Read_data" did not !AT require any modification as all references to the data bus are made !AT via a passed parameter (Data). This reference can be modified in the !AT call statement. sub Write_data_Dx (Address, Data_Dx, WE_high_Dx) execute Address execute Data_Dx execute WE_high_Dx execute Write_enable_low end sub !********************************************************************* !AT The following AwareTest units have been added for minimum pins tests. Each !AT unit tests a separate data pin starting with D0. unit "awaretest D0 Test" call Write_data_Dx (Address_00000000,Write_data_D0_0, WE_high_D0) call Read_data (Address_00000000,Read_data_D0_0) call Write_data_Dx (Address_00000000,Write_data_D0_1, WE_high_D0) call Read_data (Address_00000000,Read_data_D0_1) end unit unit "awaretest D1 Test" call Write_data_Dx (Address_00000000,Write_data_D1_0, WE_high_D1) call Read_data (Address_00000000,Read_data_D1_0) call Write_data_Dx (Address_00000000,Write_data_D1_1, WE_high_D1) call Read_data (Address_00000000,Read_data_D1_1) end unit unit "awaretest D2 Test" call Write_data_Dx (Address_00000000,Write_data_D2_0, WE_high_D2) call Read_data (Address_00000000,Read_data_D2_0) call Write_data_Dx (Address_00000000,Write_data_D2_1, WE_high_D2) call Read_data (Address_00000000,Read_data_D2_1) end unit unit "awaretest D3 Test" call Write_data_Dx (Address_00000000,Write_data_D3_0, WE_high_D3) call Read_data (Address_00000000,Read_data_D3_0) call Write_data_Dx (Address_00000000,Write_data_D3_1, WE_high_D3) call Read_data (Address_00000000,Read_data_D3_1) end unit unit "test RAM" call Write_data (Address_00000000, Write_data_0000) call Write_data (Address_00000001, Write_data_0001) call Write_data (Address_00000011, Write_data_0011) call Write_data (Address_00000111, Write_data_0010) call Write_data (Address_00001111, Write_data_0110) call Write_data (Address_00011111, Write_data_0111) call Write_data (Address_00111111, Write_data_0101) call Write_data (Address_01111111, Write_data_0100) call Write_data (Address_11111111, Write_data_1100) call Read_data (Address_00000000, Read_data_0000) call Read_data (Address_00000001, Read_data_0001) call Read_data (Address_00000011, Read_data_0011) call Read_data (Address_00000111, Read_data_0010) call Read_data (Address_00001111, Read_data_0110) call Read_data (Address_00011111, Read_data_0111) call Read_data (Address_00111111, Read_data_0101) call Read_data (Address_01111111, Read_data_0100) call Read_data (Address_11111111, Read_data_1100) call Write_data (Address_00000000, Write_data_1111) call Write_data (Address_00000001, Write_data_1110) call Write_data (Address_00000011, Write_data_1100) call Write_data (Address_00000111, Write_data_1101) call Write_data (Address_00001111, Write_data_1001) call Write_data (Address_00011111, Write_data_1000) call Write_data (Address_00111111, Write_data_1010) call Write_data (Address_01111111, Write_data_1011) call Write_data (Address_11111111, Write_data_0011) call Read_data (Address_00000000, Read_data_1111) call Read_data (Address_00000001, Read_data_1110) call Read_data (Address_00000011, Read_data_1100) call Read_data (Address_00000111, Read_data_1101) call Read_data (Address_00001111, Read_data_1001) call Read_data (Address_00011111, Read_data_1000) call Read_data (Address_00111111, Read_data_1010) call Read_data (Address_01111111, Read_data_1011) call Read_data (Address_11111111, Read_data_0011) end unit ! End of test