!!!!    6    0    1  990711990  V29e1                                         

! Device           : 8287
! Function         : OCTAL BUS TRANSCEIVER w/ inverted outputs
! revision         : B.01.00
! safeguard        : high_out_ttl
! Modifications    : Modified for AwareTest xi
!
  warning           "This library has not been verified with hardware."

combinatorial

! warning "Pull-ups are required to test high-impedance outputs."

vector cycle   700n
receive  delay 600n

assign   VCC         to pins 20
assign   GND         to pins 10

assign   A_bus       to pins 8,7,6,5,4,3,2,1
assign   A8          to pins 8
assign   A7          to pins 7
assign   A6          to pins 6
assign   A5          to pins 5
assign   A4          to pins 4
assign   A3          to pins 3
assign   A2          to pins 2
assign   A1          to pins 1

assign   OEbar       to pins 9
assign   T           to pins 11

assign   B_bus       to pins 12,13,14,15,16,17,18,19
assign   B8          to pins 12
assign   B7          to pins 13
assign   B6          to pins 14
assign   B5          to pins 15
assign   B4          to pins 16
assign   B3          to pins 17
assign   B2          to pins 18
assign   B1          to pins 19


family  TTL

power   VCC, GND

inputs   OEbar,T

bidirectional  A_bus,B_bus
bidirectional  A1,A2,A3,A4,A5,A6,A7,A8  !AT Added for minimum pin test.
bidirectional  B1,B2,B3,B4,B5,B6,B7,B8  !AT Added for minimum pin test.

disable        A_bus,B_bus with  OEbar    to "1"
disable        A_bus       with  T        to "1"
disable        B_bus       with  T        to "0"

when OEbar is "1" inactive A_bus, B_bus

when T is "1" inputs A_bus
when T is "0" inputs B_bus

when T is "1" outputs B_bus
when T is "0" outputs A_bus

trace A1 to B1, OEbar, T
trace A2 to B2, OEbar, T
trace A3 to B3, OEbar, T
trace A4 to B4, OEbar, T
trace A5 to B5, OEbar, T
trace A6 to B6, OEbar, T
trace A7 to B7, OEbar, T
trace A8 to B8, OEbar, T

trace B1 to A1, OEbar, T
trace B2 to A2, OEbar, T
trace B3 to A3, OEbar, T
trace B4 to A4, OEbar, T
trace B5 to A5, OEbar, T
trace B6 to A6, OEbar, T
trace B7 to A7, OEbar, T
trace B8 to A8, OEbar, T

set load on groups     A_bus to pull up
set load on groups     B_bus to pull up

!*********************************************************************
!*********************************************************************

vector   A_11111111
         drive       A_bus
         receive     B_bus
         set         T                       to "1"
         set         OEbar                   to "0"
         set         A_bus                   to "11111111"
         set         B_bus                   to "00000000"
end vector

vector   A_00000000
         drive       A_bus
         receive     B_bus
         set         T                       to "1"
         set         OEbar                   to "0"
         set         A_bus                   to "00000000"
         set         B_bus                   to "11111111"
end vector

vector   A_10101010
         drive       A_bus
         receive     B_bus
         set         T                       to "1"
         set         OEbar                   to "0"
         set         A_bus                   to "10101010"
         set         B_bus                   to "01010101"
end vector

vector   A_01010101
         drive       A_bus
         receive     B_bus
         set         T                       to "1"
         set         OEbar                   to "0"
         set         A_bus                   to "01010101"
         set         B_bus                   to "10101010"
end vector

vector   B_11111111
         drive       B_bus
         receive     A_bus
         set         T                       to "0"
         set         OEbar                   to "0"
         set         B_bus                   to "11111111"
         set         A_bus                   to "00000000"
end vector

vector   B_00000000
         drive       B_bus
         receive     A_bus
         set         T                       to "0"
         set         OEbar                   to "0"
         set         B_bus                   to "00000000"
         set         A_bus                   to "11111111"
end vector

vector   B_10101010
         drive       B_bus
         receive     A_bus
         set         T                       to "0"
         set         OEbar                   to "0"
         set         B_bus                   to "10101010"
         set         A_bus                   to "01010101"
end vector

vector   B_01010101
         drive       B_bus
         receive     A_bus
         set         T                       to "0"
         set         OEbar                   to "0"
         set         B_bus                   to "01010101"
         set         A_bus                   to "10101010"
end vector

vector   Test_OEbar_AB
         drive       A_bus
         receive     B_bus
         set         T                       to "1"
         set         OEbar                   to "1"
         set         A_bus                   to "11111111"
         set         B_bus                   to "11111111"
end vector

vector   Test_OEbar_BA
         drive       B_bus
         receive     A_bus
         set         T                       to "0"
         set         OEbar                   to "1"
         set         B_bus                   to "11111111"
         set         A_bus                   to "11111111"
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   A1_1
         drive       A1
         receive     B1
         set         T                       to "1"
         set         OEbar                   to "0"
         set         A1                      to "1"
         set         B1                      to "0"
end vector

vector   A1_0
         drive       A1
         receive     B1
         set         T                       to "1"
         set         OEbar                   to "0"
         set         A1                      to "0"
         set         B1                      to "1"
end vector

vector   A2_1
         drive       A2
         receive     B2
         set         T                       to "1"
         set         OEbar                   to "0"
         set         A2                      to "1"
         set         B2                      to "0"
end vector

vector   A2_0
         drive       A2
         receive     B2
         set         T                       to "1"
         set         OEbar                   to "0"
         set         A2                      to "0"
         set         B2                      to "1"
end vector

vector   A3_1
         drive       A3
         receive     B3
         set         T                       to "1"
         set         OEbar                   to "0"
         set         A3                      to "1"
         set         B3                      to "0"
end vector

vector   A3_0
         drive       A3
         receive     B3
         set         T                       to "1"
         set         OEbar                   to "0"
         set         A3                      to "0"
         set         B3                      to "1"
end vector

vector   A4_1
         drive       A4
         receive     B4
         set         T                       to "1"
         set         OEbar                   to "0"
         set         A4                      to "1"
         set         B4                      to "0"
end vector

vector   A4_0
         drive       A4
         receive     B4
         set         T                       to "1"
         set         OEbar                   to "0"
         set         A4                      to "0"
         set         B4                      to "1"
end vector

vector   A5_1
         drive       A5
         receive     B5
         set         T                       to "1"
         set         OEbar                   to "0"
         set         A5                      to "1"
         set         B5                      to "0"
end vector

vector   A5_0
         drive       A5
         receive     B5
         set         T                       to "1"
         set         OEbar                   to "0"
         set         A5                      to "0"
         set         B5                      to "1"
end vector

vector   A6_1
         drive       A6
         receive     B6
         set         T                       to "1"
         set         OEbar                   to "0"
         set         A6                      to "1"
         set         B6                      to "0"
end vector

vector   A6_0
         drive       A6
         receive     B6
         set         T                       to "1"
         set         OEbar                   to "0"
         set         A6                      to "0"
         set         B6                      to "1"
end vector

vector   A7_1
         drive       A7
         receive     B7
         set         T                       to "1"
         set         OEbar                   to "0"
         set         A7                      to "1"
         set         B7                      to "0"
end vector

vector   A7_0
         drive       A7
         receive     B7
         set         T                       to "1"
         set         OEbar                   to "0"
         set         A7                      to "0"
         set         B7                      to "1"
end vector

vector   A8_1
         drive       A8
         receive     B8
         set         T                       to "1"
         set         OEbar                   to "0"
         set         A8                      to "1"
         set         B8                      to "0"
end vector

vector   A8_0
         drive       A8
         receive     B8
         set         T                       to "1"
         set         OEbar                   to "0"
         set         A8                      to "0"
         set         B8                      to "1"
end vector

vector   B1_1
         drive       B1
         receive     A1
         set         T                       to "0"
         set         OEbar                   to "0"
         set         B1                      to "1"
         set         A1                      to "0"
end vector

vector   B1_0
         drive       B1
         receive     A1
         set         T                       to "0"
         set         OEbar                   to "0"
         set         B1                      to "0"
         set         A1                      to "1"
end vector

vector   B2_1
         drive       B2
         receive     A2
         set         T                       to "0"
         set         OEbar                   to "0"
         set         B2                      to "1"
         set         A2                      to "0"
end vector

vector   B2_0
         drive       B2
         receive     A2
         set         T                       to "0"
         set         OEbar                   to "0"
         set         B2                      to "0"
         set         A2                      to "1"
end vector

vector   B3_1
         drive       B3
         receive     A3
         set         T                       to "0"
         set         OEbar                   to "0"
         set         B3                      to "1"
         set         A3                      to "0"
end vector

vector   B3_0
         drive       B3
         receive     A3
         set         T                       to "0"
         set         OEbar                   to "0"
         set         B3                      to "0"
         set         A3                      to "1"
end vector

vector   B4_1
         drive       B4
         receive     A4
         set         T                       to "0"
         set         OEbar                   to "0"
         set         B4                      to "1"
         set         A4                      to "0"
end vector

vector   B4_0
         drive       B4
         receive     A4
         set         T                       to "0"
         set         OEbar                   to "0"
         set         B4                      to "0"
         set         A4                      to "1"
end vector

vector   B5_1
         drive       B5
         receive     A5
         set         T                       to "0"
         set         OEbar                   to "0"
         set         B5                      to "1"
         set         A5                      to "0"
end vector

vector   B5_0
         drive       B5
         receive     A5
         set         T                       to "0"
         set         OEbar                   to "0"
         set         B5                      to "0"
         set         A5                      to "1"
end vector

vector   B6_1
         drive       B6
         receive     A6
         set         T                       to "0"
         set         OEbar                   to "0"
         set         B6                      to "1"
         set         A6                      to "0"
end vector

vector   B6_0
         drive       B6
         receive     A6
         set         T                       to "0"
         set         OEbar                   to "0"
         set         B6                      to "0"
         set         A6                      to "1"
end vector

vector   B7_1
         drive       B7
         receive     A7
         set         T                       to "0"
         set         OEbar                   to "0"
         set         B7                      to "1"
         set         A7                      to "0"
end vector

vector   B7_0
         drive       B7
         receive     A7
         set         T                       to "0"
         set         OEbar                   to "0"
         set         B7                      to "0"
         set         A7                      to "1"
end vector

vector   B8_1
         drive       B8
         receive     A8
         set         T                       to "0"
         set         OEbar                   to "0"
         set         B8                      to "1"
         set         A8                      to "0"
end vector

vector   B8_0
         drive       B8
         receive     A8
         set         T                       to "0"
         set         OEbar                   to "0"
         set         B8                      to "0"
         set         A8                      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 A1.

unit "awaretest A1 Test"
         execute     A1_0
         execute     A1_1
end unit

unit "awaretest A2 Test"
         execute     A2_0
         execute     A2_1
end unit

unit "awaretest A3 Test"
         execute     A3_0
         execute     A3_1
end unit

unit "awaretest A4 Test"
         execute     A4_0
         execute     A4_1
end unit

unit "awaretest A5 Test"
         execute     A5_0
         execute     A5_1
end unit

unit "awaretest A6 Test"
         execute     A6_0
         execute     A6_1
end unit

unit "awaretest A7 Test"
         execute     A7_0
         execute     A7_1
end unit

unit "awaretest A8 Test"
         execute     A8_0
         execute     A8_1
end unit

unit "awaretest B1 Test"
         execute     B1_0
         execute     B1_1
end unit

unit "awaretest B2 Test"
         execute     B2_0
         execute     B2_1
end unit

unit "awaretest B3 Test"
         execute     B3_0
         execute     B3_1
end unit

unit "awaretest B4 Test"
         execute     B4_0
         execute     B4_1
end unit

unit "awaretest B5 Test"
         execute     B5_0
         execute     B5_1
end unit

unit "awaretest B6 Test"
         execute     B6_0
         execute     B6_1
end unit

unit "awaretest B7 Test"
         execute     B7_0
         execute     B7_1
end unit

unit "awaretest B8 Test"
         execute     B8_0
         execute     B8_1
end unit

unit     "A_00000000"
         execute     A_00000000
end unit

unit     "A_11111111"
         execute     A_11111111
end unit

unit     "A_01010101"
         execute     A_01010101
end unit

unit     "A_10101010"
         execute     A_10101010
end unit

unit     "B_00000000"
         execute     B_00000000
end unit

unit     "B_11111111"
         execute     B_11111111
end unit

unit     "B_01010101"
         execute     B_01010101
end unit

unit     "B_10101010"
         execute     B_10101010
end unit

unit     "Test_OEbar_AB"
         execute     Test_OEbar_AB
end unit

unit     "Test_OEbar_BA"
         execute     Test_OEbar_BA
end unit


!     END OF TEST

