Abstract:
A method for implementing a Semiconductor Integrated Circuit device using Near/Sub-threshold technology with SOFTWARE programmable Adaptive Dynamic Voltage Control (ADVC) algorithm using different sensors inside the chip in order to improve the target speed and reduce the energy per operation of the final product. This method achieves the best power per performance for a given solution operating at a required speed.

Description:
FIELD 
       [0001]    Embodiments of the invention relate generally to the field of silicon design and more specifically to a Near/Sub-threshold implementation that optimizing energy per operation for a given design and target speed. 
       BACKGROUND 
       [0002]    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. 
         [0003]    Reducing the operating voltage is the most effective method for power reduction and working at the Near/Sub-threshold voltage domain can save 70-80% from the dynamic power consumption and 80-90% from the leakage power. Near/Sub-threshold technology is a way of operating the CMOS transistors in their weak inversion state where the transistors are never fully turned on. When operating in the Near/Sub-threshold region, the transistor state varies between being fully turned off and partially turned on. 
         [0004]    When operating in the Near/Sub-threshold region, transistors operate at a near or lower voltage than their threshold voltage (known as VT) and by such operation the transistor use less power. During Near/Sub-threshold voltage operation, both dynamic power and static power are reduced. Dynamic power is a ratio of the operating voltage by a power of two and the static power at this Sub-threshold voltage domain is also at exponential ratio of the operating voltage, therefore reducing the operating voltage of the device to a Near/Sub-threshold voltage level will reduce the energy per operation dramatically. 
         [0005]    One of the major limiting factors for using Near/Sub-threshold technology is the low speed performance of the transistors that goes down in an exponential ratio compared to the voltage drop and due to this limitation the usage of Near/Sub-threshold technology in commercial chips is very limited. 
         [0006]    The second limiting factor is the deep sub-micron process variation and the requirement during the design phase to ensure that the device performance is met in the worst case condition of the process. This causes a large overhead during the design and increases area and power dramatically. In today&#39;s solutions which try to maximize the maximum achievable speed at worst case conditions, which represent less than 1% of the material in production, a huge overhead is paid in area and power for all the material. 
         [0007]    Various methods and implementations for the Near/Sub-threshold technology exist today that focus only on power reduction and not on the optimal way to use this technology for a given power per performance required by a specific application or how to improve the target performance per a given target operating voltage. 
         [0008]    In order for this technology to have practical application, a method is required that optimizes power consumption while still meeting the performance requirements for a specific product or application. 
       SUMMARY 
       [0009]    For one embodiment of the invention, a Near/Sub-threshold technology flow implementation is provided that optimizes energy per operation for a given performance requirement by optimizing dynamically and adaptively the operating voltage level per a given process corner and temperature. These parameters are sampled on the fly from the silicon. 
         [0010]    Additionally, embodiments of the invention also include implementation and characterization of a library that is optimized for use at Near/Sub-threshold voltage levels, and that can support dynamic change of the voltage from the Sub-threshold levels up to the high voltage levels. 
         [0011]    Embodiments of the invention allow a Near/Sub-threshold implementation of ultra-low power design flow. Embodiments of the invention may be used by any system which requires ultra-low power consumption. 
         [0012]    Additionally, embodiments also include implementation of a programmable DC2DC convertor which connects directly to the external battery and supplies the needed operating voltage of the device core. This DC2DC output voltage is programmable and can be changed via a CPU command. The DC2DC output voltage range is programmable from Sub-threshold voltage levels up to high voltage levels with a small increment of a few mV. 
         [0013]    Additionally, embodiments of the invention may also include one or more special sensors inside the chip for checking performance and temperature monitoring which help to determine the required operating voltage for the device. 
         [0014]    Additionally, embodiments of the invention may also include one or more special first fail circuits which can be used to represent the worst case path of the logic or memory design and are capable of operating from a different power source than the device power source. 
         [0015]    Additionally, embodiments also include a SOFTWARE programmable algorithm to verify adaptively and dynamically the needed operating voltage for the target speed on the first fail circuits and then implement this voltage for the rest of the device. 
     
    
     
       BRIEF DESCRIPTION OF THE DRAWINGS 
         [0016]    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: 
           [0017]      FIG. 1  illustrates example schematic of the Power Management Unit (PMU) that includes the DC2DC, LDO, First fail circuits, CPU and sensors; 
           [0018]      FIG. 2  illustrates the SOFTWARE algorithm flow chart for the Adaptive Dynamic Voltage Control (ADVC) which is used to make a decision on the optimal operating voltage to be used according to the inputs from the different sensors and the given target speed; 
           [0019]      FIG. 3  illustrates an example schematic of the structure of the first fail top level circuit; 
           [0020]      FIG. 4  illustrates an example design of the DLL design used in the first fail circuit; 
       
    
    
     DETAILED DESCRIPTION 
       [0021]    A flow to design a Near/Sub-Threshold solution ASIC using SOFTWARE programmable Adaptive Dynamic Voltage Control (ADVC) to improve the device power performance and to ensure optimal energy per operation for a given required speed or target operation. 
         [0022]    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. 
         [0023]    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. 
         [0024]    Moreover, inventive aspects lie in less than all features of a single disclosed embodiment. Thus, the claims following the Detailed Description are hereby expressly incorporated into this Detailed Description, with each claim standing on its own as a separate embodiment of this invention. 
         [0025]    For one embodiment of the invention, the implementation may be effected using SOFTWARE control on the operating voltage to improve the device power per given performance. By increasing the operating voltage, the performance increases exponentially while the dynamic power increase only by the power of two. However, the Adaptive Dynamic Voltage Control (ADVC) algorithm defines the operating voltage to be the lowest possible voltage at which the device operates correctly. 
         [0026]    For another embodiment of the invention, the decision on the correct operating voltage for the device is done using different sensors which exist inside the silicon such as temperature sensors or process monitor sensors or other unique sensors as shown at  FIG. 1  block  104  and also a first fail circuit as shown at  FIG. 1  block  102  and a SOFTWARE algorithm that checks both sensors output and also the performance of the first fail circuits which are built to be the worst case path of the logic design per a specific device. The first fail circuit is connected to a different power source which can also be controlled by the SOFTWARE without influencing the rest of the logic voltage, the SOFTWARE changes this voltage level up and down until the first fail circuit goes from non-functional state to functional state and utilizes this information to know the lowest optimal voltage which is needed for the design to operate correctly. 
         [0027]    For another embodiment of the invention, the implementation uses an exemplary circuit of a Power Management Unit (PMU) block. This block includes a programmable DC2DC block (item  100  in  FIG. 1 ) which generates the required voltage to operate the digital logic of the device from the battery input, a programmable LDO block (item  101  in  FIG. 1 ) which generates the required voltage for the first fail circuits from the battery input. The implementation also includes a CPU block (item  103  in  FIG. 1 ) which runs the ADVC SOFTWARE algorithm that controls the different blocks inside the PMU, reads the on chip sensors and operates the first fail circuit to determine the correct operational voltage level 
         [0028]    For another embodiment of the invention, the implementation includes a SOFTWARE algorithm for Adaptive Dynamic Voltage Control (ADVC) that calculates the optimal voltage to be used for the design per a given required frequency as shown in  FIG. 2 . The process shown in  FIG. 2  begins with reset or wake-up of the CPU (box  200  in  FIG. 2 ) which reads the target speed from the Flash or gets it from the higher level SOFTWARE (box  201  in  FIG. 2 ). Then the CPU powers-up the different sensors inside the device (box  202  in  FIG. 2 ) and reads different sensors data (box  203  in  FIG. 2 ). From the data that was read from the different sensors the CPU calculates the target operating voltage per the given target frequency (box  204  in  FIG. 2 ). The CPU then sets the initial voltage for the first fail circuit to give the target voltage as was calculated (box  205  in  FIG. 2 ). Then the CPU checks the correct operation of the first fail circuit (box  206  in  FIG. 2 ). If the first fail circuit fails to operate correctly, then the CPU sets the fail register and increases the first fail voltage output by a small increment for (box  207  in  FIG. 2 ). Then the CPU checks again the operation of the first fail circuit and if again it&#39;s not working correctly it raises the voltage of the first fail by another small increment. The CPU continues with this loop until it gets the first fail circuit to work correctly. When the first fail circuit works correctly the CPU checks if the fail flag equals 1 (box  208  in  FIG. 2 ), if not then the CPU knows the first fail logic didn&#39;t fail before and it can reduce the voltage by a small decrement (box  209  in  FIG. 2 ) and go back to check the first fail circuit operation. If the fail flag equals 1 then the CPU knows the loop ended and sets the design voltage using the DC2DC output to the same value as the first fail voltage with a small increment (box  210  in  FIG. 3 ) this changes the voltage level of the digital logic of the device to the required voltage which is the optimal voltage per the needed frequency and the device environment parameters. Then the CPU powers down the different sensors (box  211  in  FIG. 2 ) goes to sleep for a short period (box  212  in  FIG. 2 ) and when woken-up starts the loop again. 
         [0029]    For another embodiment of the invention, the implementation includes a First Fail circuit which is illustrated in  FIG. 3 . This Figure shows the top level block diagram of the first fail circuitry in accordance with one embodiment of the invention. The first fail circuitry includes one input register (item  300  in  FIG. 3 ) which can be written to by the CPU and few Digitally controlled delay lines (DLL) (items  301 - 302  in  FIG. 3 ) and few sampling registers, according to the number of the DLL&#39;s used (items  303 - 304  in  FIG. 3 ). These registers can be read back by the CPU. One of these sampling registers is read at a time using the multiplexer (item  305  in  FIG. 3 ). 
         [0030]    The different DLL blocks (items  301 - 302  in  FIG. 3 ) are identical in circuitry, but different in implementation, with each DLL having different wire lengths between its internal circuits, which makes the delay of each DLL circuit different to represent different worst case paths in the design. 
         [0031]      FIG. 4  describes the detailed design of the Digitally controlled delay lines (DLL) elements. These are comprised of delay cells (items  400 , 402 , 404 , 406 , 408  in  FIG. 4 ) and multiplexers (items  401 , 403 , 405 , 407 , 409  in  FIG. 4 ). The control bus choses per multiplexer if the path with the delay cell is chosen (control[x]==1)) or the path without the delay cell is chosen (control[x]==1)). In this way the CPU can digitally control the delay of the DLL. 
         [0032]    For another embodiment of the invention, the first fail circuit path length is programmable and can be controlled by the SOFTWARE after the device is manufactured and characterized. With this method after performing the chip characterization the length of this first fail path can be determined to exactly represent the worst case path in the design of the digital logic of the device. 
         [0033]    For another embodiment of the invention, the first fail circuit comprises of a few identical DLL circuits that are designed with the same circuitry, but with different wire lengths in each DLL. By using all different DLL paths, it is possible to represent worst case paths in the design of the digital logic of the device both for paths with short wires between circuitry and for paths with long wires between circuitry. 
         [0034]    Embodiments of the invention have been described as including various operations. Many of the processes are described in their most basic form, but operations can be added to or deleted from any of the processes without departing from the scope of the invention.