!!!! 6 0 1 990666360 Vc49f ! Device : 2905 ! Function : Quad Two-Input OC Bus Transceiver with 3-State Receiver ! revision : B.01.00 ! safeguard : hi_oc_lsttl ! Modifications : Modified for AwareTest xi ! warning "This library has not been verified with hardware." vector cycle 2000n receive delay 1900n assign VCC to pins 24 assign GND to pins 6,18 assign A_3210 to pins 20,16,8,4 assign A0_I to pins 4 !AT Added for minimum pin test. assign A1_I to pins 8 !AT Added for minimum pin test. assign A2_I to pins 16 !AT Added for minimum pin test. assign A3_I to pins 20 !AT Added for minimum pin test. assign B_3210 to pins 21,15,9,3 assign B0_I to pins 3 !AT Added for minimum pin test. assign B1_I to pins 9 !AT Added for minimum pin test. assign B2_I to pins 15 !AT Added for minimum pin test. assign B3_I to pins 21 !AT Added for minimum pin test. assign R_3210 to pins 22,14,10,2 assign R0_O to pins 2 !AT Added for minimum pin test. assign R1_O to pins 10 !AT Added for minimum pin test. assign R2_O to pins 14 !AT Added for minimum pin test. assign R3_O to pins 22 !AT Added for minimum pin test. assign BUS_bar to pins 19,17,7,5 assign Bus0 to pins 5 !AT Added for minimum pin test. assign Bus1 to pins 7 !AT Added for minimum pin test. assign Bus2 to pins 17 !AT Added for minimum pin test. assign Bus3 to pins 19 !AT Added for minimum pin test. assign RLE_bar to pins 1 assign Select to pins 13 assign DRCP to pins 23 assign BE_bar to pins 11 assign OE_bar to pins 12 family TTL power VCC, GND inputs A_3210, B_3210, Select, DRCP, BE_bar, OE_bar, RLE_bar inputs A0_I, A1_I, A2_I, A3_I !AT Added for minimum pin test. inputs B0_I, B1_I, B2_I, B3_I !AT Added for minimum pin test. outputs R_3210 outputs R0_O, R1_O, R2_O, R3_O !AT Added for minimum pin test. bidirectional BUS_bar bidirectional Bus0, Bus1, Bus2, Bus3 !AT Added for minimum pin test. when BE_bar is "1" inputs BUS_bar when BE_bar is "0" outputs BUS_bar when OE_bar is "1" inactive R_3210 trace R_3210 to A_3210,B_3210,Select,DRCP,BE_bar,OE_bar,RLE_bar,BUS_bar trace BUS_bar to A_3210,B_3210,Select,DRCP,BE_bar disable BUS_bar with BE_bar to "1" disable R_3210 with OE_bar to "1" !***************************************************************************** !***************************************************************************** vector A_In_0000 set Select to "0" set A_3210 to "0000" set DRCP to "0" end vector vector A_In_0001 set Select to "0" set A_3210 to "0001" set DRCP to "0" end vector vector A_In_0011 set Select to "0" set A_3210 to "0011" set DRCP to "0" end vector vector A_In_0111 set Select to "0" set A_3210 to "0111" set DRCP to "0" end vector vector A_In_1111 set Select to "0" set A_3210 to "1111" set DRCP to "0" end vector vector B_In_0000 set Select to "1" set B_3210 to "0000" set DRCP to "0" end vector vector B_In_0001 set Select to "1" set B_3210 to "0001" set DRCP to "0" end vector vector B_In_0011 set Select to "1" set B_3210 to "0011" set DRCP to "0" end vector vector B_In_0111 set Select to "1" set B_3210 to "0111" set DRCP to "0" end vector vector B_In_1111 set Select to "1" set B_3210 to "1111" set DRCP to "0" end vector vector DRCP_high_A set Select to "0" set A_3210 to "kkkk" set DRCP to "1" set BE_bar to "0" set RLE_bar to "0" set OE_bar to "0" end vector vector DRCP_high_B set Select to "1" set B_3210 to "kkkk" set DRCP to "1" set BE_bar to "0" set RLE_bar to "0" set OE_bar to "0" end vector vector Receive_Outputs_0000 receive Bus_bar set DRCP to "0" set BE_bar to "0" set RLE_bar to "0" set OE_bar to "0" set Bus_bar to "1111" set R_3210 to "0000" end vector vector Receive_Outputs_0001 receive Bus_bar set DRCP to "0" set BE_bar to "0" set RLE_bar to "0" set OE_bar to "0" set Bus_bar to "1110" set R_3210 to "0001" end vector vector Receive_Outputs_0011 receive Bus_bar set DRCP to "0" set BE_bar to "0" set RLE_bar to "0" set OE_bar to "0" set Bus_bar to "1100" set R_3210 to "0011" end vector vector Receive_Outputs_0111 receive Bus_bar set DRCP to "0" set BE_bar to "0" set RLE_bar to "0" set OE_bar to "0" set Bus_bar to "1000" set R_3210 to "0111" end vector vector Receive_Outputs_1111 receive Bus_bar set DRCP to "0" set BE_bar to "0" set RLE_bar to "0" set OE_bar to "0" set Bus_bar to "0000" set R_3210 to "1111" end vector vector End_Receive_Cycle set DRCP to "1" end vector vector BE_bar_false set Select to "0" set A_3210 to "0000" set BE_bar to "1" set RLE_bar to "0" set OE_bar to "0" end vector vector Drive_Bus_0101 initialize to BE_bar_false drive Bus_bar set DRCP to "0" set Bus_bar to "0101" end vector vector Drive_Bus_1010 initialize to BE_bar_false drive Bus_bar set DRCP to "0" set Bus_bar to "1010" end vector vector Clock_high initialize to BE_bar_false drive Bus_bar set DRCP to "1" set Bus_bar to "kkkk" end vector vector Receive_1010 initialize to BE_bar_false drive Bus_bar set DRCP to "0" set Bus_bar to "kkkk" set R_3210 to "1010" end vector vector Receive_0101 initialize to BE_bar_false drive Bus_bar set DRCP to "0" set Bus_bar to "kkkk" set R_3210 to "0101" end vector vector Bus_in_0000 drive Bus_bar set RLE_bar to "0" set BE_bar to "1" set Bus_bar to "0000" set OE_bar to "0" end vector vector Bus_in_0000_RLE_false drive Bus_bar set RLE_bar to "1" set BE_bar to "1" set Bus_bar to "0000" set OE_bar to "0" end vector vector Bus_In_1111_RLE_false drive Bus_bar set BE_bar to "1" set RLE_bar to "1" set Bus_bar to "1111" set OE_bar to "0" end vector vector Bus_in_1111 drive Bus_bar set BE_bar to "1" set RLE_bar to "0" set Bus_bar to "1111" set OE_bar to "0" end vector vector R_1111 drive Bus_bar set BE_bar to "1" set RLE_bar to "k" set Bus_bar to "kkkk" set OE_bar to "0" set R_3210 to "1111" end vector vector R_0000 drive Bus_bar set BE_bar to "1" set RLE_bar to "k" set Bus_bar to "kkkk" set OE_bar to "0" set R_3210 to "0000" 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 A0_In_0 set Select to "0" set A0_I to "0" set DRCP to "0" end vector vector A0_In_1 set Select to "0" set A0_I to "1" set DRCP to "0" end vector vector A1_In_0 set Select to "0" set A1_I to "0" set DRCP to "0" end vector vector A1_In_1 set Select to "0" set A1_I to "1" set DRCP to "0" end vector vector A2_In_0 set Select to "0" set A2_I to "0" set DRCP to "0" end vector vector A2_In_1 set Select to "0" set A2_I to "1" set DRCP to "0" end vector vector A3_In_0 set Select to "0" set A3_I to "0" set DRCP to "0" end vector vector A3_In_1 set Select to "0" set A3_I to "1" set DRCP to "0" end vector vector B0_In_0 set Select to "1" set B0_I to "0" set DRCP to "0" end vector vector B0_In_1 set Select to "1" set B0_I to "1" set DRCP to "0" end vector vector B1_In_0 set Select to "1" set B1_I to "0" set DRCP to "0" end vector vector B1_In_1 set Select to "1" set B1_I to "1" set DRCP to "0" end vector vector B2_In_0 set Select to "1" set B2_I to "0" set DRCP to "0" end vector vector B2_In_1 set Select to "1" set B2_I to "1" set DRCP to "0" end vector vector B3_In_0 set Select to "1" set B3_I to "0" set DRCP to "0" end vector vector B3_In_1 set Select to "1" set B3_I to "1" set DRCP to "0" end vector vector DRCP_high_A0 set Select to "0" set A0_I to "k" set DRCP to "1" set BE_bar to "0" set RLE_bar to "0" set OE_bar to "0" end vector vector DRCP_high_A1 set Select to "0" set A1_I to "k" set DRCP to "1" set BE_bar to "0" set RLE_bar to "0" set OE_bar to "0" end vector vector DRCP_high_A2 set Select to "0" set A2_I to "k" set DRCP to "1" set BE_bar to "0" set RLE_bar to "0" set OE_bar to "0" end vector vector DRCP_high_A3 set Select to "0" set A3_I to "k" set DRCP to "1" set BE_bar to "0" set RLE_bar to "0" set OE_bar to "0" end vector vector DRCP_high_B0 set Select to "1" set B0_I to "k" set DRCP to "1" set BE_bar to "0" set RLE_bar to "0" set OE_bar to "0" end vector vector DRCP_high_B1 set Select to "1" set B1_I to "k" set DRCP to "1" set BE_bar to "0" set RLE_bar to "0" set OE_bar to "0" end vector vector DRCP_high_B2 set Select to "1" set B2_I to "k" set DRCP to "1" set BE_bar to "0" set RLE_bar to "0" set OE_bar to "0" end vector vector DRCP_high_B3 set Select to "1" set B3_I to "k" set DRCP to "1" set BE_bar to "0" set RLE_bar to "0" set OE_bar to "0" end vector vector R0_Outputs_0 receive Bus0 set DRCP to "0" set BE_bar to "0" set RLE_bar to "0" set OE_bar to "0" set Bus0 to "1" set R0_O to "0" end vector vector R0_Outputs_1 receive Bus0 set DRCP to "0" set BE_bar to "0" set RLE_bar to "0" set OE_bar to "0" set Bus0 to "0" set R0_O to "1" end vector vector R1_Outputs_0 receive Bus1 set DRCP to "0" set BE_bar to "0" set RLE_bar to "0" set OE_bar to "0" set Bus1 to "1" set R1_O to "0" end vector vector R1_Outputs_1 receive Bus1 set DRCP to "0" set BE_bar to "0" set RLE_bar to "0" set OE_bar to "0" set Bus1 to "0" set R1_O to "1" end vector vector R2_Outputs_0 receive Bus2 set DRCP to "0" set BE_bar to "0" set RLE_bar to "0" set OE_bar to "0" set Bus2 to "1" set R2_O to "0" end vector vector R2_Outputs_1 receive Bus2 set DRCP to "0" set BE_bar to "0" set RLE_bar to "0" set OE_bar to "0" set Bus2 to "0" set R2_O to "1" end vector vector R3_Outputs_0 receive Bus3 set DRCP to "0" set BE_bar to "0" set RLE_bar to "0" set OE_bar to "0" set Bus3 to "1" set R3_O to "0" end vector vector R3_Outputs_1 receive Bus3 set DRCP to "0" set BE_bar to "0" set RLE_bar to "0" set OE_bar to "0" set Bus3 to "0" set R3_O to "1" end vector vector BE_bar_false_A0 set Select to "0" set A0_I to "0" set BE_bar to "1" set RLE_bar to "0" set OE_bar to "0" end vector vector BE_bar_false_A1 set Select to "0" set A1_I to "0" set BE_bar to "1" set RLE_bar to "0" set OE_bar to "0" end vector vector BE_bar_false_A2 set Select to "0" set A2_I to "0" set BE_bar to "1" set RLE_bar to "0" set OE_bar to "0" end vector vector BE_bar_false_A3 set Select to "0" set A3_I to "0" set BE_bar to "1" set RLE_bar to "0" set OE_bar to "0" end vector vector Drive_Bus0_0 initialize to BE_bar_false_A0 drive Bus0 set DRCP to "0" set Bus0 to "0" end vector vector Drive_Bus0_1 initialize to BE_bar_false_A0 drive Bus0 set DRCP to "0" set Bus0 to "1" end vector vector Drive_Bus1_0 initialize to BE_bar_false_A1 drive Bus1 set DRCP to "0" set Bus1 to "0" end vector vector Drive_Bus1_1 initialize to BE_bar_false_A1 drive Bus1 set DRCP to "0" set Bus1 to "1" end vector vector Drive_Bus2_0 initialize to BE_bar_false_A2 drive Bus2 set DRCP to "0" set Bus2 to "0" end vector vector Drive_Bus2_1 initialize to BE_bar_false_A2 drive Bus2 set DRCP to "0" set Bus2 to "1" end vector vector Drive_Bus3_0 initialize to BE_bar_false_A3 drive Bus3 set DRCP to "0" set Bus3 to "0" end vector vector Drive_Bus3_1 initialize to BE_bar_false_A3 drive Bus3 set DRCP to "0" set Bus3 to "1" end vector vector Clock_high_Bus0 initialize to BE_bar_false_A0 drive Bus0 set DRCP to "1" set Bus0 to "k" end vector vector Clock_high_Bus1 initialize to BE_bar_false_A1 drive Bus1 set DRCP to "1" set Bus1 to "k" end vector vector Clock_high_Bus2 initialize to BE_bar_false_A2 drive Bus2 set DRCP to "1" set Bus2 to "k" end vector vector Clock_high_Bus3 initialize to BE_bar_false_A3 drive Bus3 set DRCP to "1" set Bus3 to "k" end vector vector R0_O_0 initialize to BE_bar_false_A0 drive Bus0 set DRCP to "0" set Bus0 to "k" set R0_O to "0" end vector vector R0_O_1 initialize to BE_bar_false_A0 drive Bus0 set DRCP to "0" set Bus0 to "k" set R0_O to "1" end vector vector R1_O_0 initialize to BE_bar_false_A1 drive Bus1 set DRCP to "0" set Bus1 to "k" set R1_O to "0" end vector vector R1_O_1 initialize to BE_bar_false_A1 drive Bus1 set DRCP to "0" set Bus1 to "k" set R1_O to "1" end vector vector R2_O_0 initialize to BE_bar_false_A2 drive Bus2 set DRCP to "0" set Bus2 to "k" set R2_O to "0" end vector vector R2_O_1 initialize to BE_bar_false_A2 drive Bus2 set DRCP to "0" set Bus2 to "k" set R2_O to "1" end vector vector R3_O_0 initialize to BE_bar_false_A3 drive Bus3 set DRCP to "0" set Bus3 to "k" set R3_O to "0" end vector vector R3_O_1 initialize to BE_bar_false_A3 drive Bus3 set DRCP to "0" set Bus3 to "k" set R3_O to "1" end vector !***************************************************************************** !***************************************************************************** ! The following units tests for SA1 and SA0 on all pins except OE_bar, ! which connot be tested for SA0. sub A_Inputs_Test (Input,Receive) execute Input execute DRCP_high_A execute Receive execute End_Receive_Cycle end sub sub B_Inputs_Test (Input,Receive) execute Input execute DRCP_high_B execute Receive execute End_Receive_Cycle end sub !***************************************************************************** !AT The following AwareTest units have been added for minimum pins tests. Each !AT unit tests a separate data pin starting with A0. unit "awaretest A0 input Test" execute A0_In_0 execute DRCP_high_A0 execute R0_Outputs_0 execute End_Receive_Cycle execute A0_In_1 execute DRCP_high_A0 execute R0_Outputs_1 execute End_Receive_Cycle end unit unit "awaretest A1 input Test" execute A1_In_0 execute DRCP_high_A1 execute R1_Outputs_0 execute End_Receive_Cycle execute A1_In_1 execute DRCP_high_A1 execute R1_Outputs_1 execute End_Receive_Cycle end unit unit "awaretest A2 input Test" execute A2_In_0 execute DRCP_high_A2 execute R2_Outputs_0 execute End_Receive_Cycle execute A2_In_1 execute DRCP_high_A2 execute R2_Outputs_1 execute End_Receive_Cycle end unit unit "awaretest A3 input Test" execute A3_In_0 execute DRCP_high_A3 execute R3_Outputs_0 execute End_Receive_Cycle execute A3_In_1 execute DRCP_high_A3 execute R3_Outputs_1 execute End_Receive_Cycle end unit unit "awaretest B0 input Test" execute B0_In_0 execute DRCP_high_B0 execute R0_Outputs_0 execute End_Receive_Cycle execute B0_In_1 execute DRCP_high_B0 execute R0_Outputs_1 execute End_Receive_Cycle end unit unit "awaretest B1 input Test" execute B1_In_0 execute DRCP_high_B1 execute R1_Outputs_0 execute End_Receive_Cycle execute B1_In_1 execute DRCP_high_B1 execute R1_Outputs_1 execute End_Receive_Cycle end unit unit "awaretest B2 input Test" execute B2_In_0 execute DRCP_high_B2 execute R2_Outputs_0 execute End_Receive_Cycle execute B2_In_1 execute DRCP_high_B2 execute R2_Outputs_1 execute End_Receive_Cycle end unit unit "awaretest B3 input Test" execute B3_In_0 execute DRCP_high_B3 execute R3_Outputs_0 execute End_Receive_Cycle execute B3_In_1 execute DRCP_high_B3 execute R3_Outputs_1 execute End_Receive_Cycle end unit unit "awaretest Bus0 Test" execute Drive_Bus0_1 execute Clock_high_Bus0 execute R0_O_0 execute Drive_Bus0_0 execute Clock_high_Bus0 execute R0_O_1 end unit unit "awaretest Bus1 Test" execute Drive_Bus1_1 execute Clock_high_Bus1 execute R1_O_0 execute Drive_Bus1_0 execute Clock_high_Bus1 execute R1_O_1 end unit unit "awaretest Bus2 Test" execute Drive_Bus2_1 execute Clock_high_Bus2 execute R2_O_0 execute Drive_Bus2_0 execute Clock_high_Bus2 execute R2_O_1 end unit unit "awaretest Bus3 Test" execute Drive_Bus3_1 execute Clock_high_Bus3 execute R3_O_0 execute Drive_Bus3_0 execute Clock_high_Bus3 execute R3_O_1 end unit unit "Test A_Inputs" call A_Inputs_Test (A_In_0000,Receive_Outputs_0000) call A_Inputs_Test (A_In_0001,Receive_Outputs_0001) call A_Inputs_Test (A_In_0011,Receive_Outputs_0011) call A_Inputs_Test (A_In_0111,Receive_Outputs_0111) call A_Inputs_Test (A_In_1111,Receive_Outputs_1111) end unit unit "Test B_Inputs" call B_Inputs_Test (B_In_0000,Receive_Outputs_0000) call B_Inputs_Test (B_In_0001,Receive_Outputs_0001) call B_Inputs_Test (B_In_0011,Receive_Outputs_0011) call B_Inputs_Test (B_In_0111,Receive_Outputs_0111) call B_Inputs_Test (B_In_1111,Receive_Outputs_1111) end unit unit "Bus Inputs Test" execute Drive_bus_0101 execute Clock_high execute Receive_1010 execute Drive_bus_1010 execute Clock_high execute Receive_0101 end unit unit "RLE_bar Test" execute Bus_In_0000 execute R_1111 execute Bus_In_0000_RLE_false execute Bus_In_1111_RLE_false execute R_1111 execute Bus_In_1111 execute R_0000 execute Bus_In_0000 execute R_1111 end unit ! End of test