US20060202713A1 - Apparatus and methods for adjusting performance characteristics of circuitry in programmable logic devices - Google Patents
Apparatus and methods for adjusting performance characteristics of circuitry in programmable logic devices Download PDFInfo
- Publication number
- US20060202713A1 US20060202713A1 US11/420,736 US42073606A US2006202713A1 US 20060202713 A1 US20060202713 A1 US 20060202713A1 US 42073606 A US42073606 A US 42073606A US 2006202713 A1 US2006202713 A1 US 2006202713A1
- Authority
- US
- United States
- Prior art keywords
- pld
- circuit
- performance
- circuitry
- block
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Abandoned
Links
Images
Classifications
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03K—PULSE TECHNIQUE
- H03K19/00—Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits
- H03K19/0008—Arrangements for reducing power consumption
- H03K19/0016—Arrangements for reducing power consumption by using a control or a clock signal, e.g. in order to apply power supply
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/30—Circuit design
- G06F30/34—Circuit design for reconfigurable circuits, e.g. field programmable gate arrays [FPGA] or programmable logic devices [PLD]
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03K—PULSE TECHNIQUE
- H03K19/00—Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits
- H03K19/003—Modifications for increasing the reliability for protection
- H03K19/00369—Modifications for compensating variations of temperature, supply voltage or other physical parameters
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03K—PULSE TECHNIQUE
- H03K19/00—Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits
- H03K19/02—Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components
- H03K19/173—Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components using elementary logic circuits as components
- H03K19/177—Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components using elementary logic circuits as components arranged in matrix form
- H03K19/17724—Structural details of logic blocks
- H03K19/17732—Macroblocks
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03K—PULSE TECHNIQUE
- H03K19/00—Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits
- H03K19/02—Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components
- H03K19/173—Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components using elementary logic circuits as components
- H03K19/177—Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components using elementary logic circuits as components arranged in matrix form
- H03K19/17748—Structural details of configuration resources
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03K—PULSE TECHNIQUE
- H03K19/00—Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits
- H03K19/02—Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components
- H03K19/173—Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components using elementary logic circuits as components
- H03K19/177—Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components using elementary logic circuits as components arranged in matrix form
- H03K19/1778—Structural details for adapting physical parameters
- H03K19/17784—Structural details for adapting physical parameters for supply voltage
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03K—PULSE TECHNIQUE
- H03K19/00—Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits
- H03K19/02—Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components
- H03K19/173—Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components using elementary logic circuits as components
- H03K19/177—Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits using specified components using elementary logic circuits as components arranged in matrix form
- H03K19/1778—Structural details for adapting physical parameters
- H03K19/17792—Structural details for adapting physical parameters for operating speed
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2119/00—Details relating to the type or aim of the analysis or the optimisation
- G06F2119/12—Timing analysis or timing optimisation
-
- H—ELECTRICITY
- H01—ELECTRIC ELEMENTS
- H01L—SEMICONDUCTOR DEVICES NOT COVERED BY CLASS H10
- H01L2924/00—Indexing scheme for arrangements or methods for connecting or disconnecting semiconductor or solid-state bodies as covered by H01L24/00
- H01L2924/0001—Technical content checked by a classifier
- H01L2924/0002—Not covered by any one of groups H01L24/00, H01L24/00 and H01L2224/00
Definitions
- the inventive concepts relate generally to adjusting the performance of programmable logic devices (PLDs). More particularly, the invention concerns adjusting the supply voltage/power consumption of PLDs, as well as noise reduction and isolation in PLDs.
- PLDs programmable logic devices
- PLDs are ubiquitous electronic devices that provide flexibility to not only designers, but also end-users.
- a designer may perform a relatively large number of design iterations by simply re-programming the PLD for each design.
- the length and expense of the design cycle decreases compared to other alternatives.
- the end-user may have a desired level of control over the functionality of a design that includes PLD(s).
- PLDs include a relatively large number of transistors.
- users demand ever higher performance, which results in larger operating frequencies. Consequently, the power consumption, power dissipation, die temperatures and, hence, power density (power dissipation in various circuits or blocks), of PLDs has tended to increase.
- the upward march of the power density may make PLDs design and implementation impractical or failure-prone.
- a PLD includes at least one IP block and at least one PLD circuit.
- the PLD further includes a power management circuit.
- the power management circuit is configured to control the power provided to the PLD circuit and the at least one IP block.
- a method of adjusting performance of a PLD includes determining whether the PLD meets a performance characteristic, and adjusting a body bias level of at least a part of the PLD to a prescribed or desired level, according to whether the PLD meets the performance characteristic. The method also includes determining whether the PLD meets another performance characteristic, and characterizing the PLD depending on whether the PLD fails to meet that performance characteristic.
- a method of adjusting performance of a PLD that is used to implement a user's design.
- the PLD includes a set of IP blocks.
- the method includes determining whether all IP blocks in the set of IP blocks are used, and selectively disabling provision of power to any unused IP blocks.
- the method further includes determining whether the user's design is to meet performance specifications of a standard, and controlling a level of power provided to at least one of the IP blocks, depending on whether the user's design should meet the performance specifications of the standard.
- a method of adjusting performance of a PLD includes sorting the PLD according to its performance capability, and determining whether any circuit blocks in the PLD inhibit the PLD from meeting desired performance characteristics. The method further includes adjusting a body bias level within the PLD if the any circuit blocks in the PLD inhibit the PLD from meeting the desired performance characteristics.
- a method of adjusting performance of a PLD during operation of the PLD includes monitoring at least one performance characteristics of the PLD, and determining whether the at least one performance characteristic of the PLD exceeds a desired performance characteristic. The method further includes disabling power to at least one IP block within the PLD if the at least one performance characteristic of the PLD exceeds the desired performance characteristic.
- FIG. 1 shows a general block diagram of a PLD according to an illustrative embodiment of the invention.
- FIG. 2 illustrates a floor-plan of a PLD according to an exemplary embodiment of the invention.
- FIG. 3 depicts a block diagram of an exemplary embodiment of programmable logic in a PLD according to the invention.
- FIG. 4 shows a circuit arrangement for adjusting the supply voltage of a desired circuit in a PLD according to an exemplary embodiment of the invention.
- FIG. 5 illustrates another circuit arrangement for adjusting the supply voltage of a desired circuit in a PLD according to an exemplary embodiment of the invention.
- FIG. 6 depicts a circuit arrangement for reducing the noise level in a PLD according to an exemplary embodiment of the invention.
- FIG. 7 shows another circuit arrangement for reducing the noise level in a PLD according to an exemplary embodiment of the invention.
- FIG. 8 illustrates an arrangement for providing a flexible mechanism for adjusting the performance of the various parts of a PLD according to an exemplary embodiment of the invention.
- FIGS. 9A-9C depict circuit arrangements for distributing and generating power supply voltages in PLDs according to exemplary embodiments of the invention.
- FIG. 10 shows an example of using n-wells to isolate noise-sensitive circuits in a PLD according to an illustrative embodiment of the invention.
- FIG. 11 illustrates various software modules that PLD computer-aided design (CAD) software according to illustrative embodiments of the invention uses.
- CAD computer-aided design
- FIG. 12 depicts a flow diagram for a PLD CAD software according to an exemplary embodiment of the invention.
- FIG. 13 shows a block diagram of circuitry within a PLD according to exemplary embodiments of the invention to adjust, program, or set the supply voltage levels of desired parts of the PLD.
- FIG. 14 illustrates a circuit arrangement according to exemplary embodiments of the invention for adjusting supply voltage levels within a PLD in response to an external source.
- FIG. 15 depicts a circuit arrangement for adjusting supply voltage level(s) within a PLD according to exemplary embodiments of the invention.
- FIG. 16 shows a simplified block diagram of an exemplary embodiment of the invention for adjusting the performance of circuitry within the PLD, including IP block(s).
- FIG. 17 illustrates a simplified block diagram of another exemplary embodiment of the invention for adjusting the performance of circuitry within the PLD, including IP block(s).
- FIG. 18 depicts a simplified block diagram of an illustrative embodiment according to the invention for adjusting the performance of IP block(s) in PLDs.
- FIG. 19 shows a simplified block diagram of an illustrative embodiment according to the invention for adjusting the performance of a particular IP block.
- FIGS. 20-23 illustrate simplified flow diagrams for methods according to various aspects of the invention for adjusting the performance of PLDs that include IP block(s).
- inventive concepts contemplate apparatus and associated methods for PLDs that feature adjustable supply voltage (and, hence, power consumption and performance), reduced noise levels, and noise isolation.
- the inventive concepts help to overcome excessive power density levels that conventional PLDs suffer.
- one may adjust the performance level of a desired portion, circuit, or block (or all circuits and blocks), of a PLD according to the invention.
- one may adjust the performance by programming the supply voltage and the attendant power dissipation of the circuitry within the PLD with a desired level of granularity, ranging from individual circuit blocks, all the way to the entire PLD circuitry.
- the inventive concepts contemplate controlling the supply voltage and power consumption of one or more circuits or blocks of circuits within the PLD by using a variable impedance circuit.
- a variable impedance circuit may use the variable impedance circuit to form a filter that, simultaneously with the adjustment of the power consumption, tend to reduce the noise levels present within the PLD.
- the reduced noise levels help to protect sensitive circuitry within the PLD from adverse effects of electrical noise.
- noise-sensitive circuitry within the PLD by using deep n-well structures within the PLD that help to isolate the sensitive circuitry from sources of electrical noise.
- the inventive concepts provide the following benefits over traditional implementations. First, they allow trading off performance and power consumption or optimizing the performance-power consumption tradeoff. Second, one may selectively set, program, or adjust the supply voltage and power consumption in critical circuit paths or parts of the PLD so as to increase their performance as desired. Conversely, one may selectively set, program, or adjust the supply voltage and power consumption in non-critical circuit paths or parts of the PLD to levels commensurate with their desired performance.
- FIG. 1 shows a general block diagram of a PLD 103 according to an illustrative embodiment of the invention.
- PLD 103 includes configuration circuitry 130 , configuration memory 133 , control circuitry 136 , programmable logic 106 , programmable interconnect 109 , and I/O circuitry 112 .
- PLD 103 may include test/debug circuitry 115 , one or more processors 118 , one or more communication circuitry 121 , one or more memories 124 , one or more controllers 127 , as desired.
- FIG. 1 shows a simplified block diagram of PLD 103 .
- PLD 103 may include other blocks and circuitry, as persons of ordinary skill in the art understand. Examples of such circuitry include clock generation and distribution circuits, redundancy circuits, and the like.
- PLD 103 may include, analog circuitry, other digital circuitry, and/or mixed-mode or mixed-signal circuitry, as desired.
- Programmable logic 106 includes blocks of configurable or programmable logic circuitry, such as look-up tables (LUTs), product-term logic, multiplexers, logic gates, registers, memory, and the like.
- Programmable interconnect 109 couples to programmable logic 106 and provides configurable interconnects (coupling mechanisms) between various blocks within programmable logic 106 and other circuitry within or outside PLD 103 .
- Control circuitry 136 controls various operations within PLD 103 .
- PLD configuration circuitry 130 uses configuration data (which it obtains from an external source, such as a storage device, a host, etc.) to program or configure the functionality of PLD 103 .
- the configuration data typically reside in configuration memory 133 .
- the configuration data determine the functionality of PLD 103 by programming programmable logic 106 and programmable interconnect 109 , as persons skilled in the art with the benefit of the description of the invention understand.
- I/O circuitry 112 may constitute a wide variety of I/O devices or circuits, as persons of ordinary skill in the art who have the benefit of the description of the invention understand. I/O circuitry 112 may couple to various parts of PLD 103 , for example, programmable logic 106 and programmable interconnect 109 . I/O circuitry 112 provides a mechanism and circuitry for various blocks within PLD 103 to communicate with external circuitry or devices.
- Test/debug circuitry 115 facilitates the testing and troubleshooting of various blocks and circuits within PLD 103 .
- Test/debug circuitry 115 may include a variety of blocks or circuits known to persons of ordinary skill in the art who have the benefit of the description of the invention.
- test/debug circuitry 115 may include circuits for performing tests after PLD 103 powers up or resets, as desired.
- Test/debug circuitry 115 may also include coding and parity circuits, as desired.
- PLD 103 may include one or more processors 118 .
- Processor 118 may couple to other blocks and circuits within PLD 103 .
- Processor 118 may receive data and information from circuits within or external to PLD 103 and process the information in a wide variety of ways, as persons skilled in the art with the benefit of the description of the invention appreciate.
- One or more of processor(s) 118 may constitute a digital signal processor (DSP). DSPs allow performing a wide variety of signal processing tasks, such as compression, decompression, audio processing, video processing, filtering, and the like, as desired.
- DSP digital signal processor
- PLD 103 may also include one or more communication circuitry 121 .
- Communication circuitry 121 may facilitate data and information exchange between various circuits within PLD 103 and circuits external to PLD 103 , as persons of ordinary skill in the art who have the benefit of the description of the invention understand.
- communication circuitry 121 may provide various protocol functionality (e.g., Transmission Control Protocol/Internet Protocol (TCP/IP), User Datagram Protocol (UDP) etc.), as desired.
- communication circuitry 121 may include network (e.g., Ethernet, token ring, etc.) or bus interface circuitry, as desired.
- PLD 103 may further include one or more memories 124 and one or more controller(s) 127 .
- Memory 124 allows the storage of various data and information (such as user-data, intermediate results, calculation results, etc.) within PLD 103 .
- Memory 124 may have a granular or block form, as desired.
- Controller 127 allows interfacing to, and controlling the operation and various functions of circuitry outside the PLD.
- controller 127 may constitute a memory controller that interfaces to and controls an external synchronous dynamic random access memory (SDRAM), as desired.
- SDRAM synchronous dynamic random access memory
- PLD 103 may include analog or mixed-mode or mixed-signal circuitry 139 , sometimes known as analog or mixed-mode or mixed-signal IP blocks (e.g., blocks of circuits, modules, sub-modules, sub-circuits, groups of transistors, etc.).
- PLD 103 may include amplifiers, digital-to-analog converters, analog-to-digital converters, filters, and the like.
- analog/mixed-mode circuits tend to exhibit sensitivity to noise.
- the inventive concepts help to isolate noise-sensitive circuitry from noise-generating circuitry.
- the inventive concepts include techniques that tend to reduce the noise levels present in PLDs.
- FIG. 2 shows a floor-plan of a PLD 103 according to an exemplary embodiment of the invention.
- PLD 103 includes programmable logic 106 arranged as a two-dimensional array.
- Programmable interconnect 109 arranged as horizontal interconnect and vertical interconnect, couples the blocks of programmable logic 106 to one another.
- PLDs according to the invention have a hierarchical architecture.
- each block of programmable logic 106 in FIG. 2 may in turn include smaller or more granular programmable logic blocks or circuits.
- One may adjust the supply voltage and power consumption or dissipation in each level of the hierarchical architecture of the PLD, as desired.
- FIG. 3 shows a block diagram of an exemplary embodiment of programmable logic 106 in a PLD according to the invention.
- Programmable logic 106 includes logic elements or programmable logic circuits 250 , local interconnect 253 , interface circuit 256 , and interface circuit 259 .
- Logic elements 250 provide configurable or programmable logic functions, for example, LUTs, registers, product-term logic, etc., as persons of ordinary skill in the art who have the benefit of the description of the invention understand.
- Local interconnect 253 provides a configurable or programmable mechanism for logic elements 250 to couple to one another or to programmable interconnect 109 (sometimes called “global interconnect”), as desired.
- Interface circuit 256 and interface circuit 259 provide a configurable or programmable way for programmable logic 106 block of circuitry to couple to programmable interconnect 109 (and hence to other programmable logic 106 , as FIG. 2 shows).
- Interface circuit 256 and interface circuit 259 may include multiplexers (MUXs), registers, buffers, drivers, and the like, as persons of ordinary skill in the art who have the benefit of the description of the invention understand.
- MUXs multiplexers
- the blocks in FIG. 1 e.g., programmable logic 106 , programmable interconnect 109 , etc.
- one or more logic elements 250 within one or more programmable logic blocks 106 e.g., one or more interface circuits 256 and/or 259 , within one or more programmable logic blocks 106 ;
- FIG. 4 shows a circuit arrangement for adjusting the supply voltage and, hence, the power consumption of a desired circuit in a PLD according to an exemplary embodiment of the invention. More specifically, the circuit arrangement in FIG. 4 shows a controlled PLD circuit 300 that includes control circuit 303 , PLD circuit 306 , and variable impedance device 309 .
- circuit 303 In response to one or more signals not shown explicitly in FIG. 4 (such as a bias signal and configuration signals, described in connection with FIG. 13 ) circuit 303 applies a corresponding control signal (or signals, depending on the nature of variable impedance device 309 ) so as to cause adjustment of the supply voltage that variable impedance device 309 provides to PLD circuit 306 . Consequently, control circuit 303 can cause the adjustment of the power consumption (and other performance criteria, such as operating speed) of PLD circuit 306 .
- signals not shown explicitly in FIG. 4 such as a bias signal and configuration signals, described in connection with FIG. 13
- control circuit 303 applies a corresponding control signal (or signals, depending on the nature of variable impedance device 309 ) so as to cause adjustment of the supply voltage that variable impedance device 309 provides to PLD circuit 306 . Consequently, control circuit 303 can cause the adjustment of the power consumption (and other performance criteria, such as operating speed) of PLD circuit 306 .
- Variable impedance device 309 couples the supply voltage, V DD , to PLD circuit 306 .
- V DD supply voltage
- PLD circuit 306 When variable impedance device 309 has a relatively high impedance, PLD circuit 306 conducts relatively little current, and has a nearly zero supply voltage. Thus, PLD circuit 306 effectively shuts down or enters an OFF state or sleep mode. In this state, PLD circuit 306 consumes nearly zero power.
- variable impedance device 309 when variable impedance device 309 has a relatively low impedance, PLD circuit 306 receives nearly the voltage V DD as its supply voltage (minus any drop across variable impedance device 309 ). In this state, PLD circuit 306 typically has higher power consumption, but also higher speed. Thus, by varying the effective supply voltage of PLD circuit 306 between the two extremes of near-zero and near-VDD supply voltages, one may trade off its various performance measures, such as power consumption and speed.
- PLD circuit 306 may constitute any desired region, block, circuitry, sub-block, or collection of each of those parts, of a PLD.
- PLD circuit 306 may constitute one or more of the elements shown in FIGS. 1-3 , such as programmable interconnect 109 , logic elements 250 , etc., as desired.
- control circuit 303 may operate under the supervision of one or more other parts of the PLD, or under the control of an external source, or a combination of internal and external sources, as desired.
- Control circuit 303 causes the impedance of the variable impedance device to change.
- the effective supply voltage provided to PLD circuit 306 varies.
- the effective supply voltage of PLD circuit 306 affects its characteristics, such as operating speed, power consumption, and the like. By adjusting the supply voltage level for PLD circuit 306 , one may trade off its various characteristics, such as speed versus power consumption.
- Variable impedance device 309 may constitute a desired type of device, depending on factors such as the particular PLD implementation, circuit and process technology, and the like, as persons of ordinary skill in the art who have the benefit of the description of the invention understand.
- variable impedance device 309 may constitute a transistor.
- FIG. 5 illustrates another circuit arrangement for adjusting the supply voltage of a desired circuit in a PLD according to an exemplary embodiment of the invention.
- the circuit arrangement in FIG. 5 is similar to the circuit in FIG. 4 .
- FIG. 5 uses a transistor 320 and, more particularly, a metal oxide semiconductor field effect transistor (MOSFET) transistor, as a particular type of variable impedance device.
- MOSFET metal oxide semiconductor field effect transistor
- transistor 320 may constitute a variety of devices, such as bipolar junction transistors (BJTs), bipolar hetero-junction transistor (BHT), and the like.
- BJTs bipolar junction transistors
- BHT bipolar hetero-junction transistor
- transistor 320 may constitute a native transistor, as desired.
- Native transistors may have a negative or small threshold voltage, V T , thus making biasing or driving transistor 320 easier in situations where a relatively small V DD results in a small headroom in the output voltage of control circuit 303 .
- PLDs according to the invention may include noise-sensitive analog or mixed-mode or mixed-signal circuitry.
- One may use filtering techniques to help reduce the overall noise in the PLD or the noise level that the analog or mixed-mode circuitry experiences.
- FIG. 6 depicts a circuit arrangement for reducing the noise level in a PLD according to an exemplary embodiment of the invention.
- Controlled PLD circuit 300 in FIG. 6 is analogous to the circuit shown in FIG. 4 , and provides similar benefits.
- the circuitry in FIG. 6 provides the capability of controlling the supply voltage and, hence, the performance, of PLD circuit 306 , as described above in detail.
- PLD circuit 306 constitutes a circuit with relatively high sensitivity to noise, such as an analog or mixed-mode circuit.
- the circuit arrangement in FIG. 6 includes capacitor 323 and capacitor 326 . Together with various impedances present in the circuit, each of those capacitors forms a filter. For example, capacitor 326 , together with the parallel impedance of variable impedance device 309 and PLD circuit 306 , forms a low-pass filter. By filtering higher frequencies, the low-pass filters tend to reduce the overall noise level that PLD circuit 306 experiences. Note that one may omit one of capacitors 323 and 326 , depending on factors such as the desired level of filtering, the size and value of components, and the like, as persons of ordinary skill in the art who have the benefit of the description of the invention understand.
- FIG. 7 shows another circuit arrangement for reducing the noise level in a PLD according to an exemplary embodiment of the invention.
- the circuit arrangement in FIG. 7 constitutes a more specific implementation of the circuit in FIG. 6 . More specifically, rather than a general variable impedance device 309 in FIG. 6 , the circuit arrangement in FIG. 7 uses transistor 320 .
- Transistor 320 may generally constitute any of the devices described above with respect to FIG. 5 , as desired. Note that, as described above, one may omit one of capacitors 323 and 326 , depending on factors such as the desired level of filtering, the size and value of components, and the like, as persons of ordinary skill in the art who have the benefit of the description of the invention understand.
- FIG. 8 shows an arrangement for providing a flexible mechanism for adjusting the performance of the various parts of a PLD 103 according to an exemplary embodiment of the invention.
- PLD 103 includes one or more PLD circuit regions or “islands” 400 A- 400 C.
- Each PLD circuit region 400 A- 400 C includes one or more controlled PLD circuits 300 , as described above.
- Each of PLD circuit regions 400 A- 400 C may receive one or more power supply voltages, labeled as V DD1 -V DDN .
- PLD circuit region 400 A receives V DD1
- circuit region 400 B receives V DD1 -V DD3
- circuit region 400 C receives V DDN .
- Each of controlled PLD circuits 300 can adjust the supply voltage provided to its respective PLD circuit 306 (see, for example, FIG. 4 ), as described above in detail.
- each of PLD circuit regions 400 A- 400 C By assigning a desired set of power supply voltages to each of PLD circuit regions 400 A- 400 C, one may adjust the supply voltage and power consumption of circuitry within the circuit regions. Furthermore, by including a desired set of controlled PLD circuits 300 within a given circuit region 400 A- 400 C, one may match the type of supply voltage adjustment in each circuit region 400 A- 400 C with one or more suitable controlled PLD circuits 300 .
- the arrangement in FIG. 8 provides a flexible mechanism for allocating various PLD resources to implementing an appropriate part of the user's design or system so as to provide an efficient implementation with improved performance adjustment capabilities and better overall performance (e.g., speed-power consumption tradeoff).
- PLD 103 may generate power supply voltages internally, as desired.
- FIGS. 9A-9C show circuit arrangements for distributing and generating power supply voltages in PLDs according to exemplary embodiments of the invention.
- PLD 103 simply uses the external power supply voltages that it receives, e.g., V DD1 -V DDN .
- PLD 103 may use a power distribution and supply voltage adjustment scheme, such as the arrangement in FIG. 8 .
- PLD 103 receives power supply voltages V DD1 -V DDN .
- PLD 103 may regulate one or more of the power supply voltages to generate one or more internal power supply voltages.
- PLD 103 may then use the external and the internally generated powers supply voltages in a power distribution and supply voltage adjustment scheme, e.g., as shown in FIG. 8 .
- PLD 103 uses voltage regulator 450 to generate internal power supply voltage V DD2 ′ from external power supply voltage V DD2 .
- PLD 103 receives power supply voltages V DD1 -V DDN .
- PLD 103 may use one or more charge pumps 453 to generate one or more internal power supply voltages.
- PLD 103 may then use the external and the internally generated powers supply voltages in a power distribution and supply voltage adjustment scheme, e.g., as shown in FIG. 8 .
- PLD 103 uses charge pump 453 to generate internal power supply voltage V DD1 ′ from external power supply voltage V DD1 .
- Internal power supply voltage V DD1 ′ has a higher voltage level than V DD1 .
- the inventive concepts include techniques for isolating noise-sensitive circuits from noise-generating circuitry with the PLD. More particularly, in PLDs fabricated using CMOS technology, various PLD circuits typically reside in a number of deep n-wells. By strategically placing noise-sensitive circuits in isolated n-wells, one may shield or isolate the noise-sensitive circuits from sources of noise. Thus, one may provide islands within the PLD, each with its own supply voltage, power consumption, noise generation, and noise isolation characteristics. The islands provide a mechanism in PLDs according to the invention for providing a flexible implementation of a user's design or system.
- FIG. 10 shows an example of using n-wells to isolate noise-sensitive circuits in a PLD according to an illustrative embodiment of the invention.
- the PLD resides in substrate 500 .
- Substrate 500 includes deep n-wells 503 , 506 , and 509 .
- Each of deep n-wells 503 , 506 , and 509 may include a variety of PLD circuitry, such as the circuits shown in FIGS. 1-3 .
- circuitry with relatively high noise sensitivity labeled as 506 A
- a PLD that includes circuits that generate moderate amounts of noise
- 506 C circuits that produce relatively high levels of noise
- circuits 506 A, 506 B, and 506 C in deep n-wells 503 , 506 , and 509 , respectively.
- Noise and interference tends to decrease by the virtue of placing noise-sensitive circuit 506 A farthest from the relatively high levels of noise that circuit 506 C generates, but nearer to the moderate levels of noise that circuit 506 B produces.
- deep n-wells represent an illustrative construct in a PLD fabrication technology.
- the factors include the type and characteristics of the technology and the devices and constructs available, the desired design and performance specifications, cost, complexity, area efficiency, and the like.
- SOI circuits tend to provide isolation between transistors because of the insulator layer (typically silicon dioxide).
- SOI circuits provide a mechanism for isolating noise-sensitive circuits from noise-generating circuits of the PLD.
- FIG. 11 depicts various software modules that PLD computer-aided design (CAD) software according to illustrative embodiments of the invention uses.
- the modules include design-entry module 550 , synthesis module 553 , place-and-route module 556 , and verification module 559 .
- Design-entry module 550 allows the integration of multiple design files.
- the user may generate the design files by using design-entry module 550 or by using a variety of electronic design automation (EDA) or CAD tools (such as industry-standard EDA tools), as desired.
- EDA electronic design automation
- CAD tools such as industry-standard EDA tools
- the user may enter the design in a graphic format, a waveform-based format, a schematic format, in a text or binary format, or as a combination of those formats, as desired.
- Synthesis module 553 accepts the output of design-entry module 550 . Based on the user-provided design, synthesis module 553 generates appropriate logic circuitry that realizes the user-provided design. One or more PLDs (not shown explicitly) implement the synthesized overall design or system.
- Synthesis module 553 may also generate any glue logic that allows integration and proper operation and interfacing of various modules in the user's designs. For example, synthesis module 553 provides appropriate hardware so that an output of one block properly interfaces with an input of another block. Synthesis module 553 may provide appropriate hardware so as to meet the specifications of each of the modules in the overall design or system.
- synthesis module 553 may include algorithms and routines for optimizing the synthesized design. Through optimization, synthesis module 553 seeks to more efficiently use the resources of the one or more PLDs that implement the overall design or system. In some embodiments, synthesis module 553 may identify critical paths within the synthesized design or system. Synthesis module 553 provides its output to place-and-route module 556 .
- Place-and-route module 556 uses the designer's timing specifications to perform optimal logic mapping and placement.
- the logic mapping and placement determine the use of routing resources within the PLD(s). In other words, by use of particular programmable interconnects with the PLD(s) for certain parts of the design, place-and-route module 556 helps optimize the performance of the overall design or system.
- place-and-route module 556 helps to meet the critical timing paths of the overall design or system.
- Place-and-route module 556 optimizes the critical timing paths to help provides timing closure faster in a manner known to persons of ordinary skill in the art with the benefit of the description of the invention.
- the overall design or system can achieve faster performance (i.e., operate at a higher clock rate or have higher throughput).
- place-and-route module 556 adjusts the supply voltage and power consumption and the noise performance or exposure of a portion of or all of the PLD(s) that implement the design or system. Place-and-route module 556 may do so automatically, according to user-specified criteria, or a combination of the two. Place-and-route module 556 may use the user-specified criteria (for example, performance specifications, such as power dissipation, noise exposure or performance, speed, and/or current-drive capability). In addition, or instead, place-and-route module 556 may use the information about critical paths within the design or system to adjust the supply voltage(s), physical placement so as to reduce noise generation and exposure, and power consumption of parts or all of the design or system, as desired.
- performance specifications such as power dissipation, noise exposure or performance, speed, and/or current-drive capability
- place-and-route module 556 may adjust the supply voltage and power consumption of the critical parts of the design or system so as to achieve higher performance.
- Place-and-route module 556 may take into account power dissipation criteria (e.g., maximum power density) so as to trade off power and performance, as desired.
- Place-and-route module 556 provides the optimized design to verification module 559 .
- Verification module 559 performs simulation and verification of the design.
- the simulation and verification seek in part to verify that the design complies with the user's prescribed specifications.
- the simulation and verification also aim at detecting and correcting any design problems before prototyping the design.
- verification module 559 helps the user to reduce the overall cost and time-to-market of the overall design or system.
- Verification module 559 may support and perform a variety of verification and simulation options, as desired.
- the options may include design-rule checking, functional verification, test-bench generation, static timing analysis, timing simulation, hardware/software simulation, in-system verification, board-level timing analysis, signal integrity analysis and electromagnetic compatibility (EMC), formal netlist verification, noise generation and exposure, and power-consumption estimation, as desired.
- EMC electromagnetic compatibility
- FIG. 12 illustrates a flow diagram for a PLD CAD software according to an exemplary embodiment of the invention.
- the PLD CAD shown in FIG. 12 incorporates the choice of supply voltage and power consumption for each region of the PLD into a timing-driven place-and-route CAD system. Note that, as desired, one may include criteria for noise generation, noise exposure, and/or noise isolation into the PLD CAD in FIG. 12 by making modifications that fall within the knowledge of persons of ordinary skill in the art who have the benefit of the description of the invention.
- the PLD CAD sets initial supply voltage levels (corresponding to estimated power consumption levels).
- the software generates an initial placement. Then, at 609 it analyzes the timing of the circuitry using delay estimates that reflect the various settings, such as supply voltage settings.
- the software determines whether it has met the user's various criteria, such as timing and power goals. If so, at 615 it records the placement and supply voltage selections. If not, the software checks at 618 to determine whether it has reached the iteration limit. If so, it proceeds to 615 to record the current placement and supply voltage selections.
- the software If the software has not reached the iteration limit, it increments the iteration count (not shown explicitly), and at 621 changes the settings of at least some regions, circuits, blocks, or parts of the PLD. At 624 it analyzes the timing of the circuitry using delay estimates that reflect the changed settings. At 356 it improves the placement of the circuit, and jumps to 612 to determine whether it has met the user's timing and power goals.
- the PLD CAD has implemented a design (i.e., synthesized, placed and routed the design), the CAD software should automatically provide data for programming the PLD that set the supply voltages of various parts of the PLD.
- FIG. 13 shows a block diagram of circuitry within a PLD according to exemplary embodiments of the invention to adjust, program, or set the supply voltage levels of desired parts of the PLD.
- the circuitry includes bias circuit 703 , a plurality of configuration memory (configuration random-access memory, or CRAM, or other implementations of the memory) cells 709 , and controlled PLD circuits 300 .
- configuration memory configuration random-access memory, or CRAM, or other implementations of the memory
- Bias circuit 703 generates one or more signals 706 and provides those signal(s) to controlled PLD circuits 300 (more particularly, to control circuit 303 , as shown, for example, in FIG. 4 ). In other word, bias circuit 703 provides one or more global bias signals to controlled PLD circuits 300 . Furthermore, each of CRAM cells 709 provides to a respective one of controlled PLD circuits 300 (more particularly, to control circuit 303 ). The signals from CRAM cells 709 represent configuration data for the various circuits within the PLD, as provided by the PLD CAD program described above.
- control circuit (not shown explicitly) in each of controlled PLD circuits 300 In response to configuration data from CRAM cells 709 , the control circuit (not shown explicitly) in each of controlled PLD circuits 300 generates one or more signals to control the impedance of the variable impedance device (not shown explicitly) as a function of signal(s) 706 .
- each of CRAM cells 709 may provide configuration data to more than one controlled PLD circuit, as desired. Conversely, one may modify the control circuit within controlled PLD circuits 300 so as to make it responsive to configuration data from more than one CRAM cell 709 , as desired.
- FIG. 14 shows a circuit arrangement according to exemplary embodiments of the invention for adjusting supply voltage levels within PLD 103 in response to an external source 753 .
- the circuit arrangement includes external source 753 , communication/interface circuit 762 , and bias circuit 703 (see FIG. 13 ).
- Communication/interface circuit 762 provides a mechanism for external source 753 and bias circuit 703 to communicate and exchange information.
- External source 753 may provide one or more control signal(s) 756 to communication/interface circuit 762 within PLD 103 .
- Communication/interface circuit 762 provides the information received from external source 753 to bias circuit 703 .
- bias circuit 703 generates one or more signals 706 , with levels corresponding to control signal(s) 756 .
- Communication/interface circuit 762 may provide information, such as status signals, from bias circuit 703 (or PLD 103 generally) to external source 753 .
- External source 753 may constitute a variety of devices, structures, or arrangements, as persons of ordinary skill in the art with the benefit of the description of the invention understand.
- external source 753 may constitute a computer network (e.g., the Internet), a telephone-line communication link, a wireless communication link, a bus, etc., as desired.
- external source 753 may update or modify control signal(s) 756 that it provides to PLD 103 .
- Bias circuit 703 responds accordingly to the updated or modified signal(s) 756 .
- FIG. 15 shows a circuit arrangement for modifying supply voltage level(s) within a PLD according to exemplary embodiments of the invention.
- the circuit arrangement includes one or more sensor(s) 803 , one or more reference source(s) 806 , subtracter 818 , and bias circuit 703 .
- Sensor(s) 803 sense a desired parameter (e.g., temperature, noise, etc.) in one or more areas, circuits, or blocks within PLD 103 and provide signal(s) 809 to subtracter 818 .
- Reference source(s) 806 provide reference signal(s) 812 to subtracter 818 .
- Reference signal(s) 812 may have values that correspond to various levels of the sensed parameter.
- Subtracter 818 subtracts reference signal(s) 812 from signal(s) 809 and provides difference signal(s) 815 to bias circuit 703 .
- Difference signal(s) 815 may constitute the difference between actual sensed value(s) and the desired value(s) in one or more parts of PLD 103 .
- bias circuit 703 In response to difference signal(s) 815 , bias circuit 703 generates signal(s) 706 (see also FIG. 13 ).
- Bias circuit 703 may use difference signal(s) 815 to generate signal(s) 706 that ultimately affect various aspects of the performance of PLD 103 . For example, if difference signal(s) 815 indicate a lower sensed value (say, speed) than a threshold or maximum value, bias circuit 703 may generate signal(s) that increase supply voltage level(s) to increase operating speed of the desired parts of PLD 103 . In contrast, if difference signal(s) 815 indicate a sensed level higher than a safe or maximum level, bias circuit 703 may generate signal(s) that decrease supply voltage level(s) to safe or desired levels (albeit with a decreased resulting speed).
- difference signal(s) 815 indicate a lower sensed value (say, speed) than a threshold or maximum value
- bias circuit 703 may generate signal(s) that increase supply voltage level(s) to increase operating speed of the desired parts of PLD 103 .
- bias circuit 703 may generate signal(s) that decrease supply voltage level(s) to safe or desired levels (albeit with
- PLDs according to the invention include not only digital circuitry, but also mixed-mode or mixed-signal circuitry or circuitry that is analog in nature.
- IP blocks as persons of ordinary skill in the art who have the benefit of the description of the invention understand, generally denote a pre-designed circuit or block.
- an IP block might constitute a core or block of circuitry designed by another designer, group of designers, or even another organization.
- PLD 103 might include one or more IP block(s), as desired.
- IP blocks might include a wide variety of circuits. Examples include analog-to-digital converters (ADCs), digital-to-analog converters (DACs), data converters, various types of amplifiers, gain blocks, mixers or multipliers, phase-locked loops (PLLs), oscillators, voltage-controlled oscillators (VCOs), filters, clock sources, clock multipliers, clock recovery circuits, receivers, transmitters, transceivers, and various types of interfaces, such as high-speed serial interfaces (HSSI).
- ADCs analog-to-digital converters
- DACs digital-to-analog converters
- PLLs phase-locked loops
- VCOs voltage-controlled oscillators
- filters clock sources, clock multipliers, clock recovery circuits, receivers, transmitters, transceivers, and various types of interfaces, such as high-speed serial interfaces (HSSI).
- HSSI high-speed serial interfaces
- IP blocks might include digital circuitry and/or analog circuitry, as desired (i
- IP block not only the particular type of circuitry in IP block, but also the amount or number of IP blocks, makes them relatively important from performance, noise, and power consumption perspectives.
- designers or users might replicate an IP block up to 20 times across the PLD. Because of that repetition, any gains in the performance and power consumption of the IP block(s) would make a relatively large impact on the overall performance of the PLD and, hence, the circuit or system in which they reside.
- some of the circuitry in PLDs according to the inventive concepts uses a dedicated (or shared with similar circuits) power supply.
- Separate power supplies supply power to the traditional PLD fabric, e.g., programmable logic 106 and programmable interconnect 109 (see FIG. 1 ).
- the separation of the power supplies helps overcome noise and power consumption problems, as persons of ordinary skill in the art who have the benefit of the description of the invention understand.
- external regulators tend to increase the overall cost of the solution or system.
- external regulators tend to increase the complexity of the design from a user's perspective because of the increased complexity of the printed circuit board and additional components.
- PLDs contemplate integrating regulators or power supplies for IP blocks, or at least noise-sensitive portions, circuits, or parts in IP blocks, within the PLD.
- Integrated regulators overcome the disadvantages of external regulators.
- integrated regulators reside within the same package as the PLD's die, thus resulting in lower overall cost. Moreover, integrated regulators reduce the number of components in the bill of materials. Integrated regulators also tend to reduce coupling to nearby or other circuitry on the printed circuit board and, hence, reduce noise, coupling, or interference problems. In addition, integrated regulators tend to increase system robustness and overall reliability.
- IP blocks can itself lead to special consideration in circuit and system design and, hence, affect performance and power consumption. Because of their relatively high performance specifications and goals, IP blocks tend to exhibit increased sensitivity to process, voltage-level, and power quality variations.
- Dynamic logic relies on storage of relatively small amounts of charge on a capacitor. Leakage in the circuit can cause the charge on the capacitor to reduce, and might lead to the logic circuit losing its state or having an incorrect state. The incorrect state can propagate to other circuitry and cause errors or malfunctions in the circuit or system.
- Natural device-to-device variations within a given semiconductor fabrication process can lead to variations in device leakage levels. The variations might lead to reduced performance or failure of dynamic logic circuits, as described above. If the devices in question happen to reside in sensitive IP blocks or mixed-mode circuits, the PLD itself might experience problems or fail. This phenomenon would result in reduced manufacturing yield and increased costs.
- device-to-device variations might lead to variations in the edge rates in driver circuits. This phenomenon adversely impacts the PLD's performance. Slow edges, for example, are more prone to jitter, while faster edges tend to result in increased power consumption and generate additional noise in the power supply for the circuit (i.e., in the power supply for the IP block or the particular part of the IP block).
- inventive concepts provide a more general or system-level approach that includes power management considerations for the IP blocks and PLD circuitry into a higher end system for PLDs.
- FIG. 16 shows a simplified block diagram of an exemplary embodiment of the invention for adjusting the performance of circuitry within the PLD, including IP block(s).
- the particular embodiment includes power management circuitry 1003 , PLD circuitry 306 , and one or more IP blocks 1000 .
- Power management circuitry 1003 communicates with PLD circuitry 306 via signal link 1006 .
- Signal link 1006 might provide signal flow in one or both directions between power management circuitry 1003 and PLD circuitry 306 .
- signal link 1006 might include one of more status signals and one or more control signals, as desired.
- the particular implementation of signal link 1006 depends on the details of the desired performance and circuit specifications, as persons of ordinary skill in the art who have the benefit of the description of the invention understand.
- signal link 1009 might provide signal flow in one or both directions between power management circuitry 1003 and IP block(s) 1000 .
- signal link 1009 might include one of more status signals and one or more control signals, as desired. The particular implementation of signal link 1009 depends on the details of the desired performance and circuit specifications, as persons of ordinary skill in the art who have the benefit of the description of the invention understand.
- signal link 1006 and signal link 1009 may implement signal link 1006 and signal link 1009 in a wide variety of ways. For example, one may use individual conductors or coupling mechanisms, a bus, or the like, as desired. Again, the details of the implementation depend on the particular situation, as persons of ordinary skill in the art who have the benefit of the description of the invention understand.
- Power management circuitry 1003 controls or manages the provision of power to PLD circuitry 306 .
- Power management circuitry 1003 may set, vary, or control the voltage levels to one or more parts of PLD circuitry 306 , as desired, and as described above.
- Power management circuitry 1003 might also cause one or more parts of PLD circuitry 306 to become disabled or hibernate, as desired, and as described above.
- power management circuitry 1003 may set, vary, or control body bias levels for one or more parts of PLD circuitry 306 , as desired, and as described above.
- body bias levels impact the performance of the affected transistors and, hence, of the overall circuit. Put simply, one may trade off speed and power consumption of the transistors and the overall circuit. More details of body bias and leakage control appear in U.S. patent application Ser. No. 10/865,402, titled “Apparatus and Methods for Adjusting Performance of Integrated Circuits,” filed on Jun. 10, 2004, Attorney Docket No. ALTR:026CIP, assigned to Altera Corporation, and incorporated here by reference in its entirety.
- power management circuitry 1003 controls or manages the provision of power to IP block(s) 1000 .
- the affected parts of IP block(s) 1000 may include analog circuitry, digital circuitry, mixed-mode or mixed-signal circuitry, or combinations of them, as desired, and as persons of ordinary skill in the art who have the benefit of the description of the invention understand.
- Power management circuitry 1003 may set, vary, or control the voltage levels to one or more parts of IP block(s) 1000 , as desired, and as described above. Power management circuitry 1003 might also cause one or more parts of IP block(s) to become disabled or hibernate, as desired, and as described above.
- power management circuitry 1003 may set, vary, or control body bias levels for one or more parts of IP block(s) 1000 , as desired, and as described above.
- Body bias levels have the effect on performance of the affected transistors and the overall circuit, described above and, in more detail, in U.S. patent application Ser. No. 10/865,402, incorporated here by reference.
- power management circuitry 1003 may control the provision of power, voltage level(s), and body bias level(s) to PLD circuitry 306 and IP block(s) 1000 with any desired level of granularity.
- the level of granularity may affect individual transistors, to groups or blocks of transistors or circuits, to entire blocks, all of PLD circuitry 306 , all of IP block(s) 1000 , etc., as desired.
- the choice of the level of granularity depends on a number of factors, such as the desired performance and design specifications in a given situation, as persons of ordinary skill in the art who have the benefit of the description of the invention understand.
- FIG. 16 provides merely one exemplary embodiment, and that many alternative embodiments according to the inventive concepts are possible, as persons of ordinary skill in the art who have the benefit of the description of the invention understand.
- FIG. 17 illustrates a simplified block diagram of another exemplary embodiment of the invention. This embodiment includes PLD circuitry 306 , IP block(s) 1000 , PLD power management circuitry 1003 A, and IP power management circuitry 1003 B.
- PLD power management circuitry 1003 A communicates with PLD circuitry 306 via signal link 1006 A and signal link 1006 B.
- Signal link 1006 A and signal link 1006 B may be similar to the corresponding parts of signal link 1006 in FIG. 16 , as desired, and as persons of ordinary skill in the art who have the benefit of the description of the invention understand.
- Signal link 1006 A provides a mechanism for communication from PLD power management circuitry 1003 A to PLD circuitry 306
- signal link 1006 B provides a way for PLD circuitry 306 to communicate with PLD power management circuitry 1003 A.
- IP power management circuitry 1003 B communicates with IP block(s) 1000 via signal link 1009 A and signal link 1009 B.
- Signal link 1009 A and signal link 1009 B may be similar to corresponding parts of signal link 1006 in FIG. 16 , as desired, and as persons of ordinary skill in the art who have the benefit of the description of the invention understand. Note, however, that signal link 1009 A provides a mechanism for communication from IP power management circuitry 1003 B to IP block(s) 1000 .
- Signal link 1009 B provides a way for IP block(s) 1000 to communicate with IP power management circuitry 1003 B.
- the embodiment in FIG. 17 operates in a like manner and achieves similar goals as does the embodiment in FIG. 16 .
- the embodiment in FIG. 17 allows for finer control over the power control and performance of PLD circuitry 306 and IP block(s) 1000 and, hence, of PLD 103 overall.
- the embodiment in FIG. 17 provides the capability for either the PLD CAD software (see FIG. 11 ) and/or the user to have finer control over the power consumption, power supply, and performance of one or more PLD circuits 306 and/or one of more IP block(s) 1000 .
- one may provide power management capability to the PLD CAD software but to the user, or vice-versa, for PLD circuitry 306 and/or IP block(s) 1000 .
- IP power management circuitry 1003 B may control and manage the power consumption and performance of IP blocks 1000 with a desired level of granularity.
- FIG. 18 depicts a simplified block diagram of an illustrative embodiment according to the invention for adjusting the performance of various IP block(s) in PLDs.
- the embodiment in FIG. 18 includes a particular kind of IP block, i.e., a high-speed serial interface (HSSI) circuit 1000 A.
- the embodiment may include other types of IP block(s), or even multiple HSSI circuits, as desired.
- the circuit arrangement may include a set of N IP blocks, where N is a desired positive integer.
- the circuit arrangement in FIG. 18 also includes an IP power management circuitry 1003 .
- IP power management circuitry 1003 B may have similar characteristics and perform similar functions as described above.
- IP power management circuitry 1003 B communicates with HSSI circuit 1000 A via signal links 1009 A- 1009 B.
- IP power management circuitry 1003 B may communicate with other IP blocks(s) (e.g., IP block 1000 N), using the same or different signal links, as desired, and as persons of ordinary skill in the art who have the benefit of the description of the invention understand. In either case, IP power management circuitry 1003 B controls the power consumption, provision of power, and performance of one or more of IP blocks 1000 A- 1000 N, as desired, and as described above.
- FIG. 19 shows a simplified block diagram of another illustrative embodiment according to the invention.
- the figure shows an exemplary circuit arrangement in HSSI circuit 1000 A.
- HSSI circuit 1000 A include physical coding sub-layer (PCS) 1026 , physical medium attachment (PMA) 1029 and, optionally, medium access control (MAC) layer 1023 .
- PCS circuit 1026 , PMA circuit 1029 , and MAC circuit 1023 fall within the knowledge of persons of ordinary skill in the art who have the benefit of the description of the invention.
- PCS circuit 1026 includes circuitry of a primarily digital nature.
- PMA circuit 1029 includes primarily analog circuitry. As noted above, each of the types of circuitry entail different power provision, power control, and performance adjustment considerations.
- the circuit arrangement may optionally include power controller circuit 1020 .
- Power controller circuit 1020 communicates with other circuitry in the PLD (e.g., IP power management circuitry 1003 B) via signal links 1009 A- 1009 B.
- power controller circuit 1020 may communicate with one or more of MAC circuit 1023 , PCS circuit 1026 , and PMA circuit 1029 via, respectively, signal link 1032 , signal link 1035 , and/or signal link 1038 . Through those signal links, power controller circuit 1020 can control the provision of power and adjustment of performance of the corresponding circuit or block.
- the circuit arrangement in FIG. 19 provides a hierarchical or modular approach to power and performance adjustment control. Note, however, that one may omit power controller 1020 , as desired. For example, as an alternative, one may communicate power control and performance adjustment signals from another circuit, such as IP power management circuitry 1003 B (see FIG. 18 ), as desired. In this situation, IP power management circuitry 1003 may subsume the circuitry and/or functionality of power controller circuit 1020 , as desired.
- the inventive concepts contemplate providing separate mechanisms for adjusting the supply of power to MAC circuit 1023 , PCS circuit 1026 , and PMA circuit 1029 . More specifically, one may control not only whether each of those circuits receives power, but also the corresponding levels or magnitudes (and also body bias levels, as desired), if it does.
- This concept takes advantage of the fact that, often, the various parts or blocks of IP block(s) do not operate at their maximum specified or potential data rates. The reason may lie in the user's particular circuit demands, the specifications for a particular end-use, etc.
- a priori e.g., through testing and characterization
- HSSI circuit 1000 A may be set or tuned to either highest power level for 6G operation, or proportionally lower levels, as pre-determined for 3G, 2.5G, 1G, operation, etc., as desired.
- FIGS. 20-23 illustrate simplified flow diagrams corresponding to those techniques.
- FIG. 20 shows a simplified flow diagram for a technique according to the invention for improving yield and performance.
- the technique assumes that PLDs manufactured according to the invention include fuses or other similar mechanisms that allow one to set body bias values, supply voltages, and whether one or more parts of the PLD receive power.
- the method starts at 1050 , where one performs a test to determine the low data rate performance of the relevant IP block(s) (or other blocks) whose performance one wishes to adjust or set. In other words, one obtains performance characteristics at a lower boundary of the specified or desired performance. One adjusts the body bias levels (and/or supply levels) of those blocks or parts of those blocks if the specified performance is not met so as to attempt and obtain the desired performance.
- the device If not, at 1059 one characterizes the device, and burns fuses according to the selected body bias level (and optionally the supply voltages and whether a specified block or set of blocks should receive power). In other words, at this point, the device would be characterized as a relatively slow performance device and put in a corresponding “bin.”
- one may use the above technique can not only adjust the body bias during wafer sort, but also dynamically during device initialization (after power-up, but before control is released to the user, i.e., the user mode). In such a case, the body bias level(s) and/or power level(s) can be adjusted. (Note that the technique assumes that during wafer sort a determination was made that the PLD could be functional with respect to the desired performance characteristics with final tuning to be performed during programming, but before entering the user mode of operation.)
- FIG. 21 shows a simplified flow diagram of a technique according to an exemplary embodiment of the invention that one may use in this situation.
- the sorting and repair improves yield for IP block(s) that include analog circuitry and, hence, for the PLD itself.
- FIG. 22 illustrates a simplified flow diagram of a technique according to an exemplary embodiment of the invention in order to adjust performance and power consumption of a PLD.
- one adjusts the body bias and/or supply voltage(s) of the pertinent block(s) or sub-blocks. Thereafter, at 1099 , one may optionally repeat the sorting and adjusting steps for a desired number of times. Then, at 1103 one determines whether the devices meets the desired performance characteristics. One then sets the device grade accordingly (e.g., a lower-speed grade device, or a higher-speed grade device, depending on the results of the test at 1103 ).
- the device grade e.g., a lower-speed grade device, or a higher-speed grade device, depending on the results of the test at 1103 ).
- the technique takes into account various operational condition (e.g., level of activity at certain nodes or within certain circuits, blocks, etc.), which are known to the user, but not to the PLD's vendor, as they depend on the user's application and particular circuit or system. Depending on the operational parameters, one may vary the provision of power to certain parts or blocks of the PLD.
- FIG. 23 depicts a simplified flow diagram to illustrate the technique.
- one monitors at least one device performance characteristic or criterion, such as throughput or activity.
- one determines whether the actual performance exceeds the desired performance (or put another way, how the actual performance compares to the desired performance). If so, one may disable power to selected IP block(s) or sub-block(s) and/or adjust the supply level(s) for the block(s) or sub-block(s). If not, however, one may optionally return to 1120 one or more times, generally any desired number of times (in other words, one may continue the performance monitoring).
- Such circuitry include devices known as complex programmable logic device (CPLD), programmable gate array (PGA), and field programmable gate array (FPGA).
- CPLD complex programmable logic device
- PGA programmable gate array
- FPGA field programmable gate array
- circuit implementation may or may not contain separately identifiable hardware for the various functional blocks and may or may not use the particular circuitry shown.
- the choice of circuit implementation depends on various factors, such as particular design and performance specifications for a given implementation, as persons of ordinary skill in the art who have the benefit of the description of the invention understand.
- Other modifications and alternative embodiments of the invention in addition to those described here will be apparent to persons of ordinary skill in the art who have the benefit of the description of the invention. Accordingly, this description teaches those skilled in the art the manner of carrying out the invention and are to be construed as illustrative only.
Abstract
Description
- This application is a continuation-in-part application of U.S. patent application Ser. No. 11/006,420, titled “Apparatus and Methods for Adjusting Performance Characteristics of Programmable Logic Devices,” Attorney Docket No. ALTR:042, filed on Dec. 7, 2004, and incorporated here in its entirety.
- The inventive concepts relate generally to adjusting the performance of programmable logic devices (PLDs). More particularly, the invention concerns adjusting the supply voltage/power consumption of PLDs, as well as noise reduction and isolation in PLDs.
- PLDs are ubiquitous electronic devices that provide flexibility to not only designers, but also end-users. During the design cycle of an electronic circuit or system, a designer may perform a relatively large number of design iterations by simply re-programming the PLD for each design. Thus, the length and expense of the design cycle decreases compared to other alternatives. Similarly, the end-user may have a desired level of control over the functionality of a design that includes PLD(s). By programming the PLD(s) in the field or even on a real-time basis, the user can change the way the circuit or system behaves.
- To accommodate increasingly complex designs, modern PLDs include a relatively large number of transistors. Furthermore, users demand ever higher performance, which results in larger operating frequencies. Consequently, the power consumption, power dissipation, die temperatures and, hence, power density (power dissipation in various circuits or blocks), of PLDs has tended to increase. The upward march of the power density, however, may make PLDs design and implementation impractical or failure-prone. A need exists for PLDs that feature adjustable performance, such as adjustable power consumption in various PLD blocks and circuits.
- The disclosed concepts relate to the management and control of power consumption, the provision of power to various blocks and circuits in PLDs, and the performance of those blocks and circuits and therefore the PLD overall. In one illustrative embodiment, a PLD includes at least one IP block and at least one PLD circuit. The PLD further includes a power management circuit. The power management circuit is configured to control the power provided to the PLD circuit and the at least one IP block.
- In another exemplary embodiment, a method of adjusting performance of a PLD includes determining whether the PLD meets a performance characteristic, and adjusting a body bias level of at least a part of the PLD to a prescribed or desired level, according to whether the PLD meets the performance characteristic. The method also includes determining whether the PLD meets another performance characteristic, and characterizing the PLD depending on whether the PLD fails to meet that performance characteristic.
- In a third exemplary embodiment, a method of adjusting performance of a PLD that is used to implement a user's design. The PLD includes a set of IP blocks. The method includes determining whether all IP blocks in the set of IP blocks are used, and selectively disabling provision of power to any unused IP blocks. The method further includes determining whether the user's design is to meet performance specifications of a standard, and controlling a level of power provided to at least one of the IP blocks, depending on whether the user's design should meet the performance specifications of the standard.
- In a fourth exemplary embodiment, a method of adjusting performance of a PLD includes sorting the PLD according to its performance capability, and determining whether any circuit blocks in the PLD inhibit the PLD from meeting desired performance characteristics. The method further includes adjusting a body bias level within the PLD if the any circuit blocks in the PLD inhibit the PLD from meeting the desired performance characteristics.
- Moreover, in a fifth illustrative embodiment, a method of adjusting performance of a PLD during operation of the PLD includes monitoring at least one performance characteristics of the PLD, and determining whether the at least one performance characteristic of the PLD exceeds a desired performance characteristic. The method further includes disabling power to at least one IP block within the PLD if the at least one performance characteristic of the PLD exceeds the desired performance characteristic.
- The appended drawings illustrate only exemplary embodiments of the invention and therefore should not be considered as limiting its scope. Persons of ordinary skill in the art who have the benefit of the description of the invention appreciate that the disclosed inventive concepts lend themselves to other equally effective embodiments. In the drawings, the same numeral designators used in more than one drawing denote the same, similar, or equivalent functionality, components, or blocks.
-
FIG. 1 shows a general block diagram of a PLD according to an illustrative embodiment of the invention. -
FIG. 2 illustrates a floor-plan of a PLD according to an exemplary embodiment of the invention. -
FIG. 3 depicts a block diagram of an exemplary embodiment of programmable logic in a PLD according to the invention. -
FIG. 4 shows a circuit arrangement for adjusting the supply voltage of a desired circuit in a PLD according to an exemplary embodiment of the invention. -
FIG. 5 illustrates another circuit arrangement for adjusting the supply voltage of a desired circuit in a PLD according to an exemplary embodiment of the invention. -
FIG. 6 depicts a circuit arrangement for reducing the noise level in a PLD according to an exemplary embodiment of the invention. -
FIG. 7 shows another circuit arrangement for reducing the noise level in a PLD according to an exemplary embodiment of the invention. -
FIG. 8 illustrates an arrangement for providing a flexible mechanism for adjusting the performance of the various parts of a PLD according to an exemplary embodiment of the invention. -
FIGS. 9A-9C depict circuit arrangements for distributing and generating power supply voltages in PLDs according to exemplary embodiments of the invention. -
FIG. 10 shows an example of using n-wells to isolate noise-sensitive circuits in a PLD according to an illustrative embodiment of the invention. -
FIG. 11 illustrates various software modules that PLD computer-aided design (CAD) software according to illustrative embodiments of the invention uses. -
FIG. 12 depicts a flow diagram for a PLD CAD software according to an exemplary embodiment of the invention. -
FIG. 13 shows a block diagram of circuitry within a PLD according to exemplary embodiments of the invention to adjust, program, or set the supply voltage levels of desired parts of the PLD. -
FIG. 14 illustrates a circuit arrangement according to exemplary embodiments of the invention for adjusting supply voltage levels within a PLD in response to an external source. -
FIG. 15 depicts a circuit arrangement for adjusting supply voltage level(s) within a PLD according to exemplary embodiments of the invention. -
FIG. 16 shows a simplified block diagram of an exemplary embodiment of the invention for adjusting the performance of circuitry within the PLD, including IP block(s). -
FIG. 17 illustrates a simplified block diagram of another exemplary embodiment of the invention for adjusting the performance of circuitry within the PLD, including IP block(s). -
FIG. 18 depicts a simplified block diagram of an illustrative embodiment according to the invention for adjusting the performance of IP block(s) in PLDs. -
FIG. 19 shows a simplified block diagram of an illustrative embodiment according to the invention for adjusting the performance of a particular IP block. -
FIGS. 20-23 illustrate simplified flow diagrams for methods according to various aspects of the invention for adjusting the performance of PLDs that include IP block(s). - The inventive concepts contemplate apparatus and associated methods for PLDs that feature adjustable supply voltage (and, hence, power consumption and performance), reduced noise levels, and noise isolation. The inventive concepts help to overcome excessive power density levels that conventional PLDs suffer. Moreover, one may adjust the performance level of a desired portion, circuit, or block (or all circuits and blocks), of a PLD according to the invention. Put another way, one may adjust the performance by programming the supply voltage and the attendant power dissipation of the circuitry within the PLD with a desired level of granularity, ranging from individual circuit blocks, all the way to the entire PLD circuitry.
- More specifically, and as described below in detail, the inventive concepts contemplate controlling the supply voltage and power consumption of one or more circuits or blocks of circuits within the PLD by using a variable impedance circuit. In addition, one may use the variable impedance circuit to form a filter that, simultaneously with the adjustment of the power consumption, tend to reduce the noise levels present within the PLD. The reduced noise levels help to protect sensitive circuitry within the PLD from adverse effects of electrical noise. Furthermore, one may protect noise-sensitive circuitry within the PLD by using deep n-well structures within the PLD that help to isolate the sensitive circuitry from sources of electrical noise.
- The inventive concepts provide the following benefits over traditional implementations. First, they allow trading off performance and power consumption or optimizing the performance-power consumption tradeoff. Second, one may selectively set, program, or adjust the supply voltage and power consumption in critical circuit paths or parts of the PLD so as to increase their performance as desired. Conversely, one may selectively set, program, or adjust the supply voltage and power consumption in non-critical circuit paths or parts of the PLD to levels commensurate with their desired performance.
- One may also employ the inventive concepts to prevent (or reduce the probability of) thermal runaway. More specifically, in a traditional PLD, circuits operating at relatively high speeds tend to consume more power, resulting in temperature increase of the PLD. The increased power consumption may in turn cause those circuits to consume more power. This positive feedback mechanism may increase the power densities to unsafe or destructive levels. In PLDs according to the invention, one may adjust or control the supply voltage and power consumption levels of various blocks and, hence, reduce the likelihood of thermal runaway. Furthermore, the inventive concepts help to provide better performance by reducing the noise levels within the PLD and to isolate noise-sensitive circuitry from the undesirable effects of noise.
-
FIG. 1 shows a general block diagram of aPLD 103 according to an illustrative embodiment of the invention.PLD 103 includes configuration circuitry 130,configuration memory 133,control circuitry 136,programmable logic 106,programmable interconnect 109, and I/O circuitry 112. In addition,PLD 103 may include test/debug circuitry 115, one ormore processors 118, one ormore communication circuitry 121, one ormore memories 124, one ormore controllers 127, as desired. - Note that
FIG. 1 shows a simplified block diagram ofPLD 103. Thus,PLD 103 may include other blocks and circuitry, as persons of ordinary skill in the art understand. Examples of such circuitry include clock generation and distribution circuits, redundancy circuits, and the like. Furthermore,PLD 103 may include, analog circuitry, other digital circuitry, and/or mixed-mode or mixed-signal circuitry, as desired. -
Programmable logic 106 includes blocks of configurable or programmable logic circuitry, such as look-up tables (LUTs), product-term logic, multiplexers, logic gates, registers, memory, and the like.Programmable interconnect 109 couples toprogrammable logic 106 and provides configurable interconnects (coupling mechanisms) between various blocks withinprogrammable logic 106 and other circuitry within oroutside PLD 103. -
Control circuitry 136 controls various operations withinPLD 103. Under the supervision ofcontrol circuitry 136, PLD configuration circuitry 130 uses configuration data (which it obtains from an external source, such as a storage device, a host, etc.) to program or configure the functionality ofPLD 103. The configuration data typically reside inconfiguration memory 133. The configuration data determine the functionality ofPLD 103 by programmingprogrammable logic 106 andprogrammable interconnect 109, as persons skilled in the art with the benefit of the description of the invention understand. - I/
O circuitry 112 may constitute a wide variety of I/O devices or circuits, as persons of ordinary skill in the art who have the benefit of the description of the invention understand. I/O circuitry 112 may couple to various parts ofPLD 103, for example,programmable logic 106 andprogrammable interconnect 109. I/O circuitry 112 provides a mechanism and circuitry for various blocks withinPLD 103 to communicate with external circuitry or devices. - Test/
debug circuitry 115 facilitates the testing and troubleshooting of various blocks and circuits withinPLD 103. Test/debug circuitry 115 may include a variety of blocks or circuits known to persons of ordinary skill in the art who have the benefit of the description of the invention. For example, test/debug circuitry 115 may include circuits for performing tests afterPLD 103 powers up or resets, as desired. Test/debug circuitry 115 may also include coding and parity circuits, as desired. - As noted above,
PLD 103 may include one ormore processors 118.Processor 118 may couple to other blocks and circuits withinPLD 103.Processor 118 may receive data and information from circuits within or external toPLD 103 and process the information in a wide variety of ways, as persons skilled in the art with the benefit of the description of the invention appreciate. One or more of processor(s) 118 may constitute a digital signal processor (DSP). DSPs allow performing a wide variety of signal processing tasks, such as compression, decompression, audio processing, video processing, filtering, and the like, as desired. -
PLD 103 may also include one ormore communication circuitry 121.Communication circuitry 121 may facilitate data and information exchange between various circuits withinPLD 103 and circuits external toPLD 103, as persons of ordinary skill in the art who have the benefit of the description of the invention understand. As an example,communication circuitry 121 may provide various protocol functionality (e.g., Transmission Control Protocol/Internet Protocol (TCP/IP), User Datagram Protocol (UDP) etc.), as desired. As another example,communication circuitry 121 may include network (e.g., Ethernet, token ring, etc.) or bus interface circuitry, as desired. -
PLD 103 may further include one ormore memories 124 and one or more controller(s) 127.Memory 124 allows the storage of various data and information (such as user-data, intermediate results, calculation results, etc.) withinPLD 103.Memory 124 may have a granular or block form, as desired.Controller 127 allows interfacing to, and controlling the operation and various functions of circuitry outside the PLD. For example,controller 127 may constitute a memory controller that interfaces to and controls an external synchronous dynamic random access memory (SDRAM), as desired. - In addition to the circuitry that
FIG. 1 shows,PLD 103 may include analog or mixed-mode or mixed-signal circuitry 139, sometimes known as analog or mixed-mode or mixed-signal IP blocks (e.g., blocks of circuits, modules, sub-modules, sub-circuits, groups of transistors, etc.). For example,PLD 103 may include amplifiers, digital-to-analog converters, analog-to-digital converters, filters, and the like. By their nature, analog/mixed-mode circuits tend to exhibit sensitivity to noise. As described below in detail, the inventive concepts help to isolate noise-sensitive circuitry from noise-generating circuitry. Furthermore, the inventive concepts include techniques that tend to reduce the noise levels present in PLDs. -
FIG. 2 shows a floor-plan of aPLD 103 according to an exemplary embodiment of the invention.PLD 103 includesprogrammable logic 106 arranged as a two-dimensional array.Programmable interconnect 109, arranged as horizontal interconnect and vertical interconnect, couples the blocks ofprogrammable logic 106 to one another. - One may adjust the supply voltage and, hence, the power dissipation level, of each block of
programmable logic 106, each segment ofprogrammable interconnect 109, or both, as desired. Furthermore, one may adjust the supply voltage and the power dissipation level of a portion of one or more blocks ofprogrammable logic 106, a portion ofprogrammable interconnect 109, or both, as desired. - In illustrative embodiments, PLDs according to the invention have a hierarchical architecture. In other words, each block of
programmable logic 106 inFIG. 2 may in turn include smaller or more granular programmable logic blocks or circuits. One may adjust the supply voltage and power consumption or dissipation in each level of the hierarchical architecture of the PLD, as desired. -
FIG. 3 shows a block diagram of an exemplary embodiment ofprogrammable logic 106 in a PLD according to the invention.Programmable logic 106 includes logic elements orprogrammable logic circuits 250,local interconnect 253,interface circuit 256, andinterface circuit 259.Logic elements 250 provide configurable or programmable logic functions, for example, LUTs, registers, product-term logic, etc., as persons of ordinary skill in the art who have the benefit of the description of the invention understand.Local interconnect 253 provides a configurable or programmable mechanism forlogic elements 250 to couple to one another or to programmable interconnect 109 (sometimes called “global interconnect”), as desired. -
Interface circuit 256 andinterface circuit 259 provide a configurable or programmable way forprogrammable logic 106 block of circuitry to couple to programmable interconnect 109 (and hence to otherprogrammable logic 106, asFIG. 2 shows).Interface circuit 256 andinterface circuit 259 may include multiplexers (MUXs), registers, buffers, drivers, and the like, as persons of ordinary skill in the art who have the benefit of the description of the invention understand. - One may adjust the supply voltage and power consumption of each portion or block of circuitry within PLD 103 (see
FIGS. 1-3 ), as desired. Furthermore, one may adjust the supply voltage and power consumption of each portion or block of circuitry independently of others, on an individual or collective basis, as desired. Within each portion or block of circuitry, one may adjust the supply voltage and power consumption of each sub-block, or groups of sub-blocks, as desired. - For example, one may adjust the supply voltage and power consumption of all or a portion of the following circuitry within a PLD according to exemplary embodiments of the invention: one or more of the blocks in
FIG. 1 (e.g.,programmable logic 106,programmable interconnect 109, etc.); one ormore logic elements 250 within one or more programmable logic blocks 106; one ormore interface circuits 256 and/or 259, within one or more programmable logic blocks 106; one or more local interconnect within one or moreprogrammable logic 106; and one or more MUXs, drivers, buffers, etc., within one ormore interface circuits 256 and/or 259. - As noted above, one may make the supply voltage and power consumption adjustments in any desired level of granularity. In other words, one may make the adjustments applicable to sub-blocks, blocks, regions, or the entire PLD, as desired, and as applicable. For example, one may make supply voltage and power consumption adjustments to one or more of such elements of the PLD independently of one or more of other elements within the PLD, as desired. As persons of ordinary skill in the art with the benefit of the description of the invention understand, one may adjust the supply voltage and power consumption of some parts of a PLD and yet provide a fixed or default supply voltage and power consumption for other parts of the PLD, as desired.
-
FIG. 4 shows a circuit arrangement for adjusting the supply voltage and, hence, the power consumption of a desired circuit in a PLD according to an exemplary embodiment of the invention. More specifically, the circuit arrangement inFIG. 4 shows a controlledPLD circuit 300 that includescontrol circuit 303,PLD circuit 306, andvariable impedance device 309. - The circuit operates as follows: In response to one or more signals not shown explicitly in
FIG. 4 (such as a bias signal and configuration signals, described in connection withFIG. 13 )circuit 303 applies a corresponding control signal (or signals, depending on the nature of variable impedance device 309) so as to cause adjustment of the supply voltage thatvariable impedance device 309 provides toPLD circuit 306. Consequently,control circuit 303 can cause the adjustment of the power consumption (and other performance criteria, such as operating speed) ofPLD circuit 306. -
Variable impedance device 309 couples the supply voltage, VDD, toPLD circuit 306. Whenvariable impedance device 309 has a relatively high impedance,PLD circuit 306 conducts relatively little current, and has a nearly zero supply voltage. Thus,PLD circuit 306 effectively shuts down or enters an OFF state or sleep mode. In this state,PLD circuit 306 consumes nearly zero power. - At the other extreme, when
variable impedance device 309 has a relatively low impedance,PLD circuit 306 receives nearly the voltage VDD as its supply voltage (minus any drop across variable impedance device 309). In this state,PLD circuit 306 typically has higher power consumption, but also higher speed. Thus, by varying the effective supply voltage ofPLD circuit 306 between the two extremes of near-zero and near-VDD supply voltages, one may trade off its various performance measures, such as power consumption and speed. -
PLD circuit 306 may constitute any desired region, block, circuitry, sub-block, or collection of each of those parts, of a PLD. For example,PLD circuit 306 may constitute one or more of the elements shown inFIGS. 1-3 , such asprogrammable interconnect 109,logic elements 250, etc., as desired. - As described below in detail,
control circuit 303 may operate under the supervision of one or more other parts of the PLD, or under the control of an external source, or a combination of internal and external sources, as desired.Control circuit 303 causes the impedance of the variable impedance device to change. As a result, the effective supply voltage provided toPLD circuit 306 varies. The effective supply voltage ofPLD circuit 306 affects its characteristics, such as operating speed, power consumption, and the like. By adjusting the supply voltage level forPLD circuit 306, one may trade off its various characteristics, such as speed versus power consumption. -
Variable impedance device 309 may constitute a desired type of device, depending on factors such as the particular PLD implementation, circuit and process technology, and the like, as persons of ordinary skill in the art who have the benefit of the description of the invention understand. As one example,variable impedance device 309 may constitute a transistor. -
FIG. 5 illustrates another circuit arrangement for adjusting the supply voltage of a desired circuit in a PLD according to an exemplary embodiment of the invention. The circuit arrangement inFIG. 5 is similar to the circuit inFIG. 4 .FIG. 5 , however, uses atransistor 320 and, more particularly, a metal oxide semiconductor field effect transistor (MOSFET) transistor, as a particular type of variable impedance device. - Depending on factors such as the particular PLD implementation, circuit and process technology, and the like, as persons of ordinary skill in the art who have the benefit of the description of the invention understand,
transistor 320 may constitute a variety of devices, such as bipolar junction transistors (BJTs), bipolar hetero-junction transistor (BHT), and the like. - In one embodiment implemented using metal oxide semiconductor (MOS) or complementary MOS (CMOS) technology,
transistor 320 may constitute a native transistor, as desired. Native transistors may have a negative or small threshold voltage, VT, thus making biasing or drivingtransistor 320 easier in situations where a relatively small VDD results in a small headroom in the output voltage ofcontrol circuit 303. - As noted above, PLDs according to the invention may include noise-sensitive analog or mixed-mode or mixed-signal circuitry. One may use filtering techniques to help reduce the overall noise in the PLD or the noise level that the analog or mixed-mode circuitry experiences.
-
FIG. 6 depicts a circuit arrangement for reducing the noise level in a PLD according to an exemplary embodiment of the invention.Controlled PLD circuit 300 inFIG. 6 is analogous to the circuit shown inFIG. 4 , and provides similar benefits. Thus, the circuitry inFIG. 6 provides the capability of controlling the supply voltage and, hence, the performance, ofPLD circuit 306, as described above in detail. In the circuit ofFIG. 6 ,PLD circuit 306 constitutes a circuit with relatively high sensitivity to noise, such as an analog or mixed-mode circuit. - In addition to the elements shown in
FIG. 4 , the circuit arrangement inFIG. 6 includescapacitor 323 andcapacitor 326. Together with various impedances present in the circuit, each of those capacitors forms a filter. For example,capacitor 326, together with the parallel impedance ofvariable impedance device 309 andPLD circuit 306, forms a low-pass filter. By filtering higher frequencies, the low-pass filters tend to reduce the overall noise level thatPLD circuit 306 experiences. Note that one may omit one ofcapacitors -
FIG. 7 shows another circuit arrangement for reducing the noise level in a PLD according to an exemplary embodiment of the invention. The circuit arrangement inFIG. 7 constitutes a more specific implementation of the circuit inFIG. 6 . More specifically, rather than a generalvariable impedance device 309 inFIG. 6 , the circuit arrangement inFIG. 7 usestransistor 320.Transistor 320 may generally constitute any of the devices described above with respect toFIG. 5 , as desired. Note that, as described above, one may omit one ofcapacitors - Using controlled
PLD circuit 300 described above, one may adjust the supply voltage and power consumption and thus performance of various parts of PLDs.FIG. 8 shows an arrangement for providing a flexible mechanism for adjusting the performance of the various parts of aPLD 103 according to an exemplary embodiment of the invention.PLD 103 includes one or more PLD circuit regions or “islands” 400A-400C. EachPLD circuit region 400A-400C includes one or more controlledPLD circuits 300, as described above. - Each of
PLD circuit regions 400A-400C may receive one or more power supply voltages, labeled as VDD1-VDDN. As examples,PLD circuit region 400A receives VDD1, whereascircuit region 400B receives VDD1-VDD3, and circuit region 400C receives VDDN. Each of controlledPLD circuits 300 can adjust the supply voltage provided to its respective PLD circuit 306 (see, for example,FIG. 4 ), as described above in detail. - By assigning a desired set of power supply voltages to each of
PLD circuit regions 400A-400C, one may adjust the supply voltage and power consumption of circuitry within the circuit regions. Furthermore, by including a desired set of controlledPLD circuits 300 within a givencircuit region 400A-400C, one may match the type of supply voltage adjustment in eachcircuit region 400A-400C with one or more suitable controlledPLD circuits 300. Thus, the arrangement inFIG. 8 provides a flexible mechanism for allocating various PLD resources to implementing an appropriate part of the user's design or system so as to provide an efficient implementation with improved performance adjustment capabilities and better overall performance (e.g., speed-power consumption tradeoff). - Note that, in addition to, or rather than, receiving external power supply voltages (e.g., VDD1-VDDN in
FIG. 8 ),PLD 103 may generate power supply voltages internally, as desired.FIGS. 9A-9C show circuit arrangements for distributing and generating power supply voltages in PLDs according to exemplary embodiments of the invention. - In
FIG. 9A ,PLD 103 simply uses the external power supply voltages that it receives, e.g., VDD1-VDDN. In this scenario,PLD 103 may use a power distribution and supply voltage adjustment scheme, such as the arrangement inFIG. 8 . - In
FIG. 9B ,PLD 103 receives power supply voltages VDD1-VDDN. PLD 103 may regulate one or more of the power supply voltages to generate one or more internal power supply voltages.PLD 103 may then use the external and the internally generated powers supply voltages in a power distribution and supply voltage adjustment scheme, e.g., as shown inFIG. 8 . In the particular example shown,PLD 103 usesvoltage regulator 450 to generate internal power supply voltage VDD2′ from external power supply voltage VDD2. - In
FIG. 9C ,PLD 103 receives power supply voltages VDD1-VDDN. PLD 103 may use one or more charge pumps 453 to generate one or more internal power supply voltages.PLD 103 may then use the external and the internally generated powers supply voltages in a power distribution and supply voltage adjustment scheme, e.g., as shown inFIG. 8 . In the particular example shown,PLD 103 usescharge pump 453 to generate internal power supply voltage VDD1′ from external power supply voltage VDD1. Internal power supply voltage VDD1′ has a higher voltage level than VDD1. - As noted above, the inventive concepts include techniques for isolating noise-sensitive circuits from noise-generating circuitry with the PLD. More particularly, in PLDs fabricated using CMOS technology, various PLD circuits typically reside in a number of deep n-wells. By strategically placing noise-sensitive circuits in isolated n-wells, one may shield or isolate the noise-sensitive circuits from sources of noise. Thus, one may provide islands within the PLD, each with its own supply voltage, power consumption, noise generation, and noise isolation characteristics. The islands provide a mechanism in PLDs according to the invention for providing a flexible implementation of a user's design or system.
-
FIG. 10 shows an example of using n-wells to isolate noise-sensitive circuits in a PLD according to an illustrative embodiment of the invention. The PLD resides insubstrate 500.Substrate 500 includes deep n-wells wells FIGS. 1-3 . - As noted, one may place the various circuits in deep n-
wells FIG. 10 illustrates, one may placecircuits wells sensitive circuit 506A farthest from the relatively high levels of noise that circuit 506C generates, but nearer to the moderate levels of noise thatcircuit 506B produces. - Note that deep n-wells represent an illustrative construct in a PLD fabrication technology. Depending on a number of factors, one may use other constructs and devices in current and future fabrication technologies, as persons of ordinary skill in the art who have the benefit of the description of the invention understand. The factors include the type and characteristics of the technology and the devices and constructs available, the desired design and performance specifications, cost, complexity, area efficiency, and the like.
- As an example, one may use silicon-on-insulator (SOI) technology to provide noise isolation and control within PLDs. More specifically, and as persons of ordinary skill in the art who have the benefit of the description of the invention understand, SOI circuits tend to provide isolation between transistors because of the insulator layer (typically silicon dioxide). Thus, SOI circuits provide a mechanism for isolating noise-sensitive circuits from noise-generating circuits of the PLD.
- As noted above, the user may adjust the supply voltage and power consumption and noise exposure or performance of various portions of PLDs according to the invention. The user may do so by using the software used to map a design to a PLD.
FIG. 11 depicts various software modules that PLD computer-aided design (CAD) software according to illustrative embodiments of the invention uses. The modules include design-entry module 550,synthesis module 553, place-and-route module 556, andverification module 559. - Design-
entry module 550 allows the integration of multiple design files. The user may generate the design files by using design-entry module 550 or by using a variety of electronic design automation (EDA) or CAD tools (such as industry-standard EDA tools), as desired. The user may enter the design in a graphic format, a waveform-based format, a schematic format, in a text or binary format, or as a combination of those formats, as desired. -
Synthesis module 553 accepts the output of design-entry module 550. Based on the user-provided design,synthesis module 553 generates appropriate logic circuitry that realizes the user-provided design. One or more PLDs (not shown explicitly) implement the synthesized overall design or system. -
Synthesis module 553 may also generate any glue logic that allows integration and proper operation and interfacing of various modules in the user's designs. For example,synthesis module 553 provides appropriate hardware so that an output of one block properly interfaces with an input of another block.Synthesis module 553 may provide appropriate hardware so as to meet the specifications of each of the modules in the overall design or system. - Furthermore,
synthesis module 553 may include algorithms and routines for optimizing the synthesized design. Through optimization,synthesis module 553 seeks to more efficiently use the resources of the one or more PLDs that implement the overall design or system. In some embodiments,synthesis module 553 may identify critical paths within the synthesized design or system.Synthesis module 553 provides its output to place-and-route module 556. - Place-and-
route module 556 uses the designer's timing specifications to perform optimal logic mapping and placement. The logic mapping and placement determine the use of routing resources within the PLD(s). In other words, by use of particular programmable interconnects with the PLD(s) for certain parts of the design, place-and-route module 556 helps optimize the performance of the overall design or system. - By proper use of PLD routing resources, place-and-
route module 556 helps to meet the critical timing paths of the overall design or system. Place-and-route module 556 optimizes the critical timing paths to help provides timing closure faster in a manner known to persons of ordinary skill in the art with the benefit of the description of the invention. As a result, the overall design or system can achieve faster performance (i.e., operate at a higher clock rate or have higher throughput). - Furthermore, place-and-
route module 556 adjusts the supply voltage and power consumption and the noise performance or exposure of a portion of or all of the PLD(s) that implement the design or system. Place-and-route module 556 may do so automatically, according to user-specified criteria, or a combination of the two. Place-and-route module 556 may use the user-specified criteria (for example, performance specifications, such as power dissipation, noise exposure or performance, speed, and/or current-drive capability). In addition, or instead, place-and-route module 556 may use the information about critical paths within the design or system to adjust the supply voltage(s), physical placement so as to reduce noise generation and exposure, and power consumption of parts or all of the design or system, as desired. - For example, place-and-
route module 556 may adjust the supply voltage and power consumption of the critical parts of the design or system so as to achieve higher performance. Place-and-route module 556 may take into account power dissipation criteria (e.g., maximum power density) so as to trade off power and performance, as desired. Place-and-route module 556 provides the optimized design toverification module 559. -
Verification module 559 performs simulation and verification of the design. The simulation and verification seek in part to verify that the design complies with the user's prescribed specifications. The simulation and verification also aim at detecting and correcting any design problems before prototyping the design. Thus,verification module 559 helps the user to reduce the overall cost and time-to-market of the overall design or system. -
Verification module 559 may support and perform a variety of verification and simulation options, as desired. The options may include design-rule checking, functional verification, test-bench generation, static timing analysis, timing simulation, hardware/software simulation, in-system verification, board-level timing analysis, signal integrity analysis and electromagnetic compatibility (EMC), formal netlist verification, noise generation and exposure, and power-consumption estimation, as desired. Note that one may perform other or additional verification techniques as desired and as persons of ordinary skill in the art who have the benefit of the description of the invention understand. -
FIG. 12 illustrates a flow diagram for a PLD CAD software according to an exemplary embodiment of the invention. The PLD CAD shown inFIG. 12 incorporates the choice of supply voltage and power consumption for each region of the PLD into a timing-driven place-and-route CAD system. Note that, as desired, one may include criteria for noise generation, noise exposure, and/or noise isolation into the PLD CAD inFIG. 12 by making modifications that fall within the knowledge of persons of ordinary skill in the art who have the benefit of the description of the invention. - Starting the process, at 603 the PLD CAD sets initial supply voltage levels (corresponding to estimated power consumption levels). At 606 the software generates an initial placement. Then, at 609 it analyzes the timing of the circuitry using delay estimates that reflect the various settings, such as supply voltage settings. At 612 the software determines whether it has met the user's various criteria, such as timing and power goals. If so, at 615 it records the placement and supply voltage selections. If not, the software checks at 618 to determine whether it has reached the iteration limit. If so, it proceeds to 615 to record the current placement and supply voltage selections.
- If the software has not reached the iteration limit, it increments the iteration count (not shown explicitly), and at 621 changes the settings of at least some regions, circuits, blocks, or parts of the PLD. At 624 it analyzes the timing of the circuitry using delay estimates that reflect the changed settings. At 356 it improves the placement of the circuit, and jumps to 612 to determine whether it has met the user's timing and power goals. Once the PLD CAD has implemented a design (i.e., synthesized, placed and routed the design), the CAD software should automatically provide data for programming the PLD that set the supply voltages of various parts of the PLD.
-
FIG. 13 shows a block diagram of circuitry within a PLD according to exemplary embodiments of the invention to adjust, program, or set the supply voltage levels of desired parts of the PLD. The circuitry includesbias circuit 703, a plurality of configuration memory (configuration random-access memory, or CRAM, or other implementations of the memory)cells 709, and controlledPLD circuits 300. -
Bias circuit 703 generates one ormore signals 706 and provides those signal(s) to controlled PLD circuits 300 (more particularly, to controlcircuit 303, as shown, for example, inFIG. 4 ). In other word,bias circuit 703 provides one or more global bias signals to controlledPLD circuits 300. Furthermore, each ofCRAM cells 709 provides to a respective one of controlled PLD circuits 300 (more particularly, to control circuit 303). The signals fromCRAM cells 709 represent configuration data for the various circuits within the PLD, as provided by the PLD CAD program described above. In response to configuration data fromCRAM cells 709, the control circuit (not shown explicitly) in each of controlledPLD circuits 300 generates one or more signals to control the impedance of the variable impedance device (not shown explicitly) as a function of signal(s) 706. - In other variations, each of
CRAM cells 709 may provide configuration data to more than one controlled PLD circuit, as desired. Conversely, one may modify the control circuit within controlledPLD circuits 300 so as to make it responsive to configuration data from more than oneCRAM cell 709, as desired. - Note that one may adjust, program, or set supply voltage levels in response to sources external to the PLD. For example, one may communicate supply voltage levels to a PLD to adjust or modify its performance.
FIG. 14 shows a circuit arrangement according to exemplary embodiments of the invention for adjusting supply voltage levels withinPLD 103 in response to anexternal source 753. The circuit arrangement includesexternal source 753, communication/interface circuit 762, and bias circuit 703 (seeFIG. 13 ). - Communication/
interface circuit 762 provides a mechanism forexternal source 753 andbias circuit 703 to communicate and exchange information.External source 753 may provide one or more control signal(s) 756 to communication/interface circuit 762 withinPLD 103. Communication/interface circuit 762 provides the information received fromexternal source 753 tobias circuit 703. In response,bias circuit 703 generates one ormore signals 706, with levels corresponding to control signal(s) 756. Communication/interface circuit 762 may provide information, such as status signals, from bias circuit 703 (orPLD 103 generally) toexternal source 753. -
External source 753 may constitute a variety of devices, structures, or arrangements, as persons of ordinary skill in the art with the benefit of the description of the invention understand. For example,external source 753 may constitute a computer network (e.g., the Internet), a telephone-line communication link, a wireless communication link, a bus, etc., as desired. - Note that one may adjust, program, or set the supply voltage levels in PLDs on a dynamic or time-varying basis, as desired, to take into account or respond to changing conditions (for example, changes in performance specifications). As one example, referring to
FIG. 14 ,external source 753 may update or modify control signal(s) 756 that it provides toPLD 103.Bias circuit 703 responds accordingly to the updated or modified signal(s) 756. - As another example, one may change or adjust supply levels in response to changes within
PLD 103 itself, for instance, a change in temperature, noise, power consumption, and the like, in one or more circuits or areas ofPLD 103.FIG. 15 shows a circuit arrangement for modifying supply voltage level(s) within a PLD according to exemplary embodiments of the invention. - The circuit arrangement includes one or more sensor(s) 803, one or more reference source(s) 806,
subtracter 818, andbias circuit 703. Sensor(s) 803 sense a desired parameter (e.g., temperature, noise, etc.) in one or more areas, circuits, or blocks withinPLD 103 and provide signal(s) 809 tosubtracter 818. Reference source(s) 806 provide reference signal(s) 812 tosubtracter 818. Reference signal(s) 812 may have values that correspond to various levels of the sensed parameter. -
Subtracter 818 subtracts reference signal(s) 812 from signal(s) 809 and provides difference signal(s) 815 tobias circuit 703. Difference signal(s) 815 may constitute the difference between actual sensed value(s) and the desired value(s) in one or more parts ofPLD 103. In response to difference signal(s) 815,bias circuit 703 generates signal(s) 706 (see alsoFIG. 13 ). -
Bias circuit 703 may use difference signal(s) 815 to generate signal(s) 706 that ultimately affect various aspects of the performance ofPLD 103. For example, if difference signal(s) 815 indicate a lower sensed value (say, speed) than a threshold or maximum value,bias circuit 703 may generate signal(s) that increase supply voltage level(s) to increase operating speed of the desired parts ofPLD 103. In contrast, if difference signal(s) 815 indicate a sensed level higher than a safe or maximum level,bias circuit 703 may generate signal(s) that decrease supply voltage level(s) to safe or desired levels (albeit with a decreased resulting speed). - More generally, one may implement a feedback loop that generates supply voltage level(s) so as to target specific performance criteria. Put another way, one may compare actual performance measures of a PLD to desired or specified measures or criteria and adjust, program, or set supply voltage levels accordingly.
- As noted above, one aspect of the inventive concepts relates to the performance and power consumption, and their adjustment or configuration, of IP blocks within
PLD 103. Broadly speaking, as noted above, PLDs according to the invention include not only digital circuitry, but also mixed-mode or mixed-signal circuitry or circuitry that is analog in nature. - Typically, the analog and/or mixed-mode or mixed-signal circuitry resides in IP block(s) within the PLD. IP blocks, as persons of ordinary skill in the art who have the benefit of the description of the invention understand, generally denote a pre-designed circuit or block. For example, an IP block might constitute a core or block of circuitry designed by another designer, group of designers, or even another organization.
PLD 103 might include one or more IP block(s), as desired. - As persons of ordinary skill in the art who have the benefit of the description of the invention understand, IP blocks might include a wide variety of circuits. Examples include analog-to-digital converters (ADCs), digital-to-analog converters (DACs), data converters, various types of amplifiers, gain blocks, mixers or multipliers, phase-locked loops (PLLs), oscillators, voltage-controlled oscillators (VCOs), filters, clock sources, clock multipliers, clock recovery circuits, receivers, transmitters, transceivers, and various types of interfaces, such as high-speed serial interfaces (HSSI). Note that, generally, IP blocks might include digital circuitry and/or analog circuitry, as desired (i.e., all digital, all analog, digital and analog, mixed-mode, mixed-signal etc.).
- Not only the particular type of circuitry in IP block, but also the amount or number of IP blocks, makes them relatively important from performance, noise, and power consumption perspectives. In present-day PLDs, designers or users might replicate an IP block up to 20 times across the PLD. Because of that repetition, any gains in the performance and power consumption of the IP block(s) would make a relatively large impact on the overall performance of the PLD and, hence, the circuit or system in which they reside.
- Furthermore, as noted above, some of the circuitry in PLDs according to the inventive concepts uses a dedicated (or shared with similar circuits) power supply. Separate power supplies supply power to the traditional PLD fabric, e.g.,
programmable logic 106 and programmable interconnect 109 (seeFIG. 1 ). The separation of the power supplies helps overcome noise and power consumption problems, as persons of ordinary skill in the art who have the benefit of the description of the invention understand. - Although one may use separate external power supplies (e.g., regulators outside the PLD's package), doing so has certain disadvantages. First, external regulators tend to increase the overall cost of the solution or system. Second, external regulators tend to increase the complexity of the design from a user's perspective because of the increased complexity of the printed circuit board and additional components.
- In contrast, PLDs according to the inventive concepts contemplate integrating regulators or power supplies for IP blocks, or at least noise-sensitive portions, circuits, or parts in IP blocks, within the PLD. Integrated regulators overcome the disadvantages of external regulators.
- More specifically, integrated regulators reside within the same package as the PLD's die, thus resulting in lower overall cost. Moreover, integrated regulators reduce the number of components in the bill of materials. Integrated regulators also tend to reduce coupling to nearby or other circuitry on the printed circuit board and, hence, reduce noise, coupling, or interference problems. In addition, integrated regulators tend to increase system robustness and overall reliability.
- The circuitry within typical IP blocks can itself lead to special consideration in circuit and system design and, hence, affect performance and power consumption. Because of their relatively high performance specifications and goals, IP blocks tend to exhibit increased sensitivity to process, voltage-level, and power quality variations.
- For example, leakage can prove detrimental to the performance of high-speed dynamic logic. Dynamic logic relies on storage of relatively small amounts of charge on a capacitor. Leakage in the circuit can cause the charge on the capacitor to reduce, and might lead to the logic circuit losing its state or having an incorrect state. The incorrect state can propagate to other circuitry and cause errors or malfunctions in the circuit or system.
- Natural device-to-device variations within a given semiconductor fabrication process can lead to variations in device leakage levels. The variations might lead to reduced performance or failure of dynamic logic circuits, as described above. If the devices in question happen to reside in sensitive IP blocks or mixed-mode circuits, the PLD itself might experience problems or fail. This phenomenon would result in reduced manufacturing yield and increased costs.
- As another example, device-to-device variations might lead to variations in the edge rates in driver circuits. This phenomenon adversely impacts the PLD's performance. Slow edges, for example, are more prone to jitter, while faster edges tend to result in increased power consumption and generate additional noise in the power supply for the circuit (i.e., in the power supply for the IP block or the particular part of the IP block).
- In such situations, one might trade off performance and yield. In other words, by reducing performance goals, one might avoid leakage and edge rate problems and the resulting device failure and, consequently, avoid reduced yields. Conventional approaches to these problem focus on power management of particular parts of the circuitry or system. The inventive concepts provide a more general or system-level approach that includes power management considerations for the IP blocks and PLD circuitry into a higher end system for PLDs.
-
FIG. 16 shows a simplified block diagram of an exemplary embodiment of the invention for adjusting the performance of circuitry within the PLD, including IP block(s). The particular embodiment includespower management circuitry 1003,PLD circuitry 306, and one or more IP blocks 1000. -
Power management circuitry 1003 communicates withPLD circuitry 306 viasignal link 1006.Signal link 1006 might provide signal flow in one or both directions betweenpower management circuitry 1003 andPLD circuitry 306. Generally speaking,signal link 1006 might include one of more status signals and one or more control signals, as desired. The particular implementation ofsignal link 1006 depends on the details of the desired performance and circuit specifications, as persons of ordinary skill in the art who have the benefit of the description of the invention understand. - Similarly,
power management circuitry 1003 communicates with IP block(s) 1000 viasignal link 1009.Signal link 1009 might provide signal flow in one or both directions betweenpower management circuitry 1003 and IP block(s) 1000. Generally speaking,signal link 1009 might include one of more status signals and one or more control signals, as desired. The particular implementation ofsignal link 1009 depends on the details of the desired performance and circuit specifications, as persons of ordinary skill in the art who have the benefit of the description of the invention understand. - One may implement
signal link 1006 andsignal link 1009 in a wide variety of ways. For example, one may use individual conductors or coupling mechanisms, a bus, or the like, as desired. Again, the details of the implementation depend on the particular situation, as persons of ordinary skill in the art who have the benefit of the description of the invention understand. -
Power management circuitry 1003 controls or manages the provision of power toPLD circuitry 306.Power management circuitry 1003 may set, vary, or control the voltage levels to one or more parts ofPLD circuitry 306, as desired, and as described above.Power management circuitry 1003 might also cause one or more parts ofPLD circuitry 306 to become disabled or hibernate, as desired, and as described above. - In addition,
power management circuitry 1003 may set, vary, or control body bias levels for one or more parts ofPLD circuitry 306, as desired, and as described above. As noted, body bias levels impact the performance of the affected transistors and, hence, of the overall circuit. Put simply, one may trade off speed and power consumption of the transistors and the overall circuit. More details of body bias and leakage control appear in U.S. patent application Ser. No. 10/865,402, titled “Apparatus and Methods for Adjusting Performance of Integrated Circuits,” filed on Jun. 10, 2004, Attorney Docket No. ALTR:026CIP, assigned to Altera Corporation, and incorporated here by reference in its entirety. - In a similar manner,
power management circuitry 1003 controls or manages the provision of power to IP block(s) 1000. The affected parts of IP block(s) 1000 may include analog circuitry, digital circuitry, mixed-mode or mixed-signal circuitry, or combinations of them, as desired, and as persons of ordinary skill in the art who have the benefit of the description of the invention understand. -
Power management circuitry 1003 may set, vary, or control the voltage levels to one or more parts of IP block(s) 1000, as desired, and as described above.Power management circuitry 1003 might also cause one or more parts of IP block(s) to become disabled or hibernate, as desired, and as described above. - Furthermore,
power management circuitry 1003 may set, vary, or control body bias levels for one or more parts of IP block(s) 1000, as desired, and as described above. Body bias levels have the effect on performance of the affected transistors and the overall circuit, described above and, in more detail, in U.S. patent application Ser. No. 10/865,402, incorporated here by reference. - Note that
power management circuitry 1003 may control the provision of power, voltage level(s), and body bias level(s) toPLD circuitry 306 and IP block(s) 1000 with any desired level of granularity. Thus, the level of granularity may affect individual transistors, to groups or blocks of transistors or circuits, to entire blocks, all ofPLD circuitry 306, all of IP block(s) 1000, etc., as desired. The choice of the level of granularity depends on a number of factors, such as the desired performance and design specifications in a given situation, as persons of ordinary skill in the art who have the benefit of the description of the invention understand. - Note that
FIG. 16 provides merely one exemplary embodiment, and that many alternative embodiments according to the inventive concepts are possible, as persons of ordinary skill in the art who have the benefit of the description of the invention understand. For example,FIG. 17 illustrates a simplified block diagram of another exemplary embodiment of the invention. This embodiment includesPLD circuitry 306, IP block(s) 1000, PLDpower management circuitry 1003A, and IP power management circuitry 1003B. - PLD
power management circuitry 1003A communicates withPLD circuitry 306 viasignal link 1006A andsignal link 1006B.Signal link 1006A andsignal link 1006B may be similar to the corresponding parts ofsignal link 1006 inFIG. 16 , as desired, and as persons of ordinary skill in the art who have the benefit of the description of the invention understand.Signal link 1006A, however, provides a mechanism for communication from PLDpower management circuitry 1003A toPLD circuitry 306, whereassignal link 1006B provides a way forPLD circuitry 306 to communicate with PLDpower management circuitry 1003A. - Likewise, IP power management circuitry 1003B communicates with IP block(s) 1000 via
signal link 1009A and signal link 1009B.Signal link 1009A and signal link 1009B may be similar to corresponding parts ofsignal link 1006 inFIG. 16 , as desired, and as persons of ordinary skill in the art who have the benefit of the description of the invention understand. Note, however, thatsignal link 1009A provides a mechanism for communication from IP power management circuitry 1003B to IP block(s) 1000. Signal link 1009B, on the other hand, provides a way for IP block(s) 1000 to communicate with IP power management circuitry 1003B. - Generally speaking, the embodiment in
FIG. 17 operates in a like manner and achieves similar goals as does the embodiment inFIG. 16 . By providing individualized control of power management functions forPLD circuitry 306 and IP block(s) 1000, however, the embodiment inFIG. 17 allows for finer control over the power control and performance ofPLD circuitry 306 and IP block(s) 1000 and, hence, ofPLD 103 overall. - As an example, the embodiment in
FIG. 17 provides the capability for either the PLD CAD software (seeFIG. 11 ) and/or the user to have finer control over the power consumption, power supply, and performance of one ormore PLD circuits 306 and/or one of more IP block(s) 1000. As another example, one may provide power management capability to the PLD CAD software but to the user, or vice-versa, forPLD circuitry 306 and/or IP block(s) 1000. - IP power management circuitry 1003B (or PLD power management circuitry 1003) may control and manage the power consumption and performance of
IP blocks 1000 with a desired level of granularity.FIG. 18 depicts a simplified block diagram of an illustrative embodiment according to the invention for adjusting the performance of various IP block(s) in PLDs. - The embodiment in
FIG. 18 includes a particular kind of IP block, i.e., a high-speed serial interface (HSSI)circuit 1000A. The embodiment may include other types of IP block(s), or even multiple HSSI circuits, as desired. Generally, the circuit arrangement may include a set of N IP blocks, where N is a desired positive integer. - The circuit arrangement in
FIG. 18 also includes an IPpower management circuitry 1003. IP power management circuitry 1003B may have similar characteristics and perform similar functions as described above. In the circuit arrangement shown, IP power management circuitry 1003B communicates withHSSI circuit 1000A viasignal links 1009A-1009B. - Note that, in addition to, or instead of communicating with
HSSI circuit 1000A, IP power management circuitry 1003B may communicate with other IP blocks(s) (e.g.,IP block 1000N), using the same or different signal links, as desired, and as persons of ordinary skill in the art who have the benefit of the description of the invention understand. In either case, IP power management circuitry 1003B controls the power consumption, provision of power, and performance of one or more ofIP blocks 1000A-1000N, as desired, and as described above. -
FIG. 19 shows a simplified block diagram of another illustrative embodiment according to the invention. The figure shows an exemplary circuit arrangement inHSSI circuit 1000A. In the example shown,HSSI circuit 1000A include physical coding sub-layer (PCS) 1026, physical medium attachment (PMA) 1029 and, optionally, medium access control (MAC)layer 1023.PCS circuit 1026,PMA circuit 1029, andMAC circuit 1023 fall within the knowledge of persons of ordinary skill in the art who have the benefit of the description of the invention. - Generally speaking,
PCS circuit 1026 includes circuitry of a primarily digital nature.PMA circuit 1029, on the other hand, includes primarily analog circuitry. As noted above, each of the types of circuitry entail different power provision, power control, and performance adjustment considerations. - The circuit arrangement may optionally include
power controller circuit 1020.Power controller circuit 1020 communicates with other circuitry in the PLD (e.g., IP power management circuitry 1003B) viasignal links 1009A-1009B. Furthermore,power controller circuit 1020 may communicate with one or more ofMAC circuit 1023,PCS circuit 1026, andPMA circuit 1029 via, respectively,signal link 1032,signal link 1035, and/orsignal link 1038. Through those signal links,power controller circuit 1020 can control the provision of power and adjustment of performance of the corresponding circuit or block. - The circuit arrangement in
FIG. 19 provides a hierarchical or modular approach to power and performance adjustment control. Note, however, that one may omitpower controller 1020, as desired. For example, as an alternative, one may communicate power control and performance adjustment signals from another circuit, such as IP power management circuitry 1003B (seeFIG. 18 ), as desired. In this situation, IPpower management circuitry 1003 may subsume the circuitry and/or functionality ofpower controller circuit 1020, as desired. - In either situation, the inventive concepts contemplate providing separate mechanisms for adjusting the supply of power to
MAC circuit 1023,PCS circuit 1026, andPMA circuit 1029. More specifically, one may control not only whether each of those circuits receives power, but also the corresponding levels or magnitudes (and also body bias levels, as desired), if it does. This concept takes advantage of the fact that, often, the various parts or blocks of IP block(s) do not operate at their maximum specified or potential data rates. The reason may lie in the user's particular circuit demands, the specifications for a particular end-use, etc. - By making individualized adjustments, one may fine-tune the performance of each block and, hence, the overall IP block. For example, in order to meet standard performance specifications, one may control the provision of power, various power/voltage levels, and/or body bias levels, for each block. In case of standard specifications, one may determine the desired or appropriate parameters a priori (e.g., through testing and characterization), and use those parameters if the user's application calls for meeting the standard specifications.
- As one particular example, consider that the 6G HSSI standard covers not only CEI (6G specifications), but also XAUI (3G specifications), PCI-E (2.5G specifications), and others. In this case, analog and digital parts or blocks of
HSSI circuit 1000A may be set or tuned to either highest power level for 6G operation, or proportionally lower levels, as pre-determined for 3G, 2.5G, 1G, operation, etc., as desired. - One may do so either by using the techniques (e.g., feedback loops) described in U.S. application Ser. No. 11/204,570, titled “Apparatus and Methods for Optimizing the Performance of Programmable Logic Devices,” Attorney Docket No. ALTR:044, filed on Aug. 16, 2005, or without it, as desired. Given that one knows (through testing, characterization, etc.) the requisite configuration for each IP block (or part(s) of IP block(s)) together with the requisite data rate, one may derive the appropriate power level(s) via simulations and confirmation through characterization. Note that this approach differs from the techniques described in application Ser. No. 11/204,570 because those techniques do not assume a priori knowledge of the critical paths in the user's design.
- The inventive concepts contemplate additional techniques for adjusting the power consumption and performance of PLDs.
FIGS. 20-23 illustrate simplified flow diagrams corresponding to those techniques. -
FIG. 20 shows a simplified flow diagram for a technique according to the invention for improving yield and performance. The technique assumes that PLDs manufactured according to the invention include fuses or other similar mechanisms that allow one to set body bias values, supply voltages, and whether one or more parts of the PLD receive power. - The method starts at 1050, where one performs a test to determine the low data rate performance of the relevant IP block(s) (or other blocks) whose performance one wishes to adjust or set. In other words, one obtains performance characteristics at a lower boundary of the specified or desired performance. One adjusts the body bias levels (and/or supply levels) of those blocks or parts of those blocks if the specified performance is not met so as to attempt and obtain the desired performance.
- Subsequently, at 1053, one tests the high data rate performance of the set of IP block(s) or, put another way, at a higher boundary of the specified or desired performance. At 1056, one tests to determine whether the specifications for the high data rate performance are met.
- If not, at 1059 one characterizes the device, and burns fuses according to the selected body bias level (and optionally the supply voltages and whether a specified block or set of blocks should receive power). In other words, at this point, the device would be characterized as a relatively slow performance device and put in a corresponding “bin.”
- Otherwise, at 1062, one adjusts the body bias level, while monitoring leakage in one or more devices, until the desired performance specifications are met. Subsequently, at 1065, one characterizes the PLD, and burns fuses according to the selected body bias level (and optionally the supply voltages and whether a specified block or set of blocks should receive power).
- Note that one may use the above technique can not only adjust the body bias during wafer sort, but also dynamically during device initialization (after power-up, but before control is released to the user, i.e., the user mode). In such a case, the body bias level(s) and/or power level(s) can be adjusted. (Note that the technique assumes that during wafer sort a determination was made that the PLD could be functional with respect to the desired performance characteristics with final tuning to be performed during programming, but before entering the user mode of operation.)
- In the situation where the user's desired specific data rates or performance characteristics do not correspond to a particular standard, but may rather fall between the performance specified by two different standards (e.g., between 1G and 2G).
FIG. 21 shows a simplified flow diagram of a technique according to an exemplary embodiment of the invention that one may use in this situation. - More specifically, one may adjust the parameters for various parts or blocks of the PLD in order to meet the desired performance. One may do so via programmable vendor software during device configuration, as desired (and without using a feedback loop).
- Referring to
FIG. 21 , at 1070, one determines whether all IP blocks are used in the user's design. If so, at 1079 one provides power to all IP blocks. If not, at 1073 one disables provision of power to the unused IP block(s). At 1076, one determines whether the user desired performance specified by a particular standard. If so, at 1082 one provides power to pre-determined or predefined IP block(s) of the PLD, and disables power to any unused IP block(s) or sub-block(s). - If not, at 1085 one determines the appropriate power level(s) for the affected IP block(s) according to the desired performance characteristics. Furthermore, one provides the appropriate power level(s) to those block(s), and disables any unused IP block(s) or sub-block(s).
- One may use additional techniques according to the inventive concepts in order to change driver edge rates until a desired performance level is met. Doing so will tune the drivers that otherwise operate too fast or too slowly because of shifts in semiconductor manufacturing process. To speed up a device that is otherwise too slow, the technique uses leakage monitoring, as described above.
- The sorting and repair (or tuning of performance) improves yield for IP block(s) that include analog circuitry and, hence, for the PLD itself. Once one has determined the non-performing part(s), circuit(s), or block(s), one may use fuses in order to apply appropriate body bias level(s) to as to affect the performance of various parts or blocks of the PLD. Doing so helps obtain a device that meets the desired performance characteristics. If one cannot obtain a device that meets the desired performance specifications, one may burn the fuses so as to yield a lower-speed grade, but functional, PLD, thus improving overall yield.
-
FIG. 22 illustrates a simplified flow diagram of a technique according to an exemplary embodiment of the invention in order to adjust performance and power consumption of a PLD. At 1090, one sorts the device in order to determine its performance capability. At 1093, one determines whether any IP block(s) inhibit the desired performance. If not, one sets the device grade accordingly (e.g., a higher-speed grade device). - If so, at 1096 one adjusts the body bias and/or supply voltage(s) of the pertinent block(s) or sub-blocks. Thereafter, at 1099, one may optionally repeat the sorting and adjusting steps for a desired number of times. Then, at 1103 one determines whether the devices meets the desired performance characteristics. One then sets the device grade accordingly (e.g., a lower-speed grade device, or a higher-speed grade device, depending on the results of the test at 1103).
- Furthermore, one may use a higher-level algorithm or technique to allow the user to control the performance of the IP block(s) and of the overall PLD. The technique takes into account various operational condition (e.g., level of activity at certain nodes or within certain circuits, blocks, etc.), which are known to the user, but not to the PLD's vendor, as they depend on the user's application and particular circuit or system. Depending on the operational parameters, one may vary the provision of power to certain parts or blocks of the PLD.
-
FIG. 23 depicts a simplified flow diagram to illustrate the technique. At 1120, one monitors at least one device performance characteristic or criterion, such as throughput or activity. At 1123, one determines whether the actual performance exceeds the desired performance (or put another way, how the actual performance compares to the desired performance). If so, one may disable power to selected IP block(s) or sub-block(s) and/or adjust the supply level(s) for the block(s) or sub-block(s). If not, however, one may optionally return to 1120 one or more times, generally any desired number of times (in other words, one may continue the performance monitoring). - Note that one may apply the inventive concepts effectively to various programmable logic circuitry or ICs known by other names in the art, as desired, and as persons skilled in the art with the benefit of the description of the invention understand. Such circuitry include devices known as complex programmable logic device (CPLD), programmable gate array (PGA), and field programmable gate array (FPGA).
- Referring to the figures, persons of ordinary skill in the art will note that the various blocks shown may depict mainly the conceptual functions and signal flow. The actual circuit implementation may or may not contain separately identifiable hardware for the various functional blocks and may or may not use the particular circuitry shown. For example, one may combine the functionality of various blocks into one circuit block, as desired. Furthermore, one may realize the functionality of a single block in several circuit blocks, as desired. The choice of circuit implementation depends on various factors, such as particular design and performance specifications for a given implementation, as persons of ordinary skill in the art who have the benefit of the description of the invention understand. Other modifications and alternative embodiments of the invention in addition to those described here will be apparent to persons of ordinary skill in the art who have the benefit of the description of the invention. Accordingly, this description teaches those skilled in the art the manner of carrying out the invention and are to be construed as illustrative only.
- The forms of the invention shown and described should be taken as the presently preferred or illustrative embodiments. Persons skilled in the art may make various changes in the shape, size and arrangement of parts without departing from the scope of the invention described in this document. For example, persons skilled in the art may substitute equivalent elements for the elements illustrated and described here. Moreover, persons skilled in the art who have the benefit of this description of the invention may use certain features of the invention independently of the use of other features, without departing from the scope of the invention.
Claims (31)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US11/420,736 US20060202713A1 (en) | 2004-12-07 | 2006-05-27 | Apparatus and methods for adjusting performance characteristics of circuitry in programmable logic devices |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US11/006,420 US20060119382A1 (en) | 2004-12-07 | 2004-12-07 | Apparatus and methods for adjusting performance characteristics of programmable logic devices |
US11/420,736 US20060202713A1 (en) | 2004-12-07 | 2006-05-27 | Apparatus and methods for adjusting performance characteristics of circuitry in programmable logic devices |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US11/006,420 Continuation-In-Part US20060119382A1 (en) | 2004-12-07 | 2004-12-07 | Apparatus and methods for adjusting performance characteristics of programmable logic devices |
Publications (1)
Publication Number | Publication Date |
---|---|
US20060202713A1 true US20060202713A1 (en) | 2006-09-14 |
Family
ID=36076773
Family Applications (3)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US11/006,420 Abandoned US20060119382A1 (en) | 2004-12-07 | 2004-12-07 | Apparatus and methods for adjusting performance characteristics of programmable logic devices |
US11/420,736 Abandoned US20060202713A1 (en) | 2004-12-07 | 2006-05-27 | Apparatus and methods for adjusting performance characteristics of circuitry in programmable logic devices |
US11/420,737 Active US7986160B2 (en) | 2004-12-07 | 2006-05-27 | Apparatus and methods for adjusting performance characteristics and power consumption of programmable logic devices |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US11/006,420 Abandoned US20060119382A1 (en) | 2004-12-07 | 2004-12-07 | Apparatus and methods for adjusting performance characteristics of programmable logic devices |
Family Applications After (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US11/420,737 Active US7986160B2 (en) | 2004-12-07 | 2006-05-27 | Apparatus and methods for adjusting performance characteristics and power consumption of programmable logic devices |
Country Status (4)
Country | Link |
---|---|
US (3) | US20060119382A1 (en) |
EP (1) | EP1670140A3 (en) |
JP (2) | JP2006166458A (en) |
CN (1) | CN1797951A (en) |
Cited By (33)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070050604A1 (en) * | 2005-08-29 | 2007-03-01 | Searete Llc, A Limited Liability Corporation Of The State Of Delaware | Fetch rerouting in response to an execution-based optimization profile |
US20070050557A1 (en) * | 2005-08-29 | 2007-03-01 | Searete Llc, A Limited Liability Corporation Of The State Of Delaware | Multiprocessor resource optimization |
US20070050558A1 (en) * | 2005-08-29 | 2007-03-01 | Bran Ferren | Multiprocessor resource optimization |
US20070050556A1 (en) * | 2005-08-29 | 2007-03-01 | Searete Llc, A Limited Liability Corporation Of The State Of Delaware | Multiprocessor resource optimization |
US20070050661A1 (en) * | 2005-08-29 | 2007-03-01 | Bran Ferren | Adjusting a processor operating parameter based on a performance criterion |
US20070050776A1 (en) * | 2005-08-29 | 2007-03-01 | Searete Llc, A Limited Liability Corporation Of The State Of Delaware | Predictive processor resource management |
US20070050609A1 (en) * | 2005-08-29 | 2007-03-01 | Searete Llc | Cross-architecture execution optimization |
US20070050555A1 (en) * | 2005-08-29 | 2007-03-01 | Searete Llc, A Limited Liability Corporation Of The State Of Delaware | Multiprocessor resource optimization |
US20070055848A1 (en) * | 2005-08-29 | 2007-03-08 | Searete Llc, A Limited Liability Corporation Of The State Of Delaware | Processor resource management |
US20070067611A1 (en) * | 2005-08-29 | 2007-03-22 | Bran Ferren | Processor resource management |
US7345944B1 (en) | 2006-01-11 | 2008-03-18 | Xilinx, Inc. | Programmable detection of power failure in an integrated circuit |
US7498839B1 (en) * | 2004-10-22 | 2009-03-03 | Xilinx, Inc. | Low power zones for programmable logic devices |
US7498835B1 (en) | 2005-11-04 | 2009-03-03 | Xilinx, Inc. | Implementation of low power standby modes for integrated circuits |
US7498836B1 (en) | 2003-09-19 | 2009-03-03 | Xilinx, Inc. | Programmable low power modes for embedded memory blocks |
US7504854B1 (en) | 2003-09-19 | 2009-03-17 | Xilinx, Inc. | Regulating unused/inactive resources in programmable logic devices for static power reduction |
US7549139B1 (en) | 2003-09-19 | 2009-06-16 | Xilinx, Inc. | Tuning programmable logic devices for low-power design implementation |
US7562332B1 (en) | 2003-09-19 | 2009-07-14 | Xilinx, Inc. | Disabling unused/inactive resources in programmable logic devices for static power reduction |
US7581124B1 (en) | 2003-09-19 | 2009-08-25 | Xilinx, Inc. | Method and mechanism for controlling power consumption of an integrated circuit |
US20090267588A1 (en) * | 2008-04-23 | 2009-10-29 | Schmitz Michael J | Method and apparatus to dynamically control impedance to maximize power supply |
US7653834B2 (en) | 2005-08-29 | 2010-01-26 | Searete, Llc | Power sparing synchronous apparatus |
US7739524B2 (en) | 2005-08-29 | 2010-06-15 | The Invention Science Fund I, Inc | Power consumption management |
US20100325448A1 (en) * | 2008-01-30 | 2010-12-23 | Kyocera Corporation | Device Incorporating Data Communication Function |
US20120074988A1 (en) * | 2010-09-28 | 2012-03-29 | Hassan Lashkari | Electronic device with dynamic drive strength adjustment to mitigate impact of system noise on wireless performance |
US8209524B2 (en) | 2005-08-29 | 2012-06-26 | The Invention Science Fund I, Llc | Cross-architecture optimization |
US8255745B2 (en) | 2005-08-29 | 2012-08-28 | The Invention Science Fund I, Llc | Hardware-error tolerant computing |
US8423824B2 (en) | 2005-08-29 | 2013-04-16 | The Invention Science Fund I, Llc | Power sparing synchronous apparatus |
US8516300B2 (en) | 2005-08-29 | 2013-08-20 | The Invention Science Fund I, Llc | Multi-votage synchronous systems |
US8823405B1 (en) | 2010-09-10 | 2014-09-02 | Xilinx, Inc. | Integrated circuit with power gating |
US20150046739A1 (en) * | 2013-08-09 | 2015-02-12 | International Business Machines Corporation | Reverse performance binning |
US9348959B1 (en) * | 2012-06-29 | 2016-05-24 | Xilinx, Inc. | Optimizing supply voltage and threshold voltage |
US9419624B2 (en) | 2014-11-12 | 2016-08-16 | Xilinx, Inc. | Power management system for integrated circuits |
US9436250B1 (en) * | 2011-12-19 | 2016-09-06 | Altera Corporation | Apparatus for improving power consumption of communication circuitry and associated methods |
US9496871B1 (en) * | 2014-08-18 | 2016-11-15 | Xilinx, Inc. | Programmable power reduction technique using transistor threshold drops |
Families Citing this family (51)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7622947B1 (en) * | 2003-12-18 | 2009-11-24 | Nvidia Corporation | Redundant circuit presents connections on specified I/O ports |
US7400167B2 (en) * | 2005-08-16 | 2008-07-15 | Altera Corporation | Apparatus and methods for optimizing the performance of programmable logic devices |
US7418032B2 (en) * | 2005-03-15 | 2008-08-26 | International Business Machines Corporation | Altering power consumption in communication links based on measured noise |
JP5025485B2 (en) | 2005-10-31 | 2012-09-12 | パナソニック株式会社 | Stereo encoding apparatus and stereo signal prediction method |
US7295036B1 (en) * | 2005-11-30 | 2007-11-13 | Altera Corporation | Method and system for reducing static leakage current in programmable logic devices |
US7936184B2 (en) * | 2006-02-24 | 2011-05-03 | Altera Corporation | Apparatus and methods for adjusting performance of programmable logic devices |
US7495471B2 (en) * | 2006-03-06 | 2009-02-24 | Altera Corporation | Adjustable transistor body bias circuitry |
US7330049B2 (en) * | 2006-03-06 | 2008-02-12 | Altera Corporation | Adjustable transistor body bias generation circuitry with latch-up prevention |
US7355437B2 (en) * | 2006-03-06 | 2008-04-08 | Altera Corporation | Latch-up prevention circuitry for integrated circuits with transistor body biasing |
US7903679B1 (en) | 2006-04-11 | 2011-03-08 | Altera Corporation | Power supply filtering for programmable logic device having heterogeneous serial interface architecture |
US8001407B2 (en) | 2006-10-31 | 2011-08-16 | Hewlett-Packard Development Company, L.P. | Server configured for managing power and performance |
KR100849957B1 (en) * | 2007-03-08 | 2008-08-01 | 삼성전자주식회사 | Semiconductor memory device and i/o drive circuits thereof and currunt supply method for them |
WO2009063584A1 (en) * | 2007-11-13 | 2009-05-22 | Panasonic Corporation | Programmable device, control method of device and information processing system |
US7926015B2 (en) * | 2008-03-31 | 2011-04-12 | International Business Machines Corporation | Optimization method for fractional-N phased-lock-loop (PLL) system |
US7750697B2 (en) | 2008-03-31 | 2010-07-06 | International Business Machines Corporation | Fractional-N phased-lock-loop (PLL) system |
US8086974B2 (en) * | 2008-03-31 | 2011-12-27 | International Business Machines Corporation | Structure for fractional-N phased-lock-loop (PLL) system |
US7472362B1 (en) | 2008-03-31 | 2008-12-30 | International Business Machines Corporation | Method of minimizing phase noise |
US8102187B2 (en) * | 2008-05-02 | 2012-01-24 | Texas Instruments Incorporated | Localized calibration of programmable digital logic cells |
US8112734B2 (en) * | 2008-09-29 | 2012-02-07 | Lsi Corporation | Optimization with adaptive body biasing |
GB2464510B (en) * | 2008-10-17 | 2013-09-04 | Advanced Risc Mach Ltd | Power control of an integrated circuit including an array of interconnected configurable logic elements |
US8079007B2 (en) * | 2009-01-30 | 2011-12-13 | Active-Semi, Inc. | Programmable analog tile programming tool |
US9003340B2 (en) | 2009-01-30 | 2015-04-07 | Active-Semi, Inc. | Communicating configuration information across a programmable analog tile to another tile |
US8341582B2 (en) * | 2009-01-30 | 2012-12-25 | Active-Semi, Inc. | Programmable analog tile configuration tool |
US8225260B2 (en) | 2009-01-30 | 2012-07-17 | Active-Semi, Inc. | Programmable analog tile placement tool |
US8219956B2 (en) * | 2009-01-30 | 2012-07-10 | Active-Semi, Inc. | Analog tile selection, placement, configuration and programming tool |
US9735779B1 (en) * | 2009-07-07 | 2017-08-15 | Altera Corporation | Apparatus and methods for on-die temperature sensing to improve FPGA performance |
US8612789B2 (en) * | 2011-01-13 | 2013-12-17 | Xilinx, Inc. | Power management within an integrated circuit |
KR101318423B1 (en) * | 2011-06-24 | 2013-10-15 | 위니맥스 주식회사 | Water filter assembly and refrigerator and water purifier having the same |
US8698516B2 (en) * | 2011-08-19 | 2014-04-15 | Altera Corporation | Apparatus for improving performance of field programmable gate arrays and associated methods |
US8461869B1 (en) * | 2011-08-19 | 2013-06-11 | Altera Corporation | Apparatus for configuring performance of field programmable gate arrays and associated methods |
US8705605B1 (en) | 2011-11-03 | 2014-04-22 | Altera Corporation | Technique for providing loopback testing with single stage equalizer |
US9647668B2 (en) | 2012-01-13 | 2017-05-09 | Altera Corporation | Apparatus for flexible electronic interfaces and associated methods |
US8797106B2 (en) | 2012-03-28 | 2014-08-05 | Micron Technology, Inc. | Circuits, apparatuses, and methods for oscillators |
US9223384B2 (en) | 2012-07-31 | 2015-12-29 | Qualcomm Incorporated | Synthesizing intermediate performance levels in integrated circuits, and related processor systems, methods, and computer-readable media |
JP6254834B2 (en) * | 2012-12-06 | 2017-12-27 | 株式会社半導体エネルギー研究所 | Semiconductor device |
US8836372B1 (en) | 2013-03-01 | 2014-09-16 | Raytheon Company | Minimizing power consumption in asynchronous dataflow architectures |
US9281820B2 (en) | 2013-03-01 | 2016-03-08 | Raytheon Company | Minimizing power consumption in asynchronous dataflow architectures |
US9525571B2 (en) | 2013-03-05 | 2016-12-20 | Lattice Semiconductor Corporation | Calibration of single-ended high-speed interfaces |
CN103983856B (en) * | 2014-05-09 | 2017-03-01 | 京东方科技集团股份有限公司 | A kind of Low Voltage Differential Signal Interface Matching resistance automatic checkout equipment and method |
US9569577B2 (en) * | 2014-10-15 | 2017-02-14 | Freescale Semiconductor, Inc. | Identifying noise couplings in integrated circuit |
US9917507B2 (en) | 2015-05-28 | 2018-03-13 | Sandisk Technologies Llc | Dynamic clock period modulation scheme for variable charge pump load currents |
US9647536B2 (en) | 2015-07-28 | 2017-05-09 | Sandisk Technologies Llc | High voltage generation using low voltage devices |
US9520776B1 (en) | 2015-09-18 | 2016-12-13 | Sandisk Technologies Llc | Selective body bias for charge pump transfer switches |
CN108292658A (en) * | 2015-09-25 | 2018-07-17 | 英特尔公司 | Local unit levels of transmission power gate controlled switch |
DE102015118129A1 (en) * | 2015-10-23 | 2017-04-27 | Dspace Digital Signal Processing And Control Engineering Gmbh | Method for determining the power consumption of a programmable logic module |
CN114779956A (en) | 2016-07-29 | 2022-07-22 | 苹果公司 | Touch sensor panel with multi-power domain chip configuration |
KR102420735B1 (en) | 2016-08-19 | 2022-07-14 | 가부시키가이샤 한도오따이 에네루기 켄큐쇼 | Power control method for semiconductor devices |
WO2019067267A1 (en) * | 2017-09-29 | 2019-04-04 | Apple Inc. | Multi-power domain touch sensing |
WO2019067268A1 (en) | 2017-09-29 | 2019-04-04 | Apple Inc. | Multi modal touch controller |
US10863600B2 (en) | 2018-06-19 | 2020-12-08 | Power Integrations, Inc. | Power converter with current matching |
US11016616B2 (en) | 2018-09-28 | 2021-05-25 | Apple Inc. | Multi-domain touch sensing with touch and display circuitry operable in guarded power domain |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20010035773A1 (en) * | 1999-03-24 | 2001-11-01 | Mcclintock Cameron | I/O cell configuration for multiple I/O standards |
US6710621B2 (en) * | 2001-02-16 | 2004-03-23 | Nallatech, Ltd. | Programmable power supply for field programmable gate array modules |
US20040268278A1 (en) * | 2003-05-07 | 2004-12-30 | Hoberman Barry Alan | Managing power on integrated circuits using power islands |
US20060107077A1 (en) * | 2004-11-15 | 2006-05-18 | Roth Charles P | Programmable power transition counter |
US7479803B1 (en) * | 2004-10-06 | 2009-01-20 | Altera Corporation | Techniques for debugging hard intellectual property blocks |
Family Cites Families (99)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US677978A (en) * | 1900-06-23 | 1901-07-09 | Eugene T Granbery | Machine for transferring mail-bags. |
JPH0783254B2 (en) | 1989-03-22 | 1995-09-06 | 株式会社東芝 | Semiconductor integrated circuit |
DE4221575C2 (en) * | 1992-07-01 | 1995-02-09 | Ibm | Integrated CMOS semiconductor circuit and data processing system with integrated CMOS semiconductor circuit |
JP3251735B2 (en) * | 1992-09-25 | 2002-01-28 | 株式会社東芝 | Semiconductor integrated circuit device |
US5341034A (en) * | 1993-02-11 | 1994-08-23 | Benchmarq Microelectronics, Inc. | Backup battery power controller having channel regions of transistors being biased by power supply or battery |
US5332929A (en) * | 1993-04-08 | 1994-07-26 | Xilinx, Inc. | Power management for programmable logic devices |
KR0169157B1 (en) * | 1993-11-29 | 1999-02-01 | 기다오까 다까시 | Semiconductor circuit and mos-dram |
US5422591A (en) * | 1994-01-03 | 1995-06-06 | Sgs-Thomson Microelectronics, Inc. | Output driver circuit with body bias control for multiple power supply operation |
JPH08162884A (en) * | 1994-11-30 | 1996-06-21 | Sony Corp | Noise elimination circuit |
JPH08181598A (en) | 1994-12-27 | 1996-07-12 | Oki Electric Ind Co Ltd | Semiconductor device |
US5689209A (en) * | 1994-12-30 | 1997-11-18 | Siliconix Incorporated | Low-side bidirectional battery disconnect switch |
US5594368A (en) * | 1995-04-19 | 1997-01-14 | Kabushiki Kaisha Toshiba | Low power combinational logic circuit |
US5631606A (en) | 1995-08-01 | 1997-05-20 | Information Storage Devices, Inc. | Fully differential output CMOS power amplifier |
JP3042761B2 (en) * | 1995-08-07 | 2000-05-22 | 株式会社日立製作所 | Program data generation method for programmable device in logic emulation system and program data generation device for programmable device |
JP2931776B2 (en) * | 1995-08-21 | 1999-08-09 | 三菱電機株式会社 | Semiconductor integrated circuit |
US5661685A (en) | 1995-09-25 | 1997-08-26 | Xilinx, Inc. | Programmable logic device with configurable power supply |
US5787294A (en) * | 1995-10-13 | 1998-07-28 | Vlsi Technology, Inc. | System for reducing the power consumption of a computer system and method therefor |
US5600264A (en) | 1995-10-16 | 1997-02-04 | Xilinx, Inc. | Programmable single buffered six pass transistor configuration |
US5689144A (en) * | 1996-05-15 | 1997-11-18 | Siliconix Incorporated | Four-terminal power MOSFET switch having reduced threshold voltage and on-resistance |
US6147511A (en) | 1996-05-28 | 2000-11-14 | Altera Corporation | Overvoltage-tolerant interface for integrated circuits |
KR100189752B1 (en) * | 1996-06-01 | 1999-06-01 | 구본준 | Power pump circuit with independent well bias voltage |
KR100203136B1 (en) * | 1996-06-27 | 1999-06-15 | 김영환 | Voltage generator preventing latch-up |
JP3264622B2 (en) * | 1996-07-16 | 2002-03-11 | 株式会社東芝 | Semiconductor device |
US5734275A (en) * | 1996-07-18 | 1998-03-31 | Advanced Micro Devices, Inc. | Programmable logic device having a sense amplifier with virtual ground |
US6335893B1 (en) * | 1997-06-16 | 2002-01-01 | Hitachi, Ltd. | Semiconductor integrated circuit device |
US6593799B2 (en) * | 1997-06-20 | 2003-07-15 | Intel Corporation | Circuit including forward body bias from supply voltage and ground nodes |
US6411156B1 (en) * | 1997-06-20 | 2002-06-25 | Intel Corporation | Employing transistor body bias in controlling chip parameters |
US6535034B1 (en) * | 1997-07-30 | 2003-03-18 | Programmable Silicon Solutions | High performance integrated circuit devices adaptable to use lower supply voltages with smaller device geometries |
US5841694A (en) * | 1997-07-30 | 1998-11-24 | Programmable Silicon Solutions | High performance programmable interconnect |
JPH11195967A (en) * | 1997-12-26 | 1999-07-21 | Nec Corp | Semiconductor integrated circuit and method for its delay time control |
US6097242A (en) * | 1998-02-26 | 2000-08-01 | Micron Technology, Inc. | Threshold voltage compensation circuits for low voltage and low power CMOS integrated circuits |
US6157691A (en) * | 1998-04-14 | 2000-12-05 | Lsi Logic Corporation | Fully integrated phase-locked loop with resistor-less loop filer |
US6147508A (en) * | 1998-08-20 | 2000-11-14 | International Business Machines Corp. | Power consumption control mechanism and method therefor |
US6242728B1 (en) * | 1998-08-20 | 2001-06-05 | Foveon, Inc. | CMOS active pixel sensor using native transistors |
US6351176B1 (en) * | 1998-09-14 | 2002-02-26 | Texas Instruments Incorporated | Pulsing of body voltage for improved MOS integrated circuit performance |
US6826730B2 (en) * | 1998-12-15 | 2004-11-30 | Texas Instruments Incorporated | System and method for controlling current in an integrated circuit |
US6484265B2 (en) * | 1998-12-30 | 2002-11-19 | Intel Corporation | Software control of transistor body bias in controlling chip parameters |
US6242943B1 (en) * | 1998-12-31 | 2001-06-05 | Khaled Ahmad El-Ayat | Programmable multi-standard I/O architecture for FPGAS |
JP4390305B2 (en) * | 1999-01-04 | 2009-12-24 | 株式会社ルネサステクノロジ | Semiconductor device |
WO2000045437A1 (en) | 1999-01-26 | 2000-08-03 | Hitachi, Ltd. | Method of setting back bias of mos circuit, and mos integrated circuit |
US6425086B1 (en) * | 1999-04-30 | 2002-07-23 | Intel Corporation | Method and apparatus for dynamic power control of a low power processor |
US6271713B1 (en) * | 1999-05-14 | 2001-08-07 | Intel Corporation | Dynamic threshold source follower voltage driver circuit |
JP2001034040A (en) * | 1999-07-21 | 2001-02-09 | Sharp Corp | Contact electrifying device, processing cartridge and image forming device provided with it |
US6448840B2 (en) * | 1999-11-30 | 2002-09-10 | Intel Corporation | Adaptive body biasing circuit and method |
KR100347140B1 (en) * | 1999-12-31 | 2002-08-03 | 주식회사 하이닉스반도체 | Voltage conversion circuit |
KR20010077099A (en) * | 2000-01-31 | 2001-08-17 | 윤종용 | MOS Transistor having a self aligned well bias structure and method for fabricating the same |
US20020140496A1 (en) * | 2000-02-16 | 2002-10-03 | Ali Keshavarzi | Forward body biased transistors with reduced temperature |
JP3579633B2 (en) * | 2000-05-19 | 2004-10-20 | 株式会社ルネサステクノロジ | Semiconductor integrated circuit |
JP2001345423A (en) * | 2000-06-01 | 2001-12-14 | Seiko Epson Corp | Semiconductor integrated circuit device and manufacturing method thereof |
GB2366709A (en) * | 2000-06-30 | 2002-03-13 | Graeme Roy Smith | Modular software definable pre-amplifier |
US6549032B1 (en) * | 2000-08-22 | 2003-04-15 | Altera Corporation | Integrated circuit devices with power supply detection circuitry |
TW463466B (en) * | 2000-08-30 | 2001-11-11 | Silicon Integrated Sys Corp | Current A/D converter and the unit cell thereof |
US6366128B1 (en) | 2000-09-05 | 2002-04-02 | Xilinx, Inc. | Circuit for producing low-voltage differential signals |
TW448617B (en) * | 2000-09-15 | 2001-08-01 | Silicon Integrated Sys Corp | N-well bias preset circuit for CMOS and the method thereof |
US6343044B1 (en) * | 2000-10-04 | 2002-01-29 | International Business Machines Corporation | Super low-power generator system for embedded applications |
US6744301B1 (en) * | 2000-11-07 | 2004-06-01 | Intel Corporation | System using body-biased sleep transistors to reduce leakage power while minimizing performance penalties and noise |
JP2002164544A (en) * | 2000-11-28 | 2002-06-07 | Sony Corp | Semiconductor device |
US6952112B2 (en) * | 2000-11-30 | 2005-10-04 | Renesas Technology Corporation | Output buffer circuit with control circuit for modifying supply voltage and transistor size |
KR100385230B1 (en) * | 2000-12-28 | 2003-05-27 | 삼성전자주식회사 | Method for programming a nonvolatile semiconductor memory device |
US6373281B1 (en) * | 2001-01-22 | 2002-04-16 | International Business Machines Corporation | Tri-state dynamic body charge modulation for sensing devices in SOI RAM applications |
US6597203B2 (en) * | 2001-03-14 | 2003-07-22 | Micron Technology, Inc. | CMOS gate array with vertical transistors |
US6757196B1 (en) * | 2001-03-22 | 2004-06-29 | Aplus Flash Technology, Inc. | Two transistor flash memory cell for use in EEPROM arrays with a programmable logic device |
US6429726B1 (en) * | 2001-03-27 | 2002-08-06 | Intel Corporation | Robust forward body bias generation circuit with digital trimming for DC power supply variation |
US6469572B1 (en) * | 2001-03-28 | 2002-10-22 | Intel Corporation | Forward body bias generation circuits based on diode clamps |
US6670655B2 (en) * | 2001-04-18 | 2003-12-30 | International Business Machines Corporation | SOI CMOS device with body to gate connection |
US6605981B2 (en) * | 2001-04-26 | 2003-08-12 | International Business Machines Corporation | Apparatus for biasing ultra-low voltage logic circuits |
GB0111300D0 (en) * | 2001-05-09 | 2001-06-27 | Mitel Knowledge Corp | Method and apparatus for synchronizing slave network node to master network node |
JP2002343083A (en) * | 2001-05-18 | 2002-11-29 | Mitsubishi Electric Corp | Semiconductor device |
US6554249B2 (en) * | 2001-05-30 | 2003-04-29 | Fmc Technologies, Inc. | Plug valve having seal segments with booster springs |
US6763484B2 (en) * | 2001-06-28 | 2004-07-13 | Intel Corporation | Body bias using scan chains |
US6518826B2 (en) * | 2001-06-28 | 2003-02-11 | Intel Corporation | Method and apparatus for dynamic leakage control |
US6483375B1 (en) * | 2001-06-28 | 2002-11-19 | Intel Corporation | Low power operation mechanism and method |
US6559702B2 (en) * | 2001-07-19 | 2003-05-06 | Texas Instruments Incorporated | Bias generator and method for improving output skew voltage |
US6621325B2 (en) * | 2001-09-18 | 2003-09-16 | Xilinx, Inc. | Structures and methods for selectively applying a well bias to portions of a programmable device |
US6630700B2 (en) * | 2001-10-05 | 2003-10-07 | Motorola, Inc. | NMOS circuit in isolated wells that are connected by a bias stack having pluralirty of diode elements |
JP4090231B2 (en) * | 2001-11-01 | 2008-05-28 | 株式会社ルネサステクノロジ | Semiconductor integrated circuit device |
US6650141B2 (en) * | 2001-12-14 | 2003-11-18 | Lattice Semiconductor Corporation | High speed interface for a programmable interconnect circuit |
US6614301B2 (en) * | 2002-01-31 | 2003-09-02 | Intel Corporation | Differential amplifier offset adjustment |
US20030151428A1 (en) * | 2002-02-12 | 2003-08-14 | Ouyang Paul H. | 5 Volt tolerant input/output buffer |
US6525559B1 (en) * | 2002-04-22 | 2003-02-25 | Pericom Semiconductor Corp. | Fail-safe circuit with low input impedance using active-transistor differential-line terminators |
US7254603B2 (en) * | 2002-05-03 | 2007-08-07 | Sonics, Inc. | On-chip inter-network performance optimization using configurable performance parameters |
US6870213B2 (en) * | 2002-05-10 | 2005-03-22 | International Business Machines Corporation | EEPROM device with substrate hot-electron injector for low-power |
US20030218478A1 (en) * | 2002-05-24 | 2003-11-27 | Sani Mehdi Hamidi | Regulation of crowbar current in circuits employing footswitches/headswitches |
US6731158B1 (en) * | 2002-06-13 | 2004-05-04 | University Of New Mexico | Self regulating body bias generator |
JP2004070805A (en) * | 2002-08-08 | 2004-03-04 | Fujitsu Ltd | Semiconductor integrated circuit with controlled internal power source voltage |
EP1529343A1 (en) * | 2002-08-08 | 2005-05-11 | Koninklijke Philips Electronics N.V. | Circuit and method for controlling the threshold voltage of transistors |
US6972599B2 (en) * | 2002-08-27 | 2005-12-06 | Micron Technology Inc. | Pseudo CMOS dynamic logic with delayed clocks |
JP3986393B2 (en) * | 2002-08-27 | 2007-10-03 | 富士通株式会社 | Integrated circuit device having nonvolatile data storage circuit |
US6809550B2 (en) * | 2002-09-20 | 2004-10-26 | Atmel Corporation | High speed zero DC power programmable logic device (PLD) architecture |
US7120804B2 (en) * | 2002-12-23 | 2006-10-10 | Intel Corporation | Method and apparatus for reducing power consumption through dynamic control of supply voltage and body bias including maintaining a substantially constant operating frequency |
JP2004297166A (en) * | 2003-03-25 | 2004-10-21 | Murata Mfg Co Ltd | Temperature-compensated piezoelectric oscillator and electronic equipment using the same |
US7098689B1 (en) * | 2003-09-19 | 2006-08-29 | Xilinx, Inc. | Disabling unused/inactive resources in programmable logic devices for static power reduction |
US7026840B1 (en) * | 2004-03-02 | 2006-04-11 | Altera Corporation | Programmable logic device |
US6972616B2 (en) * | 2004-04-14 | 2005-12-06 | Broadcom Corporation | Low-noise, fast-settling bias circuit and method |
EP1745344A1 (en) * | 2004-05-05 | 2007-01-24 | Koninklijke Philips Electronics N.V. | A mobile apparatus comprising integrated circuit and method of powering down such circuit |
US7348827B2 (en) * | 2004-05-19 | 2008-03-25 | Altera Corporation | Apparatus and methods for adjusting performance of programmable logic devices |
US7112997B1 (en) * | 2004-05-19 | 2006-09-26 | Altera Corporation | Apparatus and methods for multi-gate silicon-on-insulator transistors |
KR101054946B1 (en) * | 2005-02-23 | 2011-08-08 | 삼성전자주식회사 | How to adjust the system on chip and voltage level with voltage level adjustment |
US7548091B1 (en) * | 2005-07-29 | 2009-06-16 | Altera Corporation | Method and apparatus to power down unused configuration random access memory cells |
-
2004
- 2004-12-07 US US11/006,420 patent/US20060119382A1/en not_active Abandoned
-
2005
- 2005-12-02 EP EP05026293A patent/EP1670140A3/en not_active Withdrawn
- 2005-12-06 JP JP2005352310A patent/JP2006166458A/en not_active Withdrawn
- 2005-12-07 CN CNA2005101310699A patent/CN1797951A/en active Pending
-
2006
- 2006-05-27 US US11/420,736 patent/US20060202713A1/en not_active Abandoned
- 2006-05-27 US US11/420,737 patent/US7986160B2/en active Active
-
2011
- 2011-11-24 JP JP2011256197A patent/JP2012075168A/en active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20010035773A1 (en) * | 1999-03-24 | 2001-11-01 | Mcclintock Cameron | I/O cell configuration for multiple I/O standards |
US6710621B2 (en) * | 2001-02-16 | 2004-03-23 | Nallatech, Ltd. | Programmable power supply for field programmable gate array modules |
US20040268278A1 (en) * | 2003-05-07 | 2004-12-30 | Hoberman Barry Alan | Managing power on integrated circuits using power islands |
US7479803B1 (en) * | 2004-10-06 | 2009-01-20 | Altera Corporation | Techniques for debugging hard intellectual property blocks |
US20060107077A1 (en) * | 2004-11-15 | 2006-05-18 | Roth Charles P | Programmable power transition counter |
Cited By (51)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8099691B1 (en) | 2003-09-19 | 2012-01-17 | Xilinx, Inc. | Disabling unused/inactive resources in an integrated circuit for static power reduction |
US7581124B1 (en) | 2003-09-19 | 2009-08-25 | Xilinx, Inc. | Method and mechanism for controlling power consumption of an integrated circuit |
US7562332B1 (en) | 2003-09-19 | 2009-07-14 | Xilinx, Inc. | Disabling unused/inactive resources in programmable logic devices for static power reduction |
US7549139B1 (en) | 2003-09-19 | 2009-06-16 | Xilinx, Inc. | Tuning programmable logic devices for low-power design implementation |
US7504854B1 (en) | 2003-09-19 | 2009-03-17 | Xilinx, Inc. | Regulating unused/inactive resources in programmable logic devices for static power reduction |
US7498836B1 (en) | 2003-09-19 | 2009-03-03 | Xilinx, Inc. | Programmable low power modes for embedded memory blocks |
US7498839B1 (en) * | 2004-10-22 | 2009-03-03 | Xilinx, Inc. | Low power zones for programmable logic devices |
US8255745B2 (en) | 2005-08-29 | 2012-08-28 | The Invention Science Fund I, Llc | Hardware-error tolerant computing |
US8402257B2 (en) | 2005-08-29 | 2013-03-19 | The Invention Science Fund I, PLLC | Alteration of execution of a program in response to an execution-optimization information |
US20070055848A1 (en) * | 2005-08-29 | 2007-03-08 | Searete Llc, A Limited Liability Corporation Of The State Of Delaware | Processor resource management |
US20070067611A1 (en) * | 2005-08-29 | 2007-03-22 | Bran Ferren | Processor resource management |
US8516300B2 (en) | 2005-08-29 | 2013-08-20 | The Invention Science Fund I, Llc | Multi-votage synchronous systems |
US20070050609A1 (en) * | 2005-08-29 | 2007-03-01 | Searete Llc | Cross-architecture execution optimization |
US8423824B2 (en) | 2005-08-29 | 2013-04-16 | The Invention Science Fund I, Llc | Power sparing synchronous apparatus |
US20070050776A1 (en) * | 2005-08-29 | 2007-03-01 | Searete Llc, A Limited Liability Corporation Of The State Of Delaware | Predictive processor resource management |
US20070050661A1 (en) * | 2005-08-29 | 2007-03-01 | Bran Ferren | Adjusting a processor operating parameter based on a performance criterion |
US20070050556A1 (en) * | 2005-08-29 | 2007-03-01 | Searete Llc, A Limited Liability Corporation Of The State Of Delaware | Multiprocessor resource optimization |
US20070050558A1 (en) * | 2005-08-29 | 2007-03-01 | Bran Ferren | Multiprocessor resource optimization |
US20070050606A1 (en) * | 2005-08-29 | 2007-03-01 | Searete Llc, A Limited Liability Corporation Of The State Of Delaware | Runtime-based optimization profile |
US7607042B2 (en) * | 2005-08-29 | 2009-10-20 | Searete, Llc | Adjusting a processor operating parameter based on a performance criterion |
US20070050555A1 (en) * | 2005-08-29 | 2007-03-01 | Searete Llc, A Limited Liability Corporation Of The State Of Delaware | Multiprocessor resource optimization |
US7627739B2 (en) | 2005-08-29 | 2009-12-01 | Searete, Llc | Optimization of a hardware resource shared by a multiprocessor |
US7647487B2 (en) | 2005-08-29 | 2010-01-12 | Searete, Llc | Instruction-associated processor resource optimization |
US7653834B2 (en) | 2005-08-29 | 2010-01-26 | Searete, Llc | Power sparing synchronous apparatus |
US7725693B2 (en) | 2005-08-29 | 2010-05-25 | Searete, Llc | Execution optimization using a processor resource management policy saved in an association with an instruction group |
US7739524B2 (en) | 2005-08-29 | 2010-06-15 | The Invention Science Fund I, Inc | Power consumption management |
US7774558B2 (en) | 2005-08-29 | 2010-08-10 | The Invention Science Fund I, Inc | Multiprocessor resource optimization |
US7779213B2 (en) | 2005-08-29 | 2010-08-17 | The Invention Science Fund I, Inc | Optimization of instruction group execution through hardware resource management policies |
US8375247B2 (en) | 2005-08-29 | 2013-02-12 | The Invention Science Fund I, Llc | Handling processor computational errors |
US7877584B2 (en) | 2005-08-29 | 2011-01-25 | The Invention Science Fund I, Llc | Predictive processor resource management |
US8051255B2 (en) | 2005-08-29 | 2011-11-01 | The Invention Science Fund I, Llc | Multiprocessor resource optimization |
US20070050557A1 (en) * | 2005-08-29 | 2007-03-01 | Searete Llc, A Limited Liability Corporation Of The State Of Delaware | Multiprocessor resource optimization |
US20070050604A1 (en) * | 2005-08-29 | 2007-03-01 | Searete Llc, A Limited Liability Corporation Of The State Of Delaware | Fetch rerouting in response to an execution-based optimization profile |
US8181004B2 (en) | 2005-08-29 | 2012-05-15 | The Invention Science Fund I, Llc | Selecting a resource management policy for a resource available to a processor |
US8209524B2 (en) | 2005-08-29 | 2012-06-26 | The Invention Science Fund I, Llc | Cross-architecture optimization |
US8214191B2 (en) | 2005-08-29 | 2012-07-03 | The Invention Science Fund I, Llc | Cross-architecture execution optimization |
US7498835B1 (en) | 2005-11-04 | 2009-03-03 | Xilinx, Inc. | Implementation of low power standby modes for integrated circuits |
US7345944B1 (en) | 2006-01-11 | 2008-03-18 | Xilinx, Inc. | Programmable detection of power failure in an integrated circuit |
US20100325448A1 (en) * | 2008-01-30 | 2010-12-23 | Kyocera Corporation | Device Incorporating Data Communication Function |
US9043617B2 (en) * | 2008-01-30 | 2015-05-26 | Kyocera Corporation | Device incorporating data communication function |
US20090267588A1 (en) * | 2008-04-23 | 2009-10-29 | Schmitz Michael J | Method and apparatus to dynamically control impedance to maximize power supply |
US8823405B1 (en) | 2010-09-10 | 2014-09-02 | Xilinx, Inc. | Integrated circuit with power gating |
US8971833B2 (en) * | 2010-09-28 | 2015-03-03 | Apple Inc. | Electronic device with dynamic drive strength adjustment to mitigate impact of system noise on wireless performance |
US20120074988A1 (en) * | 2010-09-28 | 2012-03-29 | Hassan Lashkari | Electronic device with dynamic drive strength adjustment to mitigate impact of system noise on wireless performance |
US9436250B1 (en) * | 2011-12-19 | 2016-09-06 | Altera Corporation | Apparatus for improving power consumption of communication circuitry and associated methods |
US10348311B2 (en) | 2011-12-19 | 2019-07-09 | Altera Corporation | Apparatus for improving power consumption of communication circuitry and associated methods |
US9348959B1 (en) * | 2012-06-29 | 2016-05-24 | Xilinx, Inc. | Optimizing supply voltage and threshold voltage |
US9372520B2 (en) * | 2013-08-09 | 2016-06-21 | Globalfoundries Inc. | Reverse performance binning |
US20150046739A1 (en) * | 2013-08-09 | 2015-02-12 | International Business Machines Corporation | Reverse performance binning |
US9496871B1 (en) * | 2014-08-18 | 2016-11-15 | Xilinx, Inc. | Programmable power reduction technique using transistor threshold drops |
US9419624B2 (en) | 2014-11-12 | 2016-08-16 | Xilinx, Inc. | Power management system for integrated circuits |
Also Published As
Publication number | Publication date |
---|---|
CN1797951A (en) | 2006-07-05 |
JP2012075168A (en) | 2012-04-12 |
EP1670140A2 (en) | 2006-06-14 |
EP1670140A3 (en) | 2009-03-25 |
JP2006166458A (en) | 2006-06-22 |
US20060119382A1 (en) | 2006-06-08 |
US20060202714A1 (en) | 2006-09-14 |
US7986160B2 (en) | 2011-07-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20060202713A1 (en) | Apparatus and methods for adjusting performance characteristics of circuitry in programmable logic devices | |
US8138786B2 (en) | Apparatus and methods for adjusting performance of integrated circuits | |
US7348827B2 (en) | Apparatus and methods for adjusting performance of programmable logic devices | |
US7415690B2 (en) | Apparatus and methods for multi-gate silicon-on-insulator transistors | |
TWI472157B (en) | Die apparatus having configurable input/output and control method thereof | |
US20130043902A1 (en) | Apparatus for improving performance of field programmable gate arrays and associated methods | |
EP2762991B1 (en) | Bypassable clocked storage circuitry for dynamic voltage-frequency scaling | |
US8630113B1 (en) | Apparatus for memory with improved performance and associated methods | |
KR101392102B1 (en) | Compensation techniques for reducing power consumption in digital circuitry | |
US20110204919A1 (en) | Apparatus and methods for adjusting performance of programmable logic devices | |
US9984734B2 (en) | Programmable integrated circuits with in-operation reconfiguration capability | |
US7932774B2 (en) | Structure for intrinsic RC power distribution for noise filtering of analog supplies | |
US20090302887A1 (en) | Apparatus for power consumption reduction in programmable logic devices and associated methods | |
US7969184B1 (en) | Configurable high speed high voltage input/output circuit for an IC | |
US7557626B1 (en) | Systems and methods of reducing power consumption of digital integrated circuits | |
US20160373118A1 (en) | Apparatus For Improving Power Consumption Of Communication Circuitry And Associated Methods | |
US20130200937A1 (en) | Delay line with cell by cell power down capability | |
Lai et al. | Resilient Self-V $ _ {\rm DD} $-Tuning Scheme With Speed-Margining for Low-Power SRAM | |
JP2007294801A (en) | Semiconductor device | |
Loke et al. | Criticality-based routing for FPGAS with reverse body bias switch box architectures |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
AS | Assignment |
Owner name: ALTERA CORPORATION, CALIFORNIA Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:SHUMARAYEV, SERGEY Y;REEL/FRAME:017686/0810 Effective date: 20060523 |
|
STCB | Information on status: application discontinuation |
Free format text: ABANDONED -- FAILURE TO RESPOND TO AN OFFICE ACTION |
|
AS | Assignment |
Owner name: INTEL CORPORATION, CALIFORNIA Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:ALTERA CORPORATION;REEL/FRAME:060778/0032 Effective date: 20220708 |
|
AS | Assignment |
Owner name: TAHOE RESEARCH, LTD., IRELAND Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:INTEL CORPORATION;REEL/FRAME:061827/0686 Effective date: 20220718 |