home *** CD-ROM | disk | FTP | other *** search
/ The C Users' Group Library 1994 August / wc-cdrom-cusersgrouplibrary-1994-08.iso / vol_300 / 322_01 / ramtest1.doc < prev    next >
Text File  |  1990-08-06  |  2KB  |  38 lines

  1.     FUNCTIONAL TESTING OF RAM--IMPLEMENTATION OF THE ATS AND
  2.  
  3.                       THE ATS+ ALGORITHMS
  4.  
  5.                                by
  6.  
  7.                         Mohammad Khurrum
  8.                               and
  9.                         Dean Lance Smith
  10.                 Dept. of Electrical Engineering
  11.                     Memphis State University
  12.                        Memphis, TN 38152
  13.                          (901) 678-3253
  14.                          (901) 678-2175
  15.  
  16.  
  17. This program is an implementation of the ATS (Algorithmic Test
  18. Sequence) algorithm developed by Knaizuk and Hartman and the
  19. ATS+ algorithm developed by Nair. The program tests RAM for any
  20. single or multiple stuck-at-0 or stuck-at-1 faults.  The inputs
  21. to the program are the starting and ending addresses of any part
  22. of the Random Access Memory.  The output is the address of the
  23. location where the fault occurrs and the type of the fault which
  24. occurrs (stuck-at-0 or stuck-at-1).  A message is displayed if
  25. no stuck-at fault is detected.
  26.  
  27. Two functions, ats() and atst(), do the actual testing.  The
  28. ats() function has eight steps.  These steps write patterns and
  29. then read them back to check if they were written properly or if
  30. there were any faults.  The atst() function has thirteen steps
  31. which do the testing and indicate a fault if there is one.
  32.  
  33. The variables g0, g1, g2, end and start are huge pointers.  The
  34. variables seg1, seg2, off1 and off2 are integers.  The RAM is
  35. divided into three sections represented by g0, g1 and g2.  The
  36. function hex() reads the starting and ending addresses (segment,
  37. offset) from the keyboard in hexadecimal.
  38.