!!!!    6    0    1  990661716  V16e4                                         

! Device           : 2915
! Function         : latched_bus_transceiver 3-state d_type dual_rank_quad
! revision         : B.01.00
! safeguard        : high_out_lsttl
! Modifications    : Modified for AwareTest xi
!
  warning           "This library has not been verified with hardware."

sequential

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

assign  VCC         to pins   24
assign  GND         to pins   6,18

assign  A_inputs    to pins   4,8,16,20
assign  A0_I        to pins   4         !AT Added for minimum pin test.
assign  A1_I        to pins   8         !AT Added for minimum pin test.
assign  A2_I        to pins   16        !AT Added for minimum pin test.
assign  A3_I        to pins   20        !AT Added for minimum pin test.

assign  B_inputs    to pins   3,9,15,21
assign  B0_I        to pins   3         !AT Added for minimum pin test.
assign  B1_I        to pins   9         !AT Added for minimum pin test.
assign  B2_I        to pins   15        !AT Added for minimum pin test.
assign  B3_I        to pins   21        !AT Added for minimum pin test.

assign  Bus_bar     to pins   5,7,17,19
assign  Bus0        to pins   5         !AT Added for minimum pin test.
assign  Bus1        to pins   7         !AT Added for minimum pin test.
assign  Bus2        to pins   17        !AT Added for minimum pin test.
assign  Bus3        to pins   19        !AT Added for minimum pin test.

assign  Receiver_outputs to pins   2,10,14,22
assign  R0_O        to pins   2         !AT Added for minimum pin test.
assign  R1_O        to pins   10        !AT Added for minimum pin test.
assign  R2_O        to pins   14        !AT Added for minimum pin test.
assign  R3_O        to pins   22        !AT Added for minimum pin test.

assign  Select           to pins   13
assign  Driver_clock     to pins   23
assign  Bus_enable_bar   to pins   11
assign  Output_enable_bar to pins  12
assign  RLE_bar          to pins  1

family    TTL

power   VCC, GND

inputs  A_inputs, B_inputs, Select, Driver_clock, Bus_enable_bar
inputs  Output_enable_bar, RLE_bar
inputs  A0_I, A1_I, A2_I, A3_I         !AT Added for minimum pin test.
inputs  B0_I, B1_I, B2_I, B3_I         !AT Added for minimum pin test.

outputs Receiver_outputs
outputs R0_O, R1_O, R2_O, R3_O         !AT Added for minimum pin test.

bidirectional Bus_bar
bidirectional Bus0, Bus1, Bus2, Bus3   !AT Added for minimum pin test.

when     Bus_enable_bar    is    "1"   inputs   Bus_bar
when     Bus_enable_bar    is    "0"   outputs  Bus_bar

when     Output_enable_bar is    "1"   inactive Receiver_outputs

trace   Receiver_outputs  to  A_inputs,B_inputs,Select,Driver_clock,Bus_bar
trace   Receiver_outputs  to  Output_enable_bar, RLE_bar,Bus_enable_bar

trace   Bus_bar      to  A_inputs,B_inputs,Select,Driver_clock
trace   Bus_bar      to  Output_enable_bar,Bus_enable_bar

disable Bus_bar           with Bus_enable_bar     to    "1"
disable Receiver_outputs  with Output_enable_bar  to    "1"

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

vector    Select_low
     set  Select         to   "0"
     set  Driver_clock   to   "0"
end vector

vector    Select_high
     set  Select         to   "1"
     set  Driver_clock   to   "0"
end vector

vector    RLE_bar_low
     set  Bus_enable_bar to   "1"
     set  RLE_bar        to   "0"
end vector

vector    Bus_in_1111
     drive     Bus_bar
     set  RLE_bar        to   "k"
     set  Bus_enable_bar to   "1"
     set  Bus_bar        to   "1111"
end vector

vector    RLE_bar_high
     initialize to       Bus_in_1111
     set  RLE_bar        to   "1"
end vector

vector    Clock_high__A
     set  Select         to   "0"
     set  A_inputs       to   "kkkk"
     set  Driver_clock   to   "1"
end vector

vector    Clock_high__B
     set  Select         to   "1"
     set  B_inputs       to   "kkkk"
     set  Driver_clock   to   "1"
end vector

vector    Clock_low
     set  Driver_clock   to   "0"
end vector

vector    A_inputs_0000
     initialize to       Select_low
     set  A_inputs       to   "0000"
end vector

vector    A_inputs_0001
     initialize to       Select_low
     set  A_inputs       to   "0001"
end vector

vector    A_inputs_0011
     initialize to       Select_low
     set  A_inputs       to   "0011"
end vector

vector    A_inputs_0111
     initialize to       Select_low
     set  A_inputs       to   "0111"
end vector

vector    A_inputs_1111
     initialize to       Select_low
     set  A_inputs       to   "1111"
end vector

vector    B_inputs_0000
     initialize to       Select_high
     set  B_inputs       to   "0000"
end vector

vector    B_inputs_0001
     initialize to       Select_high
     set  B_inputs       to   "0001"
end vector

vector    B_inputs_0011
     initialize to       Select_high
     set  B_inputs       to   "0011"
end vector

vector    B_inputs_0111
     initialize to       Select_high
     set  B_inputs       to   "0111"
end vector

vector    B_inputs_1111
     initialize to       Select_high
     set  B_inputs       to   "1111"
end vector

vector    Bus_in_0000
     drive     Bus_bar
     set  RLE_bar        to   "k"
     set  Bus_enable_bar to   "1"
     set  Bus_bar        to   "0000"
end vector

vector    Bus_in_0001
     drive     Bus_bar
     set  RLE_bar        to   "k"
     set  Bus_enable_bar to   "1"
     set  Bus_bar        to   "0001"
end vector

vector    Bus_in_0011
     drive     Bus_bar
     set  RLE_bar        to   "k"
     set  Bus_enable_bar to   "1"
     set  Bus_bar        to   "0011"
end vector

vector    Bus_in_0111
     drive     Bus_bar
     set  RLE_bar        to   "k"
     set  Bus_enable_bar to   "1"
     set  Bus_bar        to   "0111"
end vector

vector    Bus_out_0000
     receive   Bus_bar
     set  Driver_clock   to   "0"
     set  Bus_enable_bar to   "0"
     set  Bus_bar        to   "0000"
end vector

vector    Bus_out_1000
     receive   Bus_bar
     set  Driver_clock   to   "0"
     set  Bus_enable_bar to   "0"
     set  Bus_bar        to   "1000"
end vector

vector    Bus_out_1100
     receive   Bus_bar
     set  Driver_clock   to   "0"
     set  Bus_enable_bar to   "0"
     set  Bus_bar        to   "1100"
end vector

vector    Bus_out_1110
     receive   Bus_bar
     set  Driver_clock   to   "0"
     set  Bus_enable_bar to   "0"
     set  Bus_bar        to   "1110"
end vector

vector    Bus_out_1111
     receive   Bus_bar
     set  Driver_clock   to   "0"
     set  Bus_enable_bar to   "0"
     set  Bus_bar        to   "1111"
end vector

vector    Receiver_outputs_1111
     drive     Bus_bar
     set  Bus_bar        to   "kkkk"
     set  RLE_bar        to   "k"
     set  Bus_enable_bar to   "1"
     set  Output_enable_bar   to   "0"
     set  Receiver_outputs    to   "1111"
end vector

vector    Receiver_outputs_1110
     drive     Bus_bar
     set  Bus_bar        to   "kkkk"
     set  RLE_bar        to   "k"
     set  Bus_enable_bar to   "1"
     set  Output_enable_bar   to   "0"
     set  Receiver_outputs    to   "1110"
end vector

vector    Receiver_outputs_1100
     drive     Bus_bar
     set  Bus_bar        to   "kkkk"
     set  RLE_bar        to   "k"
     set  Bus_enable_bar to   "1"
     set  Output_enable_bar   to   "0"
     set  Receiver_outputs    to   "1100"
end vector

vector    Receiver_outputs_1000
     drive     Bus_bar
     set  Bus_bar        to   "kkkk"
     set  RLE_bar        to   "k"
     set  Bus_enable_bar to   "1"
     set  Output_enable_bar   to   "0"
     set  Receiver_outputs    to   "1000"
end vector

vector    Receiver_outputs_0000
     drive     Bus_bar
     set  Bus_bar        to   "kkkk"
     set  RLE_bar        to   "k"
     set  Bus_enable_bar to   "1"
     set  Output_enable_bar   to   "0"
     set  Receiver_outputs    to   "0000"
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    Clock_high__A0
     set  Select         to   "0"
     set  A0_I           to   "k"
     set  Driver_clock   to   "1"
end vector

vector    Clock_high__A1
     set  Select         to   "0"
     set  A1_I           to   "k"
     set  Driver_clock   to   "1"
end vector

vector    Clock_high__A2
     set  Select         to   "0"
     set  A2_I           to   "k"
     set  Driver_clock   to   "1"
end vector

vector    Clock_high__A3
     set  Select         to   "0"
     set  A3_I           to   "k"
     set  Driver_clock   to   "1"
end vector

vector    Clock_high__B0
     set  Select         to   "1"
     set  B0_I           to   "k"
     set  Driver_clock   to   "1"
end vector

vector    Clock_high__B1
     set  Select         to   "1"
     set  B1_I           to   "k"
     set  Driver_clock   to   "1"
end vector

vector    Clock_high__B2
     set  Select         to   "1"
     set  B2_I           to   "k"
     set  Driver_clock   to   "1"
end vector

vector    Clock_high__B3
     set  Select         to   "1"
     set  B3_I           to   "k"
     set  Driver_clock   to   "1"
end vector

vector    A0_I_0
     initialize to       Select_low
     set  A0_I           to   "0"
end vector

vector    A0_I_1
     initialize to       Select_low
     set  A0_I           to   "1"
end vector

vector    A1_I_0
     initialize to       Select_low
     set  A1_I           to   "0"
end vector

vector    A1_I_1
     initialize to       Select_low
     set  A1_I           to   "1"
end vector

vector    A2_I_0
     initialize to       Select_low
     set  A2_I           to   "0"
end vector

vector    A2_I_1
     initialize to       Select_low
     set  A2_I           to   "1"
end vector

vector    A3_I_0
     initialize to       Select_low
     set  A3_I           to   "0"
end vector

vector    A3_I_1
     initialize to       Select_low
     set  A3_I           to   "1"
end vector

vector    B0_I_0
     initialize to       Select_high
     set  B0_I           to   "0"
end vector

vector    B0_I_1
     initialize to       Select_high
     set  B0_I           to   "1"
end vector

vector    B1_I_0
     initialize to       Select_high
     set  B1_I           to   "0"
end vector

vector    B1_I_1
     initialize to       Select_high
     set  B1_I           to   "1"
end vector

vector    B2_I_0
     initialize to       Select_high
     set  B2_I           to   "0"
end vector

vector    B2_I_1
     initialize to       Select_high
     set  B2_I           to   "1"
end vector

vector    B3_I_0
     initialize to       Select_high
     set  B3_I           to   "0"
end vector

vector    B3_I_1
     initialize to       Select_high
     set  B3_I           to   "1"
end vector

vector    Bus0_out_0
     receive   Bus0
     set  Driver_clock   to   "0"
     set  Bus_enable_bar to   "0"
     set  Bus0           to   "0"
end vector

vector    Bus0_out_1
     receive   Bus0
     set  Driver_clock   to   "0"
     set  Bus_enable_bar to   "0"
     set  Bus0           to   "1"
end vector

vector    Bus1_out_0
     receive   Bus1
     set  Driver_clock   to   "0"
     set  Bus_enable_bar to   "0"
     set  Bus1           to   "0"
end vector

vector    Bus1_out_1
     receive   Bus1
     set  Driver_clock   to   "0"
     set  Bus_enable_bar to   "0"
     set  Bus1           to   "1"
end vector

vector    Bus2_out_0
     receive   Bus2
     set  Driver_clock   to   "0"
     set  Bus_enable_bar to   "0"
     set  Bus2           to   "0"
end vector

vector    Bus2_out_1
     receive   Bus2
     set  Driver_clock   to   "0"
     set  Bus_enable_bar to   "0"
     set  Bus2           to   "1"
end vector

vector    Bus3_out_0
     receive   Bus3
     set  Driver_clock   to   "0"
     set  Bus_enable_bar to   "0"
     set  Bus3           to   "0"
end vector

vector    Bus3_out_1
     receive   Bus3
     set  Driver_clock   to   "0"
     set  Bus_enable_bar to   "0"
     set  Bus3           to   "1"
end vector

vector    Bus0_in_0
     drive     Bus0
     set  RLE_bar        to   "k"
     set  Bus_enable_bar to   "1"
     set  Bus0           to   "0"
end vector

vector    Bus0_in_1
     drive     Bus0
     set  RLE_bar        to   "k"
     set  Bus_enable_bar to   "1"
     set  Bus0           to   "1"
end vector

vector    Bus1_in_0
     drive     Bus1
     set  RLE_bar        to   "k"
     set  Bus_enable_bar to   "1"
     set  Bus1           to   "0"
end vector

vector    Bus1_in_1
     drive     Bus1
     set  RLE_bar        to   "k"
     set  Bus_enable_bar to   "1"
     set  Bus1           to   "1"
end vector

vector    Bus2_in_0
     drive     Bus2
     set  RLE_bar        to   "k"
     set  Bus_enable_bar to   "1"
     set  Bus2           to   "0"
end vector

vector    Bus2_in_1
     drive     Bus2
     set  RLE_bar        to   "k"
     set  Bus_enable_bar to   "1"
     set  Bus2           to   "1"
end vector

vector    Bus3_in_0
     drive     Bus3
     set  RLE_bar        to   "k"
     set  Bus_enable_bar to   "1"
     set  Bus3           to   "0"
end vector

vector    Bus3_in_1
     drive     Bus3
     set  RLE_bar        to   "k"
     set  Bus_enable_bar to   "1"
     set  Bus3           to   "1"
end vector

vector    R0_outputs_0
     drive     Bus0
     set  Bus0           to   "k"
     set  RLE_bar        to   "k"
     set  Bus_enable_bar to   "1"
     set  Output_enable_bar   to   "0"
     set  R0_O                to   "0"
end vector

vector    R0_outputs_1
     drive     Bus0
     set  Bus0           to   "k"
     set  RLE_bar        to   "k"
     set  Bus_enable_bar to   "1"
     set  Output_enable_bar   to   "0"
     set  R0_O                to   "1"
end vector

vector    R1_outputs_0
     drive     Bus1
     set  Bus1           to   "k"
     set  RLE_bar        to   "k"
     set  Bus_enable_bar to   "1"
     set  Output_enable_bar   to   "0"
     set  R1_O                to   "0"
end vector

vector    R1_outputs_1
     drive     Bus1
     set  Bus1           to   "k"
     set  RLE_bar        to   "k"
     set  Bus_enable_bar to   "1"
     set  Output_enable_bar   to   "0"
     set  R1_O                to   "1"
end vector

vector    R2_outputs_0
     drive     Bus2
     set  Bus2           to   "k"
     set  RLE_bar        to   "k"
     set  Bus_enable_bar to   "1"
     set  Output_enable_bar   to   "0"
     set  R2_O                to   "0"
end vector

vector    R2_outputs_1
     drive     Bus2
     set  Bus2           to   "k"
     set  RLE_bar        to   "k"
     set  Bus_enable_bar to   "1"
     set  Output_enable_bar   to   "0"
     set  R2_O                to   "1"
end vector

vector    R3_outputs_0
     drive     Bus3
     set  Bus3           to   "k"
     set  RLE_bar        to   "k"
     set  Bus_enable_bar to   "1"
     set  Output_enable_bar   to   "0"
     set  R3_O                to   "0"
end vector

vector    R3_outputs_1
     drive     Bus3
     set  Bus3           to   "k"
     set  RLE_bar        to   "k"
     set  Bus_enable_bar to   "1"
     set  Output_enable_bar   to   "0"
     set  R3_O                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 A0.

unit "awaretest A0 input Test"
     execute   A0_I_0
     execute   Clock_high__A0
     execute   Clock_low
     execute   Bus0_out_1
     execute   A0_I_1
     execute   Clock_high__A0
     execute   Clock_low
     execute   Bus0_out_0
end unit

unit "awaretest A1 input Test"
     execute   A1_I_0
     execute   Clock_high__A1
     execute   Clock_low
     execute   Bus1_out_1
     execute   A1_I_1
     execute   Clock_high__A1
     execute   Clock_low
     execute   Bus1_out_0
end unit

unit "awaretest A2 input Test"
     execute   A2_I_0
     execute   Clock_high__A2
     execute   Clock_low
     execute   Bus2_out_1
     execute   A2_I_1
     execute   Clock_high__A2
     execute   Clock_low
     execute   Bus2_out_0
end unit

unit "awaretest A3 input Test"
     execute   A3_I_0
     execute   Clock_high__A3
     execute   Clock_low
     execute   Bus3_out_1
     execute   A3_I_1
     execute   Clock_high__A3
     execute   Clock_low
     execute   Bus3_out_0
end unit

unit "awaretest B0 input Test"
     execute   B0_I_0
     execute   Clock_high__B0
     execute   Clock_low
     execute   Bus0_out_1
     execute   B0_I_1
     execute   Clock_high__B0
     execute   Clock_low
     execute   Bus0_out_0
end unit

unit "awaretest B1 input Test"
     execute   B1_I_0
     execute   Clock_high__B1
     execute   Clock_low
     execute   Bus1_out_1
     execute   B1_I_1
     execute   Clock_high__B1
     execute   Clock_low
     execute   Bus1_out_0
end unit

unit "awaretest B2 input Test"
     execute   B2_I_0
     execute   Clock_high__B2
     execute   Clock_low
     execute   Bus2_out_1
     execute   B2_I_1
     execute   Clock_high__B2
     execute   Clock_low
     execute   Bus2_out_0
end unit

unit "awaretest B3 input Test"
     execute   B3_I_0
     execute   Clock_high__B3
     execute   Clock_low
     execute   Bus3_out_1
     execute   B3_I_1
     execute   Clock_high__B3
     execute   Clock_low
     execute   Bus3_out_0
end unit

unit "awaretest R0 input Test"
     execute   RLE_bar_low
     execute   Bus0_in_0
     execute   R0_outputs_1
     execute   Bus0_in_1
     execute   R0_outputs_0
end unit

unit "awaretest R1 input Test"
     execute   RLE_bar_low
     execute   Bus1_in_0
     execute   R1_outputs_1
     execute   Bus1_in_1
     execute   R1_outputs_0
end unit

unit "awaretest R2 input Test"
     execute   RLE_bar_low
     execute   Bus2_in_0
     execute   R2_outputs_1
     execute   Bus2_in_1
     execute   R2_outputs_0
end unit

unit "awaretest R3 input Test"
     execute   RLE_bar_low
     execute   Bus3_in_0
     execute   R3_outputs_1
     execute   Bus3_in_1
     execute   R3_outputs_0
end unit

unit "test A_inputs"
     execute   A_inputs_0000
     execute   Clock_high__A
     execute   Clock_low
     execute   Bus_out_1111
     execute   A_inputs_0001
     execute   Clock_high__A
     execute   Clock_low
     execute   Bus_out_1110
     execute   A_inputs_0011
     execute   Clock_high__A
     execute   Clock_low
     execute   Bus_out_1100
     execute   A_inputs_0111
     execute   Clock_high__A
     execute   Clock_low
     execute   Bus_out_1000
     execute   A_inputs_1111
     execute   Clock_high__A
     execute   Clock_low
     execute   Bus_out_0000
end unit

unit "test B_inputs"
     execute   B_inputs_0000
     execute   Clock_high__B
     execute   Clock_low
     execute   Bus_out_1111
     execute   B_inputs_0001
     execute   Clock_high__B
     execute   Clock_low
     execute   Bus_out_1110
     execute   B_inputs_0011
     execute   Clock_high__B
     execute   Clock_low
     execute   Bus_out_1100
     execute   B_inputs_0111
     execute   Clock_high__B
     execute   Clock_low
     execute   Bus_out_1000
     execute   B_inputs_1111
     execute   Clock_high__B
     execute   Clock_low
     execute   Bus_out_0000
end unit

unit "test receivers, RLE_bar available"
     execute   RLE_bar_low
     execute   Bus_in_0000
     execute   Receiver_outputs_1111
     execute   Bus_in_0001
     execute   Receiver_outputs_1110
     execute   Bus_in_0011
     execute   Receiver_outputs_1100
     execute   Bus_in_0111
     execute   Receiver_outputs_1000
     execute   Bus_in_1111
     execute   Receiver_outputs_0000
     execute   RLE_bar_high
     execute   Bus_in_0000
     execute   Receiver_outputs_0000
end unit

unit "test receivers, RLE_bar tied low"
     execute   RLE_bar_low
     execute   Bus_in_0000
     execute   Receiver_outputs_1111
     execute   Bus_in_0001
     execute   Receiver_outputs_1110
     execute   Bus_in_0011
     execute   Receiver_outputs_1100
     execute   Bus_in_0111
     execute   Receiver_outputs_1000
     execute   Bus_in_1111
     execute   Receiver_outputs_0000
end unit

!    End of test
