!!!!    6    0    1  986495789  Vb724                                         

! Device           : 74ls219
! Function         : 16 x 4-bit static RAM
! revision         : B.01.00
! safeguard        : high_out_lsttl
! Modifications    : Modified for AwareTest xi
!
  warning           "This library has not been verified with hardware."

sequential

assign    VCC            to pins   16
assign    GND            to pins   8

assign    Address        to pins   13,14,15,1

assign    Data_In        to pins   12,10,6,4
assign    Data_Out       to pins   11,9,7,5

assign  Data_in_D0  to pins 4    !AT Added for minimum pin test.
assign  Data_in_D1  to pins 6    !AT Added for minimum pin test.
assign  Data_in_D2  to pins 10   !AT Added for minimum pin test.
assign  Data_in_D3  to pins 12   !AT Added for minimum pin test.

assign  Data_out_D0 to pins 5    !AT Added for minimum pin test.
assign  Data_out_D1 to pins 7    !AT Added for minimum pin test.
assign  Data_out_D2 to pins 9    !AT Added for minimum pin test.
assign  Data_out_D3 to pins 11   !AT Added for minimum pin test.

assign    Chip_select_bar       to pins   2
assign    Write_enable_bar      to pins   3

family    TTL

power     VCC, GND

inputs    Address, Write_enable_bar, Chip_select_bar ,Data_In
inputs Data_in_D0, Data_in_D1, Data_in_D2, Data_in_D3      !AT Added for min pin test.

outputs    Data_Out
outputs Data_out_D0, Data_out_D1, Data_out_D2, Data_out_D3 !AT Added for min pin test.

when  Chip_select_bar is "1" inactive  Data_out

trace   Data_out to Address, Write_enable_bar, Chip_select_bar ,Data_In

disable   Data_out   with  Write_enable_bar    to   "1"
disable   Data_out   with  Chip_select_bar     to   "1"

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

vector    Disable
     set  Write_enable_bar    to   "1"
     set  Chip_select_bar     to   "1"
end vector

vector    Chip_enable_true
     set  Address             to   "kkkk"
     set  Write_enable_bar    to   "k"
     set  Chip_select_bar     to   "0"
end vector

vector    Write_enable
     set  Address             to   "kkkk"
     set  Write_enable_bar    to   "0"
     set  Chip_select_bar     to   "k"
end vector

vector    Write_enable_true
     set  Address             to   "kkkk"
     set  Write_enable_bar    to   "0"
     set  Chip_select_bar     to   "k"
end vector

vector    Write_enable_false
     set  Data_In             to   "kkkk"
     set  Write_enable_bar    to   "1"
     set  Chip_select_bar     to   "k"
end vector

vector    Chip_enable_false
     set  Data_In             to   "kkkk"
     set  Write_enable_bar    to   "k"
     set  Chip_select_bar     to   "1"
end vector

vector    Read_enable
     set  Address             to   "kkkk"
     set  Write_enable_bar    to   "k"
     set  Chip_select_bar     to   "0"
end vector

vector    Read_disable
     set  Write_enable_bar    to   "k"
     set  Chip_select_bar     to   "1"
end vector

vector    Addr_0000
     initialize to  Disable
     set  Address   to   "0000"
end vector

vector    Addr_0001
     initialize to  Disable
     set  Address   to   "0001"
end vector

vector    Addr_0011
     initialize to  Disable
     set  Address   to   "0011"
end vector

vector    Addr_0111
     initialize to  Disable
     set  Address   to   "0111"
end vector

vector    Addr_1111
     initialize to  Disable
     set  Address   to   "1111"
end vector

vector    Data_write_1111_CE_false
     set Address           to  "kkkk"
     set Write_enable_bar  to  "0"
     set Chip_select_bar   to  "k"
     set Data_In           to  "1111"
end vector

vector    Data_in_0000
     initialize to  Write_enable
     set Data_In       to   "0000"
end vector

vector    Data_in_0001
     initialize to  Write_enable
     set Data_In       to   "0001"
end vector

vector    Data_in_0011
     initialize to  Write_enable
     set Data_In       to   "0011"
end vector

vector    Data_in_0111
     initialize to  Write_enable
     set Data_In       to   "0111"
end vector

vector    Data_in_1111
     initialize to  Write_enable
     set Data_In       to   "1111"
end vector

vector    Data_out_0000
     initialize to  Read_enable
     set Data_out       to   "0000"
end vector

vector    Data_out_0001
     initialize to  Read_enable
     set Data_out       to   "0001"
end vector

vector    Data_out_0011
     initialize to  Read_enable
     set Data_out       to   "0011"
end vector

vector    Data_out_0111
     initialize to  Read_enable
     set Data_out       to   "0111"
end vector

vector    Data_out_1111
     initialize to  Read_enable
     set Data_out       to   "1111"
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    WEb_hi_D0
     set  Data_In_D0          to   "k"
     set  Write_enable_bar    to   "1"
     set  Chip_select_bar     to   "k"
end vector

vector    WEb_hi_D1
     set  Data_In_D1          to   "k"
     set  Write_enable_bar    to   "1"
     set  Chip_select_bar     to   "k"
end vector

vector    WEb_hi_D2
     set  Data_In_D2          to   "k"
     set  Write_enable_bar    to   "1"
     set  Chip_select_bar     to   "k"
end vector

vector    WEb_hi_D3
     set  Data_In_D3          to   "k"
     set  Write_enable_bar    to   "1"
     set  Chip_select_bar     to   "k"
end vector

vector    CE_hi_D0
     set  Data_In_D0          to   "k"
     set  Write_enable_bar    to   "k"
     set  Chip_select_bar     to   "1"
end vector

vector    CE_hi_D1
     set  Data_In_D1          to   "k"
     set  Write_enable_bar    to   "k"
     set  Chip_select_bar     to   "1"
end vector

vector    CE_hi_D2
     set  Data_In_D2          to   "k"
     set  Write_enable_bar    to   "k"
     set  Chip_select_bar     to   "1"
end vector

vector    CE_hi_D3
     set  Data_In_D3          to   "k"
     set  Write_enable_bar    to   "k"
     set  Chip_select_bar     to   "1"
end vector

vector    Data_in_D0_0
     initialize to  Write_enable
     set Data_In_D0           to   "0"
end vector

vector    Data_in_D0_1
     initialize to  Write_enable
     set Data_In_D0           to   "1"
end vector

vector    Data_in_D1_0
     initialize to  Write_enable
     set Data_In_D1           to   "0"
end vector

vector    Data_in_D1_1
     initialize to  Write_enable
     set Data_In_D1           to   "1"
end vector

vector    Data_in_D2_0
     initialize to  Write_enable
     set Data_In_D2           to   "0"
end vector

vector    Data_in_D2_1
     initialize to  Write_enable
     set Data_In_D2           to   "1"
end vector

vector    Data_in_D3_0
     initialize to  Write_enable
     set Data_In_D3           to   "0"
end vector

vector    Data_in_D3_1
     initialize to  Write_enable
     set Data_In_D3           to   "1"
end vector

vector    Data_out_D0_0
     initialize to  Read_enable
     set Data_out_D0          to   "0"
end vector

vector    Data_out_D0_1
     initialize to  Read_enable
     set Data_out_D0          to   "1"
end vector

vector    Data_out_D1_0
     initialize to  Read_enable
     set Data_out_D1          to   "0"
end vector

vector    Data_out_D1_1
     initialize to  Read_enable
     set Data_out_D1          to   "1"
end vector

vector    Data_out_D2_0
     initialize to  Read_enable
     set Data_out_D2          to   "0"
end vector

vector    Data_out_D2_1
     initialize to  Read_enable
     set Data_out_D2          to   "1"
end vector

vector    Data_out_D3_0
     initialize to  Read_enable
     set Data_out_D3          to   "0"
end vector

vector    Data_out_D3_1
     initialize to  Read_enable
     set Data_out_D3          to   "1"
end vector

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

sub  Write_data (Address, Data)
     execute   Address
     execute   Chip_enable_true
     execute   Data
     execute   Chip_enable_false
     execute   Write_enable_false
end sub

sub  Read_data (Address, Data)
     execute   Address
     execute   Data
     execute   Read_disable
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_Dx, CE_hi_Dx, WEb_hi_Dx)
     execute   Address
     execute   Chip_enable_true
     execute   Data_Dx
     execute   CE_hi_Dx
     execute   WEb_hi_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 (Addr_0000, Data_In_D0_0, CE_hi_D0, WEb_hi_D0)
    call Read_data (Addr_0000, Data_Out_D0_0)

    call Write_data_Dx (Addr_0000, Data_In_D0_1, CE_hi_D0, WEb_hi_D0)
    call Read_data (Addr_0000, Data_Out_D0_1)

end unit

unit   "awaretest D1 Test"

    call Write_data_Dx (Addr_0000, Data_In_D1_0, CE_hi_D1, WEb_hi_D1)
    call Read_data (Addr_0000, Data_Out_D1_0)

    call Write_data_Dx (Addr_0000, Data_In_D1_1, CE_hi_D1, WEb_hi_D1)
    call Read_data (Addr_0000, Data_Out_D1_1)

end unit

unit   "awaretest D2 Test"

    call Write_data_Dx (Addr_0000, Data_In_D2_0, CE_hi_D2, WEb_hi_D2)
    call Read_data (Addr_0000, Data_Out_D2_0)

    call Write_data_Dx (Addr_0000, Data_In_D2_1, CE_hi_D2, WEb_hi_D2)
    call Read_data (Addr_0000, Data_Out_D2_1)

end unit

unit   "awaretest D3 Test"

    call Write_data_Dx (Addr_0000, Data_In_D3_0, CE_hi_D3, WEb_hi_D3)
    call Read_data (Addr_0000, Data_Out_D3_0)

    call Write_data_Dx (Addr_0000, Data_In_D3_1, CE_hi_D3, WEb_hi_D3)
    call Read_data (Addr_0000, Data_Out_D3_1)

end unit

unit "Test RAM  Latch_bar_high"
     call Write_data (Addr_0000, Data_In_1111)
     call Write_data (Addr_0001, Data_In_0111)
     call Write_data (Addr_0011, Data_In_0011)
     call Write_data (Addr_0111, Data_In_0001)
     call Write_data (Addr_1111, Data_In_0000)
     call Read_data (Addr_0000, Data_Out_1111)
     call Read_data (Addr_0001, Data_Out_0111)
     call Read_data (Addr_0011, Data_Out_0011)
     call Read_data (Addr_0111, Data_Out_0001)
     call Read_data (Addr_1111, Data_Out_0000)
end unit

unit "Test  Chip_enable"
     call Write_data (Addr_0000, Data_In_0000)
     execute   Addr_0000
     execute   Chip_enable_false
     execute   Data_write_1111_CE_false
     execute   Write_enable_false
     call Read_data (Addr_0000, Data_Out_0000)
end unit

!    End of test

