Abstract:
A design structure embodied in a machine readable medium used in a design process and an integrated circuit for high performance SRAM (Static Random Access Memory) read bypass for BIST (built-in self-test). The design structure and integrated structure includes a dynamic to static conversion unit for a read output of an SRAM array, and a test bypass unit integrated into the dynamic to static conversion unit, so as to allow the read output of the SRAM array to pass through in a non-test mode without impacting performance, and bypass the read output of the SRAM array and allow a test signal to pass though in a test mode.

Description:
BACKGROUND 
       [0001]    1. Technical Field 
         [0002]    The present invention relates to a design structure. More specifically, it relates a design structure for high performance SRAM (Static Random Access Memory) read bypass for the built-in self-test. 
         [0003]    2. Background Information 
         [0004]    Built-in self-test (BIST) is a mechanism used within an integrated circuit (IC) to verify all or a portion of the internal functionality of the IC. BIST can reduce the duration of an IC manufacturing test, and, by reducing the number of input/output signals that must be driven or examined under tester control, reduce the complexity of the test setup. Hence, BIST can effectively reduce the cost of IC manufacturing tests. BIST can also be designed to perform field-diagnostics of individual devices or entire systems. For example, it can used to perform a self-diagnostic test for a computer peripheral device (e.g. a printer) at its power-up. 
         [0005]    Logic BIST (LBIST) is one type of BIST technology, which is designed for testing random logic. Some LBIST interfaces for SRAM arrays require the ability to test downstream chip logic by bypassing the functional output of the array, and inserting test signals into the SRAM array read output path.  FIG. 1  is a diagram illustrating components of a LBIST interface. In  FIG. 1 , the components for functional output of the SRAM array include an SRAM Dynamic Output unit  101  and a Dynamic to Static Conversion unit  103 . A Static Test Logic Unit  102  is used for test purposes. To bypass the functional output, a control unit  104  needs to be implemented.  FIG. 1  illustrates a common method of accomplishing the SRAM bypass, in which a multiplexer (the Test Mux  104 ) is used at the output of the Dynamic to Static Conversion unit  103 , and a test signal from the Static Test Logic unit  102  is used to select static test data. 
         [0006]    However, when using a multiplexer to bypass the functional output of an SRAM array, extra circuitry is required to be added to the critical output path for SRAM operations, and thus results in an increased delay. 
       SUMMARY 
       [0007]    A design structure embodied in a machine readable medium used in a design process and an integrated circuit for high performance SRAM (Static Random Access Memory) read bypass for the built-in self-test. The design structure and integrated structure includes a dynamic to static conversion unit for a read output of an SRAM array, and a test bypass unit integrated into the dynamic to static conversion unit, so as to allow the read output of the SRAM array to pass through in a non-test mode, and block the read output of the SRAM array and allow a test signal to pass though in a test mode. 
     
    
     
       BRIEF DESCRIPTION OF DRAWINGS 
         [0008]      FIG. 1  is a diagram of a conventional read path dynamic-to-static conversion and static test bypass configuration. 
           [0009]      FIG. 2  is a diagram of the configuration with integrated dynamic-to-static conversion and test bypass (DSC-TB) unit in one embodiment of the present invention. 
           [0010]      FIG. 3  is a circuit diagram illustrating the structure of the DSC-TB unit in one embodiment of the present invention. 
           [0011]      FIG. 4  is a waveform illustrating the operation of the DSC-TB unit in the functional mode. 
           [0012]      FIG. 5  is a waveform illustrating the operation of the DSC-TB unit in the test mode. 
           [0013]      FIG. 6  is a flow diagram of a design process used in semiconductor design, manufacture, and/or test. 
       
    
    
     DETAILED DESCRIPTION 
       [0014]    The invention will now be described in more detail by way of example with reference to the embodiments shown in the accompanying Figures. It should be kept in mind that the following described embodiments are only presented by way of example and should not be construed as limiting the inventive concept to any particular physical configuration. 
         [0015]    Further, if used and unless otherwise stated, the terms “upper,” “lower,” “front,” “back,” “over,” “under,” and similar such terms are not to be construed as limiting the invention to a particular orientation. Instead, these terms are used only on a relative basis. 
         [0016]    The present invention is directed to a mechanism to integrate the LBIST test function into the hold path of the dynamic to static conversion unit, thus removing load from the critical path and improving overall performance. 
         [0017]      FIG. 2  is a diagram illustrating the configuration with integrated dynamic-to-static conversion and test bypass in one embodiment of the present invention. 
         [0018]    As illustrated in  FIG. 2 , in one embodiment of the present invention, the traditional LBIST test bypass logic (e.g. the Test Mux  104  in  FIG. 1 ) is removed from the critical path. The present invention has an SRAM Dynamic Output unit  201  for functional output and a Static Test Logic unit  202  for testing. The SRAM Dynamic Output unit  201  can be the same as the SRAM Dynamic Output unit  101  in  FIG. 1 , and the Static test Logic unit  202  can be the same as the Static Test Logic unit  102  in  FIG. 1 . A Dynamic to Static Conversion with Test Bypass (DSC-TB) unit  200  is used to both perform the dynamic to static conversion and bypass the functional output, when the respective work mode is chosen. Since no extra circuitry in the critical output path is needed to control the output flow in the testing mode, the overall performance will be improved. An integrated DSC-TB unit  200  will not negatively affect the power consumption, nor will it add burden to its size constraints. 
         [0019]    According to one embodiment of the present invention, the DSC-TB unit  200  is created by modifying the Dynamic to Static Conversion unit  103  in two ways. The Dynamic to Static Conversion unit  103  is implemented by using a standard cross-coupled device. To build a DSC-TB unit  200 , one extra leg and a complex gate hold buffer (as shown in  FIG. 3 ) are added to the Dynamic to Static Conversion unit  103 . The test function is thus implemented in the hold path, so that the original test structure  104  from the critical path can be removed. 
         [0020]      FIG. 3  is a circuit diagram illustrating the structure of the DSC-TB unit  200  in one embodiment of the present invention. 
         [0021]    In  FIG. 3 , devices T 12 -T 15  constitute the top half of the DSC-TB unit  200 , which is a normal cross-coupled device, as the one used in the Dynamic to Static Conversion unit  103 . Devices T 0 -T 2  and T 6 -T 8  constitute a hold buffer. The hold buffer is connected to the clock (‘clk’) equivalent leg of the cross-coupled device (T 12 -T 15 ), thus making the cross-couple device (T 12 -T 15 ) a latch, and controls the state of the latch. Therefore, this circuit can work in both a functional mode and a test mode (as describe below). By choosing the test mode, the circuit can switch from a functional mode to a test mode to realize the built-in self test. It can feed test data (‘tq’) through the cross-coupled device (T 12 -T 15 ) during this operation, and effectively “bypass” the input from the SRAM array. Devices T 3 -T 5  and T 9 -T 11  constitute the bottom half of the DSC-TB unit  200 , which uses a complex gate implementation. Devices T 3 -T 5  and T 9 -T 11  are designed to isolate the ‘xnand’ signal, and select test data ‘tq’, when working in the test mode. In an alternate embodiment of the present invention, a cross-coupled nor implementation may be used instead of the cross-coupled nand implementation. The cross-coupled nor implementation will use the same number of devices in slightly altered order, but the DSC-TB and the devices will operate in the same manner. 
         [0022]    According to one embodiment of the present invention, the DSC-TB unit  200  can operate in two modes: 
       1. The Functional Mode 
       [0023]    This is the normal mode of operation, in which the ‘test’ signal is held low and the circuit operates as a normal cross-coupled device. 
         [0024]    In the functional mode, the circuit is capable of reading one bit from the array per cycle, and when needed, it can also hold data for multiple cycles until the next read operation takes place. A ‘precharge’ signal (‘pchg’) is typically used for precharging a data line and other dynamic signals, but in this circuit its main role is to define the timings of the capture and hold state of the latch. With the ‘test’ signal held low, the ‘hold’ signal becomes the inversion of the ‘pchg’ signal, and the devices T 4  and T 10  connected by the ‘test’ signal become transparent. Thus, the device operates as a conventional CCNAND (Cross-Coupled Not And) circuit, where the ‘hold’ signal acts as the clocking/controlling signal. Therefore, when the ‘pchg’ signal is low, the ‘hold’ signal is high, and then the cross-coupled device is in a “hold” state. However, when the ‘pchg’ signal rises, the pre-charge device T 8  turns off, the ‘hold’ signal becomes low, and the device enters a “capture” state in which it accepts the data input (i.e. the ‘d_b’ signal). The output ‘q’ signal of the DSC-TB unit  200  is independent of any inputs of the unit, when the ‘pchg’ signal remains low (i.e. in the “hold” state) and the ‘test’ signal remains low (i.e. the unit is in the “functional” mode). In the functional mode, the input signal for testing, ‘tq’, is gated as long as the ‘test’ signal remains low, and plays no role in this mode. 
         [0025]    A waveform of the functional mode operation of the DSC-TB unit  200  can be seen in  FIG. 4 . 
         [0026]      FIG. 4  illustrates two read cycles—a cycle of reading ‘0’ followed by a cycle of reading ‘1’. In the functional mode, the ‘test’ signal will remain low (not shown in  FIG. 4 ). The ‘hold’ signal is the inversion of the ‘pchg’ signal. The output signal ‘q’ follows the data input signal ‘d_b’ during the “capture” state when the ‘pchg’ signal is high. The output signal ‘q’ will remain if it is in the “hold” mode when the ‘pchg’ signal is low. For example, the ‘d_b’ signal turns high at time T 1 , but the ‘q’ signal remains low because the ‘pchg’ signal is low during that period of time, and hence the circuit is in the “hold” mode. The ‘tq’ input signal (not shown in  FIG. 4 ) is gated in this operational mode. The output signal ‘q’ is independent of the test input signal ‘tq’. 
       2. The Test Mode 
       [0027]    The DSC-TB unit  200  enters the test mode whenever the ‘test’ signal is held high. In one embodiment of the present invention, in the test mode, the ‘pchg’ signal is kept low to force the cross-coupled device into its “hold” state, and to pre-charge the functional ‘d_b’ input. In this “hold” state, a low ‘pchg’ signal effectively forces the gate connected to the ‘pchg’ devices (T 2  and T 8  in  FIG. 3 ) to be transparent. The ‘hold’ signal is then an inversion of the ‘tq’ input. When the ‘test’ signal is high, the ‘xnand’ signal is isolated by device T 10 , and the ‘xnand_b’ signal becomes an inversion of the ‘hold’ signal. While the ‘d_b’ signal held high, the second gate (T 15  in  FIG. 3 ) in the cross-coupled device causes an inversion of the ‘xnand_b’ signal. Therefore, the output signal ‘q’ follows the original static testing input signal ‘tq’. In this embodiment, the ‘pchg’ signal is always low in test mode. The device input signal ‘d_b’ is thus held high and plays no role. 
         [0028]    In alternative embodiments of the present invention, the ‘pchg’ signal may be held high. A ‘pchg’ signal toggled to high would force the ‘hold’ signal to be low, the ‘xnand_b’ signal to be high, the ‘xnand’ signal to be low, and, ultimately, the ‘q’ signal to be high. This may be useful when a high output signal is preferred in an application. Similarly, in another embodiment of the present invention, the ‘d_b’ signal may be toggled in the test mode. 
         [0029]      FIG. 5  illustrates a waveform of the DSC-TB unit in the test mode. 
         [0030]    In the test mode, the ‘pchg’ signal is kept low (not shown in  FIG. 5 ). When the ‘test’ signal is high, the output signal ‘q’ follows the test input signal ‘tq’. The ‘hold’ signal is the inversion of the ‘tq’ signal. In this example, data input signal ‘d_b’ is always high (now shown in  FIG. 5 ), and the output ‘q’ is independent of the data input from ‘d_b’. 
         [0031]      FIG. 6  shows a block diagram of an exemplary design flow  600  used for example, in semiconductor design, manufacturing, and/or test. Design flow  600  may vary depending on the type of IC being designed. For example, a design flow  600  for building an application specific IC (ASIC) may differ from a design flow  600  for designing a standard component. Design structure  620  is preferably an input to a design process  610  and may come from an IP provider, a core developer, or other design company or may be generated by the operator of the design flow, or from other sources. Design structure  620  comprises an embodiment of the invention as shown in  FIG. 2-FIG .  5  in the form of schematics or HDL, a hardware-description language (e.g., Verilog, VHDL, C, etc.). Design structure  620  may be contained on one or more machine-readable medium. For example, design structure  620  may be a text file or a graphical representation of an embodiment of the invention as shown in  FIG. 2-FIG .  5 . Design process  610  preferably synthesizes (or translates) an embodiment of the invention as shown in  FIG. 2-FIG .  5  into a netlist  680 , where netlist  680  is, for example, a list of wires, transistors, logic gates, control circuits, I/O, models, etc. that describes the connections to other elements and circuits in an integrated circuit design and recorded on at least one of machine readable medium. This may be an iterative process in which netlist  680  is re-synthesized one or more times depending on design specifications and parameters for the circuit. 
         [0032]    Design process  610  may include using a variety of inputs; for example, inputs from library elements  630  which may house a set of commonly used elements, circuits, and devices, including models, layouts, and symbolic representations, for a given manufacturing technology (e.g., different technology nodes, 32 nm, 45 nm, 90 nm, etc.), design specifications  640 , characterization data  650 , verification data  660 , design rules  670 , and test data files  685  (which may include test patterns and other testing information). Design process  610  may further include, for example, standard circuit design processes such as timing analysis, verification, design rule checking, place and route operations, etc. One of ordinary skill in the art of integrated circuit design can appreciate the extent of possible electronic design automation tools and applications used in design process  610  without deviating from the scope and spirit of the invention. The design structure of the invention is not limited to any specific design flow. 
         [0033]    Design process  610  preferably translates an embodiment of the invention as shown in  FIG. 2-FIG .  5 , along with any additional integrated circuit design or data (if applicable), into a second design structure  690 . Design structure  690  resides on a storage medium in a data format used for the exchange of layout data of integrated circuits (e.g. information stored in a GDSII (GDS2), GLI, OASIS, or any other suitable format for storing such design structures). Design structure  690  may comprise information such as, for example, test data files, design content files, manufacturing data, layout parameters, wires, levels of metal, vias, shapes, data for routing through the manufacturing line, and any other data required by a semiconductor manufacturer to produce an embodiment of the invention as shown in  FIG. 2-FIG .  5 . Design structure  690  may then proceed to a stage  695  where, for example, design structure  690 : proceeds to tape-out, is released to manufacturing, is released to a mask house, is sent to another design house, is sent back to the customer, etc. 
         [0034]    While the invention has been particularly shown and described with reference to specific embodiment thereof, it should be understood, however, that the invention is not necessarily limited to the specific process, arrangement, materials and components shown and described above, but may be susceptible to numerous variations within the scope of the invention. For example, although the above-described exemplary aspects of the invention are believed to be particularly well suited for high performance read bypass test circuit, it is contemplated that the concepts of the present invention can be applied in other applications. For example, the concepts of the present application can be utilized whenever it is desired to perform bypass test. The circuits and processes described herein may be represented (without limitation) in software (object code or machine code), in varying stages of compilation, as one or more netlists, in a simulation language, in a hardware description language, by a set of semiconductor processing masks, and as partially or completed realized semiconductor devices. The various alternatives for each of the foregoing as understood by those of skill in the art are also within the scope of this invention. For example, the various types of computer-readable media, software languages (e.g. Verilog, VHDL), simulatable representations (e.g. SPICE netlist), semiconductor processes (e.g. CMOS, GaAs, SiGe, etc), and device types (e.g. FPGA) suitable for using in conjunction with the processes described herein are within the scope of the invention. 
         [0035]    It will be apparent to one skilled in the art that the manner of making and using the claimed invention has been adequately disclosed in the above-written description taken together with the drawing. 
         [0036]    Finally, although various advantages, aspects, and objects of the present invention have been discussed herein with reference to various embodiments, it will be understood that the scope of the invention should not be limited by the reference to such advantages, aspects, and objects. Rather, the scope of the invention should be determined with reference to the appended claims.