!!!! 6 0 1 986802203 Vbbf8 ! Device : 6132 ! Function : Static RAM 3-state 4k x 8 ! revision : B.01.00 ! safeguard : med_out_mos ! Modifications : Modified for AwareTest xi ! warning "This library has not been verified with hardware." assign VCC to pins 28 assign GND to pins 14 assign Address to pins 23,21,24,25,3,4,5,6,7,8,9,10 assign AC to pins 26 assign DS_bar to pins 22 assign WE_bar to pins 27 assign CS_bar to pins 20 assign Data to pins 19,18,17,16,15,13,12,11 assign Data_D0 to pins 11 !AT Added for minimum pin test. assign Data_D1 to pins 12 !AT Added for minimum pin test. assign Data_D2 to pins 13 !AT Added for minimum pin test. assign Data_D3 to pins 15 !AT Added for minimum pin test. assign Data_D4 to pins 16 !AT Added for minimum pin test. assign Data_D5 to pins 17 !AT Added for minimum pin test. assign Data_D6 to pins 18 !AT Added for minimum pin test. assign Data_D7 to pins 19 !AT Added for minimum pin test. assign BUSY_bar to pins 1 assign NC to pins 2 family TTL power VCC, GND inputs Address, AC, DS_bar, WE_bar, CS_bar, BUSY_bar bidirectional Data 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. nondigital NC when DS_bar is "1" inactive Data when CS_bar is "1" inactive Data when WE_bar is "1" outputs Data when WE_bar is "0" inputs Data trace Data to Address, AC, DS_bar, WE_bar, CS_bar, BUSY_bar disable Data with DS_bar to "1" !***************************************************************************** !***************************************************************************** vector Address_000000000000 set AC to "0" set Address to "000000000000" end vector vector Address_000000000001 set AC to "0" set Address to "000000000001" end vector vector Address_000000000011 set AC to "0" set Address to "000000000011" end vector vector Address_000000000111 set AC to "0" set Address to "000000000111" end vector vector Address_000000001111 set AC to "0" set Address to "000000001111" end vector vector Address_000000011111 set AC to "0" set Address to "000000011111" end vector vector Address_000000111111 set AC to "0" set Address to "000000111111" end vector vector Address_000001111111 set AC to "0" set Address to "000001111111" end vector vector Address_000011111111 set AC to "0" set Address to "000011111111" end vector vector Address_000111111111 set AC to "0" set Address to "000111111111" end vector vector Address_001111111111 set AC to "0" set Address to "001111111111" end vector vector Address_011111111111 set AC to "0" set Address to "011111111111" end vector vector Address_111111111111 set AC to "0" set Address to "111111111111" end vector vector Read set AC to "0" set DS_bar to "1" set CS_bar to "0" set Address to "kkkkkkkkkkkk" set WE_bar to "1" set Busy_bar to "0" end vector vector AC_high set AC to "1" set DS_bar to "1" set CS_bar to "k" set Address to "kkkkkkkkkkkk" set WE_bar to "k" set BUSY_bar to "0" end vector vector DS_low set AC to "1" set DS_bar to "0" set BUSY_bar to "0" end vector vector Data_out_00000000 initialize to DS_low receive Data set Data to "00000000" end vector vector Data_out_00000001 initialize to DS_low receive Data set Data to "00000001" end vector vector Data_out_00000011 initialize to DS_low receive Data set Data to "00000011" end vector vector Data_out_00000111 initialize to DS_low receive Data set Data to "00000111" end vector vector Data_out_00001111 initialize to DS_low receive Data set Data to "00001111" end vector vector Data_out_00011111 initialize to DS_low receive Data set Data to "00011111" end vector vector Data_out_00111111 initialize to DS_low receive Data set Data to "00111111" end vector vector Data_out_01111111 initialize to DS_low receive Data set Data to "01111111" end vector vector Data_out_11111111 initialize to DS_low receive Data set Data to "11111111" end vector vector Data_out_11111110 initialize to DS_low receive Data set Data to "11111110" end vector vector Data_out_11111100 initialize to DS_low receive Data set Data to "11111100" end vector vector Data_out_11111000 initialize to DS_low receive Data set Data to "11111000" end vector vector Data_out_11110000 initialize to DS_low receive Data set Data to "11110000" end vector vector DS_high set AC to "1" set DS_bar to "1" set BUSY_bar to "0" end vector vector AC_low set AC to "0" set DS_bar to "1" set BUSY_bar to "0" end vector vector Write initialize to Read set WE_bar to "0" end vector vector Data_in_00000000 drive Data set AC to "1" set DS_bar to "0" set WE_bar to "0" set Data to "00000000" set BUSY_bar to "0" end vector vector Data_in_00000001 drive Data set AC to "1" set DS_bar to "0" set WE_bar to "0" set Data to "00000001" set BUSY_bar to "0" end vector vector Data_in_00000011 drive Data set AC to "1" set DS_bar to "0" set WE_bar to "0" set Data to "00000011" set BUSY_bar to "0" end vector vector Data_in_00000111 drive Data set AC to "1" set DS_bar to "0" set WE_bar to "0" set Data to "00000111" set BUSY_bar to "0" end vector vector Data_in_00001111 drive Data set AC to "1" set DS_bar to "0" set WE_bar to "0" set Data to "00001111" set BUSY_bar to "0" end vector vector Data_in_00011111 drive Data set AC to "1" set DS_bar to "0" set WE_bar to "0" set Data to "00011111" set BUSY_bar to "0" end vector vector Data_in_00111111 drive Data set AC to "1" set DS_bar to "0" set WE_bar to "0" set Data to "00111111" set BUSY_bar to "0" end vector vector Data_in_01111111 drive Data set AC to "1" set DS_bar to "0" set WE_bar to "0" set Data to "01111111" set BUSY_bar to "0" end vector vector Data_in_11111111 drive Data set AC to "1" set DS_bar to "0" set WE_bar to "0" set Data to "11111111" set BUSY_bar to "0" end vector vector Data_in_11111110 drive Data set AC to "1" set DS_bar to "0" set WE_bar to "0" set Data to "11111110" set BUSY_bar to "0" end vector vector Data_in_11111100 drive Data set AC to "1" set DS_bar to "0" set WE_bar to "0" set Data to "11111100" set BUSY_bar to "0" end vector vector Data_in_11111000 drive Data set AC to "1" set DS_bar to "0" set WE_bar to "0" set Data to "11111000" set BUSY_bar to "0" end vector vector Data_in_11110000 drive Data set AC to "1" set DS_bar to "0" set WE_bar to "0" set Data to "11110000" set BUSY_bar to "0" end vector vector Data_in_valid drive Data set AC to "1" set DS_bar to "0" set Data to "kkkkkkkk" set BUSY_bar to "0" end vector vector CS_false set AC to "0" set DS_bar to "1" set CS_bar to "1" set Address to "kkkkkkkkkkkk" set WE_bar to "0" set BUSY_bar 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 Data_out_D0_0 initialize to DS_low receive Data_D0 set Data_D0 to "0" end vector vector Data_out_D0_1 initialize to DS_low receive Data_D0 set Data_D0 to "1" end vector vector Data_out_D1_0 initialize to DS_low receive Data_D1 set Data_D1 to "0" end vector vector Data_out_D1_1 initialize to DS_low receive Data_D1 set Data_D1 to "1" end vector vector Data_out_D2_0 initialize to DS_low receive Data_D2 set Data_D2 to "0" end vector vector Data_out_D2_1 initialize to DS_low receive Data_D2 set Data_D2 to "1" end vector vector Data_out_D3_0 initialize to DS_low receive Data_D3 set Data_D3 to "0" end vector vector Data_out_D3_1 initialize to DS_low receive Data_D3 set Data_D3 to "1" end vector vector Data_out_D4_0 initialize to DS_low receive Data_D4 set Data_D4 to "0" end vector vector Data_out_D4_1 initialize to DS_low receive Data_D4 set Data_D4 to "1" end vector vector Data_out_D5_0 initialize to DS_low receive Data_D5 set Data_D5 to "0" end vector vector Data_out_D5_1 initialize to DS_low receive Data_D5 set Data_D5 to "1" end vector vector Data_out_D6_0 initialize to DS_low receive Data_D6 set Data_D6 to "0" end vector vector Data_out_D6_1 initialize to DS_low receive Data_D6 set Data_D6 to "1" end vector vector Data_out_D7_0 initialize to DS_low receive Data_D7 set Data_D7 to "0" end vector vector Data_out_D7_1 initialize to DS_low receive Data_D7 set Data_D7 to "1" end vector vector Data_in_D0_0 drive Data_D0 set AC to "1" set DS_bar to "0" set WE_bar to "0" set Data_D0 to "0" set BUSY_bar to "0" end vector vector Data_in_D0_1 drive Data_D0 set AC to "1" set DS_bar to "0" set WE_bar to "0" set Data_D0 to "1" set BUSY_bar to "0" end vector vector Data_in_D1_0 drive Data_D1 set AC to "1" set DS_bar to "0" set WE_bar to "0" set Data_D1 to "0" set BUSY_bar to "0" end vector vector Data_in_D1_1 drive Data_D1 set AC to "1" set DS_bar to "0" set WE_bar to "0" set Data_D1 to "1" set BUSY_bar to "0" end vector vector Data_in_D2_0 drive Data_D2 set AC to "1" set DS_bar to "0" set WE_bar to "0" set Data_D2 to "0" set BUSY_bar to "0" end vector vector Data_in_D2_1 drive Data_D2 set AC to "1" set DS_bar to "0" set WE_bar to "0" set Data_D2 to "1" set BUSY_bar to "0" end vector vector Data_in_D3_0 drive Data_D3 set AC to "1" set DS_bar to "0" set WE_bar to "0" set Data_D3 to "0" set BUSY_bar to "0" end vector vector Data_in_D3_1 drive Data_D3 set AC to "1" set DS_bar to "0" set WE_bar to "0" set Data_D3 to "1" set BUSY_bar to "0" end vector vector Data_in_D4_0 drive Data_D4 set AC to "1" set DS_bar to "0" set WE_bar to "0" set Data_D4 to "0" set BUSY_bar to "0" end vector vector Data_in_D4_1 drive Data_D4 set AC to "1" set DS_bar to "0" set WE_bar to "0" set Data_D4 to "1" set BUSY_bar to "0" end vector vector Data_in_D5_0 drive Data_D5 set AC to "1" set DS_bar to "0" set WE_bar to "0" set Data_D5 to "0" set BUSY_bar to "0" end vector vector Data_in_D5_1 drive Data_D5 set AC to "1" set DS_bar to "0" set WE_bar to "0" set Data_D5 to "1" set BUSY_bar to "0" end vector vector Data_in_D6_0 drive Data_D6 set AC to "1" set DS_bar to "0" set WE_bar to "0" set Data_D6 to "0" set BUSY_bar to "0" end vector vector Data_in_D6_1 drive Data_D6 set AC to "1" set DS_bar to "0" set WE_bar to "0" set Data_D6 to "1" set BUSY_bar to "0" end vector vector Data_in_D7_0 drive Data_D7 set AC to "1" set DS_bar to "0" set WE_bar to "0" set Data_D7 to "0" set BUSY_bar to "0" end vector vector Data_in_D7_1 drive Data_D7 set AC to "1" set DS_bar to "0" set WE_bar to "0" set Data_D7 to "1" set BUSY_bar to "0" end vector vector Data_in_valid_D0 drive Data_D0 set AC to "1" set DS_bar to "0" set Data_D0 to "k" set BUSY_bar to "0" end vector vector Data_in_valid_D1 drive Data_D1 set AC to "1" set DS_bar to "0" set Data_D1 to "k" set BUSY_bar to "0" end vector vector Data_in_valid_D2 drive Data_D2 set AC to "1" set DS_bar to "0" set Data_D2 to "k" set BUSY_bar to "0" end vector vector Data_in_valid_D3 drive Data_D3 set AC to "1" set DS_bar to "0" set Data_D3 to "k" set BUSY_bar to "0" end vector vector Data_in_valid_D4 drive Data_D4 set AC to "1" set DS_bar to "0" set Data_D4 to "k" set BUSY_bar to "0" end vector vector Data_in_valid_D5 drive Data_D5 set AC to "1" set DS_bar to "0" set Data_D5 to "k" set BUSY_bar to "0" end vector vector Data_in_valid_D6 drive Data_D6 set AC to "1" set DS_bar to "0" set Data_D6 to "k" set BUSY_bar to "0" end vector vector Data_in_valid_D7 drive Data_D7 set AC to "1" set DS_bar to "0" set Data_D7 to "k" set BUSY_bar to "0" end vector !******************************************************************************* ! BUSY_bar cannot be tested, therefore it is listed as an input rather than ! bidirectional. sub Data_read (Address,Data) execute Address execute Read execute AC_high execute DS_low execute Data execute DS_high execute AC_low end sub sub Data_write (Address,Data) execute Address execute Write execute AC_high execute Data execute Data_in_valid execute DS_high execute AC_low 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 Data_write_Dx (Address, Data_Dx, Data_in_valid_Dx) execute Address execute Write execute AC_high execute Data_Dx execute Data_in_valid_Dx execute DS_high execute AC_low 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 Data_write_Dx (Address_000000000000, Data_in_D0_0, Data_in_valid_D0) call Data_read (Address_000000000000, Data_out_D0_0) call Data_write_Dx (Address_000000000000, Data_in_D0_1, Data_in_valid_D0) call Data_read (Address_000000000000, Data_out_D0_1) end unit unit "awaretest D1 Test" call Data_write_Dx (Address_000000000000, Data_in_D1_0, Data_in_valid_D1) call Data_read (Address_000000000000, Data_out_D1_0) call Data_write_Dx (Address_000000000000, Data_in_D1_1, Data_in_valid_D1) call Data_read (Address_000000000000, Data_out_D1_1) end unit unit "awaretest D2 Test" call Data_write_Dx (Address_000000000000, Data_in_D2_0, Data_in_valid_D2) call Data_read (Address_000000000000, Data_out_D2_0) call Data_write_Dx (Address_000000000000, Data_in_D2_1, Data_in_valid_D2) call Data_read (Address_000000000000, Data_out_D2_1) end unit unit "awaretest D3 Test" call Data_write_Dx (Address_000000000000, Data_in_D3_0, Data_in_valid_D3) call Data_read (Address_000000000000, Data_out_D3_0) call Data_write_Dx (Address_000000000000, Data_in_D3_1, Data_in_valid_D3) call Data_read (Address_000000000000, Data_out_D3_1) end unit unit "awaretest D4 Test" call Data_write_Dx (Address_000000000000, Data_in_D4_0, Data_in_valid_D4) call Data_read (Address_000000000000, Data_out_D4_0) call Data_write_Dx (Address_000000000000, Data_in_D4_1, Data_in_valid_D4) call Data_read (Address_000000000000, Data_out_D4_1) end unit unit "awaretest D5 Test" call Data_write_Dx (Address_000000000000, Data_in_D5_0, Data_in_valid_D5) call Data_read (Address_000000000000, Data_out_D5_0) call Data_write_Dx (Address_000000000000, Data_in_D5_1, Data_in_valid_D5) call Data_read (Address_000000000000, Data_out_D5_1) end unit unit "awaretest D6 Test" call Data_write_Dx (Address_000000000000, Data_in_D6_0, Data_in_valid_D6) call Data_read (Address_000000000000, Data_out_D6_0) call Data_write_Dx (Address_000000000000, Data_in_D6_1, Data_in_valid_D6) call Data_read (Address_000000000000, Data_out_D6_1) end unit unit "awaretest D7 Test" call Data_write_Dx (Address_000000000000, Data_in_D7_0, Data_in_valid_D7) call Data_read (Address_000000000000, Data_out_D7_0) call Data_write_Dx (Address_000000000000, Data_in_D7_1, Data_in_valid_D7) call Data_read (Address_000000000000, Data_out_D7_1) end unit unit "RAM Test" ! INITIALIZE RAM call Data_write (Address_000000000000,Data_in_11111111) call Data_write (Address_000000000001,Data_in_00000000) call Data_write (Address_000000000011,Data_in_00000000) call Data_write (Address_000000000111,Data_in_00000000) call Data_write (Address_000000001111,Data_in_00000000) call Data_write (Address_000000011111,Data_in_00000000) call Data_write (Address_000000111111,Data_in_00000000) call Data_write (Address_000001111111,Data_in_00000000) call Data_write (Address_000011111111,Data_in_00000000) call Data_write (Address_000111111111,Data_in_00000000) call Data_write (Address_001111111111,Data_in_00000000) call Data_write (Address_011111111111,Data_in_00000000) call Data_write (Address_111111111111,Data_in_00000000) ! TEST RAM CELLS call Data_write (Address_000000000000,Data_in_00000000) call Data_write (Address_000000000001,Data_in_00000001) call Data_write (Address_000000000011,Data_in_00000011) call Data_write (Address_000000000111,Data_in_00000111) call Data_write (Address_000000001111,Data_in_00001111) call Data_write (Address_000000011111,Data_in_00011111) call Data_write (Address_000000111111,Data_in_00111111) call Data_write (Address_000001111111,Data_in_01111111) call Data_write (Address_000011111111,Data_in_11111111) call Data_write (Address_000111111111,Data_in_11111110) call Data_write (Address_001111111111,Data_in_11111100) call Data_write (Address_011111111111,Data_in_11111000) call Data_write (Address_111111111111,Data_in_11110000) call Data_read (Address_000000000000,Data_out_00000000) call Data_read (Address_000000000001,Data_out_00000001) call Data_read (Address_000000000011,Data_out_00000011) call Data_read (Address_000000000111,Data_out_00000111) call Data_read (Address_000000001111,Data_out_00001111) call Data_read (Address_000000011111,Data_out_00011111) call Data_read (Address_000000111111,Data_out_00111111) call Data_read (Address_000001111111,Data_out_01111111) call Data_read (Address_000011111111,Data_out_11111111) call Data_read (Address_000111111111,Data_out_11111110) call Data_read (Address_001111111111,Data_out_11111100) call Data_read (Address_011111111111,Data_out_11111000) call Data_read (Address_111111111111,Data_out_11110000) end unit unit "Test CS_bar" call Data_write (Address_000000000000,Data_in_00000000) execute Address_000000000000 execute CS_false execute AC_high execute Data_in_11111111 execute Data_in_valid execute DS_high execute AC_low call Data_read (Address_000000000000,Data_out_00000000) end unit ! End of test