专利汇可以提供Process parameter based I/O timing programmability using electrical fuse elements专利检索,专利查询,专利分析的服务。并且Electrical fuses (eFuses) are applied to the task of achieving very tightly controlled Input-Output (I/O) timing specifications. The I/O timing is made programmable and subject to adjustment as part of wafer probe testing. The techniques of parametric adjustment presented are based upon what is commonly referred to as clock skewing or clock tuning. The invention describes methods to select the clock skewing on a die-to-die basis based on functional testing with the actual parametric limits imposed on parameters of interest. The results associated with each die form the basis for hard-programming the selected clock skew value into the die via electrical fuses.,下面是Process parameter based I/O timing programmability using electrical fuse elements专利的具体信息内容。
What is claimed is:
The technical field of this invention is timing control for integrated circuit input and outputs.
Microprocessor devices fabricated with current CMOS technology are designed with great care to comprehend the circuit performance variations due to process shifts from one tolerance extreme to the other. Designers have become accustomed to speak of MOS transistors having maximum drive capability as strong transistors and MOS transistors with minimum drive capability as weak transistors. At both of these extremes, the transistors are within specified process tolerance limits, and it is desirable to maximize the useable yield of all functional devices even though different speed performance devices will be produced. Normally the salability of the whole performance distribution is not difficult to establish.
In practice, designs are analyzed by (a) transistor strength, (b) power supply voltage tolerances, (c) interconnect resistance and capacitance and (d) operating temperature, among other possible parameters. Logic circuits must match as closely as possible the memory and the interfacing should be optimized on every die in as much as practical.
Experience indicates that I/O designs should be subjected to rather stringent minimum-maximum propagation delay limits to assure proper interface functioning between the outputs of a transmitting chip and the inputs of a receiving chip. Latching elements are present at both the signal source and signal destination and set-up time and hold-time requirements must be met to assure desired performance. Therefore, on a given integrated circuit the specifications for maximum set-up time and maximum hold time at critical inputs that must be tightly controlled. Often the degree of control the design can provide is insufficient to allow the entire distribution of circuit performance to meet the critical design parameters. In these cases techniques to adjust the performance of critical input/output functions provides a means to improve yield.
Design/Fabrication/Test Methodology
Traditionally, critical I/O timing specifications make it necessary for designers to comprehend all of the following design characteristics” (a) I/O interface design/architecture; (b) simplified clock distribution; (c) master/slave protocols; (d) self-clocking techniques including the use of analog or digital phase locked loop functions to create alignments between I/O circuit & process; (e) I/O buffers designed for low voltage-temperature performance variation; (f) rigid process controls; (g) I/O test screening; and (h) speed sort parts by I/O speeds/application. All these design and application considerations involve sophisticated design/process practices and/or compromises in design/process.
Previous Techniques for Optimal I/O Interface Performance
Originally, I/O performance matching was achieved by altering the number of gates in a delay path by adding or removing gates in a revision of the chip interconnect pattern. This approach incurs significant costs and cycle times to produce revised photomask reticles and to complete fabrication of the revised product.
A later technique of I/O performance adjustment employed laser fuses. Laser fuses built into the die may be blown to achieve many of the desired I/O timing adjustments. However, laser fuses must be large in chip area to ensure dependable and successful laser beam hit.
Electrical Fuses for Programming
Electrical fuses (eFuses) are extremely attractive for this kind of application. Such eFuses have made a great impact on digital processor devices. Originally eFuses were applied to the obvious needs for device programmability. The possibility of programming a device to do a specific task efficiently has made modest cost special purpose processors a reality. Many fusible interconnect links are constructed of materials such as deposited amorphous polysilicon.
In the prior art electrical fuses (eFuses) in VLSI silicon devices are programmed by applying a relatively large amount of power to the fuse body to melt and separate the fuse body. This changes the eFuse resistance from a low pre-blow resistance to a high post-blow resistance. This result can be sensed to determine the state of the eFuse: unblown or blown.
eFuse Implementation
The eFuse for a conventional programmable device application is normally configured as a chain or two-dimensional array containing sometimes hundreds of eFuses and supporting logic. Several definitions will be helpful in clarifying the descriptions of eFuse implementation to follow.
An eFuse is a circuit element, which has a natural un-programmed state, but may be permanently programmed to the opposite state. An eFuse element includes an eFuse along with its programming and sensing circuits. An eFuse cell includes an eFuse element plus the local logic required to integrate it into an eFuse chain. An eFuse chain is one or more eFuse cells connected in series or arrays. An eFuse controller is comprised of the control logic designed to access the eFuse chains or arrays. An un-programmed eFuse has a pre-defined maximum low resistance value. A programmed eFuse has a pre-defined minimum high resistance value. An eFuse chain is programmed by loading the desired fused state and non-fused state locations into a programming database containing a record for the individual elements of the entire chain. Then those values are sequentially programmed into each eFuse.
In the program mode, incoming PData In 107 is latched into the PData flip-flop 102 and programmed into the eFuse element on the occurrence of one or more program pulses initiated at Program input 110. PData Out passes to the eFuse cell via path 116. In the program mode PData Out is passed through multiplexers 104 and 105 and is latched into the CData flip-flop 102. The voltage VPP 109 is the programming power source. Program data is passed serially to the next cell in the chain at PData Out line 116.
In the test mode, the CData flip-flop 103 latches the data from the present cell and passes it to Cell Data Out 115. This data from the present cell is passed through multiplexer 104 and multiplexer 105 as directed by the Test input 111.
Initz input 112 acts to initialize all flip-flops in the cell chain prior to the programming cycle. Margin input 114 allows adjustment to the reference input for a differential amplifier so that the desired high resistance values specified for a program element may be modified.
I/O Design Parameters and Specifications
The critical I/O timing specifications consist of the following timing parameters: tpdmin the minimum propagation delay for signal data output; tpdmax the maximum propagation delay for signal data output; tisetupmin the minimum setup time for data input signal; and tiholdmin the minimum hold time for data input signal. These timing specifications must be met in each of the nine design analysis corners listed in Table 1.
Typically there is also a requirement for adequate guard band tolerances to account for correlation between test machines and for stability of values measured in repetitive tests.
Electrical fuses (eFuses) are employed to program I/O timing without requiring additional processing steps and expensive equipment. This reduces the cycle time and cost of fuse blowing. Programmation of electrical fuses is done electrically on the test machine at wafer probe. Electrical fuses provide a soft test feature wherein the effect of I/O timing can be tested without actually programming the fuses. Electrical fuses thus provide a very efficient non-volatile method to achieve balanced I/O timing, drastically cutting down costs and cycle times involved. The techniques of parametric adjustment presented are based upon what is commonly referred to as clock skewing or clock tuning. The invention describes methods to select the clock skewing on a die-to-die basis based on functional testing with the actual parametric limits imposed on parameters of interest. The results associated with each die form the basis for hard-programming the selected clock skew value into the die via electrical fuses.
These and other aspects of this invention are illustrated in the drawings, in which:
The invention describes methods for programmable selection of internal clock timing on a die-to-die basis based on the measurement of set-up time, hold time, and propagation delay parameters associated with the die, and hard-programming the selected clock skew into the die via electrical fuses.
These clock-tuning techniques do not require design/process sophistication or compromise. These techniques, commonly referred to as clock-skewing, involve incremental clock delays to be introduced at specific points in the clock distribution path. The invention describes methods to select the clock skewing on a die-to-die basis based on the measured timing parameters associated with the die and hard-programming the selected clock skew into the die via electrical fuses.
This clock tuning methodology allows a larger distribution of high performance devices fabricated from die having incrementally different transistor strengths to meet very tight I/O timing specifications. These timing specifications are required to be met in each of the nine design analysis corners of Table 1 above.
The crucial specifications on high-speed I/O blocks are: tpdmin the minimum propagation delay for signal data output; tpdmax the maximum propagation delay for signal data output; tisetupmin the minimum setup time for data input signal; and tiholdmin the minimum hold time for data input signal.
While the set-up times are measured from data input 301 to system clock 310, this actual measured set-up time may be adjusted by adding increments of delay from system clock 310 to input clock 313 via delay element 315. Stated another way, while the set-up time between data input 301 and internal input clock 313 remains constant whatever delay is introduced by delay element 315, the set-up time between the data input 301 and the actual external clock node 310 decreases as additional delay is added in block 315. This is because if the input clock at node 313 arrives at a later time, the data input 301 may also arrive at a later time (less set-up time as measured externally).
Similarly while hold time is measured from data input 301 to system clock 310, this actual measured hold time may be adjusted by adding increments of delay from system clock 310 to input clock 313 via delay element 315. Stated another way, while the hold time between data input 301 and internal input clock 313 remains constant whatever delay is introduced by delay element 315, the hold time between the data input 301 and the actual external clock node 310 increases as additional delay is added in block 315. This is because if the input clock at node 313 arrives at a later time, the data input 301 must remain valid for a longer time (more hold time as measured externally).
System clock 404 has a hold time of 414 with respect to data input edge 424 if the delay of delay element 315 is zero. When input clock is delayed by delay element 315 to become delay1 clock 405, the hold time becomes 415 (system clock 401 with respect to data input edge 425). Further if input clock is further delayed by delay element 315 to become delay2 clock 406, the hold time becomes 416 (system clock 401 with respect to data input edge 426). Thus adding delay in delay element 315 directly adds to hold time as measured with respect to system clock edge 404. This opposite direction of set-up time and hold time adjustments by an input clock delay adjustment is exactly as desired to center the set-up time and hold time within maximum specification limits as the two parameters also vary in the opposite manner with process tolerance shifts.
In
This is also illustrated in the timing diagrams of
In reading the curves consider two examples. For nominal transistor strength, point 507 at the intersection of curve 501 (tdmax) and nominal transistor strength indicates a margin in the tdmax specification of +0.9 Nsec. For weak transistor strength, point 508 at the intersection of curve 502 (tdmin) and weak transistor strength indicates a margin in the tdmin specification of +1.55 Nsec.
Block 706 performs another full I/O test for this test iteration #2. Query 707 decides whether the I/O is fully functional for iteration #2. If the I/O is fully functional (Yes at query 707), then block 714 stores this programming choice. If the I/O is not fully functional (No at query 707), then flow passes to a next iteration at the next slower speed level. This process repeats until either the I/O is fully functional or it reaches the final iteration #Z for the slowest speed level in block 709. Block 710 performs a final full I/O test. Final query 711 determines whether the I/O is fully functional. If the I/O is fully functional (Yes at query 711), then block 714 stores this programming choice. If the I/O is not fully functional (No at query 711), then the integrated circuit is rejected. From block 714, die testing proceeds to the flow of
Block 805 begins the final programming operations. Block 806 subjects the eFuses of each chain to program pulses and to blow them according to the regenerated program data input. Block 807 reads out the program results and compares then to the desired data. Block 808 determines if the eFuse results are satisfactory. If all the eFuses are properly programmed (Yes at query 808), the flow proceeds via path 810 to programming complete block 811. If the eFuses are not all properly programmed (No at query block 808), then path 809 returns to block 805 to regenerate programming commands for eFuses, which were to be programmed but incorrectly remained unprogrammed.
标题 | 发布/更新时间 | 阅读量 |
---|---|---|
一种可编程自校准正电压恒功率输出电路及方法 | 2020-05-08 | 605 |
一种图像处理方法及装置 | 2020-05-08 | 670 |
一种升级装置 | 2020-05-11 | 350 |
一种模块化大功率逆变器光纤载波同步的装置 | 2020-05-08 | 512 |
双调谐高效压电能量采集管理电路 | 2020-05-08 | 430 |
信号驱动器摆率控制 | 2020-05-08 | 602 |
一种FPGA高速收发器及其动态控制方法 | 2020-05-11 | 813 |
一种基于双FPGA架构的可编程控制器及工业控制系统 | 2020-05-11 | 449 |
一种频率合成控制系统及设计方法 | 2020-05-11 | 595 |
一种尘埃粒子计数器 | 2020-05-08 | 656 |
高效检索全球专利专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。
我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。
专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。