!!!! 6 0 1 986417664 Vce71 ! Device : 4362 ! Function : Static RAM 3-state 16 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 500n receive delay 400n assign VCC to pins 22 assign GND to pins 11 assign Address to pins 21,20,19,18,17,9,8,7,6,5,4,3,2,1 assign Data to pins 16,15,14,13 assign Data_D0 to pins 13 !AT Added for minimum pin test. assign Data_D1 to pins 14 !AT Added for minimum pin test. assign Data_D2 to pins 15 !AT Added for minimum pin test. assign Data_D3 to pins 16 !AT Added for minimum pin test. assign Chip_select_bar to pins 10 assign Write_enable_bar to pins 12 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 !*************************************************************** !*************************************************************** vector Read_enable set Address to "kkkkkkkkkkkkkk" set Write_enable_bar to "1" set Chip_select_bar to "0" end vector vector Write_enable drive Data set Address to "kkkkkkkkkkkkkk" set Chip_select_bar to "0" set Write_enable_bar to "0" end vector vector Write_enable_CS_false set Address to "kkkkkkkkkkkkkk" set Chip_select_bar to "1" set Write_enable_bar to "0" end vector vector Write_enable_false set Address to "kkkkkkkkkkkkkk" set Chip_select_bar to "1" set Write_enable_bar to "0" end vector vector Disable set Chip_select_bar to "1" set Write_enable_bar to "1" end vector vector Write_Disable drive Data set Data to "kkkk" set Address to "kkkkkkkkkkkkkk" set Chip_select_bar to "1" set Write_enable_bar to "1" end vector vector Address_00000000000000 initialize to Disable set Address to "00000000000000" end vector vector Address_00000000000001 initialize to Disable set Address to "00000000000001" end vector vector Address_00000000000011 initialize to Disable set Address to "00000000000011" end vector vector Address_00000000000111 initialize to Disable set Address to "00000000000111" end vector vector Address_00000000001111 initialize to Disable set Address to "00000000001111" end vector vector Address_00000000011111 initialize to Disable set Address to "00000000011111" end vector vector Address_00000000111111 initialize to Disable set Address to "00000000111111" end vector vector Address_00000001111111 initialize to Disable set Address to "00000001111111" end vector vector Address_00000011111111 initialize to Disable set Address to "00000011111111" end vector vector Address_00000111111111 initialize to Disable set Address to "00000111111111" end vector vector Address_00001111111111 initialize to Disable set Address to "00001111111111" end vector vector Address_00011111111111 initialize to Disable set Address to "00011111111111" end vector vector Address_00111111111111 initialize to Disable set Address to "00111111111111" end vector vector Address_01111111111111 initialize to Disable set Address to "01111111111111" end vector vector Address_11111111111111 initialize to Disable set Address to "11111111111111" end vector vector Data_write_1111_CS_false drive Data set Address to "kkkkkkkkkkkkkk" set Data to "1111" set Chip_select_bar to "1" set Write_enable_bar to "0" end vector vector Data_write_1111_WE_false drive Data set Address to "kkkkkkkkkkkkkk" set Data to "1111" set Chip_select_bar to "0" set Write_enable_bar to "1" end vector vector Data_write_0000 initialize to Write_enable set Data to "0000" end vector vector Data_write_0001 initialize to Write_enable set Data to "0001" end vector vector Data_write_0010 initialize to Write_enable set Data to "0010" end vector vector Data_write_0011 initialize to Write_enable set Data to "0011" end vector vector Data_write_0100 initialize to Write_enable set Data to "0100" end vector vector Data_write_0101 initialize to Write_enable set Data to "0101" end vector vector Data_write_0110 initialize to Write_enable set Data to "0110" end vector vector Data_write_0111 initialize to Write_enable set Data to "0111" end vector vector Data_write_1000 initialize to Write_enable set Data to "1000" end vector vector Data_write_1001 initialize to Write_enable set Data to "1001" end vector vector Data_write_1010 initialize to Write_enable set Data to "1010" end vector vector Data_write_1011 initialize to Write_enable set Data to "1011" end vector vector Data_write_1100 initialize to Write_enable set Data to "1100" end vector vector Data_write_1101 initialize to Write_enable set Data to "1101" end vector vector Data_write_1110 initialize to Write_enable set Data to "1110" end vector vector Data_write_1111 initialize to Write_enable set Data to "1111" 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_0010 initialize to Read_enable receive Data set Data to "0010" end vector vector Data_read_0011 initialize to Read_enable receive Data set Data to "0011" end vector vector Data_read_0100 initialize to Read_enable receive Data set Data to "0100" end vector vector Data_read_0101 initialize to Read_enable receive Data set Data to "0101" end vector vector Data_read_0110 initialize to Read_enable receive Data set Data to "0110" end vector vector Data_read_0111 initialize to Read_enable receive Data set Data to "0111" end vector vector Data_read_1000 initialize to Read_enable receive Data set Data to "1000" end vector vector Data_read_1001 initialize to Read_enable receive Data set Data to "1001" end vector vector Data_read_1010 initialize to Read_enable receive Data set Data to "1010" end vector vector Data_read_1011 initialize to Read_enable receive Data set Data to "1011" end vector vector Data_read_1100 initialize to Read_enable receive Data set Data to "1100" end vector vector Data_read_1101 initialize to Read_enable receive Data set Data to "1101" end vector vector Data_read_1110 initialize to Read_enable receive Data set Data to "1110" end vector vector Data_read_1111 initialize to Read_enable receive Data 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 WEb_lo_D0 drive Data_D0 set Address to "kkkkkkkkkkkkkk" set Chip_select_bar to "0" set Write_enable_bar to "0" end vector vector WEb_lo_D1 drive Data_D1 set Address to "kkkkkkkkkkkkkk" set Chip_select_bar to "0" set Write_enable_bar to "0" end vector vector WEb_lo_D2 drive Data_D2 set Address to "kkkkkkkkkkkkkk" set Chip_select_bar to "0" set Write_enable_bar to "0" end vector vector WEb_lo_D3 drive Data_D3 set Address to "kkkkkkkkkkkkkk" set Chip_select_bar to "0" set Write_enable_bar to "0" end vector vector WEb_hi_D0 drive Data_D0 set Data_D0 to "k" set Address to "kkkkkkkkkkkkkk" set Chip_select_bar to "1" set Write_enable_bar to "1" end vector vector WEb_hi_D1 drive Data_D1 set Data_D1 to "k" set Address to "kkkkkkkkkkkkkk" set Chip_select_bar to "1" set Write_enable_bar to "1" end vector vector WEb_hi_D2 drive Data_D2 set Data_D2 to "k" set Address to "kkkkkkkkkkkkkk" set Chip_select_bar to "1" set Write_enable_bar to "1" end vector vector WEb_hi_D3 drive Data_D3 set Data_D3 to "k" set Address to "kkkkkkkkkkkkkk" set Chip_select_bar to "1" set Write_enable_bar to "1" end vector vector Data_write_D0_0 initialize to WEb_lo_D0 set Data_D0 to "0" end vector vector Data_write_D0_1 initialize to WEb_lo_D0 set Data_D0 to "1" end vector vector Data_write_D1_0 initialize to WEb_lo_D1 set Data_D1 to "0" end vector vector Data_write_D1_1 initialize to WEb_lo_D1 set Data_D1 to "1" end vector vector Data_write_D2_0 initialize to WEb_lo_D2 set Data_D2 to "0" end vector vector Data_write_D2_1 initialize to WEb_lo_D2 set Data_D2 to "1" end vector vector Data_write_D3_0 initialize to WEb_lo_D3 set Data_D3 to "0" end vector vector Data_write_D3_1 initialize to WEb_lo_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 Write_Disable end sub sub Read_data (Address, Data) execute Address execute Data execute Disable 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, WEb_hi_Dx) execute Address execute Data_Dx execute WEb_hi_Dx 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_00000000000000, Data_write_D0_0, WEb_hi_D0) call Read_data (Address_00000000000000, Data_read_D0_0) call Write_data_Dx (Address_00000000000000, Data_write_D0_1, WEb_hi_D0) call Read_data (Address_00000000000000, Data_read_D0_1) end unit unit "awaretest D1 Test" call Write_data_Dx (Address_00000000000000, Data_write_D1_0, WEb_hi_D1) call Read_data (Address_00000000000000, Data_read_D1_0) call Write_data_Dx (Address_00000000000000, Data_write_D1_1, WEb_hi_D1) call Read_data (Address_00000000000000, Data_read_D1_1) end unit unit "awaretest D2 Test" call Write_data_Dx (Address_00000000000000, Data_write_D2_0, WEb_hi_D2) call Read_data (Address_00000000000000, Data_read_D2_0) call Write_data_Dx (Address_00000000000000, Data_write_D2_1, WEb_hi_D2) call Read_data (Address_00000000000000, Data_read_D2_1) end unit unit "awaretest D3 Test" call Write_data_Dx (Address_00000000000000, Data_write_D3_0, WEb_hi_D3) call Read_data (Address_00000000000000, Data_read_D3_0) call Write_data_Dx (Address_00000000000000, Data_write_D3_1, WEb_hi_D3) call Read_data (Address_00000000000000, Data_read_D3_1) end unit unit "RAM test" call Write_data (Address_00000000000000, Data_write_0000) call Write_data (Address_00000000000001, Data_write_0001) call Write_data (Address_00000000000011, Data_write_0010) call Write_data (Address_00000000000111, Data_write_0011) call Write_data (Address_00000000001111, Data_write_0100) call Write_data (Address_00000000011111, Data_write_0101) call Write_data (Address_00000000111111, Data_write_0110) call Write_data (Address_00000001111111, Data_write_0111) call Write_data (Address_00000011111111, Data_write_1000) call Write_data (Address_00000111111111, Data_write_1001) call Write_data (Address_00001111111111, Data_write_1010) call Write_data (Address_00011111111111, Data_write_1011) call Write_data (Address_00111111111111, Data_write_1100) call Write_data (Address_01111111111111, Data_write_1101) call Write_data (Address_11111111111111, Data_write_1110) call Read_data (Address_00000000000000, Data_read_0000) call Read_data (Address_00000000000001, Data_read_0001) call Read_data (Address_00000000000011, Data_read_0010) call Read_data (Address_00000000000111, Data_read_0011) call Read_data (Address_00000000001111, Data_read_0100) call Read_data (Address_00000000011111, Data_read_0101) call Read_data (Address_00000000111111, Data_read_0110) call Read_data (Address_00000001111111, Data_read_0111) call Read_data (Address_00000011111111, Data_read_1000) call Read_data (Address_00000111111111, Data_read_1001) call Read_data (Address_00001111111111, Data_read_1010) call Read_data (Address_00011111111111, Data_read_1011) call Read_data (Address_00111111111111, Data_read_1100) call Read_data (Address_01111111111111, Data_read_1101) call Read_data (Address_11111111111111, Data_read_1110) end unit unit "Test Chip select false" call Write_data (Address_00000000000000, Data_write_0000) execute Address_00000000000000 execute Write_enable_CS_false execute Data_write_1111_CS_false execute Write_Disable call Read_data (Address_00000000000000, Data_read_0000) end unit unit "Test Write enable false" call Write_data (Address_00000000000000, Data_write_0000) execute Address_00000000000000 execute Write_enable_false execute Data_write_1111_WE_false execute Write_Disable call Read_data (Address_00000000000000, Data_read_0000) end unit ! End of test