!!!!    6    0    1  986824188  Va242                                         

! Device           : 6552
! Function         : Static RAM 3-state 256 x 4
! revision         : B.01.00
! safeguard        : med_out_mos
! Modifications    : Modified for AwareTest xi
!
  warning           "This library has not been verified with hardware."


vector cycle 1000n
receive delay 900n

assign        VCC            to pins             18
assign        GND            to pins             8

assign        Address        to pins             7,6,5,17,1,2,3,4
assign        Enable_bar     to pins             14
assign        Select_bar     to pins             13,15     !S2/S1
assign        Write_bar      to pins             16
assign        Data           to pins             12,11,10,9
assign        Disables       to pins             16,15

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

power         VCC, GND

family        TTL

inputs        Address, Enable_bar, Select_bar, Write_bar, Disables

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

when     Enable_bar  is "1"   inactive Data
when     Select_bar  is "1X"  inactive Data
when     Select_bar  is "X1"  inactive Data
when     Write_bar   is "0"   inputs   Data
when     Write_bar   is "1"   outputs  Data

trace    Data  to  Address, Enable_bar, Select_bar, Write_bar

disable      Data        with       Disables        to       "01"

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


vector     Address_00000000
     set      Address        to                  "00000000"
     set      Enable_bar     to                  "1"
     set      Select_bar     to                  "01"
     set      Write_bar      to                  "1"
end vector

vector     Address_00000000_Select_2_false
     set      Address        to                  "00000000"
     set      Enable_bar     to                  "1"
     set      Select_bar     to                  "11"
     set      Write_bar      to                  "1"
end vector

vector     Address_00000001
     set      Address        to                  "00000001"
     set      Enable_bar     to                  "1"
     set      Select_bar     to                  "01"
     set      Write_bar      to                  "1"
end vector

vector     Address_00000011
     set      Address        to                  "00000011"
     set      Enable_bar     to                  "1"
     set      Select_bar     to                  "01"
     set      Write_bar      to                  "1"
end vector

vector     Address_00000111
     set      Address        to                  "00000111"
     set      Enable_bar     to                  "1"
     set      Select_bar     to                  "01"
     set      Write_bar      to                  "1"
end vector

vector     Address_00001111
     set      Address        to                  "00001111"
     set      Enable_bar     to                  "1"
     set      Select_bar     to                  "01"
     set      Write_bar      to                  "1"
end vector

vector     Address_00011111
     set      Address        to                  "00011111"
     set      Enable_bar     to                  "1"
     set      Select_bar     to                  "01"
     set      Write_bar      to                  "1"
end vector

vector     Address_00111111
     set      Address        to                  "00111111"
     set      Enable_bar     to                  "1"
     set      Select_bar     to                  "01"
     set      Write_bar      to                  "1"
end vector

vector     Address_01111111
     set      Address        to                  "01111111"
     set      Enable_bar     to                  "1"
     set      Select_bar     to                  "01"
     set      Write_bar      to                  "1"
end vector

vector     Address_11111111
     set      Address        to                  "11111111"
     set      Enable_bar     to                  "1"
     set      Select_bar     to                  "01"
     set      Write_bar      to                  "1"
end vector

vector     Enable_true
     set      Address        to                  "kkkkkkkk"
     set      Enable_bar     to                  "0"
     set      Select_bar     to                  "01"
     set      Write_bar      to                  "1"
end vector

vector     Enable_true_Select_2_false
     set      Address        to                  "kkkkkkkk"
     set      Enable_bar     to                  "0"
     set      Select_bar     to                  "11"
     set      Write_bar      to                  "1"
end vector

vector     S1_true
     set      Address        to                  "kkkkkkkk"
     set      Enable_bar     to                  "0"
     set      Select_bar     to                  "10"
     set      Write_bar      to                  "1"
end vector

vector     Read_0000
     receive Data
     set      Address        to                  "kkkkkkkk"
     set      Enable_bar     to                  "0"
     set      Select_bar     to                  "10"
     set      Write_bar      to                  "1"
     set      Data           to                  "0000"
end vector

vector     Read_0001
     receive Data
     set      Address        to                  "kkkkkkkk"
     set      Enable_bar     to                  "0"
     set      Select_bar     to                  "10"
     set      Write_bar      to                  "1"
     set      Data           to                  "0001"
end vector

vector     Read_0011
     receive Data
     set      Address        to                  "kkkkkkkk"
     set      Enable_bar     to                  "0"
     set      Select_bar     to                  "10"
     set      Write_bar      to                  "1"
     set      Data           to                  "0011"
end vector

vector     Read_0111
     receive Data
     set      Address        to                  "kkkkkkkk"
     set      Enable_bar     to                  "0"
     set      Select_bar     to                  "10"
     set      Write_bar      to                  "1"
     set      Data           to                  "0111"
end vector

vector     Read_1111
     receive Data
     set      Address        to                  "kkkkkkkk"
     set      Enable_bar     to                  "0"
     set      Select_bar     to                  "10"
     set      Write_bar      to                  "1"
     set      Data           to                  "1111"
end vector

vector     Read_1110
     receive Data
     set      Address        to                  "kkkkkkkk"
     set      Enable_bar     to                  "0"
     set      Select_bar     to                  "10"
     set      Write_bar      to                  "1"
     set      Data           to                  "1110"
end vector

vector     Read_1100
     receive Data
     set      Address        to                  "kkkkkkkk"
     set      Enable_bar     to                  "0"
     set      Select_bar     to                  "10"
     set      Write_bar      to                  "1"
     set      Data           to                  "1100"
end vector

vector     Read_1000
     receive Data
     set      Address        to                  "kkkkkkkk"
     set      Enable_bar     to                  "0"
     set      Select_bar     to                  "10"
     set      Write_bar      to                  "1"
     set      Data           to                  "1000"
end vector

vector     Read_1001
     receive Data
     set      Address        to                  "kkkkkkkk"
     set      Enable_bar     to                  "0"
     set      Select_bar     to                  "10"
     set      Write_bar      to                  "1"
     set      Data           to                  "1001"
end vector

vector     End_cycle
     set      Enable_bar     to                  "1"
     set      Select_bar     to                  "11"
     set      Write_bar      to                  "1"
end vector

vector     Write_true
     set      Address        to                  "kkkkkkkk"
     set      Enable_bar     to                  "0"
     set      Select_bar     to                  "10"
     set      Write_bar      to                  "0"
end vector

vector     Write_true_Select_1_false
     set      Enable_bar     to                  "0"
     set      Select_bar     to                  "11"
     set      Write_bar      to                  "0"
end vector

vector     Write_0000_Select_1_false
     drive Data
     set      Enable_bar     to                  "0"
     set      Select_bar     to                  "11"
     set      Write_bar      to                  "0"
     set      Data           to                  "0000"
end vector

vector     Write_0000
     drive Data
     set      Address        to                  "kkkkkkkk"
     set      Enable_bar     to                  "0"
     set      Select_bar     to                  "10"
     set      Write_bar      to                  "0"
     set      Data           to                  "0000"
end vector

vector     Write_0001
     drive Data
     set      Address        to                  "kkkkkkkk"
     set      Enable_bar     to                  "0"
     set      Select_bar     to                  "10"
     set      Write_bar      to                  "0"
     set      Data           to                  "0001"
end vector

vector     Write_0011
     drive Data
     set      Address        to                  "kkkkkkkk"
     set      Enable_bar     to                  "0"
     set      Select_bar     to                  "10"
     set      Write_bar      to                  "0"
     set      Data           to                  "0011"
end vector

vector     Write_0111
     drive Data
     set      Address        to                  "kkkkkkkk"
     set      Enable_bar     to                  "0"
     set      Select_bar     to                  "10"
     set      Write_bar      to                  "0"
     set      Data           to                  "0111"
end vector

vector     Write_1111
     drive Data
     set      Address        to                  "kkkkkkkk"
     set      Enable_bar     to                  "0"
     set      Select_bar     to                  "10"
     set      Write_bar      to                  "0"
     set      Data           to                  "1111"
end vector

vector     Write_1110
     drive Data
     set      Address        to                  "kkkkkkkk"
     set      Enable_bar     to                  "0"
     set      Select_bar     to                  "10"
     set      Write_bar      to                  "0"
     set      Data           to                  "1110"
end vector

vector     Write_1100
     drive Data
     set      Address        to                  "kkkkkkkk"
     set      Enable_bar     to                  "0"
     set      Select_bar     to                  "10"
     set      Write_bar      to                  "0"
     set      Data           to                  "1100"
end vector

vector     Write_1000
     drive Data
     set      Address        to                  "kkkkkkkk"
     set      Enable_bar     to                  "0"
     set      Select_bar     to                  "10"
     set      Write_bar      to                  "0"
     set      Data           to                  "1000"
end vector

vector     Write_1001
     drive Data
     set      Address        to                  "kkkkkkkk"
     set      Enable_bar     to                  "0"
     set      Select_bar     to                  "10"
     set      Write_bar      to                  "0"
     set      Data           to                  "1001"
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_D0_0
     receive Data_D0
     set      Address        to                  "kkkkkkkk"
     set      Enable_bar     to                  "0"
     set      Select_bar     to                  "10"
     set      Write_bar      to                  "1"
     set      Data_D0        to                  "0"
end vector

vector     Read_D0_1
     receive Data_D0
     set      Address        to                  "kkkkkkkk"
     set      Enable_bar     to                  "0"
     set      Select_bar     to                  "10"
     set      Write_bar      to                  "1"
     set      Data_D0        to                  "1"
end vector

vector     Read_D1_0
     receive Data_D1
     set      Address        to                  "kkkkkkkk"
     set      Enable_bar     to                  "0"
     set      Select_bar     to                  "10"
     set      Write_bar      to                  "1"
     set      Data_D1        to                  "0"
end vector

vector     Read_D1_1
     receive Data_D1
     set      Address        to                  "kkkkkkkk"
     set      Enable_bar     to                  "0"
     set      Select_bar     to                  "10"
     set      Write_bar      to                  "1"
     set      Data_D1        to                  "1"
end vector

vector     Read_D2_0
     receive Data_D2
     set      Address        to                  "kkkkkkkk"
     set      Enable_bar     to                  "0"
     set      Select_bar     to                  "10"
     set      Write_bar      to                  "1"
     set      Data_D2        to                  "0"
end vector

vector     Read_D2_1
     receive Data_D2
     set      Address        to                  "kkkkkkkk"
     set      Enable_bar     to                  "0"
     set      Select_bar     to                  "10"
     set      Write_bar      to                  "1"
     set      Data_D2        to                  "1"
end vector

vector     Read_D3_0
     receive Data_D3
     set      Address        to                  "kkkkkkkk"
     set      Enable_bar     to                  "0"
     set      Select_bar     to                  "10"
     set      Write_bar      to                  "1"
     set      Data_D3        to                  "0"
end vector

vector     Read_D3_1
     receive Data_D3
     set      Address        to                  "kkkkkkkk"
     set      Enable_bar     to                  "0"
     set      Select_bar     to                  "10"
     set      Write_bar      to                  "1"
     set      Data_D3        to                  "1"
end vector

vector     Write_D0_0
     drive Data_D0
     set      Address        to                  "kkkkkkkk"
     set      Enable_bar     to                  "0"
     set      Select_bar     to                  "10"
     set      Write_bar      to                  "0"
     set      Data_D0        to                  "0"
end vector

vector     Write_D0_1
     drive Data_D0
     set      Address        to                  "kkkkkkkk"
     set      Enable_bar     to                  "0"
     set      Select_bar     to                  "10"
     set      Write_bar      to                  "0"
     set      Data_D0        to                  "1"
end vector

vector     Write_D1_0
     drive Data_D1
     set      Address        to                  "kkkkkkkk"
     set      Enable_bar     to                  "0"
     set      Select_bar     to                  "10"
     set      Write_bar      to                  "0"
     set      Data_D1        to                  "0"
end vector

vector     Write_D1_1
     drive Data_D1
     set      Address        to                  "kkkkkkkk"
     set      Enable_bar     to                  "0"
     set      Select_bar     to                  "10"
     set      Write_bar      to                  "0"
     set      Data_D1        to                  "1"
end vector

vector     Write_D2_0
     drive Data_D2
     set      Address        to                  "kkkkkkkk"
     set      Enable_bar     to                  "0"
     set      Select_bar     to                  "10"
     set      Write_bar      to                  "0"
     set      Data_D2        to                  "0"
end vector

vector     Write_D2_1
     drive Data_D2
     set      Address        to                  "kkkkkkkk"
     set      Enable_bar     to                  "0"
     set      Select_bar     to                  "10"
     set      Write_bar      to                  "0"
     set      Data_D2        to                  "1"
end vector

vector     Write_D3_0
     drive Data_D3
     set      Address        to                  "kkkkkkkk"
     set      Enable_bar     to                  "0"
     set      Select_bar     to                  "10"
     set      Write_bar      to                  "0"
     set      Data_D3        to                  "0"
end vector

vector     Write_D3_1
     drive Data_D3
     set      Address        to                  "kkkkkkkk"
     set      Enable_bar     to                  "0"
     set      Select_bar     to                  "10"
     set      Write_bar      to                  "0"
     set      Data_D3        to                  "1"
end vector

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


sub        Read_data (Address,Data)
     execute        Address
     execute        Enable_true
     execute        S1_true
     execute        Data
     execute        End_cycle
end sub

sub        Write_data (Address,Data)
     execute        Address
     execute        Enable_true
     execute        Write_true
     execute        Data
     execute        End_cycle
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 (Address_00000000, Write_D0_0)
   call Read_data (Address_00000000, Read_D0_0)

   call Write_data (Address_00000000, Write_D0_1)
   call Read_data (Address_00000000, Read_D0_1)

end unit

unit   "awaretest D1 Test"

   call Write_data (Address_00000000, Write_D1_0)
   call Read_data (Address_00000000, Read_D1_0)

   call Write_data (Address_00000000, Write_D1_1)
   call Read_data (Address_00000000, Read_D1_1)

end unit

unit   "awaretest D2 Test"

   call Write_data (Address_00000000, Write_D2_0)
   call Read_data (Address_00000000, Read_D2_0)

   call Write_data (Address_00000000, Write_D2_1)
   call Read_data (Address_00000000, Read_D2_1)

end unit

unit   "awaretest D3 Test"

   call Write_data (Address_00000000, Write_D3_0)
   call Read_data (Address_00000000, Read_D3_0)

   call Write_data (Address_00000000, Write_D3_1)
   call Read_data (Address_00000000, Read_D3_1)

end unit

unit       "RAM TEST"

!   Initialize Ram

     call     Write_data (Address_00000000,Write_1111)
     call     Write_data (Address_00000001,Write_0000)
     call     Write_data (Address_00000011,Write_0000)
     call     Write_data (Address_00000111,Write_0000)
     call     Write_data (Address_00001111,Write_0000)
     call     Write_data (Address_00011111,Write_0000)
     call     Write_data (Address_00111111,Write_0000)
     call     Write_data (Address_01111111,Write_0000)
     call     Write_data (Address_11111111,Write_0000)

!  Write data to Ram cells

     call     Write_data (Address_00000000,Write_0000)
     call     Write_data (Address_00000001,Write_0001)
     call     Write_data (Address_00000011,Write_0011)
     call     Write_data (Address_00000111,Write_0111)
     call     Write_data (Address_00001111,Write_1111)
     call     Write_data (Address_00011111,Write_1110)
     call     Write_data (Address_00111111,Write_1100)
     call     Write_data (Address_01111111,Write_1000)
     call     Write_data (Address_11111111,Write_1001)

!   Read data from Ram cells

     call     Read_data (Address_00000000,Read_0000)
     call     Read_data (Address_00000001,Read_0001)
     call     Read_data (Address_00000011,Read_0011)
     call     Read_data (Address_00000111,Read_0111)
     call     Read_data (Address_00001111,Read_1111)
     call     Read_data (Address_00011111,Read_1110)
     call     Read_data (Address_00111111,Read_1100)
     call     Read_data (Address_01111111,Read_1000)
     call     Read_data (Address_11111111,Read_1001)

end unit

unit       "Chip_Select_1_false"

     call     Write_data (Address_00000000,Write_1111)
     execute        Address_00000000
     execute        Enable_true
     execute        Write_true_Select_1_false
     execute        Write_0000_Select_1_false
     execute        End_cycle
     call     Read_data (Address_00000000,Read_1111)

end unit

unit       "Chip_Select_2_false"

     call     Write_data (Address_00000000,Write_1111)
     execute        Address_00000000_Select_2_false
     execute        Enable_true_Select_2_false
     execute        Write_true
     execute        Write_0000
     execute        End_cycle
     call     Read_data (Address_00000000,Read_1111)

end unit

!   End of test

