!!!! 6 0 1 590444216                                                          
  
!     8185
!     1k by 8 RAM 
!    revision A.01.00
  
sequential
  
vector cycle  1u
receive delay 900n
  
assign   VCC         to pins  18
assign   GND         to pins  9 
  
assign   CSbar          to pins  14 
assign   CE1bar      to pins  13
assign   CE2         to pins  12
assign   RDbar       to pins  17
assign   WRbar       to pins  16
assign   ALE         to pins  15
  
assign   AD7_0       to pins  8,7,6,5,4,3,2,1 
assign   A9_8        to pins  11,10 
  
assign   Disable1    to pins  13,15 
assign   Disable2    to pins  12,15 
assign   Disable3    to pins  17,16 
  
family    TTL 
  
power          VCC,GND
  
inputs         CSbar, CE1bar, CE2, RDbar, WRbar, ALE, A9_8
  
bidirectional  AD7_0
  
when CSbar is "0" inactive AD7_0
when CE1bar is "1" inactive AD7_0 
when CE2 is "0" inactive AD7_0
when WRbar is "0" inputs AD7_0
when WRbar is "1" outputs AD7_0 
  
trace AD7_0 to CSbar, CE1bar, CE2, RDbar, WRbar, ALE, A9_8
  
disable        AD7_0    with  CSbar to "1"
disable        AD7_0    with  Disable1 to "1t" 5 times
disable        AD7_0    with  Disable2 to "0t" 5 times
disable        AD7_0    with  Disable3 to "11"
  
!***************************************************************
!***************************************************************
  
vector   Setup
      drive AD7_0 
      set   CSbar    to "0" 
      set   CE1bar   to "0" 
      set   CE2      to "1" 
      set   RDbar    to "1" 
      set   WRbar    to "1" 
      set   ALE      to "1" 
      set   AD7_0    to "00000000"
      set   A9_8     to "00"
end vector
  
vector   Keep_Control 
      drive AD7_0 
      set   CSbar    to "k" 
      set   CE1bar   to "k" 
      set   CE2      to "k" 
      set   RDbar    to "k" 
      set   WRbar    to "k" 
      set   ALE      to "k" 
      set   AD7_0    to "kkkkkkkk"
      set   A9_8     to "kk"
end vector
  
vector   ALE_low
      initialize to Keep_Control
      set   ALE      to "0" 
end vector
  
vector   ALE_high 
      initialize to Keep_Control
      set   ALE      to "1" 
end vector
  
vector   Read 
      initialize to Keep_Control
      set   RDbar    to "0" 
end vector
  
vector   Write
      initialize to Keep_Control
      set   WRbar    to "0" 
end vector
  
vector   RW_high
      initialize to Keep_Control
      set   RDbar    to "1" 
      set   WRbar    to "1" 
end vector
  
vector   Address_0000000000 
      initialize to Keep_Control
      set   AD7_0    to "00000000"
      set   A9_8     to "00"
end vector
  
vector   Address_0000000001 
      initialize to Keep_Control
      set   AD7_0    to "00000001"
      set   A9_8     to "00"
end vector
  
vector   Address_0000000010 
      initialize to Keep_Control
      set   AD7_0    to "00000010"
      set   A9_8     to "00"
end vector
  
vector   Address_0000000100 
      initialize to Keep_Control
      set   AD7_0    to "00000100"
      set   A9_8     to "00"
end vector
  
vector   Address_0000001000 
      initialize to Keep_Control
      set   AD7_0    to "00001000"
      set   A9_8     to "00"
end vector
  
vector   Address_0000010000 
      initialize to Keep_Control
      set   AD7_0    to "00010000"
      set   A9_8     to "00"
end vector
  
vector   Address_0000100000 
      initialize to Keep_Control
      set   AD7_0    to "00100000"
      set   A9_8     to "00"
end vector
  
vector   Address_0001000000 
      initialize to Keep_Control
      set   AD7_0    to "01000000"
      set   A9_8     to "00"
end vector
  
vector   Address_0010000000 
      initialize to Keep_Control
      set   AD7_0    to "10000000"
      set   A9_8     to "00"
end vector
  
vector   Address_0100000000 
      initialize to Keep_Control
      set   AD7_0    to "00000000"
      set   A9_8     to "01"
end vector
  
vector   Address_1000000000 
      initialize to Keep_Control
      set   AD7_0    to "00000000"
      set   A9_8     to "10"
end vector
  
vector   Read_55
      initialize to Keep_Control
      receive  AD7_0
      set   AD7_0    to "01010101"
end vector
  
vector   Read_AA
      initialize to Keep_Control
      receive  AD7_0
      set   AD7_0    to "10101010"
end vector
  
vector   Read_FF
      initialize to Keep_Control
      receive  AD7_0
      set   AD7_0    to "11111111"
end vector
  
vector   Write_AA 
      initialize to Keep_Control
      set   AD7_0    to "10101010"
end vector
  
vector   Write_55 
      initialize to Keep_Control
      set   AD7_0    to "01010101"
end vector
  
vector   Powerdown1 
      initialize to Keep_Control
      set   CE1bar   to "1" 
end vector
  
vector   Powerdown2 
      initialize to Keep_Control
      set   CE2      to "0" 
end vector
  
vector   Disable
      initialize to Keep_Control
      set   CSbar       to "1"
end vector
  
vector   Enabled
      initialize to Keep_Control
      set   CE1bar   to "0" 
      set   CE2      to "1" 
      set   CSbar    to "0" 
end vector
  
!***************************************************************
!***************************************************************
  
sub Write_Data (Address, Data)
   execute  Address 
   execute  ALE_low 
   execute  Write 
   execute  Data
   execute  RW_high 
   execute  ALE_high
end sub 
  
sub Read_Data (Address, Data) 
   execute  Address 
   execute  ALE_low 
   execute  Read
   execute  Data
   execute  RW_high 
   execute  ALE_high
end sub 
  
!**************************************************************** 
  
unit  "Write 55 in addresses" 
   execute  Setup 
   call  Write_Data (Address_0000000000, Write_55)
   call  Write_Data (Address_0000000001, Write_55)
   call  Write_Data (Address_0000000010, Write_55)
   call  Write_Data (Address_0000000100, Write_55)
   call  Write_Data (Address_0000001000, Write_55)
   call  Write_Data (Address_0000010000, Write_55)
   call  Write_Data (Address_0000100000, Write_55)
   call  Write_Data (Address_0001000000, Write_55)
   call  Write_Data (Address_0010000000, Write_55)
   call  Write_Data (Address_0100000000, Write_55)
   call  Write_Data (Address_1000000000, Write_55)
  
   call  Read_Data (Address_0000000000, Read_55)
   call  Write_Data (Address_0000000000, Write_AA)
   call  Read_Data (Address_0000000000, Read_AA)
  
   call  Read_Data (Address_0000000001, Read_55)
   call  Write_Data (Address_0000000001, Write_AA)
   call  Read_Data (Address_0000000001, Read_AA)
  
   call  Read_Data (Address_0000000010, Read_55)
   call  Write_Data (Address_0000000010, Write_AA)
   call  Read_Data (Address_0000000010, Read_AA)
  
   call  Read_Data (Address_0000000100, Read_55)
   call  Write_Data (Address_0000000100, Write_AA)
   call  Read_Data (Address_0000000100, Read_AA)
  
   call  Read_Data (Address_0000001000, Read_55)
   call  Write_Data (Address_0000001000, Write_AA)
   call  Read_Data (Address_0000001000, Read_AA)
  
   call  Read_Data (Address_0000010000, Read_55)
   call  Write_Data (Address_0000010000, Write_AA)
   call  Read_Data (Address_0000010000, Read_AA)
  
   call  Read_Data (Address_0000100000, Read_55)
   call  Write_Data (Address_0000100000, Write_AA)
   call  Read_Data (Address_0000100000, Read_AA)
  
   call  Read_Data (Address_0001000000, Read_55)
   call  Write_Data (Address_0001000000, Write_AA)
   call  Read_Data (Address_0001000000, Read_AA)
  
   call  Read_Data (Address_0010000000, Read_55)
   call  Write_Data (Address_0010000000, Write_AA)
   call  Read_Data (Address_0010000000, Read_AA)
  
   call  Read_Data (Address_0100000000, Read_55)
   call  Write_Data (Address_0100000000, Write_AA)
   call  Read_Data (Address_0100000000, Read_AA)
  
   call  Read_Data (Address_1000000000, Read_55)
   call  Write_Data (Address_1000000000, Write_AA)
   call  Read_Data (Address_1000000000, Read_AA)
end   unit
  
unit "Chip select test" 
   execute Setup
   call  Write_Data (Address_1000000000, Write_AA)
   execute  Disable 
   call  Write_Data (Address_1000000000, Write_55)
   execute  Enabled 
   call  Read_Data (Address_1000000000, Read_AA)
end unit
  
unit "Power down 1" 
   execute Setup
   call  Write_Data (Address_1000000000, Write_AA)
   execute Powerdown1 
   call  Write_Data (Address_1000000000, Write_55)
   execute  Enabled 
   call  Read_Data (Address_1000000000, Read_AA)
end unit
  
unit "Power down 2" 
   execute Setup
   call  Write_Data (Address_1000000000, Write_AA)
   execute Powerdown2 
   call  Write_Data (Address_1000000000, Write_55)
   execute  Enabled 
   call  Read_Data (Address_1000000000, Read_AA)
end unit
  
!End of test
  
