!!!! 6 0 1 991876833 Vd619 ! Device : 74c95 ! Function : shift_register totem 4-bit_parallel-in/out_serial-in ! revision : B.01.00 ! safeguard : 74c_cmos ! Modifications : Modified for AwareTest xi ! warning "This library has not been verified with hardware." sequential vector cycle 1u receive delay 900n assign VDD to pins 4 assign VSS to pins 11 assign Parallel_inputs to pins 14,2,3,5 assign A_input to pins 14 assign B_input to pins 2 assign C_input to pins 3 assign D_input to pins 5 assign Serial_input to pins 1 assign QA_output to pins 13 assign QB_output to pins 12 assign QC_output to pins 10 assign QD_output to pins 9 assign Outputs to pins 13,12,10,9 assign D0 to pins 9 !AT Added for minimum pin test. assign D1 to pins 10 !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_1 to pins 7 assign Clock_2 to pins 8 assign Mode to pins 6 family CMOS power VDD, VSS inputs Parallel_inputs, A_input, B_input, C_input, D_input inputs Serial_input,Clock_1, Clock_2, Mode outputs QA_output, QB_output, QC_output, QD_output, Outputs outputs D0, D1, D2, D3 !AT Added for minimum pin test. trace QA_output to A_input trace QA_output to Serial_input,Clock_1, Clock_2, Mode trace QB_output to A_input,B_Input trace QB_output to Serial_input,Clock_1, Clock_2, Mode trace QC_output to A_input,B_Input,C_Input trace QC_output to Serial_input,Clock_1, Clock_2, Mode trace QD_output to A_input,B_Input,C_Input,D_Input trace QD_output to Serial_input,Clock_1, Clock_2, Mode !********************************************************************* !********************************************************************* vector Clock_1_high__serial set Mode to "0" set Serial_input to "k" set Clock_1 to "1" end vector vector Clock_1_high__shift set Mode to "0" set Clock_1 to "1" end vector vector Clock_1_low__serial set Mode to "0" set Serial_input to "k" set Clock_1 to "0" end vector vector Clock_1_low__shift set Mode to "0" set Clock_1 to "0" end vector vector Clock_2_high set Mode to "1" set Parallel_inputs to "kkkk" set Clock_2 to "1" end vector vector Clock_2_high__serial set Mode to "1" set D_input to "k" set Clock_2 to "1" end vector vector Clock_2_low set Mode to "1" set Parallel_inputs to "kkkk" set Clock_2 to "0" end vector vector Clock_2_low__serial set Mode to "1" set D_input to "k" set Clock_2 to "0" end vector vector Clocks_low set Mode to "k" set Clock_1 to "0" set Clock_2 to "0" end vector vector D_input_high set Mode to "1" set Clock_2 to "0" set D_input to "1" end vector vector D_input_low set Mode to "1" set Clock_2 to "0" set D_input to "0" end vector vector Mode_low initialize to Clocks_low set Mode to "0" end vector vector Outputs_0000 set Mode to "0" set Clock_1 to "0" set Outputs to "0000" end vector vector Outputs_0000_ksd set Mode to "0" set Clock_1 to "0" set Serial_input to "k" set Outputs to "0000" end vector vector Outputs_0000__2 set Mode to "1" set Clock_2 to "0" set Outputs to "0000" end vector vector Outputs_0101 set Mode to "0" set Clock_1 to "0" set Outputs to "0101" end vector vector Outputs_1010 set Mode to "0" set Clock_1 to "0" set Outputs to "1010" end vector vector Outputs_1111 set Mode to "0" set Clock_1 to "0" set Outputs to "1111" end vector vector Outputs_1111_ksd set Mode to "0" set Clock_1 to "0" set Serial_input to "k" set Outputs to "1111" end vector vector Outputs_1111__2 set Mode to "1" set Clock_2 to "0" set Outputs to "1111" end vector vector Outputs_X010 set Mode to "0" set Clock_1 to "0" set Outputs to "X010" end vector vector Outputs_XX01 set Mode to "0" set Clock_1 to "0" set Outputs to "XX01" end vector vector Outputs_XXX0 set Mode to "0" set Clock_1 to "0" set Outputs to "XXX0" end vector vector Parallel_inputs_0000 set Mode to "1" set Clock_2 to "0" set Parallel_inputs to "0000" end vector vector Parallel_inputs_0101 set Mode to "1" set Clock_2 to "0" set Parallel_inputs to "0101" end vector vector Parallel_inputs_1010 set Mode to "1" set Clock_2 to "0" set Parallel_inputs to "1010" end vector vector Parallel_inputs_1111 set Mode to "1" set Clock_2 to "0" set Parallel_inputs to "1111" end vector vector Serial_input_high set Mode to "0" set Clock_1 to "0" set Serial_input to "1" end vector vector Serial_input_low set Mode to "0" set Clock_1 to "0" set Serial_input 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 D0_0 set Mode to "0" set Clock_1 to "0" set D0 to "0" end vector vector D0_1 set Mode to "0" set Clock_1 to "0" set D0 to "1" end vector vector D1_0 set Mode to "0" set Clock_1 to "0" set D1 to "0" end vector vector D1_1 set Mode to "0" set Clock_1 to "0" set D1 to "1" end vector vector D2_0 set Mode to "0" set Clock_1 to "0" set D2 to "0" end vector vector D2_1 set Mode to "0" set Clock_1 to "0" set D2 to "1" end vector vector D3_0 set Mode to "0" set Clock_1 to "0" set D3 to "0" end vector vector D3_1 set Mode to "0" set Clock_1 to "0" set D3 to "1" end vector vector D0_0_ksd set Mode to "0" set Clock_1 to "0" set Serial_input to "k" set D0 to "0" end vector vector D0_1_ksd set Mode to "0" set Clock_1 to "0" set Serial_input to "k" set D0 to "1" end vector vector D1_0_ksd set Mode to "0" set Clock_1 to "0" set Serial_input to "k" set D1 to "0" end vector vector D1_1_ksd set Mode to "0" set Clock_1 to "0" set Serial_input to "k" set D1 to "1" end vector vector D2_0_ksd set Mode to "0" set Clock_1 to "0" set Serial_input to "k" set D2 to "0" end vector vector D2_1_ksd set Mode to "0" set Clock_1 to "0" set Serial_input to "k" set D2 to "1" end vector vector D3_0_ksd set Mode to "0" set Clock_1 to "0" set Serial_input to "k" set D3 to "0" end vector vector D3_1_ksd set Mode to "0" set Clock_1 to "0" set Serial_input to "k" set D3 to "1" end vector vector D0_0__2 set Mode to "1" set Clock_2 to "0" set D0 to "0" end vector vector D0_1__2 set Mode to "1" set Clock_2 to "0" set D0 to "1" end vector vector D1_0__2 set Mode to "1" set Clock_2 to "0" set D1 to "0" end vector vector D1_1__2 set Mode to "1" set Clock_2 to "0" set D1 to "1" end vector vector D2_0__2 set Mode to "1" set Clock_2 to "0" set D2 to "0" end vector vector D2_1__2 set Mode to "1" set Clock_2 to "0" set D2 to "1" end vector vector D3_0__2 set Mode to "1" set Clock_2 to "0" set D3 to "0" end vector vector D3_1__2 set Mode to "1" set Clock_2 to "0" set D3 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 D0. unit "awaretest D0 serial right input Test" execute Serial_input_low repeat 4 times execute Clock_1_high__serial execute Clock_1_low__serial end repeat execute D0_0_ksd execute Serial_input_high repeat 4 times execute Clock_1_high__serial execute Clock_1_low__serial end repeat execute D0_1_ksd end unit unit "awaretest D1 serial right input Test" execute Serial_input_low repeat 4 times execute Clock_1_high__serial execute Clock_1_low__serial end repeat execute D1_0_ksd execute Serial_input_high repeat 4 times execute Clock_1_high__serial execute Clock_1_low__serial end repeat execute D1_1_ksd end unit unit "awaretest D2 serial right input Test" execute Serial_input_low repeat 4 times execute Clock_1_high__serial execute Clock_1_low__serial end repeat execute D2_0_ksd execute Serial_input_high repeat 4 times execute Clock_1_high__serial execute Clock_1_low__serial end repeat execute D2_1_ksd end unit unit "awaretest D3 serial right input Test" execute Serial_input_low repeat 4 times execute Clock_1_high__serial execute Clock_1_low__serial end repeat execute D3_0_ksd execute Serial_input_high repeat 4 times execute Clock_1_high__serial execute Clock_1_low__serial end repeat execute D3_1_ksd end unit unit "awaretest D0 parallel input, parallel output Test" execute Parallel_inputs_0000 execute Clock_2_high execute Clock_2_low execute D0_0__2 execute Parallel_inputs_1111 execute Clock_2_high execute Clock_2_low execute D0_1__2 end unit unit "awaretest D1 parallel input, parallel output Test" execute Parallel_inputs_0000 execute Clock_2_high execute Clock_2_low execute D1_0__2 execute Parallel_inputs_1111 execute Clock_2_high execute Clock_2_low execute D1_1__2 end unit unit "awaretest D2 parallel input, parallel output Test" execute Parallel_inputs_0000 execute Clock_2_high execute Clock_2_low execute D2_0__2 execute Parallel_inputs_1111 execute Clock_2_high execute Clock_2_low execute D2_1__2 end unit unit "awaretest D3 parallel input, parallel output Test" execute Parallel_inputs_0000 execute Clock_2_high execute Clock_2_low execute D3_0__2 execute Parallel_inputs_1111 execute Clock_2_high execute Clock_2_low execute D3_1__2 end unit !********************************************************************* unit "serial right input" execute Serial_input_low repeat 4 times execute Clock_1_high__serial execute Clock_1_low__serial end repeat execute Outputs_0000_ksd execute Serial_input_high repeat 4 times execute Clock_1_high__serial execute Clock_1_low__serial end repeat execute Outputs_1111_ksd execute Serial_input_low repeat 4 times execute Clock_1_high__serial execute Clock_1_low__serial end repeat execute Outputs_0000_ksd end unit unit "parallel input, shift right" execute Parallel_inputs_0101 execute Clock_2_high execute Clock_2_low execute Clocks_low execute Mode_low execute Outputs_0101 execute Clock_1_high__shift execute Clock_1_low__shift execute Outputs_X010 execute Clock_1_high__shift execute Clock_1_low__shift execute Outputs_XX01 execute Clock_1_high__shift execute Clock_1_low__shift execute Outputs_XXX0 execute Parallel_inputs_1010 execute Clock_2_high execute Clock_2_low execute Clocks_low execute Mode_low execute Outputs_1010 end unit unit "parallel input, parallel output" execute Parallel_inputs_0000 execute Clock_2_high execute Clock_2_low execute Outputs_0000__2 execute Parallel_inputs_1111 execute Clock_2_high execute Clock_2_low execute Outputs_1111__2 execute Parallel_inputs_0000 execute Clock_2_high execute Clock_2_low execute Outputs_0000__2 end unit unit "shift left" tied C_input, QD_output tied B_input, QC_output tied A_input, QB_output execute D_input_low repeat 4 times execute Clock_2_high__serial execute Clock_2_low__serial end repeat execute Outputs_0000__2 execute D_input_high repeat 4 times execute Clock_2_high__serial execute Clock_2_low__serial end repeat execute Outputs_1111__2 execute D_input_low repeat 4 times execute Clock_2_high__serial execute Clock_2_low__serial end repeat execute Outputs_0000__2 end unit unit "circular shift, serial input tied to QD_output" tied Serial_input, QD_output execute Parallel_inputs_0101 execute Clock_2_high execute Clock_2_low execute Clocks_low execute Mode_low execute Outputs_0101 execute Clock_1_high__shift execute Clock_1_low__shift execute Outputs_1010 execute Clock_1_high__shift execute Clock_1_low__shift execute Outputs_0101 execute Parallel_inputs_1010 execute Clock_2_high execute Clock_2_low execute Clocks_low execute Mode_low execute Outputs_1010 end unit ! End of test