!!!! 6 0 1 986489916 V6c80 ! Device : 74ls207 ! 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 16 assign GND to pins 8 assign Data to pins 9,10,11,12 assign Address to pins 15,1,2,3,4,5,6,7 assign Data_D0 to pins 12 !AT Added for minimum pin test. assign Data_D1 to pins 11 !AT Added for minimum pin test. assign Data_D2 to pins 10 !AT Added for minimum pin test. assign Data_D3 to pins 9 !AT Added for minimum pin test. assign Write_enable to pins 14 assign Output_enable_bar to pins 13 family TTL power VCC, GND inputs Address, Write_enable, Output_enable_bar bidirectional Data bidirectional Data_D0, Data_D1, Data_D2, Data_D3 !AT Added for min. pin test. when Write_enable is "0" inputs Data when Write_enable is "1" outputs Data when Output_enable_bar is "1" inactive Data trace Data to Address, Write_enable, Output_enable_bar disable Data 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 receive Data set Write_enable to "0" set Address to "kkkkkkkk" set Output_enable_bar to "0" set Data to "0000" end vector vector Read_data_0001 receive Data set Write_enable to "0" set Address to "kkkkkkkk" set Output_enable_bar to "0" set Data to "0001" end vector vector Read_data_0010 receive Data set Write_enable to "0" set Address to "kkkkkkkk" set Output_enable_bar to "0" set Data to "0010" end vector vector Read_data_0011 receive Data set Write_enable to "0" set Address to "kkkkkkkk" set Output_enable_bar to "0" set Data to "0011" end vector vector Read_data_0100 receive Data set Write_enable to "0" set Address to "kkkkkkkk" set Output_enable_bar to "0" set Data to "0100" end vector vector Read_data_0101 receive Data set Write_enable to "0" set Address to "kkkkkkkk" set Output_enable_bar to "0" set Data to "0101" end vector vector Read_data_0110 receive Data set Write_enable to "0" set Address to "kkkkkkkk" set Output_enable_bar to "0" set Data to "0110" end vector vector Read_data_0111 receive Data set Write_enable to "0" set Address to "kkkkkkkk" set Output_enable_bar to "0" set Data to "0111" end vector vector Read_data_1000 receive Data set Write_enable to "0" set Address to "kkkkkkkk" set Output_enable_bar to "0" set Data to "1000" end vector vector Read_data_1001 receive Data set Write_enable to "0" set Address to "kkkkkkkk" set Output_enable_bar to "0" set Data to "1001" end vector vector Read_data_1010 receive Data set Write_enable to "0" set Address to "kkkkkkkk" set Output_enable_bar to "0" set Data to "1010" end vector vector Read_data_1011 receive Data set Write_enable to "0" set Address to "kkkkkkkk" set Output_enable_bar to "0" set Data to "1011" end vector vector Read_data_1100 receive Data set Write_enable to "0" set Address to "kkkkkkkk" set Output_enable_bar to "0" set Data to "1100" end vector vector Read_data_1101 receive Data set Write_enable to "0" set Address to "kkkkkkkk" set Output_enable_bar to "0" set Data to "1101" end vector vector Read_data_1110 receive Data set Write_enable to "0" set Address to "kkkkkkkk" set Output_enable_bar to "0" set Data to "1110" end vector vector Read_data_1111 receive Data set Write_enable to "0" set Address to "kkkkkkkk" set Output_enable_bar to "0" set Data to "1111" end vector vector Write_data_0000 drive Data set Output_enable_bar to "1" set Write_enable to "0" set Address to "kkkkkkkk" set Data to "0000" end vector vector Write_data_0001 drive Data set Output_enable_bar to "1" set Write_enable to "0" set Address to "kkkkkkkk" set Data to "0001" end vector vector Write_data_0010 drive Data set Output_enable_bar to "1" set Write_enable to "0" set Address to "kkkkkkkk" set Data to "0010" end vector vector Write_data_0011 drive Data set Output_enable_bar to "1" set Write_enable to "0" set Address to "kkkkkkkk" set Data to "0011" end vector vector Write_data_0100 drive Data set Output_enable_bar to "1" set Write_enable to "0" set Address to "kkkkkkkk" set Data to "0100" end vector vector Write_data_0101 drive Data set Output_enable_bar to "1" set Write_enable to "0" set Address to "kkkkkkkk" set Data to "0101" end vector vector Write_data_0110 drive Data set Output_enable_bar to "1" set Write_enable to "0" set Address to "kkkkkkkk" set Data to "0110" end vector vector Write_data_0111 drive Data set Output_enable_bar to "1" set Write_enable to "0" set Address to "kkkkkkkk" set Data to "0111" end vector vector Write_data_1000 drive Data set Output_enable_bar to "1" set Write_enable to "0" set Address to "kkkkkkkk" set Data to "1000" end vector vector Write_data_1001 drive Data set Output_enable_bar to "1" set Write_enable to "0" set Address to "kkkkkkkk" set Data to "1001" end vector vector Write_data_1010 drive Data set Output_enable_bar to "1" set Write_enable to "0" set Address to "kkkkkkkk" set Data to "1010" end vector vector Write_data_1011 drive Data set Output_enable_bar to "1" set Write_enable to "0" set Address to "kkkkkkkk" set Data to "1011" end vector vector Write_data_1100 drive Data set Output_enable_bar to "1" set Write_enable to "0" set Address to "kkkkkkkk" set Data to "1100" end vector vector Write_data_1101 drive Data set Output_enable_bar to "1" set Write_enable to "0" set Address to "kkkkkkkk" set Data to "1101" end vector vector Write_data_1110 drive Data set Output_enable_bar to "1" set Write_enable to "0" set Address to "kkkkkkkk" set Data to "1110" end vector vector Write_data_1111 drive Data set Output_enable_bar to "1" set Write_enable to "0" set Address to "kkkkkkkk" set Data to "1111" end vector vector Write_enable_high drive Data set Output_enable_bar to "1" set Address to "kkkkkkkk" set Data 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 receive Data_D0 set Write_enable to "0" set Address to "kkkkkkkk" set Output_enable_bar to "0" set Data_D0 to "0" end vector vector Read_data_D0_1 receive Data_D0 set Write_enable to "0" set Address to "kkkkkkkk" set Output_enable_bar to "0" set Data_D0 to "1" end vector vector Read_data_D1_0 receive Data_D1 set Write_enable to "0" set Address to "kkkkkkkk" set Output_enable_bar to "0" set Data_D1 to "0" end vector vector Read_data_D1_1 receive Data_D1 set Write_enable to "0" set Address to "kkkkkkkk" set Output_enable_bar to "0" set Data_D1 to "1" end vector vector Read_data_D2_0 receive Data_D2 set Write_enable to "0" set Address to "kkkkkkkk" set Output_enable_bar to "0" set Data_D2 to "0" end vector vector Read_data_D2_1 receive Data_D2 set Write_enable to "0" set Address to "kkkkkkkk" set Output_enable_bar to "0" set Data_D2 to "1" end vector vector Read_data_D3_0 receive Data_D3 set Write_enable to "0" set Address to "kkkkkkkk" set Output_enable_bar to "0" set Data_D3 to "0" end vector vector Read_data_D3_1 receive Data_D3 set Write_enable to "0" set Address to "kkkkkkkk" set Output_enable_bar to "0" set Data_D3 to "1" end vector vector Write_data_D0_0 drive Data_D0 set Output_enable_bar to "1" set Write_enable to "0" set Address to "kkkkkkkk" set Data_D0 to "0" end vector vector Write_data_D0_1 drive Data_D0 set Output_enable_bar to "1" set Write_enable to "0" set Address to "kkkkkkkk" set Data_D0 to "1" end vector vector Write_data_D1_0 drive Data_D1 set Output_enable_bar to "1" set Write_enable to "0" set Address to "kkkkkkkk" set Data_D1 to "0" end vector vector Write_data_D1_1 drive Data_D1 set Output_enable_bar to "1" set Write_enable to "0" set Address to "kkkkkkkk" set Data_D1 to "1" end vector vector Write_data_D2_0 drive Data_D2 set Output_enable_bar to "1" set Write_enable to "0" set Address to "kkkkkkkk" set Data_D2 to "0" end vector vector Write_data_D2_1 drive Data_D2 set Output_enable_bar to "1" set Write_enable to "0" set Address to "kkkkkkkk" set Data_D2 to "1" end vector vector Write_data_D3_0 drive Data_D3 set Output_enable_bar to "1" set Write_enable to "0" set Address to "kkkkkkkk" set Data_D3 to "0" end vector vector Write_data_D3_1 drive Data_D3 set Output_enable_bar to "1" set Write_enable to "0" set Address to "kkkkkkkk" set Data_D3 to "1" end vector vector WE_hi_D0 drive Data_D0 set Output_enable_bar to "1" set Address to "kkkkkkkk" set Data_D0 to "k" set Write_enable to "1" end vector vector WE_hi_D1 drive Data_D1 set Output_enable_bar to "1" set Address to "kkkkkkkk" set Data_D1 to "k" set Write_enable to "1" end vector vector WE_hi_D2 drive Data_D2 set Output_enable_bar to "1" set Address to "kkkkkkkk" set Data_D2 to "k" set Write_enable to "1" end vector vector WE_hi_D3 drive Data_D3 set Output_enable_bar to "1" set Address to "kkkkkkkk" set Data_D3 to "k" set Write_enable to "1" end vector vector WE_lo_D0 drive Data_D0 set Output_enable_bar to "1" set Address to "kkkkkkkk" set Data_D0 to "k" set Write_enable to "0" end vector vector WE_lo_D1 drive Data_D1 set Output_enable_bar to "1" set Address to "kkkkkkkk" set Data_D1 to "k" set Write_enable to "0" end vector vector WE_lo_D2 drive Data_D2 set Output_enable_bar to "1" set Address to "kkkkkkkk" set Data_D2 to "k" set Write_enable to "0" end vector vector WE_lo_D3 drive Data_D3 set Output_enable_bar to "1" set Address to "kkkkkkkk" set Data_D3 to "k" set Write_enable to "0" end vector !********************************************************************* !********************************************************************* sub Write_data (Address, Data_write) execute Address execute Data_write execute Write_enable_high execute Write_enable_low end sub sub Read_data (Address, Data_read) execute Address execute Data_read 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_write_Dx, WE_hi_Dx, WE_lo_Dx) execute Address execute Data_write_Dx execute WE_hi_Dx execute WE_lo_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_00000000, Write_data_D0_0, WE_hi_D0, WE_lo_D0) call Read_data (Address_00000000, Read_data_D0_0) call Write_data_Dx (Address_00000000, Write_data_D0_1, WE_hi_D0, WE_lo_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_hi_D1, WE_lo_D1) call Read_data (Address_00000000, Read_data_D1_0) call Write_data_Dx (Address_00000000, Write_data_D1_1, WE_hi_D1, WE_lo_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_hi_D2, WE_lo_D2) call Read_data (Address_00000000, Read_data_D2_0) call Write_data_Dx (Address_00000000, Write_data_D2_1, WE_hi_D2, WE_lo_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_hi_D3, WE_lo_D3) call Read_data (Address_00000000, Read_data_D3_0) call Write_data_Dx (Address_00000000, Write_data_D3_1, WE_hi_D3, WE_lo_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