!!!! 6 0 1 986583776 Va477 ! Device : 2149 ! Function : Static RAM 3-state 1k 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 vector cycle 400n ! If the outputs are pulled down, use vc = 700n, receive delay 300n ! rd = 600n ! This test includes an option for testing Chip Select, pin 8. ! This device has tri-state outputs, therefore the outputs must be ! either pulled up or down to test the chip disabled condition. ! Please refer to the last subroutine for further details. assign VCC to pins 18 assign GND to pins 9 assign Address to pins 15,16,17,1,2,3,4,7,6,5 assign Data to pins 11,12,13,14 assign Data_D0 to pins 14 !AT Added for minimum pin test. assign Data_D1 to pins 13 !AT Added for minimum pin test. assign Data_D2 to pins 12 !AT Added for minimum pin test. assign Data_D3 to pins 11 !AT Added for minimum pin test. assign CSbar to pins 8 assign WEbar to pins 10 family TTL power VCC, GND inputs Address, WEbar, CSbar bidirectional Data bidirectional Data_D0, Data_D1, Data_D2, Data_D3 !AT Added for min. pin test. set load on groups Data to pull up when CSbar is "1" inactive Data when WEbar is "0" inputs Data when WEbar is "1" outputs Data trace Data to Address, WEbar, CSbar disable Data with CSbar to "1" !*************************************************************** !*************************************************************** vector Reset set WEbar to "1" set CSbar to "1" end vector vector CSbar_true set WEbar to "k" set CSbar to "0" end vector vector CSbar_false set Address to "kkkkkkkkkk" set WEbar to "k" set CSbar to "1" end vector vector Write_enable set Address to "kkkkkkkkkk" set WEbar to "0" set CSbar to "k" end vector vector Read_enable set Address to "kkkkkkkkkk" set WEbar to "1" set CSbar to "k" end vector vector Address_0000000000 initialize to CSbar_true set Address to "0000000000" end vector vector Address_0000000001 initialize to CSbar_true set Address to "0000000001" end vector vector Address_0000000011 initialize to CSbar_true set Address to "0000000011" end vector vector Address_0000000111 initialize to CSbar_true set Address to "0000000111" end vector vector Address_0000001111 initialize to CSbar_true set Address to "0000001111" end vector vector Address_0000011111 initialize to CSbar_true set Address to "0000011111" end vector vector Address_0000111111 initialize to CSbar_true set Address to "0000111111" end vector vector Address_0001111111 initialize to CSbar_true set Address to "0001111111" end vector vector Address_0011111111 initialize to CSbar_true set Address to "0011111111" end vector vector Address_0111111111 initialize to CSbar_true set Address to "0111111111" end vector vector Address_1111111111 initialize to CSbar_true set Address to "1111111111" 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_0101 initialize to Write_enable drive Data set Data to "0101" end vector vector Data_write_1010 initialize to Write_enable drive Data set Data to "1010" 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_0101 initialize to Read_enable receive Data set Data to "0101" end vector vector Data_read_1010 initialize to Read_enable receive Data set Data to "1010" 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 Reset end sub sub Read_data (Address, Data) execute Address execute Data end sub sub Test_CSbar execute Reset execute Address_0000000000 execute Data_write_0101 execute Reset execute CSbar_false execute Data_read_1111 ! Use this line if outputs tied high 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 Reset call Write_data (Address_0000000000, Data_write_D0_0) call Read_data (Address_0000000000, Data_read_D0_0) call Write_data (Address_0000000000, Data_write_D0_1) call Read_data (Address_0000000000, Data_read_D0_1) end unit unit "awaretest D1 Test" execute Reset call Write_data (Address_0000000000, Data_write_D1_0) call Read_data (Address_0000000000, Data_read_D1_0) call Write_data (Address_0000000000, Data_write_D1_1) call Read_data (Address_0000000000, Data_read_D1_1) end unit unit "awaretest D2 Test" execute Reset call Write_data (Address_0000000000, Data_write_D2_0) call Read_data (Address_0000000000, Data_read_D2_0) call Write_data (Address_0000000000, Data_write_D2_1) call Read_data (Address_0000000000, Data_read_D2_1) end unit unit "awaretest D3 Test" execute Reset call Write_data (Address_0000000000, Data_write_D3_0) call Read_data (Address_0000000000, Data_read_D3_0) call Write_data (Address_0000000000, Data_write_D3_1) call Read_data (Address_0000000000, Data_read_D3_1) end unit unit "Test Address/Data lines " execute Reset call Write_data (Address_0000000000, Data_write_0000) call Write_data (Address_0000000001, Data_write_0001) call Write_data (Address_0000000011, Data_write_0011) call Write_data (Address_0000000111, Data_write_0111) call Write_data (Address_0000001111, Data_write_1111) call Write_data (Address_0000011111, Data_write_0001) call Write_data (Address_0000111111, Data_write_0011) call Write_data (Address_0001111111, Data_write_0111) call Write_data (Address_0011111111, Data_write_1111) call Write_data (Address_0111111111, Data_write_0101) call Write_data (Address_1111111111, Data_write_1010) call Read_data (Address_0000000000, Data_read_0000) call Read_data (Address_0000000001, Data_read_0001) call Read_data (Address_0000000011, Data_read_0011) call Read_data (Address_0000000111, Data_read_0111) call Read_data (Address_0000001111, Data_read_1111) call Read_data (Address_0000011111, Data_read_0001) call Read_data (Address_0000111111, Data_read_0011) call Read_data (Address_0001111111, Data_read_0111) call Read_data (Address_0011111111, Data_read_1111) call Read_data (Address_0111111111, Data_read_0101) call Read_data (Address_1111111111, Data_read_1010) end unit unit "Test chip select " call Test_CSbar end unit ! End of test