!!!!    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
