JP4798505B2 - Digital system design system and digital system manufacturing method - Google Patents

Digital system design system and digital system manufacturing method Download PDF

Info

Publication number
JP4798505B2
JP4798505B2 JP2007053056A JP2007053056A JP4798505B2 JP 4798505 B2 JP4798505 B2 JP 4798505B2 JP 2007053056 A JP2007053056 A JP 2007053056A JP 2007053056 A JP2007053056 A JP 2007053056A JP 4798505 B2 JP4798505 B2 JP 4798505B2
Authority
JP
Japan
Prior art keywords
digital system
flip
manufacturing
delay circuit
function
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.)
Expired - Fee Related
Application number
JP2007053056A
Other languages
Japanese (ja)
Other versions
JP2008217350A (en
Inventor
正宏 村川
栄一 高橋
達也 諏佐
哲也 樋口
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
National Institute of Advanced Industrial Science and Technology AIST
Original Assignee
National Institute of Advanced Industrial Science and Technology AIST
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by National Institute of Advanced Industrial Science and Technology AIST filed Critical National Institute of Advanced Industrial Science and Technology AIST
Priority to JP2007053056A priority Critical patent/JP4798505B2/en
Publication of JP2008217350A publication Critical patent/JP2008217350A/en
Application granted granted Critical
Publication of JP4798505B2 publication Critical patent/JP4798505B2/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Design And Manufacture Of Integrated Circuits (AREA)

Description

本発明は、ディジタルシステムの設計システムおよびディジタルシステムの製造方法に関し、特にプログラマブル遅延回路を備えたディジタルシステムに対してそのプログラマブル遅延回路の遅延時間を遺伝的アルゴリズムを用いて設定する設計システムに適用して有効な技術に関するものである。   The present invention relates to a digital system design system and a digital system manufacturing method, and more particularly to a design system in which a delay time of a programmable delay circuit is set using a genetic algorithm for a digital system having a programmable delay circuit. And effective technology.

例えば、特許文献1には、各フリップフロップのクロック入力部に遅延素子を備えたディジタルシステムが示されている。この各遅延素子の遅延時間は、ディジタルシステムの製造後に例えば外部装置から設定可能となっている。この際には、各遅延素子の遅延時間をそれぞれ設定するための複数のレジスタ値を纏めて一つの染色体とみなし、例えば遺伝的アルゴリズムを代表とする確率的探索手法に基づいて最適な染色体(即ち最適な各遅延素子の遅延時間)を決定する。具体的には、ディジタルシステムに対して、例えばロジックテスト等を行いながら各ノードの論理レベルを観測し、それが期待値と一致した比率を評価関数として、この評価関数が高くなるような染色体を遺伝的アルゴリズムによって探索していく。このようなディジタルシステムを用いることで、製造ばらつきに起因するディジタルシステムの機能・性能の低下を抑制でき、製造歩留まりを向上させることが可能となる。
国際公開第04/109916号パンフレット
For example, Patent Document 1 discloses a digital system in which a delay element is provided in a clock input unit of each flip-flop. The delay time of each delay element can be set, for example, from an external device after the digital system is manufactured. At this time, a plurality of register values for setting the delay time of each delay element are collectively regarded as one chromosome, and an optimal chromosome (that is, based on a probabilistic search method represented by a genetic algorithm, for example) The optimum delay time of each delay element is determined. Specifically, the logic level of each node is observed while performing, for example, a logic test on the digital system, and a chromosome with which this evaluation function becomes high is determined by using the ratio that matches the expected value as an evaluation function. Search by genetic algorithm. By using such a digital system, it is possible to suppress a decrease in functions and performance of the digital system due to manufacturing variations, and to improve manufacturing yield.
International Publication No. 04/109916 Pamphlet

近年、ディジタルLSI(Large Scale Integration)等の高速化や微細化に伴い、クロック信号の伝播時間のずれであるクロック・スキュー(Clock Skew)の問題が深刻になってきている。この結果、ディジタルLSIの動作歩留(設計通りのスペックで動作できるチップの比率)が低下し、チップ価格の上昇を招いている。クロック・スキューの主な発生原因の一つに製造ばらつきがあり、これにより個々のトランジスタの遅延時間や駆動能力、配線の抵抗や寄生容量等が変動してしまう。   In recent years, with the increase in speed and miniaturization of digital LSI (Large Scale Integration) and the like, the problem of clock skew, which is a shift in the propagation time of a clock signal, has become serious. As a result, the operation yield of digital LSIs (the ratio of chips that can operate with the specifications as designed) decreases, leading to an increase in chip prices. One of the main causes of clock skew is manufacturing variation, which causes fluctuations in delay time and drive capability of individual transistors, wiring resistance, parasitic capacitance, and the like.

このディジタルLSIのクロック・スキュー問題を解決するためには、例えば、特許文献1の技術も用いることが考えられる。図13は、本発明の前提として検討したディジタルシステムの設計システムにおいて、その構成例を示すブロック図である。図13に示す設計システムは、特許文献1の図1に示された構成と同様のものである。   In order to solve the clock skew problem of the digital LSI, for example, it is conceivable to use the technique of Patent Document 1. FIG. 13 is a block diagram showing a configuration example of a digital system design system examined as a premise of the present invention. The design system shown in FIG. 13 has the same configuration as that shown in FIG.

図13に示す設計システムは、ディジタルシステム1と、電源装置2と、ディジタルテスト信号発生装置3と、調整装置4と、ディジタル信号観測装置5などによって構成される。ディジタルシステム1は、例えば、マイクロコンピュータ等を代表に各種論理演算機能を備えたものであり、単体の半導体チップであってもよく、それぞれ所望の論理演算を行う複数の半導体チップが回路基板上で接続されたような形態でもよい。ディジタルシステム1は、複数のフリップフロップFF1a〜FF1d,FF2a,FF2bと、複数の遅延回路DLY1a〜DLY1dと、複数の保持回路(例えばレジスタ)REG1a〜REG1dなどを含んでいる。   The design system shown in FIG. 13 includes a digital system 1, a power supply device 2, a digital test signal generation device 3, an adjustment device 4, a digital signal observation device 5, and the like. The digital system 1 is provided with various logical operation functions such as a microcomputer, for example, and may be a single semiconductor chip. A plurality of semiconductor chips each performing a desired logical operation are arranged on a circuit board. It may be connected. The digital system 1 includes a plurality of flip-flops FF1a to FF1d, FF2a, and FF2b, a plurality of delay circuits DLY1a to DLY1d, a plurality of holding circuits (for example, registers) REG1a to REG1d, and the like.

FF1a〜FF1dは、クロック調整を行うフリップフロップであり、FF2a,FF2bは、クロック調整を行わないフリップフロップである。FF1a〜FF1dは、クロック信号CLKに同期して1ビットを記憶する回路であり、例えばDフリップフロップやSRフリップフロップなどを始めとする様々な構成の回路に該当する。遅延回路DLY1a〜DLY1dは、フリップフロップFF1a〜FF1dのクロック入力部にそれぞれ接続され、保持回路REG1a〜REG1dの設定値に応じてそれぞれ遅延時間を設定可能なプログラマブル遅延回路となっている。プログラマブル遅延回路は、特許文献1に記載されているように、インバータ遅延を利用したものや、容量と抵抗のCR遅延を利用したものなど一般的に知られている様々な構成で実現できる。保持回路REG1a〜REG1dは、それぞれ、複数ビットを記憶する回路であり、例えば複数のフリップフロップからなるレジスタによって実現されるほか、RAM又は書き換え可能な不揮発性メモリなどであってもよい。   FF1a to FF1d are flip-flops that perform clock adjustment, and FF2a and FF2b are flip-flops that do not perform clock adjustment. FF1a to FF1d are circuits that store 1 bit in synchronization with the clock signal CLK, and correspond to circuits having various configurations including, for example, a D flip-flop and an SR flip-flop. The delay circuits DLY1a to DLY1d are connected to the clock input portions of the flip-flops FF1a to FF1d, respectively, and are programmable delay circuits that can set delay times according to the set values of the holding circuits REG1a to REG1d. As described in Patent Document 1, the programmable delay circuit can be realized in various configurations that are generally known, such as those that use inverter delay and those that use CR delay of capacitance and resistance. Each of the holding circuits REG1a to REG1d is a circuit that stores a plurality of bits. For example, the holding circuits REG1a to REG1d may be a RAM or a rewritable nonvolatile memory, in addition to being realized by a register including a plurality of flip-flops.

この保持回路REG1a〜REG1dの値は、調整回路4によって設定される。調整回路4は、例えば、パーソナルコンピュータなどのようにプログラム処理を実行可能で、外部入出力機能を備えたものであればよい。ディジタルテスト信号発生装置3は、調整装置4からの起動信号を受けて、ディジタルシステム1に対してテスト信号(データ入力信号)Dinやクロック信号CLKを与える。電源装置2は、その出力電圧値が調整装置4によって制御され、ディジタルシステム1に対して電源供給6を行う。ディジタル信号観測装置5は、ディジタルシステム1からのデータ出力信号Doutや、ディジタルシステム1の内部ノードの論理レベル7を観測し、その観測結果を調整装置4に与える。   The values of the holding circuits REG1a to REG1d are set by the adjustment circuit 4. The adjustment circuit 4 may be any circuit that can execute program processing and has an external input / output function, such as a personal computer. The digital test signal generator 3 receives a start signal from the adjustment device 4 and gives a test signal (data input signal) Din and a clock signal CLK to the digital system 1. The output voltage value of the power supply device 2 is controlled by the adjustment device 4 to supply power 6 to the digital system 1. The digital signal observation device 5 observes the data output signal Dout from the digital system 1 and the logic level 7 of the internal node of the digital system 1 and gives the observation result to the adjustment device 4.

なお、電源装置2、ディジタルテスト信号発生装置3、ディジタル信号観測装置5は、それぞれ、例えば、一般的な直流電源発生装置、パターンジェネレータ、ロジックアナライザなどを用いて個別に構成してもよいし、これらの機能を全て備えたロジックテスタなどを用いてもよい。また、電源装置2、ディジタルテスト信号発生装置3、ディジタル信号観測装置5および調整装置4の一部又は全部は、ディジタルシステム1に内蔵することも可能である。   The power supply device 2, the digital test signal generation device 3, and the digital signal observation device 5 may be individually configured using, for example, a general DC power supply generation device, a pattern generator, a logic analyzer, etc. A logic tester having all of these functions may be used. Further, some or all of the power supply device 2, the digital test signal generation device 3, the digital signal observation device 5, and the adjustment device 4 can be incorporated in the digital system 1.

このような設計システムを用いると、遅延回路DLY1a〜DLY1dの遅延時間を変えながら、更にディジタルシステム1に供給する電源電圧も変えながら、ディジタルシステム1のテストを行うことができ、そのテスト結果に基づいてDLY1a〜DLY1dの最適な遅延時間を決定することができる。図14は、図13のディジタルシステム1の一例となるパイプライン型の回路を示すものであり、(a)〜(c)は、それぞれ動作条件が異なる場合を示している。この図14の回路を例として、製造後に遅延回路DLYの遅延時間を調整する際の様子を説明する。   By using such a design system, the digital system 1 can be tested while changing the delay time of the delay circuits DLY1a to DLY1d and also changing the power supply voltage supplied to the digital system 1, and based on the test result. Thus, the optimum delay time of DLY1a to DLY1d can be determined. FIG. 14 shows a pipeline type circuit as an example of the digital system 1 of FIG. 13, and (a) to (c) show cases where the operating conditions are different. Taking the circuit of FIG. 14 as an example, the state of adjusting the delay time of the delay circuit DLY after manufacture will be described.

図14(a)〜(c)の回路は、データ入力信号Dinを4段のフリップフロップFFa〜FFdを介して転送する構成となっている。FFaとFFbの間、FFbとFFcの間、FFcをFFdの間には、それぞれ所望の演算を行う組み合わせ回路CCa、CCb、CCcが設けられる。そして、各フリップフロップFFa〜FFdのクロック信号CLKの入力部には遅延回路DLYa〜DLYdが備わっている。ここで、仮に各組み合わせ回路CCa〜CCcが同一の回路構成であっても、製造ばらつきなどが生じた場合にはCCa〜CCcがそれぞれ異なるパス遅延時間を持つことになる。ここでは、CCa、CCb、CCcのパス遅延時間を、それぞれ90ps、100ps、80psとする。   The circuits shown in FIGS. 14A to 14C are configured to transfer the data input signal Din via four stages of flip-flops FFa to FFd. Combination circuits CCa, CCb, and CCc that perform desired calculations are provided between FFa and FFb, between FFb and FFc, and between FFc and FFd, respectively. In addition, delay circuits DLYa to DLYd are provided at the input portions of the clock signals CLK of the flip-flops FFa to FFd. Here, even if the combinational circuits CCa to CCc have the same circuit configuration, CCa to CCc have different path delay times when manufacturing variations occur. Here, the path delay times of CCa, CCb, and CCc are 90 ps, 100 ps, and 80 ps, respectively.

DLYa〜DLYdの遅延時間がゼロの場合、FFa〜FFdで正確なデータを保持できるクロック信号の周期は、図14(a)に示すように、最も遅い組み合わせ回路CCbに合わせた100psである。すなわち、この回路全体は100psの周期で動作する。ここで、図14(b)のように、回路全体の周期を90psに変更する。すると、100psで動作する組み合わせ回路CCbを通過するデータがFFcでのクロック信号CLKの到達に間に合わなくなる。そのため、回路全体では誤動作が生じることになる。そこで、図14(c)のように、データ信号の到達からクロック信号CLKの到達までに時間的余裕が無いFFcへのクロック信号CLKを、遅延回路DLYcにより10ps遅らせる。   When the delay time of DLYa to DLYd is zero, the period of the clock signal that can hold accurate data in FFa to FFd is 100 ps in accordance with the slowest combinational circuit CCb as shown in FIG. That is, the entire circuit operates at a cycle of 100 ps. Here, as shown in FIG. 14B, the cycle of the entire circuit is changed to 90 ps. Then, the data passing through the combinational circuit CCb operating at 100 ps is not in time for the arrival of the clock signal CLK at FFc. Therefore, malfunction occurs in the entire circuit. Therefore, as shown in FIG. 14C, the delay circuit DLYc delays the clock signal CLK to the FFc having no time margin from the arrival of the data signal to the arrival of the clock signal CLK by 10 ps.

このようにする事で、100psで動作する組み合わせ回路CCbに10psの時間的余裕をつくり、回路全体の誤動作を解消することができる。しかし、遅延回路DLYcによりFFcのクロック到達タイミングが10ps遅れてしまったため、その直後の組み合わせ回路CCcは、通常の周期より10ps早い80psで動作しなければならない。だが、組み合わせ回路CCcは元々80psで動作する回路なので、誤動作は起こらない。したがって、1つのフリップフロップのクロックタイミングを遅延させることで、回路全体のクロック周波数を向上させることが可能となる。この結果、製造歩留まりを向上させたり、または設計よりも早いクロックスピードを実現させることが可能となる。   By doing so, a time margin of 10 ps can be created for the combinational circuit CCb operating at 100 ps, and malfunction of the entire circuit can be eliminated. However, since the clock arrival timing of FFc is delayed by 10 ps due to the delay circuit DLYc, the combinational circuit CCc immediately after that must operate at 80 ps which is 10 ps earlier than the normal cycle. However, since the combinational circuit CCc originally operates at 80 ps, no malfunction occurs. Therefore, the clock frequency of the entire circuit can be improved by delaying the clock timing of one flip-flop. As a result, it is possible to improve the manufacturing yield or realize a clock speed faster than the design.

同様の原理でLSIの低消費電力化も実現可能である。LSIの消費電力は、電源電圧の2乗に比例して大きくなるという性質がある。すなわち、LSIの電源電圧を低くすることができれば、消費電力の削減が可能である。ただし、電源電圧を低下させると、回路内部のトランジスタの駆動能力が低下し、これに伴う遅延により一部の組み合わせ回路ではフリップフロップへのクロック信号到達にデータ処理が間に合わなくなってしまい、誤動作が起こる。そこで、クロックスピードを向上させる場合と同様の原理で、遅延回路を利用することで、電源電圧を低下させたにもかかわらず、回路を正常に動作させることができる。この低消費電力化は、特に携帯電話などのモバイル機器において有益となる。   It is possible to reduce the power consumption of the LSI based on the same principle. The power consumption of LSI has the property of increasing in proportion to the square of the power supply voltage. That is, power consumption can be reduced if the power supply voltage of the LSI can be lowered. However, when the power supply voltage is lowered, the driving capability of the transistors inside the circuit is lowered, and due to the delay caused by this, some combinational circuits cannot keep up with the clock signal reaching the flip-flop, resulting in malfunction. . Therefore, using the delay circuit based on the same principle as that for increasing the clock speed, the circuit can be operated normally despite the power supply voltage being lowered. This reduction in power consumption is particularly beneficial for mobile devices such as mobile phones.

このように、製造後にクロック信号の遅延時間を調整することで、各種有益な効果が得られるが、実際のディジタルLSIなどでは、多くのフリップフロップが含まれ、各フリップフロップが複雑に影響を及ぼし合うため、この調整に伴い膨大な探索空間を解く必要がある。すなわち、実際のディジタルLSIなどでは、1つのフリップフロップの次段に複数のフリップフロップが接続されるため、1つのフリップフロップ回路のクロック到達時間を変更すると、その影響が多数のフリップフロップ回路に及ぶことになる。   In this way, various beneficial effects can be obtained by adjusting the delay time of the clock signal after manufacturing. However, in actual digital LSIs, etc., many flip-flops are included, and each flip-flop has a complicated influence. Therefore, it is necessary to solve a huge search space with this adjustment. That is, in an actual digital LSI or the like, a plurality of flip-flops are connected to the next stage of one flip-flop. Therefore, changing the clock arrival time of one flip-flop circuit affects many flip-flop circuits. It will be.

そこで、特許文献1では、この遅延時間を調整する際に、遺伝的アルゴリズム(Genetic Algorithm;GA)や遺伝的プログラミングなどのような確率的探索手法を用い、この手法よる自動探索処理を図13の調整装置4に行わせている。これによって、遅延回路DLYの遅延時間の最適解を高速に求めることが可能となる。なお、確率的探索手法の詳細については、特許文献1に記載されているため、ここでは、その概要について説明する。   Therefore, in Patent Document 1, a stochastic search method such as a genetic algorithm (GA) or genetic programming is used to adjust the delay time, and automatic search processing using this method is performed as shown in FIG. The adjustment device 4 is made to perform. This makes it possible to obtain an optimum solution for the delay time of the delay circuit DLY at high speed. Note that details of the probabilistic search method are described in Patent Document 1, and therefore, an outline thereof will be described here.

図15は、遺伝的アルゴリズムで用いる染色体の構成例を示す概略図である。図16は、遺伝的アルゴリズムにおいて、染色体に対して行う操作の一例を示すものであり、(a)、(b)は、それぞれ交叉、突然変異の操作の一例を示す概略図である。図17は、遺伝的アルゴリズムで操作が進んでいく様子を示す概念図である。   FIG. 15 is a schematic diagram illustrating a configuration example of chromosomes used in the genetic algorithm. FIG. 16 shows an example of operations performed on chromosomes in the genetic algorithm, and (a) and (b) are schematic diagrams showing examples of crossover and mutation operations, respectively. FIG. 17 is a conceptual diagram showing how the operation proceeds with the genetic algorithm.

図17の上段に示すように、遺伝的アルゴリズムでは、初期集団として複数(ここでは5個)の染色体CH1a〜CH5aを乱数等によって生成する。各染色体CHは、図15に示すように複数のレジスタREG1a〜REG1dの値を一つに纏めたような構造となっている。各レジスタREG1a〜REG1dは、例えば、図13の保持回路(レジスタ)REG1a〜REG1dに該当し、それぞれが記憶している値が遅延時間となる。すなわち、各染色体CHは、図13のディジタルシステム1に含まれる全ての遅延回路の保持情報(遅延情報)からなる集合体である。なお、図15において、遅延時間としてマイナス(例えば−350ps)が設定されているが、このマイナスは、例えば、PLL回路等から生成される基準のクロック信号CLK自体を相対的に早めることで実現できる。   As shown in the upper part of FIG. 17, in the genetic algorithm, a plurality (here, 5) of chromosomes CH <b> 1 a to CH <b> 5 a are generated by random numbers or the like as an initial population. Each chromosome CH has a structure in which the values of a plurality of registers REG1a to REG1d are combined into one as shown in FIG. Each of the registers REG1a to REG1d corresponds to, for example, the holding circuits (registers) REG1a to REG1d in FIG. 13, and the value stored in each of them is the delay time. That is, each chromosome CH is an aggregate made up of information (delay information) held by all delay circuits included in the digital system 1 of FIG. In FIG. 15, minus (for example, −350 ps) is set as the delay time. This minus can be realized, for example, by relatively speeding up the reference clock signal CLK itself generated from the PLL circuit or the like. .

遺伝的アルゴリズムでは、図17に示すように、各染色体の優劣を適応度(評価関数)fitの大きさによって評価する。ここでは、図17に示すように、染色体CHのバリエーション(すなわちその中に含まれるビット値の組み合わせ)と適応度fitとの間に、関数Fに示すような関係があるとする。ここで、仮に遺伝的アルゴリズムを用いない場合だと、例えば、初期値として図17の上段に示す中の1つの染色体(例えばCH1a)のみが生成される。ここから山登り法などに基づいて適応度fitが高いものを探索していくと、通常は地点170が解となってしまい、必ずしも適応度fitが高い解が得られるとは限らない。   In the genetic algorithm, as shown in FIG. 17, the superiority or inferiority of each chromosome is evaluated by the magnitude of fitness (evaluation function) fit. Here, as shown in FIG. 17, it is assumed that there is a relationship as shown in function F between the variation of chromosome CH (that is, the combination of bit values included therein) and fitness fit. Here, if a genetic algorithm is not used, for example, only one chromosome (for example, CH1a) in the upper part of FIG. 17 is generated as an initial value. When searching for a high fitness fit based on a hill-climbing method or the like from here, the point 170 is usually a solution, and a solution with a high fitness fit is not always obtained.

そこで、遺伝的アルゴリズムでは、乱数等によって複数の染色体(すなわちそれぞれ含まれるビット値が異なる染色体)を初期集団として生成し、そこから染色体に対して、選択(淘汰)、交叉および突然変異といった操作を繰り返しながら、全体的に適応度が高い染色体を探索していく。交叉とは、図16(a)に示すように、図17の上段から例えば染色体CH1aと染色体CH3aを抽出し、染色体の一部のビットを交換することで新たな染色体CH1bと染色体CH3bを生成するような操作である。突然変異とは、図16(b)に示すように、図17の上段から例えば染色体CH4aを抽出し、その適当なビットを反転させることで新たな染色体CH4bを生成するような操作である。選択(淘汰)とは、図17の上段から中段に至る染色体CH2a、または中断から下段に至る染色体CH3bに示すように、適応度が低い染色体を淘汰し、適応度が高い染色体を残していく操作である。   Therefore, in the genetic algorithm, multiple chromosomes (that is, chromosomes with different bit values) are generated as an initial population by random numbers, etc., and operations such as selection (選 択), crossover, and mutation are performed on the chromosomes from there. While repeating, search for chromosomes with high overall fitness. As shown in FIG. 16 (a), crossover means that, for example, chromosome CH1a and chromosome CH3a are extracted from the upper stage of FIG. 17, and new chromosomes CH1b and CH3b are generated by exchanging some bits of the chromosome. It is an operation like this. As shown in FIG. 16 (b), the mutation is an operation in which, for example, a chromosome CH4a is extracted from the upper part of FIG. 17, and a new chromosome CH4b is generated by inverting appropriate bits thereof. Selection (淘汰) refers to an operation to leave a chromosome with a high fitness by leaving a chromosome with a low fitness as shown in the chromosome CH2a from the top to the middle of FIG. 17 or the chromosome CH3b from the interruption to the bottom. It is.

淘汰された後に生き残っている優秀な染色体に対して交叉や突然変異といった操作を行うと、更に優秀な染色体が生成されることが期待できる。したがって、このような選択(淘汰)、交叉および突然変異といった操作を繰り返していくと、図17の上段→中段→下段に示すように、広い範囲で適応度が高い染色体を探索していくことが可能となり、最終的には、図17の下段の染色体CH3cに示すように、グローバルな範囲で最も適応度fitが高い最終解を得ることが可能となる。なお、この適応度(評価関数)fitは、例えば、図13のディジタル信号観測装置5での観測値を用いて、fit=(期待値と一致したノードおよびデータ出力信号の数)/(観測したノードおよびデータ出力信号の総数)などとすることができる。この場合、評価関数fitの最大値は、「1」である。   It can be expected that more excellent chromosomes can be generated by performing operations such as crossover and mutation on the excellent chromosomes that survive after being deceived. Therefore, when such operations as selection (、), crossover, and mutation are repeated, it is possible to search for chromosomes with high fitness in a wide range as shown in the upper part → middle part → lower part of FIG. Finally, as shown in the lower chromosome CH3c in FIG. 17, it is possible to obtain a final solution with the highest fitness fit in the global range. Note that this fitness (evaluation function) fit is, for example, observed using digital signal observation apparatus 5 in FIG. 13 and fit = (number of nodes and data output signals matching expected value) / (observed) The total number of nodes and data output signals). In this case, the maximum value of the evaluation function fit is “1”.

以上のような設計システムを用いると、特に、中・小規模なディジタルシステムに対して前述したような有益な効果を得ることが可能となる。しかしながら、このような設計システムを、例えば、数万から数百万ゲートにも及ぶ大規模なディジタルシステム(ディジタルLSI)に適用する場合、次の2点が問題となってくる。1点目は、仮に全てのフリップフロップ(またはレジスタ)に遅延回路を挿入すると、面積オーバーヘッドが大きくなってしまうことである。2点目は、遅延回路の数が増えると、染色体のビット数が増加し、その調整時間が指数関数的に増大してしまうことである。例えば、LSIの量産工程において、LSI製造後のテスト工程でロジックテスタなどを用いながら遅延回路の調整を行うことを想定すると、スループットの面から調整時間は可能な限り短いほうが望ましい。   When the design system as described above is used, it is possible to obtain a beneficial effect as described above particularly for a medium / small-scale digital system. However, when such a design system is applied to, for example, a large-scale digital system (digital LSI) having tens of thousands to millions of gates, the following two points become problems. The first point is that if a delay circuit is inserted into all flip-flops (or registers), the area overhead becomes large. Second, as the number of delay circuits increases, the number of chromosome bits increases, and the adjustment time increases exponentially. For example, in the mass production process of LSI, assuming that the delay circuit is adjusted using a logic tester or the like in a test process after manufacturing the LSI, the adjustment time is desirably as short as possible from the viewpoint of throughput.

このような問題は、ともに製造コストの増大を招くことになる。全てのフリップフロップ(またはレジスタ)に遅延回路を挿入すると共にその最適解を設定可能になると、前述したような歩留まり向上等に伴いコストを低減できるが、それ以上に製造コストが増大してしまう恐れがある。また、探索空間が広くなり過ぎると、実用的な時間では最適解が得られずに、その効果を十分に発揮できないこともある。そこで、面積オーバーヘッドと調整時間を勘案してLSI内に作り込む遅延回路の数を限定することが考えられるが、その場所と数をどの適度に限定すればよいかが判らない。すなわち、LSIの設計段階では、遅延回路の数に対して、その調整に要する時間や面積オーバーヘッドは容易に算出することができるが、それによってどの程度の歩留まり向上効果が得られるかなどを予想することができないため、どの場所にどの程度作り込むかが判断できない。
そこで、本発明の目的は、製造コストの低減を実現可能なディジタルシステムの設計システムおよび製造方法を提供することにある。本発明の前記ならびにその他の目的と新規な特徴は、本明細書の記述および添付図面から明らかになるであろう。
Both of these problems lead to an increase in manufacturing costs. If a delay circuit is inserted into all flip-flops (or registers) and the optimum solution can be set, the cost can be reduced along with the yield improvement as described above, but the manufacturing cost may increase further. There is. Also, if the search space becomes too wide, the optimal solution cannot be obtained in a practical time, and the effect may not be fully exhibited. Therefore, it is conceivable to limit the number of delay circuits built in the LSI in consideration of the area overhead and the adjustment time, but it is unclear how much the location and number should be limited. In other words, at the LSI design stage, the time and area overhead required for the adjustment can be easily calculated with respect to the number of delay circuits, but how much yield improvement effect can be obtained by this can be predicted. Because it is not possible, it is not possible to determine how much to make in which place.
SUMMARY OF THE INVENTION Accordingly, an object of the present invention is to provide a digital system design system and manufacturing method capable of reducing the manufacturing cost. The above and other objects and novel features of the present invention will be apparent from the description of this specification and the accompanying drawings.

本願において開示される発明のうち、代表的なものの概要を簡単に説明すれば、次のとおりである。   Of the inventions disclosed in the present application, the outline of typical ones will be briefly described as follows.

本発明のディジタルシステムの設計システムは、コンピュータシステムによるプログラム処理によって実現され、複数のフリップフロップのクロック入力部にプログラマブル遅延回路が設けられることで、複数のフリップフロップ間のパスのタイミングマージンが調整可能となっているディジタルシステムを設計対象とするものである。この設計システムは、ディジタルシステムに対する設計段階のタイミング解析結果を利用して、ディジタルシステムのシミュレーションモデルを生成し、このシミュレーションモデル上でプログラマブル遅延回路を設けることによる各種効果を確認できるようにしたことが主要な特徴となっている。   The digital system design system of the present invention is realized by program processing by a computer system, and a programmable delay circuit is provided at a clock input section of a plurality of flip-flops, so that a timing margin of a path between the plurality of flip-flops can be adjusted. The digital system is designed for. This design system uses a timing analysis result at the design stage for a digital system, generates a simulation model of the digital system, and can confirm various effects by providing a programmable delay circuit on the simulation model. It is a major feature.

すなわち、プログラマブル遅延回路の設定時間は、例えば、遺伝的アルゴリズムといった確率的探索手法に基づいて探索されるが、このような確率的探索手法では、ディジタルシステムに対するテストを膨大な回数繰り返す必要がある。したがって、この確率的探索手法による遅延時間の調整動作をコンピュータ上でシミュレーションする場合、いかに短時間でシミュレーションを行えるかが重要となる。特に、大規模LSIになる程シミュレーション時間が延びるため、この要求が強くなる。   That is, the set time of the programmable delay circuit is searched based on a probabilistic search method such as a genetic algorithm, for example. In such a probabilistic search method, it is necessary to repeat a test on the digital system an enormous number of times. Therefore, when the delay time adjustment operation by this probabilistic search method is simulated on a computer, it is important how short the simulation can be performed. In particular, since the simulation time becomes longer as the LSI becomes larger, this requirement becomes stronger.

そこで、この設計システムでは、高速なシミュレーション動作を可能にするため、タイミング解析結果に含まれるフリップフロップをノード、フリップフロップ間の接続(すなわち組合せ回路)を方向性を持ったアークとして表現したシミュレーションモデルを用いる。このシミュレーションモデルでは、組合せ回路に関連する論理情報のシミュレーションは行わないため、高速動作が可能である。   Therefore, in this design system, in order to enable high-speed simulation operation, a simulation model that expresses the flip-flops included in the timing analysis results as nodes and the connection between the flip-flops (that is, combinational circuits) as directional arcs. Is used. Since this simulation model does not simulate logic information related to the combinational circuit, it can operate at high speed.

各アークは、タイミング解析結果から得たパス遅延時間と、製造ばらつきを反映した第1遅延時間と、プログラマブル遅延回路の設定時間を反映した第2遅延時間とから得られる伝播時間を保持する。ここで、このアークが持つ伝播時間が所定のスペックを満たす場合はアークの先に接続されたノードに第1情報を記憶させ、満たさない場合はアークの先に接続されたノードに第2情報を記憶させる。そして、第2情報が記憶されたノードが有る場合は、アークの方向性にしたがってノード間で第2情報の伝達を行う。   Each arc holds the propagation time obtained from the path delay time obtained from the timing analysis result, the first delay time reflecting the manufacturing variation, and the second delay time reflecting the set time of the programmable delay circuit. Here, when the propagation time of the arc satisfies a predetermined specification, the first information is stored in the node connected to the tip of the arc, and when the propagation time has not satisfied, the second information is stored in the node connected to the tip of the arc. Remember. If there is a node storing the second information, the second information is transmitted between the nodes according to the directionality of the arc.

この各ノードが第1情報なのか第2情報なのかが、シミュレーション結果の判断材料であり、理想状態では各ノードが全て第1情報となる。このように、このシミュレーションモデルは、簡単な計算処理、比較処理、および伝達処理しか行わないため、大規模LSIを対象とした場合でも十分に高速性を発揮できる。そして、確率的探索手法を用いた遅延回路の調整動作をシミュレーションする場合、この確率的探索手法を用いた探索結果が第2遅延時間に反映され、これに応じて各ノードの第1情報・第2情報が変化するシミュレーションモデルを用いているため、各ノードの第1情報の割合を適応度とすることで、この調整動作のシミュレーションが実現可能となる。   Whether each node is the first information or the second information is a material for determining the simulation result. In an ideal state, each node is all the first information. As described above, since this simulation model performs only simple calculation processing, comparison processing, and transmission processing, it can exhibit sufficiently high speed even when targeting a large-scale LSI. When simulating the adjustment operation of the delay circuit using the stochastic search technique, the search result using the stochastic search technique is reflected in the second delay time, and the first information and the first information of each node are accordingly reflected. Since the simulation model in which two information changes is used, the adjustment operation can be simulated by using the ratio of the first information of each node as the fitness.

なお、この調整動作のシミュレーションが高速に行えるようになると、ディジタルシステム内のどこにどの程度遅延回路を設ければよいかを設計時に判断できるようになる。前述したように、特に大規模LSIでは、遅延回路を挿入することで面積オーバーヘッドの増大や調整時間の増大が生じ、これに伴い製造コストが増大するため、挿入する遅延回路を設計段階で限定することが望ましい。従来においては、この限定による効果を設計段階で確認するための実用的な術がなかったが、本発明の設計システムを用いることでこの問題を解決でき、必要最低限の遅延回路によって歩留まりを向上させ、製造コストの低減が実現可能になる。   If simulation of the adjustment operation can be performed at high speed, it is possible to determine at what time a delay circuit should be provided in the digital system at the time of design. As described above, especially in a large-scale LSI, the insertion of a delay circuit causes an increase in area overhead and an increase in adjustment time, resulting in an increase in manufacturing cost. Therefore, the delay circuit to be inserted is limited at the design stage. It is desirable. In the past, there was no practical technique for confirming the effect of this limitation at the design stage, but this problem can be solved by using the design system of the present invention, and the yield is improved by a minimum delay circuit. Thus, the manufacturing cost can be reduced.

具体的には、例えば、設計段階でのタイミング解析結果に基づいて、タイミングマージンが少ないパスを複数選択し、これらのパスに対して遅延回路を挿入した状態を本発明の設計システムによって作りだし、これに対してシミュレーションを行えばよい。そして、この挿入する遅延回路の数を変えながらシミュレーションを行うことで、最適な遅延回路の数を見つけ出すことができる。この際に、その判断材料としては、歩留まりを用いることが望ましい。そこで、この歩留まりを検証できるようにするため、本発明の設計システムでは、前述したアークの伝播時間内に製造ばらつきを反映した第1遅延時間を含ませている。この第1遅延時間は、具体的には、例えば正規乱数によって定められる。   Specifically, for example, based on the timing analysis result at the design stage, a plurality of paths with a small timing margin are selected, and a state in which a delay circuit is inserted into these paths is created by the design system of the present invention. A simulation may be performed on the above. Then, by performing simulation while changing the number of delay circuits to be inserted, the optimum number of delay circuits can be found. At this time, it is desirable to use the yield as a judgment material. Therefore, in order to be able to verify the yield, the design system of the present invention includes the first delay time reflecting the manufacturing variation in the above-described arc propagation time. Specifically, the first delay time is determined by a normal random number, for example.

この第1遅延時間によりばらつきを持たせることによって、前述したシミュレーションモデルに基づく仮想チップを複数生成し、それぞれの仮想チップでばらつき量が異なる状態を作り出すことが可能となる。したがって、この複数の仮想チップに対して遺伝的アルゴリズムによる調整動作が成功した場合を良品、失敗した場合と不良品として扱えば、シミュレーション上で歩留まりを導き出すことが可能となる。   By giving variation by this first delay time, it becomes possible to generate a plurality of virtual chips based on the simulation model described above, and to create a state in which the amount of variation is different for each virtual chip. Therefore, if the adjustment operation by the genetic algorithm is successful for the plurality of virtual chips as a non-defective product, a failure case, and a defective product, the yield can be derived on the simulation.

また、本発明のディジタルシステムの製造方法は、前述したような遅延回路を限定した際の有効性確認を本発明の設計システムを用いて行う工程が含まれていることが一つの特徴となっている。更に、これに加えて、製造後の遺伝的アルゴリズムを用いた調整動作において、その初期集団に、製造ばらつきに基づく分布を持たせていることが他の特徴となっている。実際上のLSIは、例えば正規分布などの製造ばらつきを持つことが知られており、これに併せて初期集団にも同様のばらつきを持たせることで、調整動作が収束するまでの時間を短縮することが可能となる。これによって、製造コストを低減できる。   Further, the digital system manufacturing method of the present invention is characterized in that it includes a step of performing the effectiveness check when the delay circuit as described above is limited by using the design system of the present invention. Yes. In addition to this, in the adjustment operation using a genetic algorithm after manufacture, another characteristic is that the initial population has a distribution based on manufacturing variations. It is known that actual LSIs have manufacturing variations such as a normal distribution, for example, and in addition to this, the initial group has the same variations to shorten the time until the adjustment operation converges. It becomes possible. Thereby, the manufacturing cost can be reduced.

本願において開示される発明のうち、代表的なものによって得られる効果を簡単に説明すれば、ディジタルシステムの製造コストを低減可能になる。   If the effects obtained by typical ones of the inventions disclosed in the present application are briefly described, the manufacturing cost of the digital system can be reduced.

以下の実施の形態において、要素の数等(個数、数値、量、範囲等を含む)に言及する場合、特に明示した場合および原理的に明らかに特定の数に限定される場合等を除き、その特定の数に限定されるものではなく、特定の数以上でも以下でも良い。なお、実施の形態を説明するための全図において、同一の部材には原則として同一の符号を付し、その繰り返しの説明は省略する。   In the following embodiments, when referring to the number of elements, etc. (including the number, numerical value, quantity, range, etc.), unless otherwise specified and in principle limited to a specific number in principle, It is not limited to the specific number, and it may be more or less than the specific number. Note that components having the same function are denoted by the same reference symbols throughout the drawings for describing the embodiment, and the repetitive description thereof will be omitted.

本実施の形態によるディジタルシステムの設計システムおよび製造方法は、次の3点が主要な特徴となっている。
(1)例えば静的タイミング解析(Static Timing Analysis;STA)などの結果を用いて、調整する遅延回路の数をLSIの設計時に限定する。これにより、調整時間を短縮させ、遅延回路のために必要な回路面積を削減させることができる。その結果、製造コストの低減が実現可能となる。
(2)回路シミュレーション(動的タイミング解析)を行うことなく、短時間で各種調整効果を確認できるシミュレータを実現する。このシミュレータを用いることで、LSI設計時に(1)の効果も容易に確認することができ、最適な遅延回路の数を決定することができる。その結果、製造コストの低減が実現可能となる。
(3)調整時のGAの初期集団の分布を工夫する。この工夫により、GAの収束速度を高め、LSI製造後の調整時間を短縮することができる。その結果、製造コストの低減が実現可能となる。
The design system and manufacturing method of the digital system according to this embodiment have the following three main features.
(1) For example, the number of delay circuits to be adjusted is limited to the time of LSI design using results such as static timing analysis (STA). Thereby, the adjustment time can be shortened, and the circuit area required for the delay circuit can be reduced. As a result, the manufacturing cost can be reduced.
(2) A simulator capable of confirming various adjustment effects in a short time without performing circuit simulation (dynamic timing analysis) is realized. By using this simulator, the effect of (1) can be easily confirmed at the time of LSI design, and the optimum number of delay circuits can be determined. As a result, the manufacturing cost can be reduced.
(3) Devise the distribution of the initial population of GA during adjustment. With this device, the convergence speed of GA can be increased, and the adjustment time after LSI manufacturing can be shortened. As a result, the manufacturing cost can be reduced.

以下、これらの詳細について説明を行う。   Hereinafter, these details will be described.

図1は、本発明の一実施の形態によるディジタルシステムの製造方法において、その処理の一例を示す工程フロー図である。図1においては、まず、図13のディジタルシステム1で述べた遅延回路DLYや保持回路REGが無い状態で回路設計を行う(S101)。この回路設計の中には、論理設計や論理検証、およびその後の論理合成なども含まれる。次いで、このようにして完成した回路に対して、テストパターンを与えない静的タイミング解析(STA)やテストパターンを与える動的タイミング解析といった検証を行う(S102)。   FIG. 1 is a process flow diagram showing an example of the processing in a method for manufacturing a digital system according to an embodiment of the present invention. In FIG. 1, first, circuit design is performed without the delay circuit DLY and the holding circuit REG described in the digital system 1 of FIG. 13 (S101). This circuit design includes logic design, logic verification, and subsequent logic synthesis. Next, verification such as static timing analysis (STA) that does not give a test pattern and dynamic timing analysis that gives a test pattern is performed on the circuit thus completed (S102).

この静的タイミング解析(STA)では、回路内に含まれる全てのフリップフロップに対し、そのフリップフロップ間のパス遅延時間を得ることが可能となる。このSTAは、一般的に、各フリップフロップ間に含まれるゲート(組み合わせ回路)の概算遅延時間や配線の概算遅延時間などを単純に加算していくような処理を行い、大規模回路においても高速に処理を行うことが可能となっている。なお、検証(S102)でエラーが発生した場合は、再び回路設計(S101)に戻ることになる。   In this static timing analysis (STA), the path delay time between the flip-flops can be obtained for all the flip-flops included in the circuit. This STA generally performs processing such as simply adding the approximate delay time of the gate (combination circuit) included between the flip-flops and the approximate delay time of the wiring, so that even in a large-scale circuit, the STA is high-speed. It is possible to perform processing. If an error occurs in the verification (S102), the process returns to the circuit design (S101) again.

次いで、ディジタルシステム1内に設ける遅延回路DLYの限定と調整シミュレーションを行う(S103とS104)。ここでの処理は、本実施の形態の特徴的な部分である。詳細は後述するが、概略としては例えばSTAの結果を利用した高速動作可能なシミュレータを作成し、このシミュレータ上で遅延回路DLYを挿入することで、遅延回路をどこにどの程度作り込めば、実用的な調整時間でどの程度の歩留まり向上が見込めるかを検証する。なお、図示はしないが、ここでの処理によって得られた遅延回路DLYの挿入箇所およびその数は、S101での回路設計に反映させるか、場合によっては、その後のフィジカル設計(S105)などにおいて反映させることも可能である。この場合だと、設計戻りを生じさせなくて済む。   Next, limitation and adjustment simulation of the delay circuit DLY provided in the digital system 1 is performed (S103 and S104). This processing is a characteristic part of the present embodiment. Although details will be described later, for example, a simulator capable of high-speed operation using the result of STA is created, and by inserting a delay circuit DLY on this simulator, where and how much delay circuit can be created, it is practical Verify how much yield improvement can be expected with a reasonable adjustment time. Although not shown, the insertion position and the number of the delay circuits DLY obtained by the processing here are reflected in the circuit design in S101, or in some cases in the subsequent physical design (S105). It is also possible to make it. In this case, it is not necessary to cause a design return.

続いて、回路の配置配線やクロックツリーの形成などといったフィジカル設計を行う(S105)。この処理では、回路配置によってタイミングの微調整を行ったり、あるいは最適化設計(オプティマイズ処理)などと呼ばれる手法を用いてクロックツリーにバッファ等を挿入してタイミングの微調整を行ったりする。したがって、場合によっては、このバッファ等と共に遅延回路DLYを挿入することも可能である。次いで、マスク設計を行い(S106)、このマスクに基づいてLSIの製造を行う(S107)。
その後、この製造されたLSIに対するテスト工程などにおいて、LSIテスタ(ロジックテスタ)などを用いて遺伝的アルゴリズム(GA)による遅延回路DLYの調整を行う。詳細は後述するが、この処理において、遺伝的アルゴリズムにおける初期集団の生成処理に正規乱数を利用したことが、本実施の形態の他の主要な特徴となっている。そして、調整処理が行われたLSIは、電気的特性などの検査工程(S109)を経て、出荷される(S110)。
Subsequently, physical design such as circuit layout and clock tree formation is performed (S105). In this processing, the timing is finely adjusted according to the circuit arrangement, or the timing is finely adjusted by inserting a buffer or the like into the clock tree using a technique called optimization design (optimization processing). Therefore, in some cases, it is possible to insert a delay circuit DLY together with this buffer or the like. Next, a mask design is performed (S106), and an LSI is manufactured based on the mask (S107).
Thereafter, in a test process for the manufactured LSI, the delay circuit DLY is adjusted by a genetic algorithm (GA) using an LSI tester (logic tester) or the like. Although details will be described later, in this processing, the use of normal random numbers for the initial population generation processing in the genetic algorithm is another main feature of the present embodiment. Then, the LSI for which the adjustment process has been performed is shipped through an inspection process (S109) such as electrical characteristics (S110).

図2は、図1に示すディジタルシステムの製造方法において、その遅延回路の限定(S103)を行う際の詳細な処理内容の一例を示すフロー図である。ここでの処理は、遅延回路の挿入箇所を限定することによって、図1のS108における調整時間を短縮し、また、図13に示したようなディジタルシステム1におけるチップ面積のオーバーヘッドを小さくすることが主な目的である。なお、この処理は、例えば、コンピュータシステムでのプログラム処理によって自動的に行われる。   FIG. 2 is a flowchart showing an example of detailed processing contents when the delay circuit is limited (S103) in the digital system manufacturing method shown in FIG. In this processing, the insertion time of the delay circuit is limited to shorten the adjustment time in S108 of FIG. 1, and the overhead of the chip area in the digital system 1 as shown in FIG. 13 can be reduced. The main purpose. This process is automatically performed by a program process in a computer system, for example.

図2において、まず、図1のS102における静的タイミング解析(STA)の結果から、パス遅延時間のリストを生成する(S201)。パス遅延時間とは、フリップフロップからフリップフロップまでの間の組み合わせ回路などをデータ信号が通過するのにかかる時間のことである。次いで、この作成したリストを基に、タイミング的な余裕に関してパス遅延時間を順位付けする(S202)。その後、最も余裕の無いパス遅延時間の両端のフリップフロップから順にN箇所を調整箇所(遅延回路の挿入箇所)に決定する(S203)。
すなわち、コンピュータシステムのプログラム内容としては、例えば、STAの結果によって得られるパス遅延時間(およびその両端のフリップフロップを特定する情報も含む)のリストに対してソーティングを行う。そして、ユーザや又は後述する調整シミュレーションを実行するプログラムからNが指定されると、このソーティング結果を参照してフリップフロップを決定する。
In FIG. 2, first, a list of path delay times is generated from the result of the static timing analysis (STA) in S102 of FIG. 1 (S201). The path delay time is a time required for a data signal to pass through a combinational circuit between flip-flops and the like. Next, the path delay times are ranked with respect to timing margin based on the created list (S202). After that, N locations are sequentially determined from the flip-flops at both ends of the path delay time with the least margin (S203).
That is, as the program contents of the computer system, for example, sorting is performed on a list of path delay times (and information specifying flip-flops at both ends thereof) obtained by the STA result. When N is designated from the user or a program that executes an adjustment simulation described later, the flip-flop is determined with reference to the sorting result.

なお、S203において、両端のフリップフロップを対象とするのは、前述したように実際のLSIに含まれる各フリップフロップは、互いに密接に影響を及ぼし合うため、タイミングマージンの少ないパスの両端のフリップフロップのうち、他のフリップフロップへの悪影響が少ない方で調整可能にするためである。または、両端のフリップフロップにマージンを適宜振り分けることで、他のフリップフロップへの悪影響が全体的に少なくなるような調整を可能にするためである。更には、両端に振り分けることで、その両端の間のパス遅延時間がばらつきによって非常に大きなものとなった場合に、その調整を両端に位置する2つの遅延回路分の最大調整幅で調整可能にするためである。   Note that in S203, the flip-flops at both ends are targeted because the flip-flops included in the actual LSI have a close influence on each other as described above. This is because adjustment is possible with less adverse effect on other flip-flops. Alternatively, the margin is appropriately allocated to the flip-flops at both ends, thereby making it possible to perform adjustment so that the adverse effect on other flip-flops is reduced as a whole. Furthermore, if the path delay time between the two ends becomes very large due to variations, the adjustment can be made with the maximum adjustment width of the two delay circuits located at both ends. It is to do.

このように、両端に遅延回路を挿入することを想定して、図1のS104の調整シミュレーションを行うことが最も望ましいが、勿論、場合によっては片側のみに挿入することを想定して調整シミュレーションを行うことも可能である。すなわち、パスの始点側のみに挿入してマイナスの遅延時間を設定するか、もしくはパスの終点側のみに挿入してプラスの遅延時間を設定するかのいずれによってもパスのタイミングマージンを拡大可能である。なお、調整シミュレーション上でマイナスの遅延時間を設定することが見込まれる場合は、実際に製造されるチップ上では、例えば、PLL回路などの調整でそのマイナスの遅延時間を実現すればよい。   As described above, it is most desirable to perform the adjustment simulation in S104 in FIG. 1 assuming that delay circuits are inserted at both ends. Of course, in some cases, the adjustment simulation is performed assuming that the delay circuit is inserted only on one side. It is also possible to do this. In other words, the path timing margin can be expanded by inserting only at the path start point and setting a negative delay time, or inserting it only at the path end point and setting a positive delay time. is there. If a negative delay time is expected to be set in the adjustment simulation, the negative delay time may be realized by adjusting a PLL circuit or the like on an actually manufactured chip.

以上のように、調整の効果が見込める場所にのみ調整箇所を限定することで、調整時間を短縮し、面精オーバーヘッドを小さくする。ただし、この時、限定する調整箇所の個数Nの最適値は、調整による歩留まり向上等と調整時間(および面積オーバーヘッド)の増大とのトレードオフで決まるので、対象とするLSIによって異なる。そこで、図1のS104において、この個数Nの遅延回路を挿入した場合の歩留まり向上効果を、調整シミュレーションを用いて見積もり、この個数Nを変更しながら調整シミュレーションを行うことで最適なNを見つけ出す。   As described above, by limiting the adjustment location only to the location where the effect of adjustment can be expected, the adjustment time is shortened and the surface overhead is reduced. However, at this time, the optimum value of the number N of adjustment points to be limited is determined by a trade-off between an improvement in yield due to adjustment and an increase in adjustment time (and area overhead), and therefore differs depending on the target LSI. Therefore, in S104 of FIG. 1, the yield improvement effect when the number N of delay circuits are inserted is estimated using adjustment simulation, and the optimum N is found by performing adjustment simulation while changing the number N.

図3は、図1に示すディジタルシステムの製造方法において、その調整シミュレーションで用いるシミュレーションモデルの一例を示した概念図である。調整の効果を設計時に確認するためには、遺伝的アルゴリズム(GA)による調整シミュレーションを行う必要がある。GAでは、前述したように、回路がどの程度正常動作するかを適応度(評価関数)fitとして使用し、遺伝的操作により染色体の修正を行った後に再度適応度の計算を行う。このような繰り返し作業を何千回と行うことになるため、回路が正常動作するかを調べるために組み合わせ回路によるデータパターンの転送を含めたタイミングシミュレーション(動的タイミング解析)を行ったのでは、一度の評価関数の計算に時間がかかり、調整シミュレーションが完了するまでに膨大な時間がかかってしまう。   FIG. 3 is a conceptual diagram showing an example of a simulation model used in the adjustment simulation in the digital system manufacturing method shown in FIG. In order to confirm the effect of adjustment at the time of design, it is necessary to perform adjustment simulation using a genetic algorithm (GA). In the GA, as described above, the degree of normal operation of the circuit is used as the fitness (evaluation function) fit, and after the chromosome is corrected by genetic operation, the fitness is calculated again. Since such repeated work will be performed thousands of times, in order to investigate whether the circuit operates normally, timing simulation (dynamic timing analysis) including transfer of the data pattern by the combinational circuit was performed. It takes time to calculate the evaluation function once, and it takes a long time to complete the adjustment simulation.

そこで、フリップフロップが正常な情報を伝達できるかという、タイミング情報のみをモデル化したシミュレータを作成する。このシミュレータは、コンピュータシステムでのプログラム処理によって実現され、遅延回路の挿入効果を検証するのに必要な最小限の機能のみを備え、高速動作が可能なものとなっている。   Therefore, a simulator that models only timing information is created to determine whether the flip-flop can transmit normal information. This simulator is realized by program processing in a computer system, has only the minimum functions necessary for verifying the insertion effect of the delay circuit, and can operate at high speed.

すなわち、このシミュレータは、ディジタルシステム1を図3に示すようなシミュレーションモデルで表現する。図3のシミュレーションモデルでは、入力データが組み合わせ回路やフリップフロップを通過し、出力されるまでの様子が有向グラフで表現される。図3中の丸印は、ディジタルシステム1内に含まれるフリップフロップ(すなわちSTAの結果に含まれているフリップフロップ)をノードとして表したものである。この各ノードは、後述するタイミング条件を満足した場合と不満足だった場合とで1か0かを保持する。   That is, this simulator represents the digital system 1 with a simulation model as shown in FIG. In the simulation model of FIG. 3, the state until the input data passes through the combinational circuit or flip-flop and is output is represented by a directed graph. The circles in FIG. 3 represent the flip-flops included in the digital system 1 (that is, flip-flops included in the STA result) as nodes. Each node holds 1 or 0 when a timing condition described later is satisfied and when it is not satisfied.

図3中の矢印は、ディジタルシステム1内に含まれるフリップフロップ間のパス(組み合わせ回路)をアーク(辺)として表したものである。この各アークは、そのパスを信号が通過するのに要する時間を保持する。詳細は後述するが、この時間は、STAの結果に基づくパス遅延時間を加工した時間である。このように、図3のシミュレーションモデルでは、一つ一つの組み合わせ回路の論理情報や、例えば、フリップフロップのセットアップ・ホールドタイミングといった通過データの細かいタイミング関係などを省いているため、少ない計算量でタイミングに関する動作確認が可能となる。具体的には、以下のような手順で、このディジタルシステム1のシミュレーションモデル(以下では、チップ又は仮想チップとも呼ぶ)対して動作確認を行う。   The arrows in FIG. 3 represent paths (combination circuits) between flip-flops included in the digital system 1 as arcs (sides). Each arc retains the time it takes for the signal to pass through the path. Although details will be described later, this time is a time obtained by processing the path delay time based on the result of the STA. In this way, the simulation model of FIG. 3 omits the logic information of each combinational circuit and the detailed timing relationship of the passing data such as the setup / hold timing of the flip-flop, for example. Confirmation of operation is possible. Specifically, an operation check is performed on the simulation model of the digital system 1 (hereinafter also referred to as a chip or a virtual chip) in the following procedure.

[1A]シミュレーションの初期状態では、全てのフリップフロップi(0≦i≦n−1,nは全フリップフロップ数)は全て正常に動作すると仮定する。ここで、フリップフロップiが正常に動作するかどうかを表す値をSiとし、正常動作するならば1、正常動作しないならば0とする。したがって、例えば正常動作する場合は、式(1)となる。
Si=1 (1)
[1A] In the initial state of simulation, it is assumed that all flip-flops i (0 ≦ i ≦ n−1, where n is the total number of flip-flops) all operate normally. Here, a value indicating whether or not the flip-flop i operates normally is Si, and is 1 if the flip-flop i operates normally and 0 if it does not operate normally. Therefore, for example, in the case of normal operation, Equation (1) is obtained.
Si = 1 (1)

[2A]図4は、図3のシミュレーションモデルに対して動作確認を行う際の処理内容を説明する図であり、フリップフロップの動作モデルを表したものである。図4に示すように、チップ内のフリップフロップi,jを前後に持つ組み合わせ回路を通過する時間Dijが、クロック信号の一周期分の時間Tclk以下であれば、演算されるデータが正常に伝達されると仮定し、フリップフロップjが正常に動作するかどうかを表す値Sjを1とする。また、データが正常に伝達されていないフリップフロップjには正常なデータでないという印Sj=0をつける。これによって、式(2)および式(3)の関係が成り立つ。
Dij≦Tclk : Sj=1 (2)
Dij>Tclk : Sj=0 (3)
[2A] FIG. 4 is a diagram for explaining the processing contents when the operation check is performed on the simulation model of FIG. 3, and shows the operation model of the flip-flop. As shown in FIG. 4, if the time Dij passing through the combinational circuit having flip-flops i and j in the chip is less than or equal to the time Tclk for one cycle of the clock signal, the calculated data is normally transmitted. Assuming that the flip-flop j operates normally, a value Sj indicating whether the flip-flop j operates normally is set to 1. Further, a mark Sj = 0 indicating that the data is not normal is attached to the flip-flop j in which the data is not normally transmitted. Thereby, the relationship of Formula (2) and Formula (3) is formed.
Dij ≦ Tclk: Sj = 1 (2)
Dij> Tclk: Sj = 0 (3)

[3A]図5は、図3のシミュレーションモデルに対して動作確認を行う際の処理内容を説明する図であり、フリップフロップの動作状態の遷移モデルを表したものである。図5に示すように、正常なデータを持たない印Sj=0のついたフリップフロップjを入力に持つ組み合わせ回路Djkでは、正常な値を出力することができないため、フリップフロップjの出力値を入力とするフリップフロップkには、同様に印Sk=0をつける。このようにして、チップ内の全ての組み合わせ回路でデータが正常に伝達されているかをチェックする。
なお、例えばフリップフロップkに印Sk=0をつけるということは、図3において、フリップフロップkに該当するノードに0を保持させることに該当する。ここで、図3に示すように、ノード間に帰還ループ(すなわち順序回路などに該当)が発生するようなパス(アーク)あった場合、ここでの処理によって後段の0が帰還されてその帰還先となる前段が0になるような正しい伝達は生じても、後段の1が帰還されてその帰還先の前段が0から1に変更されるような誤った伝達は生じない。つまり、前段が0ならばその後段も必ず0となるからである。
[3A] FIG. 5 is a diagram for explaining the processing contents when the operation confirmation is performed on the simulation model of FIG. 3, and shows a transition model of the operation state of the flip-flop. As shown in FIG. 5, since the combinational circuit Djk having as input the flip-flop j with the mark Sj = 0 that does not have normal data cannot output a normal value, the output value of the flip-flop j is Similarly, a mark Sk = 0 is attached to the flip-flop k as an input. In this way, it is checked whether data is normally transmitted in all combinational circuits in the chip.
For example, adding the mark Sk = 0 to the flip-flop k corresponds to holding 0 in the node corresponding to the flip-flop k in FIG. Here, as shown in FIG. 3, when there is a path (arc) in which a feedback loop (corresponding to a sequential circuit or the like) occurs between the nodes, 0 in the subsequent stage is fed back by the processing here, and the feedback Even if correct transmission occurs so that the preceding preceding stage becomes 0, erroneous transmission such that the succeeding 1 is returned and the preceding stage of the returning destination is changed from 0 to 1 does not occur. That is, if the preceding stage is 0, the succeeding stage is always 0.

[4A]前述した[1A]〜[3A]の処理を経て、最終的に、図3の出力データに含まれる各フリップフロップout_iが、正常なデータSout_i=1を全て保持できていればそのチップは正常に動作していると判断する。また、各フリップフロップout_iが、一つでも正常なデータを保持できていなければ(Sout_i=0)、そのチップは誤作動してしまうチップだと判断する。
ここで、各フリップフロップout_iの総数Noutのうち、正常なデータを保持しているフリップフロップout_iの個数noutの割合nout/Noutを、遺伝的アルゴリズムでの適応度fitに対応させる。このようにして、遺伝的アルゴリズムでは、適応度fitが1になる染色体が現れるまで遺伝的操作を繰り返すことになる。
[4A] After the above processes [1A] to [3A], if each flip-flop out_i included in the output data in FIG. 3 can hold all normal data Sout_i = 1, the chip. Is determined to be operating normally. If even one flip-flop out_i cannot hold normal data (Sout_i = 0), it is determined that the chip is a malfunctioning chip.
Here, out of the total number Nout of each flip-flop out_i, the ratio nout / Nout of the number nout of flip-flops out_i holding normal data is made to correspond to the fitness fit in the genetic algorithm. In this way, in the genetic algorithm, the genetic operation is repeated until a chromosome whose fitness fit becomes 1 appears.

次に、組み合わせ回路(図3のアーク)のタイミングに関するモデルについて説明する。   Next, a model related to the timing of the combinational circuit (arc in FIG. 3) will be described.

フリップフロップi,jのクロックラインに挿入した遅延回路の遅延値をDi,Djとした場合、調整後のフリップフロップi,j間のパス遅延時間Dij’は式(4)で求められる。
Dij’=Dij+Dj−Di (4)
このとき、遅延時間Dijは、例えばLSI設計時のSTAの解析結果を用いればよい。製造工程で、2つのフリップフロップ間のパス遅延時間にVar_ijのばらつきが生じるとすると、ばらつきを考慮した遅延時間Dij’’は、式(5)のように定義できる。
Dij’’=Dij’+Var_ij (5)
ばらつき値Var_ijは、簡単のために相対値σrelで正規分布すると仮定し、正規乱数N(0,1)を用いて式(6)で求める。
Var_ij=Dij×σrel×N(0,1) (6)
こうして求まったDij’’を、図3の各アークに保持させ、更に、式(2),式(3)のタイミング条件においてDijの代わりに用いることで図3の各ノードが0か1を検証し、その0または1を前述した手順[3A]のように伝達させていく。
When the delay values of the delay circuits inserted in the clock lines of the flip-flops i and j are Di and Dj, the adjusted path delay time Dij ′ between the flip-flops i and j is obtained by Expression (4).
Dij ′ = Dij + Dj−Di (4)
At this time, for the delay time Dij, for example, an analysis result of the STA at the time of LSI design may be used. If the variation in Var_ij occurs in the path delay time between two flip-flops in the manufacturing process, the delay time Dij ″ considering the variation can be defined as in equation (5).
Dij ″ = Dij ′ + Var_ij (5)
For the sake of simplicity, the variation value Var_ij is assumed to be normally distributed with the relative value σrel, and is obtained by Expression (6) using a normal random number N (0, 1).
Var_ij = Dij × σrel × N (0,1) (6)
The Dij '' obtained in this way is held in each arc in FIG. 3 and further used in place of Dij in the timing conditions of Equations (2) and (3) to verify whether each node in FIG. 3 is 0 or 1 Then, the 0 or 1 is transmitted as in the procedure [3A] described above.

このように、図3の各アークの遅延時間に式(6)のばらつき値Var_ijを反映させることで、それぞれパス遅延時間のばらつきが異なった図3のチップ(仮想チップ)を複数生成可能になる。ここで、このばらつきは、実際の製造ばらつきに近いと考えられる正規分布に基づくことになる。更に、図3の各アークの遅延時間に式(4)のように遅延値Di,Djを反映させると、この仮想チップに対して遅延回路を挿入したことになる。したがって、この生成した仮想チップは、実際に遅延回路が挿入された状態で製造されたディジタルシステム1(ディジタルLSI)を高精度に反映したものと言える。   As described above, by reflecting the variation value Var_ij in the equation (6) in the delay time of each arc in FIG. 3, it is possible to generate a plurality of chips (virtual chips) in FIG. 3 having different variations in path delay time. . Here, this variation is based on a normal distribution considered to be close to actual manufacturing variation. Further, when the delay values Di and Dj are reflected in the delay time of each arc in FIG. 3 as shown in the equation (4), a delay circuit is inserted into the virtual chip. Therefore, it can be said that the generated virtual chip accurately reflects the digital system 1 (digital LSI) manufactured with the delay circuit inserted.

そこで、図1の実チップでのクロック調整(S108)と同様に、前述した複数の仮想チップに対して遺伝的アルゴリズム(GA)により遅延回路の遅延時間を調整し、その調整が成功した(すなわち適応度fitを1にできた)割合を判定することで、遅延回路を挿入することによる歩留まり改善効果を見積もることが可能となる。更に、図2等で説明したような方法で、この仮想チップに挿入する遅延回路の数を限定しながら同様な評価を行うことで、歩留まり改善効果と調整時間および面積オーバーヘッドとのトレードオフを勘案しながら、最適な遅延回路の数を決定することが可能となる。この際に、前述したシミュレータは、簡単な数式の計算や、1および0の伝達といった単純な処理を行うため、高速動作が可能である。   Therefore, similarly to the clock adjustment (S108) in the real chip of FIG. 1, the delay time of the delay circuit is adjusted by the genetic algorithm (GA) for the plurality of virtual chips described above, and the adjustment is successful (ie, It is possible to estimate the yield improvement effect due to the insertion of the delay circuit by determining the ratio (the fitness fit can be set to 1). Furthermore, by performing the same evaluation while limiting the number of delay circuits inserted in the virtual chip by the method described in FIG. 2 and the like, the trade-off between the yield improvement effect and the adjustment time and area overhead is taken into consideration. However, the optimum number of delay circuits can be determined. At this time, the above-described simulator performs a simple process such as calculation of a simple mathematical formula and transmission of 1 and 0, so that high speed operation is possible.

なお、ここでは製造ばらつきとして正規分布を用いたが、別の分布に基づくような場合は、勿論、正規乱数をその分布を表現する乱数に置き換えればよい。また、図3の各アークの遅延時間Dijとして、ここでは静的タイミング解析(STA)の結果を用いたが、必ずしもSTAの結果である必要はなく、各プリップフロップ間のパス遅延時間の情報とそれに対応する各フリッププロップを特定できる情報とを備えたデータであれば代替え可能である。例えば、データパターンを用いてパス遅延時間を検証する動的タイミング解析の結果などで代替えすることも可能である。また、場合によっては、図1のフィジカル設計(S105)によって得たパス遅延時間を用いることも可能である。この場合、より精度が高い調整シミュレーションが可能となる。ただし、この場合は、図1で述べたように、回路設計(S101)への戻りを生じさせないように、フィジカル設計時(S105)に遅延回路を挿入できる仕組みを実現することが望ましい。   Here, the normal distribution is used as the manufacturing variation. However, when the distribution is based on another distribution, the normal random number may be replaced with a random number representing the distribution. In addition, as the delay time Dij of each arc in FIG. 3, the result of static timing analysis (STA) is used here, but it is not always necessary to be the result of STA, and information on path delay time between each flip-flop and Any data having information that can identify each flip-prop corresponding to the data can be substituted. For example, it is possible to substitute a result of a dynamic timing analysis for verifying a path delay time using a data pattern. In some cases, it is possible to use the path delay time obtained by the physical design (S105) of FIG. In this case, a more accurate adjustment simulation is possible. However, in this case, as described with reference to FIG. 1, it is desirable to realize a mechanism capable of inserting a delay circuit during physical design (S105) so as not to cause a return to circuit design (S101).

図6は、図1に示すディジタルシステムの製造方法において、その遺伝的アルゴリズム(GA)を用いた製造後クロック調整(S108)の詳細な処理の一例を示すフロー図である。ここでの処理は、例えばコンピュータシステムによるプログラム処理によって実現され、前述したように、図1の調整シミュレーション(S104)においても同様に使用される。ただし、図13で述べたように、遺伝的アルゴリズムをディジタルシステム1内に組み込む場合には、GAを用いた製造後クロック調整(S108)の処理は、ディジタルシステム1自身によって行われることになる。図6の処理内容は、後述する母集団(初期集団)の生成処理(S601)を除き、特許文献1に記載された処理と同様である。その詳細は、特許文献1に記載されているため、ここでは、簡単に説明を行う。   FIG. 6 is a flowchart showing an example of detailed processing of post-manufacturing clock adjustment (S108) using the genetic algorithm (GA) in the manufacturing method of the digital system shown in FIG. This processing is realized by, for example, program processing by a computer system, and similarly used in the adjustment simulation (S104) of FIG. 1 as described above. However, as described with reference to FIG. 13, when the genetic algorithm is incorporated in the digital system 1, the post-manufacturing clock adjustment (S 108) processing using the GA is performed by the digital system 1 itself. The processing content of FIG. 6 is the same as the processing described in Patent Literature 1 except for the generation processing (S601) of the population (initial population) described later. Since the details are described in Patent Document 1, a brief description will be given here.

遺伝的アルゴリズムの調整を開始した後(S600)、まず、母集団(初期集団)の生成を行う(S601)。ここでは、母集団とは、遺伝的アルゴリズムで用いる所定の数の染色体からなる集合体を意味し、その各染色体は、交叉や突然変異などを経て選択(淘汰)されることで逐次入れ替えられる。また、初期集団とは、この選択(淘汰)が行われる前の最初に生成した所定の数の染色体からなる集合体を意味し、言うなれば、母集団の初期状態である。   After starting adjustment of the genetic algorithm (S600), first, a population (initial population) is generated (S601). Here, the population means an aggregate made up of a predetermined number of chromosomes used in the genetic algorithm, and each chromosome is sequentially replaced by being selected (淘汰) through crossover or mutation. The initial population means an aggregate made up of a predetermined number of chromosomes generated first before this selection (淘汰) is performed, in other words, an initial state of the population.

特許文献1では、この初期集団の各染色体に設定される初期パラメータ値を一様乱数により定めていた。しかし、製造誤差は、一般的に、設計値を中心として前後にばらついて発生している。そこで、本実施の形態では、この性質を生かすために、初期集団に含まれる各染色体の初期パラメータ値を設計値を中心として正規乱数により分布させる。具体的には、N個の遅延回路のそれぞれの設定値Di(0≦i≦N−1)は、相対値σGAで正規分布が行われ、正規乱数N(0,1)を用いて式(7)で決定される。
Di=σGA×N(0,1) (7)
In Patent Document 1, the initial parameter value set for each chromosome of the initial population is determined by a uniform random number. However, the manufacturing error generally varies from front to back around the design value. Therefore, in this embodiment, in order to take advantage of this property, the initial parameter values of each chromosome included in the initial population are distributed with normal random numbers with the design value as the center. Specifically, each of the set values Di (0 ≦ i ≦ N−1) of the N delay circuits is normally distributed with the relative value σGA, and an equation ( 7).
Di = σGA × N (0, 1) (7)

図7は、図6における母集団の生成処理(S601)において、一様乱数と正規乱数による初期集団の分布の違いを示す概略図である。一様乱数を用いた場合、図7のばらつき特性71のように、初期集団に含まれる各染色体の初期パラメータ値(遅延回路の初期遅延値)は、その調整範囲に渡ってほぼ等しい確率でばらつくことになる。一方、正規乱数を用いた場合、図7のばらつき特性72のように、各染色体の初期パラメータ値(遅延回路の初期遅延値)は、設計の中心値(すなわちゼロの遅延時間に該当する)を持つ確率が最も高く、これを中心に下限から上限に渡って正規分布でばらつくことになる。   FIG. 7 is a schematic diagram showing the difference in distribution of the initial population between uniform random numbers and normal random numbers in the population generation processing (S601) in FIG. When uniform random numbers are used, the initial parameter value (initial delay value of the delay circuit) of each chromosome included in the initial population varies with an almost equal probability over the adjustment range, as in the variation characteristic 71 of FIG. It will be. On the other hand, when a normal random number is used, the initial parameter value of each chromosome (the initial delay value of the delay circuit) is the design center value (ie, corresponds to a zero delay time) as shown in the variation characteristic 72 of FIG. The probability of having it is the highest, and it will vary in a normal distribution from the lower limit to the upper limit around this.

このように、遅延回路の初期遅延値を、設計値を中心として正規乱数により分布させることで、GAの収束速度が高まり、解候補をより迅速に発見できる。したがって、図1の製造後クロック調整(S108)に要する時間を短縮できる。あるいは、一様乱数の場合と比較して、同じ調整時間内で、より最適解を得られる確率が高くなる。これは、調整時間を一定とすると、よりチップの歩留まり向上等に寄与できることを意味する。   As described above, by distributing the initial delay value of the delay circuit by the normal random number with the design value as the center, the convergence speed of the GA is increased, and the solution candidate can be found more quickly. Therefore, the time required for the post-manufacturing clock adjustment (S108) in FIG. 1 can be shortened. Or, compared with the case of uniform random numbers, the probability that an optimal solution can be obtained in the same adjustment time is higher. This means that if the adjustment time is constant, it can contribute to the improvement of the chip yield.

また、図6のS601では、この生成した母集団(ここでは初期集団となる)に対して、ぞれぞれの適応度fitが求められる。ここで、適応度fitを判定し(S602)、適応度fitが1.0になる染色体が存在すれば調整は成功とみなし終了となる(S608)。適応度fitが1.0になる染色体が一つもない場合には、S603へ移行する。   Further, in S601 of FIG. 6, the fitness fit of each of the generated population (here, the initial population) is obtained. Here, fitness fitness is determined (S602), and if there is a chromosome whose fitness fitness is 1.0, the adjustment is regarded as successful and ends (S608). If no chromosome has a fitness fit of 1.0, the process proceeds to S603.

S603では、母集団の中からランダムに2つの染色体を選択し、この2つの染色体を親として図16に示したような交叉、突然変異の処理を行い、子となる2つの染色体を生成する。更に、子の2つの染色体に対して適応度fitを求める。ここで、適応度fitを判定し(S604)、子の染色体の一方でも適応度fitが1.0ならば調整は成功とみなし終了となる(S608)。どちらの染色体も適応度fitが1.0に満たないならば、S605へ移行する。   In S603, two chromosomes are selected at random from the population, and the two chromosomes are used as parents to perform crossover and mutation processes as shown in FIG. 16 to generate two child chromosomes. Furthermore, fitness fitness is obtained for the two chromosomes of the child. Here, the fitness fit is determined (S604). If the fitness fit is 1.0 on one of the child chromosomes, the adjustment is deemed successful and ends (S608). If the fitness fit of both chromosomes is less than 1.0, the process proceeds to S605.

S605では、親となる2つの染色体と子となる2つの染色体とで適応度fitを比較し、適応度fitの大きい2つの染色体を元の母集団に戻す。すなわち、母集団において置換が行われることになる。言い換えれば、母集団に残す染色体が選択され、適応度fitが低い染色体が淘汰される。(母集団の数)/2の回数だけS603〜S605の処理を繰り返した場合、1世代終了したとみなす。そして、予め定めた所定の世代数に達したか否かを判定し(S606)、到達した場合、調整は失敗とみなして終了する(S607)。   In S605, the fitness fitness is compared between the parent two chromosomes and the child two chromosomes, and the two chromosomes having the large fitness fitness are returned to the original population. That is, replacement is performed in the population. In other words, a chromosome to be left in the population is selected, and a chromosome with a low fitness fit is selected. If the processes of S603 to S605 are repeated the number of times (number of populations) / 2, it is considered that one generation has been completed. Then, it is determined whether or not a predetermined number of generations has been reached (S606), and if it has been reached, the adjustment is regarded as a failure and ends (S607).

図8は、図1に示すディジタルシステムの製造方法において、その調整シミュレーション(S104)で用いるシミュレータの構成例を示すブロック図である。このシミュレータは、図3〜図5で述べたような各種処理を行い、更に、図6で述べたような遺伝的アルゴリズム(GA)を実行するものとなっており、コンピュータによるプログラム処理によって実現される。なお、このシミュレータは、勿論、以下に説明するような構成に限定されるものではなく、以下と同様の機能は、プログラム処理によって様々な形態で実現可能である。   FIG. 8 is a block diagram showing a configuration example of a simulator used in the adjustment simulation (S104) in the digital system manufacturing method shown in FIG. This simulator performs various processes as described in FIGS. 3 to 5, and further executes a genetic algorithm (GA) as described in FIG. 6, and is realized by a program process by a computer. The Of course, the simulator is not limited to the configuration described below, and functions similar to the following can be realized in various forms by program processing.

図8に示すシミュレータは、例えば、I/O部100と、タイミングシミュレータ部101と、遺伝的アルゴリズム(GA)実行部102などによって構成される。タイミングシミュレータ部101は、I/O部100を通じて、外部から、ノード数、ノード間の接続情報、入出力ノード情報、各アークのDij、式(6)のσrelを取得する。σrelを除いた情報は、例えばSTAなどの結果から適宜取得すればよい。σrelについては、想定しているLSIの製造プロセスがどれくらいバラツキをもっているかの度合いを、例えば、ユーザからの入力等を通じて取得する。σrelの値は、ばらつきがおおきなプロセスでは、たとえば、5%(σrel=0.05)などの値となる。   The simulator shown in FIG. 8 includes, for example, an I / O unit 100, a timing simulator unit 101, a genetic algorithm (GA) execution unit 102, and the like. The timing simulator unit 101 obtains the number of nodes, connection information between nodes, input / output node information, Dij of each arc, and σrel of Expression (6) from the outside through the I / O unit 100. Information excluding σrel may be appropriately acquired from the result of STA, for example. With respect to σrel, the degree of variation in the assumed LSI manufacturing process is obtained through input from the user, for example. The value of σrel is, for example, 5% (σrel = 0.05) in a process with a large variation.

また、どこのノードを調整対象とするかについても、タイミングシミュレータ部101が外部から取得する。この情報は、図2の調整箇所限定方法の結果から入手すればよい。調整条件である、想定動作周波数も、外部から取得する。なお、各アークのDijは、想定する動作電源電圧に応じて、予め例えばSTAなどで計算しておいたティピカル値を用いればよい。   In addition, the timing simulator unit 101 also obtains which node is the adjustment target from the outside. This information may be obtained from the result of the adjustment location limiting method in FIG. An assumed operating frequency, which is an adjustment condition, is also acquired from the outside. As the Dij of each arc, a typical value calculated in advance by, for example, STA may be used according to the assumed operating power supply voltage.

遺伝的アルゴリズム実行部102は、I/O部100を通じて、外部から、母集団数、染色体長、打ち切り評価回数、交叉確率、突然変異確率、式(7)のσGA、遅延回路の設定値Diの上下限値、出力端子の総数Noutを取得する。なお、染色体長は、調整箇所(挿入する遅延回路の数)Nに応じて定まる。   The genetic algorithm execution unit 102, through the I / O unit 100, receives the number of populations, chromosome length, number of truncation evaluations, crossover probability, mutation probability, σGA of Equation (7), and delay circuit setting value Di from the outside. The upper and lower limit values and the total number Nout of output terminals are acquired. The chromosome length is determined according to the adjustment location (number of delay circuits to be inserted) N.

図9は、図8のシミュレータにおいて、その遺伝的アルゴリズム(GA)実行部の詳細な構成例を示すブロック図である。図9に示す遺伝的アルゴリズム(GA)実行部102は、例えば、初期集団生成部110と、遺伝的操作処理部111と、適応度計算部112と、終了条件判定部113などによって構成される。   FIG. 9 is a block diagram showing a detailed configuration example of the genetic algorithm (GA) execution unit in the simulator of FIG. The genetic algorithm (GA) execution unit 102 illustrated in FIG. 9 includes, for example, an initial population generation unit 110, a genetic operation processing unit 111, a fitness calculation unit 112, an end condition determination unit 113, and the like.

初期集団生成部110は、図6のフローにおける「母集団の生成」(S601)の処理を行う。ここで生成された初期集団に含まれる各染色体の初期パラメータ値(遅延回路の設定値)がタイミングシミュレータ部101に送られる。遺伝的操作処理部111は、図6のフローにおける「選択 交叉 突然変異」(S603)や「置換」(S605)の処理を行う。ここで生成された子となる染色体の情報がタイミングシミュレータ部101に送られる。   The initial group generation unit 110 performs the processing of “generation of population” (S601) in the flow of FIG. The initial parameter value (setting value of the delay circuit) of each chromosome included in the generated initial population is sent to the timing simulator unit 101. The genetic operation processing unit 111 performs the processes of “selection cross mutation” (S603) and “replacement” (S605) in the flow of FIG. Information on the chromosomes to be children generated here is sent to the timing simulator unit 101.

適応度計算部112は、図6のフローにおける「母集団の生成」(S601)や「選択 交叉 突然変異」(S603)中で行われる「各染色体に対して評価値fitを求める処理」を実行する。具体的には、初期集団生成部110や遺伝的操作処理部111からタイミングシミュレータ部101に送った各染色体の情報に対して、タイミングシミュレータ部101から、そのシミュレーション結果として正常なデータを保持しているフリップフロップout_iの個数noutが送り返されてくる。そこで、適応度計算部112は、フリップフロップout_iの総数Noutを用いて各染色体に対応する適応度fit=nout/Noutを計算し、この適応度fitを遺伝的操作処理部111もしくは初期集団生成部110に送信する。   The fitness calculation unit 112 executes “processing for obtaining an evaluation value fit for each chromosome” performed in “generation of population” (S601) and “selective cross mutation” (S603) in the flow of FIG. To do. Specifically, for the information of each chromosome sent from the initial population generation unit 110 or the genetic operation processing unit 111 to the timing simulator unit 101, the timing simulator unit 101 holds normal data as the simulation result. The number nout of flip-flops out_i that are present is sent back. Therefore, the fitness calculation unit 112 calculates the fitness fit = nout / Nout corresponding to each chromosome using the total number Nout of the flip-flops out_i, and the fitness fit is calculated using the genetic operation processing unit 111 or the initial population generation unit. 110.

終了条件判定部113は、図6のフローにおける「fit==1.0」(S602およびS604)と「世代数繰り返したか」(S606)の判定処理を行う。具体的には、S602内の「fitが1.0になる個体が存在すれば」の判断と、S604内の「一方でも評価値fitが1.0ならば」の判断と、S606内の「一定の世代数繰り返しても」の判断を行う。ここでの判断の結果、調整が成功したもしくは失敗したかの情報は、I/O部100を通じて外部に出力される。
なお図示していないが、この遺伝的アルゴリズム(GA)実行部102内には、母集団中のすべての染色体情報と適応度情報を対で記憶するメモリが必要である。
The termination condition determination unit 113 performs determination processing of “fit == 1.0” (S602 and S604) and “repetition of generations” (S606) in the flow of FIG. Specifically, the determination “if there is an individual whose fit is 1.0” in S602, the determination “if the evaluation value fit is 1.0” in S604, and “ Judgment is made even if a certain number of generations are repeated. As a result of the determination here, information indicating whether the adjustment has succeeded or failed is output to the outside through the I / O unit 100.
Although not shown, the genetic algorithm (GA) execution unit 102 requires a memory for storing all chromosome information and fitness information in the population in pairs.

図10は、図8のシミュレータにおいて、そのタイミングシミュレータ部の詳細な構成例を示すブロック図である。図10に示すタイミングシミュレータ部101は、例えば、ネットワーク生成部120と、タイミング情報伝播部121と、仮想チップ生成部122と、遅延値設定部123と、出力情報判定部124などによって構成される。   FIG. 10 is a block diagram showing a detailed configuration example of the timing simulator unit in the simulator of FIG. 10 includes, for example, a network generation unit 120, a timing information propagation unit 121, a virtual chip generation unit 122, a delay value setting unit 123, an output information determination unit 124, and the like.

ネットワーク生成部120は、一連の調整シミュレーションにつき1回だけ起動される。ここでは、外部から取得した、ノード数、ノード間接続情報、入出力ノード情報に基づいて、図3の有向グラフを生成、記憶する。この情報は、他の処理部と共有する。   The network generation unit 120 is activated only once per series of adjustment simulations. Here, the directed graph of FIG. 3 is generated and stored based on the number of nodes, inter-node connection information, and input / output node information acquired from the outside. This information is shared with other processing units.

仮想チップ生成部122は、ある想定動作周波数のある想定動作電源電圧のある仮想チップ1つにつき1回起動される。ここでは、外部から与えられた想定動作周波数から、式(2),(3)のTclkを計算し、タイミング情報伝播部121に送る。また、想定動作電源電圧に対応した各アークのDij値を外部から取得し、遅延値設定部123に送る。なお、このDij値は、仮想チップ生成部122内のメモリに保持しておき、仮想チップを生成する際にその想定動作電源電圧値が同じ値の場合は、Dij値を外部から取得せずにメモリに保持されているDij値を用いればよい。さらに、仮想チップ生成部122では、式(6)に従って、すべてのアークのVar_ijを計算し、遅延値設定部123に送る。   The virtual chip generation unit 122 is activated once for each virtual chip having an assumed operating power supply voltage having an assumed operating frequency. Here, Tclk in equations (2) and (3) is calculated from the assumed operating frequency given from the outside, and is sent to the timing information propagation unit 121. Further, the Dij value of each arc corresponding to the assumed operating power supply voltage is acquired from the outside and sent to the delay value setting unit 123. This Dij value is stored in the memory in the virtual chip generation unit 122, and when the assumed operating power supply voltage value is the same when generating the virtual chip, the Dij value is not acquired from the outside. The Dij value held in the memory may be used. Further, the virtual chip generation unit 122 calculates Var_ij of all arcs according to the equation (6) and sends it to the delay value setting unit 123.

遅延値生成部123は、遺伝的アルゴリズム(GA)実行部102から染色体情報が送られてくる度に、起動される。ここでは、与えられた染色体情報から、調整対象とするノードの遅延回路に遅延値Diを設定する。また調整対象でないノードに対しては、遅延値0を設定する。すべてのノードに対して、遅延値を設定した後に、仮想チップ生成部122から送られてきたDij値とVar_ij値を用いて、式(4),(5)に従って、すべてのアークのDij’’を計算し、タイミング情報伝播部121に送る。   The delay value generator 123 is activated each time chromosome information is sent from the genetic algorithm (GA) execution unit 102. Here, the delay value Di is set in the delay circuit of the node to be adjusted from the given chromosome information. A delay value 0 is set for a node that is not an adjustment target. After setting the delay value for all nodes, using the Dij value and Var_ij value sent from the virtual chip generation unit 122, the Dij '' of all arcs according to the equations (4) and (5). And is sent to the timing information propagation unit 121.

タイミング情報伝播部121は、仮想チップ生成部122と遅延値設定部123から送られたTclk値とDij’’値を用いて、タイミングの正誤情報を伝播させる。具体的には、図3の説明で述べた[1A]〜[3A]の処理を行う。   The timing information propagation unit 121 uses the Tclk value and the Dij ″ value sent from the virtual chip generation unit 122 and the delay value setting unit 123 to propagate timing correctness information. Specifically, the processes [1A] to [3A] described in the explanation of FIG. 3 are performed.

出力情報判定部124は、タイミング情報伝播部121でタイミング情報を伝播させた結果、図3の出力データ内のノードのうち正常なデータを保持可能なノードの数を判定し、その数noutを遺伝的アルゴリズム(GA)実行部102に送る。具体的には図3の述べた[4A]の処理を行う。   As a result of the timing information propagating unit 121 propagating the timing information, the output information determining unit 124 determines the number of nodes that can hold normal data among the nodes in the output data of FIG. 3, and inherits the number nout. To the local algorithm (GA) execution unit 102. Specifically, the process [4A] described in FIG. 3 is performed.

以上、図8〜図10に示したシミュレータは、その主な動作として、仮想チップ生成部122等で生成した複数の仮想チップに対して、遅延値生成部123により遅延回路を挿入し、この遅延回路の遅延時間を遺伝的アルゴリズム(GA)実行部102により探索しながら、終了条件判定部113で仮想チップ毎に調整が成功したか否かを判定する。そして、この調整の成否によって、複数の仮想チップの歩留まりを判断することができる。そこで、図2の遅延回路の限定から得られた情報に基づいて、遺伝的アルゴリズム(GA)実行部102で用いる染色体長を変更し、遅延値生成部123でこの染色体長に対応したノードを調整対象として遅延回路を挿入し、同様のシミュレーションを行うことで、遅延回路の数に対する歩留まり向上効果を判断することが可能となる。   As described above, the simulator shown in FIGS. 8 to 10 inserts a delay circuit by the delay value generator 123 into a plurality of virtual chips generated by the virtual chip generator 122 or the like as its main operation, and this delay. While searching for the delay time of the circuit by the genetic algorithm (GA) execution unit 102, the end condition determination unit 113 determines whether the adjustment is successful for each virtual chip. The yield of a plurality of virtual chips can be determined based on the success or failure of the adjustment. Therefore, based on the information obtained from the limitation of the delay circuit in FIG. 2, the chromosome length used in the genetic algorithm (GA) execution unit 102 is changed, and the node corresponding to this chromosome length is adjusted in the delay value generation unit 123. By inserting a delay circuit as an object and performing a similar simulation, it is possible to determine the yield improvement effect with respect to the number of delay circuits.

また、このシミュレータは、外部から、ノード数、ノード間の接続情報、入出力ノード情報、および各アークのDijなどを含むデータ(例えばSTA結果)を取得し、この取得したデータに応じた仮想チップを生成した上で、前述したような歩留まりの評価を行うことが可能となっている。したがって、様々なLSIを対象とした場合も、そのSTA結果等があればシミュレーションを行うことができるため、汎用的に用いることが可能である。   Further, the simulator acquires data (for example, STA result) including the number of nodes, connection information between nodes, input / output node information, Dij of each arc, and the like from the outside, and a virtual chip corresponding to the acquired data It is possible to evaluate the yield as described above. Accordingly, even when various LSIs are targeted, since simulation can be performed if the STA result is available, it can be used for general purposes.

更に、このシミュレータは、外部から、母集団数、打ち切り評価回数、交叉確率、突然変異確率等を取得し、この情報に応じて遺伝的アルゴリズムを実行可能となっている。したがって、このような遺伝的アルゴリズムの各種条件を変更しながらシミュレーションを行うことで、最適な条件を模索することが可能となる。そして、これによって得られた条件は、図1の製造後クロック調整(S108)で実際に用いることが可能となる。すなわち、実際に製造後に行われる遺伝的アルゴリズムの条件を、設計段階で検証することが可能となるため、製造工程の効率化を図ることが可能となる。   Furthermore, this simulator can acquire the number of populations, the number of censored evaluations, the crossover probability, the mutation probability, etc. from the outside, and execute a genetic algorithm according to this information. Therefore, it is possible to search for optimum conditions by performing simulation while changing various conditions of such a genetic algorithm. The conditions obtained in this way can actually be used in the post-manufacturing clock adjustment (S108) in FIG. That is, since the conditions of the genetic algorithm that is actually performed after the manufacturing can be verified at the design stage, the manufacturing process can be made more efficient.

次に、これまでに述べたような遅延回路の限定および調整シミュレーション、ならびにGAの初期集団分布の改良を、実際に設計した大規模LSIに適用し、その有効性を検証した実験結果について説明する。   Next, we will explain the experimental results that verified the effectiveness of applying the delay circuit limitation and adjustment simulation and the improvement of the initial population distribution of GA as described above to the actually designed large-scale LSI. .

今回の実験では、設計動作周波数200MHz、設計動作電源電圧1.0Vで設計された画像圧縮伸長処理に用いるDCT演算回路を基に、遅延回路を組み込んだ試作LSIの設計情報を用いた。この回路の規模は、3万ゲート、フリップフロップ数は1031個である。この回路のSTAの結果を基に、図8〜図10に示したようなシミュレータ上で仮想チップを100チップ作成し、(1)調整箇所を限定した時の効果と(2)GA初期集団の分布を改良した時の効果を、動作周波数方向の調整実験で比較した。   In this experiment, design information of a prototype LSI incorporating a delay circuit was used based on a DCT arithmetic circuit used for image compression / decompression processing designed at a design operation frequency of 200 MHz and a design operation power supply voltage of 1.0 V. The scale of this circuit is 30,000 gates and the number of flip-flops is 1031. Based on the results of the STA of this circuit, 100 virtual chips were created on the simulator as shown in FIGS. 8 to 10, and (1) the effect when the adjustment location was limited and (2) the GA initial population The effect of improving the distribution was compared in an adjustment experiment in the operating frequency direction.

動作周波数方向の調整実験では、動作電源電圧を1.0Vで固定し、動作周波数を200MHzから320MHzまで10MHz刻みで増加させ、各動作周波数毎に歩留を調査した。
GAの諸条件は以下のように設定した。
母集団数:50
染色体長:調整箇所数N
打ち切り評価回数:3000(60世代)
交叉方法:一様交叉
交叉確率:0.5
突然変異方法:Gaussian Mutation(正規分布を用いた突然変異)
突然変異確率:1.0
σGA:72ps
Diの上下限値:−504ps〜576ps
打ち切り評価回数を3000回に設定した理由として、実際のLSIでは1回の評価時間に1ミリ秒程度要すると見積もっているため、1チップあたりの調整時間を実用的な限度である数秒程度に抑えるためには、3000回程度が妥当であると考えられるためである。
In the adjustment experiment in the direction of the operating frequency, the operating power supply voltage was fixed at 1.0 V, the operating frequency was increased from 200 MHz to 320 MHz in increments of 10 MHz, and the yield was investigated for each operating frequency.
The GA conditions were set as follows.
Number of population: 50
Chromosome length: N adjustment points
Number of censored evaluations: 3000 (60 generations)
Crossover method: Uniform crossover probability: 0.5
Mutation method: Gaussian Mutation (mutation using normal distribution)
Mutation probability: 1.0
σGA: 72 ps
Upper and lower limit values of Di: -504 ps to 576 ps
The reason for setting the number of abort evaluations to 3000 is that, in an actual LSI, it is estimated that about 1 millisecond is required for one evaluation time. Therefore, the adjustment time per chip is suppressed to a practical limit of about several seconds. This is because about 3000 times is considered appropriate.

上記の条件の下、実験は以下のような手順で行った。   Under the above conditions, the experiment was performed according to the following procedure.

[1B]動作周波数を設定し、遅延回路の調整値を0にした状態(無調整状態)で正常動作するかどうかを確認する。
[2B]この[1B]で正常動作したチップに対しては調整を行う必要がないため、[4B]へ移行し、[1B]で正常動作しなかったチップは、[3B]へ移行する。
[3B]GAを用いた遅延回路の調整を行う。調整が成功すれば正常動作するチップと判断し、[4B]へ移行する。調整が失敗した場合は、正常動作しないチップと判断し、[4B]へ移行する。
[4B]次のチップへ移り[1B]〜[3B]を繰り返す。ただし、一定のチップ数の実験を終えた場合は[5B]へ移行する。
[5B]動作周波数を変更し、[1B]〜[4B]を繰り返す。調査する動作周波数が全て終了した場合は、実験を終了する。
[1B] The operating frequency is set, and it is confirmed whether or not normal operation is performed in a state where the adjustment value of the delay circuit is 0 (no adjustment state).
[2B] Since there is no need to adjust the chip that has normally operated in [1B], the process proceeds to [4B], and the chip that has not operated normally in [1B] proceeds to [3B].
[3B] The delay circuit using GA is adjusted. If the adjustment is successful, it is determined that the chip operates normally, and the process proceeds to [4B]. If the adjustment fails, it is determined that the chip does not operate normally, and the process proceeds to [4B].
[4B] Move to the next chip and repeat [1B] to [3B]. However, when the experiment with a certain number of chips is completed, the process proceeds to [5B].
[5B] Change the operating frequency and repeat [1B] to [4B]. When all the operating frequencies to be investigated are finished, the experiment is finished.

ここで、調整シミュレーション時間に関し、上記実験手順を1試行完了するのにかかった時間は平均14時間程度であった。最適な調整箇所数を確認するシミュレーション実験にかかる時間としては、十分現実的な時間だといえる。   Here, regarding the adjustment simulation time, the time taken to complete one trial of the above experimental procedure was about 14 hours on average. It can be said that the time required for the simulation experiment for confirming the optimal number of adjustment points is sufficiently realistic.

続いて、調整箇所の限定による歩留まり向上効果に関し、限定した調整箇所の個数Nについて、100,300,600,1031(全箇所調整)の4通りを設定し、それぞれの調整実験を行った。図11は、動作周波数方向における調整箇所限定時の調整実験結果を示すグラフである。図11では、横軸に動作周波数、縦軸にチップの歩留まりを設定し、調整実験で求まった調整前の平均歩留まりと、調整箇所数毎の調整後の歩留まりをそれぞれ折れ線グラフで表している。   Subsequently, regarding the yield improvement effect due to the limitation of the adjustment points, four adjustments of 100, 300, 600, 1031 (all points adjustment) were set for the limited number N of adjustment points, and each adjustment experiment was performed. FIG. 11 is a graph showing the adjustment experiment results when adjustment points are limited in the operating frequency direction. In FIG. 11, the operating frequency is set on the horizontal axis and the yield of the chip is set on the vertical axis, and the average yield before adjustment obtained by the adjustment experiment and the adjusted yield for each number of adjustment points are each represented by a line graph.

図11に示すように、1031箇所の全箇所調整ではほとんど歩留が向上していないことがわかる。これは、探索空間が広いために、3000回の打ち切り条件ではGAが十分に収束していないためと考えられる。それに比べて、調整箇所を限定した場合の調整では歩留の向上が確認でき、調整の効果を得られることがわかる。例えば、動作周波数270MHzにおいて、調整を行わない場合や1031箇所の全箇所調整では、歩留まりが60%程度となるのに対して、100箇所や300箇所の調整では、90%以上の歩留まりが得られている。これらの結果は、探索空間を縮小することで、GAの収束速度を向上させることができたためである。   As shown in FIG. 11, it can be seen that the yield is hardly improved by adjusting all of the 1031 positions. This is presumably because the search space is wide and the GA is not sufficiently converged under the censoring condition of 3000 times. Compared to that, it can be seen that the improvement in yield can be confirmed and the effect of adjustment can be obtained in the adjustment in the case where the adjustment location is limited. For example, at the operating frequency of 270 MHz, the yield is about 60% in the case where no adjustment is performed or in the adjustment of all the 1031 locations, whereas in the adjustment of 100 locations or 300 locations, the yield of 90% or more is obtained. ing. These results are because the convergence speed of the GA can be improved by reducing the search space.

続いて、GA初期集団の分布を改良した時の効果に関し、前述した調整箇所の限定で効果の大きかった100箇所と300箇所での調整実験において、GA初期集団の分布を改良した時の調整実験を行った。図12は、動作周波数方向におけるGA改良時の調整実験結果を示すグラフである。図12では、横軸に動作周波数、縦軸にはチップの歩留まりを設定し、前述した実験で比較的効果の見られた100箇所調整の歩留まりと300箇所調整の歩留まりに加え、ここでの実験で求まったGA初期集団の分布を改良した時の100箇所調整の歩留まりと300箇所調整の歩留まりをそれぞれ折れ線グラフで表している。
図12に示すように、GAの初期集団の分布を改良することで、300箇所の調整での歩留が大幅に上昇していることがわかる。特に、動作周波数280MHzでのチップの歩留まりを見ると、改良前のGAによる300箇所の調整では約15%であった歩留が、改良を加えたGAによる300箇所の調整を行うことで、約90%程度にまで向上した。これは、GAの初期集団の分布を改良することで、GAが3000回の打ち切り回数以内で十分に収束できたためである。
Next, regarding the effect when the distribution of the GA initial population was improved, the adjustment experiment when the distribution of the GA initial population was improved in the adjustment experiments at 100 locations and 300 locations, which had a large effect due to the limitation of the adjustment locations described above. Went. FIG. 12 is a graph showing the adjustment experiment result when the GA is improved in the operating frequency direction. In FIG. 12, the operating frequency is set on the horizontal axis, and the chip yield is set on the vertical axis. In addition to the yields of the 100-point adjustment and the 300-point adjustment, which are relatively effective in the above-described experiment, The yield of the 100-point adjustment and the yield of the 300-point adjustment when the distribution of the GA initial population obtained in (2) is improved are respectively represented by line graphs.
As shown in FIG. 12, it can be seen that by improving the distribution of the initial population of GA, the yield at the adjustment of 300 locations is significantly increased. In particular, when looking at the yield of the chip at the operating frequency of 280 MHz, the yield of about 15% in the adjustment of the 300 locations by the GA before the improvement was about 10% by adjusting the 300 locations by the improved GA. It improved to about 90%. This is because by improving the distribution of the initial population of GA, the GA was sufficiently converged within the number of truncations of 3000 times.

一方、100箇所の調整の歩留が初期集団の分布改良後にほとんど上昇していない。これは、100箇所の調整では必要な遅延回路が足りず、歩留まりをこれ以上向上させられないことが考えられる。したがって、今回の実験では、調整箇所を300箇所に限定した場合に最も調整効果が大きいという結果が得られた。   On the other hand, the adjustment yield at 100 locations hardly increased after the distribution improvement of the initial population. This is because the necessary delay circuits are not sufficient in the adjustment at 100 locations, and the yield cannot be further improved. Therefore, in this experiment, the result that the adjustment effect was the greatest when the adjustment location was limited to 300 locations was obtained.

以上、今回の実験によって、遅延回路の限定および調整シミュレーション、ならびにGAの初期集団分布の改良を大規模LSIに適用した場合に、有益な効果が得られることが確認できた。
以上、本発明者によってなされた発明を実施の形態に基づき具体的に説明したが、本発明は前記実施の形態に限定されるものではなく、その要旨を逸脱しない範囲で種々変更可能であることはいうまでもない。
As described above, this experiment confirmed that beneficial effects can be obtained when the delay circuit limitation and adjustment simulation and the improvement of the initial population distribution of GA are applied to a large-scale LSI.
As mentioned above, the invention made by the present inventor has been specifically described based on the embodiment. However, the present invention is not limited to the embodiment, and various modifications can be made without departing from the scope of the invention. Needless to say.

本発明のディジタルシステムの設計システムおよび製造方法は、特に、遺伝的アルゴリズムで値が調整されるプログラマブル遅延回路を備えた大規模のディジタルシステムの設計システムおよび製造方法に適用して有益な技術であり、これに限らず、プログラマブル遅延回路を備えたディジタルシステム全般に対して広く適用可能である。   The digital system design system and manufacturing method of the present invention is a technology that is particularly useful when applied to a large-scale digital system design system and manufacturing method having a programmable delay circuit whose value is adjusted by a genetic algorithm. However, the present invention is not limited to this, and can be widely applied to all digital systems having a programmable delay circuit.

本発明の一実施の形態によるディジタルシステムの製造方法において、その処理の一例を示す工程フロー図である。It is a process flow figure showing an example of the processing in the manufacturing method of the digital system by one embodiment of the present invention. 図1に示すディジタルシステムの製造方法において、その遅延回路の限定(S103)を行う際の詳細な処理内容の一例を示すフロー図である。FIG. 3 is a flowchart showing an example of detailed processing contents when limiting the delay circuit (S103) in the digital system manufacturing method shown in FIG. 1; 図1に示すディジタルシステムの製造方法において、その調整シミュレーションで用いるシミュレーションモデルの一例を示した概念図である。FIG. 2 is a conceptual diagram showing an example of a simulation model used in the adjustment simulation in the digital system manufacturing method shown in FIG. 1. 図3のシミュレーションモデルに対して動作確認を行う際の処理内容を説明する図であり、フリップフロップの動作モデルを表したものである。It is a figure explaining the processing content at the time of confirming operation | movement with respect to the simulation model of FIG. 3, and represents the operation | movement model of a flip-flop. 図3のシミュレーションモデルに対して動作確認を行う際の処理内容を説明する図であり、フリップフロップの動作状態の遷移モデルを表したものである。It is a figure explaining the processing content at the time of confirming operation | movement with respect to the simulation model of FIG. 3, and represents the transition model of the operation state of a flip-flop. 図1に示すディジタルシステムの製造方法において、その遺伝的アルゴリズム(GA)を用いた製造後クロック調整の詳細な処理の一例を示すフロー図である。FIG. 2 is a flowchart showing an example of detailed processing of post-manufacturing clock adjustment using the genetic algorithm (GA) in the digital system manufacturing method shown in FIG. 1. 図6における母集団の生成処理において、一様乱数と正規乱数による初期集団の分布の違いを示す概略図である。FIG. 7 is a schematic diagram illustrating a difference in distribution of an initial population between a uniform random number and a normal random number in the population generation processing in FIG. 6. 図1に示すディジタルシステムの製造方法において、その調整シミュレーションで用いるシミュレータの構成例を示すブロック図である。FIG. 2 is a block diagram illustrating a configuration example of a simulator used in the adjustment simulation in the digital system manufacturing method illustrated in FIG. 1. 図8のシミュレータにおいて、その遺伝的アルゴリズム(GA)実行部の詳細な構成例を示すブロック図である。FIG. 9 is a block diagram illustrating a detailed configuration example of a genetic algorithm (GA) execution unit in the simulator of FIG. 8. 図8のシミュレータにおいて、そのタイミングシミュレータ部の詳細な構成例を示すブロック図である。FIG. 9 is a block diagram illustrating a detailed configuration example of the timing simulator unit in the simulator of FIG. 8. 動作周波数方向における調整箇所限定時の調整実験結果を示すグラフである。It is a graph which shows the adjustment experiment result at the time of the adjustment location limitation in an operating frequency direction. 動作周波数方向におけるGA改良時の調整実験結果を示すグラフである。It is a graph which shows the adjustment experiment result at the time of GA improvement in an operating frequency direction. 本発明の前提として検討したディジタルシステムの設計システムにおいて、その構成例を示すブロック図である。1 is a block diagram showing a configuration example of a digital system design system studied as a premise of the present invention. FIG. 図13のディジタルシステムの一例となるパイプライン型の回路を示すものであり、(a)〜(c)は、それぞれ動作条件が異なる場合を示している。FIG. 14 shows a pipeline type circuit as an example of the digital system of FIG. 13, and (a) to (c) show cases where operating conditions are different from each other. 遺伝的アルゴリズムで用いる染色体の構成例を示す概略図である。It is the schematic which shows the structural example of the chromosome used by a genetic algorithm. 遺伝的アルゴリズムにおいて、染色体に対して行う操作の一例を示すものであり、(a)、(b)は、それぞれ交叉、突然変異の操作の一例を示す概略図である。In the genetic algorithm, an example of an operation performed on a chromosome is shown, and (a) and (b) are schematic diagrams showing an example of an operation of crossover and mutation, respectively. 遺伝的アルゴリズムで操作が進んでいく様子を示す概念図である。It is a conceptual diagram which shows a mode that operation advances with a genetic algorithm.

符号の説明Explanation of symbols

1 ディジタルシステム
2 電源装置
3 ディジタルテスト信号発生装置
4 調整装置
5 ディジタル信号観測装置
6 電源供給
7 内部ノードの論理レベル
71,72 分布
100 I/O部
101 タイミングシミュレータ部
102 遺伝的アルゴリズム実行部
110 初期集団生成部
111 遺伝的操作処理部
112 適応度計算部
113 終了条件判定部
120 ネットワーク生成部
121 タイミング情報伝播部
122 仮想チップ生成部
123 遅延値設定部
124 出力情報判定部
FF フリップフロップ
REG レジスタ
DLY 遅延回路
Din データ入力信号
Dout データ出力信号
CLK クロック信号
CC 組合せ回路
CH 染色体
DESCRIPTION OF SYMBOLS 1 Digital system 2 Power supply device 3 Digital test signal generator 4 Adjustment apparatus 5 Digital signal observation apparatus 6 Power supply 7 Logic level 71,72 distribution of internal node 100 I / O part 101 Timing simulator part 102 Genetic algorithm execution part 110 Initial stage Group generation unit 111 Genetic operation processing unit 112 Fitness calculation unit 113 End condition determination unit 120 Network generation unit 121 Timing information propagation unit 122 Virtual chip generation unit 123 Delay value setting unit 124 Output information determination unit FF Flip-flop REG register DLY Delay Circuit Din Data input signal Dout Data output signal CLK Clock signal CC Combinational circuit CH Chromosome

Claims (19)

コンピュータシステムによるプログラム処理によって実現され、
複数のフリップフロップのクロック入力部にプログラマブル遅延回路が設けられることで、前記複数のフリップフロップ間のパスのタイミングマージンが調整可能となっているディジタルシステムを設計対象とし、
前記ディジタルシステムに対する設計段階のタイミング解析結果から、前記複数のフリップフロップ間の接続関係と、前記複数のフリップフロップ間のパス遅延時間とを取得する第1機能と、
前記第1機能で取得した前記複数のフリップフロップ間の接続関係に基づき、前段のフリップフロップから後段のフリップフロップへ向かうパスをアークとし、前記前段のフリップフロップと前記後段のフリップフロップをそれぞれノードとした有向グラフのシミュレーションモデルを生成する第2機能と、
前記アークに対して伝播時間の情報を持たせ、前記アークが持つ伝播時間が所定のスペックを満たす場合は前記アークの先に接続されたノードに第1情報を記憶させ、前記所定のスペックを満たさない場合は前記アークの先に接続されたノードに第2情報を記憶させ、前記第2情報が記憶されたノードが有る場合は前記アークの方向にしたがって前記ノード間で前記第2情報の伝達を行う第3機能と、
前記プログラマブル遅延回路の設定時間を変更しながら、前記第3機能で前記ノードが前記第1情報を記憶できるように前記設定時間を確率的探索手法に基づいて探索する第4機能とを備え、
前記アークが持つ伝播時間は、前記第1機能で取得した前記パス遅延時間と、製造ばらつきを反映した第1遅延時間と、前記第4機能による前記プログラマブル遅延回路の設定時間を反映した第2遅延時間とに基づいて決定されることを特徴とするディジタルシステムの設計システム。
Realized by computer program processing,
The digital system in which the timing margin of the path between the plurality of flip-flops can be adjusted by providing a programmable delay circuit in the clock input unit of the plurality of flip-flops,
A first function for obtaining a connection relationship between the plurality of flip-flops and a path delay time between the plurality of flip-flops from a timing analysis result at a design stage for the digital system;
Based on the connection relationship between the plurality of flip-flops acquired in the first function, a path from the preceding flip-flop to the succeeding flip-flop is an arc, and the preceding flip-flop and the succeeding flip-flop are respectively set as nodes. A second function for generating a simulation model of the directed graph,
When the arc has propagation time information and the arc has a propagation time satisfying a predetermined specification, the first information is stored in a node connected to the end of the arc to satisfy the predetermined specification. If there is no node, the second information is stored in a node connected to the tip of the arc. If there is a node in which the second information is stored, the second information is transmitted between the nodes according to the direction of the arc. A third function to perform,
A fourth function for searching the set time based on a probabilistic search method so that the node can store the first information while changing the set time of the programmable delay circuit;
The propagation time of the arc is the second delay reflecting the path delay time acquired by the first function, the first delay time reflecting manufacturing variation, and the set time of the programmable delay circuit by the fourth function. A digital system design system characterized by being determined based on time.
請求項1記載のディジタルシステムの設計システムにおいて、
更に、前記第1機能で取得したパス遅延時間の大きさに基づいて、前記プログラマブル遅延回路による調整対象とするパスを限定する第5機能を備え、
前記第5機能で限定されたパスに対応するアークの前記第2遅延時間が、前記第4機能に基づく確率的探索手法によって決定されることを特徴とするディジタルシステムの設計システム。
The digital system design system according to claim 1,
Furthermore, based on the size of the path delay time acquired by the first function, a fifth function for limiting the path to be adjusted by the programmable delay circuit,
The design system of a digital system, wherein the second delay time of an arc corresponding to a path limited by the fifth function is determined by a probabilistic search method based on the fourth function.
請求項2記載のディジタルシステムの設計システムにおいて、
前記第5機能は、前記パス遅延時間が大きい順にソーティングを行い、このソーティングによって得られた順番でパスを限定することを特徴とするディジタルシステムの設計システム。
The digital system design system according to claim 2,
The fifth function is a digital system design system characterized in that sorting is performed in descending order of the path delay time, and the paths are limited in the order obtained by the sorting.
請求項2記載のディジタルシステムの設計システムにおいて、
前記設計システムは、前記第5機能によって限定されたパスの両端に前記プログラマブル遅延回路を設けることを特徴とするディジタルシステムの設計システム。
The digital system design system according to claim 2,
The design system of the digital system, wherein the programmable delay circuit is provided at both ends of a path defined by the fifth function.
請求項1記載のディジタルシステムの設計システムにおいて、
前記確率的探索手法は、遺伝的アルゴリズムに基づく手法であることを特徴とするディジタルシステムの設計システム。
The digital system design system according to claim 1,
The digital system design system, wherein the probabilistic search method is a method based on a genetic algorithm.
請求項1記載のディジタルシステムの設計システムにおいて、
前記第1機能での前記タイミング解析結果は、静的タイミング解析の結果であることを特徴とするディジタルシステムの設計システム。
The digital system design system according to claim 1,
The digital system design system, wherein the timing analysis result in the first function is a result of static timing analysis.
請求項1記載のディジタルシステムの設計システムにおいて、
前記第1遅延時間は、正規乱数に基づいて定められることを特徴とするディジタルシステムの設計システム。
The digital system design system according to claim 1,
The digital system design system, wherein the first delay time is determined based on a normal random number.
コンピュータシステムによるプログラム処理によって実現され、
複数のフリップフロップのクロック入力部にプログラマブル遅延回路が設けられることで、前記複数のフリップフロップ間のパスのタイミングマージンが調整可能となっているディジタルシステムを設計対象とし、
前記ディジタルシステムに対する設計段階のタイミング解析結果から取得した前記複数のフリップフロップ間の接続関係と、前記複数のフリップフロップ間のパス遅延時間とを利用し、前記パス遅延時間に対して製造ばらつきに基づく分布と前記プログラマブル遅延回路による調整値を反映させることで、それぞれパス遅延時間のばらつき量が異なると共に前記プログラマブル遅延回路によってパス遅延時間が調整可能とされた複数の仮想チップを生成する第1機能と、
前記複数の仮想チップに対して、確率的探索手法に基づいて前記プログラマブル遅延回路の調整値を探索し、前記パス遅延時間が予め定めたスペック内に収まるような前記プログラマブル遅延回路の調整値が得られたか否かを前記複数の仮想チップ毎に判定する第2機能と
前記第1機能で用いた前記パス遅延時間の大きさに基づいて、前記プログラマブル遅延回路による調整対象とするパスを限定する第3機能とを備え、
前記第2機能は、前記第3機能で限定されたパスに対応する前記プログラマブル遅延回路を対象として、確率的探索手法に基づく探索を行うことを特徴とするディジタルシステムの設計システム。
Realized by computer program processing,
The digital system in which the timing margin of the path between the plurality of flip-flops can be adjusted by providing a programmable delay circuit in the clock input unit of the plurality of flip-flops,
Based on manufacturing variation with respect to the path delay time, using the connection relationship between the plurality of flip-flops obtained from the timing analysis result of the design stage for the digital system and the path delay time between the plurality of flip-flops Reflecting the distribution and the adjustment value by the programmable delay circuit, a first function for generating a plurality of virtual chips each having a different amount of variation in the path delay time and the path delay time being adjustable by the programmable delay circuit; ,
An adjustment value of the programmable delay circuit is searched for the plurality of virtual chips based on a probabilistic search method, and an adjustment value of the programmable delay circuit is obtained such that the path delay time falls within a predetermined specification. a second function of determining was whether to each of the plurality of virtual chips,
A third function for limiting a path to be adjusted by the programmable delay circuit based on the size of the path delay time used in the first function;
The digital system design system , wherein the second function performs a search based on a probabilistic search method for the programmable delay circuit corresponding to the path limited by the third function .
請求項記載のディジタルシステムの設計システムにおいて、
前記設計システムは、前記第3機能によって限定されたパスの両端に前記プログラマブル遅延回路を設けることを特徴とするディジタルシステムの設計システム。
9. The digital system design system according to claim 8, wherein:
The design system of the digital system, wherein the programmable delay circuit is provided at both ends of a path defined by the third function.
請求項8記載のディジタルシステムの設計システムにおいて、
前記確率的探索手法は、遺伝的アルゴリズムに基づく手法であることを特徴とするディジタルシステムの設計システム。
9. The digital system design system according to claim 8, wherein:
The digital system design system, wherein the probabilistic search method is a method based on a genetic algorithm.
請求項8記載のディジタルシステムの設計システムにおいて、
前記第1機能での前記タイミング解析結果は、静的タイミング解析の結果であることを特徴とするディジタルシステムの設計システム。
9. The digital system design system according to claim 8, wherein:
The digital system design system, wherein the timing analysis result in the first function is a result of static timing analysis.
請求項8記載のディジタルシステムの設計システムにおいて、
前記第1機能での製造ばらつきに基づく分布は、正規乱数に基づいて定められることを特徴とするディジタルシステムの設計システム。
9. The digital system design system according to claim 8, wherein:
A distribution system based on manufacturing variation in the first function is determined based on normal random numbers.
複数のフリップフロップのクロック入力部にプログラマブル遅延回路が設けられることで、前記複数のフリップフロップ間のパスのタイミングマージンが調整可能となっているディジタルシステムを製造する第1工程と、
前記第1工程で製造されたディジタルシステムに対して電気的特性のテストを行いながら、前記テスト結果が予め定めたスペックを満足するように前記プログラマブル遅延回路の遅延時間を確率的探索手法に基づいて探索する第2工程と、
前記第1工程よりも前の段階となる前記ディジタルシステムの設計段階において、前記ディジタルシステムに対してタイミング解析を行う第3工程と、
前記第3工程と前記第1工程の間で行われ、前記複数のフリップフロップ間のパスの中から、前記タイミング解析の結果に基づいて、タイミングマージンが少ないパスを所定の数だけ選択する第4工程と、
前記第4工程で選択した所定の数のパスを対象として前記プログラマブル遅延回路が挿入されたシミュレーション上の仮想チップを生成し、予め定めたタイミングスペックを満足する前記仮想チップの比率となる歩留まりをシミュレーション上で評価し、更に、この評価を前記第4工程で選択する所定の数を変更しながら行うことで、高い歩留まりが得られる最適な前記プログラマブル遅延回路の挿入数を予測する第5工程とを有し、
前記第1工程では、前記第5工程で予測された前記プログラマブル遅延回路の挿入数を持つディジタルシステムが製造されることを特徴とするディジタルシステムの製造方法。
A first step of manufacturing a digital system in which a programmable delay circuit is provided in a clock input section of a plurality of flip-flops, so that a timing margin of a path between the plurality of flip-flops can be adjusted;
While testing the electrical characteristics of the digital system manufactured in the first step, the delay time of the programmable delay circuit is determined based on a probabilistic search method so that the test result satisfies a predetermined specification. A second step of searching;
A third step of performing timing analysis on the digital system in the design stage of the digital system, which is a step before the first step;
A fourth process is performed between the third process and the first process, and a predetermined number of paths having a small timing margin are selected from the paths between the plurality of flip-flops based on the result of the timing analysis. Process,
Generate virtual chips on the simulation in which the programmable delay circuit is inserted for the predetermined number of paths selected in the fourth step, and simulate the yield that is the ratio of the virtual chips that satisfy a predetermined timing specification. A fifth step of predicting the optimum number of insertions of the programmable delay circuit that can obtain a high yield by performing the evaluation while changing the predetermined number selected in the fourth step. Yes, and
In the first step, a digital system having the number of insertions of the programmable delay circuit predicted in the fifth step is manufactured .
請求項13記載のディジタルシステムの製造方法において、
前記確率的探索手法は、遺伝的アルゴリズムに基づく手法であり、
前記第2工程では、前記遺伝的アルゴリズムに基づいて生成される初期集団に、製造ばらつきに基づく分布を持たせていることを特徴とするディジタルシステムの製造方法。
The method of manufacturing a digital system according to claim 13 ,
The probabilistic search method is a method based on a genetic algorithm,
In the second step, the initial group generated based on the genetic algorithm is given a distribution based on manufacturing variation, and the digital system manufacturing method is characterized in that:
請求項14記載のディジタルシステムの製造方法において、
前記製造ばらつきに基づく分布は、正規分布であることを特徴とするディジタルシステムの製造方法。
15. The method of manufacturing a digital system according to claim 14 ,
The method for manufacturing a digital system, wherein the distribution based on the manufacturing variation is a normal distribution.
請求項13記載のディジタルシステムの製造方法において、
前記第5工程は、
前記第3工程での前記タイミング解析の結果から得られる前記複数のフリップフロップ間の接続関係と、前記複数のフリップフロップ間のパス遅延時間とを利用し、さらに前記パス遅延時間に対して製造ばらつきに基づく分布と前記プログラマブル遅延回路による調整値を反映させることで、それぞれパス遅延時間のばらつき量が異なると共に前記プログラマブル遅延回路によってパス遅延時間が調整可能とされた複数の仮想チップを生成する第1処理と、
前記複数の仮想チップを用いて、前記第4工程で選択された所定の数のパスに対応する前記プログラマブル遅延回路の調整値を確率的探索手法に基づいて探索し、前記パス遅延時間が予め定めたスペック内に収まるような前記プログラマブル遅延回路の調整値が得られたか否かを前記複数の仮想チップ毎に判定することで、前記第4工程で選択した所定の数が妥当か否かを判断する第2処理とを含むことを特徴とするディジタルシステムの製造方法。
The method of manufacturing a digital system according to claim 13 ,
The fifth step includes
Using the connection relationship between the plurality of flip-flops obtained from the result of the timing analysis in the third step and the path delay time between the plurality of flip-flops, and further manufacturing variations with respect to the path delay time By reflecting the distribution based on the above and the adjustment value by the programmable delay circuit, a plurality of virtual chips in which the variation amount of the path delay time is different and the path delay time can be adjusted by the programmable delay circuit are generated. Processing,
Using the plurality of virtual chips, an adjustment value of the programmable delay circuit corresponding to the predetermined number of paths selected in the fourth step is searched based on a probabilistic search method, and the path delay time is determined in advance. It is determined whether or not the predetermined number selected in the fourth step is appropriate by determining, for each of the plurality of virtual chips, whether or not the adjustment value of the programmable delay circuit that is within the specifications is obtained. And a second process. A method for manufacturing a digital system, comprising:
請求項16記載のディジタルシステムの製造方法において、
前記確率的探索手法は、遺伝的アルゴリズムに基づく手法であり、
前記第2工程では、前記遺伝的アルゴリズムに基づいて生成される初期集団に、製造ばらつきに基づく分布を持たせていることを特徴とするディジタルシステムの製造方法。
The method of manufacturing a digital system according to claim 16 ,
The probabilistic search method is a method based on a genetic algorithm,
In the second step, the initial group generated based on the genetic algorithm is given a distribution based on manufacturing variation, and the digital system manufacturing method is characterized in that:
請求項17記載のディジタルシステムの製造方法において、
前記製造ばらつきに基づく分布は、正規分布であることを特徴とするディジタルシステムの製造方法。
The method of manufacturing a digital system according to claim 17 ,
The method for manufacturing a digital system, wherein the distribution based on the manufacturing variation is a normal distribution.
請求項16記載のディジタルシステムの製造方法において、
前記第3工程での前記タイミング解析の結果は、静的タイミング解析の結果であることを特徴とするディジタルシステムの製造方法。
The method of manufacturing a digital system according to claim 16 ,
The method of manufacturing a digital system, wherein the result of the timing analysis in the third step is a result of a static timing analysis.
JP2007053056A 2007-03-02 2007-03-02 Digital system design system and digital system manufacturing method Expired - Fee Related JP4798505B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2007053056A JP4798505B2 (en) 2007-03-02 2007-03-02 Digital system design system and digital system manufacturing method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2007053056A JP4798505B2 (en) 2007-03-02 2007-03-02 Digital system design system and digital system manufacturing method

Publications (2)

Publication Number Publication Date
JP2008217350A JP2008217350A (en) 2008-09-18
JP4798505B2 true JP4798505B2 (en) 2011-10-19

Family

ID=39837325

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007053056A Expired - Fee Related JP4798505B2 (en) 2007-03-02 2007-03-02 Digital system design system and digital system manufacturing method

Country Status (1)

Country Link
JP (1) JP4798505B2 (en)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5366872B2 (en) * 2010-04-02 2013-12-11 ルネサスエレクトロニクス株式会社 Semiconductor integrated circuit clock signal adjustment circuit
CN109514552A (en) * 2018-11-14 2019-03-26 华南理工大学 A kind of method of the identification of automobile door plate solder joint and path of welding planning

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2004109916A1 (en) * 2003-06-06 2004-12-16 National Institute Of Advanced Industrial Science And Technology Digital system, clock signal adjusting method for digital system, recording medium recording processing program executed in the adjusting method
JP2005352787A (en) * 2004-06-10 2005-12-22 Matsushita Electric Ind Co Ltd Method and apparatus for timing analysis

Also Published As

Publication number Publication date
JP2008217350A (en) 2008-09-18

Similar Documents

Publication Publication Date Title
US8984470B2 (en) Method and apparatus for performing redundant via insertion during circuit design
US5365463A (en) Method for evaluating the timing of digital machines with statistical variability in their delays
US20080071511A1 (en) Prediction and control of NBTI of Integrated circuits
JP2005502133A (en) Integrated circuit chip design
US20100313176A1 (en) Delay library, delay library creation method, and delay calculation method
US20060107244A1 (en) Method for designing semiconductor intgrated circuit and system for designing the same
US9946513B2 (en) Semiconductor device and information processing system
CN112069763A (en) Method for correcting circuit
US9298872B2 (en) Apportioning synthesis effort for better timing closure
KR20150145179A (en) Method for adjusting a timing derate for static timing analysis
US6763513B1 (en) Clock tree synthesizer for balancing reconvergent and crossover clock trees
US11347917B2 (en) Determining and verifying metastability in clock domain crossings
EP1701279A1 (en) Manufacturing a clock distribution network in an integrated circuit
US7526743B2 (en) Method for routing data paths in a semiconductor chip with a plurality of layers
JP4798505B2 (en) Digital system design system and digital system manufacturing method
US11694016B2 (en) Fast topology bus router for interconnect planning
CN112836454B (en) Integrated circuit simulation method and system
KR102611888B1 (en) Layout method for semiconductor device based on swiching activity and manufacturing
US20080022238A1 (en) Layout evaluating apparatus
CN116611386A (en) Transforming local threading resistance into global distribution resistance
US9721051B2 (en) Reducing clock skew in synthesized modules
JP5119506B2 (en) Semiconductor integrated circuit design apparatus, data processing method thereof, and control program thereof
CN115510802A (en) Machine learning model for predicting detailed wiring topology and trajectory usage
JP2007310873A (en) Parameter extraction method and computer-readable storage medium having program for executing parameter extraction method
Kanoria et al. Statistical static timing analysis using Markov chain Monte Carlo

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20090227

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110222

RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20110311

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20110314

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110415

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20110712

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20110721

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140812

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140812

Year of fee payment: 3

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

S533 Written request for registration of change of name

Free format text: JAPANESE INTERMEDIATE CODE: R313533

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees