Circuit configured to determine a test voltage suitable for very low voltage (VLV) testing in an integrated circuit

An integrated circuit device includes general purpose input/output (I/O) circuitry having a transmit level shifter circuit in a transmit I/O circuit and a receive level shifter circuit in a receive I/O circuit. The integrated circuit device also includes an I/O pad which couples an output of the transmit level shifter circuit to an input of the receive level shifter circuit, a counter circuit, an inverter circuit coupled between the receive level shifter circuit and the counter circuit, and a logic gate. The logic gate includes a first input coupled to an output of the inverter circuit, a second input coupled to a counter_done signal from the counter circuit, and an output coupled to provide a data_out signal to an input of the transmit level shifter circuit.

BACKGROUND

Field

This disclosure relates generally to integrated circuits, and more specifically, to a circuit configured to determine a test voltage suitable for very low voltage (VLV) testing of an integrated circuit.

Related Art

Integrated circuits (ICs) need to be tested for basic functionality and retention at very low voltages to identify weak areas of the integrated circuit design during production. In current VLV testing, the operating voltage is typically set to 80% of the core operating voltage. For example, for a core voltage of 0.8V, VLV testing is performed at about 0.64V. However, as the expectation for defectivity is pushed lower (such as to the order of less than 1 parts per million (PPM)), it is desirable to run the VLV tests at even lower operating voltages, but while some ICs can be tested at these lower voltages to identify more defectivity, other ICs are unable to operate and be tested at these lower voltages. Therefore, a need exists for improved VLV testing for an IC to achieve reduced levels of defectivity.

DETAILED DESCRIPTION

In one aspect, in a system on a chip (SoC), a testing circuit is used in combination with the level shifters of a general purpose input/output (GPIO) circuit of the SoC and an external pad of the SoC to determine a minimum value of the supply voltage at which both the logic and the level shifters can properly operate. This minimum value can then be used as the test voltage to power the SoC for very low voltage (VLV) testing. This minimum value can be less than 80% of the core voltage, which may allow for the ability to identify more weak parts during production as compared to using the typical test voltage of 80% of the core supply voltage for VLV testing. In one embodiment, the level shifters and the external pad of the SoC, in combination with elements of the test circuit configured for test mode, form a ring oscillator. The supply voltage of the SoC is ramped up from zero until it reaches a voltage level sufficient for both the logic and the level shifters to operate (in which the level shifters typically require a higher supply voltage to operate as compared to the logic). As a result of the logic and level shifters becoming operational, the ring oscillator becomes operational. In one embodiment, a counter is used to determine when a predetermined number of signal transitions has occurred at a particular node of the ring oscillator. Upon the ring oscillator reaching the predetermined number of signal transitions, the voltage on the external pad of the SoC can be pulled down to zero by the test circuit, at which point the corresponding voltage level of the supply voltage can be recorded as the minimum supply voltage needed for both the logic and GPIOs to be sufficiently operational. This minimum supply voltage can then be used to perform VLV testing on the SoC. Note that by determining the minimum supply voltage in this manner, it is possible that the minimum supply voltage is determined to be less than 80% of the core voltage supply which may allow for improved VLV testing and thus improved defect coverage.

FIG.1illustrates a system10includes a system on a chip (SoC)12coupled to a circuit board14. (Note that board14may instead be a probe station at which SoC12is being tested.) SoC12includes a processor core11, a test circuit16, a general purpose I/O circuit (GPIO)18, a supply voltage presence detector circuit (SPD)38, and an external terminal42(also referred to as an I/O pad or pin). SoC12may include many other elements, as known in the art, but are not illustrated inFIG.1for simplicity. For example, SoC12may include any number of cores, a system interconnect, one or more peripherals, etc. Board14has access to external terminal42, and includes a pull-up resistor44coupled to external terminal42.

GPIO18is coupled to a first power supply terminal which is coupled to provide a first supply voltage, DVDD, and a second power supply terminal which is coupled to provide a second supply voltage, VDDIO. Therefore, the first power supply terminal may be referred to herein as DVDD, and the second power supply terminal as VDDIO. In one embodiment, DVDD is provided to a core (e.g. processor core11) of SoC12and is referred to as a core voltage. In one embodiment, VDDIO is the voltage at which SoC12interfaces with components external to SoC12via its external terminals (e.g. external terminal42), and may be greater than DVDD. GPIO18includes a transmit circuit (TX)20and a receive circuit (RX)24, such that TX20provides an output signal to terminal42, and RX24receives an input signal from terminal42. TX20includes a level shifter circuit (LS)22which translates signals received at LS22from a first voltage domain powered by DVDD to a second voltage domain powered by VDDIO, such that transmitted signals by terminal42are in the second power domain. RX24includes a level shifter circuit (LS)26which translates signals received at LS26from the second voltage domain to the first voltage domain. Therefore, level shifters22and26interface between signals within SoC12and external signals transmitted or received at terminal42. Note that if the first and second power domain have the same voltage levels, the level shifters may not be required. Also, external terminal42is coupled via pull-up resistor44to VDDIO, which in one embodiment, is a weak pull-up resistor which can be overcome by TX20when controlled by test circuit16(discussed further below).

SPD38includes a comparator40which is coupled to the first power supply terminal. Comparator40is both powered by DVDD and has a first input coupled to receive DVDD. Comparator40has a second input coupled to receive a reference voltage (REF), and an output to provide an active low “low voltage inhibit” signal, lvi_b (in which the “_b” denotes the signal as active low). SPD38indicates when a supply voltage (DVDD, in this case) has reached a voltage level sufficient for the logic of SoC12to operate. The logic includes digital logic elements such as counters, logic gates, etc. Therefore, in the illustrated embodiment, REF is set to the minimum voltage required for the logic to operate, such that, upon SoC12being powered up, prior to DVDD reaching REF, lvi_b remains a logic level low (e.g. 0) to inhibit operation of the logic, and when DVDD reaches REF, lvi_b transitions to a logic level high (e.g. 1) to indicate DVDD is at a sufficient voltage level for the logic to operate (i.e. the presence of a sufficient supply voltage has been detected). Note that any type of circuitry may be used to implement SPD, in which the output of SPD (e.g. lvi_b) indicates when the supply voltage is detected and sufficient for logic to operate reliably. The signal lvi_b is provided to both GPIO18and counter circuit32. In one embodiment, upon lvi_b transitioning from a logic level low to a logic level high, level shifters22and26are enabled (although they may not yet be able to operate properly).

Test circuit16(which may also be referred to as a VLV test voltage determination circuit) includes a MUX28, a counter circuit32, an inverter circuit33, and an AND gate30. A first data input of MUX28is coupled to receive core_data_out, which is output data provided from core11(or any core) of SoC12. A second data input of MUX28is coupled to an output of AND gate30, and a control input of MUX28is coupled to receive a test_mode signal. During normal operation of SoC12, and thus not in test mode, test_mode is negated to a logic level zero in which MUX28provides core_data_out as its output, data_out. When SoC12is in test mode, test_mode is asserted to a logic level one in which MUX28provides the output of AND gate30as its output data_out. LS22in TX30has an input coupled to receive data_out and an output coupled to external terminal42. An input of LS26in RX24is coupled to external terminal42, and an output of LS26provides data_in to an input of inverter circuit33which operates to delay and invert the value of data_in at its output. In the illustrated embodiment, inverter circuit33includes series connected inverters35,36, and37. In alternate embodiments, inverter circuit33may include any odd number of series connected inverters. Alternatively, inverter circuit33may include any combination of logic elements which operates to delay and invert the value of data_in. The output of inverter circuit33is coupled to a clock input of counter32and to a non-inverting input of AND gate30. Data_in can also be coupled to any circuitry within SoC12such that SoC12can use inputs received at external terminal42during normal operation. An inverting input of AND gate30is coupled to an output, counter_done, of counter32. (The inverting input of AND gate30may be referred to as the first input and the non-inverting input as the second input.)

Counter32includes storage circuitry34which stores a predetermined expire value. Counter32counts active edges on its clock input, and when the count value of counter32reaches the expire value, its output, counter_done, is asserted to a logic level high (e.g. one). In the illustrated embodiment, the active edges correspond to rising edges on the clock input, but alternatively, the active edges may correspond to falling edges on the clock input. In yet another embodiment, counter32may count each transition (e.g. rising and falling edges) on its clock input (in this case, the expire value can be determined accordingly). Counter32also has a reset input, R, coupled to receive lvi_b. Due to the bubble at the reset input, when the reset input receives a logic level low (e.g. zero), counter32is reset back to zero. In alternate embodiments, counter32may count down instead of count up to assert counter_done upon counting an “expire value” number of active edges (or signal transitions).

In operation, during test mode, SoC12is powered up such that DVDD is ramped up from 0V. For test mode operation, test_mode is asserted to a logic level one such that the output of AND gate30is provided as data_out to LS22. In this configuration, TX20, external terminal42, RX24, inverter circuit33, and AND gate30form a ring oscillator46. As DVDD is ramped up, ring oscillator46will start oscillating when DVDD is sufficient for the logic to operate (e.g. including counter32, AND gate30, MUX28, and inverter circuit33) and is also sufficient to allow the level shifters of GPIO18to operate, resulting in a clock signal at the clock input of counter32. When DVDD is sufficient for the logic to operate, lvi_b transitions to a logic level one, enabling counter32to start counting. Upon counter32counting a predetermined number of active edges (e.g. rising edges), counter_done is asserted, forcing the output of AND gate30, and thus data_in, to be held at zero. At the point that data_in is held at zero, DVDD has reached a minimum voltage level at which SoC12(including the logic and the GPIOs) is assumed to be reliably operational. This minimum voltage level for DVDD can therefore be used to run VLV tests in SoC12. This minimum voltage level for DVDD, in many cases, is below 80% of the core voltage level for DVDD, allowing for lower voltage levels than currently used for VLV testing.

Operation during test mode will be further described in reference to the timing diagram ofFIG.2. SoC12can be connected, for example, to automatic test equipment (ATE) which controls DVDD and monitors (e.g. samples) external terminal42. At time0, DVDD is ramped up from 0V by the ATE. Since DVDD is not sufficient yet for logic to operate, lvi_b remains asserted at zero to continue to inhibit the logic from operating (which also ensures counter32is reset and counter_done remains deasserted at zero). At time t2, DVDD hits a voltage level which triggers SPD38to release lvi_b by negating lvi_b to a logic level high, indicating that counter32, AND gate30, and inverters33are able to operate. When lvi_b transitions to a logic level high, level shifters20and22are enabled (although they are not yet operational) and counter32is enabled to start counting active edges on its clock input. Since counter32is not enabled prior to the assertion of lvi_b, any spurious transitions (such as transition52inFIG.2) which propagate to the output of inverter circuit33prior to time t2are not counted by counter32. (Also, note that starting at time0, weak pull-up resistor44is alive and pulls up external pad42until it is overridden when ring oscillator46is operational.)

Upon lvi_b transitioning to a logic level high, DVDD continues to ramp up, and once it reaches a level sufficient for the level shifters to operate, data_out is provided by LS22to external terminal42, which is then received by LS26and provided as data_in to inverter circuit33. Data_in propagates through inverters37,36, and35to provide a delayed and inverted value of the value of data_in to counter32. The output of inverter circuit33is communicated via AND gate30and MUX28as data_out to LS22. With the level shifters operational, ring oscillator46is operational, such that the signal at LS22is again communicated via terminal42to LS26to produce data_in, in which the output of inverter circuit33is toggled. It is assumed that in this example, the expire value of counter32is three such that after three rising edges of data_in (represented by transitions54inFIG.2), counter_done is asserted (at time t3). In alternate embodiments, the expire value can be any value, such as, for example, ten or more, and may also depend on whether counter32counts only falling edges, only rising edges, or both rising and falling edges.

Prior to time t3, while counter_done is negated at zero due to being held at reset by lvi_b, the first input to AND gate30is one (corresponding to the inversion of counter_done). With the first input of AND gate30a one, the value at the second input is transferred via MUX28as data_out. However, when counter_done is asserted in response to a third active edge from inverter circuit33, the first input to AND gate30becomes a zero. This forces the output of AND gate30to be zero and remain zero as counter_done remains asserted. With the output of AND gate30a zero, data_out, terminal pad42, and data_in all become and remain zero as well. Due to the propagation of counter_done through AND gate30, MUX28, and level shifters22and26, data_in becomes zero at time t4, which is shortly after counter_done is asserted at time t3. Note that data_in remains zero after time t4. With data_in at zero, pull-up resistor44is overcome and external pad42is pulled down to zero as well.

With data_in (and thus external pad42) remaining at zero for more than a predetermined amount of time, it is known that DVDD is both at a sufficient level for the logic to operate and at a sufficient level for the GPIO (e.g. level shifters) to work properly. That is, SPD38first releases (i.e. negates) lvi_b to a logic level one, which enables counter32so that it can start counting (and enables other logic to operate). Then, once DVDD further increases to the appropriate level, the level shifters begin to operate as part of ring oscillator46. Therefore, in one embodiment, upon assertion of counter_done, it is assumed that DVDD is at the minimum DVDD voltage level required to properly operate SoC12for VLV testing (labeled as DVDD min inFIG.2). In another embodiment, the minimum level of DVDD is taken at a predetermined amount of time shortly after t3, such as t4, or even later. In one embodiment, the ATE may wait until the voltage level on external pad42is 0V for a predetermined amount of time, which may occur shortly after t4. Therefore, at some point after counter32reaches its expire value (as indicated by external pad42reaching and remaining at zero), the ATE can record the corresponding DVDD value at that point as DVDD min.

By using test circuit16, a minimum DVDD (also referred to as a lowest test voltage level) can be determined to perform VLV testing. In one embodiment, each die on a wafer includes a test circuit like test circuit16, and an ATE may test each die on a wafer to determine the minimum DVDD at which both the logic and GPIOs work. Furthermore, the ATE can perform the test over a range of process, voltage, and temperature (PVT) parameters, such as at the PVT corners.FIG.3illustrates a distribution of samples that have been tested over a range of PVT values, in which each sample (e.g. die) is operated at a given PVT to determine the DVDD. The results for the samples (identified along the x axis ofFIG.3) are then plotted at the determined DVDD min level (along the y axis ofFIG.3) for that sample, in which the results are plotted with increasing DVDD min levels inFIG.3. In the example that the core voltage is 0.8V, typically VLV testing is done at 80% of the core voltage, which is 0.64 V (or 640 mV). In the example ofFIG.3, all the samples (close to 200 samples) fall below 640 mV, and thus can operate across the tested PVT values at 640 mV. Furthermore, about half the samples could instead be tested at an even lower voltage, 500 mV, as can be seen by nearly half of the samples having a DVDD min value less or equal to 500 mV. Therefore, certain samples (e.g. die) can be powered at a DVDD lower than 80% of the core voltage for VLV testing. This allows for the VLV testing to catch and weed out more defective parts, thus reducing the defectivity to lower a lower PPM.

In one embodiment, the ATE can test each die of each wafer in a wafer lot or multiple lots and determine a min DVDD at which to perform VLV testing for each die. In an alternate embodiment, a representative die can be used for each wafer or for a larger number of die (e.g. multiple wafers) to determine the min DVDD to be used for VLV testing. In another embodiment, each die of a plurality of die is tested and the min DVDD is recorded for each die, and the highest of the recorded min DVDDs is used as the test voltage for every die in the plurality of die for VLV testing.

FIG.4illustrates a method60for selecting a min DVDD using a test circuit such as test circuit16. Method60may be implemented, for example, by an ATE, which may use probe14to access and monitor external pad42to determine the min DVDD values. Method60begins with block62in which a plurality of samples is received for testing. Each sample can be, e.g., an IC device or an IC die, and may be located on a single wafer or multiple wafers. At block64, test mode is entered for the samples (e.g. the test_mode input signal to MUX28is asserted). In one embodiment, the test_mode signal is connected to a pin and directly received from the ATE. For each received sample, at block66, a supply voltage (e.g. DVDD) is ramped up in block68to determine a minimum voltage level of the supply voltage (e.g. DVDD min) that enables operation of the logic and GPIO level shifters of the sample, and at block70, this determined minimum voltage level is recorded. Note that in block66, the ATE can determine DVDD min for each sample by monitoring the external pin used by the test circuit (e.g. external pin42used by test circuit16) to determine when it goes to zero and remains at zero. The point at which this is observed on the external pin, the corresponding DVDD value can be recorded as DVDD min (in block70). After recording the DVDD min for each sample, at block72, a minimum voltage level (a DVDD min) is selected from all the recorded DVDD min values. In one embodiment, the maximum DVDD value is selected. This selected DVDD min value is then used as a test voltage (i.e. test power supply voltage) at which to perform VLV testing on all of the samples of the plurality of samples (received at block62). Alternatively, each recorded DVDD min for a sample can be used as the test voltage to perform VLV testing on that sample. Furthermore, different DVDD min values can be stored per sample at different PVT criteria. For example, a lower DVDD min value may be selected for testing at higher temperatures.

Therefore, by now it can be appreciated how a test circuit in combination with a supply voltage detection circuit can be used to determine a minimum supply voltage necessary for both the logic and the GPIOs of an IC to work. This determined voltage can then be used as the test supply voltage to perform VLV testing. By using a supply voltage that is even lower than the typical 80% of the core supply voltage for VLV testing, improved defect coverage can be achieved by weeding out more parts (e.g. weaker parts) as defective during production, allowing for lower defectivity rates after production.

Although the invention is described herein with reference to specific embodiments, various modifications and changes can be made without departing from the scope of the present invention as set forth in the claims below. For example, counter32may monitor other nodes of ring oscillator42to obtain its count of edges. Accordingly, the specification and figures are to be regarded in an illustrative rather than a restrictive sense, and all such modifications are intended to be included within the scope of the present invention. Any benefits, advantages, or solutions to problems that are described herein with regard to specific embodiments are not intended to be construed as a critical, required, or essential feature or element of any or all the claims.

An integrated circuit device includes general purpose input/output (I/O) circuitry including a transmit level shifter circuit in a transmit I/O circuit and a receive level shifter circuit in a receive I/O circuit; an I/O pad coupling an output of the transmit level shifter circuit to an input of the receive level shifter circuit; a counter circuit; an inverter circuit coupled between the receive level shifter circuit and the counter circuit; and a logic gate including a first input coupled to an output of the inverter circuit, a second input coupled to a counter_done signal from the counter circuit, and an output coupled to provide a data_out signal to an input of the transmit level shifter circuit. In one aspect, during a test mode, a supply voltage to the transmit level shifter and receive level shifter circuits is ramped up over time; when the supply voltage reaches a lowest level of voltage that enables operation of the counter circuit, the inverter circuit, and the logic gate circuits, the transmit level shifter circuit outputs a transmit signal to the receive level shifter circuit through the I/O pad, a data input signal output by the receive level shifter circuit is provided as input to the inverter circuitry, the output of the inverter circuit is provided as input to the counter circuit and the logic gate, the logic gate outputs a data output signal to the transmit level shifter circuit, the counter circuit changes a counter value when the output of the inverter circuit changes value, and when the counter value in the counter circuit reaches a specified value, the counter circuit asserts the counter_done signal. In another aspect, the integrated circuit device further includes a pull-up resistor connected between an I/O supply voltage terminal and the I/O pad. In another aspect, the integrated circuit device further includes a supply voltage present detect circuit with a first input connected to the supply voltage, a second input connected to a reference voltage, and an output that provides a low voltage indicator that indicates when the supply voltage is above or below the reference voltage. In a further aspect, the reference voltage is a lowest level of voltage that enables operation of the counter circuit, the inverter circuit, and the logic gate. In yet a further aspect, the low voltage indicator is used by the counter circuit to reset the counter value when the low voltage indicated signal is a first value and to change the counter value when the low voltage indicated signal is a second value. In another aspect of the above embodiment, the integrated circuit device further includes a multiplexer with a control input coupled to a test mode signal, a first input coupled to the output of the logic gate, a second input coupled to a core data output signal, and an output coupled to provide the data output signal to the input of the transmit level shifter circuit. In another aspect, the integrated circuit device further includes a first inverter device having an input connected to the data input signal and an output connected to an input of a second inverter device; the second inverter device having an output connected to an input of a third inverter device; the third inverter device having an output that provides the output of the inverter circuit. In another aspect, the logic gate is a AND gate having the first input receiving the counter_done signal being an inverting input.

In another embodiment, a method of determining a lowest test voltage level for two or more integrated circuit devices includes, during a test mode, ramping a supply voltage to increasing values. When the supply voltage reaches a lowest level of voltage that enables operation of transmit level shifter and receive level shifter circuits in the two or more integrated circuit devices, for each of the integrated circuit devices, the method includes using output from the transmit level shifter circuit as input to the receive level shifter circuit, toggling output from the received level shifter circuit by inverting the output from the receive level shifter circuit, providing the inverted output from the receive level shifter circuit as input to the transmit level shifter circuit, and recording a value of the supply voltage after a specified number of times of toggling the output from the receive level shifter circuit. The method further includes using one of the recorded supply voltages from among the two or more integrated circuit devices as a test voltage for all the two or more integrated circuit devices. In one aspect, the method further includes providing the output from the transmit level shifter circuit through an I/O pad to the receive level shifter circuit. In a further aspect, the method further includes level shifting the transmit signal to a data input signal; providing data input signal as the output from the receive level shifter circuit. In another aspect of the another embodiment, the method further includes providing the inverted output from the receive level shifter circuit to a first input of a logic gate. In a further aspect, the method further includes providing the inverted output from the receive level shifter circuit as the input to the transmit level shifter circuit through the logic gate. In another further aspect, the method further includes providing the supply voltage to general purpose I/O circuitry that includes the transmit level shifter and receive level shifter circuits. In another aspect of the another embodiment, the method further includes pulling up voltage on the I/O pad until the supply voltage reaches a level that enables the operation of the transmit level shifter and receive level shifter circuits.

In yet another embodiment, a processing system includes a processor core; general purpose input/output (GPI/O) circuitry coupled to the processor core, the GPIO circuitry including: transmit circuitry including a transmit level shifter circuit and receive circuitry including a receive level shifter circuit, an input of the receive level shifter circuit coupled to an output of the transmit level shifter circuit; an inverter circuit including an input coupled to an output of the receive level shifter circuit; a counter circuit including an input coupled to an output of the inverter circuit and an output, the counter circuit configured to indicate when the output of the inverter circuit changes value a specified number of times once a supply voltage to the GPIO circuitry reaches a minimum level; and a logic gate including a first input coupled to the output of the counter circuit, a second input coupled to the output of the inverter circuit, and an output coupled to an input of the transmit level shifter circuit. In one aspect, the processing system further includes a multiplexer including a first input connected to a core data out signal from the processor core, a second input connected to the output of the inverter circuit, a control input coupled to a test mode signal, and an output coupled to the input of the transmit level shifter circuit. In another aspect, the processing system further includes an input/output (I/O) pad connected to the output of the transmit level shifter and the receive level shifter circuits; and a pull-up resistor connected to the I/O pad. In yet another aspect, the processing system further includes a supply voltage presence monitor circuit including a first input connected to the supply voltage, a second input connected to a reference voltage, and an output that indicates whether a logic supply voltage reached a minimum level.