Programmable integrated circuits with configurable logic circuitry and routing resources are provided. Portions of the routing resources on a programmable integrated circuit may be used in implementing a desired user-specified custom logic function, whereas other portions of the routing resources on the programmable integrated circuit may be unused. The unused routing resources may include adjacent pairs of routing paths. These paths may be coupled to control circuitry configured to drive the routing paths to desired voltage levels to provide an optimal amount of decoupling capacitance. In one suitable arrangement, two adjacent routing paths may both be driven to a positive power supply voltage level. In another suitable arrangement, the two adjacent routing paths may be driven to the positive power supply voltage level and a ground power supply voltage level, respectively.
|
8. Circuitry, comprising:
first and second routing paths;
a first driver circuit that drives the first routing path to a first power supply level, wherein the first driver circuit has an input and an output;
a second driver circuit that drives the second routing path to a second power supply level; and
a feedback circuit having an input that is coupled to the output of the first driver circuit and an output that is coupled to the input of the first driver circuit, wherein the first driver circuit is only actively driven by the feedback circuit during normal operation of the circuitry.
1. Circuitry, comprising:
first and second adjacent conductive paths;
a first driver circuit that drives the first conductive path to a first power supply voltage level;
a second driver circuit that drives the second conductive path to a second power supply voltage level that is different than the first power supply voltage level, wherein the first and second different power supply voltage levels are maintained on the first and second adjacent conductive paths, respectively, during normal operation such that the first and second conductive paths contribute to a power supply decoupling capacitance; and
a reset circuit that is coupled to the first driver circuit and that drives the first conductive path to the first power supply voltage level in response to asserting a control signal that controls the reset circuit.
14. A method for operating an integrated circuit that includes first and second conductive routing paths, comprising:
driving the first conductive routing path with a first driver circuit;
driving the second conductive routing path with a second driver circuit, wherein the first and second conductive routing paths contribute to a decoupling capacitance for the integrated circuit; and
providing stimulus to the first and second driver circuits by using a multiplexing circuit to drive a desired signal to a selected one of the first and second conductive routing paths; and
in response receiving the stimulus, driving the first conductive routing path to a first power supply voltage level with the first driver circuit and driving the second conductive routing path to a second power supply voltage level with the second driver circuit.
2. The circuitry defined in
a multiplexing circuit having an output that is coupled to a selected one of the first and second driver circuits.
3. The circuitry defined in
a power supply line, wherein the reset circuit comprises a transistor having a first source-drain terminal that is coupled to the power supply line, a second source-drain terminal that is coupled to the first driver circuit, and a gate terminal that received the control signal.
4. The circuitry defined in
a keeper circuit that is coupled in parallel with the reset circuit.
5. The circuitry defined in
6. The circuitry defined in
a power supply line; and
a keeper transistor having a first source-drain terminal that is coupled to the power supply line, a second source-drain terminal that is coupled to an input of the first driver circuit, and a gate terminal that is coupled to an output of the first driver circuit.
7. The circuitry defined in
9. The circuitry defined in
a multiplexer having an output that is coupled to the input of the first driver circuit.
10. The circuitry defined in
11. The circuitry defined in
a first power supply line; and
a second power supply line, wherein the feedback circuit includes a first transistor that is coupled between the first power supply line and the input of the first driver circuit and that has a gate that is coupled to the output of the first driver circuit.
12. The circuitry defined in
13. The circuitry defined in
15. The method defined in
16. The method defined in
17. The method defined in
with keeper circuitry, maintaining the first power supply voltage level on the first conductive routing path and maintaining the second power supply voltage level on the second conductive routing path during normal operation of the integrated circuit.
|
This application claims the benefit of and claims priority to U.S. patent application Ser. No. 13/464,869, filed May 4, 2012, which is hereby incorporated by reference herein in its entirety.
This relates generally to integrated circuits, and more particularly, to programmable integrated circuits with decoupling capacitors.
Programmable integrated circuits are a type of integrated circuit that can be programmed by a user to implement a desired custom logic function. In a typical scenario, a logic designer uses computer-aided design (CAD) tools to design a custom logic circuit. When the design process is complete, the tools generate configuration data. The configuration data is loaded into memory elements (sometimes referred to as configuration memory cells) to configure the device to perform the functions of the custom logic.
During normal operation of a programmable device, loaded configuration memory cells produce static output signals that are applied to the gates of transistors (i.e., pass transistors). The configuration memory cell output signals turn some pass transistors on and turn other pass transistors off. This selective activation of pass transistors on the programmable device customizes the operation of the device so that the device performs its intended function.
Programmable integrated circuits typically include decoupling capacitors. Decoupling capacitors are used to help provide more stable power supply voltages by shunting high frequency noise on direct current (DC) power supply lines to ground, thereby preventing the noise from reaching powered circuit components. In a scenario in which a power supply is required to switch between various modes of operation, an adequate decoupling capacitance can act as an energy reserve that lessens the magnitude of undesired dips in power supply voltage during mode switching events.
To ensure that a wide range of logic functions can be implemented, programmable integrated circuits are equipped with large amounts of configurable resources sufficient to implement any desired custom logic functions for a vast majority of users. As a result, programmable integrated circuits often include unused resources such as unused routing paths, memory cells, and other switching circuits. Conventionally, these unused routing paths are driven to a positive power supply voltage level. Each unused routing path that is driven as such will exhibit a parasitic capacitance to ground. Parasitic capacitance generated in this way provides additional decoupling capacitance for the programmable integrated circuit.
Advances in integrated circuit design require power supplies to supply stable power for integrated circuits operating at high data rates and clock speeds. This requires increasing amounts of decoupling capacitance per integrated circuit area. Decoupling capacitance provided by driving the unused routing paths to only the positive power supply voltage level may not be sufficient. Additional decoupling capacitor circuitry could occupy a disproportionate amount of valuable surface area on the programmable device.
Programmable integrated circuits may include configurable elements and routing resources that are used to implement desired custom logic functions. When implementing a user-specified custom logic function with a programmable integrated circuit, at least a portion of its configurable resources will be unused (e.g., idle). Unutilized resources may include programmable routing paths (as an example).
The unused routing paths may be configured to provide additional decoupling capacitance for the programmable integrated circuit. For example, consider a scenario in which first and second unused routing paths are formed adjacent to each other. In one suitable arrangement, the first and second routing paths may be driven to a positive power supply voltage level and a ground power supply voltage level, respectively. In another suitable arrangement, the first and second routing paths may each be driven to the positive power supply voltage level. Computer-aided design tools implemented on computing equipment may be used to determine how to properly bias each adjacent pair of unused routing path to achieve optimal capacitance.
Each routing path may be coupled to a respective multiplexing circuit (e.g., the first routing path may be coupled to a first multiplexer, whereas the second routing path may be coupled to a second multiplexer). One way of driving these routing paths to desired voltage levels is to have dedicated multiplexer inputs that are coupled to positive and/or ground power supply lines. Each multiplexer may then be configured to couple at least one of the dedicated inputs to its output for driving the corresponding routing path to the desired biasing level. Another way is to generate desired data signals and for the multiplexers to pass these data signals to the unused routing paths. Another way is to include reset and keeper circuitry operable to drive the routing paths to a desired default state upon device startup. If desired, any combination of suitable techniques may be used in driving the unused routing paths to desired voltage levels.
The decoupling capacitance provided in this way may help to reduce the amount of power supply noise present on power supply lines. The programmable integrated circuit may also include other decoupling capacitor structures that are organized in groups of decoupling capacitor blocks. The decoupling capacitors in each block may be arranged in an array with multiple rows and columns of decoupling capacitors. The decoupling capacitor blocks may have different sizes and shapes and may exhibit different capacitance values.
Further features of the present invention, its nature and various advantages will be more apparent from the accompanying drawings and the following detailed description.
An illustrative integrated circuit of the type that may be provided with memory elements and associated circuits that can be controlled using output signals from the memory elements is shown in
Because memory elements 20 may be used in storing configuration data for programmable logic 18, memory elements 20 may sometimes be referred to as configuration random-access memory elements (CRAM). Integrated circuit 10 may be configured to implement custom logic functions by configuring programmable logic 18, so integrated circuit 10 may sometimes be referred to as a programmable integrated circuit.
As shown in
Programmable logic 18 may include combinational and sequential logic circuitry. Programmable logic 18 may be configured to perform a custom logic function. The programmable interconnects associated with interconnection resources 16 may be considered to form a part of programmable logic 18.
When memory elements 20 are loaded with configuration data, the memory elements each provide a corresponding static control output signal that controls the state of an associated logic component in programmable logic 18. The memory element output signals may, for example, be used to control the gates of metal-oxide-semiconductor (MOS) transistors such as n-channel metal-oxide-semiconductor (NMOS) pass transistors in programmable components such as multiplexers, logic gates such as AND gates, NAND gates, etc. P-channel transistors (e.g., a p-channel metal-oxide-semiconductor pass transistor) may also be controlled by output signals from memory elements 20, if desired. When a memory element output that is associated with an NMOS pass transistor is high, the pass transistor controlled by that memory element is turned on and passes logic signals from its input to its output. When the memory element output is low, an NMOS pass transistor is turned off and does not pass logic signals. P-channel metal-oxide-semiconductor (PMOS) pass transistors are turned on when the signal that is applied to its gate from the output of a memory element is low (e.g., 0 volts) and are turned off when the output of the memory element is high (i.e., the polarity for NMOS and PMOS control signals is reversed).
Configuration random-access memory elements 20 may be arranged in an array pattern. There may be, for example, millions of memory elements 20 on integrated circuit 10. During programming operations, the array of memory elements is provided with configuration data. Once loaded with configuration data, memory elements 20 may selectively control (e.g., turn on and off) portions of the circuitry in the programmable logic 18 and thereby customize the circuit functions of circuit 10.
The circuitry of programmable integrated circuit 10 may be organized using any suitable architecture. As an example, the circuitry of programmable integrated circuit 10 may be organized in a series of rows and columns of programmable logic blocks (regions) each of which contains multiple smaller logic regions. The logic resources of integrated circuit 10 may be interconnected by interconnection resources 16 such as associated vertical and horizontal conductors. These conductors may include global conductive lines that span substantially all of device 10, fractional lines such as half-lines or quarter lines that span part of device 10, staggered lines of a particular length (e.g., sufficient to interconnect several logic areas), smaller local lines, or any other suitable interconnection resource arrangement. If desired, the circuitry of programmable integrated circuit 10 may be arranged in more levels or layers in which multiple large regions are interconnected to form still larger portions of logic. Still other device arrangements may use logic that is not arranged in rows and columns.
Horizontal and vertical conductive lines and associated control circuitry may be used to write data into the memory elements and may be used to read data from the memory elements. An illustrative arrangement that allows data to be written into and read from an array of memory elements is shown in
The arrangement of
Read-write control circuitry 24 may obtain data to be loaded into array 22 via path 26. Data that has been read from array 22 may be provided to path 26 from memory elements 20 by read-write control circuitry 24.
Control signals on one or more control lines 30 may be used to control reading and writing operations. For example, during writing and reading operations, signals on address lines in lines 30 (sometimes referred to as word lines) may be asserted to control associated address transistors. If desired, control lines 30 may include clear lines. A clear signal may be asserted on the clear lines when it is desired to clear the contents of the memory elements 20 in array 22 (e.g., when it is desired to clear all of the memory elements in a block of memory elements simultaneously).
Data lines 28 (sometimes referred to as bit lines) may be used in conveying data from read-write control circuitry 24 to memory elements 20 during data loading operations. Data lines 28 may also be used in conveying data from memory elements 20 to read-write control circuitry 24 during data reading operations. The memory elements that are selected during reading and writing operations may be controlled by the address lines (lines 30).
There may be any suitable number of address lines and data lines associated with each memory element 20. For example, each memory element in a row of memory elements may be associated with a single address line that is used for controlling both reading and writing operations or may be associated with a write address line for use during write operations and a read address lines for use during read operations. One data line may be associated with each memory element in a column of memory elements or a pair of complementary data lines may be associated with each memory element in a column of memory elements (as examples).
It is generally desirable to maintain the power supply voltages at constant voltage levels (e.g., to minimize power supply voltage variation). The amount of power drawn from the power supply may vary during normal operation of an integrated circuit. To accommodate this type of changing power demand while maintaining constant power supply voltage levels, device 10 may include decoupling capacitor circuitry. The decoupling capacitor circuitry may serve as a local energy storage reserve that provides instantaneous current draw. Providing current using the decoupling capacitor circuitry may reduce power supply noise.
As shown in
Decoupling capacitance (sometimes abbreviated as “decap”) 102 may serve to reduce power supply variation at the respective locations on device 10. For example, consider a scenario in which an external power source supplies a 1.2 V positive power supply voltage to device 10. Device 10 may include communications circuitry operating at high data rates (e.g., data rates greater than 1 Gbps). During an idle mode, the communications circuitry may draw 0.5 A of current from the power source (as an example). During transmit mode, the communications circuitry may draw 0.7 A of current from the power source. During the switching operations from the idle mode to the transmit mode, decoupling capacitance 102 located adjacent to the communications circuitry on device 10 may serve to provide 0.2 A of current (0.7-0.5) so that the communications circuitry receives a constant positive supply voltage of 1.2 V.
Consider another scenario in which the positive power supply experiences an instantaneous voltage glitch. Decoupling capacitor blocks 102 may dampen or absorb this glitch by providing instantaneous current to internal circuitry so that the positive power supply voltage received at the local power supply terminal of the internal circuitry remains constant at 1.2 V (as an example). Decoupling capacitor circuitry used to maintain constant power supply voltage while supplying the desired current draw may sometimes be referred to as a ballasting circuit.
Decoupling capacitors 102 formed on device 10 may have large dimensions. For example, a single decoupling capacitor array 102 may measure 400 μm by 200 μm and may have one hundred or more, one thousand or more, or ten thousand or more individual capacitor cells. The size of decoupling capacitor circuitry 102 in modern integrated circuits may occupy a significant percentage of the available die area (e.g., from three to fifteen percent or more).
Programmable integrated circuits 10 may include a large amount of configurable resources such as programmable routing paths 16 and programmable logic components (e.g., pass transistors, multiplexing circuits, configuration memory cells, etc.) for accommodating a wide range of desired logic functions. Generally, only a portion of the total available programmable resources are used to implement user-specified functions, leaving a significant amount of unused components. In some embodiments of the present invention, these unutilized programmable resources may be used to provide additional decoupling capacitance.
As shown in
In one suitable arrangement, drivers 110 and 112 may respectively drive paths W1 and W2 to Vcc. In this scenario, each wire will exhibit a parasitic capacitance to ground. In the example of
Capacitor 130 having a capacitance value of Cc represents a lumped wire coupling capacitance interposed between the two adjacent routing paths. Routing paths W1 and W2 may sometimes be described herein as data routing paths, but may in general be other types of signal routing paths configured to carry clock signals and other control signals. When both paths W1 and W2 are driven to Vcc, the coupling capacitance between wires W1 and W2 will not be charged and hence will not contribute to the total decoupling capacitance. As a result, the total decoupling capacitance provided by these two paths will be equal to 2*Cg, because capacitor 130 does not contribute to the total decoupling capacitance. In this scenario, capacitor 126 associated with path W1 is coupled to power supply line 114 via pull-up transistor 118 (as indicated by dotted path 132), whereas capacitor 128 associated with path W2 is coupled to power supply line 114 via pull-up transistor 122 (as indicated by dotted path 134).
In another suitable arrangement, driver 110 may drive path W1 to Vcc while driver 112 may drive path W2 to Vss. In this scenario, capacitors 126 and 130 will contribute to the decoupling capacitance. Both terminals of capacitor 128 are shorted to ground and therefore do not contribute to the total decoupling capacitance. Path W2 that is driven to Vss effectively provides a ground path for coupling capacitor 130. In this scenario, coupling capacitance Cc may provide substantial capacitance. Paths W1 and W2 are separated by a distance X. As integrated circuit technology advances, distance X between adjacent routing paths tends to decrease. As a result, wire coupling capacitance Cc will increase and may sometimes be even greater than capacitance Cg. In scenarios in which path W2 is driven to ground, the total decoupling capacitance provided by these two paths will be equal to the sum of Cg (associated with path W1) and Cc. It may therefore be desirable to be able to identify situations where Cc is greater than Cg (associated with path W2), and in response to identifying such situations, to drive a first of two adjacent paths to Vcc and to drive a second of the two adjacent paths to Vss. If Cc is less than Cg (associated with path W2), the two adjacent paths may both be driven to Vcc as previously described.
Storage element 20′ associated with multiplexer 144 may or may not store the same value as storage element 20′ associated with multiplexer 146. Storage element 20′ may provide programmable control bits that determine which one of the multiplexer input signals gets routed to the output. For example, if the control bits stored in element 20′ are equal to “00000,” the signal presented at the first input of a 32:1 multiplexer will be routed to its output. If the control bits are equal to “00011,” the signal presented at the fourth input of the multiplexer will be routed to its output. If the control bits are equal to “10010,” the signal presented at the 19th input of the multiplexer will be routed to its output.
Multiplexers 144 and 146 may each have a first dedicated input configured to receive positive power supply voltage Vcc and a second dedicated input configured to receive ground power supply voltage Vss. In the example of
In another suitable embodiment of the present invention, multiplexers 144 and 146 may be configured to propagate desired data values (see, e.g.,
In another suitable embodiment of the present invention, reset and keeper circuitry may be coupled to the routing paths to set the routing paths to default values upon power-up (see, e.g.,
N-channel transistors 166 and 164 may be coupled between the input of inverter 142 and ground power supply line 116. Transistor 166 may have a gate that is controlled by a second power-on-reset signal Vpor2, whereas transistor 164 may have a gate that is coupled to the output of inverter 142. Signal Vpor2 may be asserted during power-on-reset operations (e.g., Vpor2 may be pulsed high) to pull the input of inverter 142 to Vss. In response to lowering the input of inverter 142, the output of inverter 142 is driven high. Once the output of inverter 140 is driven high, transistor 164 is turned on and may serve to keep routing path W2 biased low even after Vpor2 is deasserted.
Transistors that are controlled using power-on-reset signals (e.g., Vpor1, Vpor2, etc.) such as transistors 162 and 166 may be referred to collectively as reset transistors (e.g., transistor 162 may be referred to as a pull-up reset circuit while transistor 166 may be referred to as a pull-down reset circuit), because they are only switched into use temporarily when device 10 is powered on. Transistors that are coupled to the routing paths in a feedback configuration such as transistors 160 and 164 may be referred to collectively as keeper transistors (e.g., p-channel transistor 160 may be referred to as a pull-up keeper while n-channel transistor 164 may be referred to as a pull-down keeper), because they serve to keep the routing paths driven to the default reset values during normal operation. This way of forcing the unused routing paths to desired voltage levels may be referred to herein as default settings control, because the routing paths are respectively set to desired default values during device startup. If desired, each routing path may be coupled to both pull-up and pull-down reset circuits and to both pull-up and pull-down keeper circuits so that each routing path may be selectively driven to Vcc, Vss, or any other desired voltage level.
The different approaches described in connection with
In another suitable embodiment of the present invention, the routing paths may each be coupled to pull-up and pull-down keeper circuits (e.g., reset circuitry need not be used). As shown in
Similarly, p-channel keeper transistor 184 may have a source terminal that is coupled to the positive power supply line, a drain terminal that is coupled to the input of inverter 142, and a gate terminal that is coupled to the output of inverter 142. N-channel keeper transistor 186 may have a drain terminal that is coupled to the input of inverter 142, a source terminal that is coupled to the ground power supply line, and a gate terminal that is coupled to the output of inverter 142. Pull-up keeper 184 may serve to keep routing path W2 high when the output of inverter 142 is driven low, whereas pull-down keeper 186 may serve to keep routing path W2 low when the output of inverter 142 is driven high.
In the example of
In general, it may be desirable to further increase parasitic wire-to-ground capacitance Cg for increasing the total decoupling capacitance. One way of increase Cg is to introduce additional loading components onto an unused routing path. In general, each routing path may be coupled to additional branching (or fan-out) routing paths via switchable circuits (see, e.g.,
Assume in this example that routing wire W1 is driven to Vcc using at least one of the methods described in
In scenarios in which parasitic wire-to-ground capacitance Cg dominates coupling capacitance Cc (i.e., in situations where Cg is substantially greater than Cc), each of two adjacent wires W1 and W2 may be driven to Vcc and the multiplexers associated with the branching routing paths coupled to W1 and W2 may be turned on to increase Cg. In scenarios in which parasitic wire-to-ground capacitance Cg is less than coupling capacitance Cc (i.e., in situations where Cg is substantially less than Cc), wire W1 may be driven to Vcc while wire W2 may be driven to Vss (or vice versa). The multiplexers associated with the branching routing paths coupled to W1 may be turned on to increase Cg (as an example).
In general, each programmable routing path on a programmable integrated circuit 10 may include associated reset and/or keeper circuitry for use in driving the unused routing paths to desired voltage levels for optimal decoupling capacitance. Certain portions of device 10 may be identified as being utilized to implement user-specified custom logic functions while other portions of device 10 may be identified as being unutilized/idle using computer-aided design (CAD) tools in a logic design system when designing a custom logic circuit (see, e.g.,
The design process typically starts with the formulation of logic circuit functional specifications. An integrated circuit designer can specify how a desired circuit should function using design and constraint entry tools 64. Design and constraint entry tools 64 may include tools such as design and constraint entry aid 66 and design editor 68. Design and constraint entry aids such as aid 66 may be used to help a designer locate a desired design from a library of existing designs and may provide computer-aided assistance to the designer for entering (specifying) the desired design. As an example, design and constraint entry aid 66 may be used to present screens of options for a user. The user may click on on-screen options to select whether the circuit being designed should have certain features. Design editor 68 may be used to enter a design (e.g., by entering lines of hardware description language code), may be used to edit a design obtained from a library (e.g., using a design and constraint entry aid), or may assist a user in selecting and editing appropriate prepackaged code/designs.
If desired, design and constraint entry tools 64 may allow the designer to provide a logic design using a hardware description language such as Verilog hardware description language (HDL) or Very High Speed Integrated Circuit Hardware Description Language (VHDL). The designer of the logic circuit can enter the logic design by writing hardware description language code with editor 68. Blocks of code may be imported from user-maintained or commercial libraries if desired.
After the design has been entered using design and constraint entry tools 64, behavioral simulation tools 72 may be used to simulate the functional performance of the design. If the functional performance of the design is incomplete or incorrect, the designer can make changes to the design using design and constraint entry tools 64. The functional operation of the new design can be verified using behavioral simulation tools 72 before synthesis operations have been performed using tools 74. Simulation tools such as tools 72 may also be used at other stages in the design flow if desired (e.g., after logic synthesis). The output of the behavioral simulation tools 72 may be provided to the logic designer in any suitable format (e.g., truth tables, timing diagrams, etc.).
Once the functional operation of the logic design has been determined to be satisfactory, logic synthesis and optimization tools 74 may be used to implement the logic design in a particular integrated circuit (i.e., in the logic and interconnect resources of a particular programmable integrated circuit product or product family).
Tools 74 attempt to optimize the design by making appropriate selections of hardware to implement different logic functions in the logic design based on the logic design data and constraint data entered by the logic designer using tools 64.
After logic synthesis and optimization using tools 74, placement and routing tools 76 may be used to perform physical design steps (layout synthesis operations). Placement and routing tools 76 are used to determine how to place the circuits for each logic function within device 10. For example, if two counters interact with each other, the placement and routing tools 76 may locate these counters in adjacent logic regions on the integrated circuit to minimize interconnect delays. The placement and routing tools 76 create orderly and efficient implementations of logic designs for a given integrated circuit.
After an implementation of the desired logic design in device 10 has been generated using placement and routing tools 76, the implementation of the design may be analyzed and tested using analysis tools 78.
Design tools 62 may be used identify unused portions of device 1C (i.e., to identify unused routing resources on a programmable integrated circuit). In particular, design tools 62 may be capable of analyzing an adjacent pair of routing paths and to determine whether to drive both wires to Vcc or to drive one wire to Vcc and the other to Vss (e.g., tools 62 may be capable to determining whether decoupling capacitance is potentially greater than the parasitic wire to ground capacitance Cg, assuming that all fan-out multiplexers are turned on).
During step 300, the user can specify constraints such as delay or speed limits, desired memory element power supply voltages, current drive limits, noise level limits, core voltage settings, I/O voltage settings, etc. For example, a user may specify a requirement or preference that a particular circuit path operate at a particular minimum speed or maximum delay. If desired, settings such as these may be provided as defaults (e.g., when a user does not specify any such constraints).
At step 302, logic synthesis and optimization, physical design, and timing simulation operations may be performed using tools 72, 74, 76, and 78 of
At step 304, design tools 62 may be used to identify all the unused routing resources (e.g., unused routing paths). For each adjacent pair of unused routing paths, design tools 62 may be used to determine whether the maximum potential wire coupling capacitance Cc exceeds the maximum potential parasitic wire-to-ground capacitance Cg. If Cc exceeds Cg, the two routing paths may be driven to Vcc and Vss, respectively, as shown in step 308 (e.g., via RAM bit control of the type described in connection with
The foregoing is merely illustrative of the principles of this invention and various modifications can be made by those skilled in the art without departing from the scope and spirit of the invention. The foregoing embodiments may be implemented individually or in any combination.
Patent | Priority | Assignee | Title |
Patent | Priority | Assignee | Title |
6313666, | Apr 16 1996 | Renesas Electronics Corporation | Logic circuit including combined pass transistor and CMOS circuit and a method of synthesizing the logic circuit |
7262951, | Sep 27 2004 | Taiwan Semiconductor Manufacturing Co., Ltd. | De-coupling capacitors produced by utilizing dummy conductive structures integrated circuits |
7459938, | Nov 05 2004 | Intel Corporation | Method and apparatus for power efficient and scalable memory interface |
7498835, | Nov 04 2005 | XILINX, Inc.; Xilinx, Inc | Implementation of low power standby modes for integrated circuits |
7759974, | Jul 17 2008 | XILINX, Inc. | Pipelined unidirectional programmable interconnect in an integrated circuit |
8161442, | Jul 29 2002 | Synopsys, Inc. | Integrated circuit devices and methods and apparatuses for designing integrated circuit devices |
8334708, | Jul 29 2011 | SAMSUNG ELECTRO-MECHANICS COMPANY, LTD | Systems, methods, and apparatuses for complementary metal oxide semiconductor (CMOS) driver circuits using shared-charge recycling charge pump structures |
8609486, | Jan 06 2012 | Altera Corporation | Methods for fabricating deep trench capacitors |
8669828, | Oct 21 2010 | Altera Corporation | Decoupling capacitor control circuitry |
20080076229, | |||
20130001664, |
Executed on | Assignor | Assignee | Conveyance | Frame | Reel | Doc |
Mar 14 2014 | Altera Corporation | (assignment on the face of the patent) | / |
Date | Maintenance Fee Events |
Oct 17 2019 | M1551: Payment of Maintenance Fee, 4th Year, Large Entity. |
Sep 20 2023 | M1552: Payment of Maintenance Fee, 8th Year, Large Entity. |
Date | Maintenance Schedule |
May 03 2019 | 4 years fee payment window open |
Nov 03 2019 | 6 months grace period start (w surcharge) |
May 03 2020 | patent expiry (for year 4) |
May 03 2022 | 2 years to revive unintentionally abandoned end. (for year 4) |
May 03 2023 | 8 years fee payment window open |
Nov 03 2023 | 6 months grace period start (w surcharge) |
May 03 2024 | patent expiry (for year 8) |
May 03 2026 | 2 years to revive unintentionally abandoned end. (for year 8) |
May 03 2027 | 12 years fee payment window open |
Nov 03 2027 | 6 months grace period start (w surcharge) |
May 03 2028 | patent expiry (for year 12) |
May 03 2030 | 2 years to revive unintentionally abandoned end. (for year 12) |