!!!! 6 0 1 991779191 V2a71 ! Device : 74ls295 ! Function : shift_register 3-state 4-bit_bidirectional_universal ! 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 14 assign GND to pins 7 assign A_input to pins 2 assign B_input to pins 3 assign C_input to pins 4 assign D_input to pins 5 assign Parallel_inputs to pins 2,3,4,5 assign Serial_input to pins 1 assign QA_output to pins 13 assign QB_output to pins 12 assign QC_output to pins 11 assign QD_output to pins 10 assign Outputs to pins 13,12,11,10 assign D0 to pins 10 !AT Added for minimum pin test. assign D1 to pins 11 !AT Added for minimum pin test. assign D2 to pins 12 !AT Added for minimum pin test. assign D3 to pins 13 !AT Added for minimum pin test. assign Clock to pins 9 assign Mode_input to pins 6 assign Output_enable to pins 8 family TTL power VCC, GND inputs Parallel_inputs, Serial_input, Clock, Mode_input, Output_enable inputs A_input, B_input, C_input, D_input outputs Outputs outputs D0, D1, D2, D3 !AT Added for minimum pin test. disable Outputs with Output_enable to "0" when Output_enable is "0" inactive Outputs trace Outputs to Parallel_inputs,Serial_input,Clock,Mode_input,Output_enable !********************************************************************* !********************************************************************* vector Clock_high set Output_enable to "1" set Mode_input to "k" set Clock to "1" end vector vector Clock_low__D set Output_enable to "1" set Mode_input to "1" set D_input to "k" set Clock to "0" end vector vector Clock_low__load set Output_enable to "1" set Mode_input to "1" set Parallel_inputs to "kkkk" set Clock to "0" end vector vector Clock_low__serial set Output_enable to "1" set Mode_input to "0" set Serial_input to "k" set Clock to "0" end vector vector Clock_low__shift set Output_enable to "1" set Mode_input to "0" set Clock to "0" end vector vector D_input_high set Output_enable to "1" set Mode_input to "1" set Clock to "1" set D_input to "1" end vector vector D_input_low set Output_enable to "1" set Mode_input to "1" set Clock to "1" set D_input to "0" end vector vector Mode_low set Clock to "1" set Mode_input to "0" end vector vector Outputs_0000 set Output_enable to "1" set Mode_input to "k" set Clock to "1" set Outputs to "0000" end vector vector Outputs_0000_ksd set Output_enable to "1" set Mode_input to "k" set Clock to "1" set Serial_input to "k" set Outputs to "0000" end vector vector Outputs_0101 set Output_enable to "1" set Mode_input to "k" set Clock to "1" set Outputs to "0101" end vector vector Outputs_1010 set Output_enable to "1" set Mode_input to "k" set Clock to "1" set Outputs to "1010" end vector vector Outputs_0101_kpd set Output_enable to "1" set Mode_input to "k" set Clock to "1" set Parallel_inputs to "kkkk" set Outputs to "0101" end vector vector Outputs_1010_kpd set Output_enable to "1" set Mode_input to "k" set Clock to "1" set Parallel_inputs to "kkkk" set Outputs to "1010" end vector vector Outputs_1111 set Output_enable to "1" set Mode_input to "k" set Clock to "1" set Outputs to "1111" end vector vector Outputs_1111_ksd set Output_enable to "1" set Mode_input to "k" set Clock to "1" set Serial_input to "k" set Outputs to "1111" end vector vector Outputs_X010 set Output_enable to "1" set Mode_input to "0" set Clock to "1" set Outputs to "X010" end vector vector Outputs_XX01 set Output_enable to "1" set Mode_input to "0" set Clock to "1" set Outputs to "XX01" end vector vector Outputs_XXX0 set Output_enable to "1" set Mode_input to "0" set Clock to "1" set Outputs to "XXX0" end vector vector Parallel_inputs_0101 set Output_enable to "1" set Mode_input to "1" set Clock to "1" set Parallel_inputs to "0101" end vector vector Parallel_inputs_1010 set Output_enable to "1" set Mode_input to "1" set Clock to "1" set Parallel_inputs to "1010" end vector vector Parallel_inputs_0000 set Output_enable to "1" set Mode_input to "1" set Clock to "1" set Parallel_inputs to "0000" end vector vector Parallel_inputs_1111 set Output_enable to "1" set Mode_input to "1" set Clock to "1" set Parallel_inputs to "1111" end vector vector Serial_input_high set Output_enable to "1" set Mode_input to "0" set Clock to "1" set Serial_input to "1" end vector vector Serial_input_low set Output_enable to "1" set Mode_input to "0" set Clock to "1" set Serial_input to "0" end vector !*****VECTORS FOR DISABLE TESTS***** vector Outputs_0000_ksd_Disabled set Output_enable to "0" set Mode_input to "k" set Clock to "1" set Serial_input to "k" set Outputs to "0000" end vector vector Outputs_1111_ksd_Disabled set Output_enable to "0" set Mode_input to "k" set Clock to "1" set Serial_input to "k" set Outputs 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 D0_0_ksd set Output_enable to "1" set Mode_input to "k" set Clock to "1" set Serial_input to "k" set D0 to "0" end vector vector D0_1_ksd set Output_enable to "1" set Mode_input to "k" set Clock to "1" set Serial_input to "k" set D0 to "1" end vector vector D1_0_ksd set Output_enable to "1" set Mode_input to "k" set Clock to "1" set Serial_input to "k" set D1 to "0" end vector vector D1_1_ksd set Output_enable to "1" set Mode_input to "k" set Clock to "1" set Serial_input to "k" set D1 to "1" end vector vector D2_0_ksd set Output_enable to "1" set Mode_input to "k" set Clock to "1" set Serial_input to "k" set D2 to "0" end vector vector D2_1_ksd set Output_enable to "1" set Mode_input to "k" set Clock to "1" set Serial_input to "k" set D2 to "1" end vector vector D3_0_ksd set Output_enable to "1" set Mode_input to "k" set Clock to "1" set Serial_input to "k" set D3 to "0" end vector vector D3_1_ksd set Output_enable to "1" set Mode_input to "k" set Clock to "1" set Serial_input to "k" set D3 to "1" end vector vector D0_0_kpd set Output_enable to "1" set Mode_input to "k" set Clock to "1" set Parallel_inputs to "kkkk" set D0 to "0" end vector vector D0_1_kpd set Output_enable to "1" set Mode_input to "k" set Clock to "1" set Parallel_inputs to "kkkk" set D0 to "1" end vector vector D1_0_kpd set Output_enable to "1" set Mode_input to "k" set Clock to "1" set Parallel_inputs to "kkkk" set D1 to "0" end vector vector D1_1_kpd set Output_enable to "1" set Mode_input to "k" set Clock to "1" set Parallel_inputs to "kkkk" set D1 to "1" end vector vector D2_0_kpd set Output_enable to "1" set Mode_input to "k" set Clock to "1" set Parallel_inputs to "kkkk" set D2 to "0" end vector vector D2_1_kpd set Output_enable to "1" set Mode_input to "k" set Clock to "1" set Parallel_inputs to "kkkk" set D2 to "1" end vector vector D3_0_kpd set Output_enable to "1" set Mode_input to "k" set Clock to "1" set Parallel_inputs to "kkkk" set D3 to "0" end vector vector D3_1_kpd set Output_enable to "1" set Mode_input to "k" set Clock to "1" set Parallel_inputs to "kkkk" set D3 to "1" end vector !********************************************************************* !********************************************************************* sub Clock_cycle (Clock_low) execute Clock_low execute Clock_high 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 serial input Test" repeat 4 times execute Serial_input_low call Clock_cycle (Clock_low__serial) end repeat execute D0_0_ksd repeat 4 times execute Serial_input_high call Clock_cycle (Clock_low__serial) end repeat execute D0_1_ksd end unit unit "awaretest D1 serial input Test" repeat 4 times execute Serial_input_low call Clock_cycle (Clock_low__serial) end repeat execute D1_0_ksd repeat 4 times execute Serial_input_high call Clock_cycle (Clock_low__serial) end repeat execute D1_1_ksd end unit unit "awaretest D2 serial input Test" repeat 4 times execute Serial_input_low call Clock_cycle (Clock_low__serial) end repeat execute D2_0_ksd repeat 4 times execute Serial_input_high call Clock_cycle (Clock_low__serial) end repeat execute D2_1_ksd end unit unit "awaretest D3 serial input Test" repeat 4 times execute Serial_input_low call Clock_cycle (Clock_low__serial) end repeat execute D3_0_ksd repeat 4 times execute Serial_input_high call Clock_cycle (Clock_low__serial) end repeat execute D3_1_ksd end unit unit "awaretest D0 parallel load Test" execute Parallel_inputs_0000 call Clock_cycle (Clock_low__load) execute D0_0_kpd execute Parallel_inputs_1111 call Clock_cycle (Clock_low__load) execute D0_1_kpd end unit unit "awaretest D1 parallel load Test" execute Parallel_inputs_0000 call Clock_cycle (Clock_low__load) execute D1_0_kpd execute Parallel_inputs_1111 call Clock_cycle (Clock_low__load) execute D1_1_kpd end unit unit "awaretest D2 parallel load Test" execute Parallel_inputs_0000 call Clock_cycle (Clock_low__load) execute D2_0_kpd execute Parallel_inputs_1111 call Clock_cycle (Clock_low__load) execute D2_1_kpd end unit unit "awaretest D3 parallel load Test" execute Parallel_inputs_0000 call Clock_cycle (Clock_low__load) execute D3_0_kpd execute Parallel_inputs_1111 call Clock_cycle (Clock_low__load) execute D3_1_kpd end unit !**************************************************************** unit "test serial input" repeat 4 times execute Serial_input_low call Clock_cycle (Clock_low__serial) end repeat execute Outputs_0000_ksd repeat 4 times execute Serial_input_high call Clock_cycle (Clock_low__serial) end repeat execute Outputs_1111_ksd repeat 4 times execute Serial_input_low call Clock_cycle (Clock_low__serial) end repeat execute Outputs_0000_ksd end unit unit "test parallel inputs" execute Parallel_inputs_0101 call Clock_cycle (Clock_low__load) execute Outputs_0101_kpd execute Parallel_inputs_1010 call Clock_cycle (Clock_low__load) execute Outputs_1010_kpd execute Parallel_inputs_0101 call Clock_cycle (Clock_low__load) execute Outputs_0101_kpd end unit unit "test parallel input, shift right" execute Parallel_inputs_0101 call Clock_cycle (Clock_low__load) execute Outputs_0101_kpd execute Mode_low call Clock_cycle (Clock_low__shift) execute Outputs_X010 call Clock_cycle (Clock_low__shift) execute Outputs_XX01 call Clock_cycle (Clock_low__shift) execute Outputs_XXX0 end unit unit "test circular shift right" tied Serial_input, QD_output execute Parallel_inputs_0101 call Clock_cycle (Clock_low__load) execute Outputs_0101 execute Parallel_inputs_1010 call Clock_cycle (Clock_low__load) execute Outputs_1010 execute Parallel_inputs_0101 call Clock_cycle (Clock_low__load) execute Outputs_0101 execute Mode_low call Clock_cycle (Clock_low__shift) execute Outputs_1010 call Clock_cycle (Clock_low__shift) execute Outputs_0101 end unit unit "test shift left" tied A_input, QB_output tied B_input, QC_output tied C_input, QD_output repeat 8 times execute D_input_low call Clock_cycle (Clock_low__D) end repeat execute Outputs_0000 repeat 4 times execute D_input_high call Clock_cycle (Clock_low__D) end repeat execute Outputs_1111 repeat 4 times execute D_input_low call Clock_cycle (Clock_low__D) end repeat execute Outputs_0000 end unit !*****TESTS FOR DISABLE ************************** unit disable test "Disable Test for serial input" repeat 4 times execute Serial_input_low call Clock_cycle (Clock_low__serial) end repeat execute Outputs_0000_ksd_Disabled execute Serial_input_low repeat 4 times execute Serial_input_high call Clock_cycle (Clock_low__serial) end repeat execute Outputs_1111_ksd_Disabled repeat 4 times execute Serial_input_low call Clock_cycle (Clock_low__serial) end repeat execute Outputs_0000_ksd_Disabled end unit ! End of test