Patent Publication Number: US-7216278-B2

Title: Method and BIST architecture for fast memory testing in platform-based integrated circuit

Description:
FIELD OF THE INVENTION 
   The present invention generally relates to the field of integrated circuits, particularly to a method and Built-In Self Test (BIST) architecture for fast memory testing in a platform-based integrated circuit. 
   BACKGROUND OF THE INVENTION 
   Platform-based IC (integrated circuit) design is a powerful concept for coping with the increased pressure on time-to-market, design and manufacturing costs encountered in the current IC market. A platform is a large-scale, high-complexity semiconductor device that includes one or more of the following elements: (1) memory; (2) a customizable array of transistors; (3) an IP (intellectual property) block; (4) a processor, e.g., an ESP (embedded standard product); (5) an embedded programmable logic block; and (6) interconnect. RapidChip™ developed by LSI Logic Corp. is an instance of a platform. The basic idea behind the platform-based design is to avoid designing and manufacturing a chip from scratch. Some portion of the chip&#39;s architecture is predefined for a specific type of application. Through extensive design reuse, the platform-based design may provide faster time-to-market and reduced design cost. 
   Under a platform approach, there are two distinct steps entailed in creating a final end-user product: a prefabrication step and a customization step. In a prefabrication step, a slice is built on a wafer. A slice is a pre-manufactured chip in which all silicon layers have been built, leaving the metal layers or top metal layers to be completed with the customer&#39;s unique IP. For example, RapidSlice™ developed by LSI Logic Corp. is an instance of a slice. One or more slices may be built on a single wafer. It is understood that a slice may include one or more bottom metal layers or may include no metal layers at all. In a preferred embodiment of the prefabrication step, portions of the metal layers are pre-specified to implement the pre-defined blocks of the platform and the diffusion processes are carried out in a wafer fab. The base characteristics, in terms of the IP, the processors, the memory, the interconnect, the programmable logic and the customizable transistor array, are all pre-placed in the design and pre-diffused in the slice. However, a slice is still fully decoupled because the customer has not yet introduced the function into the slice. In a customization step, the customer-designed function is merged with the pre-defined blocks and the metal layers (or late-metal components) are laid down, which couple the elements that make up the slice built in the wafer fab, and the customizable transistor array is configured and given its characteristic function. In other embodiments, early-metal steps may be part of the pre-fabricated slice to reduce the time and cost of the customization step, resulting in a platform which is more coupled and specific. It is understood that a prefabrication step and a customization step may be performed in different foundries. For example, a slice may be manufactured in one foundry. Later, in a customization step, the slice may be pulled from inventory and metalized, which gives the slice its final product characteristics in a different foundry. 
   At the stage of synthesis for VLSI (Very Large-Scale Integration) designs, it is well known that memories typically have a much higher defect density than other logic. As a result, memories require comprehensive testing. One conventional method for memory testing is to use a Memory Built-In Self Test (Mem-BIST) controller, which is placed on a chip close to the memory under test, to perform testing in the test mode (see  FIG. 3 ). 
   In platform-based design, there are often tens or even hundreds of memories on a chip. The conventional method of placing one Mem-BIST controller for each memory instance may result in an unwanted increase in the chip area. On the other hand, a platform (e.g., RapidChip™) often includes multiple instances of a single memory type or module. Thus, it is desired to share one Mem-BIST controller for all instances of each memory type. However, connecting a Mem-BIST controller to multiple instances of a single memory type directly may lead to long propagation delays along with long wires, thereby decreasing the test frequency (see  FIG. 5 ). 
   Thus, it is desirable to provide a new method and BIST architecture for fast memory testing in a platform-based integrated circuit, which may increase test frequency of multiple instances of a single memory type. 
   SUMMARY OF THE INVENTION 
   In an exemplary aspect, the present invention provides a method of fast memory testing in a platform-based integrated circuit. The method may include steps as follows. An Mem-BIST controller transmitter is started to generate input signals for a memory in a platform using a deterministic and unconditional test algorithm. The input signals are delayed by a first group of pipelines by n clock cycles. The delayed input signals are received by the memory and an output signal is generated by the memory. The output signal is delayed by a second pipeline by m clock cycles. An Mem-BIST controller receiver is started to receive the delayed output signal for comparison. 
   In an additional exemplary aspect, the present invention provides an BIST architecture for fast memory testing in a platform-based integrated circuit. The BIST architecture includes a memory of a platform and a Mem-BIST controller transmitter. The Mem-BIST controller transmitter is communicatively coupled to the memory via pipelines P_n for generating input signals for the memory, using a deterministic and unconditional test algorithm. The pipelines P_n delay the input signals by n clock cycles. The BIST architecture also includes a Mem-BISTt controller receiver, which is communicatively coupled to the memory via a pipeline P_m, for receiving an output signal from the memory for comparison. The pipeline P_m delays the output signal by m clock cycles. The BIST architecture further includes a Mem-BIST driver, which is communicatively coupled to the Mem-BIST controller transmitter and the Mem-BIST controller receiver, for managing operations of the Mem-BIST controller transmitter and the Mem-BIST controller receiver. 
   In another exemplary aspect, the present invention provides an BIST architecture for fast memory testing in a platform-based integrated circuit. The BIST architecture includes a plurality of memory instances of a memory type in a platform and a Mem-BIST controller transmitter for generating input signals for the plurality of memory instances using a deterministic and unconditional test algorithm. The Mem-BIST controller transmitter is communicatively coupled to the plurality of memory instances via a first group of signal switching means. The first group of signal switching means delay the input signals. The BIST architecture also includes a Mem-BIST controller receiver for receiving output signals from the plurality of memory instances for comparison. The Mem-BIST controller receiver is communicatively coupled to the plurality of memory instances via a second group of signal switching means, which delay the output signals. The BIST architecture further includes a Mem-BIST driver, which is communicatively coupled to the Mem-BIST controller transmitter and the Mem-BIST controller receiver, for managing operations of the Mem-BIST controller transmitter and the Mem-BIST controller receiver. 
   It is to be understood that both the foregoing general description and the following detailed description are exemplary and explanatory only and are not restrictive of the invention as claimed. The accompanying drawings, which are incorporated in and constitute a part of the specification, illustrate an embodiment of the invention and together with the general description, serve to explain the principles of the invention. 

   
     BRIEF DESCRIPTION OF THE DRAWINGS 
     The numerous advantages of the present invention may be better understood by those skilled in the art by reference to the accompanying figures in which: 
       FIG. 1  is a schematic diagram illustrating a memory; 
       FIG. 2  is a schematic diagram illustrating a memory BIST controller (Mem-BIST controller); 
       FIG. 3  is a schematic diagram illustrating a conventional test structure including a Mem-BIST controller and a memory under test; 
       FIG. 4  is a schematic diagram illustrating an BIST architecture for fast memory testing in a platform-based integrated circuit in accordance with an exemplary embodiment of the present invention; 
       FIG. 5  is a schematic diagram illustrating a conventional test structure including a Mem-BIST controller and a plurality of memory instances of a memory type under test; 
       FIG. 6  is a schematic diagram illustrating an BIST architecture for fast memory testing in a platform-based integrated circuit in accordance with an exemplary embodiment of the present invention, wherein the BIST architecture includes a Mem-BIST controller transmitter, a Mem-BIST controller receiver, and a plurality of memory instances of a memory type under test; and 
       FIG. 7  is a flow diagram of a method of fast memory testing in a platform-based integrated circuit in accordance with an exemplary embodiment of the present invention. 
   

   DETAILED DESCRIPTION OF THE INVENTION 
   Reference will now be made in detail to the presently preferred embodiments of the invention, examples of which are illustrated in the accompanying drawings. 
   The present invention provides an architecture and method for speeding up memory Built-In Self Testing (BIST) technique that employs a deterministic algorithm for memory testing. The present invention provides a new architecture for at-speed memory testing using existing Memory Built-In Self Testing (Mem-BIST) controllers for testing multiple instances of the same memory type in a chip. The present invention creates a method for memory testing via pipelines, which may permit testing multiple memory instances placed separately from the Mem-BIST controller on a chip, which is essential for platform-based IC designs. 
   The present invention uses two identical Mem-BIST controllers: one used as a transmitter of memory input patterns while the other as a receiver of memory output signals (see  FIG. 4 ). These two controllers are synchronized in that the receiver starts to work after a delay from the time the transmitter starts to work, which is exactly equal to the delay caused by pipelines. 
   It is understood that the present invention not only applies in memory testing but also in other testers of a different nature when the underlying test algorithm is deterministic and unconditional. 
   A. Memory and Mem-BIST Controller 
   A memory (or memory module) (see  FIG. 1 ) is a standard module of a memory type, which is widely used in various chip designs for data storing along with the data-read and data-write operations. In general, at each clock cycle, the memory module can be in an active (enabled) or inactive (disabled) state depending on the ENABLE input signal. When enabled (ENABLE=1) and when the write-enable input signal is also High (WE=1), data presented at the module&#39;s data-input port (DI) is written into the memory location specified by an address presented at the input address port (A). When enabled (ENABLE=1) and when the write-enable signal is Low (WE=0), data stored at the memory location specified by the input address A is output through the module&#39;s data-output port (DO). 
   Due to their dense layout, memories usually have a much higher defect density than other logic and thus require comprehensive testing. Generally, the conventional testing solution is by a Memory Built-In Self Test (Mem-BIST) controller, which is placed on a chip close to the memory and performs testing in the test mode (see  FIG. 3 ). 
   An Mem-BIST controller (see  FIG. 2 ) has a dual interface corresponding to memory input and output ports and performs a sequence of test read and write operations according to the implemented test algorithm, which may be a data path test, a retention data test, a bit read and write test, an address decoder test, or the like. 
   Like a memory, the Mem-BIST controller may be in an active (enabled) or inactive (disabled) state depending on the BIST_EN input signal. As shown in  FIG. 3 , when enabled (BIST_EN=1), the controller sends to the memory module under test a testing sequence of data write and data read requests. That is, at each clock cycle the controller forms the ENABLE, WE, A, DI signals and send them through its output ports ENABLE, WE, A, and DI to the corresponding memory ports to perform the read or write operation in the memory module. 
   In each case of read operation sent to the memory, data presented at the controller&#39;s input port (DO) at the next clock cycle (i.e., the result of read operation from the memory) is compared in the controller with the expected value. If a comparison error occurs, then controller&#39;s output signal BIST_GO becomes High (BIST_GO=1), which indicates an error; otherwise, it stays Low (BIST_GO=0). Knowing the address at which BIST_GO goes High and what memory input data and address causes the comparison error allows construction of a memory error bitmap or an address error map, which is useful for diagnostic or debugging purposes. 
   At the end of a testing sequence, the “done” signal is output through the controllers&#39; data-output port BIST-DONE. The BIST-DONE output signal stays Low throughout the test and goes High at the end of test. 
   Note that in what follows, it is assumed that the testing algorithm generating the test sequence of read and write memory operations is deterministic and unconditional (i.e., the algorithm generates the test sequence independent of what the controller receives from the memory module throughout the test). Note that this is also the case for the generally available test algorithms and Mem-BIST controllers. 
   B. New Mem-BIST Architecture 
     FIG. 4  is a schematic diagram illustrating an BIST architecture  400  for fast memory testing in a platform-based integrated circuit in accordance with an exemplary embodiment of the present invention. As shown, the BIST architecture  400  allows pipelined signals between the memory module  402  and Mem-Bist controllers  404  and  406 , thereby speeding up the testing frequency. According to the present invention, the Mem-BIST controllers  404  and  406  need not be placed close to the memory  402  on a chip. The present BIST architecture  400  may preferably use two identical Mem-BIST controllers  404  and  406 . The first one (the Mem-BIST controller transmitter  404 ) is used for generating—in a usual way as it normally does—inputs for the memory module  402  such as ENABLE signal, WE signal, address A signal, and input data DI signal, while the second one (the Mem-BIST controller receiver  406 ) is used only for DO signal comparison as it also normally does in the “one controller” configuration. 
   Still referring to  FIG. 4 , input signals from the transmitter  404  to the memory module  402  and output signals from the memory module  402  to the receiver  406  go through pipelines P-n  408  and P-m  410 , which delay the signals for n and m clock cycles respectively. A pipeline is a chain of consecutively connected flip-flops. Note that all memory inputs have the same delay, which is equal to n clock cycles. Thus, the signal from the transmitter  404  arrives at the receiver  406  via the memory module  402  with the delay of (n+m) clock cycles. The receiver  406  knows nothing about this extra (n+m) clock cycles delay. However, if one postpones the start of the receiver  406  by exactly (n+m) clock cycles, then the receiver  406  receives output data from the memory module  402  as the receiver  406  would receive the output data with no pipelines. Thus, if the receiver  406  is started exactly (n+m) clock cycles after the transmitter  404  is started, then input and output flows of the receiver  406  may be synchronized, just like what would have received in the case of only one Mem-BIST controller connected to the memory module with no pipeline (e.g., the conventional test configuration, see  FIG. 3 ). In other words, the BIST_GO and BIST_DONE signals of the receiver  406  may correctly reflect the test progress (i.e. the same way as they normally do). 
   The BIST architecture  400  includes a Mem-BIST driver module  412  for managing operations of the Mem-BIST controller transmitter  404  and the Mem-BIST controller receiver  406 . The Mem-BIST driver module  412  includes an auxiliary input SHIFT for indicating a possible delay or shift in staring time for the two Mem-BIST controllers  406  and  406 . After receiving the input signal BIST_EN High, the Mem-BIST driver module  412  first sends the BIST_EN signal High to the transmitter controller  404  and then, after a delay of (n+m) clock cycles, sends the BIST_EN signal High to the to the receiver controller  406 , thus activating the entire test. It is understood that in  FIG. 4  wires starting or ending with an “x” mark indicate dummy wires with don&#39;t-care values. 
     FIG. 5  is a schematic diagram illustrating a conventional test structure  500  including a Mem-BIST controller  502  and a plurality of memory instances  504  of a memory type under test. The Mem-BIST controller  502  is communicatively coupled to the plurality of memory instances  504  via a group of Mux and Controlling Logic  506  for setting one of the memory instances  504  for testing and also for selecting between test input memory bus  508  and test output memory bus  510  from one side and memory input and output buses from the other side. Such a test structure  500  may lead to long propagation delays along with long wires, thereby decreasing the test frequency. 
     FIG. 6  is a schematic diagram illustrating an BIST architecture  600  for fast memory testing in a platform-based integrated circuit in accordance with an exemplary embodiment of the present invention. The BIST architecture  600  includes a plurality of memory instances  604  of a memory type in a platform, and a Mem-BIST controller transmitter  602  for generating input signals for the plurality of memory instances  604  using a deterministic and unconditional test algorithm. The Mem-BIST controller transmitter  602  is communicatively coupled to the plurality of memory instances  604  via a first group of signal switching means  612  (e.g., flip-flops, or the like). The first group of signal switching means  612  delay the input signals. The BIST architecture  600  also includes a Mem-BIST controller receiver  603  for receiving output signals from the plurality of memory instances  604  for comparison. The Mem-BIST controller receiver  603  is communicatively coupled to the plurality of memory instances  604  via a second group of signal switching means  613  (e.g., flip-flops, or the like), which delay the output signals. The BIST architecture  600  further includes a Mem-BIST driver  614 , which is communicatively coupled to the Mem-BIST controller transmitter  602  and the Mem-BIST controller receiver  603 , for managing operations of the Mem-BIST controller transmitter  602  and the Mem-BIST controller receiver  603 . Preferably, the Mem-BIST controller transmitter  602  and the Mem-BIST controller receiver are identical (i.e., have the same internal structure). The BIST architecture  600  may further include a group of Mux and Controlling Logic  606  for setting one of the memory instances  604  for testing and also for selecting between test input memory bus  608  and test output memory bus  610  from one side and memory input and output buses from the other side. The group of Mux and Controlling Logic  606  may be communicatively coupled to the plurality of memory instances  604 , the first group of signal switching means  612  and the second signal switching means  613 . It is understood that in  FIG. 6  wires starting or ending with an “x” mark indicate dummy wires with don&#39;t-care values. It is understood that the actual delay in clock cycles (i.e., shift in staring time for the transmitter  602  and the receiver  603 ) depends on the particular memory instance  604  selected or set for testing (e.g., for a memory instance K, the shift may be equal to 2K). In the BIST architecture  600 , all memory instances  604  are tested step by step in a row or in some other order. However, each time preferably only one memory instance  604  is tested. 
     FIG. 7  is a flow diagram of a method  700  of fast memory testing in a platform-based integrated circuit in accordance with an exemplary embodiment of the present invention. The method  700  may be implemented in the BIST architecture  400  shown in  FIG. 4  and the BIST architecture  600  shown in  FIG. 6 . The method  700  may include steps as follows. An Mem-BIST controller transmitter is started to generate input signals for a memory in a platform using a deterministic and unconditional test algorithm  702 . The input signals are delayed by a first group of pipelines by n clock cycles  704 . The delayed input signals are received by the memory and an output signal is generated by the memory  706 . The output signal is delayed by a second pipeline by m clock cycles  708 . An Mem-BIST controller receiver is started to receive the delayed output signal for comparison  710 . 
   The present invention may provide the following advantages. First, the present BIST architecture may increase test frequency and speed up memory testing. In addition, the present invention may improve timing and reduce the die size. Moreover, the present BIST architecture may test memories remotely located on a chip. Further, the present architecture is easy to implement. Additionally, the present invention may test multiple instances of the same memory type with a single controller. 
   It is understood that the specific order or hierarchy of steps in the processes disclosed is an example of exemplary approaches. Based upon design preferences, it is understood that the specific order or hierarchy of steps in the processes may be rearranged while remaining within the scope of the present invention. The accompanying method claims present elements of the various steps in a sample order, and are not meant to be limited to the specific order or hierarchy presented. 
   It is believed that the present invention and many of its attendant advantages will be understood by the foregoing description. It is also believed that it will be apparent that various changes may be made in the form, construction and arrangement of the components thereof without departing from the scope and spirit of the invention or without sacrificing all of its material advantages. The form herein before described being merely an explanatory embodiment thereof, it is the intention of the following claims to encompass and include such changes.