!!!! 6 0 1 990661779 V4349 ! Device : 2916 ! Function : latched_bus_transceiver 3-state ! revision : B.01.00 ! safeguard : high_out_lsttl ! Modifications : Modified for AwareTest xi ! warning "This library has not been verified with hardware." sequential assign VCC to pins 24 assign GND to pins 6,18 assign A_inputs to pins 4,8,16,20 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_inputs to pins 3,9,15,21 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 Bus_bar to pins 5,7,17,19 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 Receiver_disable to pins 5,7,17,19,1 assign Receiver_outputs to pins 2,10,14,22 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 Select to pins 13 assign Driver_clock to pins 23 assign Parity_output to pins 12 assign Bus_enable_bar to pins 11 assign RLE_bar to pins 1 family TTL power VCC, GND inputs A_inputs, B_inputs, Select, Driver_clock inputs Bus_enable_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 Receiver_outputs, Parity_output 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 Bus_enable_bar is "1" inputs Bus_bar when Bus_enable_bar is "0" outputs Bus_bar trace Receiver_outputs to A_inputs,B_inputs,Select,Driver_clock trace Receiver_outputs to RLE_bar,Bus_enable_bar,Bus_bar trace Parity_output to A_inputs,B_inputs,Select,Driver_clock trace Parity_output to RLE_bar,Bus_enable_bar,Bus_bar trace Bus_bar to A_inputs,B_inputs,Select,Driver_clock trace Bus_bar to Bus_enable_bar disable Bus_bar with Bus_enable_bar to "1" disable Receiver_outputs with Receiver_disable to "11110" !********************************************************************* !********************************************************************* vector Select_low set Select to "0" set Driver_clock to "0" set Bus_enable_bar to "0" end vector vector Select_high set Select to "1" set Driver_clock to "0" set Bus_enable_bar to "0" end vector vector RLE_bar_low set Bus_enable_bar to "1" set RLE_bar to "0" end vector vector Bus_in_1111 drive Bus_bar set RLE_bar to "k" set Bus_enable_bar to "1" set Bus_bar to "1111" end vector vector RLE_bar_high initialize to Bus_in_1111 set RLE_bar to "1" end vector vector Clock_high__A set Select to "0" set A_inputs to "kkkk" set Driver_clock to "1" end vector vector Clock_high__B set Select to "1" set B_inputs to "kkkk" set Driver_clock to "1" end vector vector Clock_low set Driver_clock to "0" end vector vector A_inputs_0000 initialize to Select_low set A_inputs to "0000" end vector vector A_inputs_0001 initialize to Select_low set A_inputs to "0001" end vector vector A_inputs_0011 initialize to Select_low set A_inputs to "0011" end vector vector A_inputs_0111 initialize to Select_low set A_inputs to "0111" end vector vector A_inputs_1111 initialize to Select_low set A_inputs to "1111" end vector vector B_inputs_0000 initialize to Select_high set B_inputs to "0000" end vector vector B_inputs_0001 initialize to Select_high set B_inputs to "0001" end vector vector B_inputs_0011 initialize to Select_high set B_inputs to "0011" end vector vector B_inputs_0111 initialize to Select_high set B_inputs to "0111" end vector vector B_inputs_1111 initialize to Select_high set B_inputs to "1111" end vector vector Bus_in_0000 drive Bus_bar set RLE_bar to "k" set Bus_enable_bar to "1" set Bus_bar to "0000" end vector vector Bus_in_0001 drive Bus_bar set RLE_bar to "k" set Bus_enable_bar to "1" set Bus_bar to "0001" end vector vector Bus_in_0011 drive Bus_bar set RLE_bar to "k" set Bus_enable_bar to "1" set Bus_bar to "0011" end vector vector Bus_in_0111 drive Bus_bar set RLE_bar to "k" set Bus_enable_bar to "1" set Bus_bar to "0111" end vector vector Bus_out_0000 receive Bus_bar set Driver_clock to "0" set Bus_enable_bar to "0" set Bus_bar to "0000" end vector vector Bus_out_1000 receive Bus_bar set Driver_clock to "0" set Bus_enable_bar to "0" set Bus_bar to "1000" end vector vector Bus_out_1100 receive Bus_bar set Driver_clock to "0" set Bus_enable_bar to "0" set Bus_bar to "1100" end vector vector Bus_out_1110 receive Bus_bar set Driver_clock to "0" set Bus_enable_bar to "0" set Bus_bar to "1110" end vector vector Bus_out_1111 receive Bus_bar set Driver_clock to "0" set Bus_enable_bar to "0" set Bus_bar to "1111" end vector vector Parity_A_output_0 initialize to Select_low set A_inputs to "kkkk" set Parity_output to "0" end vector vector Parity_A_output_1 initialize to Select_low set A_inputs to "kkkk" set Parity_output to "1" end vector vector Parity_B_output_0 initialize to Select_high set B_inputs to "kkkk" set Parity_output to "0" end vector vector Parity_B_output_1 initialize to Select_high set B_inputs to "kkkk" set Parity_output to "1" end vector vector Parity_Bus_output_0 drive Bus_bar set Bus_bar to "kkkk" set RLE_bar to "k" set Bus_enable_bar to "1" set Parity_output to "0" end vector vector Parity_Bus_output_1 drive Bus_bar set Bus_bar to "kkkk" set RLE_bar to "k" set Bus_enable_bar to "1" set Parity_output to "1" end vector vector Receiver_outputs_1111 drive Bus_bar set Bus_bar to "kkkk" set RLE_bar to "k" set Receiver_outputs to "1111" end vector vector Receiver_outputs_1110 drive Bus_bar set Bus_bar to "kkkk" set RLE_bar to "k" set Bus_enable_bar to "1" set Receiver_outputs to "1110" end vector vector Receiver_outputs_1100 drive Bus_bar set Bus_bar to "kkkk" set RLE_bar to "k" set Bus_enable_bar to "1" set Receiver_outputs to "1100" end vector vector Receiver_outputs_1000 drive Bus_bar set Bus_bar to "kkkk" set RLE_bar to "k" set Bus_enable_bar to "1" set Receiver_outputs to "1000" end vector vector Receiver_outputs_0000 drive Bus_bar set Bus_bar to "kkkk" set RLE_bar to "k" set Bus_enable_bar to "1" set Receiver_outputs 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 Clock_high__A0 set Select to "0" set A0_I to "k" set Driver_clock to "1" end vector vector Clock_high__A1 set Select to "0" set A1_I to "k" set Driver_clock to "1" end vector vector Clock_high__A2 set Select to "0" set A2_I to "k" set Driver_clock to "1" end vector vector Clock_high__A3 set Select to "0" set A3_I to "k" set Driver_clock to "1" end vector vector Clock_high__B0 set Select to "1" set B0_I to "k" set Driver_clock to "1" end vector vector Clock_high__B1 set Select to "1" set B1_I to "k" set Driver_clock to "1" end vector vector Clock_high__B2 set Select to "1" set B2_I to "k" set Driver_clock to "1" end vector vector Clock_high__B3 set Select to "1" set B3_I to "k" set Driver_clock to "1" end vector vector A0_I_0 initialize to Select_low set A0_I to "0" end vector vector A0_I_1 initialize to Select_low set A0_I to "1" end vector vector A1_I_0 initialize to Select_low set A1_I to "0" end vector vector A1_I_1 initialize to Select_low set A1_I to "1" end vector vector A2_I_0 initialize to Select_low set A2_I to "0" end vector vector A2_I_1 initialize to Select_low set A2_I to "1" end vector vector A3_I_0 initialize to Select_low set A3_I to "0" end vector vector A3_I_1 initialize to Select_low set A3_I to "1" end vector vector B0_I_0 initialize to Select_high set B0_I to "0" end vector vector B0_I_1 initialize to Select_high set B0_I to "1" end vector vector B1_I_0 initialize to Select_high set B1_I to "0" end vector vector B1_I_1 initialize to Select_high set B1_I to "1" end vector vector B2_I_0 initialize to Select_high set B2_I to "0" end vector vector B2_I_1 initialize to Select_high set B2_I to "1" end vector vector B3_I_0 initialize to Select_high set B3_I to "0" end vector vector B3_I_1 initialize to Select_high set B3_I to "1" end vector vector Bus0_out_0 receive Bus0 set Driver_clock to "0" set Bus_enable_bar to "0" set Bus0 to "0" end vector vector Bus0_out_1 receive Bus0 set Driver_clock to "0" set Bus_enable_bar to "0" set Bus0 to "1" end vector vector Bus1_out_0 receive Bus1 set Driver_clock to "0" set Bus_enable_bar to "0" set Bus1 to "0" end vector vector Bus1_out_1 receive Bus1 set Driver_clock to "0" set Bus_enable_bar to "0" set Bus1 to "1" end vector vector Bus2_out_0 receive Bus2 set Driver_clock to "0" set Bus_enable_bar to "0" set Bus2 to "0" end vector vector Bus2_out_1 receive Bus2 set Driver_clock to "0" set Bus_enable_bar to "0" set Bus2 to "1" end vector vector Bus3_out_0 receive Bus3 set Driver_clock to "0" set Bus_enable_bar to "0" set Bus3 to "0" end vector vector Bus3_out_1 receive Bus3 set Driver_clock to "0" set Bus_enable_bar to "0" set Bus3 to "1" end vector vector Bus0_in_0 drive Bus0 set RLE_bar to "k" set Bus_enable_bar to "1" set Bus0 to "0" end vector vector Bus0_in_1 drive Bus0 set RLE_bar to "k" set Bus_enable_bar to "1" set Bus0 to "1" end vector vector Bus1_in_0 drive Bus1 set RLE_bar to "k" set Bus_enable_bar to "1" set Bus1 to "0" end vector vector Bus1_in_1 drive Bus1 set RLE_bar to "k" set Bus_enable_bar to "1" set Bus1 to "1" end vector vector Bus2_in_0 drive Bus2 set RLE_bar to "k" set Bus_enable_bar to "1" set Bus2 to "0" end vector vector Bus2_in_1 drive Bus2 set RLE_bar to "k" set Bus_enable_bar to "1" set Bus2 to "1" end vector vector Bus3_in_0 drive Bus3 set RLE_bar to "k" set Bus_enable_bar to "1" set Bus3 to "0" end vector vector Bus3_in_1 drive Bus3 set RLE_bar to "k" set Bus_enable_bar to "1" set Bus3 to "1" end vector vector R0_outputs_0 drive Bus0 set Bus0 to "k" set RLE_bar to "k" set Bus_enable_bar to "1" set R0_O to "0" end vector vector R0_outputs_1 drive Bus0 set Bus0 to "k" set RLE_bar to "k" set Bus_enable_bar to "1" set R0_O to "1" end vector vector R1_outputs_0 drive Bus1 set Bus1 to "k" set RLE_bar to "k" set Bus_enable_bar to "1" set R1_O to "0" end vector vector R1_outputs_1 drive Bus1 set Bus1 to "k" set RLE_bar to "k" set Bus_enable_bar to "1" set R1_O to "1" end vector vector R2_outputs_0 drive Bus2 set Bus2 to "k" set RLE_bar to "k" set Bus_enable_bar to "1" set R2_O to "0" end vector vector R2_outputs_1 drive Bus2 set Bus2 to "k" set RLE_bar to "k" set Bus_enable_bar to "1" set R2_O to "1" end vector vector R3_outputs_0 drive Bus3 set Bus3 to "k" set RLE_bar to "k" set Bus_enable_bar to "1" set R3_O to "0" end vector vector R3_outputs_1 drive Bus3 set Bus3 to "k" set RLE_bar to "k" set Bus_enable_bar to "1" set R3_O to "1" end vector !********************************************************************* !********************************************************************* !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_I_0 execute Clock_high__A0 execute Clock_low execute Bus0_out_1 execute A0_I_1 execute Clock_high__A0 execute Clock_low execute Bus0_out_0 end unit unit "awaretest A1 input Test" execute A1_I_0 execute Clock_high__A1 execute Clock_low execute Bus1_out_1 execute A1_I_1 execute Clock_high__A1 execute Clock_low execute Bus1_out_0 end unit unit "awaretest A2 input Test" execute A2_I_0 execute Clock_high__A2 execute Clock_low execute Bus2_out_1 execute A2_I_1 execute Clock_high__A2 execute Clock_low execute Bus2_out_0 end unit unit "awaretest A3 input Test" execute A3_I_0 execute Clock_high__A3 execute Clock_low execute Bus3_out_1 execute A3_I_1 execute Clock_high__A3 execute Clock_low execute Bus3_out_0 end unit unit "awaretest B0 input Test" execute B0_I_0 execute Clock_high__B0 execute Clock_low execute Bus0_out_1 execute B0_I_1 execute Clock_high__B0 execute Clock_low execute Bus0_out_0 end unit unit "awaretest B1 input Test" execute B1_I_0 execute Clock_high__B1 execute Clock_low execute Bus1_out_1 execute B1_I_1 execute Clock_high__B1 execute Clock_low execute Bus1_out_0 end unit unit "awaretest B2 input Test" execute B2_I_0 execute Clock_high__B2 execute Clock_low execute Bus2_out_1 execute B2_I_1 execute Clock_high__B2 execute Clock_low execute Bus2_out_0 end unit unit "awaretest B3 input Test" execute B3_I_0 execute Clock_high__B3 execute Clock_low execute Bus3_out_1 execute B3_I_1 execute Clock_high__B3 execute Clock_low execute Bus3_out_0 end unit unit "awaretest R0 input Test" execute RLE_bar_low execute Bus0_in_0 execute R0_outputs_1 execute Bus0_in_1 execute R0_outputs_0 end unit unit "awaretest R1 input Test" execute RLE_bar_low execute Bus1_in_0 execute R1_outputs_1 execute Bus1_in_1 execute R1_outputs_0 end unit unit "awaretest R2 input Test" execute RLE_bar_low execute Bus2_in_0 execute R2_outputs_1 execute Bus2_in_1 execute R2_outputs_0 end unit unit "awaretest R3 input Test" execute RLE_bar_low execute Bus3_in_0 execute R3_outputs_1 execute Bus3_in_1 execute R3_outputs_0 end unit unit "test A_inputs" execute A_inputs_0000 execute Parity_A_output_0 execute Clock_high__A execute Clock_low execute Bus_out_1111 execute A_inputs_0001 execute Parity_A_output_1 execute Clock_high__A execute Clock_low execute Bus_out_1110 execute A_inputs_0011 execute Parity_A_output_0 execute Clock_high__A execute Clock_low execute Bus_out_1100 execute A_inputs_0111 execute Parity_A_output_1 execute Clock_high__A execute Clock_low execute Bus_out_1000 execute A_inputs_1111 execute Parity_A_output_0 execute Clock_high__A execute Clock_low execute Bus_out_0000 end unit unit "test B_inputs" execute B_inputs_0000 execute Parity_B_output_0 execute Clock_high__B execute Clock_low execute Bus_out_1111 execute B_inputs_0001 execute Parity_B_output_1 execute Clock_high__B execute Clock_low execute Bus_out_1110 execute B_inputs_0011 execute Parity_B_output_0 execute Clock_high__B execute Clock_low execute Bus_out_1100 execute B_inputs_0111 execute Parity_B_output_1 execute Clock_high__B execute Clock_low execute Bus_out_1000 execute B_inputs_1111 execute Parity_B_output_0 execute Clock_high__B execute Clock_low execute Bus_out_0000 end unit unit "test receivers, RLE_bar available" execute RLE_bar_low execute Bus_in_0000 execute Parity_Bus_output_0 execute Receiver_outputs_1111 execute Bus_in_0001 execute Parity_Bus_output_1 execute Receiver_outputs_1110 execute Bus_in_0011 execute Parity_Bus_output_0 execute Receiver_outputs_1100 execute Bus_in_0111 execute Parity_Bus_output_1 execute Receiver_outputs_1000 execute Bus_in_1111 execute Parity_Bus_output_0 execute Receiver_outputs_0000 execute RLE_bar_high execute Bus_in_0000 execute Receiver_outputs_0000 end unit unit "test receivers, RLE_bar tied low" execute RLE_bar_low execute Bus_in_0000 execute Parity_Bus_output_0 execute Receiver_outputs_1111 execute Bus_in_0001 execute Parity_Bus_output_1 execute Receiver_outputs_1110 execute Bus_in_0011 execute Parity_Bus_output_0 execute Receiver_outputs_1100 execute Bus_in_0111 execute Parity_Bus_output_1 execute Receiver_outputs_1000 execute Bus_in_1111 execute Parity_Bus_output_0 execute Receiver_outputs_0000 end unit ! End of test