!!!!    6    0    1  986489916  V6c80                                         

! Device           : 74ls207
! Function         : Static RAM 3-state 256 x 4
! 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 16
assign  GND         to pins 8

assign  Data        to pins 9,10,11,12
assign  Address     to pins 15,1,2,3,4,5,6,7

assign  Data_D0     to pins 12   !AT Added for minimum pin test.
assign  Data_D1     to pins 11   !AT Added for minimum pin test.
assign  Data_D2     to pins 10   !AT Added for minimum pin test.
assign  Data_D3     to pins 9    !AT Added for minimum pin test.

assign  Write_enable      to pins 14
assign  Output_enable_bar to pins 13

family  TTL

power   VCC, GND

inputs  Address, Write_enable, Output_enable_bar

bidirectional  Data
bidirectional  Data_D0, Data_D1, Data_D2, Data_D3 !AT Added for min. pin test.

when  Write_enable   is "0"   inputs   Data
when  Write_enable   is "1"   outputs  Data
when  Output_enable_bar is "1" inactive  Data

trace Data to  Address, Write_enable, Output_enable_bar

disable Data         with Output_enable_bar  to "1"


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

vector    Address_00000000
     set  Write_enable        to "0"
     set  Output_enable_bar   to "1"
     set  Address             to "00000000"
end vector

vector    Address_00000001
     set  Write_enable        to "0"
     set  Output_enable_bar   to "1"
     set  Address             to "00000001"
end vector

vector    Address_00000011
     set  Write_enable        to "0"
     set  Output_enable_bar   to "1"
     set  Address             to "00000011"
end vector

vector    Address_00000111
     set  Write_enable        to "0"
     set  Output_enable_bar   to "1"
     set  Address             to "00000111"
end vector

vector    Address_00001111
     set  Write_enable        to "0"
     set  Output_enable_bar   to "1"
     set  Address             to "00001111"
end vector

vector    Address_00011111
     set  Write_enable        to "0"
     set  Output_enable_bar   to "1"
     set  Address             to "00011111"
end vector

vector    Address_00111111
     set  Write_enable        to "0"
     set  Output_enable_bar   to "1"
     set  Address             to "00111111"
end vector

vector    Address_01111111
     set  Write_enable        to "0"
     set  Output_enable_bar   to "1"
     set  Address             to "01111111"
end vector

vector    Address_11111111
     set  Write_enable        to "0"
     set  Output_enable_bar   to "1"
     set  Address             to "11111111"
end vector

vector    Output_enable_high
     set  Write_enable        to "0"
     set  Output_enable_bar   to "1"
end vector

vector    Read_data_0000
     receive    Data
     set  Write_enable        to "0"
     set  Address             to "kkkkkkkk"
     set  Output_enable_bar   to "0"
     set  Data                to "0000"
end vector

vector    Read_data_0001
     receive    Data
     set  Write_enable        to "0"
     set  Address             to "kkkkkkkk"
     set  Output_enable_bar   to "0"
     set  Data                to "0001"
end vector

vector    Read_data_0010
     receive    Data
     set  Write_enable        to "0"
     set  Address             to "kkkkkkkk"
     set  Output_enable_bar   to "0"
     set  Data                to "0010"
end vector

vector    Read_data_0011
     receive    Data
     set  Write_enable        to "0"
     set  Address             to "kkkkkkkk"
     set  Output_enable_bar   to "0"
     set  Data                to "0011"
end vector

vector    Read_data_0100
     receive    Data
     set  Write_enable        to "0"
     set  Address             to "kkkkkkkk"
     set  Output_enable_bar   to "0"
     set  Data                to "0100"
end vector

vector    Read_data_0101
     receive    Data
     set  Write_enable        to "0"
     set  Address             to "kkkkkkkk"
     set  Output_enable_bar   to "0"
     set  Data                to "0101"
end vector

vector    Read_data_0110
     receive    Data
     set  Write_enable        to "0"
     set  Address             to "kkkkkkkk"
     set  Output_enable_bar   to "0"
     set  Data                to "0110"
end vector

vector    Read_data_0111
     receive    Data
     set  Write_enable        to "0"
     set  Address             to "kkkkkkkk"
     set  Output_enable_bar   to "0"
     set  Data                to "0111"
end vector

vector    Read_data_1000
     receive    Data
     set  Write_enable        to "0"
     set  Address             to "kkkkkkkk"
     set  Output_enable_bar   to "0"
     set  Data                to "1000"
end vector

vector    Read_data_1001
     receive    Data
     set  Write_enable        to "0"
     set  Address             to "kkkkkkkk"
     set  Output_enable_bar   to "0"
     set  Data                to "1001"
end vector

vector    Read_data_1010
     receive    Data
     set  Write_enable        to "0"
     set  Address             to "kkkkkkkk"
     set  Output_enable_bar   to "0"
     set  Data                to "1010"
end vector

vector    Read_data_1011
     receive    Data
     set  Write_enable        to "0"
     set  Address             to "kkkkkkkk"
     set  Output_enable_bar   to "0"
     set  Data                to "1011"
end vector

vector    Read_data_1100
     receive    Data
     set  Write_enable        to "0"
     set  Address             to "kkkkkkkk"
     set  Output_enable_bar   to "0"
     set  Data                to "1100"
end vector

vector    Read_data_1101
     receive    Data
     set  Write_enable        to "0"
     set  Address             to "kkkkkkkk"
     set  Output_enable_bar   to "0"
     set  Data                to "1101"
end vector

vector    Read_data_1110
     receive    Data
     set  Write_enable        to "0"
     set  Address             to "kkkkkkkk"
     set  Output_enable_bar   to "0"
     set  Data                to "1110"
end vector

vector    Read_data_1111
     receive    Data
     set  Write_enable        to "0"
     set  Address             to "kkkkkkkk"
     set  Output_enable_bar   to "0"
     set  Data                to "1111"
end vector

vector    Write_data_0000
     drive      Data
     set  Output_enable_bar   to "1"
     set  Write_enable        to "0"
     set  Address             to "kkkkkkkk"
     set  Data                to "0000"
end vector

vector    Write_data_0001
     drive      Data
     set  Output_enable_bar   to "1"
     set  Write_enable        to "0"
     set  Address             to "kkkkkkkk"
     set  Data                to "0001"
end vector

vector    Write_data_0010
     drive      Data
     set  Output_enable_bar   to "1"
     set  Write_enable        to "0"
     set  Address             to "kkkkkkkk"
     set  Data                to "0010"
end vector

vector    Write_data_0011
     drive      Data
     set  Output_enable_bar   to "1"
     set  Write_enable        to "0"
     set  Address             to "kkkkkkkk"
     set  Data                to "0011"
end vector

vector    Write_data_0100
     drive      Data
     set  Output_enable_bar   to "1"
     set  Write_enable        to "0"
     set  Address             to "kkkkkkkk"
     set  Data                to "0100"
end vector

vector    Write_data_0101
     drive      Data
     set  Output_enable_bar   to "1"
     set  Write_enable        to "0"
     set  Address             to "kkkkkkkk"
     set  Data                to "0101"
end vector

vector    Write_data_0110
     drive      Data
     set  Output_enable_bar   to "1"
     set  Write_enable        to "0"
     set  Address             to "kkkkkkkk"
     set  Data                to "0110"
end vector

vector    Write_data_0111
     drive      Data
     set  Output_enable_bar   to "1"
     set  Write_enable        to "0"
     set  Address             to "kkkkkkkk"
     set  Data                to "0111"
end vector

vector    Write_data_1000
     drive      Data
     set  Output_enable_bar   to "1"
     set  Write_enable        to "0"
     set  Address             to "kkkkkkkk"
     set  Data                to "1000"
end vector

vector    Write_data_1001
     drive      Data
     set  Output_enable_bar   to "1"
     set  Write_enable        to "0"
     set  Address             to "kkkkkkkk"
     set  Data                to "1001"
end vector

vector    Write_data_1010
     drive      Data
     set  Output_enable_bar   to "1"
     set  Write_enable        to "0"
     set  Address             to "kkkkkkkk"
     set  Data                to "1010"
end vector

vector    Write_data_1011
     drive      Data
     set  Output_enable_bar   to "1"
     set  Write_enable        to "0"
     set  Address             to "kkkkkkkk"
     set  Data                to "1011"
end vector

vector    Write_data_1100
     drive      Data
     set  Output_enable_bar   to "1"
     set  Write_enable        to "0"
     set  Address             to "kkkkkkkk"
     set  Data                to "1100"
end vector

vector    Write_data_1101
     drive      Data
     set  Output_enable_bar   to "1"
     set  Write_enable        to "0"
     set  Address             to "kkkkkkkk"
     set  Data                to "1101"
end vector

vector    Write_data_1110
     drive      Data
     set  Output_enable_bar   to "1"
     set  Write_enable        to "0"
     set  Address             to "kkkkkkkk"
     set  Data                to "1110"
end vector

vector    Write_data_1111
     drive      Data
     set  Output_enable_bar   to "1"
     set  Write_enable        to "0"
     set  Address             to "kkkkkkkk"
     set  Data                to "1111"
end vector

vector    Write_enable_high
     drive      Data
     set  Output_enable_bar   to "1"
     set  Address             to "kkkkkkkk"
     set  Data                to "kkkk"
     set  Write_enable        to "1"
end vector

vector    Write_enable_low
     set  Output_enable_bar   to "1"
     set  Write_enable        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    Read_data_D0_0
     receive    Data_D0
     set  Write_enable        to "0"
     set  Address             to "kkkkkkkk"
     set  Output_enable_bar   to "0"
     set  Data_D0             to "0"
end vector

vector    Read_data_D0_1
     receive    Data_D0
     set  Write_enable        to "0"
     set  Address             to "kkkkkkkk"
     set  Output_enable_bar   to "0"
     set  Data_D0             to "1"
end vector

vector    Read_data_D1_0
     receive    Data_D1
     set  Write_enable        to "0"
     set  Address             to "kkkkkkkk"
     set  Output_enable_bar   to "0"
     set  Data_D1             to "0"
end vector

vector    Read_data_D1_1
     receive    Data_D1
     set  Write_enable        to "0"
     set  Address             to "kkkkkkkk"
     set  Output_enable_bar   to "0"
     set  Data_D1             to "1"
end vector

vector    Read_data_D2_0
     receive    Data_D2
     set  Write_enable        to "0"
     set  Address             to "kkkkkkkk"
     set  Output_enable_bar   to "0"
     set  Data_D2             to "0"
end vector

vector    Read_data_D2_1
     receive    Data_D2
     set  Write_enable        to "0"
     set  Address             to "kkkkkkkk"
     set  Output_enable_bar   to "0"
     set  Data_D2             to "1"
end vector

vector    Read_data_D3_0
     receive    Data_D3
     set  Write_enable        to "0"
     set  Address             to "kkkkkkkk"
     set  Output_enable_bar   to "0"
     set  Data_D3             to "0"
end vector

vector    Read_data_D3_1
     receive    Data_D3
     set  Write_enable        to "0"
     set  Address             to "kkkkkkkk"
     set  Output_enable_bar   to "0"
     set  Data_D3             to "1"
end vector

vector    Write_data_D0_0
     drive      Data_D0
     set  Output_enable_bar   to "1"
     set  Write_enable        to "0"
     set  Address             to "kkkkkkkk"
     set  Data_D0             to "0"
end vector

vector    Write_data_D0_1
     drive      Data_D0
     set  Output_enable_bar   to "1"
     set  Write_enable        to "0"
     set  Address             to "kkkkkkkk"
     set  Data_D0             to "1"
end vector

vector    Write_data_D1_0
     drive      Data_D1
     set  Output_enable_bar   to "1"
     set  Write_enable        to "0"
     set  Address             to "kkkkkkkk"
     set  Data_D1             to "0"
end vector

vector    Write_data_D1_1
     drive      Data_D1
     set  Output_enable_bar   to "1"
     set  Write_enable        to "0"
     set  Address             to "kkkkkkkk"
     set  Data_D1             to "1"
end vector

vector    Write_data_D2_0
     drive      Data_D2
     set  Output_enable_bar   to "1"
     set  Write_enable        to "0"
     set  Address             to "kkkkkkkk"
     set  Data_D2             to "0"
end vector

vector    Write_data_D2_1
     drive      Data_D2
     set  Output_enable_bar   to "1"
     set  Write_enable        to "0"
     set  Address             to "kkkkkkkk"
     set  Data_D2             to "1"
end vector

vector    Write_data_D3_0
     drive      Data_D3
     set  Output_enable_bar   to "1"
     set  Write_enable        to "0"
     set  Address             to "kkkkkkkk"
     set  Data_D3             to "0"
end vector

vector    Write_data_D3_1
     drive      Data_D3
     set  Output_enable_bar   to "1"
     set  Write_enable        to "0"
     set  Address             to "kkkkkkkk"
     set  Data_D3             to "1"
end vector

vector    WE_hi_D0
     drive      Data_D0
     set  Output_enable_bar   to "1"
     set  Address             to "kkkkkkkk"
     set  Data_D0             to "k"
     set  Write_enable        to "1"
end vector

vector    WE_hi_D1
     drive      Data_D1
     set  Output_enable_bar   to "1"
     set  Address             to "kkkkkkkk"
     set  Data_D1             to "k"
     set  Write_enable        to "1"
end vector

vector    WE_hi_D2
     drive      Data_D2
     set  Output_enable_bar   to "1"
     set  Address             to "kkkkkkkk"
     set  Data_D2             to "k"
     set  Write_enable        to "1"
end vector

vector    WE_hi_D3
     drive      Data_D3
     set  Output_enable_bar   to "1"
     set  Address             to "kkkkkkkk"
     set  Data_D3             to "k"
     set  Write_enable        to "1"
end vector

vector    WE_lo_D0
     drive      Data_D0
     set  Output_enable_bar   to "1"
     set  Address             to "kkkkkkkk"
     set  Data_D0             to "k"
     set  Write_enable        to "0"
end vector

vector    WE_lo_D1
     drive      Data_D1
     set  Output_enable_bar   to "1"
     set  Address             to "kkkkkkkk"
     set  Data_D1             to "k"
     set  Write_enable        to "0"
end vector

vector    WE_lo_D2
     drive      Data_D2
     set  Output_enable_bar   to "1"
     set  Address             to "kkkkkkkk"
     set  Data_D2             to "k"
     set  Write_enable        to "0"
end vector

vector    WE_lo_D3
     drive      Data_D3
     set  Output_enable_bar   to "1"
     set  Address             to "kkkkkkkk"
     set  Data_D3             to "k"
     set  Write_enable        to "0"
end vector

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

sub  Write_data (Address, Data_write)
     execute   Address
     execute   Data_write
     execute   Write_enable_high
     execute   Write_enable_low
end sub

sub  Read_data (Address, Data_read)
     execute   Address
     execute   Data_read
     execute   Output_enable_high
end sub

!AT The following subroutines have been added for a minimum pins test.
!AT Vectors in the subroutine "Write_data" reference the entire data bus.
!AT Therefore this subroutine was copied and modified to reference only
!AT a single pin of the data bus. The subroutine "Read_data" did not
!AT require any modification as all references to the data bus are made
!AT via a passed parameter (Data). This reference can be modified in the
!AT call statement.

sub  Write_data_Dx (Address, Data_write_Dx, WE_hi_Dx, WE_lo_Dx)
     execute   Address
     execute   Data_write_Dx
     execute   WE_hi_Dx
     execute   WE_lo_Dx
end sub

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

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

     call Write_data_Dx (Address_00000000, Write_data_D0_0, WE_hi_D0, WE_lo_D0)
     call Read_data (Address_00000000, Read_data_D0_0)

     call Write_data_Dx (Address_00000000, Write_data_D0_1, WE_hi_D0, WE_lo_D0)
     call Read_data (Address_00000000, Read_data_D0_1)

end unit

unit   "awaretest D1 Test"

     call Write_data_Dx (Address_00000000, Write_data_D1_0, WE_hi_D1, WE_lo_D1)
     call Read_data (Address_00000000, Read_data_D1_0)

     call Write_data_Dx (Address_00000000, Write_data_D1_1, WE_hi_D1, WE_lo_D1)
     call Read_data (Address_00000000, Read_data_D1_1)

end unit

unit   "awaretest D2 Test"

     call Write_data_Dx (Address_00000000, Write_data_D2_0, WE_hi_D2, WE_lo_D2)
     call Read_data (Address_00000000, Read_data_D2_0)

     call Write_data_Dx (Address_00000000, Write_data_D2_1, WE_hi_D2, WE_lo_D2)
     call Read_data (Address_00000000, Read_data_D2_1)

end unit

unit   "awaretest D3 Test"

     call Write_data_Dx (Address_00000000, Write_data_D3_0, WE_hi_D3, WE_lo_D3)
     call Read_data (Address_00000000, Read_data_D3_0)

     call Write_data_Dx (Address_00000000, Write_data_D3_1, WE_hi_D3, WE_lo_D3)
     call Read_data (Address_00000000, Read_data_D3_1)

end unit

unit "test RAM"

     call Write_data (Address_00000000, Write_data_0000)
     call Write_data (Address_00000001, Write_data_0001)
     call Write_data (Address_00000011, Write_data_0011)
     call Write_data (Address_00000111, Write_data_0010)
     call Write_data (Address_00001111, Write_data_0110)
     call Write_data (Address_00011111, Write_data_0111)
     call Write_data (Address_00111111, Write_data_0101)
     call Write_data (Address_01111111, Write_data_0100)
     call Write_data (Address_11111111, Write_data_1100)

     call Read_data (Address_00000000, Read_data_0000)
     call Read_data (Address_00000001, Read_data_0001)
     call Read_data (Address_00000011, Read_data_0011)
     call Read_data (Address_00000111, Read_data_0010)
     call Read_data (Address_00001111, Read_data_0110)
     call Read_data (Address_00011111, Read_data_0111)
     call Read_data (Address_00111111, Read_data_0101)
     call Read_data (Address_01111111, Read_data_0100)
     call Read_data (Address_11111111, Read_data_1100)

     call Write_data (Address_00000000, Write_data_1111)
     call Write_data (Address_00000001, Write_data_1110)
     call Write_data (Address_00000011, Write_data_1100)
     call Write_data (Address_00000111, Write_data_1101)
     call Write_data (Address_00001111, Write_data_1001)
     call Write_data (Address_00011111, Write_data_1000)
     call Write_data (Address_00111111, Write_data_1010)
     call Write_data (Address_01111111, Write_data_1011)
     call Write_data (Address_11111111, Write_data_0011)

     call Read_data (Address_00000000, Read_data_1111)
     call Read_data (Address_00000001, Read_data_1110)
     call Read_data (Address_00000011, Read_data_1100)
     call Read_data (Address_00000111, Read_data_1101)
     call Read_data (Address_00001111, Read_data_1001)
     call Read_data (Address_00011111, Read_data_1000)
     call Read_data (Address_00111111, Read_data_1010)
     call Read_data (Address_01111111, Read_data_1011)
     call Read_data (Address_11111111, Read_data_0011)

end unit

!    End of test
