!!!! 6 0 1 990124036 V5c36 ! Device : 2920 ! Function : Octal D Flip-Flop Clear, Clock Enable And 3-State Control ! revision : B.01.00 ! safeguard : standard_lsttl ! Modifications : Modified for AwareTest xi ! warning "This library has not been verified with hardware." sequential vector cycle 500n receive delay 400n ! warning "Pull-ups are required to test high-impedance outputs." assign VCC to pins 22 assign GND to pins 11 assign CLR_BAR to pins 1 assign CLOCK to pins 10 assign OE_BAR to pins 20 assign IE_BAR to pins 21 assign D7_0 to pins 18,17,14,13,8,7,4,3 assign D7 to pins 18 assign D6 to pins 17 assign D5 to pins 14 assign D4 to pins 13 assign D3 to pins 8 assign D2 to pins 7 assign D1 to pins 4 assign D0 to pins 3 assign Y7_0 to pins 19,16,15,12,9,6,5,2 assign Y7 to pins 19 assign Y6 to pins 16 assign Y5 to pins 15 assign Y4 to pins 12 assign Y3 to pins 9 assign Y2 to pins 6 assign Y1 to pins 5 assign Y0 to pins 2 power VCC, GND family TTL inputs CLR_BAR,CLOCK,OE_BAR,IE_BAR,D7_0 inputs D0, D1, D2, D3, D4, D5, D6, D7 !AT Added for minimum pin test. outputs Y7_0 outputs Y0, Y1, Y2, Y3, Y4, Y5, Y6, Y7 !AT Added for minimum pin test. disable Y7_0 with OE_BAR to "1" when OE_BAR is "1" inactive Y7_0 trace Y7 to D7, CLR_BAR, CLOCK, OE_BAR, IE_BAR trace Y6 to D6, CLR_BAR, CLOCK, OE_BAR, IE_BAR trace Y5 to D5, CLR_BAR, CLOCK, OE_BAR, IE_BAR trace Y4 to D4, CLR_BAR, CLOCK, OE_BAR, IE_BAR trace Y3 to D3, CLR_BAR, CLOCK, OE_BAR, IE_BAR trace Y2 to D2, CLR_BAR, CLOCK, OE_BAR, IE_BAR trace Y1 to D1, CLR_BAR, CLOCK, OE_BAR, IE_BAR trace Y0 to D0, CLR_BAR, CLOCK, OE_BAR, IE_BAR !********************************************************************* !********************************************************************* vector KEEP_ON_CONTROL_LINES set OE_BAR to "k" set CLR_BAR to "k" set CLOCK to "k" set IE_BAR to "k" set D7_0 to "kkkkkkkk" end vector vector START set OE_BAR to "0" set CLR_BAR to "1" set CLOCK to "0" set IE_BAR to "0" set D7_0 to "00000000" end vector vector Output_Disabled set OE_BAR to "1" end vector vector IN_7_0 initialize to KEEP_ON_CONTROL_LINES set D7_0 to "0kkkkkkk" end vector vector IN_6_0 initialize to KEEP_ON_CONTROL_LINES set D7_0 to "k0kkkkkk" end vector vector IN_5_0 initialize to KEEP_ON_CONTROL_LINES set D7_0 to "kk0kkkkk" end vector vector IN_4_0 initialize to KEEP_ON_CONTROL_LINES set D7_0 to "kkk0kkkk" end vector vector IN_3_0 initialize to KEEP_ON_CONTROL_LINES set D7_0 to "kkkk0kkk" end vector vector IN_2_0 initialize to KEEP_ON_CONTROL_LINES set D7_0 to "kkkkk0kk" end vector vector IN_1_0 initialize to KEEP_ON_CONTROL_LINES set D7_0 to "kkkkkk0k" end vector vector IN_0_0 initialize to KEEP_ON_CONTROL_LINES set D7_0 to "kkkkkkk0" end vector vector IN_7_1 initialize to KEEP_ON_CONTROL_LINES set D7_0 to "1kkkkkkk" end vector vector IN_6_1 initialize to KEEP_ON_CONTROL_LINES set D7_0 to "k1kkkkkk" end vector vector IN_5_1 initialize to KEEP_ON_CONTROL_LINES set D7_0 to "kk1kkkkk" end vector vector IN_4_1 initialize to KEEP_ON_CONTROL_LINES set D7_0 to "kkk1kkkk" end vector vector IN_3_1 initialize to KEEP_ON_CONTROL_LINES set D7_0 to "kkkk1kkk" end vector vector IN_2_1 initialize to KEEP_ON_CONTROL_LINES set D7_0 to "kkkkk1kk" end vector vector IN_1_1 initialize to KEEP_ON_CONTROL_LINES set D7_0 to "kkkkkk1k" end vector vector IN_0_1 initialize to KEEP_ON_CONTROL_LINES set D7_0 to "kkkkkkk1" end vector vector OUT_7_0 initialize to KEEP_ON_CONTROL_LINES set Y7_0 to "0XXXXXXX" end vector vector OUT_6_0 initialize to KEEP_ON_CONTROL_LINES set Y7_0 to "X0XXXXXX" end vector vector OUT_5_0 initialize to KEEP_ON_CONTROL_LINES set Y7_0 to "XX0XXXXX" end vector vector OUT_4_0 initialize to KEEP_ON_CONTROL_LINES set Y7_0 to "XXX0XXXX" end vector vector OUT_3_0 initialize to KEEP_ON_CONTROL_LINES set Y7_0 to "XXXX0XXX" end vector vector OUT_2_0 initialize to KEEP_ON_CONTROL_LINES set Y7_0 to "XXXXX0XX" end vector vector OUT_1_0 initialize to KEEP_ON_CONTROL_LINES set Y7_0 to "XXXXXX0X" end vector vector OUT_0_0 initialize to KEEP_ON_CONTROL_LINES set Y7_0 to "XXXXXXX0" end vector vector OUT_7_1 initialize to KEEP_ON_CONTROL_LINES set Y7_0 to "1XXXXXXX" end vector vector OUT_6_1 initialize to KEEP_ON_CONTROL_LINES set Y7_0 to "X1XXXXXX" end vector vector OUT_5_1 initialize to KEEP_ON_CONTROL_LINES set Y7_0 to "XX1XXXXX" end vector vector OUT_4_1 initialize to KEEP_ON_CONTROL_LINES set Y7_0 to "XXX1XXXX" end vector vector OUT_3_1 initialize to KEEP_ON_CONTROL_LINES set Y7_0 to "XXXX1XXX" end vector vector OUT_2_1 initialize to KEEP_ON_CONTROL_LINES set Y7_0 to "XXXXX1XX" end vector vector OUT_1_1 initialize to KEEP_ON_CONTROL_LINES set Y7_0 to "XXXXXX1X" end vector vector OUT_0_1 initialize to KEEP_ON_CONTROL_LINES set Y7_0 to "XXXXXXX1" end vector vector CLOCK_HIGH initialize to KEEP_ON_CONTROL_LINES set CLOCK to "1" end vector vector CLOCK_LOW initialize to KEEP_ON_CONTROL_LINES set CLOCK to "0" end vector vector CLEAR_LOW initialize to KEEP_ON_CONTROL_LINES set CLR_BAR to "0" end vector vector IE_HIGH initialize to KEEP_ON_CONTROL_LINES set IE_BAR to "1" end vector !AT The following vectors have been added for a minimum pins test. Any !AT vectors that references the Y bus was copied and modified to reference !AT only a single pin of the Y bus. vector Y7_0 initialize to KEEP_ON_CONTROL_LINES set Y7 to "0" end vector vector Y6_0 initialize to KEEP_ON_CONTROL_LINES set Y6 to "0" end vector vector Y5_0 initialize to KEEP_ON_CONTROL_LINES set Y5 to "0" end vector vector Y4_0 initialize to KEEP_ON_CONTROL_LINES set Y4 to "0" end vector vector Y3_0 initialize to KEEP_ON_CONTROL_LINES set Y3 to "0" end vector vector Y2_0 initialize to KEEP_ON_CONTROL_LINES set Y2 to "0" end vector vector Y1_0 initialize to KEEP_ON_CONTROL_LINES set Y1 to "0" end vector vector Y0_0 initialize to KEEP_ON_CONTROL_LINES set Y0 to "0" end vector vector Y7_1 initialize to KEEP_ON_CONTROL_LINES set Y7 to "1" end vector vector Y6_1 initialize to KEEP_ON_CONTROL_LINES set Y6 to "1" end vector vector Y5_1 initialize to KEEP_ON_CONTROL_LINES set Y5 to "1" end vector vector Y4_1 initialize to KEEP_ON_CONTROL_LINES set Y4 to "1" end vector vector Y3_1 initialize to KEEP_ON_CONTROL_LINES set Y3 to "1" end vector vector Y2_1 initialize to KEEP_ON_CONTROL_LINES set Y2 to "1" end vector vector Y1_1 initialize to KEEP_ON_CONTROL_LINES set Y1 to "1" end vector vector Y0_1 initialize to KEEP_ON_CONTROL_LINES set Y0 to "1" end vector !******************************************************************************* !******************************************************************************* sub FFtest (IN0,OUT0,IN1,OUT1) execute START execute IN0 execute CLOCK_HIGH execute CLOCK_LOW execute OUT0 execute IE_HIGH execute IN1 execute CLOCK_HIGH execute CLOCK_LOW execute OUT0 execute START execute IN1 execute CLOCK_HIGH execute CLOCK_LOW execute OUT1 execute IE_HIGH execute IN0 execute CLOCK_HIGH execute CLOCK_LOW execute OUT1 execute CLEAR_LOW execute OUT0 end sub sub OEbar_pull_up execute START execute IN_7_0 execute CLOCK_HIGH execute CLOCK_LOW execute OUT_7_0 execute Output_disabled execute Out_7_1 end sub sub OEbar_pull_down execute START execute IN_7_1 execute CLOCK_HIGH execute CLOCK_LOW execute OUT_7_1 execute Output_disabled execute Out_7_0 end sub !*********************************************************************** !AT The following AwareTest units have been added for minimum pins tests. Each !AT unit tests a separate output pin starting with Y0. unit "awaretest Test FF0" call FFtest (IN_0_0, Y0_0, IN_0_1, Y0_1) end unit unit "awaretest Test FF1" call FFtest (IN_1_0, Y1_0, IN_1_1, Y1_1) end unit unit "awaretest Test FF2" call FFtest (IN_2_0, Y2_0, IN_2_1, Y2_1) end unit unit "awaretest Test FF3" call FFtest (IN_3_0, Y3_0, IN_3_1, Y3_1) end unit unit "awaretest Test FF4" call FFtest (IN_4_0, Y4_0, IN_4_1, Y4_1) end unit unit "awaretest Test FF5" call FFtest (IN_5_0, Y5_0, IN_5_1, Y5_1) end unit unit "awaretest Test FF6" call FFtest (IN_6_0, Y6_0, IN_6_1, Y6_1) end unit unit "awaretest Test FF7" call FFtest (IN_7_0, Y7_0, IN_7_1, Y7_1) end unit unit "test FF0" call FFtest (IN_0_0,OUT_0_0,IN_0_1,OUT_0_1) end unit unit "test FF1" call FFtest (IN_1_0,OUT_1_0,IN_1_1,OUT_1_1) end unit unit "test FF2" call FFtest (IN_2_0,OUT_2_0,IN_2_1,OUT_2_1) end unit unit "test FF3" call FFtest (IN_3_0,OUT_3_0,IN_3_1,OUT_3_1) end unit unit "test FF4" call FFtest (IN_4_0,OUT_4_0,IN_4_1,OUT_4_1) end unit unit "test FF5" call FFtest (IN_5_0,OUT_5_0,IN_5_1,OUT_5_1) end unit unit "test FF6" call FFtest (IN_6_0,OUT_6_0,IN_6_1,OUT_6_1) end unit unit "test FF7" call FFtest (IN_7_0,OUT_7_0,IN_7_1,OUT_7_1) end unit unit "Test OEbar" ! call OEbar_pull_up ! Used to test OEbar with pullups. ! call OEbar_pull_down ! Used to test OEbar with pulldowns. end unit ! End of Test