!!!!    6    0    1  990119738  V6ad2                                         

! Device           : 28f512
! Function         : 64K x 8 bit CMOS EEPROM
! revision         : B.01.00
! safeguard        : standard_hcmos
! Modifications    : Modified for AwareTest xi
!
  warning           "This library has not been verified with hardware."
!
!b!
!AMD Memory Devices for Hewlett-Packard, 1990 Data Book

sequential

assign VCC                     to pins 32
assign VSS                     to pins 16

assign VPP                     to pins 1

assign Address_Bus             to pins 3,29,28,4,25,23,26,27
assign Address_Bus             to pins 5,6,7,8,9,10,11,12

assign Data_Bus                to pins 21,20,19,18,17,15,14,13
assign Data_D0                 to pins 13   !AT Added for minimum pin test.
assign Data_D1                 to pins 14   !AT Added for minimum pin test.
assign Data_D2                 to pins 15   !AT Added for minimum pin test.
assign Data_D3                 to pins 17   !AT Added for minimum pin test.
assign Data_D4                 to pins 18   !AT Added for minimum pin test.
assign Data_D5                 to pins 19   !AT Added for minimum pin test.
assign Data_D6                 to pins 20   !AT Added for minimum pin test.
assign Data_D7                 to pins 21   !AT Added for minimum pin test.

assign Chip_Enable_Bar         to pins 22
assign Output_Enable_Bar       to pins 24
assign Write_Enable_Bar        to pins 31

assign NC                      to pins 30,2

family TTL

power VCC, VSS

inputs Address_Bus,VPP,Chip_Enable_Bar,Output_Enable_Bar,Write_Enable_Bar
outputs Data_Bus
outputs Data_D0, Data_D1, Data_D2, Data_D3 !AT Added for minimum pin test.
outputs Data_D4, Data_D5, Data_D6, Data_D7 !AT Added for minimum pin test.

nondigital NC

format hexadecimal Address_Bus,Data_Bus

disable Data_Bus with Output_Enable_Bar  to "1"
disable Data_Bus with Chip_Enable_Bar    to "1"

when Output_Enable_Bar is "1" inactive Data_Bus
when Chip_Enable_Bar is "1"   inactive Data_Bus

trace Data_Bus to Address_Bus,Chip_Enable_Bar
trace Data_Bus to Output_Enable_Bar,Write_Enable_Bar

warning "This test requires pullups on pins 19,18,17,16,15,13,12,11"
warning "which are the data lines.  The only unit that needs pullups"
warning "to run is the very last which checks for a high-z outputs."
warning "This test does not test pins 1 or 31. These are the "
warning "electrical erase and write enable control pins.     "

!**********************************************************************
!****************     VECTOR   SECTION     ****************************
!**********************************************************************

vector Keep
   set Chip_Enable_Bar    to "k"
   set Output_Enable_Bar  to "k"
   set Address_Bus        to "kkkk"
end vector

vector Chip_enabled
   set Chip_Enable_Bar    to "0"
   set Output_Enable_Bar  to "0"
end vector

vector Count_Address_Up
   initialize to Chip_enabled                 !'FFFF' is eqivalent to
   set Address_Bus        to "FFFF"           !'-1' when counting up.
   upcounter Address_Bus
end vector

vector Count_Address_down
   initialize to Chip_enabled                 !'0000' is equivalent to
   set Address_Bus        to "0000"           !65,536 when counting down.
   downcounter Address_Bus
end vector

vector Address_Pattern_5555
   initialize to Chip_enabled
   set Address_Bus        to "5555"
   set Data_Bus           to "00"
end vector

vector Address_Pattern_AAAA
   initialize to Chip_enabled
   set Address_Bus        to "AAAA"
   set Data_Bus           to "00"
end vector

vector Address_Pattern_2492
   initialize to Chip_enabled
   set Address_Bus        to "2492"
   set Data_Bus           to "00"
end vector

vector Address_Pattern_4924
   initialize to Chip_enabled
   set Address_Bus        to "4924"
   set Data_Bus           to "00"
end vector

vector Chip_enable_hi
   initialize to Keep
   set Chip_Enable_Bar    to "1"
end vector

vector Output_enable_low
   initialize to Keep
   set Output_Enable_Bar  to "0"
end vector

vector Chip_enable_low
   initialize to Keep
   set Chip_Enable_Bar    to "0"
end vector

vector Output_enable_hi
   initialize to Keep
   set Output_Enable_Bar  to "1"
end vector

vector Test_address
   initialize to Keep
   set Address_Bus        to "0000"
end vector

vector Data_outputs
   initialize to Keep
   set Data_Bus           to "00"
end vector

vector Data_FF
   initialize to Keep
   set Data_Bus           to "FF"
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 Data_outputs_D0
   initialize to Keep
   set Data_D0            to "0"
end vector

vector Data_outputs_D1
   initialize to Keep
   set Data_D1            to "0"
end vector

vector Data_outputs_D2
   initialize to Keep
   set Data_D2            to "0"
end vector

vector Data_outputs_D3
   initialize to Keep
   set Data_D3            to "0"
end vector

vector Data_outputs_D4
   initialize to Keep
   set Data_D4            to "0"
end vector

vector Data_outputs_D5
   initialize to Keep
   set Data_D5            to "0"
end vector

vector Data_outputs_D6
   initialize to Keep
   set Data_D6            to "0"
end vector

vector Data_outputs_D7
   initialize to Keep
   set Data_D7            to "0"
end vector

!**********************************************************************
!******************    UNIT    SECTION       **************************
!**********************************************************************

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

   execute Chip_enabled
   preset counter Count_Address_up
repeat 256 times
   execute Data_outputs_D0 compress
   count   Count_Address_up
end repeat

end unit

unit "awaretest D1 Test"

   execute Chip_enabled
   preset counter Count_Address_up
repeat 256 times
   execute Data_outputs_D1 compress
   count   Count_Address_up
end repeat

end unit

unit "awaretest D2 Test"

   execute Chip_enabled
   preset counter Count_Address_up
repeat 256 times
   execute Data_outputs_D2 compress
   count   Count_Address_up
end repeat

end unit

unit "awaretest D3 Test"

   execute Chip_enabled
   preset counter Count_Address_up
repeat 256 times
   execute Data_outputs_D3 compress
   count   Count_Address_up
end repeat

end unit

unit "awaretest D4 Test"

   execute Chip_enabled
   preset counter Count_Address_up
repeat 256 times
   execute Data_outputs_D4 compress
   count   Count_Address_up
end repeat

end unit

unit "awaretest D5 Test"

   execute Chip_enabled
   preset counter Count_Address_up
repeat 256 times
   execute Data_outputs_D5 compress
   count   Count_Address_up
end repeat

end unit

unit "awaretest D6 Test"

   execute Chip_enabled
   preset counter Count_Address_up
repeat 256 times
   execute Data_outputs_D6 compress
   count   Count_Address_up
end repeat

end unit

unit "awaretest D7 Test"

   execute Chip_enabled
   preset counter Count_Address_up
repeat 256 times
   execute Data_outputs_D7 compress
   count   Count_Address_up
end repeat

end unit

!This test checks the upper and lower 256 addresses.  The repeat variables
!may be changed to 32,768 in order to test all addresses.  This will
!increase test time to approximately 160ms.

unit "Count up"

   execute Chip_enabled
   preset counter Count_Address_up
repeat 256 times
   execute Data_outputs compress
   count   Count_Address_up
end repeat

end unit

unit "Preset Addresss"

   execute Address_Pattern_5555 compress   !This unit toggles consecutive
   execute Address_Pattern_AAAA compress   !address pins, as well as pins with
   execute Address_Pattern_2492 compress   !one and two pins between them.
   execute Address_Pattern_4924 compress

end unit

unit "Count down"

   execute Chip_enabled
   preset counter Count_Address_down
repeat 256 times
   execute Data_outputs compress
   count   Count_Address_down
end repeat

end unit

!This unit requires pullups on the 8 data lines.
!This unit requires that the address "0000"
!contains data that is not all 1's.
unit "Test data lines"

   execute Test_address
   execute Chip_enable_hi
   execute Output_enable_low
   execute Data_FF

   execute Test_address
   execute Chip_enable_low
   execute Output_enable_hi
   execute Data_FF

end unit

!End of Test





