!!!! 6 0 1 986844383 V1dd4 ! Device : 8168 ! Function : Static RAM 3-state 4k x 4 ! revision : B.01.00 ! safeguard : high_out_mos ! 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." !warning "Pins 12, 13, 14, 15 require pull ups." vector cycle 1000n receive delay 900n assign VCC to pins 20 assign GND to pins 10 assign Address to pins 16,17,18,19,1,2,3,4,8,7 assign Address to pins 6,5 assign Data to pins 12,13,14,15 assign Data_D0 to pins 15 !AT Added for minimum pin test. assign Data_D1 to pins 14 !AT Added for minimum pin test. assign Data_D2 to pins 13 !AT Added for minimum pin test. assign Data_D3 to pins 12 !AT Added for minimum pin test. assign Chip_select_bar to pins 9 assign Write_enable_bar to pins 11 family TTL power VCC, GND inputs Address, Chip_select_bar, Write_enable_bar bidirectional Data bidirectional Data_D0, Data_D1, Data_D2, Data_D3 !AT Added for min. pin test. disable Data with Chip_select_bar to "1" disable Data with Write_enable_bar to "0" when Chip_select_bar is "1" inactive Data when Write_enable_bar is "0" inputs Data when Write_enable_bar is "1" outputs Data trace Data to Address, Chip_select_bar, Write_enable_bar set load on groups Data to pull up !*************************************************************** !*************************************************************** vector Read_enable set Address to "kkkkkkkkkkkk" set Write_enable_bar to "1" set Chip_select_bar to "0" end vector vector Write_enable set Address to "kkkkkkkkkkkk" set Chip_select_bar to "0" set Write_enable_bar to "0" end vector vector Write_enable_CS_false set Address to "kkkkkkkkkkkk" set Chip_select_bar to "1" set Write_enable_bar to "0" end vector vector Read_enable_CS_false set Address to "kkkkkkkkkkkk" set Chip_select_bar to "1" set Write_enable_bar to "1" end vector vector Disable set Chip_select_bar to "1" set Write_enable_bar to "1" end vector vector Address_000000000000 initialize to Disable set Address to "000000000000" end vector vector Address_000000000001 initialize to Disable set Address to "000000000001" end vector vector Address_000000000011 initialize to Disable set Address to "000000000011" end vector vector Address_000000000111 initialize to Disable set Address to "000000000111" end vector vector Address_000000001111 initialize to Disable set Address to "000000001111" end vector vector Address_000000011111 initialize to Disable set Address to "000000011111" end vector vector Address_000000111111 initialize to Disable set Address to "000000111111" end vector vector Address_000001111111 initialize to Disable set Address to "000001111111" end vector vector Address_000011111111 initialize to Disable set Address to "000011111111" end vector vector Address_000111111111 initialize to Disable set Address to "000111111111" end vector vector Address_001111111111 initialize to Disable set Address to "001111111111" end vector vector Address_011111111111 initialize to Disable set Address to "011111111111" end vector vector Address_111111111111 initialize to Disable set Address to "111111111111" end vector vector Data_write_0000 initialize to Write_enable drive Data set Data to "0000" end vector vector Data_write_0001 initialize to Write_enable drive Data set Data to "0001" end vector vector Data_write_0011 initialize to Write_enable drive Data set Data to "0011" end vector vector Data_write_0111 initialize to Write_enable drive Data set Data to "0111" end vector vector Data_write_1111 initialize to Write_enable drive Data set Data to "1111" end vector vector Data_write_1110 initialize to Write_enable drive Data set Data to "1110" end vector vector Data_write_1100 initialize to Write_enable drive Data set Data to "1100" end vector vector Data_write_1000 initialize to Write_enable drive Data set Data to "1000" end vector vector Data_write_1010 initialize to Write_enable drive Data set Data to "1010" end vector vector Data_write_0010 initialize to Write_enable drive Data set Data to "0010" end vector vector Data_write_0110 initialize to Write_enable drive Data set Data to "0110" end vector vector Data_write_0101 initialize to Write_enable drive Data set Data to "0101" end vector vector Data_write_1101 initialize to Write_enable drive Data set Data to "1101" end vector vector Data_write_1001 initialize to Write_enable drive Data set Data to "1001" end vector vector Data_read_0000 initialize to Read_enable receive Data set Data to "0000" end vector vector Data_read_0001 initialize to Read_enable receive Data set Data to "0001" end vector vector Data_read_0011 initialize to Read_enable receive Data set Data to "0011" end vector vector Data_read_0111 initialize to Read_enable receive Data set Data to "0111" end vector vector Data_read_1111 initialize to Read_enable receive Data set Data to "1111" end vector vector Data_read_1110 initialize to Read_enable receive Data set Data to "1110" end vector vector Data_read_1100 initialize to Read_enable receive Data set Data to "1100" end vector vector Data_read_1000 initialize to Read_enable receive Data set Data to "1000" end vector vector Data_read_1010 initialize to Read_enable receive Data set Data to "1010" end vector vector Data_read_0010 initialize to Read_enable receive Data set Data to "0010" end vector vector Data_read_0110 initialize to Read_enable receive Data set Data to "0110" end vector vector Data_read_0101 initialize to Read_enable receive Data set Data to "0101" end vector vector Data_read_1101 initialize to Read_enable receive Data set Data to "1101" end vector vector Data_read_1001 initialize to Read_enable receive Data set Data to "1001" end vector vector Data_read_0000_CS_false receive Data set Address to "kkkkkkkkkkkk" set Chip_select_bar to "k" set Write_enable_bar to "1" set Data to "0000" end vector vector Data_read_1111_CS_false receive Data set Address to "kkkkkkkkkkkk" set Chip_select_bar to "1" set Write_enable_bar to "1" set Data to "1111" 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_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 !*************************************************************** !*************************************************************** sub Write_data (Address, Data) execute Address execute Data execute Disable end sub sub Read_data (Address, Data) execute Address execute Data execute Disable 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 (Address_000000000000, Data_write_D0_0) call Read_data (Address_000000000000, Data_read_D0_0) call Write_data (Address_000000000000, Data_write_D0_1) call Read_data (Address_000000000000, Data_read_D0_1) end unit unit "awaretest D1 Test" call Write_data (Address_000000000000, Data_write_D1_0) call Read_data (Address_000000000000, Data_read_D1_0) call Write_data (Address_000000000000, Data_write_D1_1) call Read_data (Address_000000000000, Data_read_D1_1) end unit unit "awaretest D2 Test" call Write_data (Address_000000000000, Data_write_D2_0) call Read_data (Address_000000000000, Data_read_D2_0) call Write_data (Address_000000000000, Data_write_D2_1) call Read_data (Address_000000000000, Data_read_D2_1) end unit unit "awaretest D3 Test" call Write_data (Address_000000000000, Data_write_D3_0) call Read_data (Address_000000000000, Data_read_D3_0) call Write_data (Address_000000000000, Data_write_D3_1) call Read_data (Address_000000000000, Data_read_D3_1) end unit unit "RAM test" call Write_data (Address_000000000000, Data_write_0000) call Write_data (Address_000000000001, Data_write_0001) call Write_data (Address_000000000011, Data_write_0011) call Write_data (Address_000000000111, Data_write_0111) call Write_data (Address_000000001111, Data_write_1111) call Write_data (Address_000000011111, Data_write_1110) call Write_data (Address_000000111111, Data_write_1100) call Write_data (Address_000001111111, Data_write_1000) call Write_data (Address_000011111111, Data_write_1010) call Write_data (Address_000111111111, Data_write_0010) call Write_data (Address_001111111111, Data_write_0110) call Write_data (Address_011111111111, Data_write_0010) call Write_data (Address_111111111111, Data_write_0110) call Read_data (Address_000000000000, Data_read_0000) call Read_data (Address_000000000001, Data_read_0001) call Read_data (Address_000000000011, Data_read_0011) call Read_data (Address_000000000111, Data_read_0111) call Read_data (Address_000000001111, Data_read_1111) call Read_data (Address_000000011111, Data_read_1110) call Read_data (Address_000000111111, Data_read_1100) call Read_data (Address_000001111111, Data_read_1000) call Read_data (Address_000011111111, Data_read_1010) call Read_data (Address_000111111111, Data_read_0010) call Read_data (Address_001111111111, Data_read_0110) call Read_data (Address_011111111111, Data_read_0010) call Read_data (Address_111111111111, Data_read_0110) call Write_data (Address_000000000000, Data_write_1111) call Write_data (Address_000000000001, Data_write_1110) call Write_data (Address_000000000011, Data_write_1100) call Write_data (Address_000000000111, Data_write_1000) call Write_data (Address_000000001111, Data_write_0000) call Write_data (Address_000000011111, Data_write_0001) call Write_data (Address_000000111111, Data_write_0011) call Write_data (Address_000001111111, Data_write_0111) call Write_data (Address_000011111111, Data_write_0101) call Write_data (Address_000111111111, Data_write_1101) call Write_data (Address_001111111111, Data_write_1001) call Write_data (Address_011111111111, Data_write_1101) call Write_data (Address_111111111111, Data_write_1001) call Read_data (Address_000000000000, Data_read_1111) call Read_data (Address_000000000001, Data_read_1110) call Read_data (Address_000000000011, Data_read_1100) call Read_data (Address_000000000111, Data_read_1000) call Read_data (Address_000000001111, Data_read_0000) call Read_data (Address_000000011111, Data_read_0001) call Read_data (Address_000000111111, Data_read_0011) call Read_data (Address_000001111111, Data_read_0111) call Read_data (Address_000011111111, Data_read_0101) call Read_data (Address_000111111111, Data_read_1101) call Read_data (Address_001111111111, Data_read_1001) call Read_data (Address_011111111111, Data_read_1101) call Read_data (Address_111111111111, Data_read_1001) end unit unit "Test_chip_select" execute Address_000000000000 execute Data_write_0000 execute Data_read_1111_CS_false end unit ! End of test