JP2022165844A - Library development support program, library development support method and information processing device - Google Patents
Library development support program, library development support method and information processing device Download PDFInfo
- Publication number
- JP2022165844A JP2022165844A JP2021071386A JP2021071386A JP2022165844A JP 2022165844 A JP2022165844 A JP 2022165844A JP 2021071386 A JP2021071386 A JP 2021071386A JP 2021071386 A JP2021071386 A JP 2021071386A JP 2022165844 A JP2022165844 A JP 2022165844A
- Authority
- JP
- Japan
- Prior art keywords
- cell
- circuit
- replacement
- data
- measured
- 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.)
- Pending
Links
- 238000011161 development Methods 0.000 title claims abstract description 117
- 230000010365 information processing Effects 0.000 title claims abstract description 38
- 238000000034 method Methods 0.000 title claims description 38
- 238000005259 measurement Methods 0.000 claims abstract description 115
- 238000013461 design Methods 0.000 claims abstract description 73
- 238000004088 simulation Methods 0.000 claims abstract description 58
- 238000003860 storage Methods 0.000 claims abstract description 35
- 238000010586 diagram Methods 0.000 claims description 100
- 238000012545 processing Methods 0.000 claims description 50
- 238000007667 floating Methods 0.000 claims description 17
- 238000012217 deletion Methods 0.000 claims description 11
- 230000037430 deletion Effects 0.000 claims description 11
- 230000018109 developmental process Effects 0.000 description 107
- 238000012360 testing method Methods 0.000 description 22
- 239000000872 buffer Substances 0.000 description 11
- 230000006870 function Effects 0.000 description 11
- 230000007613 environmental effect Effects 0.000 description 10
- 230000003071 parasitic effect Effects 0.000 description 10
- 238000004891 communication Methods 0.000 description 8
- 238000012795 verification Methods 0.000 description 6
- 238000005520 cutting process Methods 0.000 description 3
- 239000000284 extract Substances 0.000 description 3
- 238000004519 manufacturing process Methods 0.000 description 3
- 230000001934 delay Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 238000000605 extraction Methods 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 1
- 238000012790 confirmation Methods 0.000 description 1
- 230000000593 degrading effect Effects 0.000 description 1
- 238000007599 discharging Methods 0.000 description 1
- 238000011156 evaluation Methods 0.000 description 1
- 230000012447 hatching Effects 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000001902 propagating effect Effects 0.000 description 1
- 239000000758 substrate Substances 0.000 description 1
- 238000012800 visualization Methods 0.000 description 1
Images
Landscapes
- Design And Manufacture Of Integrated Circuits (AREA)
Abstract
Description
本発明は、ライブラリ開発支援プログラム、ライブラリ開発支援方法および情報処理装置に関する。 The present invention relates to a library development support program, a library development support method, and an information processing apparatus.
従来、LSI(Large Scale Integration)設計では、基本ゲートやデータを保持するフリップフロップなどのスタンダードセル、演算器など専用に設計されるカスタムマクロ、大量のデータ保持に使用されるメモリマクロなどの部品が使用される。これらの部品は、例えば、LSI設計ツールで使用するライブラリデータのかたちで提供される。ライブラリには様々なものがあり、例えば、タイミング制約情報、電力情報などを持つ回路ライブラリがある。 Conventionally, in LSI (Large Scale Integration) design, parts such as standard cells such as flip-flops that hold basic gates and data, custom macros designed exclusively for computing units, and memory macros that are used to hold large amounts of data. used. These parts are provided, for example, in the form of library data used by LSI design tools. There are various types of libraries, such as circuit libraries with timing constraint information, power information, and the like.
先行技術としては、シミュレーション対象とする機能に応じて作成したテストパターンを用いて低精度のシミュレーションを実行して、波形に一定以上の変化がある信号を抽出し、抽出した信号を対象としてネットリストを作成し、高精度のシミュレーションを実行するものがある。また、回路情報内に記述されている回路動作を制御する記述を制御記述情報として抽出し、テストベンチ情報から動作制御記述に伝播する信号を制御パターン情報として抽出し、制御記述情報と制御パターン情報から動作しない制御記述を特定し、動作しない制御記述を削除する技術がある。 As a prior art, a low-precision simulation is performed using a test pattern created according to the function to be simulated, signals with waveforms that change more than a certain amount are extracted, and the extracted signals are used as netlists. and run high-precision simulations. Also, the description controlling the circuit operation described in the circuit information is extracted as control description information, the signal propagating from the testbench information to the operation control description is extracted as control pattern information, and the control description information and the control pattern information are extracted. There is a technique for identifying control descriptions that do not operate from the data and deleting the control descriptions that do not operate.
しかしながら、従来技術では、LSI設計などに用いられる回路ライブラリの開発に時間や計算機リソースなどのコストがかかるという問題がある。 However, in the conventional technology, there is a problem that development of a circuit library used for LSI design or the like takes time and costs such as computer resources.
一つの側面では、本発明は、回路ライブラリの開発にかかるコストを削減することを目的とする。 In one aspect, the present invention aims to reduce the cost of developing circuit libraries.
1つの実施態様では、動作特性の測定対象回路に関する設計データを取得し、取得した前記設計データを用いた動作シミュレーションの結果に基づいて、前記測定対象回路のうちの動作する箇所を特定し、前記設計データのうち、特定した前記動作する箇所とは異なる他の箇所のセルを、あらかじめ用意された複数の置換用セルを記憶する記憶部を参照して、前記動作特性の測定項目に応じて特定される置換用セルに置換し、置換後の前記設計データに基づいて、前記測定対象回路に関する動作特性測定用のネットリストを作成する、ライブラリ開発支援プログラムが提供される。 In one embodiment, design data relating to a circuit to be measured for operating characteristics is obtained, based on a result of an operation simulation using the obtained design data, a portion of the circuit to be measured that operates is specified, and Among the design data, a cell at a location different from the identified operating location is identified according to the measurement item of the operating characteristic by referring to a storage unit storing a plurality of replacement cells prepared in advance. A library development support program is provided that replaces the circuit with a replacement cell that is to be replaced, and creates a netlist for measuring operating characteristics of the circuit to be measured based on the design data after replacement.
本発明の一側面によれば、回路ライブラリの開発にかかるコストを削減することができるという効果を奏する。 According to one aspect of the present invention, it is possible to reduce the cost of developing a circuit library.
以下に図面を参照して、本発明にかかるライブラリ開発支援プログラム、ライブラリ開発支援方法および情報処理装置の実施の形態を詳細に説明する。 Exemplary embodiments of a library development support program, a library development support method, and an information processing apparatus according to the present invention will be described below in detail with reference to the drawings.
(実施の形態)
図1は、実施の形態にかかるライブラリ開発支援方法の一実施例を示す説明図である。図1において、情報処理装置101は、測定対象回路の動作特性の測定を支援するコンピュータである。測定対象回路の動作特性は、例えば、測定対象回路のタイミング制約、電力などである。
(Embodiment)
FIG. 1 is an explanatory diagram of an example of a library development support method according to an embodiment. In FIG. 1, an
近年、製造プロセスの微細化にともなうバラツキの増大、消費電力削減のための低電圧化等による検証条件の増加、ライブラリ精度向上のための情報量増加などにより、回路ライブラリの開発工数が増加している。回路ライブラリは、各部品のタイミング制約情報や電力情報などを持つライブラリである。部品は、例えば、基本ゲートやフリップフロップなどのスタンダードセル(以下、「STDセル」という)、カスタムマクロ、メモリマクロなどである。 In recent years, the development man-hours for circuit libraries have increased due to the increase in variation due to the miniaturization of manufacturing processes, the increase in verification conditions due to lower voltages to reduce power consumption, and the increase in the amount of information to improve library accuracy. there is A circuit library is a library that has timing constraint information, power information, and the like for each component. Components are, for example, standard cells such as basic gates and flip-flops (hereinafter referred to as "STD cells"), custom macros, memory macros, and the like.
従来の回路ライブラリ開発では、設計データとしてレイアウトデータと回路図データとが作成され、設計完了後にLVS(Layout Versus Schematic)が実行される。回路図データは、回路素子とその接続関係を記述した回路情報(例えば、素子Aと素子Bとの接続関係を示す情報)である。 In conventional circuit library development, layout data and circuit diagram data are created as design data, and LVS (Layout Versus Schematic) is executed after the design is completed. Circuit diagram data is circuit information describing circuit elements and their connection relationships (for example, information indicating connection relationships between elements A and B).
レイアウトデータは、実際の製造パターンを記述した物理情報(例えば、基板上に配置される回路素子のレイアウトを示す情報)である。LVSは、回路図データとレイアウトデータとが一致していることをチェックする処理である。LVSでは、回路図データとレイアウトデータとの一致確認とレイアウト形状情報の抽出が行われる。 Layout data is physical information describing an actual manufacturing pattern (for example, information indicating the layout of circuit elements arranged on a substrate). LVS is a process for checking that circuit diagram data and layout data match. In LVS, confirmation of matching between circuit diagram data and layout data and extraction of layout shape information are performed.
つぎに、従来の回路ライブラリ開発では、レイアウト形状情報と環境条件からLPE(Layout Parasitic Extraction)が実行される。環境条件は、温度や配線バラツキ条件などである。LPEでは、レイアウトの配線抵抗、寄生容量の抽出が行われ、LPEネットリストが作成される。LPEネットリストは、回路接続情報に回路素子の形状データと寄生素子情報を含むデータである。 Next, in conventional circuit library development, LPE (Layout Parasitic Extraction) is executed from layout shape information and environmental conditions. Environmental conditions include temperature, wiring variation conditions, and the like. In LPE, layout wiring resistance and parasitic capacitance are extracted, and an LPE netlist is created. The LPE netlist is data including circuit connection information, shape data of circuit elements, and parasitic element information.
例えば、LPEネットリストは、素子間の接続関係を示す通常のネットリストに、配線につく抵抗や容量などのシミュレーションで遅延を計算するための寄生素子の情報が含まれたものである。一般的に抵抗値は温度に依存し、容量値は配線バラツキ条件に依存する。このため、LPEネットリストは、例えば、「温度×配線バラツキ条件」の数分作成される。 For example, the LPE netlist is a normal netlist showing connection relationships between elements, and includes parasitic element information for calculating delay in simulation, such as resistance and capacitance attached to wiring. In general, the resistance value depends on the temperature, and the capacitance value depends on the wiring variation condition. For this reason, the number of LPE netlists corresponding to, for example, "temperature×wiring variation condition" is created.
回路ライブラリは、例えば、回路ライブラリ測定ツール(以下、「lib測定ツール」という)により、ライブラリに必要なデータを測定することで生成される。例えば、LPEネットリスト、各種測定に必要な測定パターン(どういう信号を入力するのか)、ツールの設定や測定条件を記述した設定ファイルをlib測定ツールに入力して実行することで、回路ライブラリが出力される。回路ライブラリを検証条件ごとに用意する場合には、検証条件の数分、lib測定ツールが実行される。 A circuit library is generated by, for example, measuring data necessary for the library using a circuit library measurement tool (hereinafter referred to as "lib measurement tool"). For example, by inputting an LPE netlist, measurement patterns required for various measurements (what kind of signals to input), and setting files describing tool settings and measurement conditions into the lib measurement tool and executing it, the circuit library will be output. be done. When a circuit library is prepared for each verification condition, lib measurement tools are executed for the number of verification conditions.
lib測定ツールでは、大きく分けてタイミング制約と電力の測定が行われる。タイミング制約は、例えば、入力信号のセットアップ時間、ホールド時間、入力容量、入力から出力までのディレイ値である。電力は、例えば、動作の有無にかかわらず常に消費されるリーク電力と、動作時に配線容量の充放電で消費されるダイナミック電力である。 The lib measurement tools are roughly divided into timing constraints and power measurements. Timing constraints are, for example, input signal setup time, hold time, input capacitance, and delay value from input to output. Power is, for example, leak power that is always consumed regardless of whether or not there is an operation, and dynamic power that is consumed by charging/discharging wiring capacitance during operation.
カスタムマクロやメモリマクロは、例えば、STDセルや専用回路を組み合わせた回路ブロック(以下、「ブロック」という)を複数組み合わせて設計される。タイミング制約の測定では、必要なブロックは回路全体の一部である。例えば、ある入力信号のセットアップ時間、ホールド時間を測定する場合、入力信号を保持するフリップフロップと関連する制御回路があればよい。このため、タイミング制約の測定は、例えば、入力されるLPEネットリストを解析して必要なブロックだけ取り出す処理を行ってから行われる。 Custom macros and memory macros are designed by combining, for example, multiple circuit blocks (hereinafter referred to as "blocks") that combine STD cells and dedicated circuits. For timing constraint measurements, the required block is part of the overall circuit. For example, when measuring the setup time and hold time of an input signal, it is sufficient to have a flip-flop that holds the input signal and a related control circuit. For this reason, the measurement of the timing constraint is performed, for example, after analyzing the input LPE netlist and extracting only necessary blocks.
一方、電力の測定では、リーク電力測定のために全てのトランジスタが必要になるため、入力されるLPEネットリストをそのまま使用する。このため、測定パターンとして、タイミング制約向けには、測定したいブロックが動作するようなパターンを用意し、電力向けには、マクロ全体で必要な動作(最大電力動作、最小電力動作など)を行うパターンを用意する。 On the other hand, in power measurement, since all transistors are required for leakage power measurement, the input LPE netlist is used as it is. For this reason, as measurement patterns, for timing constraints, prepare patterns that operate the blocks you want to measure, and for power, patterns that perform the necessary operations (maximum power operation, minimum power operation, etc.) for the entire macro. prepare.
大規模なマクロでは、LPEネットリストに含まれる素子数は数百万トランジスタ、数千万寄生素子になり、lib測定ツールの実行時間や計算機の使用リソース量が非常に大きなものになる。そのため、LPEネットリストから指定したトランジスタやネットの寄生素子を取り出してLPEネットリストサイズを圧縮し、lib測定ツールの実行時間の短縮や計算機の使用リソースの削減を行うことが考えられる。 In a large-scale macro, the number of elements included in the LPE netlist becomes millions of transistors and tens of millions of parasitic elements, and the execution time of the lib measurement tool and the resource usage of the computer become extremely large. Therefore, it is conceivable to extract the parasitic elements of the specified transistors and nets from the LPE netlist, compress the LPE netlist size, and shorten the execution time of the lib measurement tool and reduce the resource usage of the computer.
例えば、ネットリストベースで、評価に使用するパターンで高速な低精度のシミュレーションにより動作箇所を特定し、回路全体のネットリストから動作箇所を抽出したネットリストを作成し、高精度なシミュレーションを行う従来技術1がある(例えば、特許文献1参照)。また、ハードウェア記述言語で設計された回路において検証で使用するテストベンチで動作しない記述を取り除き回路量を削減する従来技術2がある(例えば、特許文献2参照)。
For example, based on the netlist, the pattern used for evaluation is used for high-speed, low-accuracy simulation to identify the operating locations, create a netlist that extracts the operating locations from the netlist of the entire circuit, and perform a high-accuracy simulation. There is a technique 1 (see, for example, Patent Document 1). In addition, there is a
具体的には、例えば、従来技術1は、まず、測定パターンと回路図データを用いて、低精度で高速な機能シミュレーションを行う。この機能シミュレーションでは、正しく動作すればよく、信号の微細な変化やタイミングは考慮しない。従来技術1は、シミュレーション結果からアクティブリストを作成する。アクティブリストは、回路中で動作するネット、デバイスに関する情報の一覧である。
Specifically, for example, in the
つぎに、従来技術1は、LPEネットリストからアクティブリストに含まれるネットの寄生素子とデバイスの抽出を行い、測定パターンで動作するネットとデバイスに絞ったLPEネットリストの圧縮を行う(以下、「圧縮版LPEネットリスト」という)。そして、従来技術1は、圧縮版LPEネットリストをlib測定ツールに入力し、ライブラリ測定を行う。
Next,
しかしながら、従来技術1は、タイミング制約などの回路の一部を用いて測定する項目のみに対応可能であり、電力の測定には対応することができない。例えば、電力の測定では、素子を削除するとリーク電力が正しく測定できなくなるため、従来技術1の圧縮版LPEネットリストを用いることができない。
However,
また、大規模回路では、数百万トランジスタ、数千万寄生素子を持つLPEネットリストが作成される。多くの検証条件に対応するためには、バラツキ条件、温度条件を変えた複数のLPEネットリストの作成が必要となる。このため、従来技術1では、ネットリストの作成、圧縮版LPEネットリストの抽出およびデータ管理に、多くの計算機リソースが必要になるという問題がある。
Also, in a large-scale circuit, an LPE netlist with millions of transistors and tens of millions of parasitic elements is created. In order to deal with many verification conditions, it is necessary to create a plurality of LPE netlists with different variation conditions and temperature conditions. Therefore, in
そこで、本実施の形態では、回路ライブラリの開発にかかる計算機の実行時間や計算機リソースなどのコストを削減するライブラリ開発支援方法について説明する。ここで、情報処理装置101の処理例について説明する。
Therefore, in the present embodiment, a library development support method for reducing costs such as computer execution time and computer resources required for circuit library development will be described. Here, a processing example of the
(1)情報処理装置101は、測定対象回路TCに関する設計データDを取得する。ここで、測定対象回路TCは、動作特性の測定対象となる回路である。例えば、測定対象回路TCは、回路ライブラリに部品として登録されるSTDセル、カスタムマクロ、メモリマクロなどの回路である。
(1) The
設計データDは、例えば、測定対象回路TCに関する回路図データsdと、測定対象回路に関するレイアウトデータldとを含む。回路図データsdは、回路素子とその接続関係を記述した回路情報である。レイアウトデータldは、実際の製造パターンを記述した物理情報である。回路図データsdとレイアウトデータldは、例えば、レイアウト検証等に用いられる情報である。 The design data D includes, for example, circuit diagram data sd regarding the circuit to be measured TC and layout data ld regarding the circuit to be measured. The circuit diagram data sd is circuit information describing circuit elements and their connection relationships. The layout data ld is physical information describing actual manufacturing patterns. The circuit diagram data sd and layout data ld are information used for layout verification, for example.
(2)情報処理装置101は、取得した設計データDを用いた動作シミュレーションの結果に基づいて、測定対象回路TCのうちの動作する箇所を特定する。ここで、動作シミュレーションは、測定対象回路TCの動作を確認するためのシミュレーションである。例えば、ある機能の動作を確認する場合、その機能に応じて作成される測定パターン(入力信号のテストパターン)を用いてシミュレーションが実行される。
(2) The
図1の例では、測定対象回路TCのうちの動作する箇所として、動作箇所120が特定された場合を想定する。
In the example of FIG. 1, it is assumed that an operating
(3)情報処理装置101は、記憶部110を参照して、取得した設計データDのうち、特定した動作する箇所とは異なる他の箇所のセルを、動作特性の測定項目に応じて特定される置換用セルに置換する。記憶部110は、あらかじめ用意された複数の置換用セルを記憶する。測定項目としては、例えば、タイミング制約と電力がある。
(3) The
タイミング制約は、例えば、セットアップ時間、ホールド時間、入力容量、ディレイ値などである。電力は、例えば、リーク電力とダイナミック電力である。置換用セルへの置換処理は、例えば、設計データDに含まれる回路図データsdおよびレイアウトデータldそれぞれについて行われる。 Timing constraints are, for example, setup time, hold time, input capacitance, delay value, and the like. Power is, for example, leakage power and dynamic power. The replacement process with the replacement cell is performed for each of the circuit diagram data sd and the layout data ld included in the design data D, for example.
動作特性がタイミング制約の場合、測定対象回路TC内の動作しない箇所のセルを削除しても、セットアップ時間等を正しく測定することができる。一方、動作特性が電力の場合、測定対象回路TC内のセルを削除すると、例えば、リーク電力を正しく測定することができなくなる。 When the operating characteristics are timing constraints, the setup time and the like can be measured correctly even if the cells in the circuit TC to be measured that do not operate are deleted. On the other hand, when the operating characteristic is power, if a cell in the circuit to be measured TC is deleted, for example, leak power cannot be measured correctly.
このため、情報処理装置101は、記憶部110を参照して、動作特性の測定項目に応じて置換用セルを特定し、特定した動作する箇所とは異なる他の箇所のセルを、特定した置換用セルに置換する。この際、情報処理装置101は、例えば、他の箇所の一部のセルを置換用セルに置換してもよく、また、他の箇所の全てのセルを置換用セルに置換してもよい。
For this reason, the
具体的には、例えば、情報処理装置101は、測定項目がタイミング制約の場合、記憶部110を参照して、他の箇所のセルを削除するための削除セルを特定し、他の箇所のセルを、特定した削除セルに置換する。また、情報処理装置101は、測定項目が電力の場合、記憶部110を参照して、他の箇所における信号伝搬を切断して入力を固定する入力固定セルを特定し、他の箇所のセルを、特定した入力固定セルに置換する。
Specifically, for example, when the measurement item is a timing constraint, the
図1の例では、測定対象回路TCのうちの動作箇所120とは異なる他の箇所を「非動作箇所130」とする。この場合、情報処理装置101は、例えば、測定項目がタイミング制約の場合、非動作箇所130のセル131を削除セルに置換する。また、情報処理装置101は、測定項目が電力の場合、非動作箇所130のセル131を入力固定セルに置換する。
In the example of FIG. 1, a portion other than the operating
(4)情報処理装置101は、置換後の設計データDに基づいて、測定対象回路TCに関する動作特性測定用のネットリストNLを作成する。ここで、動作特性測定用のネットリストNLは、測定対象回路TCに関するタイミング制約や電力などの動作特性を測定するためのネットリストである。
(4) The
具体的には、例えば、情報処理装置101は、置換後の回路図データsdと置換後のレイアウトデータldとを用いてLPEを実行することにより、LPEネットリストを作成する。LPEネットリストは、動作特性測定用のネットリストNLの一例であり、例えば、通常のネットリストに、配線につく抵抗や容量などのシミュレーションで遅延を計算するための寄生素子の情報を含めたものである。
Specifically, for example, the
このように、情報処理装置101によれば、測定対象回路TCに関する動作特性測定用のネットリストNLを作成するにあたり、設計データDを加工して、動作特性の測定に不要な回路ブロックを削除したり、動作特性の測定に不要な信号伝播を抑止したりすることができる。
As described above, according to the
これにより、動作特性測定用のネットリストNLの作成にかかる実行時間と使用リソース量を削減することができる。また、作成されるネットリストNL自体のデータ量が削減されるため、後段のlib測定ツールにおける実行時間と使用リソースが少なくなり、ライブラリ開発にかかるコストを削減することが可能となる。 As a result, it is possible to reduce the execution time and the amount of resources used to create the netlist NL for measuring operating characteristics. In addition, since the data amount of the generated netlist NL itself is reduced, the execution time and resources used in the subsequent lib measurement tool are reduced, and the cost of library development can be reduced.
(情報処理システム200のシステム構成例)
つぎに、図1に示した情報処理装置101を含む情報処理システム200のシステム構成例について説明する。ここでは、図1に示した情報処理装置101を、情報処理システム200内のライブラリ開発支援装置201に適用した場合を例に挙げて説明する。情報処理システム200は、例えば、LSI設計などに用いるライブラリの開発を支援するサービスに適用される。
(System configuration example of information processing system 200)
Next, a system configuration example of an
図2は、情報処理システム200のシステム構成例を示す説明図である。図2において、情報処理システム200は、ライブラリ開発支援装置201と、クライアント装置202と、を含む。情報処理システム200において、ライブラリ開発支援装置201およびクライアント装置202は、有線または無線のネットワーク210を介して接続される。ネットワーク210は、例えば、インターネット、LAN(Local Area Network)、WAN(Wide Area Network)などである。
FIG. 2 is an explanatory diagram showing a system configuration example of the
ここで、ライブラリ開発支援装置201は、セル置換DB(Database)220を有し、回路ライブラリの開発を支援するコンピュータである。回路ライブラリは、タイミング制約情報、電力情報などを含むライブラリであり、例えば、LSI設計に用いられる。ライブラリ開発支援装置201は、例えば、サーバである。
Here, the library
セル置換DB220の記憶内容については、図4を用いて後述する。図1に示した記憶部110は、例えば、セル置換DB220に相当する。
The contents stored in the
クライアント装置202は、情報処理システム200のユーザが使用するコンピュータである。ユーザは、例えば、回路ライブラリの開発者である。クライアント装置202は、例えば、PC(Personal Computer)、タブレットPCなどである。
A
なお、ここではライブラリ開発支援装置201とクライアント装置202とを別体に設けることにしたが、これに限らない。例えば、ライブラリ開発支援装置201は、クライアント装置202により実現されることにしてもよい。また、情報処理システム200には、複数のクライアント装置202が含まれることにしてもよい。
Although the library
(ライブラリ開発支援装置201のハードウェア構成例)
図3は、ライブラリ開発支援装置201のハードウェア構成例を示すブロック図である。図3において、ライブラリ開発支援装置201は、CPU(Central Processing Unit)301と、メモリ302と、ディスクドライブ303と、ディスク304と、通信I/F(Interface)305と、可搬型記録媒体I/F306と、可搬型記録媒体307と、を有する。また、各構成部は、バス300によってそれぞれ接続される。
(Hardware Configuration Example of Library Development Support Device 201)
FIG. 3 is a block diagram showing a hardware configuration example of the library
ここで、CPU301は、ライブラリ開発支援装置201の全体の制御を司る。CPU301は、複数のコアを有していてもよい。メモリ302は、例えば、ROM(Read Only Memory)、RAM(Random Access Memory)およびフラッシュROMなどを有する。具体的には、例えば、フラッシュROMがOSのプログラムを記憶し、ROMがアプリケーションプログラムを記憶し、RAMがCPU301のワークエリアとして使用される。メモリ302に記憶されるプログラムは、CPU301にロードされることで、コーディングされている処理をCPU301に実行させる。
Here, the
ディスクドライブ303は、CPU301の制御に従ってディスク304に対するデータのリード/ライトを制御する。ディスク304は、ディスクドライブ303の制御で書き込まれたデータを記憶する。ディスク304としては、例えば、磁気ディスク、光ディスクなどが挙げられる。
The
通信I/F305は、通信回線を通じてネットワーク210に接続され、ネットワーク210を介して外部のコンピュータ(例えば、図2に示したクライアント装置202)に接続される。そして、通信I/F305は、ネットワーク210と装置内部とのインターフェースを司り、外部のコンピュータからのデータの入出力を制御する。通信I/F305には、例えば、モデムやLANアダプタなどを採用することができる。
The communication I/
可搬型記録媒体I/F306は、CPU301の制御に従って可搬型記録媒体307に対するデータのリード/ライトを制御する。可搬型記録媒体307は、可搬型記録媒体I/F306の制御で書き込まれたデータを記憶する。可搬型記録媒体307としては、例えば、CD(Compact Disc)-ROM、DVD(Digital Versatile Disk)、USB(Universal Serial Bus)メモリなどが挙げられる。
A portable recording medium I/
なお、ライブラリ開発支援装置201は、上述した構成部のほかに、例えば、入力装置、ディスプレイなどを有することにしてもよい。また、図2に示したクライアント装置202についても、ライブラリ開発支援装置201と同様のハードウェア構成により実現することができる。ただし、クライアント装置202は、上述した構成部のほかに、例えば、入力装置、ディスプレイなどを有する。
Note that the library
(セル置換DB220の記憶内容)
つぎに、ライブラリ開発支援装置201が有するセル置換DB220の記憶内容について説明する。セル置換DB220は、例えば、メモリ302、ディスク304などの記憶装置により実現される。
(Storage contents of cell replacement DB 220)
Next, the storage contents of the
図4は、セル置換DB220の記憶内容の一例を示す説明図である。図4において、セル置換DB220は、セル種別ごとに、置換用セルをあらわす置換用セルデータ(例えば、置換用セルデータ411~413,421~423,431~437,441~447)を記憶する。
FIG. 4 is an explanatory diagram showing an example of the contents stored in the
セル種は、置換用セルの種類を示す。セル種としては、例えば、基本セル、削除セル、入力固定セル1、入力固定セル2などがある。基本セルは、例えば、バッファ、ANDゲート、ORゲートなどである。削除セルは、セルを削除するための置換用セルを示す。入力固定セル1は、入力をグラウンド(0)に固定するための置換用セルを示す。入力固定セル2は、入力を電源電圧(1)に固定するための置換用セルを示す。
The cell type indicates the type of replacement cell. Cell types include, for example, a basic cell, a deleted cell, an input fixed
例えば、置換用セルデータ421は、バッファを削除するための置換用セルをあらわす。また、置換用セルデータ431は、バッファへの入力をグラウンドに固定するための置換用セルをあらわす。また、置換用セルデータ441は、バッファへの入力を電源電圧に固定するための置換用セルをあらわす。
For example,
なお、セル置換DB220には、例えば、基本セルをあらわす置換用セルデータ411~413は含まれていなくてもよい。また、セル置換DB220には、上述した置換用セルのほかに、例えば、接続に必要な配線データのみを持つ置換用セルが記憶されていてもよい。
The
(ライブラリ開発支援装置201の機能的構成例)
図5は、ライブラリ開発支援装置201の機能的構成例を示すブロック図である。図5において、ライブラリ開発支援装置201は、取得部501と、特定部502と、置換部503と、作成部504と、生成部505と、出力部506と、記憶部510と、を含む。取得部501~出力部506は制御部となる機能であり、具体的には、例えば、図3に示したメモリ302、ディスク304、可搬型記録媒体307などの記憶装置に記憶されたプログラムをCPU301に実行させることにより、または、通信I/F305により、その機能を実現する。各機能部の処理結果は、例えば、メモリ302、ディスク304などの記憶装置に記憶される。また、記憶部510は、例えば、メモリ302、ディスク304などの記憶装置により実現される。具体的には、例えば、記憶部510は、図4に示したセル置換DB220を記憶する。
(Example of functional configuration of library development support device 201)
FIG. 5 is a block diagram showing a functional configuration example of the library
取得部501は、動作特性の測定対象回路TCに関する設計データDを取得する。設計データDは、例えば、測定対象回路TCに関する回路図データsdと、測定対象回路TCに関するレイアウトデータldとを含む。回路図データsdは、レイアウトデータldに比べてデータ量が少ないため、高速な処理が可能である。レイアウトデータldについても、例えば、専用の加工ツールを使用することで、高速に処理することが可能である。
The
具体的には、例えば、取得部501は、図2に示したクライアント装置202から設計データDを受信することにより、受信した設計データDを取得する。また、取得部501は、クライアント装置202から設計データDの指定を受け付けることにより、不図示の設計データDBから、指定された設計データDを取得してもよい。また、取得部501は、不図示の入力装置を用いたユーザの操作により、入力された設計データDを取得してもよい。なお、測定対象回路TCの一例については、図6を用いて後述する。
Specifically, for example, the
特定部502は、取得された設計データDを用いた動作シミュレーションの結果に基づいて、測定対象回路TCのうちの動作する箇所を特定する。具体的には、例えば、特定部502は、測定対象回路TCに関する回路図データsdと、あらかじめ用意された測定パターンとを用いて、機能シミュレーションを行う。
The specifying
機能シミュレーションは、測定対象回路TCの機能を実現する動作を確認するための動作シミュレーションである。測定パターンは、入力する信号をあらわすものであり、シミュレーション対象とする機能に応じて作成される。なお、機能シミュレーションの結果の具体例については、図7を用いて後述する。 The function simulation is an operation simulation for confirming the operation that implements the functions of the circuit under test TC. A measurement pattern represents an input signal and is created according to a function to be simulated. A specific example of the results of the functional simulation will be described later with reference to FIG.
つぎに、特定部502は、機能シミュレーションの結果からアクティブリストを作成する。アクティブリストは、回路中で動作するネット、デバイスに関する情報の一覧である。そして、特定部502は、作成したアクティブリストと接続情報とに基づいて、測定対象回路TCのうちの動作する箇所を特定する。
Next, the identifying
接続情報は、測定対象回路TC内のセルとネットとの接続関係を示す情報である。接続情報は、例えば、測定対象回路TCに関する回路図データsdとレイアウトデータldとでLVSを実行することにより取得することができる。アクティブリストの具体例については、図8を用いて後述する。接続情報の具体例については、図9を用いて後述する。測定対象回路TCのうちの動作する箇所の特定例については、図10を用いて後述する。 The connection information is information indicating the connection relationship between the cells in the circuit under test TC and the net. The connection information can be obtained, for example, by executing LVS on the circuit diagram data sd and the layout data ld regarding the circuit to be measured TC. A specific example of the active list will be described later with reference to FIG. A specific example of the connection information will be described later with reference to FIG. An example of identifying an operating portion of the circuit to be measured TC will be described later with reference to FIG.
なお、動作シミュレーションは、ライブラリ開発支援装置201とは異なる他のコンピュータにおいて実行されてもよい。この場合、特定部502は、例えば、他のコンピュータから動作シミュレーションの結果を取得する。
Note that the operation simulation may be executed in another computer different from the library
置換部503は、記憶部510を参照して、取得された設計データDのうち、特定した箇所とは異なる他の箇所のセルを、動作特性の測定項目に応じて特定される置換用セルに置換する。ここで、記憶部510は、あらかじめ用意された複数の置換用セルを記憶する。測定項目としては、例えば、タイミング制約と電力がある。
The replacing
タイミング制約は、例えば、セットアップ時間、ホールド時間、入力容量、ディレイ値などである。電力は、例えば、リーク電力とダイナミック電力である。置換用セルへの置換処理は、例えば、設計データDに含まれる回路図データsdおよびレイアウトデータldそれぞれについて行われる。 Timing constraints are, for example, setup time, hold time, input capacitance, delay value, and the like. Power is, for example, leakage power and dynamic power. The replacement process with the replacement cell is performed for each of the circuit diagram data sd and the layout data ld included in the design data D, for example.
具体的には、例えば、置換部503は、測定項目がタイミング制約の場合、図4に示したセル置換DB220を参照して、他の箇所のセルを削除するための削除セルを特定し、他の箇所のセルを、特定した削除セルに置換する。この際、置換部503は、例えば、他の箇所の一部のセルを削除セルに置換してもよく、また、他の箇所の全てのセルを削除セルに置換してもよい。
Specifically, for example, when the measurement item is a timing constraint, the
また、置換部503は、測定項目が電力の場合、セル置換DB220を参照して、他の箇所のセルにおける信号伝搬を切断して入力を固定する入力固定セルを特定し、他の箇所のセルを、特定した入力固定セルに置換する。この際、置換部503は、例えば、他の箇所の一部のセルを入力固定セルに置換してもよく、また、他の箇所の全てのセルを入力固定セルに置換してもよい。
Further, when the measurement item is power,
入力固定セルは、他の箇所における信号伝搬を抑止するための置換用セルである。入力固定セルによれば、例えば、他の箇所のセルと別のセルとの接続関係を切断しつつ、フローティング状態とならないように、他の箇所のセルへの入力をグラウンドや電源電圧に固定することができる。 The input fixed cell is a replacement cell for suppressing signal propagation at other locations. According to the fixed input cell, for example, the input to the cell at another location is fixed to the ground or the power supply voltage so as not to be in a floating state while disconnecting the connection relationship between the cell at another location and another cell. be able to.
例えば、測定項目を「電力」とし、他の箇所のセルを「バッファ」とし、そのセルへの入力を「0」とする。この場合、置換部503は、セル置換DB220を参照して、バッファへの入力をグラウンド(0)に固定するための入力固定セル(置換用セルデータ431)を特定する。そして、置換部503は、他の箇所のセルを、特定した入力固定セル(置換用セルデータ431)に置換する。
For example, the measurement item is "power", the cell at another location is "buffer", and the input to that cell is "0". In this case, the
また、測定項目を「電力」とし、他の箇所のセルを「バッファ」とし、そのセルへの入力を「1」とする。この場合、置換部503は、セル置換DB220を参照して、バッファへの入力を電源(1)に固定するための入力固定セル(置換用セルデータ441)を特定する。そして、置換部503は、他の箇所のセルを、特定した入力固定セル(置換用セルデータ441)に置換する。
Also, the measurement item is "power", the cell at another location is "buffer", and the input to that cell is "1". In this case, the
以下の説明では、測定対象回路TCのうちの動作する箇所を「動作ブロック」と表記し、動作する箇所とは異なる他の箇所を「非動作ブロック」と表記する場合がある。 In the following description, an operating part of the circuit TC to be measured may be referred to as an "operating block", and other parts other than the operating part may be referred to as a "non-operating block".
ここで、非動作ブロックのセルを削除セルに置換した場合、動作ブロックのセルに接続されていた接続ネットがフローティング状態となってしまう。同様に、非動作ブロックのセルを入力固定セルに置換した場合、動作ブロックのセルに接続されていた接続ネットがフローティング状態となってしまうことがある。回路の入力がフローティング状態になっていると、期待通りのシミュレーションが行われない。 Here, if the cell of the non-operating block is replaced with the deleted cell, the connection net connected to the cell of the operating block will be in a floating state. Similarly, when a non-operating block cell is replaced with an input-fixed cell, the connection net connected to the operating block cell may become floating. The simulation does not work as expected when the inputs of the circuit are left floating.
このため、置換部503は、非動作ブロックのセルを置換用セルに置換した場合に、動作ブロックのセルのうち、フローティング状態となる接続ネットに接続されたセルを検出することにしてもよい。そして、置換部503は、検出したセルを、フローティング状態となる接続ネットからの入力を固定する入力固定セルに置換することにしてもよい。
For this reason, the replacing
具体的には、例えば、置換部503は、セル置換DB220を参照して、検出したセルへの入力に応じて、フローティング状態となる接続ネットからの入力を固定する入力固定セルを特定する。そして、置換部503は、検出したセルを、特定した入力固定セルに置換することにしてもよい。
Specifically, for example, the
作成部504は、置換後の設計データDに基づいて、測定対象回路TCに関する動作特性測定用のネットリストNLを作成する。ここで、動作特性測定用のネットリストNLは、測定対象回路TCに関するタイミング制約や電力などの動作特性を測定するためのネットリストである。 The creation unit 504 creates a netlist NL for operating characteristics measurement regarding the circuit to be measured TC based on the design data D after replacement. Here, the netlist NL for measuring operating characteristics is a netlist for measuring operating characteristics such as timing constraints and power regarding the circuit to be measured TC.
具体的には、例えば、作成部504は、置換後の回路図データsdと置換後のレイアウトデータldとを用いてLPEを実行することにより、LPEネットリストを作成する。LPEネットリストは、動作特性測定用のネットリストNLの一例であり、例えば、通常のネットリストに、配線につく抵抗や容量などのシミュレーションで遅延を計算するための寄生素子の情報を含めたものである。 Specifically, for example, the creation unit 504 creates an LPE netlist by executing LPE using circuit diagram data sd after replacement and layout data ld after replacement. An LPE netlist is an example of a netlist NL for measuring operating characteristics. For example, an ordinary netlist includes parasitic element information for calculating delays in simulations, such as resistance and capacitance attached to wiring. is.
より詳細に説明すると、例えば、作成部504は、置換後の回路図データsdと置換後のレイアウトデータldとでLVSを実行する。そして、作成部504は、LVSを実行して得られる接続情報と形状情報と、所定の環境条件とに基づいて、LPEを実行することにより、LPEネットリストを作成する。 More specifically, for example, the creating unit 504 performs LVS on the circuit diagram data sd after replacement and the layout data ld after replacement. Then, the creating unit 504 creates an LPE netlist by executing LPE based on connection information and shape information obtained by executing LVS, and predetermined environmental conditions.
接続情報は、セルとネットとの接続関係を示す情報である。形状情報は、レイアウトの幾何学情報であり、例えば、レイアウト上での各部品の位置などを特定可能である。所定の環境条件は、任意に指定可能であり、例えば、温度と配線バラツキ条件の組み合わせによってあらわされる。所定の環境条件は、例えば、取得部501によって取得される。
The connection information is information indicating connection relationships between cells and nets. The shape information is layout geometric information, and can specify, for example, the position of each component on the layout. Predetermined environmental conditions can be arbitrarily designated, and are represented, for example, by a combination of temperature and wiring variation conditions. The predetermined environmental conditions are obtained by the obtaining
なお、LVSを実行すると、接続情報、形状情報のほかに、例えば、対応関係情報が得られる。対応関係情報は、回路図データsd内の部品(セル、ネット)が、レイアウトデータld内のどの部品と対応しているかを示す情報である。対応関係情報の具体例については、図13および図14を用いて後述する。 Incidentally, when LVS is executed, in addition to connection information and shape information, correspondence information, for example, can be obtained. Correspondence information is information indicating which component (cell, net) in the circuit diagram data sd corresponds to which component in the layout data ld. A specific example of the correspondence information will be described later with reference to FIGS. 13 and 14. FIG.
生成部505は、作成された動作特性測定用のネットリストNLを用いて、測定対象回路TCの動作特性をあらわすライブラリデータを生成する。具体的には、例えば、生成部505は、作成されたLPEネットリストを用いて、既存のlib測定ツールを実行することにより、測定対象回路TCのタイミング制約、電力などをあらわすライブラリデータを生成する。
The
lib測定ツールには、LPEネットリストのほかに、例えば、各種測定に必要な測定パターン、ツールの設定や測定条件を記述した設定ファイルが入力される。測定パターンや設定ファイルは、例えば、取得部501によって取得される。
In the lib measurement tool, in addition to the LPE netlist, for example, a setting file describing measurement patterns, tool settings, and measurement conditions required for various measurements is input. The measurement pattern and setting file are acquired by the
出力部506は、生成された測定対象回路TCの動作特性をあらわすライブラリデータを出力する。出力部506の出力形式としては、例えば、メモリ302、ディスク304などの記憶装置への記憶、通信I/F305による他のコンピュータ(例えば、図2に示したクライアント装置202)への送信、不図示のディスプレイへの表示などがある。
The output unit 506 outputs library data representing the operating characteristics of the generated circuit to be measured TC. The output format of the output unit 506 includes, for example, storage in a storage device such as the
具体的には、例えば、出力部506は、測定対象回路TCと対応付けて、生成されたライブラリデータを、不図示の回路ライブラリに登録することにしてもよい。これにより、LSI設計に用いられる回路ライブラリを作成することができる。 Specifically, for example, the output unit 506 may register the generated library data in a circuit library (not shown) in association with the circuit to be measured TC. Thereby, a circuit library used for LSI design can be created.
また、出力部506は、作成された動作特性測定用のネットリストNLを出力することにしてもよい。具体的には、例えば、出力部506は、測定対象回路TCと対応付けて、LPEネットリストを他のコンピュータに送信することにしてもよい。これにより、他のコンピュータにおいて、LPEネットリストを用いて、測定対象回路TCの動作特性をあらわすライブラリデータを生成することができる。 The output unit 506 may also output the created netlist NL for measuring operating characteristics. Specifically, for example, the output unit 506 may transmit the LPE netlist to another computer in association with the circuit to be measured TC. As a result, another computer can use the LPE netlist to generate library data representing the operating characteristics of the circuit to be measured TC.
(測定対象回路TC内の動作ブロックの特定例)
つぎに、図6~図10を用いて、測定対象回路TC内の動作ブロックの特定例について説明する。まず、図6を用いて、測定対象回路TCの一例について説明する。
(Specification example of operation block in circuit to be measured TC)
Next, a specific example of operation blocks in the circuit to be measured TC will be described with reference to FIGS. 6 to 10. FIG. First, an example of the circuit to be measured TC will be described with reference to FIG.
図6は、測定対象回路の一例を示す説明図である。図6において、測定対象回路600は、動作特性の測定対象となる回路の一例である。図6に示す測定対象回路600は、測定対象回路TCに関する回路図データsdを可視化したものに相当する。 FIG. 6 is an explanatory diagram of an example of a circuit to be measured. In FIG. 6, a circuit to be measured 600 is an example of a circuit whose operating characteristics are to be measured. A circuit to be measured 600 shown in FIG. 6 corresponds to a visualization of the circuit diagram data sd regarding the circuit to be measured TC.
測定対象回路600において、I0~I9は、セルの名前を示す。例えば、セルI0は、インバータである。セルI1は、ANDゲートである。a~iは、接続ネットの名前を示す。例えば、接続ネットaは、セルI0とセルI1とを接続する。IN、TEST、OUTは、それぞれ入出力ピン名を示す。
In the circuit under
つぎに、図7を用いて、機能シミュレーションの結果の具体例について説明する。ここでは、図6に示した測定対象回路600の回路図データsdと測定パターンとを用いて実行された機能シミュレーションの結果を例に挙げて説明する。また、動作特性の測定項目がタイミング制約である場合を例に挙げて説明する。
Next, a specific example of the results of functional simulation will be described with reference to FIG. Here, the result of the functional simulation executed using the circuit diagram data sd of the circuit under
図7は、シミュレーション結果の具体例を示す説明図である。図7において、シミュレーション結果700は、機能シミュレーションの結果を示す。シミュレーション結果700には、各接続ネット、入出力ピンにおける信号の変化が示されている。ここでは、入力信号TESTは、常に0であるとする。
FIG. 7 is an explanatory diagram showing a specific example of simulation results. In FIG. 7, a
つぎに、図8を用いて、アクティブリストの具体例について説明する。ここでは、図7に示したシミュレーション結果700から作成されるアクティブリストを例に挙げて説明する。
Next, a specific example of the active list will be described with reference to FIG. Here, an active list created from the
図8は、アクティブリストの具体例を示す説明図である。図8において、アクティブリスト800は、機能シミュレーションにおいて、測定対象回路600(図6参照)のうちの動作するネットに関する情報の一覧である。
FIG. 8 is an explanatory diagram showing a specific example of the active list. In FIG. 8, an
アクティブリスト800において、1列目は、接続ネット名を示す。また、2列目は、接続ネットの状態を示す。iは、入力ピンを示す。oは、出力ピンを示す。1/0は、それぞれシミュレーション期間中常に1または0に固定であることを示す。xは、シミュレーション期間中に変化したことを示す。
In the
つぎに、図9を用いて、接続情報の具体例について説明する。ここでは、測定対象回路600(図6参照)の回路図データsdとレイアウトデータldとでLVSを実行して得られる接続情報を例に挙げて説明する。 Next, a specific example of connection information will be described with reference to FIG. Here, connection information obtained by executing LVS on the circuit diagram data sd and the layout data ld of the circuit to be measured 600 (see FIG. 6) will be described as an example.
図9は、接続情報の具体例を示す説明図である。図9において、接続情報900は、測定対象回路600(図6参照)内のセルとネットとの接続関係を示す。接続情報900において、1列目は、測定対象回路600で使用されているセルの名前を示す。2列目以降は、1列目に示したセルに接続されるネット情報を示す。
FIG. 9 is an explanatory diagram showing a specific example of connection information. In FIG. 9,
つぎに、図10を用いて、測定対象回路600内の動作ブロックの特定例について説明する。ここでは、図8に示したアクティブリスト800と、図9に示した接続情報900とに基づいて、測定対象回路600内の動作ブロックを特定する場合について説明する。
Next, a specific example of operation blocks in the circuit under
図10は、動作ブロックの特定例を示す説明図である。図10において、動作箇所特定結果1000は、測定対象回路600内の動作ブロックを特定可能な情報の一例である。動作箇所特定結果1000において、丸印で囲まれた箇所は、シミュレーション期間中に変化した接続ネット(状態x)と入出力ピンを示す。
FIG. 10 is an explanatory diagram showing a specific example of operation blocks. In FIG. 10 , an operation
丸印の箇所は、シミュレーション期間中に変化した接続ネット(状態x)と、その接続ネットとセルとの接続関係から特定される。ここでは、セルI0~I5が動作ブロックとして特定され、セルI6~I9が非動作ブロックとして特定される。 The circled portions are specified from the connection net (state x) that changed during the simulation period and the connection relationship between the connection net and the cell. Here, cells I0-I5 are identified as active blocks, and cells I6-I9 are identified as non-active blocks.
動作箇所特定結果1000によれば、セルI6~I9に接続されている接続ネットe~iはシミュレーション期間中に変化していないため、セルI6~I9を含むブロックが、タイミング制約では不要なブロックであることを特定することができる。
According to the operation
(測定対象回路内の非動作ブロックの第1の置換例)
図11および図12を用いて、測定対象回路600内の非動作ブロック(セルI6~I9)の第1の置換例について説明する。ここでは、測定対象回路600に関する回路図データsdに対する置換処理を例に挙げて説明する。また、動作特性の測定項目は、タイミング制約である。
(First replacement example of a non-operating block in the circuit to be measured)
A first replacement example of non-operating blocks (cells I6 to I9) in circuit under
図11および図12は、測定対象回路内の非動作ブロックの第1の置換例を示す説明図である。図11において、動作特性の測定項目がタイミング制約のため、測定対象回路600内の非動作ブロックの各セルI6~I9が、削除セル1101~1104にそれぞれ置換されている。
11 and 12 are explanatory diagrams showing a first replacement example of non-operating blocks in the circuit under test. In FIG. 11, the cells I6 to I9 of the non-operating blocks in the circuit under
セルI6を例に挙げると、置換部503は、例えば、セル置換DB220を参照して、セルI6と同じ種別(バッファ)の削除セルをあらわす置換用セルデータ421を特定する。そして、置換部503は、特定した置換用セルデータ421を用いて、測定対象回路600内のセルI6を削除セル1101に置換する。
Taking the cell I6 as an example, the
ここで、接続ネットiに関して、セルI9が削除セル1104に置換されると、セルI4の接続ネットi側の入力がフローティング状態となる。フローティング状態は、期待通りのシミュレーションが行われないため、入力を固定する必要がある。接続ネットiは、シミュレーション結果700やアクティブリスト800から「0」に固定されていることが特定される。
Here, regarding the connection net i, when the cell I9 is replaced with the
図12において、置換部503は、セルI9を削除セル1104に置換した場合に、フローティング状態となる接続ネットiに接続されたセルI4を検出する。そして、置換部503は、検出したセルI4を、接続ネットiからの入力を固定する入力固定セル1201に置換する。
In FIG. 12, the
より詳細に説明すると、例えば、セルI4の入力側に接続されるもう一方の接続ネットdは、シミュレーション期間中に変化した接続ネットである。このため、置換部503は、セル置換DB220を参照して、セルI4と同じ種別(ORゲート)で、かつ、2入力のうち、一方の入力を外部からの入力とし、他方の入力をグラウンド(0)に固定する入力固定セルをあらわす置換用セルデータ436を特定する。そして、置換部503は、特定した置換用セルデータ436を用いて、測定対象回路600内のセルI4を入力固定セル1201に置換する。
More specifically, for example, the other connection net d connected to the input side of cell I4 is a connection net that changed during the simulation period. For this reason, the
また、置換部503は、回路図データsdと同様に、測定対象回路600に関するレイアウトデータldに対しても、例えば、図13および図14に示すような対応関係情報1300,1400を参照して、非動作ブロックのセルを置換用セルに置換する処理を行う。具体的には、例えば、置換部503は、対応関係情報1300,1400を参照して、回路図データsdと同じ箇所のセルを、回路図データsdと同じ置換用セルに置換する。
Further, the replacing
図13および図14は、対応関係情報の具体例を示す説明図である。図13において、対応関係情報1300は、測定対象回路600に関する回路図データsd内のセルが、測定対象回路600に関するレイアウトデータld内のどのセルと対応しているかを示す。対応関係情報1300において、1列目は、回路図データsdのセル名を示す。2列目は、レイアウトデータldのセル名を示す。
13 and 14 are explanatory diagrams showing specific examples of correspondence information. In FIG. 13, the
図14において、対応関係情報1400は、測定対象回路600に関する回路図データsd内の接続ネットが、測定対象回路600に関するレイアウトデータld内のどの接続ネットと対応しているかを示す。対応関係情報1400において、1列目は、回路図データsdの接続ネット名を示す。2列目は、レイアウトデータldの接続ネット名を示す。
In FIG. 14, the
対応関係情報1300,1400によれば、回路図データsd内の各部品(セル、接続ネット)が、レイアウトデータld内のどの部品と対応しているかを特定することができる。このため、置換部503は、レイアウトデータldに対しても、回路図データsdと同様の処理手順により、非動作ブロックのセルを置換用セルに置換することができる。
According to the
(測定対象回路内の非動作ブロックの第2の置換例)
図15を用いて、測定対象回路600内の非動作ブロック(セルI6~I9)の第2の置換例について説明する。ここでは、測定対象回路600に関する回路図データsdに対する置換処理を例に挙げて説明する。また、動作特性の測定項目は、電力である。また、測定パターンは、タイミング制約の場合と同じものとする。
(Second replacement example of non-operating block in circuit to be measured)
A second replacement example of non-operating blocks (cells I6 to I9) in circuit under
動作特性の測定項目が電力の場合、非動作ブロックのセルを削除セルに置換すると、リーク電力を正しく測定することができない。このため、置換部503は、非動作ブロックのセルを、当該セルにおける信号伝播を切断して入力を固定する入力固定セルに置換する。すなわち、置換部503は、動作しない接続ネットを切り離して、入力を固定したセルに置き換える。
When the operating characteristic measurement item is power, if cells in non-operating blocks are replaced with deleted cells, leakage power cannot be measured correctly. Therefore, the replacing
図15は、測定対象回路内の非動作ブロックの第2の置換例を示す説明図である。図15において、動作特性の測定項目が電力のため、測定対象回路600内の非動作ブロックの各セルI6~I9が、入力固定セル1501~1504にそれぞれ置換されている。
FIG. 15 is an explanatory diagram of a second replacement example of non-operating blocks in the circuit to be measured. In FIG. 15, since the operating characteristic measurement item is power, the non-operating block cells I6 to I9 in the circuit under
セルI6を例に挙げると、置換部503は、例えば、セル置換DB220を参照して、セルI6と同じ種別(バッファ)で、かつ、セルI6における信号伝播を切断して入力を固定する入力固定セルをあらわす置換用セルデータ431を特定する。そして、置換部503は、特定した置換用セルデータ431を用いて、測定対象回路600内のセルI6を入力固定セル1501に置換する。
Taking the cell I6 as an example, the
また、接続ネットiに関して、セルI9が入力固定セル1504に置換されると、セルI4の接続ネットi側の入力がフローティング状態となる。このため、置換部503は、セルI4を、接続ネットiからの入力をグラウンド(0)に固定する入力固定セル1505に置換する。
For connection net i, when cell I9 is replaced with input fixed
(ライブラリ開発支援装置201の動作例)
つぎに、図16A、図16Bおよび図16Cを用いて、ライブラリ開発支援装置201の動作例について説明する。
(Example of operation of library development support device 201)
Next, an operation example of the library
図16A、図16Bおよび図16Cは、ライブラリ開発支援装置201の動作例を示す説明図である。図16Aにおいて、まず、ライブラリ開発支援装置201は、測定対象回路TCに関するレイアウトデータ1601と回路図データ1602とでLVSを実行する。この結果、接続情報(例えば、図9参照)、形状情報および対応関係情報(例えば、図13および図14参照)を含むLVS結果1603が出力される。
16A, 16B, and 16C are explanatory diagrams showing an operation example of the library
また、ライブラリ開発支援装置201は、動作特性の測定項目がタイミング制約の場合、回路図データ1602と、図16Cに示す測定パターン1621(タイミング制約)とに基づいて、機能シミュレーション(タイミング制約)を行う。この結果、測定パターン1621ごとのアクティブリスト1604(タイミング制約)が出力される。
Further, when the measurement item of the operating characteristics is the timing constraint, the library
また、ライブラリ開発支援装置201は、動作特性の測定項目が電力の場合、回路図データ1602と、図16Cに示す測定パターン1622(電力)とに基づいて、機能シミュレーション(電力)を行う。この結果、測定パターン1622ごとのアクティブリスト1605(電力)が出力される。
When the operating characteristic measurement item is power, the library
つぎに、ライブラリ開発支援装置201は、レイアウトデータ1601、回路図データ1602、LVS結果1603、アクティブリスト1604(タイミング制約)およびアクティブリスト1605(電力)に基づいて、セル置換DB220を参照して、データ加工処理を実行する。
Next, library
ここで、図17を用いて、データ加工処理例について説明する。 Here, an example of data processing will be described with reference to FIG. 17 .
図17は、ライブラリ開発支援装置201のデータ加工処理例を示す説明図である。図17において、ライブラリ開発支援装置201は、LVS結果1603、アクティブリスト1604(タイミング制約)に基づいて、セル置換DB220を参照して、レイアウトデータ1601および回路図データ1602それぞれに対するデータ加工(タイミング制約)を行う。
FIG. 17 is an explanatory diagram showing an example of data processing by the library
データ加工(タイミング制約)では、例えば、図11および図12に示したような置換用セルへの置換が行われる。この結果、置換後のレイアウトデータ(タイミング制約)1601-1および置換後の回路図データ(タイミング制約)1602-1が出力される。 In data processing (timing constraint), for example, replacement with replacement cells as shown in FIGS. 11 and 12 is performed. As a result, layout data (timing constraints) 1601-1 after replacement and circuit diagram data (timing constraints) 1602-1 after replacement are output.
また、ライブラリ開発支援装置201は、LVS結果1603、アクティブリスト1605(電力)に基づいて、セル置換DB220を参照して、レイアウトデータ1601および回路図データ1602それぞれに対するデータ加工(電力)を行う。データ加工(電力)では、例えば、図15に示したような置換用セルへの置換が行われる。この結果、置換後のレイアウトデータ(電力)1601-2および置換後の回路図データ(電力)1602-2が出力される。
Further, the library
図16Bにおいて、ライブラリ開発支援装置201は、置換後のレイアウトデータ(タイミング制約)1601-1と置換後の回路図データ(タイミング制約)1602-1とでLVS(タイミング制約)を実行する。この結果、接続情報、形状情報および対応関係情報(不図示)を含むLVS結果(タイミング制約)1611が出力される。
In FIG. 16B, the library
また、ライブラリ開発支援装置201は、置換後のレイアウトデータ(電力)1601-2と置換後の回路図データ(電力)1602-2とでLVS(電力)を実行する。この結果、接続情報、形状情報および対応関係情報(不図示)を含むLVS結果(電力)1612が出力される。
Further, the library
つぎに、ライブラリ開発支援装置201は、LVS結果(タイミング制約)1611と環境条件1613とに基づいて、LPEを実行する。この結果、環境条件1613ごとのLPEネットリスト(タイミング制約)1614が出力される。
Next, the library
また、ライブラリ開発支援装置201は、LVS結果(電力)1612と環境条件1613とに基づいて、LPEを実行する。この結果、環境条件1613ごとのLPEネットリスト(電力)1615が出力される。
Also, the library
図16Cにおいて、ライブラリ開発支援装置201は、LPEネットリスト(タイミング制約)1614と、測定パターン(タイミング制約)1621と、設定ファイル1623とを用いて、lib測定ツールを実行する。設定ファイル1623は、ツールの各種設定や測定条件を含む。lib測定ツールでは、測定対象回路TCが認識され、測定回路が抽出され、ライブラリデータが測定される。
16C, the library
また、ライブラリ開発支援装置201は、LPEネットリスト(電力)1615と、測定パターン(電力)1622と、設定ファイル1623とを用いて、lib測定ツールを実行する。lib測定ツールでは、測定対象回路TCが認識され、ライブラリデータが測定される。
Also, the library
この結果、回路ライブラリlibにライブラリデータ1624が出力される。ライブラリデータ1624は、測定対象回路TCの動作特性(タイミング制約、電力)をあらわす情報である。ここで、ライブラリ開発支援装置201のデータ加工処理の具体的な処理手順について説明する。
As a result,
図18は、ライブラリ開発支援装置201のデータ加工処理手順を示すフローチャートである。図18のフローチャートにおいて、ライブラリ開発支援装置201は、測定対象回路TCに関する回路図データsdとレイアウトデータldとを取得する(ステップS1801)。そして、ライブラリ開発支援装置201は、取得した回路図データsdとレイアウトデータldとでLVSを実行する(ステップS1802)。
FIG. 18 is a flow chart showing a data processing procedure of the library
つぎに、ライブラリ開発支援装置201は、取得した回路図データsdと、測定パターンとを用いて、機能シミュレーションを行う(ステップS1803)。そして、ライブラリ開発支援装置201は、機能シミュレーションの結果とLVSの結果(接続情報)とに基づいて、測定対象回路TC内の動作ブロックを特定する(ステップS1804)。
Next, the library
つぎに、ライブラリ開発支援装置201は、取得した回路図データsdに対する置換処理を実行する(ステップS1805)。置換処理は、測定対象回路TCのうち動作ブロックとは異なる非動作ブロックのセルを置換用セルに置換する処理である。回路図データsdに対する置換処理の具体的な処理手順については、図19を用いて後述する。
Next, the library
つぎに、ライブラリ開発支援装置201は、取得したレイアウトデータldに対する置換処理を実行する(ステップS1806)。レイアウトデータldに対する置換処理の具体的な処理手順については、図19に示す回路図データsdに対する置換処理の具体的な処理手順と同様のため、図示および説明を省略する。ただし、レイアウトデータldに対する置換処理は、例えば、LVSの結果(対応関係情報)を用いて行われる。
Next, the library
そして、ライブラリ開発支援装置201は、置換後の回路図データsdと、置換後のレイアウトデータldとを出力して(ステップS1807)、本フローチャートによる一連の処理を終了する。なお、ステップS1802とステップS1803の処理は、実行順序が逆であってもよく、並列に実行されてもよい。また、ステップS1805とステップS1806の処理は、実行順序が逆であってもよく、並列に実行されてもよい。
Then, the library
つぎに、図19を用いて、図18に示したステップS1805の置換処理の具体的な処理手順について説明する。 Next, a specific processing procedure of the replacement processing in step S1805 shown in FIG. 18 will be described with reference to FIG.
図19は、置換処理の具体的処理手順の一例を示すフローチャートである。図19のフローチャートにおいて、まず、ライブラリ開発支援装置201は、セル置換DB220を参照して、特定した動作ブロックとは異なる非動作ブロックのセルを、動作特性の測定項目に応じて特定される置換用セルに置換する(ステップS1901)。
FIG. 19 is a flowchart illustrating an example of a specific processing procedure for replacement processing. In the flowchart of FIG. 19, first, the library
つぎに、ライブラリ開発支援装置201は、動作ブロックのセルのうち、フローティング状態となる接続ネットに接続されたセルを検出する(ステップS1902)。そして、ライブラリ開発支援装置201は、セル置換DB220を参照して、検出したセルを、フローティング状態となる接続ネットからの入力を固定する入力固定セルに置換して(ステップS1903)、置換処理を呼び出したステップに戻る。
Next, the library
これにより、ライブラリ開発支援装置201は、LPEネットリスト作成の入力となるデータに対して、ライブラリ開発に不要な回路ブロックを削除したり、ライブラリ開発に不要な信号伝播を抑止したりする加工を施すことができる。
As a result, the library
(実施例)
つぎに、測定対象回路TCとしてメモリ回路を用いた実施例について説明する。
(Example)
Next, an embodiment using a memory circuit as the circuit to be measured TC will be described.
図20は、メモリ回路の一例を示す説明図である。図20において、メモリ回路2000は、メモリセルアレイ2001と、センスアンプ2002と、デコード回路2003と、入出力回路2004と、制御回路2005とを含む。メモリセルアレイ2001には、データを保持するメモリセルMCが行列上に配置されている。
FIG. 20 is an explanatory diagram showing an example of a memory circuit. 20,
センスアンプ2002は、メモリセルアレイ2001からデータを読み出す際にデータを増幅する。デコード回路2003は、メモリセルアレイ2001のどの行を選択するか決定する。入出力回路2004は、データの入出力を行う。制御回路2005は、メモリ回路2000全体を制御する。
A
Dは、書き込みデータを示す。Qは、読み出しデータを示す。Aは、メモリセルMCを選択するアドレスデータを示す。WRは、書き込み/読み出し選択信号を示す。CKは、動作の基準となるクロック信号を示す。ここで、動作特性の測定項目がタイミング制約の場合を想定する。この場合、ライブラリ開発支援装置201は、メモリ回路2000のタイミング制約に関する動作シミュレーションを行う。
D indicates write data. Q indicates read data. A indicates address data for selecting a memory cell MC. WR indicates a write/read selection signal. CK indicates a clock signal that serves as a reference for operation. Here, it is assumed that the measurement item of the operating characteristics is the timing constraint. In this case, the library
図21は、メモリ回路の読み出しデータの流れを示す説明図である。ライブラリ開発支援装置201は、例えば、メモリセルMCそれぞれの電流値を観測し、電流値が一定の閾値を超えたセルを動作セルとして判定することができる。また、ライブラリ開発支援装置201は、読み出しディレイを観測し、最大ディレイパスと最小ディレイパスのビットから、該当するビットのセンスアンプ2002-1,2002-2と入出力回路2004-1,2004-2を特定することができる。
FIG. 21 is an explanatory diagram showing the flow of read data in the memory circuit. The library
ライブラリ開発支援装置201は、これらの情報とLVSの出力情報(LVS結果)とを組み合わせて、動作しないメモリセルMCとディレイ測定に影響しないセンスアンプ2002と入出力回路2004を特定する。動作しないメモリセルMCは、例えば、範囲2101,2102,2103,2104外のセルである。
The library
ディレイ測定に影響しないセンスアンプ2002は、センスアンプ2002-1,2002-2以外のセンスアンプである。ディレイ測定に影響しない入出力回路2004は、入出力回路2004-1,2004-2以外の入出力回路である。そして、ライブラリ開発支援装置201は、セル置換DB220を参照して、特定したメモリセルMC等を、動作に影響しないよう最低限の接続に必要な置換用セルに置き換える処理を行う。
図22は、置換後のメモリ回路の一例を示す説明図である。図22において、メモリ回路2000から、非動作ブロック2201,2202が削除されている。ただし、図22では、非動作ブロック2201,2202の削除がハッチングによって表現されている。非動作ブロック2201,2202では、例えば、各セルが、接続に必要な配線データのみを持つセルに置き換えられる。
FIG. 22 is an explanatory diagram of an example of a memory circuit after replacement. In FIG. 22,
つぎに、動作特性の測定項目が電力の場合を想定する。この場合、ライブラリ開発支援装置201は、メモリ回路2000の電力に関する動作シミュレーションを行う。電力測定では、動作するブロック以外を削除してしまうとリーク電力が正しく測定できないため、タイミング制約とは異なる処理が必要である。
Next, it is assumed that the measurement item of the operating characteristics is power. In this case, the library
図23は、デコード回路の一例を示す説明図である。図23において、デコード回路2003のdec[m-2]、WL[n-1]、WL[n-2]は、動作しない接続ネットであるとする。ここで、WL[n-1]を駆動するゲートAの入力は変化していないが、その手前のゲートBの入力は変化している。
FIG. 23 is an explanatory diagram of an example of a decoding circuit. In FIG. 23, it is assumed that dec[m−2], WL[n−1], and WL[n−2] of the
このため、ライブラリ開発支援装置201は、ゲートAの入力をグラウンドに固定したセルに置き換える。また、WL[n-2]について、ゲートCの入力が変化していない。このため、ライブラリ開発支援装置201は、ゲートCの入力をグラウンドに固定したセルに置き換える。また、dec[m-2]について、ゲートDの入力が変化していない。このため、ライブラリ開発支援装置201は、ゲートDの入力をグラウンドに固定したセルに置き換える。
Therefore, the library
図24は、置換後のデコード回路の一例を示す説明図である。図24において、デコード回路2003内のゲートAが入力固定セル2401に置換されている。また、ゲートCが入力固定セル2402に置換されている。また、ゲートDが入力固定セル2403に置換されている。
FIG. 24 is an explanatory diagram of an example of a decoding circuit after replacement. In FIG. 24, gate A in
このように、ライブラリ開発支援装置201によれば、デコード回路2003内の動作しないゲートの入力をグラウンド(あるいは、電源電圧)に固定したセルに置き換えることで、信号伝搬を減らして動作領域を減らすことができる。これにより、ライブラリ測定精度を落とすことなく、lib測定ツールの実行時間と使用リソースの削減を実現することができる。
In this way, according to the library
以上説明したように、実施の形態にかかるライブラリ開発支援装置201によれば、測定対象回路TCに関する設計データDを取得し、取得した設計データDを用いた動作シミュレーションの結果に基づいて、測定対象回路TCのうちの動作ブロックを特定することができる。そして、ライブラリ開発支援装置201によれば、記憶部510(例えば、セル置換DB220)を参照して、設計データDのうち、特定した動作ブロックとは異なる非動作ブロックのセルを、動作特性の測定項目に応じて特定される置換用セルに置換し、置換後の設計データDに基づいて、測定対象回路TCに関する動作特性測定用のネットリストNLを作成することができる。
As described above, according to the library
これにより、測定対象回路TCに関する動作特性測定用のネットリストNLを作成するにあたり、設計データDを加工して、動作特性測定用のネットリストNLの作成にかかる実行時間と使用リソース量を削減することができる。また、作成されるネットリストNL自体のデータ量を削減することができる。また、例えば、マクロ設計では、基本ゲートを組み合わせて機能ブロックを作り、その機能ブロックを複数組み合わせて必要な機能を実現するマクロを設計するという階層設計が行われる。ここでは、あらかじめ基本ゲートの置換用セルを用意しておくことで、データ加工時は、非動作ブロックに関連した基本ゲートを、その動作に応じた置換用セルに置き換えるだけで済むため、処理を単純化することが可能になる。 As a result, the design data D is processed to reduce the execution time and resource usage required for creating the operating characteristic measurement netlist NL for the circuit to be measured TC. be able to. Also, the amount of data of the generated netlist NL itself can be reduced. Further, for example, in macro design, hierarchical design is performed in which basic gates are combined to form functional blocks, and a plurality of such functional blocks are combined to design a macro that implements a required function. Here, by preparing replacement cells for basic gates in advance, when processing data, it is only necessary to replace basic gates related to non-operating blocks with replacement cells according to the operation. simplification is possible.
また、ライブラリ開発支援装置201によれば、動作特性の測定項目がタイミング制約の場合、記憶部510を参照して、非動作ブロックのセルを削除するための削除セルを特定し、非動作ブロックのセルを、特定した削除セルに置換することができる。
Further, according to the library
これにより、設計データDから動作特性の測定に不要な回路ブロックを削除して、動作特性測定用のネットリストNLの作成にかかる実行時間と使用リソース量を削減することができる。 As a result, it is possible to delete the circuit blocks unnecessary for the measurement of the operating characteristics from the design data D, thereby reducing the execution time and resource usage required for creating the netlist NL for measuring the operating characteristics.
また、ライブラリ開発支援装置201によれば、動作特性の測定項目が電力の場合、記憶部510を参照して、非動作ブロックのセルにおける信号伝搬を切断して入力を固定する入力固定セルを特定し、非動作ブロックのセルを、特定した入力固定セルに置換することができる。
Further, according to the library
これにより、設計データDから動作特性の測定に不要な素子間の接続関係を削除して動作特性の測定に不要な信号伝播を抑止することができる。この結果、動作特性の測定に不要な信号伝播を判断しないことになり、動作特性測定用のネットリストNLの作成にかかる実行時間と使用リソース量を削減することができる。 As a result, it is possible to eliminate from the design data D the connection relationships between the elements that are unnecessary for the measurement of the operating characteristics, thereby suppressing signal propagation that is unnecessary for the measurement of the operating characteristics. As a result, unnecessary signal propagation is not determined for measurement of operating characteristics, and the execution time and amount of resources used to create netlist NL for measuring operating characteristics can be reduced.
また、ライブラリ開発支援装置201によれば、動作ブロックのセルのうち、非動作ブロックのセルを置換用セルに置換した場合にフローティング状態となる接続ネットに接続されたセルを検出し、検出したセルを、接続ネットからの入力を固定する入力固定セルに置換することができる。
Further, according to the library
これにより、動作特性の測定に不要な回路ブロックを削除したり、素子間の接続関係を削除したりすることで、動作ブロックのセルに接続された接続ネットがフローティング状態になるのを防ぐことができる。このため、動作特性の測定時に測定対象回路TCの動作が不安定なものとなることを回避することができる。 As a result, it is possible to prevent the connection nets connected to the cells of the operation block from becoming floating by deleting circuit blocks that are not necessary for measuring the operating characteristics or by deleting the connection relationships between elements. can. Therefore, it is possible to prevent the operation of the circuit to be measured TC from becoming unstable when measuring the operating characteristics.
また、ライブラリ開発支援装置201によれば、測定対象回路TCに関する回路図データsdと、測定対象回路TCに関するレイアウトデータldとを含む設計データDを取得し、回路図データsdと測定パターンとを用いた動作シミュレーションの結果に基づいて、測定対象回路TCのうちの動作ブロックを特定することができる。
Further, according to the library
これにより、レイアウトデータldに比べてデータ量が少ない回路図データsdを用いて、測定対象回路TCの動作シミュレーションを行うことで、動作ブロックの特定にかかる処理の高速化を図ることができる。 As a result, by using the circuit diagram data sd, which has a smaller amount of data than the layout data ld, to simulate the operation of the circuit to be measured TC, it is possible to speed up the process of identifying the operation block.
また、ライブラリ開発支援装置201によれば、作成した動作特性測定用のネットリストNLを用いて、測定対象回路TCの動作特性をあらわすライブラリデータを生成し、生成したライブラリデータを出力することができる。
Further, according to the library
これにより、回路ライブラリを生成することができる。また、ライブラリデータを生成するにあたり、ネットリストNL自体のデータ量が削減されているため、例えば、lib測定ツールにおける実行時間と使用リソースが少なくなり、ライブラリ開発にかかるコストを削減することができる。 Thereby, a circuit library can be generated. In addition, since the data amount of the netlist NL itself is reduced when generating the library data, for example, the execution time and resources used in the lib measurement tool are reduced, and the cost required for library development can be reduced.
また、ライブラリ開発支援装置201によれば、作成した動作特性測定用のネットリストNLを出力することができる。
Further, according to the library
これにより、他のコンピュータにおいて、LPEネットリストを用いて、測定対象回路TCの動作特性をあらわすライブラリデータを生成することができる。 As a result, another computer can use the LPE netlist to generate library data representing the operating characteristics of the circuit to be measured TC.
これらのことから、ライブラリ開発支援装置201によれば、LPEネットリストを作成する際の入力となるデータに、ライブラリ開発に不要な回路ブロックや接続が含まれなくなるため、LPEネットリストの作成にかかる実行時間と使用リソース量を削減することができる。また、ライブラリデータ(動作特性)の測定項目に応じて最適化されたLPEネットリストが作成されるため、ライブラリデータの測定にかかる実行時間と使用リソース量を削減して、回路ライブラリの開発コストを削減することが可能になる。
Therefore, according to the library
なお、本実施の形態で説明したライブラリ開発支援方法は、あらかじめ用意されたプログラムをパーソナル・コンピュータやワークステーション等のコンピュータで実行することにより実現することができる。本ライブラリ開発支援プログラムは、ハードディスク、フレキシブルディスク、CD-ROM、DVD、USBメモリ等のコンピュータで読み取り可能な記録媒体に記録され、コンピュータによって記録媒体から読み出されることによって実行される。また、本ライブラリ開発支援プログラムは、インターネット等のネットワークを介して配布してもよい。 The library development support method described in this embodiment can be implemented by executing a prepared program on a computer such as a personal computer or a workstation. The library development support program is recorded in a computer-readable recording medium such as a hard disk, flexible disk, CD-ROM, DVD, USB memory, etc., and is executed by being read from the recording medium by a computer. Also, the library development support program may be distributed via a network such as the Internet.
また、本実施の形態で説明したライブラリ開発支援装置201(情報処理装置101)は、ASIC(Application Specific Integrated Circuit)などの特定用途向けICやFPGAなどのPLD(Programmable Logic Device)によっても実現することができる。 Further, the library development support device 201 (information processing device 101) described in the present embodiment can also be realized by a specific application IC such as an ASIC (Application Specific Integrated Circuit) or a PLD (Programmable Logic Device) such as an FPGA. can be done.
上述した実施の形態に関し、さらに以下の付記を開示する。 Further, the following additional remarks are disclosed with respect to the above-described embodiment.
(付記1)動作特性の測定対象回路に関する設計データを取得し、
取得した前記設計データを用いた動作シミュレーションの結果に基づいて、前記測定対象回路のうちの動作する箇所を特定し、
複数の置換用セルを記憶する記憶部を参照して、前記設計データのうち、特定した前記動作する箇所とは異なる他の箇所のセルを、前記動作特性の測定項目に応じて特定される置換用セルに置換し、
置換後の前記設計データに基づいて、前記測定対象回路に関する動作特性測定用のネットリストを作成する、
処理をコンピュータに実行させることを特徴とするライブラリ開発支援プログラム。
(Appendix 1) Acquiring design data on the circuit to be measured for operating characteristics,
based on a result of an operation simulation using the acquired design data, identifying an operating portion of the circuit to be measured;
replacement specified according to the measurement item of the operating characteristics, by referring to a storage unit storing a plurality of replacement cells, in the design data, cells at other locations different from the specified operating location; replace the cell with
creating a netlist for measuring operating characteristics of the circuit to be measured based on the design data after replacement;
A library development support program characterized by causing a computer to execute processing.
(付記2)前記置換する処理は、
前記測定項目がタイミング制約の場合、前記記憶部を参照して、前記他の箇所のセルを削除するための削除セルを特定し、前記他の箇所のセルを、特定した前記削除セルに置換する、ことを特徴とする付記1に記載のライブラリ開発支援プログラム。
(Appendix 2) The process of replacing
When the measurement item is a timing constraint, referring to the storage unit, identifying a deletion cell for deleting the cell at the other location, and replacing the cell at the other location with the identified deletion cell. The library development support program according to
(付記3)前記置換する処理は、
前記測定項目が電力の場合、前記記憶部を参照して、前記他の箇所のセルにおける信号伝搬を切断して入力を固定する入力固定セルを特定し、前記他の箇所のセルを、特定した前記入力固定セルに置換する、ことを特徴とする付記1または2に記載のライブラリ開発支援プログラム。
(Appendix 3) The process of replacing
When the measurement item is power, the storage unit is referenced to identify an input fixing cell that disconnects signal propagation in the cell at the other location to fix the input, and the cell at the other location is identified. 3. The library development support program according to
(付記4)前記動作する箇所のセルのうち、前記他の箇所のセルを置換用セルに置換した場合にフローティング状態となる接続ネットに接続されたセルを検出し、
検出した前記セルを、前記接続ネットからの入力を固定する入力固定セルに置換する、
処理を前記コンピュータに実行させることを特徴とする付記1~3のいずれか一つに記載のライブラリ開発支援プログラム。
(Appendix 4) Detecting cells connected to connection nets that are in a floating state when the cells in the other locations are replaced with the replacement cells, among the cells in the operating location,
replacing the detected cell with an input-fixing cell that fixes the input from the connection net;
4. The library development support program according to any one of
(付記5)前記設計データは、前記測定対象回路に関する回路図データと、前記測定対象回路に関するレイアウトデータとを含み、
前記特定する処理は、
前記回路図データと測定パターンとを用いた動作シミュレーションの結果に基づいて、前記測定対象回路のうちの動作する箇所を特定する、ことを特徴とする付記1~4のいずれか一つに記載のライブラリ開発支援プログラム。
(Appendix 5) The design data includes circuit diagram data related to the circuit to be measured and layout data related to the circuit to be measured,
The process of specifying
5. The method according to any one of
(付記6)作成した前記動作特性測定用のネットリストを用いて、前記測定対象回路の動作特性をあらわすライブラリデータを生成し、
生成した前記ライブラリデータを出力する、
処理を前記コンピュータに実行させることを特徴とする付記1~5のいずれか一つに記載のライブラリ開発支援プログラム。
(Appendix 6) generating library data representing the operating characteristics of the circuit to be measured using the created netlist for measuring operating characteristics;
outputting the generated library data;
6. The library development support program according to any one of
(付記7)作成した前記動作特性測定用のネットリストを出力する、処理を前記コンピュータに実行させることを特徴とする付記1~6のいずれか一つに記載のライブラリ開発支援プログラム。
(Appendix 7) The library development support program according to any one of
(付記8)動作特性の測定対象回路に関する設計データを取得し、
取得した前記設計データを用いた動作シミュレーションの結果に基づいて、前記測定対象回路のうちの動作する箇所を特定し、
複数の置換用セルを記憶する記憶部を参照して、前記設計データのうち、特定した前記動作する箇所とは異なる他の箇所のセルを、前記動作特性の測定項目に応じて特定される置換用セルに置換し、
置換後の前記設計データに基づいて、前記測定対象回路に関する動作特性測定用のネットリストを作成する、
処理をコンピュータが実行することを特徴とするライブラリ開発支援方法。
(Appendix 8) Acquiring design data on the circuit to be measured for operating characteristics,
based on a result of an operation simulation using the acquired design data, identifying an operating portion of the circuit to be measured;
replacement specified according to the measurement item of the operating characteristics, by referring to a storage unit storing a plurality of replacement cells, in the design data, cells at other locations different from the specified operating location; replace the cell with
creating a netlist for measuring operating characteristics of the circuit to be measured based on the design data after replacement;
A library development support method, wherein a computer executes processing.
(付記9)動作特性の測定対象回路に関する設計データを取得し、
取得した前記設計データを用いた動作シミュレーションの結果に基づいて、前記測定対象回路のうちの動作する箇所を特定し、
複数の置換用セルを記憶する記憶部を参照して、前記設計データのうち、特定した前記動作する箇所とは異なる他の箇所のセルを、前記動作特性の測定項目に応じて特定される置換用セルに置換し、
置換後の前記設計データに基づいて、前記測定対象回路に関する動作特性測定用のネットリストを作成する、
制御部を有することを特徴とする情報処理装置。
(Appendix 9) Acquiring design data on the circuit to be measured for operating characteristics,
based on a result of an operation simulation using the acquired design data, identifying an operating portion of the circuit to be measured;
The replacement specified in accordance with the measurement item of the operating characteristic by referring to a storage unit storing a plurality of replacement cells, and replacing the cell at a location different from the specified operating location in the design data. replace the cell with
creating a netlist for measuring operating characteristics of the circuit to be measured based on the design data after replacement;
An information processing apparatus comprising a control unit.
101 情報処理装置
110,510 記憶部
120 動作箇所
130 非動作箇所
131 セル
200 情報処理システム
201 ライブラリ開発支援装置
202 クライアント装置
210 ネットワーク
220 セル置換DB
300 バス
301 CPU
302 メモリ
303 ディスクドライブ
304 ディスク
305 通信I/F
306 可搬型記録媒体I/F
307 可搬型記録媒体
501 取得部
502 特定部
503 置換部
504 作成部
505 生成部
506 出力部
600,TC 測定対象回路
700 シミュレーション結果
800,1604,1605 アクティブリスト
900 接続情報
1000 動作箇所特定結果
1101,1102,1103,1104 削除セル
1201,1501,1502,1503,1504,1505,2401,2402,2403 入力固定セル
1300,1400 対応関係情報
1601,ld レイアウトデータ
1602,sd 回路図データ
1603,1611,1612 LVS結果
1613 環境条件
1614,1615 LPEネットリスト
1621,1622 測定パターン
1623 設定ファイル
1624 ライブラリデータ
2000 メモリ回路
2001 メモリセルアレイ
2002 センスアンプ
2003 デコード回路
2004 入出力回路
2005 制御回路
D 設計データ
101
300
302
306 portable recording medium I/F
307
Claims (8)
取得した前記設計データを用いた動作シミュレーションの結果に基づいて、前記測定対象回路のうちの動作する箇所を特定し、
複数の置換用セルを記憶する記憶部を参照して、前記設計データのうち、特定した前記動作する箇所とは異なる他の箇所のセルを、前記動作特性の測定項目に応じて特定される置換用セルに置換し、
置換後の前記設計データに基づいて、前記測定対象回路に関する動作特性測定用のネットリストを作成する、
処理をコンピュータに実行させることを特徴とするライブラリ開発支援プログラム。 Acquiring design data about the circuit to be measured for operating characteristics,
based on a result of an operation simulation using the acquired design data, identifying an operating portion of the circuit to be measured;
replacement specified according to the measurement item of the operating characteristics, by referring to a storage unit storing a plurality of replacement cells, in the design data, cells at other locations different from the specified operating location; replace the cell with
creating a netlist for measuring operating characteristics of the circuit to be measured based on the design data after replacement;
A library development support program characterized by causing a computer to execute processing.
前記測定項目がタイミング制約の場合、前記記憶部を参照して、前記他の箇所のセルを削除するための削除セルを特定し、前記他の箇所のセルを、特定した前記削除セルに置換する、ことを特徴とする請求項1に記載のライブラリ開発支援プログラム。 The process of replacing
When the measurement item is a timing constraint, referring to the storage unit, identifying a deletion cell for deleting the cell at the other location, and replacing the cell at the other location with the identified deletion cell. 2. The library development support program according to claim 1, characterized by:
前記測定項目が電力の場合、前記記憶部を参照して、前記他の箇所のセルにおける信号伝搬を切断して入力を固定する入力固定セルを特定し、前記他の箇所のセルを、特定した前記入力固定セルに置換する、ことを特徴とする請求項1または2に記載のライブラリ開発支援プログラム。 The process of replacing
When the measurement item is power, the storage unit is referenced to identify an input fixing cell that disconnects signal propagation in the cell at the other location to fix the input, and the cell at the other location is identified. 3. The library development support program according to claim 1, wherein said fixed input cell is substituted.
検出した前記セルを、前記接続ネットからの入力を固定する入力固定セルに置換する、
処理を前記コンピュータに実行させることを特徴とする請求項1~3のいずれか一つに記載のライブラリ開発支援プログラム。 detecting a cell connected to a connection net that is in a floating state when the cell in the other portion is replaced with the cell for replacement, among the cells in the operating portion;
replacing the detected cell with an input-fixing cell that fixes the input from the connection net;
4. The library development support program according to any one of claims 1 to 3, causing the computer to execute processing.
前記特定する処理は、
前記回路図データと測定パターンとを用いた動作シミュレーションの結果に基づいて、前記測定対象回路のうちの動作する箇所を特定する、ことを特徴とする請求項1~4のいずれか一つに記載のライブラリ開発支援プログラム。 the design data includes circuit diagram data about the circuit to be measured and layout data about the circuit to be measured;
The process of specifying
5. The circuit according to any one of claims 1 to 4, wherein an operating portion of the circuit to be measured is specified based on a result of an operation simulation using the circuit diagram data and the measurement pattern. library development support program.
生成した前記ライブラリデータを出力する、
処理を前記コンピュータに実行させることを特徴とする請求項1~5のいずれか一つに記載のライブラリ開発支援プログラム。 generating library data representing the operating characteristics of the circuit to be measured using the created netlist for measuring operating characteristics;
outputting the generated library data;
6. The library development support program according to any one of claims 1 to 5, causing the computer to execute processing.
取得した前記設計データを用いた動作シミュレーションの結果に基づいて、前記測定対象回路のうちの動作する箇所を特定し、
複数の置換用セルを記憶する記憶部を参照して、前記設計データのうち、特定した前記動作する箇所とは異なる他の箇所のセルを、前記動作特性の測定項目に応じて特定される置換用セルに置換し、
置換後の前記設計データに基づいて、前記測定対象回路に関する動作特性測定用のネットリストを作成する、
処理をコンピュータが実行することを特徴とするライブラリ開発支援方法。 Acquiring design data about the circuit to be measured for operating characteristics,
based on a result of an operation simulation using the acquired design data, identifying an operating portion of the circuit to be measured;
replacement specified according to the measurement item of the operating characteristics, by referring to a storage unit storing a plurality of replacement cells, in the design data, cells at other locations different from the specified operating location; replace the cell with
creating a netlist for measuring operating characteristics of the circuit to be measured based on the design data after replacement;
A library development support method, characterized in that processing is executed by a computer.
取得した前記設計データを用いた動作シミュレーションの結果に基づいて、前記測定対象回路のうちの動作する箇所を特定し、
複数の置換用セルを記憶する記憶部を参照して、前記設計データのうち、特定した前記動作する箇所とは異なる他の箇所のセルを、前記動作特性の測定項目に応じて特定される置換用セルに置換し、
置換後の前記設計データに基づいて、前記測定対象回路に関する動作特性測定用のネットリストを作成する、
制御部を有することを特徴とする情報処理装置。 Acquiring design data about the circuit to be measured for operating characteristics,
based on a result of an operation simulation using the acquired design data, identifying an operating portion of the circuit to be measured;
replacement specified according to the measurement item of the operating characteristics, by referring to a storage unit storing a plurality of replacement cells, in the design data, cells at other locations different from the specified operating location; replace the cell with
creating a netlist for measuring operating characteristics of the circuit to be measured based on the design data after replacement;
An information processing apparatus comprising a control unit.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2021071386A JP2022165844A (en) | 2021-04-20 | 2021-04-20 | Library development support program, library development support method and information processing device |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2021071386A JP2022165844A (en) | 2021-04-20 | 2021-04-20 | Library development support program, library development support method and information processing device |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2022165844A true JP2022165844A (en) | 2022-11-01 |
Family
ID=83851106
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2021071386A Pending JP2022165844A (en) | 2021-04-20 | 2021-04-20 | Library development support program, library development support method and information processing device |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2022165844A (en) |
-
2021
- 2021-04-20 JP JP2021071386A patent/JP2022165844A/en active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7603636B2 (en) | Assertion generating system, program thereof, circuit verifying system, and assertion generating method | |
JP4696051B2 (en) | Power consumption analysis method and program | |
US20060130029A1 (en) | Programming language model generating apparatus for hardware verification, programming language model generating method for hardware verification, computer system, hardware simulation method, control program and computer-readable storage medium | |
US6895524B2 (en) | Circuit reduction technique for improving clock net analysis performance | |
CN112100957B (en) | Method, emulator, storage medium for debugging a logic system design | |
US7475367B2 (en) | Memory power models related to access information and methods thereof | |
US7856608B2 (en) | Method and apparatus for generating current source noise model for creating semiconductor device model used in power supply noise analysis | |
JP4850091B2 (en) | Verification scenario generation apparatus, method, program, and verification apparatus | |
US9021289B2 (en) | Method and system for power estimation based on a number of signal changes | |
US8504347B2 (en) | Simulation apparatus, simulation method, and program to perform simulation on design data of a target circuit | |
US8700380B2 (en) | Method for generating performance evaluation model | |
CN107784185B (en) | Method and device for extracting pseudo path in gate-level netlist and terminal equipment | |
US8341579B2 (en) | Method, apparatus, and system for analyzing operation of semiconductor integrated circuits | |
JP2022165844A (en) | Library development support program, library development support method and information processing device | |
CN112861455B (en) | FPGA modeling verification system and method | |
US6654919B1 (en) | Automated system for inserting and reading of probe points in silicon embedded testbenches | |
US10234502B1 (en) | Circuit defect diagnosis based on sink cell fault models | |
JP3862882B2 (en) | Circuit data reduction method and circuit simulation method | |
JP2014215768A (en) | Performance evaluation transaction generation program and performance evaluation transaction generation device | |
US8869080B2 (en) | Automatically identifying resettable flops for digital designs | |
JP7351189B2 (en) | Timing constraint extraction device, timing constraint extraction method, and timing constraint extraction program | |
JP5262678B2 (en) | Behavioral synthesis system, behavioral synthesis method, and behavioral synthesis program | |
CN110321574B (en) | Method and device for printing waveform | |
KR101215977B1 (en) | Method for testing integrated circuit and memory device | |
JP2960442B2 (en) | Circuit extraction method |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20240111 |