This disclosure relates generally to robustness of integrated circuits (ICs) in a rigorous or fault-inducing environment and, more specifically, to enabling an integrated circuit to resist the deleterious effects resulting from a short-circuit condition that develops across a pair of communication pins of the integrated circuit.
Integrated circuits are employed in numerous facets of modern life. For example, computing devices, such as internet servers and mobile phones, are powered by integrated circuit processors. Integrated circuits are further embedded in many different types of machines, from toys and televisions to cars and construction equipment. Although some of these integrated circuit applications are purely for diversion or otherwise involve low-risk activities, other applications involve critical or dangerous situations. Examples of critical or dangerous situations include moving vehicles, medical equipment, and so forth. In such critical or dangerous situations, an integrated circuit that succumbs to a faulty environment may lead not just to disappointment, but also to significant lost productivity or bodily injury, including a potential death of a passenger or patient.
In an effort to prevent an integrated circuit defect from contributing to a machine's malfunctioning, manufacturers inspect integrated circuits prior to sale. After being manufactured in a fabrication facility, an integrated circuit die that is formed on a silicon base is usually packaged in some manner, such as by being encased in plastic with external pins that lead to internal pads of the integrated circuit die. The packaged integrated circuit is then subjected to a series of tests, some of which may be performed using specialized automated testing equipment (ATE). The ATE runs the integrated circuit through a battery of tests in an attempt to verify that the integrated circuit was fabricated and packaged correctly and that the integrated circuit is able to provide appropriate outputs in response to at least a range of expected inputs. Unfortunately, conventional approaches to combating potential integrated circuit problems, such as testing by a manufacturer, are unable to prevent integrated circuits from exhibiting unexpected or undesired behavior. Consequently, conventional integrated circuits can fail to prevent, or may even contribute to causing, inconvenience, loss, and physical injury.
In an example aspect, an integrated circuit is disclosed. The integrated circuit includes a short-resistant pin and an adjacent pin. The integrated circuit also includes a short-resistant pad that is coupled to the short-resistant pin and an adjacent pad that is coupled to the adjacent pin. The integrated circuit further includes short-resistant circuitry that is coupled to the short-resistant pad and to the adjacent pad. The short-resistant circuitry is configured to detect a short-circuit condition between the short-resistant pin and the adjacent pin and to reduce an effect of the short-circuit condition on the short-resistant pin.
In an example aspect, an integrated circuit is disclosed. The integrated circuit includes a short-resistant pin and an adjacent pin. The integrated circuit also includes a short-resistant pad that is coupled to the short-resistant pin and an adjacent pad that is coupled to the adjacent pin. The integrated circuit further includes short-resistant means for preventing a short between the short-resistant pin and the adjacent pin from corrupting a signal output from the short-resistant pin. The short-resistant means is coupled to the short-resistant pad and the adjacent pad.
In an example aspect, a method for implementing short-resistant output pin circuitry is disclosed. The method includes monitoring an actual voltage level at an output of a short-resistant pin. The method also includes determining if the actual voltage level deviates from an intended voltage level for the output of the short-resistant pin. The method further includes controlling an output of an adjacent pin based on the determining.
Many integrated circuits (ICs) have a one-dimensional row or a two-dimensional matrix of input/output (I/O) pins along at least one edge or on one side of a package containing the integrated circuit. Due to a finite or limited area, the pins are likely to be spaced sufficiently close together such that a short between two adjacent pins may develop. If a short develops between two pins, an intended output of one pin may be affected by an output driven on the other pin. Consequently, one or both pins of a shorted pair of pins fails to drive the correct output that is intended by the integrated circuit.
Thus, one situation in which an integrated circuit can malfunction is in the presence of a short-circuit condition. With a short-circuit, an unexpected or undesired electrical connection occurs between two or more points of a circuit. This electrical connection can adversely impact intended signaling, such as the driving of a desired voltage level, of one or both points of the circuit that are experiencing the short-circuit. For example, a point at which a circuit is trying to generate a high level output of five volts (5 V) may instead be generating only a low level output under two volts (2 V). Incorrect signaling or processing is a likely result, which can lead to malfunctioning of a device using the integrated circuit.
A short-circuit, or short, can arise between two I/O terminals of an integrated circuit in a number of different manners. For example, packaging an integrated circuit die may introduce a short between two different I/O pads of the die. Additionally, a short may develop between two different I/O pins of a packaged integrated circuit when the integrated circuit is being installed on a printed circuit board (PCB) or in another environment. Furthermore, a short may develop over time due to vibration, corrosion, or other environmental effects.
Manufacturer testing of an integrated circuit may be capable of discovering a short or other problem with an integrated circuit die or a fully packaged integrated circuit at a manufacturing facility. Unfortunately, factory testing can be difficult for an integrated circuit that has been incorporated into a larger machine. Moreover, factory testing cannot detect ongoing environmental effects that can unexpectedly contribute to the creation of an undesired short after an integrated circuit is placed into service in the field. These inadequacies of factory-based testing can be genuinely dangerous if the integrated circuit is deployed in a critical role for a machine that is intended to provide a measure of safety, such as devices and equipment used in the medical and automotive fields.
One safety-critical usage scenario for integrated circuits involves automotive applications. For example, with an Advanced Driver Assistance System (ADAS), a dedicated pin of an integrated circuit is specified to report any faults in the integrated circuit, such as a system-on-a-chip (SoC), to other parts of an electronic or computing system of a vehicle. This dedicated pin is referred to herein as an “error pin.” A false positive or a false negative on an error pin, including those false signals caused by a short with an adjacent pin of the error pin, can result in a catastrophic failure of a vehicle that may lead to a loss of life. Thus, accidents can be prevented and lives can be saved by making the error pin resistant against the effects of shorts with adjacent pins.
To address these reliability and safety issues, a pin of an integrated circuit can be made robust against faults, including faults caused by shorts with adjacent pins that develop after an integrated circuit is installed or put in operation as part of a larger machine. In example implementations, an integrated circuit is resistant to the effects of a short-circuit condition between two I/O pins while the integrated circuit is deployed in the field. During operation, a short detector attempts to detect a short-circuit condition between two pins of an integrated circuit. If a short-circuit condition is detected between two pins for instance, an effect of the short-circuit condition on a higher-priority pin is actively reduced. To detect a short-circuit condition, a voltage level of an output of a short-resistant pin is monitored using a loopback from an output buffer of a short-resistant pad that is coupled to the short-resistant pin. If the short-circuit condition is detected based on the voltage level of the short-resistant pin, a voltage level of an adjacent pin is controlled to at least reduce an effect of the short-circuit condition on the voltage level of the short-resistant pin.
More specifically, a voltage level corresponding to a particular logical value may be driven on the short-resistant pin even in the presence of a short with the adjacent pin by controlling the voltage level of the adjacent pin. For example, an output pad of the adjacent pin may be disabled to prevent a voltage level of the adjacent pin from substantially impacting an intended correct voltage level of the short-resistant pin. Alternatively, the voltage level of the adjacent pin may be driven at the same level that is intended for the short-resistant pin to eliminate contention over the actual resulting output voltage level.
In these manners, a pin of an integrated circuit can be made resistant to adverse effects of a short that occurs between the short-resistant pin and an adjacent pin. The short detection and amelioration can be performed by the integrated circuit after installation and while operating in the field. Thus, shorts can be detected and resulting malfunctions can be prevented for integrated circuits deployed in a safety-critical, or other mission-critical, application. For example, short-resistant circuitry can be implemented in conjunction with an error pin for an integrated circuit to be used in an ADAS application to ensure that an integrated circuit fault can be successfully reported to an electronic or computing system of a vehicle.
The short 108 may adversely impact a voltage level output by the short-resistant pin 102 or the upper central adjacent pin 104 due to the unexpected electrical connection between the two pins. In certain implementations that are described herein, the short 108 is detected, and the adverse effects of the short 108 on the short-resistant pin 102 are ameliorated. Consequently, an intended voltage level output of the short-resistant pin 102 can be produced or maintained, even in the presence of the short 108. By way of example only, the short-resistant pin 102 may be implemented as an error pin in an ADAS environment.
Short-resistant output pin circuitry may be implemented in a variety of different situations with different numbers of I/O pins. For example, although shown as part of a matrix of pins in
As shown, the adjacent pin 104 is coupled to an adjacent pad 204. The short-resistant pin 102 is coupled to a short-resistant pad 202. The short-resistant pad 202 and the adjacent pad 204 are coupled to the short-resistant circuitry 206. For the first phase, no short is present between the short-resistant pin 102 and the adjacent pin 104. Consequently, an accurate signal 208 can be output from the short-resistant pin 102. The accurate signal 208 represents or implies a voltage that is at a voltage level, or at least within a range of voltage levels, that is intended by the integrated circuit 106 (of
For the second phase of the scenario 200 in the middle of
For the third phase of the scenario 200, at the bottom of
With reference to the device-oriented diagram 302, voltages are driven on output pins using two transistors. In an example implementation, a pair of field effect transistors (FETs) are coupled in series between a supply voltage and ground for each output pin. A p-type FET (PFET) is coupled to the supply voltage, and an n-type FET (NFET) is coupled to the ground. A node between the PFET and the NFET drives the voltage on the output pin.
A “1” or high voltage can be driven by turning on the upper PFET and turning off the lower NFET. Conversely, a “0” or low voltage can be driven by turning off the upper PFET and turning on the lower NFET. In an example scenario that is used to describe relative voltage levels for pins connected by the short 108, a “1” is driven on the adjacent pin 104, and a “0” is driven on the short-resistant pin 102. Thus, the PFET for the adjacent pin 104 is turned on, and the NFET for the short-resistant pin 102 is turned on.
The correspondence 300 is presented in terms of this example scenario in which the PFET for the adjacent pin 104 and the NFET for the short-resistant pin 102 are turned on. Thus, the resistor-oriented diagram 304 models the PFET as a resistor RPMOS (i.e., the resistance (R) of a p-channel metal-oxide-semiconductor (PMOS) FET that is turned on), the NFET as a resistor RNMOS (i.e., the resistance (R) of an n-channel metal-oxide-semiconductor (NMOS) FET that is turned on), and the short 108 as a resistor RShort. These three resistors are coupled in series in the resistor-oriented diagram 304 between an upper voltage VDD (e.g., a supply voltage (VDD)) and a lower voltage VSS (e.g., a ground voltage (VSS)). The resistor RPMOS is coupled between a node for the upper voltage VDD and the adjacent pin 104. The resistor RShort couples the adjacent pin 104 to the short-resistant pin 102. And the resistor RNMOS is coupled between the short-resistant pin 102 and a node for the lower voltage VSS.
A voltage that is observed at the short-resistant pin 102 in the presence of the short 108 is termed VObserve in the resistor-oriented diagram 304. A value or level of VObserve depends on the voltages that are intended to be driven on the short-resistant pin 102 and the adjacent pin 104, as well as on the values of the resistances of the transistors that are turned on. The value of VObserve further depends on relative strengths of the signals that are driven on the output pins. Examples of values that can be observed on the short-resistant pin 102 (e.g., VObserve) and on the adjacent pin 104 in dependence on relative signal strengths thereof are described below with reference to the graphs of
With reference to the lower graph 404, waveforms 418, 420, and 422 are depicted. Although the short-circuit activation is applicable to both graphs, the short-circuit activation is represented by the waveform 422 in the lower graph 404. As shown, the short-circuit condition develops over 0.1 nanoseconds between 5.0 and 5.1 nanoseconds. The waveform 418 indicates that the short-resistant pin 102 is intended to be driven at 1.0 volt over the 0.5 nanosecond timespan that extends from 4.8 to 5.3 nanoseconds. The waveform 420 indicates that the adjacent pin 104 is intended to be driven at 0.0 volts over the 0.5 nanosecond timespan.
With reference to the upper graph 402, waveforms 406, 408, 410, 412, 414, and 416 are depicted in pairs for three different cases. In the first case, the waveforms 406 and 408 relate to a situation in which the short-resistant pin 102 is driven relatively more strongly than the adjacent pin 104. The waveform 406 represents the voltage for the short-resistant pin 102, and the waveform 408 represents the voltage for the adjacent pin 104. In the second case, the waveforms 410 and 412 relate to a situation in which the driving strengths of the short-resistant pin 102 and the adjacent pin 104 are relatively balanced. The waveform 410 represents the voltage for the short-resistant pin 102, and the waveform 412 represents the voltage for the adjacent pin 104. In the third case, the waveforms 414 and 416 relate to a situation in which the adjacent pin 104 is driven relatively more strongly than the short-resistant pin 102. The waveform 414 represents the voltage for the short-resistant pin 102, and the waveform 416 represents the voltage for the adjacent pin 104.
In each of the three cases, as the short-circuit condition develops, the output voltages on the pins are pulled away from the respective intended voltage levels. The voltage driven by the signal having the relatively weaker strength moves farther toward the other voltage driven by the relatively stronger strength. For instance, because the short-resistant pin 102 is driven relatively more strongly than the adjacent pin 104 in the first case, the voltage of the waveform 406 drops relatively slightly from the 1.0 V voltage level intended for the short-resistant pin 102, but the voltage of the waveform 408 rises relatively significantly from the 0.0 V voltage level intended for the adjacent pin 104. The opposite is true for the waveforms 414 and 416. In each of the three cases, the output voltage levels that result from the occurrence of the short-circuit condition move toward the central voltage (e.g., 0.5 V) into an intermediate voltage range away from the 0.0 V and 1.0 V voltages. The occurrence of a voltage level within this intermediate voltage range can be used as part of a technique to detect the occurrence of a short-circuit condition, which technique is described further below with reference to at least
As shown in
In an example implementation, the short-resistant pin 102 is responsible for communicating critical information, such as a signal indicative that an air bag should be deployed, a signal reporting that an internal fault has been experienced by the integrated circuit, and so forth. The short-resistant pin core logic 502 processes data to produce such a signal. The adjacent pin 104 is responsible for less critical communications. Examples include a signal indicative of low tire pressure, a signal representing pixels on a display screen, a bit of a memory address, and so forth. The adjacent pin core logic 504 processes this relatively less critical incoming or outgoing data accordingly.
In example implementations, the short-resistant circuitry 206 includes the short detector 506 and the output controller 508. Generally, the short detector 506 is configured to detect a short-circuit condition between the short-resistant pin 102 and the adjacent pin 104. And the output controller 508 is configured to ameliorate the detected short-circuit condition by reducing an effect of the short-circuit condition on a voltage level of an output of the short-resistant pin.
The short-resistant pin core logic 502 is coupled to the short-resistant pad 202. The short-resistant pad 202 communicates the signal 510 to the short-resistant pin core logic 502 and to the short detector 506 of the short-resistant circuitry 206. The signal 510 is a loopback of the voltage on an output of the short-resistant pad 202. Consequently, the short detector 506 can monitor the voltage level of the output signal on the short-resistant pin 102. Furthermore, if the short-resistant pad 202 includes an input capability, the short-resistant pin core logic 502 can receive incoming signals from the short-resistant pin 102. For outgoing signals, the short-resistant pin core logic 502 communicates the signal 512 to the short-resistant pad 202. Thus, the short-resistant pin core logic 502 can provide an output signal, such as an error report, for the short-resistant pin 102.
The short detector 506 is configured to monitor the voltage level of the output of the short-resistant pin 102 based on the signal 510. The short detector 506 is also configured to provide a detection alert indicator to the output controller 508 responsive to the voltage level of the output of the short-resistant pin 102. The detection alert indicator is asserted if a short is detected by the short detector 506. The short detector 506 provides the detection alert indicator to the output controller 508 via the signal 514. The short detector 506 can detect the short 108 (of
The adjacent pin core logic 504 is coupled to the adjacent pad 204. The adjacent pad 204 communicates the signal 516 to the adjacent pin core logic 504. The signal 516 provides data to the adjacent pin core logic 504 that is input to the integrated circuit via the adjacent pin 104. The adjacent pin core logic 504 is also coupled to the output controller 508. The adjacent pin core logic 504 communicates the signal 518 to the output controller 508. The signal 518 can carry output data for the adjacent pin core logic 504. The output data is routed through the output controller 508 so that the output controller 508 can act as a gateway for data output functionality for the adjacent pin 104.
The output controller 508 controls an output of the adjacent pad 204 for the adjacent pin 104 using the signal 520. The output controller 508 can control the output of the adjacent pin 104 to at least reduce an impact of the adjacent pin 104 on a voltage level of a signal output by the short-resistant pin 102 based on the signal 514 from the short detector 506. If the detection alert indicator of the signal 514 is not asserted, the output controller 508 forwards the voltage level of the signal 518 onto the signal 520 to enable the adjacent pin core logic 504 to output desired data on the adjacent pin 104 via the adjacent pad 204.
On the other hand, if the detection alert indicator of the signal 514 is asserted, the output controller 508 configures the signal 520 so that the output of the adjacent pin 104 does not corrupt the intended signal at the short-resistant pin 102, even in the presence of a short between the adjacent pin 104 and the short-resistant pin 102. For example, the output controller 508 can use the signal 520 to disable the output of the adjacent pad 204. Alternatively, the output controller 508 can use the signal 520 to cause the adjacent pad 204 to drive a signal on the adjacent pin 104 that is the same as the intended signal for the short-resistant pin 102. The output controller 508 can control the voltage level of the adjacent pin 104 by causing an output of the adjacent pin 104 to have a voltage value that corresponds to a correct voltage level for the short-resistant pin 102, with the correct voltage level indicated by the short-resistant pin core logic 502. The output controller 508 can control an output of the adjacent pin 104 to prevent the short 108 (of
In the middle portion of the timing diagram 600, an adjacent pin signal 604 is driven low at the first rising edge of the clock signal 602. At the second rising edge of the clock signal 602, a short-resistant pin signal 606 is driven high. The intended voltage level for the short-resistant pin 102 is therefore high. However, the short between the adjacent pin 104 and the short-resistant pin 102, which occurs at the arrow 616, adversely impacts the intended voltage level in the absence of short-resistant circuitry. A short-resistant pin (with short) signal 608 reflects this adverse impact. As indicated at an arrow 618, the short-resistant pin (with short) signal 608 takes on an intermediate voltage level after the short in the absence of efforts to ameliorate the short. This intermediate voltage fails to convey the intended signal on the short-resistant pin 102.
In the lower portion of the timing diagram 600, voltage levels of signals on the short-resistant pin 102 and the adjacent pin 104 are shown in the presence of the short amelioration 212 that is effectuated by the short-resistant circuitry 206 (of
In example implementations, the short detector 506 also provides the signal 514 having a detection alert indicator to the adjacent pin input control logic 714 and to logic for handling diagnostic logging and interrupts. For diagnostic logging purposes, detected shorts may be recorded, cataloged, and analyzed. For interrupt purposes, a detected short may precipitate an interrupt of one or more processes that are onboard the integrated circuit or a forwarding of the interrupt to another integrated circuit.
In an example implementation, an output enable terminal of the output buffer 702 is asserted so that information, such as a fault report or other data that is provided from the short-resistant pin core logic 502 via the signal 512, can be made available as an output on the short-resistant pin 102 via the short-resistant pad 202. The short-resistant pin core logic 502 can enable the input buffer 706 of the short-resistant pad 202 by providing an input enable indication (e.g., by asserting) an input enable terminal of the input buffer 706 using the signal 712. If enabled, the input buffer 706 is capable of providing data that is input to the integrated circuit via the short-resistant pin 102 to the short-resistant pin core logic 502 via the signal 510. The input buffer 706 of the short-resistant pad 202 can also provide via the signal 510 for short detection purposes a loopback of the actual voltage produced on the output of the output buffer 702, which corresponds to the output for the short-resistant pin 102.
Thus, the short detector 506 monitors the voltage on the output of the short-resistant pin 102, which is obtained via the signal 510 as a loopback from the output of the short-resistant pad 202, to detect a short-circuit condition. In an example implementation, the short detector 506 determines if a short-circuit condition exists based on a comparison of the voltage on the output of the short-resistant pin 102 to a high voltage threshold and a low voltage threshold. This implementation is described further below with reference to
The adjacent pin input control logic 714 controls the input of the adjacent pin 104 by controlling an input enable terminal of the input buffer 708 of the adjacent pad 204. In a regular operational mode, the adjacent pin core logic 504 provides the signal 718 to the adjacent pin input control logic 714 as an input enable indication for the input buffer 708. In the regular operational mode, the adjacent pin input control logic 714 passes the input enable indication of the signal 718 to the input enable terminal of the input buffer 708 via the signal 720. In a short amelioration mode, however, the adjacent pin input control logic 714 overrides the signal 718 responsive to an asserted detection alert indicator of the signal 514. If the detection alert indicator is asserted, the adjacent pin input control logic 714 disables the input buffer 708 via the signal 720 to safeguard the adjacent pin core logic 504. The adjacent pin input control logic 714 may be implemented using, for example, a two-to-one multiplexer that has the signal 718 as one input and a preset de-assertion signal as another input and that is controlled by the detection alert indicator of the signal 514. If enabled, the input buffer 708 of the adjacent pad 204 is capable of providing data that is input to the integrated circuit via the adjacent pin 104 to the adjacent pin core logic 504 via the signal 516. Although not shown in
Multiple signals are sent to or sent from the output controller 508. The short detector 506, for instance, provides the signal 514 that is asserted as a detection alert indicator if a short is detected. The short-resistant pin core logic 502 provides the signal 512, which represents data to be outputted by the short-resistant pin 102—such as a fault indication, to the output controller 508. The adjacent pin core logic 504 provides the signal 518-1, which carries data, and the signal 518-2, which carries an output enable indication, to the output controller 508. The output controller 508 routes data via the signal 520-1 to the output buffer 704 of the adjacent pad 204 for exposure on the adjacent pin 104. The output controller 508 also provides an output enable indication via the signal 520-2 to an output enable terminal of the output buffer 704.
In a regular operational mode, the output controller 508 passes data received from the adjacent pin core logic 504 via the signal 518-1 to the output buffer 704 via the signal 520-1. The output controller 508 also forwards an output enable indication, which can be asserted or de-asserted, received from the adjacent pin core logic 504 via the signal 518-2 to the output enable terminal of the output buffer 704 via the signal 520-2. A short amelioration mode is entered responsive to assertion of the detection alert indicator of the signal 514 from the short detector 506. In the short amelioration mode, the output controller 508 controls an output of the adjacent pin 104 by controlling the output buffer 704 to reduce an impact of the adjacent pin 104 on the short-resistant pin 102 in the event that the integrated circuit experiences a short.
In an example implementation for the short amelioration mode, the output controller 508 uses the signal 520-2 to de-assert the output enable terminal of the output buffer 704 to prevent the adjacent pad 204 from driving a voltage on the adjacent pin 104. In an alternative implementation, the output controller 508 provides a voltage level to the output buffer 704 via the signal 520-1. The voltage level on the signal 520-1 is set to match the voltage level received from the short-resistant pin core logic 502 via the signal 512. The output controller 508 also asserts the output enable terminal of the output buffer 704 via the signal 520-2. Consequently, the output buffer 704 drives a voltage level on the adjacent pin 104 that is the same as the voltage being driven by the output node 702 on the short-resistant pin 102, which reduces contention. These implementations are described further below with reference to
In an example operation, the voltage sensor 802 compares the voltage level of the loopback 816 to the high voltage threshold 818 and the low voltage threshold 820. If the voltage level of the loopback 816 is above the high voltage threshold 818 or below the low voltage threshold 820, no alarm is generated. On the other hand, if the voltage level of the loopback 816 is below the high voltage threshold 818 and above the low voltage threshold 820, the voltage sensor 802 generates an alarm 826. In other words, if the voltage level of the loopback 816 is between the low voltage threshold 820 and the high voltage threshold 818, the voltage level is at an intermediate voltage value indicative of a short-circuit condition. The voltage sensor 802 can generate an alarm 826 that is indicative of the short 108 (of
In this example, the alarm 826 is asserted by driving the voltage at the input of the inverter 804 low. Consequently, the voltage at the output of the inverter 804, which is designated as a node 824, becomes high. The node 824 is coupled to a clock enable input of the DQ flip-flop 806 and to an upper input of the OR gate 808. The “D” input of the DQ flip-flop 806 is tied to a high voltage as represented by the “1.” The “Q” output is coupled to a lower input of the OR gate 808. The change of voltage level at the output of the inverter 804 simulates a rising edge of a clock signal at the node 824. The rising edge of the simulated clock signal triggers the DQ flip-flop 806. The triggered DQ flip-flop 806 propagates the “1” at the “D” input to the “Q” output of the DQ flip-flip 806. The high voltage at the node 824 due to the assertion of the signal 814 as the alarm 826 causes the OR gate 808 to output a high voltage for an assertion of the detection alert indicator 822.
The DQ flip-flop 806 serves to latch the alarm 826 that indicates a short detection. The indication can be stored until cleared by software or other hardware. The short detector 506 outputs the asserted detection alert indicator 822 as the signal 514, which is communicated to the output controller 508. An example of how the output controller 508 uses and responds to the asserted detection alert indicator 822 is described below with reference to
The enablement multiplexer 902 has an upper input that receives an enable indication from the adjacent pin core logic 504 as the signal 518-2. The enablement multiplexer 902 has a lower input that receives a preset assertion signal 906. The enablement multiplexer 902 outputs an enable indication 908 as the signal 520-2 to the output enable terminal of the output buffer 704 of the adjacent pad 204 (of
The data multiplexer 904 has an upper input that receives data from the adjacent pin core logic 504 as the signal 518-1. The data multiplexer 904 has a lower input that receives data from the short-resistant pin core logic 502 as the signal 512. The data multiplexer 904 outputs data 910 as the signal 520-1 to the input of the output buffer 704 of the adjacent pad 204. The data multiplexer 904 can multiplex from a first data signal for the adjacent pin 104 (e.g., the signal 518-1 carrying data from the adjacent pin core logic 504) to a second data signal for the short-resistant pin 102 (e.g., the signal 512 carrying data from the short-resistant pin core logic 502) responsive to detection of the short 108 between the short-resistant pin 102 and the adjacent pin 104.
In a regular operational mode, the detection alert indicator 822 from the short detector 506 is not asserted. The enablement multiplexer 902 forwards an enable indication from the adjacent pin core logic 504 as the enable indication 908 for the signal 520-2. The data multiplexer 904 forwards data from the adjacent pin core logic 504 as the data 910 for the signal 520-1. Thus, for the regular operational mode, the output controller 508 forwards the enable indication and the data from the adjacent pin core logic 504 to the output buffer 704 of the adjacent pad 204.
In contrast, for a short amelioration mode, the detection alert indicator 822 from the short detector 506 is asserted. In one implementation, a preset de-assertion signal (not shown) may be multiplexed from the lower input of the enablement multiplexer 902 as the enable indication 908 for the signal 520-2 to disable the output buffer 704 of the adjacent pad 204 to prevent the adjacent pin 104 from conflicting with the short-resistant pin 102. In an alternative implementation, the enablement multiplexer 902 provides the preset assertion signal 906 as the enable indication 908 for the signal 520-2 in response to the asserted detection alert indicator 822. The data multiplexer 904 also provides data from the short-resistant pin core logic 502 as the data 910 for the signal 520-1. Thus, for this implementation of the short amelioration mode, the output controller 508 provides an asserted enable indication and data from the short-resistant pin core logic 502 to the output buffer 704 of the adjacent pad 204. Because both the adjacent pin 104 and the short-resistant pin 102 are outputting data received from the same source, which is the short-resistant pin core logic 502, the voltage levels and the corresponding logical values that are output on both pins are the same and do not create contention with each other.
At block 1002, an actual voltage level at an output of a short-resistant pin is monitored. For example, short-resistant circuitry 206 of an integrated circuit 106 may monitor an actual voltage level at an output of a short-resistant pin 102. For instance, a short detector 506 can receive a voltage level via a loopback 816 of an output of a short-resistant pad 202 for the short-resistant pin 102, the voltage level carried on a signal 510 that is provided from an input buffer 706 of the short-resistant pad 202.
At block 1004, whether the actual voltage level for the output of the short-resistant pin deviates from an intended voltage level for the output of the short-resistant pin is determined. For example, the short-resistant circuitry 206 may determine if the actual voltage level obtained with the loopback 816 from the output of the short-resistant pin 102 via the input buffer 706 deviates from an intended voltage level for the output of the short-resistant pin 102 at the output buffer 702. This determination may be at least partially effectuated by the short detector 506 by, for instance, comparing the voltage level of the signal 510 from the input buffer 706 to a voltage level from a short-resistant pin core logic 502 that is provided to the output buffer 702 for the short-resistant pin 102. If the voltage value provided for outputting on the short-resistant pin 102 is different from the monitored actual voltage on the short-resistant pin 102 by more than a deviation threshold, the existence of a short 108 between the short-resistant pin 102 and an adjacent pin 104 can be inferred.
At block 1006, an output of an adjacent pin is controlled based on the determining. For example, the short-resistant circuitry 206 may control an output of the adjacent pin 104 based on the determining. To do so, an output controller 508 can permit adjacent pin core logic 504 to drive an output buffer 704 of an adjacent pad 204 if the actual voltage level of the short-resistant pin 102 is not determined to deviate from the intended voltage level. However, if the actual voltage level of the short-resistant pin 102 is determined to deviate from the intended voltage level as indicated by a detection alert indicator 822 that is provided to the output controller 508, the output controller 508 can control the output of the adjacent pin 104 such that the adjacent pin 104 does not continue to cause the actual voltage level of the short-resistant pin 102 to deviate from the intended voltage level thereof.
In an example implementation, for the monitoring of block 1002, the output of the short-resistant pin corresponds to an output buffer of a short-resistant pad that is coupled to the short-resistant pin, and the monitoring includes monitoring the actual voltage level at the output buffer of the short-resistant pad. For example, the output of the short-resistant pin 102 may correspond to an output buffer 702 of a short-resistant pad 202 that is coupled to the short-resistant pin 102, and the monitoring may include monitoring the actual voltage level at the output buffer 702 of the short-resistant pad 202. This monitoring of the output of the output buffer 702 may be accomplished using an input buffer 706 of the short-resistant pad 202 that loops the actual output voltage back to short-resistant circuitry 206 for short detection analysis by the short detector 506.
In an example implementation, the determination of block 1004 includes comparing the actual voltage level to a high voltage threshold and a low voltage threshold and determining that the actual voltage level deviates from the intended voltage level if the actual voltage level is between the high voltage threshold and the low voltage threshold. For example, the short detector 506 (e.g., the voltage sensor 802) may compare the actual voltage level obtained from the input buffer 706 of the short-resistant pad 202 to a high voltage threshold 818 and a low voltage threshold 820. The short detector 506 may also determine that the actual voltage level deviates from the intended voltage level obtained from the short-resistant pin core logic 502 if the actual voltage level is between the high voltage threshold 818 and the low voltage threshold 820.
In another example implementation, the determination of block 1004 includes comparing the actual voltage level to the intended voltage level, with the intended voltage level indicated by short-resistant pin core logic, and determining that the actual voltage level deviates from the intended voltage level if the actual voltage level deviates from the intended voltage level by more than a deviation threshold. For example, the short detector 506 may compare the actual voltage level obtained from the input buffer 706 of the short-resistant pad 202 to the intended voltage level, which is provided by the short-resistant pin core logic 502. The short detector 506 may also determine that the actual voltage level deviates from the intended voltage level if the actual voltage level deviates from the intended voltage level by more than a deviation threshold, such as 0.1 V or 5% of a voltage swing between low and high voltage levels.
In an example implementation, the controlling of block 1006 includes disabling the output of the adjacent pin if the actual voltage level is determined to deviate from the intended voltage level. For example, the output controller 508 may disable an output of the adjacent pin 104 by de-asserting an output enable terminal of the output buffer 704 of the adjacent pad 204.
In another example implementation, the controlling of block 1006 includes causing the output of the adjacent pin to be driven at the intended voltage level if the actual voltage level at the output of the short-resistant pin is determined to deviate from the intended voltage level for the output of the short-resistant pin. For example, the output controller 508 may cause the output of the adjacent pin 104 to be driven at a voltage level provided by the short-resistant pin core logic 502 via the signal 512 if the actual voltage level at the output of the short-resistant pin 102 as obtained by the short detector 506 from the input buffer 706 deviates from the intended voltage level for the output of the short-resistant pin 102.
In an example implementation, the process 1000 also includes, after the controlling operation, a repeating of the monitoring and the determining operations. If the actual voltage level of the output of the short-resistant pin continues to deviate from the intended voltage level, the process 1000 further includes controlling an output of a second adjacent pin. In other words, if a first amelioration effort with respect to a first adjacent pin 104 is unsuccessful, a second amelioration effort with respect to a second adjacent pin 104 may be effected. The short-resistant circuitry 206 can continue to control the output of different adjacent pins 104 until the short-circuit condition is ameliorated and the adjacent pin 104 involved in the short 108 is implicitly ascertained.
Unless context dictates otherwise, use herein of the word “or” may be considered use of an “inclusive or,” or a term that permits inclusion or application of one or more items that are linked by the word “or” (e.g., a phrase “A or B” may be interpreted as permitting just “A,” as permitting just “B,” or as permitting both “A” and “B”). Although subject matter has been described in language specific to structural features or methodological operations, it is to be understood that the subject matter defined in the appended claims is not necessarily limited to the specific features or operations described above, including not necessarily being limited to the organizations in which features are arranged or the orders in which operations are performed.