Abstract:
A system for testing integrated circuits is disclosed which uses a mechanical microprobe and the integrated circuit&#39;s CAD database. The system is integrated with the CAD database in such a manner that after an initial alignment operation between the CAD database and the integrated circuit being tested, the microprobe can be moved automatically to any spot on the circuit by choosing a point in the CAD database and placing a cursor on that spot. The microprobe is then automatically moved to the point so indicated. A contact sensing circuit allows the probe to be driven into the actual circuit to take measurements or inject test signals without fear of damaging the integrated circuit. The system can operate in numerous modes, each of which provide a different way of visualizing the circuit being tested.

Description:
NOTICE REGARDING COPYRIGHTED MATERIAL 
     A portion of the disclosure of this patent document contains material which is subject to copyright protection. The copyright owner has no objection to the facsimile reproduction by anyone of the patent document or the patent disclosure as it appears in the Patent and Trademark Office patent file or records, but otherwise reserves all copyright rights whatsoever. 
     FIELD OF THE INVENTION 
     This invention relates to the field of integrated circuit testing systems. More particularly it relates to the field of integrated circuit testing systems which use a mechanical probe to test the circuit in conjunction with a CAD database which describes the circuit under test. 
     BACKGROUND OF THE INVENTION 
     Wave form measurement at internal nodes in integrated circuits is necessary both to verify the circuit&#39;s design and to analyze its failures. Numerous systems are known which perform such measurements, the most common systems using either electron probes or mechanical probes to access the internal nodes. 
     Prior art electron probes, most of which are essentially scanning electron microscopes, have several problems which limit their usefulness as debugging tools. First, the necessity of maintaining the integrated circuit being tested in a vacuum makes it difficult to access the internal nodes with a mechanical probe to inject test signals. Second, there is no simple way for the tester to locate the specific area on the integrated circuit where test signals must be injected or received. Locating a specific area on the integrated circuit requires extensive physical manipulation of the circuit or viewing apparatus until the area of the circuit being viewed on the apparatus corresponds to the area of the suspected malfunction as that area is drawn on the schematic diagram of the circuit being tested. This process can be very time consuming when a plurality of points must be tested. Although Richardson, U.S. Pat. 4,706,019, discloses an electgron beam test probe system wherein the electron probe is closely integrated with a schematic diagram of the integrated circuit, the Richardson System is quite complex. Last, an electron probe cannot inject test signals. 
     Known mechanical probe systems correct some of these problems but share some of the same problems and add new problems. Mechanical probes can make very accurate voltage measurements and have a frequency response comparable to that of an electron probe. However, as in current electron probe systems, it is difficult to locate the area or component to be tested as no simple correspondence between the schematic which describes the circuit and the area of the actual circuit being viewed exists. Probe systems can also damage the integrated circuit when they are applied to test areas if the probe is overdriven into the circuit. This problem necessitates extreme positioning accuracy for the probe, which greatly increases testing time. 
     Given the shortcomings of existing electron probes and mechanical microprobes, a need exists for an integrated circuit testing system which can provide rapid access to and testing of specific areas in an integrated circuit, which will be extremely accurate in its voltage measurements, which can inject test signals, but which will not damage the circuit being tested. 
     SUMMARY OF THE INVENTION 
     The present invention is an integrated circuit testing system which uses a mechanical microprobe and corrects the previously noted shortcomings of such mechanical systems to fulfill the stated need. 
     The system comprises a Computer Aided Design (`CAD`) database which fully describes the circuit being tested. For purposes of this invention this CAD database is broadly defined to include maskworks necessary to fabricate the circuit, schematics of the circuit, the various waveforms expected from the output of each device in the circuit and other information used to design and construct the circuit. The CAD database is stored, accessed and displayed on a computer. A controller is coupled to both the computer and the microprobe. The controller is used to establish a common coordinate system between the integrated circuit under test and its CAD database. Once this common coordinate system is established, the probe can be navigated automatically to points on the actual integrated circuit which correspond to points selected from and indicated on the CAD database. This automatic probe navigation can be described as &#34;Layout Driven&#34;, as the circuits&#39; `layout` drives the probe to various test points. For purposes of this application, the terms &#34;CAD driven&#34;, &#34;CAD database driven&#34;, and &#34;Layout Driven&#34; are all equivalent. It should be noted that any one of the different stored descriptions of the integrated circuit, such as the maskworks or the schematic, may be accessed on the computer and test points selected therefrom. Regardless of what form the circuit description takes, the system, once the common coordinates have been established, can drive the probe to the point on the actual integrated circuit which corresponds to the point selected from the CAD database. 
     The components of one embodiment of the present invention are a computer coupled to a mechanical microprobe movable in three axes and a microscope with a charge-coupled device (`CCD`) camera and monitor located in close proximity to the microprobe. The integrated circuit being tested is placed beneath the microscope and its image is displayed on the monitor. 
     The computer contains the entire CAD database for the integrated circuit (`IC`) being tested. After the completion of a brief alignment procedure, the region of the IC which is suspect is accessed from the database and displayed on the computer&#39;s cathode ray tube (`CRT`). The probe and microscope are then automatically moved until the area of the actual integrated circuit which correspond to the image displayed on the CRT is found. This image is then displayed on the monitor. 
     After correspondence is established between the proposed test site shown on the computer&#39;s CRT and the image of the IC being viewed, a cursor is placed on the CRT&#39;s image to mark the exact location to be tested or probed. The mechanical probe is then driven to the corresponding location on the IC. 
     Both the alignment procedure and the testing operation depend upon the system&#39;s ability to drive the microprobe into the IC sufficiently far to insure good electrical contact but not so far as to damage the IC. A special contact sensing circuit which informs the system of the exact moment of the probe&#39;s contact with the IC fulfills both requirements. This circuit is described in the commonly owned U.S. patent application 076/349,203 entitled &#34;CONTACT SENSING FOR INTEGRATED CIRCUIT TESTING&#34;, filed on May 9, 1989, now abandoned; and U.S. patent application No. 07/527,661 filed 5/21/90. 
     Probe contact can be used either to inject test signals or to measure signals. Because of the special contact sensing circuit, repeated contacts of the same point on the IC can occur without causing chip damage. 
     The system just described is, in essence, driven by the CAD database. Numerous operational modes and methods of use are envisioned and will be described herein. 
    
    
     BRIEF DESCRIPTION OF THE DRAWINGS 
     FIG. 1 is a block diagram of the physical components of the present invention; 
     FIG. 2 is a block diagram of the drive motor controller unit; 
     FIG. 3A is a schematic of the integrator used on each winding of the step motors; 
     FIG. 3B is a graph of the wave form inputs and outputs to and from the circuit shown in FIG. 3A.; 
     FIG. 4 is a flow chart of the overall system operation; 
     FIG. 5 is a representation of the cruiser control panel; 
     FIG. 6 is a flow chart of the alignment process; 
     FIG. 7 is a typical display on the CRT when the system is operating in the Maskview mode; 
     FIG. 8 is a typical display on the CRT when the system is operating in the Netlist mode; 
     FIG. 9 is a typical display on the CRT when the system is operating in the Logic Analyzer mode; and 
     FIG. 10 is a typical display on the CRT when the system is operating IMS interface mode. 
    
    
     DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENT 
     I. Physical Configuration of the system 
     As is shown in FIG. 1, the system comprises microscope 3 with camera 7, camera drive unit 8, and monitor 9, a three axis drive unit 14 for the microscope, microprobe 10 coupled to three axis drive unit 15, computer 1 coupled to CRT display 18, and Drive Unit Controller 20 coupled to probe drive unit 15, microscope drive unit 14 and computer 1. 
     In a preferred embodiment of the present invention, computer 1 is a SUN-3/60C workstation with 8 megabytes real memory, a 327 megabyte hard disk and an quarter inch tape drive with a 60 megabyte cartridge capacity. Computer 1 is coupled to cathode ray tube (`CRT`) display 18, input keyboard (not shown), and input mouse (not shown). Computer 1 stores and displays the Computer Aided Design (`CAD`) database of the integrated circuit (`IC`) being tested. The interaction between computer 1, its CAD database, and the other system components is described subsequently. 
     IC 2 is placed at the focus of microscope 3. Microscope 3 is manufactured by Bausch &amp; Lomb, has a magnification range from 22.5× to 3000× and a built-in 2× zoom. The microscope is supplied as part of an Alessi, Inc. Rel-4100A Failure Analysis Test Station. As part of the test station, microscope 3 is capable of three-axis motion using step motors 4, 5 and 6. These motors are capable of moving microscope 3 with great precision, a resolution of 1 microns being regularly achieved. A charge-coupled device (`CCD`) TV camera 7 with camera drive unit 8 is coupled to the eyepiece of microscope 3 and the image obtained therefrom is shown on monitor 9. Both the camera and its drive unit are manufactured by Panasonic and the monitor is a Sony Trinitron. Components provided by other manufacturers could be substituted for these components, particularly the microscope, camera, camera drive, and monitor, as long as the minimum capabilities of the described components are met. 
     Adjacent to microscope 3 and IC 2 is a microprobe (`probe`) 10 mounted on microprobe drive unit (`drive unit`) 15 with associated step motor drives 11, 12 and 13. The drive unit is capable of three axis motion over a range of 0.5&#34;×0.5&#34;×0.16&#34; with 0.5 micron resolution. Probe 10 has a tip diameter of 1 micron and a capacitance of 0.1 pico farad, with 0.02 pico farad probes being optional. In alternative embodiments, use of a plurality of such probes and drive units, along with their associated motors is envisioned. 
     Drive motors 4, 5, 6, 11, 12 and 13 are coupled to drive unit controller (`Controller`) 20, which in turn is coupled to computer 1. Controller 20 controls the motion of both probe 10 and microscope 3 through the drive motors upon receiving commands from either computer 1 or a user of the system. Controller 20 also acts as the interface between the probe 10 and computer 1, relaying probe contact and test data from IC 2 to the computer. Controller 20 is also capable of generating a logic output and accepting input from either computer 1 or an external keyboard 17. 
     The various components of controller 20 are shown in FIG. 2. Power supply 29 provides the proper voltage and current to the system controller in a known manner. Input signals from probe 10 are simultaneously applied to Input Signal A/D converter 27 which converts the analog voltage signal detected by probe 10 into a digital input signal and contact sensor 28. Contact sensor 28, which is fully described in the commonly owned patent application filed on May 9, 1989 and entitled &#34;Contact Sensing for Integrated Circuit Testing&#34;, the specification of which is hereby fully incorporated herein, provides a signal which indicates when probe 10 has contacted IC 2. Both the digital test signals and the contact signal are placed on data and control bus (`BUS`) 30. Pico Probe Offset Canceller 24 provides probe 10 with needed offset voltages to cancel the probe&#39;s bias voltage and its effect on the received test signals. In order to provide a logic signal output from the input signal, the input signal is also applied to one side of comparator 26. Whenever the input signal exceeds the threshold voltage established on comparator 26 by logic level D/A converter 25, a logic &#34;high&#34; output voltage is generated at comparator 26&#39;s output. 
     Command signals from computer 1 enter controller 20 over RS232 interface 32. Control signals may also be entered directly using a keyboard interface 31. These command signals are interpreted by CPU 21 using programs stored in ROM 23. The firmware used in conjunction with controller 20 which enables its operation is attached as Appendix C. This firmware is used on an Intel 8051 microprocessor and is written in an assembly language appropriate for use on the Intel microprocessor. Signals received from computer 1 or probe 10 may be temporarily stored in memory 22 which in this embodiment comprises a Static Random Access Memory (`SRAM`). When computer 1 commands movement in either microscope 3 or drive unit 15, these command movements are translated by CPU 21 and forwarded to the appropriate drive motors using Positioner Bus Interface 33, which helps CPU 21 detect the positions of the various step motors, and stepping motor interface 33. 
     Stepping motor interfaces 34, 35 and 36 have a special circuit for insuring vibration free motion of step motors 11, 12 and 13 which motors are coupled to drive unit 15. Vibration free motion of the probe is especially important when the probe is close to IC 2. Even with the very sensitive contact sensing circuit 28, if the probe is vibrating when it contacts IC 2, devices and interconnections on the IC may be destroyed. Consequently, as the probe nears IC 2 it must only operate in &#34;slow&#34; motion. Even with slow motion, the tip of the probe may begin to vibrate. As is known, stepping motors have a plurality of magnetic poles on their rotors and many individual stator windings. Windings are turned on and off individually, which in turn attracts or repels the various magnetic poles. Even at slow speed, these individual stepping pulses, especially if they are simple square wave voltage pulses, can cause the motor to resonate which in turn causes the probe to vibrate. 
     The special circuit which prevents this resonance and vibration problem is shown in FIG. 3A. The figure shows how each of stepping motor interfaces 34, 35 and 36 has a plurality of separate integrator damping circuits, each winding on the individual stepping motors requiring a separate integrator damping circuit coupled to the winding and the interface. 
     In FIG. 3A, integrator damping circuit 40 comprises RC network 41 and 42, operational amplifier 43 to which RC network 41/42 is coupled in an inverting configuration and emitter follower transistor 44, coupled to the output of operational amplifier 43, minimizes this resonance problem by slowing the rise and fall time of the voltage pulse which turn on the windings of the stepping motors. As shown in FIG. 3B, this lengthened rise and fall time results in a smoother application of power to the motor. This greatly reduces the resonance and consequent vibration caused by the abrupt on-off application of power square wave pulse trains. For purposes of this specification, the drive modes which uses the slow rising and falling power pulses just described during alignment and testing are called `damped-stepping`. 
     II. System Operation 
     Overall system operation is outlined by the flow chart of FIG. 4. Initially a CAD database of the IC to be tested is created and stored in computer 1 (step 150). The CAD database as defined and used in this invention comprises at least the maskworks, schematic and net list of the integrated circuit being tested. Each of the different components of the CAD database are created and stored in a known manner. For example, the maskworks can be stored in the CIF or the Applicon 860 format. 
     After the CAD database is available on computer 1, the database and the image of the actual IC are aligned with one another so that upon the selection of a point in the database, the system can automatically move the probe and microscope to the area of the IC which corresponds to this selected point. This occurs at step 152. 
     After completion of the alignment process, the user selects, at step 154, which mode to use while testing the IC. In this embodiment, the modes available are Netview (step 156), Maskview (step 158), Logic Analyzer (step 160), and Tester Interface (step 162). Each of these modes implies a different way to view the IC being tested or a different way to display the test data. 
     After the initial series of tests has been performed in the selected mode, the user can choose to continue testing or not at step 164. If he chooses to continue, he or she can return to step 154 to change testing modes (step 168). If continued testing is desired without a change of testing modes, the system returns the user to the last mode in which the system was operating. 
     The details of these various operations, as well as the function of the different modes will now be described. 
     A. Alignment 
     The system described in this specification has many operational modes. Maskview, Netview, and Logic Analyzer are the names of some of these modes. As each mode relies upon the correlation of a selected point in the CAD database as shown on the CRT with the point being displayed on the monitor, the alignment process which allows this correlation to be made assumes great importance. 
     The alignment procedure takes place when the system is operating in the Maskview mode. In this mode, the physical hierarchy of the IC being tested is displayed on a cell-by-cell basis. Several common graphics data bases such as Calma&#39;s GDSII, CIF, and Applicon 860 can be used on computer 1 when it operates in this mode. Maskview operates in one of these submodes: Birdview Canvas, which displays the top view of the IC layout, Control Panel, which displays the current command and status of the command and warning messages, and Layout Canvas. As the Layout Canvas submode of the Maskview mode is used for the alignment process, the commands associated therewith are listed in Table 1 below. An explanation of the function of each of these commands is given in Appendix A. 
     TABLE 1 
     Cell Open/Close 
     Map to Netlist 
     Palette Tools 
     Pan 
     Probe commands 
     Previous View 
     Redraw 
     Top View 
     Trace Signal 
     Trace Removal 
     Zoom In 
     Zoom Out 
     Window Commands 
     As the alignment procedure requires exceedingly accurate motion of probe 10, a special control panel (window) called the `cruiser` is provided to control the motion of the probe and microscope during the alignment process. FIG. 5 shows how this panel appears on computer 1. The mouse coupled to computer 1 allows the user to select the desired command(s) and option(s) from the cruiser panel. As much of the following description involves three dimensional motion and observation, the commonly used X-Y-Z orthogonal planes are used to provide orientation for the description of such motion. To avoid all confusion, IC 2 is considered to be within the X-Y plane, with its surface perpendicular to the Z axis. Positive Z axis motion is up (away) from the IC&#39;s surface and negative Z motion is down through the IC. 
     As shown in FIG. 5, the cruiser panel enables the tester to move the probe in the ±X (100 and 102 respectively), ±Y (104 and 106 respectively) and ±Z (110 and 112 respectively) axes. The tester can also select from three speeds: slow (shown as 114), which moves the probe at 0.5 microns a step in each direction at a time, medium (not shown, but co-located with 114), which moves the probe at 4 microns a step, and fast (not shown, but also co-located with 114), which moves the probe at 128 microns a step. The cruiser panel allows the tester to move microscope 3, drive unit 15 or both using buttons 116, 118, and 120, respectively. When microscope motion is commanded, it moves at twice the speed of drive unit 15 at each speed level. 
     The &#34;Make Contact&#34; button 122 allows the user to perform test probes. Pressing this button results in the probe being lowered at the selected point. When the probe contacts the IC, the contact sensing circuit stops the motion. If overdriving the probe is desireable, further downward motion can be commanded by moving probe 10 along the -Z axis (pushing button 112). This may be necessary to obtain a reliable test signal. 
     As shown in FIG. 4 at step 150, the CAD database is created and stored on computer 1. Controller 20 is used to help perform the alignment procedure of step 152 which in turn enables the system to navigate probe 10 automatically. 
     Before the alignment process begins, the IC which will be tested is mounted in a holding stage beneath microscope 3. In the preferred embodiment, the IC remains stationary after being placed on the test stand. In a readily envisioned alternative embodiment, the IC will be moved and the microscope will remain stationary. 
     Ideally, if the IC was mounted perfectly flat relative to the Z plane and perfectly aligned within the X-Y planes, centering probe 10 over the IC and finding the center of the IC in the CAD database would be sufficient to align the system. Entry of an appropriate scaling factor, which would account for possible differences in scale between the CAD database and the IC as seen (imaged) in the microscope, would then enable automatic probe navigation. As the ideal situation never occurs, the following alignment process is needed. 
     FIG. 6 is a flow chart of the process used to align the system. As shown in FIG. 6, after the IC is mounted, the alignment window is called up on computer as step 200. At step 202, microscope 3 and drive unit 15 are placed in their respective centers of travel (at least in the X-Y ranges of motion) by commanding a reset. This center becomes the zero reference point for controller 20. Although this zero reference point does not correspond to the real zero points along each of the three axes of motion, it can be described by the formula X&#39;=Y&#39;=Z&#39;=0. Next, at step 204, an appropriate scaling factor is entered so that the image of the CAD database displayed on computer 1&#39;s CRT is the same size as the image of the actual IC displayed on the monitor. This scaling factor is called the Die Shrink Percentage. Next, if the images displayed on the CRT and the monitor are not aligned in the X-Y plane, the computer can be instructed to shift the image in either the CRT or monitor to effect alignment between the images. This is movement of the rotation angle. As only visually obvious misalignment can be corrected here, the rotation correction is only accurate to within about 50-100 microns. 
     Although the scaling process and image alignment are part of the alignment process, they alone are not sufficient to enable automatic probe navigation. As the Z plane of the IC is undefined, automatic probe navigation is impossible, as skewing of the IC along the Z plane in an unknown way affects the actual position of IC&#39;s features in the X-Y planes. Additionally, some commands operate relative to the Z plane. As these points are needed to define a plane, a so-called &#34;Three-Point Alignment&#34; process is needed to define the IC&#39;s Z plane. 
     At step 206 a counter variable N is set to 1 and a loop condition check occurs at step 208. As the test of whether N is less than 4 is true at this time, step 210 is reached. Here, a first reference point A[n] is selected on the CRT display of the IC&#39;s CAD database. The previously described Layout Canvas sub-mode of the Maskview Window mode is used during this process. The &#34;Cell Open/Close&#34; command (Appendix A) is used to open and view the highest or top level cell. Zoom In/Zoom Out commands (Appendix A) are used to view the particular area where reference point A[n=1] is. Generally, for ease of operation, a very prominent IC feature is selected as the first point. The center of the IC is generally used as the N=1 point. 
     At step 212, microscope 3 is focused on the area of the IC corresponding to the A[n] point of the database by using the cruiser control panel. 
     A cursor is now placed upon the selected point in the IC&#39;s CAD database. This cursor appears on the CRT. As indicated by step 214, the cruiser is used to move the microscope and drive unit to the point on the actual IC which corresponds to the cursored point. A `+` symbol is used to pinpoint the corresponding point on the monitor. The `+` symbol also acts as the projected contact point for probe 10 on the actual IC. During this move, controller 20 keeps tract of and stores in SRAM 22 the X and Y distance travelled to reach this point. 
     After finding the desired point, the cruiser panel is used once again, this time to command probe 10 to contact the `+` point using contact sensor circuit 28. Now controller 20 keeps track of and stores the distance travelled in the -Z direction to reach this point. Upon contact, the -Z distance is recorded (step 216, FIG. 6). 
     At step 218, the distances travelled by the microscope and the probe are stored in controller SRAM 22. Thus, a single X--X&#39;, Y--Y&#39;, and Z--Z&#39; correspondence is established between one point in the CAD database and one point on the IC. Although one point alignment is insufficient to define the Z plane of the IC fully, it is precise enough to allow some automatic motion in the X and Y axes. This allows use of the MOVE command for further movement of the probe and microscope, which is much faster than using the cruiser to order such motion. For reference purposes only, single point alignment allows X and Y motion to new points with an accuracy of roughly 50 microns. 
     Although the possibility of using the MOVE command is shown in FIG. 6 as step 211, which step can simply be substituted for step 212 after at least one point alignment, for purposes of clarity it will be assumed that subsequent alignment points are found using the cruiser. As is obvious by the title of the operation, &#34;Three point Alignment&#34;, the process just described for a single point is repeated verbatim for two additional points. At step 220 the variable &#34;n&#34; is increased by one and the program returns to the loop control test of step 208. Until N is greater than 3, the loop defined by steps 210 through 220 is repeated. 
     A small variation can occur after performing the single point alignment just described. This variation is shown in FIG. 6 by step 211. After the completion of the first point&#39;s alignment (steps 10 through 220), the MOVE command described in Appendix A can be used instead of the cruiser to perform alignment with points A 2  and A 3 . The primary difference between using the cruiser and the MOVE command is that the pulses used to activate the stepping motor with the cruiser (so-called `damped-stepping`) have a much shorter duty cycle than the pulses used to operate the motors when the MOVE command is used. As the MOVE command involves automatic navigation, the necessity for at least a rough alignment before using the command is obvious, as its use prior to such alignment would result in unintended probe contact with the IC. Even with a single point alignment, it is recommended that the probe tip be withdrawn a safe distance from the IC to prevent accidental contact due to unknown variations in the Z plane. It is envisioned hat all Z motion in close proximity to IC 2 will be done using the step motors in the `damped-stepping` mode. 
     Although the foregoing description of the alignment procedure is sufficient to enable one of ordinary skill in this particular field to practice this invention, a copy of the portion of the source code programs used in this embodiment of the invention which performs the alignment process is included as Appendix B. The source code is written in the C programming language and is used on a Motorola 68020 microprocessor. The source code illustrates the alignment procedure of the present invention in greater detail. 
     At the completion of the alignment procedure, automatic navigation of the probe can be done with a placement accuracy of about one micron. It should be noted that as the system is used, drift will inevitably cause some decrease in positioning accuracy. Such drift is easily corrected by re-entering the alignment procedure, which can be done at any time, and using one or more new points to update the alignment. 
     B. IC Testing 
     After the alignment procedure is completed, the user now has the option of testing the system in one of the Net View, Mask View, Logic Analyzer, or Tester Interface modes. These various modes and submodes are described briefly below. They share the common feature that the probe can be automatically guided to any point chosen from the IC&#39;s CAD database. Thus, whether a mask of the IC is displayed, or whether a node in the IC is selected from a circuit net list of nodes, or whether some other mode is used, the probe can be automatically guided to the point on IC 2 which corresponds to the selected device, node, or area selected from the CAD database. 
     As will be understood by those with knowledge of integrated circuit testing, sometimes it is preferable to use the IC&#39;s mask as a guide for testing and debugging the IC, sometimes a list of its devices and nodes, and sometimes the signals appearing at a selected point or points. The present system can function in any of these ways and therefore provides unique flexibility to the user. 
     1. Mask View Mode 
     Although one of the sub-modes within this mode, Layout Canvas, has been discussed, this mode has two other sub-modes: Control Panel, which displays the current command, status of the command and relevant warning messages and Birdview Canvas, which displays the top view of the layout. A typical display on the CRT when the system is operating in the Mask View mode is shown in FIG. 7. This mode allows the user to test the IC while referencing the various masks used to fabricate the IC. 
     2. Net View Mode 
     The Net View mode makes signal names readily accessible to the user, eliminating the need to search paper schematics. It describes circuit connectivity and maintains logical cell hierarchy. Standard Net List formats such as SPICE, TEGAS, ILOGS, SILOS &amp; LOGIS are available and used within this mode. This mode is particularly useful to testers who need to work from the IC&#39;s schematic while observing the actual IC. 
     Net View has four sub-modes: Birdview Canvas, which displays a top view of the Netlist Hierarchy, Netlist Display Canvas, which displays a netlist in SPICE format, Netlist Hierarchy Canvas, which displays the netlist cell hierarchy, and Control Panel, which shows current command, status of the command and warning messages and allows the user to type in the path name of a particular cell, internal signal or device to be viewed. 
     The Netlist Display Canvas mode operates with the commands listed below in Table 2. These are discussed in Appendix D. A typical CRT display when the system is operating in this sub-mode is shown in FIG. 8. 
     TABLE 2 
     Cell Close 
     Cell Open 
     Fit Cel 
     Map to Layout 
     Redraw 
     Trace Signal 
     Top Cell 
     The Netlist Hierarchy Canvas mode operates with the commands listed below in Table 3 and discussed in Appendix E. 
     TABLE 3 
     Clear Trace 
     Cell Open 
     Pan 
     Redraw 
     Top View 
     Zoom In 
     Zoom Out 
     3. Logic Analyzer Mode 
     This mode displays waveforms of acquired signals and has three subwindows: Control Panel, which shows the current command, command status and warning messages, and clock period; Group Name Window, which displays all the group names of signals available to the user, and Waveform Canvas, which shows the waveforms of all the signals under the groups selected for display. 
     The Group Name mode operates using two commands: Display Group and Redraw. The Waveform Canvas submode operates using the commands listed below in Table 4 and described in Appendix F, which also explains the Group Name mask commands. A typical display on the CRT when the system is operating in the Waveform Canvas submode is shown in FIG. 9. 
     TABLE 4 
     Create Marker 
     Delete Marker 
     Move Marker 
     Undisplay Group 
     Move Group 
     Zoom In 
     Zoom Out 
     Pan 
     Redraw 
     Create Group 
     Mod/Del Group 
     Modify Ckt Info 
     Sample 1 Signal 
     Save File 
     Restore File 
     4. IMS Interface Mode 
     This mode provides a screen-link interface to the tester displays. The present embodiment can interface with IMS Logic Master. Other tester interfaces can be made available as required by system users. A typical tester interface display is shown in FIG. 10. This mode allows use of automatic testing devices. 
     III. Conclusion 
     The system described in the foregoing specification allows its user to test an IC in a new and uniquely efficient manner. By aligning the stored CAD database with the actual IC being tested, and storing the positioning data which allows this spatial coordination, the system allows its user to navigate the probe to any feature on the actual IC which can be selected from the CAD database. The various modes in which the system can operate allow the user to view the CAD database in any of several commonly used ways, thereby increasing operation flexibility. 
     In the foregoing specification, the invention has been described with reference to a specific exemplary embodiment thereof. It will, however, be evident that various modifications and changes may be made thereunto without departing from the broader spirit and scope of the invention as set forth in the appended claims. For example, a plurality of probes could be used simultaneously, the IC could be moved beneath the microscope in lieu of or in addition to the microscope, different viewing modes could be presented, and so forth. Many such changes or modifications are readily envisioned. The specification and drawings are, accordingly, to be regarded in an illustrative rather than in a restrictive sense. 
     APPENDIX A 
     Layout Canvas Commands and Description Thereof 
     *Cell Open/Close--Controls the opening and closing of cells in the layout hierarchy for display. It has the following 5 options in the submenu: 
     a) Open Cell--This opens one cell one level at a time at the cursor position where the user clicks the left mouse key. The extent of the cell being considered is outlined in the layout canvas as a visual aid. 
     b) Open Cell All--This opens the cell at the cursor position where the user clicks the left mouse key to the lowest level in the layout hierarchy. 
     c) Open Chip--This opens the whole chip from the top level cell to the lowest level cells. 
     d) Close Cell--This closes the cell by displaying only the cell boundary and nothing under this cell in the layout hierarchy. 
     e) Close Chip--This closes all the cells which are currently opened and displays only the top cell boundary box. 
     *Map to Netlist--This command allows cross-mapping from layout to netlist. This is done by choosing either a device or a signal in the layout. The device or signal will be highlighted in the layout and its counterpart will be highlighted in the Netview window. Two options are available in the submenu: 
     a) Map Net--The cross-mapping is for signals. 
     b) Map Device--The cross-mapping is for devices. 
     *Palette Tools--This command allows the user to create and change colors for layers. This also allows the changing of fill pattern and the visibility of layers in the layout display. Two options in the submenu are available: 
     a) Rainbow window--This window displays the pen colors or fill patterns. There are 4 slider items at the top for creating your own color. 
     b) Legend window--This brings up the layout display legend in the left side of the Layout canvas. Together with the Rainbow window the fill pattern, color and/or visibility of layers can be modified. 
     * Pan--This command allows the user to perform panning. 
     * Probe Commands--This command allows the user to choose from a set of commands related to probing. The commands available are the following: 
     a) Align--This button allows the user to do alignment between chip and layout. There is a pop-up menu available in the lower half of this window which has the following commands: 
     i) Trace Align Pts--This command traces the alignment points done so far in the Layout canvas for reference. 
     ii) Clear align--This command clears all the alignment points done so far. 
     iii) Lower Probe--During alignment this command can be used to lower the probe tip in focus. 
     iv) Reset--This is a software reset that automatically resets the scope and the probe to their respective center of travel range. This will maximize their travel range. 
     v) Alignment Info--This command saves alignment points done to a table for future sessions or restores a set of alignment points saved earlier. It has a submenu which has the following 2 options: 
     Save align info--Saves the alignment points done so far in an alignment table for future sessions. 
     Restore align info--Restores the alignment table previously. 
     vi) Done--Allows the user to exit from alignment window. 
     b) Adjust--During a session the alignment done earlier may be off a little due to small movement of the equipments. This button allows offsets to the probe tip for adjustment. 
     c) Contact--This button tries to establish contact at the current position by lowering the probe tip. This will be using the &#34;Z&#34; floor established by a three point alignment as the contact surface. 
     d) Uncontact--This button will uncontact the probe tip from the chip surface to the standby altitude after contact has been made. 
     e) Locate--This button displays a small square with a cross-hair showing the current position of the probe tip in the chip with respect to the layout. 
     f) Move--This button allows automated navigation across the chip surface. Alignment must be made before using the move command. 
     Notice the probe tip will be raised first and both the scope and probe will travel to the final destination. Finally the probe tip will be lowered to a standby altitude. While this command is being carried out, a small yellow stop sign will appear in the Layout canvas to indicate the move is till in effect. 
     g) Probe--This button is a macro command used together with the tester (e.g. IMS). It will try to make contact at the current position. If this is successful it will switch from &#34;Contact sensing mode&#34; to &#34;Measurement mode&#34; in the Cruiser control panel, and acquire the signal for the tester. At the completion of the testing program on the tester, the probe tip will be raised and switched back to &#34;Contact sensing mode&#34;. Again this will be trying to make contact with the &#34;Z&#34; floor which depends on accurate alignment made to be successful. 
     h) Sample--This button is used in conjunction with the &#34;Probe&#34; button above. If the testing program on the tester is a looping program, this button can be used to break contact and switch from &#34;Measurement mode&#34; to &#34;Contact sensing mode&#34; in the Cruiser control panel. 
     i) Standby--This button brings the probe tip from whatever z location it is at to the standby altitude. 
     j) Quit--The probe command buttons will not be displayed anymore. 
     * Previous View--This command will display the last view of the Layout canvas before the current one. 
     Redraw--This command will redraw the current view. 
     * Top View--This command brings the layout display to top level cell. 
     * Trace Signal--This command traces any signal in the layout. 
     * Trace Removal--This command removes traces that are currently displayed in the Layout canvas. 
     * Zoom In--Zooms in a smaller area for display. It has a submenu with the following: 
     a) Box zoom in--The area to zoom in is defined by a box drawn in the Layout canvas. The area within the box will now be displayed to the full extent of the Layout canvas. 
     b) Zoom 2×--Zooms in at the center of the current view at 2 ×. 
     c) Zoom 4×--Zooms in at the center of the current view at 4×. 
     * Zoom Out--Zooms out to a larger area for display. It has a submenu with the following: 
     a) Box zoom out--The area to zoom out is defined by a box drawn in the layout canvas. The current view will be displayed in the box defined. 
     b) Zoom 2×--Zooms out at the center of the current view at 2×. 
     c) Zoom 4×--Zooms out at the center of the current view at 4×. 
     * Window Commands--This is just a replica of the Suntools window command to close, move, expose, hide, resize and quit the window. ##SPC1## 
     APPENDIX D 
     Netlist Display Canvas Commands 
     * Cell Close--This command closes the current cell and brings it one level up in the cell hierarchy. 
     * Cell Open--By choosing a desired cell instance name or its cell name the particular cell will be opened for display. For both the Cell Close and Cell Open command the Netlist hierarchy canvas will automatically zoom in around the cell box of the current cell being displayed. Also under the text item &#34;Cell&#34; in the control panel, the path name of the current cell will be printed. 
     * Fit Cell--This command brings the display of the current cell to the beginning of the cell. 
     * Map to Layout--This command allows the user to do cross-mapping from netlist to layout. Choosing the signal/device to be mapped will cause that signal/device to be highlighted throughout the netlist. The corresponding signal/device in the layout is also highlighted in the Layout canvas of the Maskview window. Also a trace of that signal/device will be shown in the Netlist hierarchy canvas. 
     * Redraw--This command will redraw the current window. 
     * Trace Signal--This command will trace a signal in the netlist. This is done by choosing the signal to be traced. This signal will be highlighted throughout the netlist. A trace of this signal is also shown in the Netlist hierarchy canvas. 
     * Top Cell--This command will display the top cell of the netlist. 
     APPENDIX E 
     Netlist Hierarchy Canvas Commands 
     * Clear Trace--This command clears the trace highlight of the last signal traced. 
     * Cell Open--This command opens a particular cell in the netlist for viewing. This is done by selecting the cell box of the cell to be opened. This cell will be displayed in the Netlist display canvas. The path name of this cell will be shown in the control panel under the text item &#34;Cell&#34;. 
     * Pan--Allows panning operations. 
     * Redraw--Redisplays the current view. 
     * Top View--Goes back to display the top netlist hierarchy view. 
     * Zoom In--Zooms in a smaller area for display. The area to zoom in is defined by a box drawn in the canvas. The area within the box will be displayed to the full extent of the canvas. 
     * Zoom Out--Zooms out to a larger area for display. The area to zoom out is defined by a box drawn in the canvas. The current view will be displayed within the box. 
     APPENDIX F 
     Group Name and Waveform Canvas Commands 
     1) Display Group--This command allows the user to select groups to be displayed in the Waveform Canvas. This is done by choosing the group to be selected. 
     2) Redraw--This command allows the user to redraw this window. 
     3) Create Marker--This command allows the user to create vertical markers as visual aid. 
     4) Delete Marker--This command allows the user to remove markers created. 
     5) Move Marker--This command allows the user to move existing markers. 
     6) Undisplay Group--This command allows the user to remove a whole group from being displayed. 
     7) Move Group--This command allows the user to rearrange the display order of groups. 
     8) Zoom In--This command allows the user to zoom in to a smaller portion of the waveforms for display. 
     9) Zoom Out--This command allows the user to zoom out to a larger portion of the waveforms for display. 
     10) Pan--This command allows panning. 
     11) Redraw--This command redraws the Waveform canvas. 
     12) Create Group--This command allows the user to create a new group of signals. The Signal Add mode is displayed for the user to create a new group and add signals to it. 
     13) Mod/Del Group--This command allows the user to modify a group which in under displayed. It also allows the user to delete a group. This command also recalls the Group and Signal additive mode. 
     14) Modify Ckt Info--This command allows the user to modify circuit information. 
     15) Sample 1 Signal--This command allows the user to sample the last signal acquired and create a group and signal entry for it. Signal ID window described previously will be recalled for the user to enter the group and id names. 
     16) Save File--This command allows the user to save all the signals and group configuration information into a disk file. In future sessions this file is read in automatically and the waveforms will be displayed initially. 
     17) Reload File--This command allows the user to restore the initial waveforms displayed and group information from a disk file which has been saved previously.