!!!! 6 0 1 986770428 Vdc2f ! Device : 5517 ! Function : Static RAM 2048 x 8 CMOS ! revision : B.01.00 ! safeguard : standard_cmos ! Modifications : Modified for AwareTest xi ! warning "This library has not been verified with hardware." sequential vector cycle 400n receive delay 300n warning "Pull-ups are required to test high-impedance outputs." assign VCC to pins 24 assign GND to pins 12 assign Address_Bus to pins 19,22,23,1,2,3,4,5,6,7 assign Address_Bus to pins 8 assign Data_Bus to pins 17,16,15,14,13,11,10,9 assign Data_D0 to pins 9 !AT Added for minimum pin test. assign Data_D1 to pins 10 !AT Added for minimum pin test. assign Data_D2 to pins 11 !AT Added for minimum pin test. assign Data_D3 to pins 13 !AT Added for minimum pin test. assign Data_D4 to pins 14 !AT Added for minimum pin test. assign Data_D5 to pins 15 !AT Added for minimum pin test. assign Data_D6 to pins 16 !AT Added for minimum pin test. assign Data_D7 to pins 17 !AT Added for minimum pin test. assign Chip_Enable to pins 18 assign Chip_Write_Enable to pins 21 assign Chip_Output_Enable to pins 20 family TTL power VCC, GND inputs Address_Bus,Chip_Output_Enable,Chip_Enable,Chip_Write_Enable bidirectional Data_Bus bidirectional Data_D0, Data_D1, Data_D2, Data_D3 !AT Added for min. pin test. bidirectional Data_D4, Data_D5, Data_D6, Data_D7 !AT Added for min. pin test. when Chip_enable is "1" inactive Data_bus when Chip_output_enable is "1" inactive Data_bus when Chip_write_enable is "1" outputs Data_bus when Chip_write_enable is "0" inputs Data_bus trace Data_bus to Address_Bus,Chip_Output_Enable trace Data_bus to Chip_Enable,Chip_Write_Enable disable Data_Bus with Chip_enable to "1" disable Data_Bus with Chip_Output_Enable to "1" set load on groups Data_Bus to pull up !*************************************************************** !*************************************************************** vector Output_enable_false set Chip_output_enable to "1" set Chip_write_enable to "k" set Chip_enable to "k" end vector vector Chip_enable_true set Chip_output_enable to "k" set Chip_write_enable to "k" set Chip_enable to "0" set Address_Bus to "kkkkkkkkkkk" end vector vector Read_enable set Address_Bus to "kkkkkkkkkkk" set Chip_Output_Enable to "k" set Chip_Write_Enable to "1" set Chip_Enable to "k" end vector vector Write_enable set Address_Bus to "kkkkkkkkkkk" set Chip_Output_Enable to "k" set Chip_Write_Enable to "0" set Chip_Enable to "k" end vector vector Write_enable_CS_false set Address_Bus to "kkkkkkkkkkk" set Chip_Output_Enable to "k" set Chip_Write_Enable to "0" set Chip_Enable to "1" end vector vector Disable set Chip_Output_Enable to "0" set Chip_Write_Enable to "1" set Chip_Enable to "1" end vector vector Address_00000000000 initialize to Chip_enable_true set Address_Bus to "00000000000" end vector vector Address_00000000001 initialize to Chip_enable_true set Address_Bus to "00000000001" end vector vector Address_00000000011 initialize to Chip_enable_true set Address_Bus to "00000000011" end vector vector Address_00000000111 initialize to Chip_enable_true set Address_Bus to "00000000111" end vector vector Address_00000001111 initialize to Chip_enable_true set Address_Bus to "00000001111" end vector vector Address_00000011111 initialize to Chip_enable_true set Address_Bus to "00000011111" end vector vector Address_00000111111 initialize to Chip_enable_true set Address_Bus to "00000111111" end vector vector Address_00001111111 initialize to Chip_enable_true set Address_Bus to "00001111111" end vector vector Address_00011111111 initialize to Chip_enable_true set Address_Bus to "00011111111" end vector vector Address_00111111111 initialize to Chip_enable_true set Address_Bus to "00111111111" end vector vector Address_01111111111 initialize to Chip_enable_true set Address_Bus to "01111111111" end vector vector Address_11111111111 initialize to Chip_enable_true set Address_Bus to "11111111111" end vector vector Data_write_10101010_CS_false drive Data_Bus set Address_Bus to "kkkkkkkkkkk" set Data_Bus to "10101010" set Chip_Enable to "1" set Chip_Write_Enable to "0" set Chip_Output_Enable to "1" end vector vector Data_write_00000000 initialize to Write_enable drive Data_Bus set Data_Bus to "00000000" end vector vector Data_write_00010001 initialize to Write_enable drive Data_Bus set Data_Bus to "00010001" end vector vector Data_write_00110011 initialize to Write_enable drive Data_Bus set Data_Bus to "00110011" end vector vector Data_write_01110111 initialize to Write_enable drive Data_Bus set Data_Bus to "01110111" end vector vector Data_write_11111111 initialize to Write_enable drive Data_Bus set Data_Bus to "11111111" end vector vector Data_write_11100111 initialize to Write_enable drive Data_Bus set Data_Bus to "11100111" end vector vector Data_write_11000011 initialize to Write_enable drive Data_Bus set Data_Bus to "11000011" end vector vector Data_write_10000001 initialize to Write_enable drive Data_Bus set Data_Bus to "10000001" end vector vector Data_write_10100101 initialize to Write_enable drive Data_Bus set Data_Bus to "10100101" end vector vector Data_write_00100100 initialize to Write_enable drive Data_Bus set Data_Bus to "00100100" end vector vector Data_write_01100110 initialize to Write_enable drive Data_Bus set Data_Bus to "01100110" end vector vector Data_write_01011010 initialize to Write_enable drive Data_Bus set Data_Bus to "01011010" end vector vector Data_write_11011011 initialize to Write_enable drive Data_Bus set Data_Bus to "11011011" end vector vector Data_write_10011001 initialize to Write_enable drive Data_Bus set Data_Bus to "10011001" end vector vector Data_read_00000000 initialize to Read_enable receive Data_Bus set Data_Bus to "00000000" end vector vector Data_read_00010001 initialize to Read_enable receive Data_Bus set Data_Bus to "00010001" end vector vector Data_read_00110011 initialize to Read_enable receive Data_Bus set Data_Bus to "00110011" end vector vector Data_read_01110111 initialize to Read_enable receive Data_Bus set Data_Bus to "01110111" end vector vector Data_read_11111111 initialize to Read_enable receive Data_Bus set Data_Bus to "11111111" end vector vector Data_read_11100111 initialize to Read_enable receive Data_Bus set Data_Bus to "11100111" end vector vector Data_read_11000011 initialize to Read_enable receive Data_Bus set Data_Bus to "11000011" end vector vector Data_read_10000001 initialize to Read_enable receive Data_Bus set Data_Bus to "10000001" end vector vector Data_read_10100101 initialize to Read_enable receive Data_Bus set Data_Bus to "10100101" end vector vector Data_read_00100100 initialize to Read_enable receive Data_Bus set Data_Bus to "00100100" end vector vector Data_read_01100110 initialize to Read_enable receive Data_Bus set Data_Bus to "01100110" end vector vector Data_read_01011010 initialize to Read_enable receive Data_Bus set Data_Bus to "01011010" end vector vector Data_read_11011011 initialize to Read_enable receive Data_Bus set Data_Bus to "11011011" end vector vector Data_read_10011001 initialize to Read_enable receive Data_Bus set Data_Bus to "10011001" 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 Data_write_D0_0 initialize to Write_enable drive Data_D0 set Data_D0 to "0" end vector vector Data_write_D0_1 initialize to Write_enable drive Data_D0 set Data_D0 to "1" end vector vector Data_write_D1_0 initialize to Write_enable drive Data_D1 set Data_D1 to "0" end vector vector Data_write_D1_1 initialize to Write_enable drive Data_D1 set Data_D1 to "1" end vector vector Data_write_D2_0 initialize to Write_enable drive Data_D2 set Data_D2 to "0" end vector vector Data_write_D2_1 initialize to Write_enable drive Data_D2 set Data_D2 to "1" end vector vector Data_write_D3_0 initialize to Write_enable drive Data_D3 set Data_D3 to "0" end vector vector Data_write_D3_1 initialize to Write_enable drive Data_D3 set Data_D3 to "1" end vector vector Data_write_D4_0 initialize to Write_enable drive Data_D4 set Data_D4 to "0" end vector vector Data_write_D4_1 initialize to Write_enable drive Data_D4 set Data_D4 to "1" end vector vector Data_write_D5_0 initialize to Write_enable drive Data_D5 set Data_D5 to "0" end vector vector Data_write_D5_1 initialize to Write_enable drive Data_D5 set Data_D5 to "1" end vector vector Data_write_D6_0 initialize to Write_enable drive Data_D6 set Data_D6 to "0" end vector vector Data_write_D6_1 initialize to Write_enable drive Data_D6 set Data_D6 to "1" end vector vector Data_write_D7_0 initialize to Write_enable drive Data_D7 set Data_D7 to "0" end vector vector Data_write_D7_1 initialize to Write_enable drive Data_D7 set Data_D7 to "1" end vector vector Data_read_D0_0 initialize to Read_enable receive Data_D0 set Data_D0 to "0" end vector vector Data_read_D0_1 initialize to Read_enable receive Data_D0 set Data_D0 to "1" end vector vector Data_read_D1_0 initialize to Read_enable receive Data_D1 set Data_D1 to "0" end vector vector Data_read_D1_1 initialize to Read_enable receive Data_D1 set Data_D1 to "1" end vector vector Data_read_D2_0 initialize to Read_enable receive Data_D2 set Data_D2 to "0" end vector vector Data_read_D2_1 initialize to Read_enable receive Data_D2 set Data_D2 to "1" end vector vector Data_read_D3_0 initialize to Read_enable receive Data_D3 set Data_D3 to "0" end vector vector Data_read_D3_1 initialize to Read_enable receive Data_D3 set Data_D3 to "1" end vector vector Data_read_D4_0 initialize to Read_enable receive Data_D4 set Data_D4 to "0" end vector vector Data_read_D4_1 initialize to Read_enable receive Data_D4 set Data_D4 to "1" end vector vector Data_read_D5_0 initialize to Read_enable receive Data_D5 set Data_D5 to "0" end vector vector Data_read_D5_1 initialize to Read_enable receive Data_D5 set Data_D5 to "1" end vector vector Data_read_D6_0 initialize to Read_enable receive Data_D6 set Data_D6 to "0" end vector vector Data_read_D6_1 initialize to Read_enable receive Data_D6 set Data_D6 to "1" end vector vector Data_read_D7_0 initialize to Read_enable receive Data_D7 set Data_D7 to "0" end vector vector Data_read_D7_1 initialize to Read_enable receive Data_D7 set Data_D7 to "1" end vector !*************************************************************** !*************************************************************** sub Write_data (Address_Bus, Data_Bus) execute Address_Bus execute Data_Bus execute Disable end sub sub Read_data (Address_Bus, Data_Bus) execute Address_Bus execute Data_Bus 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" execute Disable call Write_data (Address_00000000000, Data_write_D0_0) call Read_data (Address_00000000000, Data_read_D0_0) call Write_data (Address_00000000000, Data_write_D0_1) call Read_data (Address_00000000000, Data_read_D0_1) end unit unit "awaretest D1 Test" execute Disable call Write_data (Address_00000000000, Data_write_D1_0) call Read_data (Address_00000000000, Data_read_D1_0) call Write_data (Address_00000000000, Data_write_D1_1) call Read_data (Address_00000000000, Data_read_D1_1) end unit unit "awaretest D2 Test" execute Disable call Write_data (Address_00000000000, Data_write_D2_0) call Read_data (Address_00000000000, Data_read_D2_0) call Write_data (Address_00000000000, Data_write_D2_1) call Read_data (Address_00000000000, Data_read_D2_1) end unit unit "awaretest D3 Test" execute Disable call Write_data (Address_00000000000, Data_write_D3_0) call Read_data (Address_00000000000, Data_read_D3_0) call Write_data (Address_00000000000, Data_write_D3_1) call Read_data (Address_00000000000, Data_read_D3_1) end unit unit "awaretest D4 Test" execute Disable call Write_data (Address_00000000000, Data_write_D4_0) call Read_data (Address_00000000000, Data_read_D4_0) call Write_data (Address_00000000000, Data_write_D4_1) call Read_data (Address_00000000000, Data_read_D4_1) end unit unit "awaretest D5 Test" execute Disable call Write_data (Address_00000000000, Data_write_D5_0) call Read_data (Address_00000000000, Data_read_D5_0) call Write_data (Address_00000000000, Data_write_D5_1) call Read_data (Address_00000000000, Data_read_D5_1) end unit unit "awaretest D6 Test" execute Disable call Write_data (Address_00000000000, Data_write_D6_0) call Read_data (Address_00000000000, Data_read_D6_0) call Write_data (Address_00000000000, Data_write_D6_1) call Read_data (Address_00000000000, Data_read_D6_1) end unit unit "awaretest D7 Test" execute Disable call Write_data (Address_00000000000, Data_write_D7_0) call Read_data (Address_00000000000, Data_read_D7_0) call Write_data (Address_00000000000, Data_write_D7_1) call Read_data (Address_00000000000, Data_read_D7_1) end unit unit "RAM test" execute Disable call Write_data (Address_00000000000, Data_write_00000000) call Write_data (Address_00000000001, Data_write_00010001) call Write_data (Address_00000000011, Data_write_00110011) call Write_data (Address_00000000111, Data_write_01110111) call Write_data (Address_00000001111, Data_write_11111111) call Write_data (Address_00000011111, Data_write_11100111) call Write_data (Address_00000111111, Data_write_11000011) call Write_data (Address_00001111111, Data_write_10000001) call Write_data (Address_00011111111, Data_write_10100101) call Write_data (Address_00111111111, Data_write_00100100) call Write_data (Address_01111111111, Data_write_01100110) call Write_data (Address_11111111111, Data_write_01011010) call Read_data (Address_00000000000, Data_read_00000000) call Read_data (Address_00000000001, Data_read_00010001) call Read_data (Address_00000000011, Data_read_00110011) call Read_data (Address_00000000111, Data_read_01110111) call Read_data (Address_00000001111, Data_read_11111111) call Read_data (Address_00000011111, Data_read_11100111) call Read_data (Address_00000111111, Data_read_11000011) call Read_data (Address_00001111111, Data_read_10000001) call Read_data (Address_00011111111, Data_read_10100101) call Read_data (Address_00111111111, Data_read_00100100) call Read_data (Address_01111111111, Data_read_01100110) call Read_data (Address_11111111111, Data_read_01011010) call Write_data (Address_00000000000, Data_write_11111111) call Write_data (Address_00000000001, Data_write_11100111) call Write_data (Address_00000000011, Data_write_11000011) call Write_data (Address_00000000111, Data_write_10000001) call Write_data (Address_00000001111, Data_write_00000000) call Write_data (Address_00000011111, Data_write_00010001) call Write_data (Address_00000111111, Data_write_00110011) call Write_data (Address_00001111111, Data_write_01110111) call Write_data (Address_00011111111, Data_write_01011010) call Write_data (Address_00111111111, Data_write_11011011) call Write_data (Address_01111111111, Data_write_10011001) call Write_data (Address_11111111111, Data_write_10100101) call Read_data (Address_00000000000, Data_read_11111111) call Read_data (Address_00000000001, Data_read_11100111) call Read_data (Address_00000000011, Data_read_11000011) call Read_data (Address_00000000111, Data_read_10000001) call Read_data (Address_00000001111, Data_read_00000000) call Read_data (Address_00000011111, Data_read_00010001) call Read_data (Address_00000111111, Data_read_00110011) call Read_data (Address_00001111111, Data_read_01110111) call Read_data (Address_00011111111, Data_read_01011010) call Read_data (Address_00111111111, Data_read_11011011) call Read_data (Address_01111111111, Data_read_10011001) call Read_data (Address_11111111111, Data_read_10100101) end unit unit "Chip_select SA0" execute Disable call Write_data (Address_00000000000, Data_write_00000000) execute Address_00000000000 execute Write_enable_CS_false execute Data_write_10101010_CS_false execute Disable call Read_data (Address_00000000000, Data_read_00000000) end unit ! To test output enable, the tri-state outputs must be pulled up. unit "Output enable test" execute Disable call Write_data (Address_00000000000, Data_write_00000000) !If pulled up execute Output_enable_false execute Address_00000000000 execute Data_read_11111111 ! If pulled up end unit ! End of test