Abstract:
A method for implementing a programmable critical delay path measurement in-line with the critical path logic cells. Additionally, the delay measurement creates a code to be used with a programmable DLL which indicates the delay of the measured critical path. This code can also be used by an off line First Fail Circuit which can mimic the delay of the critical path and give an indication of the critical path delay. The target of this invention is to create a method to optimize the required operating voltage of an integrated circuit per specific speed requirement, overcoming different process variations, temperatures changes and in die variations.

Description:
FIELD OF THE INVENTION 
     The invention relates to the development of ultra-low power integrated circuits and, more specifically, to the characterization of the critical path timing using a programmable DLL and a way to mimic this delay using a first Fail Circuit. 
     BACKGROUND OF THE INVENTION 
     Many new emerging applications require the use of ultra-low power consumption solutions inside a chip. This will allow them to be incorporated into devices that operate from a small non-chargeable battery for very long periods without the need to frequently charge the battery. For example, wearable, mobile and Medical devices which are battery operated may require an ultra-low power solution. 
     In parallel the scaling of the silicon manufacturing geometry doubles every 2 years creating larger and faster chips which include many more transistors and logic inside that are running at higher speed and consume more power. In addition to this, the advanced process become less controllable and the difference between the performance of the worst-case device and the best-case device can be more than 5×, so trying to design and ensure that its performance is met for the worst-case condition causes a large overhead during the design and increases area and power dramatically. 
     In order to enable this increase in speed and size but maintain the power at reasonable levels which can fit battery operated devices there is a need to be able to design the chip for the typical process and temperature and to optimize the operating voltage of the device based on the chip manufacturing corner, temperature and process variations. The optimization of the operating voltage will cause the chip to run with lower voltage than if it was designed for the worst-case conditions and using this method it is possible to reduce the active and leakage power by the square factor of the voltage reduction. 
     In order that a device which is designed for the typical case will work also at different corners of the process there is a need to measure very accurately the timing of the critical path of the design (critical path is defined as the longest electrical path between two flip-flops of the device, that is to say having the longest transmission) and mimic exactly this path to a First Fail mechanism which can be tested separately from the rest of the device. According to the test results of the First Fail mechanism it is then possible to determine the optimal operating voltage of the entire chip. 
     Accurate measurement of the critical path inside each device is a complicated task because this path timing can change based on the process corner, temperature and also on the location on the wafer and inside the die. To solve this problem an in-line measurement is needed per chip in order to determine the accurate path delay and to mimic this exact delay inside the First Fail circuit. 
     PRIOR ART 
     Various methods and implementations for in line delay measurements have been introduced in prior art. The main differences between the prior art and this invention are:
     1. In this invention, the method that the critical path delay is measured and the First Fail programmable delay code it obtained are different.   2. This invention proposes an extra circuitry that mimics the critical path delay and is used as a separate First Fail circuitry which is tested separately from the main circuitry and does not interfere with the operation of the main circuitry.   

     The prior art invention of US2006/0200716A1 is using the input and output of the critical path as input and output for a pulse generator which is used to measure the path length by reducing the clock speed until the path stops working correctly. This method can give timing measurements for the critical path delay but can&#39;t help to mimic this delay on the same silicon in a First Fail circuit. 
     The prior art invention of FR3010759A1 is using a method that delays the clock signal of the critical path with a programmable delay line, to emulate the critical path delay, but as it is integrated within the actual design it does not allow for separate measurement without interrupting the circuits operation. 
     BRIEF SUMMARY OF THE INVENTION 
       FIG. 1  shows an example of a critical timing path were a critical path is defined as the longest electrical path between two Flip-Flops ( 100  and  101  in  FIG. 1 ) of the device. Between these Flip-Flops there are plurality of combinational cells which form the designed logic function (cells  102  through  107  in  FIG. 1 ). 
     For one embodiment of the invention, the target is to measure within the operational circuitry (in-line) the accurate timing delay of the logic path between the 2 Flip-Flops ( 100  and  101  in  FIG. 1 ). For this purpose, as shown at  FIG. 2  an in-line programmable DLL circuit ( 202  in  FIG. 2 ) is implemented and connected to the input and output of the critical path logic. 
     An additional embodiment of the invention proposes to use scan chain control of the critical path logic using Flip-Flops  213  through  217  in  FIG. 2  as an example to create an oscillation path through the critical path (cells  206  through  211  in  FIG. 2 ), optionally through a DLL (cell  202  in  FIG. 2 ) and through 3 multiplexers (cells  218 ,  212 ,  205  in  FIG. 2 ). To ensure an odd number of inversions in the oscillation path an extra inverter can be added (cell  204  in  FIG. 2 ) by controlling multiplexer  212  in  FIG. 2 . 
     An additional embodiment of the invention proposes to measure the above oscillation path with two options: including and excluding the DLL. The frequency of this oscillation can be measured on a production tester via an output pad of the chip driven by a buffer (cell  203  in  FIG. 2 ). By varying the DLL code, it is possible to reach a situation whereby the frequency measured without the DLL within the oscillation path is exactly double the frequency of the oscillation path with the DLL included. This method obtains a DLL code which can mimic exactly the critical path delay. 
     Additionally, embodiments of the invention also include a First Fail Circuit ( 400  in  FIG. 4 ) which uses the same code to generate exactly the same timing delay as the critical path based on the in-line delay measurements described above. 
     Additionally, embodiments of the invention use the First Fail Circuit and a separate voltage source for this circuit to test per given frequency, process corner and temperature condition what is the optimal voltage in which this First Fail circuit still operates. Once this voltage level is obtained, this voltage can be used safely for the functional circuitry of the device because this First Fail DLL code is emulating the worst-case path of the design. By using this method, it is possible to reach an optimal voltage which will ensure the optimal power consumption of the device. 
    
    
     
       BRIEF DESCRIPTIONS OF THE DRAWINGS 
       The invention may be understood by referring to the following description and accompanying drawings that are used to illustrate embodiments of the invention. In the drawings: 
         FIG. 1  is a general description of a critical path inside the device which is the longest electrical path which is built from different logic cells between 2 Flip-Flops. 
         FIG. 2  is the description of the in-line critical path timing measurement using a programmable DLL according to one embodiment of this invention. 
         FIG. 3  is one example description of a programmable DLL according to another embodiment of this invention. 
         FIG. 4  is a general description of the First Fail Circuit according to another embodiment of this invention. 
         FIG. 5  is a flow chart which describes the mechanism of how to create from the critical path delay a DLL code that accurately mimics the critical path delay according to another embodiment of this invention. 
         FIG. 6  is a flow chart which describes the First Fail Circuit operation to achieve the optimal voltage per giving frequency according to another embodiment of this invention. 
     
    
    
     DETAILED DESCRIPTION OF THE INVENTION 
     The present invention includes a method and apparatus for accurate in-line measurement of a device critical path timing (critical path is the longest electrical path passing plurality of combinational cells between two flops of the device, that is to say having the time to the longest transmission) in order to mimic this delay into a separate programmable DLL First Fail circuit, which will be used in order to dynamically control the operating voltage of the device to get optimal power consumption. 
     In the following description, numerous specific details are set forth. However, it is understood that embodiments of the invention may be practiced without these specific details. In other instances, well-known circuits, structures and techniques have not been shown in detail in order not to obscure the understanding of this description. 
     Reference throughout the specification to “one embodiment” or “an embodiment” means that a particular feature, structure, or characteristic described in connection with the embodiment is included in at least one embodiment of the present invention. Thus, the appearance of the phrases “in one embodiment” or “in an embodiment” in various places throughout the specification are not necessarily all referring to the same embodiment. Furthermore, the particular features, structures, or characteristics may be combined in any suitable manner in one or more embodiments. 
     For one embodiment of the invention, a critical path inside the device is selected which represents the worst-case timing path of the device. An example of a critical path is shown at  FIG. 1  where the input to the critical path starts at Flip-Flop  100  in  FIG. 1  and the path is propagated through plurality of different combinational cells ( 102  through  107  in  FIG. 1 ) and then sampled by the output Flip-Flop ( 101  in  FIG. 1 ). 
     For another embodiment of the invention, a programmable DLL (cell  202  in  FIG. 2 ) is connected to the output and input of the plurality of the combinational cells in a way which creates an oscillation loop as seen on  FIG. 2 . The output of the oscillation loop is driven to the devices PAD to be sampled by an external frequency measurement tool or Tester (through buffer  203  in  FIG. 2 ). 
     For another embodiment of the invention, the critical path combinational cells ( 206  through  211  in  FIG. 2 ) can be controlled through existing Flip-Flops in the device ( 213  through  217  in  FIG. 2 ) using a scan chain which drives a valid data into each Flip-Flop in order to control the logic of the critical path to ensure that the logic of the selected critical path enables the signal propagation. 
     For another embodiment of the invention, three multiplexers ( 205 ,  212  and  218  at  FIG. 2 ) are added within the oscillation path. The first multiplexer is to bypass the programmable DLL cell  218  in  FIG. 2 ). The second multiplexer is to close the oscillation loop (cell  205  in  FIG. 2 ). The third multiplexer (cell  212  in  FIG. 2 ) is used to add an additional inversion stage if needed to ensure oscillation. By using these three multiplexers with different settings it is possible to create an oscillation loop only through the critical path logic or through the critical path logic and the programmable DLL. 
     For another embodiment of the invention, a method is proposed to obtain an accurate measurement and representation of the critical path delay by using the programmable DLL and the critical path delay oscillation loop described above (in  FIG. 2 ). The flow chart of how to obtain this code is described in  FIG. 5 , The first stage is to configure the critical path using the scan chain control (box  501  in  FIG. 5 ). The second stage of this method is to set the multiplexer controls so that only the plurality of the critical path combinational cells are closed in an oscillation loop (box  502  in  FIG. 5 ) and the frequency is measured off-chip by the tester (box  503  in  FIG. 5 ). The third stage of this method is to set the multiplexer controls so that the programmable DLL is also connected within the oscillation loop (box  504  in  FIG. 5 ) while all DLL control bits are zero (box  506  in  FIG. 5 ) and the frequency is again measured by the tester (box  508  in  FIG. 5 ). The Fourth stage of this method is to modify the programmable DLL code in a binary search algorithm as described in the flow chart of  FIG. 5  (box  507 - 512  in  FIG. 5 ) until the output frequency equals half the frequency which was measured in the second stage (via the combination cells only). The fifth stage of this method is to record the DLL code within a memory element within the device (box  513  in  FIG. 5 ). 
     For another embodiment of the invention, a programmable DLL is presented (described in  FIG. 3 ) which includes different delay cells ( 300 ,  302 ,  304 ,  306 ,  308 ,  310 ,  312 ,  314  and  316  in  FIG. 3 ). The DLL has an exponent-by-2 increasing delay between each stage and a multiplexer in each stage ( 301 ,  303 ,  305 ,  307 ,  309 ,  311 ,  313 ,  315  and  317  in  FIG. 3 ) which can select between the path with the delay cells or the path without them. Using the control lines (dll_select[8] through dll_select[0]) which control the multiplexers it is possible to obtain a different delay from this DLL which can then be adjusted to equal the critical path delay measurement as described above. 
     For another embodiment of the invention, a First Fail Circuit (shown in  FIG. 4 ) is built in order to mimic the exact delay which exists in the critical path delay. This First Fail Circuit is built from the same programmable DLL ( 400  in  FIG. 4 ) which is used in-line with the critical path ( 202  in  FIG. 2 ) to measure it&#39;s timing delay. The same DLL control code which was generated using the in-line DLL and the critical path oscillation loop is used also for the First Fail programmable DLL. 2 Flip-Flops are used within the First Fail Circuit. The first Flip-flop drives the input to the programmable DLL ( 401  in  FIG. 4 ) and has an input which is always connected to logic-1 and the second Flip-Flop ( 402  in  FIG. 4 ) which is connected to the output of the programmable DLL. Both Flip-Flops can be reset before the test is performed and then exactly two clock cycles are given to the 2 Flip-Flops, after these 2 clock cycles the output of the second Flip-Flop ( 402  in  FIG. 4 ) is sampled by the CPU. If the result equals logic-1 then the DLL delay is too short and if the result equals logic-0 the DLL delay is too long. 
     For another embodiment of the invention, a First Fail mechanism can be used in order to determine the optimal voltage which can be used by the device logic per a given frequency. The flow chart of this procedure is described in  FIG. 6 . The DLL inside the First Fail logic is set to the exact code which mimics the critical path delay of the chip and was measured according to the flow chart in  FIG. 5  ( 601  in  FIG. 6 ) then the operating voltage of the First Fail logic, which is controlled by a separate voltage source than the rest of the device, is set to the minimal voltage ( 602  in  FIG. 6 ). Per a given frequency which is given to the clock of the First Fail Flip-Flops a test can be performed to check if the DLL delay is too short or too long at a given voltage ( 603  to  607  in  FIG. 6 ). By using this method, the voltage can be increased until a pass result is obtained by the First Fail circuit ( 605  in  FIG. 6 ). A pass condition indicates that the first fail delay is exactly within the given clock period. Once this condition is met the test can be stopped and the last passing voltage can be used by the rest of the device as the operating voltage ( 608  in  FIG. 6 ). As the First Fail circuit has an equal path delay as the worst case critical path within the device we ensure that the device will functional correctly given the same voltage of operation which is used also by the First Fail Circuit. 
     Advantages of the Invented Embodiments 
     In the current invention, the measurement of the critical path delay is done in-line to the critical path logic and an accurate representation of this path is done using a programmable DLL which is connected to the critical path logic. In prior art, the measurements of the critical path delay are done either external from the critical path logic or are not represented using a programmable DLL. 
     In the current invention, an accurate First Fail circuit is used to determine the optimal operating voltage per device for a required frequency and environment conditions such as the chip silicon corner or temperature. This First Fail Circuit uses the exact programmable DLL which was used in order to represent the accurate delay of the critical path and by using this First Fail Circuit we can mimic exactly the delay of the critical path and with this emulation get an accurate optimal operating voltage. In prior art, there is no accurate use of First Fail Circuit which mimics the exact critical path delay as done in this invention.