JP2006039621A - タイミング制約ライブラリの作成方法及び作成システム - Google Patents

タイミング制約ライブラリの作成方法及び作成システム Download PDF

Info

Publication number
JP2006039621A
JP2006039621A JP2004214134A JP2004214134A JP2006039621A JP 2006039621 A JP2006039621 A JP 2006039621A JP 2004214134 A JP2004214134 A JP 2004214134A JP 2004214134 A JP2004214134 A JP 2004214134A JP 2006039621 A JP2006039621 A JP 2006039621A
Authority
JP
Japan
Prior art keywords
timing
timing constraint
condition
processing unit
arithmetic processing
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.)
Withdrawn
Application number
JP2004214134A
Other languages
English (en)
Inventor
Toru Toyoda
徹 豊田
Tamami Shimizu
タマミ 清水
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.)
NEC Electronics Corp
Original Assignee
NEC Electronics Corp
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 NEC Electronics Corp filed Critical NEC Electronics Corp
Priority to JP2004214134A priority Critical patent/JP2006039621A/ja
Priority to US11/185,748 priority patent/US20060020441A1/en
Publication of JP2006039621A publication Critical patent/JP2006039621A/ja
Withdrawn legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/30Circuit design
    • G06F30/32Circuit design at the digital level
    • G06F30/33Design verification, e.g. functional simulation or model checking
    • G06F30/3308Design verification, e.g. functional simulation or model checking using simulation
    • G06F30/3312Timing analysis

Abstract

【課題】タイミング制約ライブラリの作成時間を短縮することができる作成方法及び作成システムを提供すること。
【解決手段】ソフトウェア150、160の命令に従って、演算処理装置120は、記憶装置110から回路データDCを読み込み、その回路データDCを参照することによって、複数のタイミングアークから、1つを代表タイミングアークとして選択する。そして、演算処理装置120は、その代表タイミングアークについては、所定の基本条件群のうち全ての条件に対してシミュレーションを実行することによりタイミング制約を求める。また、演算処理装置120は、その基本条件群から一部の条件を抽出し入力端子In及び出力端子Outのいずれかを代表タイミングアークと共有するタイミングアークについては、その一部の条件に対してシミュレーションを実行することによりタイミング制約を求める。
【選択図】 図8

Description

本発明は、LSI設計の技術に関し、特に、セルのタイミング制約を提供するタイミング制約ライブラリの作成方法及び作成システムに関する。
LSIの設計を行う際、設計や確認の時間を短縮し人為的ミスを抑制するためには、コンピュータやCAD(Computer Aided Design)の利用は必要不可欠である。このようなLSI設計において、更に開発効率を向上させるために、特定の機能を有する機能ブロックである「セル」を用いる技術が知られている。このセルを用いたセルベース設計によれば、複数のセルが組み合わされ配置されることにより、所望のLSIが設計される。これにより、設計期間が短縮され、生産性が向上する。
このようなセルが正常に動作するための制約を示す情報は、「タイミング制約」と呼ばれている。このタイミング制約は、例えば、セルにおける入力端子から出力端子への遅延時間を示す。また、タイミング制約は、入力端子に入力されるデータ信号に対するクロック信号のセットアップ時間やホールド時間などを含んでいる。このようなタイミング制約情報は、設計・検証済みのセルの回路情報と共に配布される。
セルベース設計が行われた後、その設計されたLSIの動作等を解析/検証する「タイミング解析」が行われる。複数のセルを含むLSIに対してタイミング解析を行うには、セル間の配線情報と、複数のセルの各々についての上述のタイミング制約情報が分かればよい。そのため、各セルのタイミング制約情報を提供する「タイミング制約ライブラリ」が用意される。このタイミング制約ライブラリは、複数の条件に対するタイミング制約をテーブル状に示す「タイミング制約テーブル」を含んでいる。例えば、遅延時間を示すタイミング制約テーブルの場合、それら複数の条件は、入力端子における入力波形鈍りの程度を示す複数の第1インデックスと、出力端子にかかる負荷容量の大小を示す複数の第2インデックスの組み合わせで与えられる(参照:特許文献1)。また、このようなタイミング制約テーブルを作成する技術は、特許文献2に開示されている。
タイミング制約ライブラリの情報量は膨大であり、その作成時間を短縮することが望まれている。そのために、各セルについてタイミング制約テーブルをより効率良く作成することが望まれている。
特開平10−269275号公報 特開2004−139360号公報
本発明の目的は、タイミング制約ライブラリの作成時間を短縮することができる作成方法及び作成システムを提供することにある。
以下に、[発明を実施するための最良の形態]で使用される番号・符号を用いて、[課題を解決するための手段]を説明する。これらの番号・符号は、[特許請求の範囲]の記載と[発明を実施するための最良の形態]との対応関係を明らかにするために括弧付きで付加されたものである。ただし、それらの番号・符号を、[特許請求の範囲]に記載されている発明の技術的範囲の解釈に用いてはならない。
本発明に係るタイミング制約ライブラリ作成方法は、セルの「タイミング制約」を提供するタイミング制約ライブラリ(10)の作成方法である。このセル(21)は、少なくとも1つの入力端子(In)と少なくとも1つの出力端子(Out)を有する。入力端子(In)の各々は出力端子(Out)の各々とタイミングアーク(P11、P12、P21、P22)でつながれている。
このタイミング制約ライブラリ作成方法は、(A)セルの回路データ(115、DC)を記憶装置(110)に格納するステップと、(B)その記憶装置(110)に接続された演算処理装置(120)が、回路データ(115、DC)を参照して、複数のタイミングアーク(P11、P12、P21、P22)から、1つを代表タイミングアークとして選択するステップと、(C)演算処理装置(120)が、その代表タイミングアークについて、所定の基本条件群のうち全ての条件に対してシミュレーションを実行することによりタイミング制約を求めるステップと、(D)演算処理装置(120)が、その基本条件群から一部の条件を抽出し、抽出された一部の条件を記憶装置(110)に格納するステップと、(E)演算処理装置(120)が、記憶装置(110)からその一部の条件を読み出し、入力端子(In)及び出力端子(Out)のいずれかを代表タイミングアークと共有するタイミングアークについて、その一部の条件に対してシミュレーションを実行することによりタイミング制約を求めるステップとを備える。
上記(D)ステップにおいて、上記全ての条件とタイミング制約との対応関係を示す関数が、上記一部の条件とタイミング制約との対応関係を示す関数によって、所定の誤差範囲内で近似されるように、上記一部の条件は抽出される。また、上記(B)ステップにおいて、複数のタイミングアーク(P11、P12、P21、P22)のうち最小のトランジスタの段数を有するタイミングアークが、代表タイミングアークとして選択されてもよい。
また、セル(21)が、M個(Mは自然数)の入力端子(In)とN個(Nは自然数)の出力端子(Out)を有する場合、M個の入力端子(In)とN個の出力端子(Out)をつなぐタイミングアークは、M行N列のマトリックスPMNで表される。この時、本発明に係るタイミング制約ライブラリ作成方法は、(AA)タイミングアークPii(iは、1以上かつM以下かつN以下の整数)について、演算処理装置(120)が、所定の基本条件群の全てに対してシミュレーションを実行することによりタイミング制約を求めるステップと、(BB)上記(AA)ステップで求められた結果に基づき、演算処理装置(120)が、基本条件群を縮退することによって第1縮退条件群(A1〜A5、B1〜B5)を生成し、生成された第1縮退条件群(A1〜A5、B1〜B5)を演算処理装置(120)に接続された記憶装置(110)に格納するステップと、(CC)タイミングアークPjj(jは、1以上かつM以下かつN以下の整数)について、演算処理装置(120)が、基本条件群の全てに対してシミュレーションを実行することによりタイミング制約を求めるステップと、(DD)上記(CC)ステップで求められた結果に基づき、演算処理装置(120)が、基本条件群を縮退することによって第2縮退条件群(C1〜C6、D1〜D6)を生成し、生成された第2縮退条件群(C1〜C6、D1〜D6)を記憶装置(110)に格納するステップと、(EE)タイミングアークPij及びPjiについて、演算処理装置(120)が、記憶装置(110)から読み出した上記第1縮退条件群(A1〜A5、B1〜B5)と第2縮退条件群(C1〜C6、D1〜D6)に基づきシミュレーションを実行することによりタイミング制約を求めるステップとを備える。
また、上述の基本条件群は、複数の第1条件(a1〜a15)と複数の第2条件(b1〜b15)の組み合わせで与えられる。この時、上記(EE)ステップは、(E1)タイミングアークPijについて、演算処理装置(120)が、第1縮退条件群を構成する第1条件(A1〜A5)と第2縮退条件群を構成する第2条件(D1〜D6)との組み合わせに対して、タイミング制約を求めるステップと、(E2)タイミングアークPjiについて、演算処理装置(120)が、第2縮退条件群を構成する第1条件(C1〜C6)と第1縮退条件群を構成する第2条件(B1〜B5)との組み合わせに対して、タイミング制約を求めるステップとを備える。
以上のタイミング制約ライブラリ作成方法において、基本条件群を構成する各条件は、入力端子(In)に入力される信号の波形鈍り(a1〜a15)と、出力端子(Out)に接続される負荷の容量(b1〜b15)の組み合わせを示す。また、上述のタイミング制約は、例えば、入力端子(In)と出力端子(Out)との間の遅延時間(T11〜T55)や、出力端子(Out)における信号の波形鈍り(R11〜R55)を示す。
本発明に係るタイミング制約ライブラリ(10)を作成するシステム(100)は、セルの回路データ(115、DC)を記憶する記憶装置(110)と、その記憶装置(110)に接続された演算処理装置(120)と、その演算処理装置(120)によって実行されるソフトウェア(150、160)とを備える。このソフトウェア(150、160)の命令に従い、演算処理装置(120)は、記憶装置(110)から回路データ(DC)を読み込み、その回路データ(DC)を参照することによって、複数のタイミングアーク(P11、P12、P21、P22)から、1つを代表タイミングアークとして選択する。そして、この演算処理装置(120)は、その代表タイミングアークについては、所定の基本条件群のうち全ての条件に対してシミュレーションを実行することによりタイミング制約を求める。また、演算処理装置(120)は、その基本条件群から一部の条件を抽出し、抽出された一部の条件を記憶装置(110)に格納する。そして、演算処理装置(120)は、記憶装置(110)から一部の条件を読み出し、入力端子(In)及び出力端子(Out)のいずれかを代表タイミングアークと共有するタイミングアークについては、その一部の条件に対してシミュレーションを実行することによりタイミング制約を求める。
また、セル(21)は、複数の入力端子(DATA1、DATA2、DATA3)とクロック信号(CLK)が入力されるクロック端子を有する。この時、本発明に係るタイミング制約ライブラリ作成方法は、(a)セルの回路データ(115、DC)を記憶装置(110)に格納するステップと、(b)その記憶装置(110)に接続された演算処理装置(120)が、回路データ(115、DC)を参照して、複数の入力端子(DATA1、DATA2、DATA3)から1つの端子を代表端子として選択するステップと、(c)演算処理装置(120)が、その代表端子に入力される入力信号(DATA)のクロック信号(CLK)に対するタイミング制約を、所定の基本条件群のうち全ての条件に対してシミュレーションを実行することにより求めるステップと、(d)演算処理装置(120)が、基本条件群から一部の条件を抽出し、抽出された一部の条件を記憶装置(110)に格納するステップと、(e)演算処理装置(120)が、記憶装置(110)からその一部の条件を読み出し、代表端子以外の入力端子(DATA1、DATA2、DATA3)に入力される入力信号(DATA)のクロック信号(CLK)に対するタイミング制約を、その一部の条件に対してシミュレーションを実行することにより求めるステップとを備える。上記(d)ステップにおいて、上記全ての条件とタイミング制約との対応関係を示す関数が、上記一部の条件とタイミング制約との対応関係を示す関数によって、所定の誤差範囲内で近似されるように、上記一部の条件は抽出される。
このタイミング制約ライブラリ作成方法において、基本条件群を構成する各条件は、入力信号(DATA)の波形の鈍り(a1〜a15)と、クロック信号(CLK)の波形の鈍り(b1〜b15)の組み合わせを示す。また、上述のタイミング制約は、例えば、入力信号(DATA)のクロック信号(CLK)に対するセットアップ時間(S11〜S55)や、ホールド時間(H11〜H55)を示す。
本発明に係るタイミング制約ライブラリ(10)を作成するシステム(100)は、セルの回路データ(DC、115)を記憶する記憶装置(110)と、その記憶装置(110)に接続された演算処理装置(120)と、その演算処理装置(120)によって実行されるソフトウェア(150、160)とを備える。このソフトウェア(150、160)の命令に従って、演算処理装置(120)は、記憶装置(110)から回路データ(DC)を読み込み、複数の入力端子(DATA1〜DATA3)から1つの端子を代表端子として選択する。そして、演算処理装置(120)は、その代表端子に入力される入力信号(DATA)のクロック信号(CLK)に対するタイミング制約を、所定の基本条件群のうち全ての条件に対してシミュレーションを実行することにより求める。また、演算処理装置(120)は、その基本条件群から一部の条件を抽出し、抽出された一部の条件を記憶装置(110)に格納する。そして、演算処理装置(120)は、記憶装置(110)からその一部の条件を読み出し、代表端子以外の入力端子に入力される入力信号(DATA)のクロック信号(CLK)に対するタイミング制約を、その一部の条件に対してシミュレーションを実行することにより求める。
本発明に係るタイミング制約ライブラリの作成方法及び作成システムによれば、タイミング制約ライブラリの作成時間が短縮される。その理由は、代表タイミングアークについて求められたタイミング制約テーブルから縮退タイミング制約テーブルが生成され、この縮退タイミング制約テーブルのインデックスを用いることによって、他のタイミングアークについて縮退タイミング制約テーブルが求められるからである。
添付図面を参照して、本発明によるタイミング制約ライブラリの作成方法及び作成システムを説明する。まず、本明細書において用いられる概念及び用語の説明が行われる。
図1は、本発明において作成される対象である「タイミング制約ライブラリ」の構成を示す概念図である。このタイミング制約ライブラリ10は、複数のセルのそれぞれに対する「タイミング制約」を提供する。具体的には、タイミング制約ライブラリ10は、第1セル用の制約テーブル群11、第2セル用の制約テーブル群12、第3セル用の制約テーブル群13をはじめ複数の制約テーブル群を含んでいる。各制約テーブル群は、対応するセルのタイミング制約を提供する。このようにしてタイミング制約ライブラリ10から提供される各セルのタイミング制約は、LSIのタイミング解析等において利用される。
図2は、本発明の実施の形態におけるセルの構成を示す概略図である。図2では、例として、第1セル21の構成が示されている。この第1セル21は、少なくとも1つの入力端子(In1、In2)と少なくとも1つの出力端子(Out1、Out2)とを有している。ここで、各々の入力端子と各々の出力端子をつなぐパスは、「タイミングアーク」と呼ばれている。入力端子In1と出力端子Out1は、タイミングアークP11でつながれ、入力端子In1と出力端子Out2は、タイミングアークP12でつながれている。同様に、入力端子In2と出力端子Out1は、タイミングアークP21でつながれ、入力端子In2と出力端子Out2は、タイミングアークP22でつながれている。より一般的には、セルは、M個(Mは自然数)の入力端子Inと、N個の(Nは自然数)の出力端子Outを有する。この時、M個の入力端子InとN個の出力端子Outをつなぐタイミングアークは、M行N列のマトリックスPMNで表される。
図3は、図1に示されたある制約テーブル群の構成を示す概念図である。図3に示されるように、制約テーブル群は、遅延時間テーブル群30、出力波形なまりテーブル群40、セットアップ時間テーブル群50、ホールド時間テーブル群60などを含んでいる。各テーブル群は、複数の「タイミング制約テーブル」を含んでいる。
遅延時間テーブル群30は、複数の「遅延時間テーブル(タイミング制約テーブル)」を含んでいる。その複数の遅延時間テーブルのそれぞれは、上述の複数のタイミングアークPMNのそれぞれにおける信号の遅延時間を示す。
出力波形なまりテーブル群40は、複数の「出力波形なまりテーブル(タイミング制約テーブル)」を含んでいる。その複数の出力波形なまりテーブルのそれぞれは、上述の複数のタイミングアークPMNのそれぞれに対する「出力波形なまり」を示す。ここで、出力波形なまりは、対応する出力端子Outにおける信号の鈍りの程度を示す。
セットアップ時間テーブル群50は、複数の「セットアップ時間テーブル(タイミング制約テーブル)」を含んでいる。その複数のセットアップ時間テーブルのそれぞれは、複数の入力端子のそれぞれに入力される入力信号DATAの、クロック信号CLKに対する最小の「セットアップ時間」を示す。セルを正常に動作させるためには、クロック信号CLKによってラッチを閉じる前、入力信号DATAをある一定時間以上前から入力開始しなければならない。「セットアップ時間」は、その入力する一定時間の最小値を示す。
ホールド時間テーブル群60は、複数の「ホールド時間テーブル(タイミング制約テーブル)」を含んでいる。その複数のホールド時間テーブルのそれぞれは、複数の入力端子のそれぞれに入力される入力信号DATAの、クロック信号CLKに対する「ホールド時間」を示す。セルを正常に動作させるためには、クロック信号CLKによってラッチを閉じた後、入力信号DATAをある一定時間以上保持しなければならない。「ホールド時間」は、その保持する一定時間の最小値を示す。
このように、「タイミング制約」としては、入力端子Inから出力端子Outへの「遅延時間」、出力端子Outにおける「出力波形なまり」、「セットアップ時間」、「ホールド時間」などが例として挙げられる。以下、これらタイミング制約の各々に関するテーブル群(30、40、50、60)の作成方法、すなわちタイミング制約ライブラリ10の作成方法を詳しく説明する。
(第1の実施の形態)
本発明の第1の実施の形態において、「タイミング制約」は入力端子Inと出力端子Outとの間の「遅延時間」であり、その遅延時間を示す「遅延時間テーブル群30」(図3参照)の作成方法が示される。この遅延時間テーブル群30は、複数のタイミングアークPMNのそれぞれに対して作成される複数の遅延時間テーブル(タイミング制約テーブル)を含む。例えば、図2に示された第1セル21の場合、遅延時間テーブル群30は、タイミングアークP11、P12、P21、P22のそれぞれに対して作成される4つの遅延時間テーブル(31、32、33、34;図7参照)を含む。
図4は、タイミングアークP11に対して作成される遅延時間テーブル31の内容を示す概念図である。この遅延時間テーブル31は、複数の条件に対する遅延時間をテーブル形式で示している。その複数の条件は、複数の第1条件と複数の第2条件の組み合わせで構成される。本実施の形態において、第1条件(第1テーブルインデックス)は、入力端子Inに入力される信号の波形なまりの程度を示す「入力波形なまり」であり、第2条件(第2テーブルインデックス)は、出力端子Outにかかる負荷容量値を示す「出力負荷容量」である。例えば図4において、複数の条件は、第1条件A1〜A5と第2条件B1〜B5の組み合わせで与えられ、遅延時間テーブル31は、その組み合わせのそれぞれに対する25種類の遅延時間T11〜T55を示している。
このような遅延時間テーブル(31、32、33、34)を含む遅延時間テーブル群30の作成方法は以下の通りである。
まず、複数の入力端子Inあるいは複数の出力端子Outから1つの端子(代表端子)が任意に選択される。例えば、複数の入力端子Inから、入力端子In1が代表端子として選択されるとする。この代表端子には、複数のタイミングアークP11、P12がつながっている。次に、これら複数のタイミングアークP11、P12から、1つのタイミングアークが「代表タイミングアーク」として選択される。例えば、タイミングアークP11が代表タイミングアークとして選択されるとする。ここで、この代表タイミングアークは、複数のタイミングアークからランダムに選択されてもよい。あるいは、複数のタイミングアークのうち、最小のトランジスタの段数を有するタイミングアークが、代表タイミングアークとして選択されてもよい。
次に、選択された代表タイミングアークP11に対する遅延時間テーブル31(図4参照)が作成される。この遅延時間テーブル31を作成するために、まず、多数の条件における遅延時間が測定される。ここで、「多数」とは、実際にセルが動作する際の様々な条件を網羅するのに十分な数を意味する。この多数の条件における遅延時間を測定するために、図5に示される「基本条件テーブル35」が用意される。この基本条件テーブル35は、多数の第1条件(入力波形なまり)と多数の第2条件(出力負荷容量)の組み合わせをテーブル形式で示している。例えば図5において、基本条件テーブル35は、15種類の第1条件a1〜a15と、15種類の第2条件b1〜b15の組み合わせを示している。この基本条件テーブル35によって与えられる225種類の条件は、以下、「基本条件群」と参照される。基本条件群の中の各条件に対する遅延時間は、その条件を示すパラメータを所定のシミュレーションツールに与え、シミュレーションを実行することによって求められる。本実施の形態によれば、上記代表タイミングアークP11については、基本条件群の全て(225種類)の条件に対して、遅延時間が求められる。このように作成されたテーブルは、“仮の”遅延時間テーブル31である。
ここで、あるタイミングアークに関する遅延時間を提供する時、このような基本条件群の全てに対する遅延時間を提供する必要は必ずしもない。提供される遅延時間テーブル31のサイズは小さいに越したことはない。その理由は、タイミング解析等の処理時間が短縮され、また、記憶装置の容量が節約されるからである。一方、遅延時間テーブル31は、対応するタイミングアーク(P11)に関する遅延時間を精度良く提供する必要がある。従って、そのタイミングアークに関する遅延時間を精度良く表すのに必要十分な数の条件及び遅延時間が提供されればよい。そのため、求められた結果である225種類の遅延時間に基づいて、上記基本条件群から最適な一部の条件が抽出される。このような処理は、「縮退」と呼ばれている。
図6は、本実施の形態における「縮退処理」を説明するためのグラフ図である。今、代表タイミングアークP11に対して225種類の遅延時間が既に求められ、基本条件テーブル35の全要素が確定しているとする。この時、まず、ある第1条件が固定され、その第1条件に対応する第2条件である15種類の基本条件が選択される。そして、選択された15種類の基本条件に対して求められた15個の遅延時間が考慮される。図6において、その15種類の基本条件のうち3つの条件X1、X2、X3と、それら3つの条件のそれぞれに対して求められた遅延時間を示す3つの点P1、P2、P3が示されている。
図6において、点P1、P2、P3を結ぶ線は、条件と遅延時間との対応関係を示す関数を表している。この時、その関数が、点P1と点P3を補間する線INTによって近似され得るかどうかの判定が行われる。つまり、条件X1と条件X3の間にある条件X2に対する点P2を、点P1と点P3を補間することによって近似的に求めることができるかの判定が行われる。具体的には、図6に示される点P2と線INTとの間の距離Δeが所定の誤差範囲内であるかどうかの判定が行われる。距離Δeがその所定の誤差範囲内であれば、点P2(条件X2)が削除される。距離Δeがその所定の誤差範囲以上であれば、点P2は残される。このようにして上述の15種類の条件から必要十分な数の条件が抽出される。
同様にして、他の第1条件に対する処理も行われる。また、第2条件も固定され、同様の処理が行われる。このようにして縮退処理が行われ、基本条件群から最適な「一部の条件」が抽出される。例えば、基本条件群における第1条件a1〜a15及び第2条件b1〜b15は、縮退処理の結果、それぞれ第1条件A1〜A5及び第2条件B1〜B5になったとする。つまり、基本条件群から抽出された一部の条件は、第1条件A1〜A5と第2条件B1〜B5の組み合わせによって構成される。この時、基本条件群の全てと遅延時間との対応関係を示す関数は、この一部の条件と遅延時間との対応関係を示す関数によって、所定の誤差範囲内で近似されている。そして、この「一部の条件」に対する遅延時間が、図4に示された遅延時間テーブル31として提供される。つまり、遅延時間テーブル31は、必要十分な数の要素で、代表タイミングアークP11における遅延時間を精度良く提供している。
次に、代表タイミングアークP11以外のタイミングアーク(P12、P21、P22)に対する遅延時間テーブル(32、33、34)が作成される。ここで、セルの入力波形鈍りに対する特性は、入力端子Inに依存すると考えられる。つまり、同じ入力端子Inにつながる複数のタイミングアークにおいて、入力波形鈍り(第1条件)に対する特性の差は小さいと考えられる。よって、代表タイミングアークP11と入力端子In1を共有するタイミングアークP12に対する遅延時間テーブル(32)は、代表タイミングアークP11に対する遅延時間テーブル31と同じ種類の第1条件(A1〜A5)を有していれば好ましい。よって、本実施の形態によれば、タイミングアークP12については、基本条件群の全てではなく、上述の「一部の条件」に基づいて遅延時間が求められる。
同様に、セルの出力負荷容量に対する特性は、出力端子Outに依存すると考えられる。つまり、同じ出力端子Outにつながる複数のタイミングアークにおいて、出力負荷容量(第2条件)に対する特性の差は小さいと考えられる。よって、代表タイミングアークP11と出力端子Out1を共有するタイミングアークP21に対する遅延時間テーブル(33)は、代表タイミングアークP11に対する遅延時間テーブル31と同じ種類の第2条件(B1〜B5)を有していれば好ましい。よって、本実施の形態によれば、タイミングアークP21については、基本条件群の全てではなく、上述の「一部の条件」に基づいて遅延時間が求められる。
このように、本発明によれば、代表タイミングアークP11については、基本条件テーブル35を用い、基本条件群の全て(225種類)の条件に対して遅延時間が求められる。一方、端子を代表タイミングアークP11と共有するタイミングアークについては、縮退された一部の条件に対して遅延時間が求められる。これにより、従来の方法と比較して、シミュレーション回数が低減される。よって、遅延時間テーブルを作成する時間が短縮され、タイミング制約ライブラリ10を作成する時間が短縮される。
図7は、本発明による遅延時間テーブル群30の効率的な作成方法の一例を説明するための図である。図7に示されるように、タイミングアークP11、P12、P21、P22のそれぞれに対する遅延時間テーブル31、32、33、34が作成され、この遅延時間テーブル群30が作成されるとする。
まず、タイミングアークP11が代表タイミングアークとして選択される。そして、基本条件テーブル35(図5参照)を用いることによって、基本条件群の全て(225種類)に対して遅延時間が求められる。この結果に基づいて条件の「縮退処理」が行われ、第1条件A1〜A5と第2条件B1〜B5との組み合わせにより構成される条件群(以下、「第1縮退条件群」と参照される)が生成されるとする。この時、この第1縮退条件群に対する遅延時間を示す遅延時間テーブル31が作成され、遅延時間テーブル群30に記憶される。
次に、タイミングアークP22が代表タイミングアークとして選択される。そして、基本条件テーブル35を用いることによって、基本条件群の全て(225種類)に対して遅延時間が求められる。この結果に基づいて条件の「縮退処理」が行われ、第1条件C1〜C6と第2条件D1〜D6との組み合わせにより構成される条件群(以下、「第2縮退条件群」と参照される)が生成されるとする。この時、この第2縮退条件群に対する遅延時間を示す遅延時間テーブル34が作成され、遅延時間テーブル群30に記憶される。
次に、タイミングアークP12に対応した遅延時間テーブル32が作成される。この時、基本条件テーブル35は用いられない。タイミングアークP12については、上述の第1縮退条件群と第2縮退条件群に基づいて遅延時間が求められる。具体的には、タイミングアークP12については、第1縮退条件群を構成する第1条件A1〜A5と、第2縮退条件群を構成する第2条件D1〜D6との組み合わせ(30種類)に対して、遅延時間が求められる。そして、これら30種類の条件に対する遅延時間を示す遅延時間テーブル32が作成され、遅延時間テーブル群30に記憶される。このように、シミュレーション回数が大幅に削減される。更に、縮退処理を行う必要もなくなる。従って、タイミング制約ライブラリ10の作成時間が短縮される。
同様に、タイミングアークP21に対応した遅延時間テーブル33が作成される。この時、基本条件テーブル35は用いられない。タイミングアークP21については、上述の第1縮退条件群と第2縮退条件群に基づいて遅延時間が求められる。具体的には、タイミングアークP21については、第2縮退条件群を構成する第1条件C1〜C6と、第1縮退条件群を構成する第2条件B1〜B5との組み合わせ(30種類)に対して、遅延時間が求められる。そして、これら30種類の条件に対する遅延時間を示す遅延時間テーブル33が作成され、遅延時間テーブル群30に記憶される。このように、シミュレーション回数が大幅に削減される。更に、縮退処理を行う必要もなくなる。従って、タイミング制約ライブラリ10の作成時間が短縮される。
図8は、上記の作成方法を実現するための「タイミング制約ライブラリ作成システム」の構成を示すブロック図である。本発明に係るタイミング制約ライブラリ作成システム100は、記憶装置110、演算処理装置120、入力装置130、出力装置140、ライブラリ作成ソフトウェア150、及びシミュレーションツール160を備えている。このタイミング制約ライブラリ作成システム100は、例えば、ワークステーション上に構築される。
演算処理装置120は、上述の各装置に接続されており、各種演算処理を実行することによって、このタイミング制約ライブラリ作成システム100の動作を制御する。
ライブラリ作成ソフトウェア150は、演算処理装置120によって実行されるソフトウェアプログラムである。このライブラリ作成ソフトウェア150は、演算処理装置120に命令を与え、タイミングアークPMNの選択や縮退処理を行わせる。また、シミュレーションツール160は、演算処理装置120によって実行されるソフトウェアプログラムであり、所定の条件におけるセルの動作のシミュレーションを実行する。ライブラリ作成ソフトウェア150あるいはユーザは、このシミュレーションツール160を用いることによって、遅延時間等の「タイミング制約」を算出することができる。
記憶装置110は、演算処理装置120に接続されており、基本条件テーブル35(図5参照)やセル回路ライブラリ115を記憶している。セル回路ライブラリ115は、レイアウト等を示すセルの回路データを提供している。この回路データは、シミュレーション時にシミュレーションツール160によって参照される。また、タイミング制約ライブラリ作成システム100によって作成されるタイミング制約ライブラリ10(図1参照)は、この記憶装置110に格納される。更に、上述のライブラリ作成ソフトウェア150やシミュレーションツール160は、この記憶装置110に格納されていてもよい。更に、上述の第1縮退条件群や第2縮退条件群も、この記憶装置110に格納されてもよい。
入力装置130は、演算処理装置120に接続されている。この入力装置130として、キーボードやマウスが例示される。ユーザは、この入力装置130を使用することによって、所定のコマンドやデータをタイミング制約ライブラリ作成システム100に与えることができる。入力装置130から入力されたコマンドやデータは、演算処理装置120によって処理される。また、出力装置140は、演算処理装置120に接続されている。この出力装置140として、ディスプレイやスピーカが例示される。ユーザは、この出力装置140から出力される情報に基づいて、新たな指示を与えることができる。
図9は、このタイミング制約ライブラリ作成システム100の動作を示すブロック図である。まず、ライブラリ作成ソフトウェア150(演算処理装置120)は、記憶装置110に格納された基本条件テーブル35を読み込む。また、ライブラリ作成ソフトウェア150は、記憶装置110に格納されたセル回路ライブラリ115から、セル回路データDCを読み込む。このセル回路データDCは、図2に示されるような対象セルのレイアウト情報を含んでいる。
次に、ライブラリ作成ソフトウェア150は、読み込んだセル回路データDCを参照することによって、代表端子や代表タイミングアークを選択する。ここで、ライブラリ作成ソフトウェア150は、複数のタイミングアークPMNのうち、最小のトランジスタの段数を有するタイミングアークを、代表タイミングアークとして選択してもよい。
次に、ライブラリ作成ソフトウェア150は、選択したタイミングアークと条件群を示すパス・条件データDPをシミュレーションツール160に出力する。既出の例の場合、パス・条件データDPは、代表タイミングアークP11と、基本条件テーブル35が示す基本条件群の全て(225種類)を示す。シミュレーションツール160は、ライブラリ作成ソフトウェア150からパス・条件データDPを受け取り、セル回路ライブラリ115からセル回路データDCを受け取る。そして、シミュレーションツール160は、セル回路データDCを参照しながら代表タイミングアークP11についてシミュレーションを行い、基本条件群の全てに対して遅延時間(タイミング制約)を求める。このシミュレーションの結果を示す解析結果データDRは、ライブラリ作成ソフトウェア150に入力される。
次に、ライブラリ作成ソフトウェア150は、その解析結果データDRに基づいて、条件の縮退処理を行う。これによって、基本条件群から最適な一部の条件(第1縮退条件群)が抽出される。この一部の条件は、第1条件A1〜A5と第2条件B1〜B5の組み合わせによって構成されている(図7参照)。ライブラリ作成ソフトウェア150は、この一部の条件に対する遅延時間を示す遅延時間テーブル31を作成し、その遅延時間テーブル31を記憶装置110内のタイミング制約ライブラリ10に格納する。また、ライブラリ作成ソフトウェア150は、一部の条件である縮退条件群を記憶装置110に格納してもよい。
次に、ライブラリ作成ソフトウェア150は、複数のタイミングアークPMNから代表タイミングアーク以外のタイミングアークを選択する。選択されたタイミングアークが、入力端子と出力端子のいずれかを代表タイミングアークP11と共有している場合、すなわち、既知の縮退条件群が利用できる場合、ライブラリ作成ソフトウェア150は、記憶装置110に格納された縮退条件群を読み出す。ここで、ライブラリ作成ソフトウェア150は、記憶装置110に格納された遅延時間テーブル31を参照することによって、その縮退条件群に関する情報を取得してもよい。この縮退条件群は、基本条件群の一部であり、その縮退条件群を構成する条件の数は225以下である。ライブラリ作成ソフトウェア150は、選択されたタイミングアークと一部の条件を示すパス・条件データDPをシミュレーションツール160に出力する。シミュレーションツール160は、選択されたタイミングアークについてシミュレーションを行い、基本条件群の一部に対して遅延時間(タイミング制約)を求める。このシミュレーションの結果を示す解析結果データDRは、ライブラリ作成ソフトウェア150に入力される。
ライブラリ作成ソフトウェア150は、その解析結果データDRに基づいて、遅延時間テーブル(32、33、34)を作成し、その遅延時間テーブルを記憶装置110内のタイミング制約ライブラリ10に追加する。ライブラリ作成ソフトウェア150は、全てのタイミングアークについて同様の処理を繰り返す。これにより、複数の遅延時間テーブル(32、33、34)を含む遅延時間テーブル群30が作成される。作成された遅延時間テーブル群30(タイミング制約ライブラリ10)は、記憶装置110に格納される。
更に、図7に示された例を用いて、本発明によるタイミング制約ライブラリ作成システム100の動作を説明する。演算処理装置120は、ライブラリ作成ソフトウェア150やシミュレーションツール160の命令に従い、以下のような動作を行う。まず、演算処理装置120は、記憶装置110に格納された基本条件テーブル35とセル回路データDCを読み込む。
次に、演算処理装置120は、読み込んだセル回路データDCを参照することによって、タイミングアークP11を代表タイミングアークとして選択する。そして、演算処理装置120は、基本条件テーブル35(図5参照)を用いることによって、基本条件群の全て(225種類)に対してシミュレーションを実行し遅延時間を求める。この結果に基づいて、演算処理装置120は、条件の「縮退処理」を行い、第1条件A1〜A5と第2条件B1〜B5との組み合わせにより構成される第1縮退条件群を生成する。そして、演算処理装置120は、その第1縮退条件群に対する遅延時間を示す遅延時間テーブル31を作成し、その遅延時間テーブル31を記憶装置110に格納する。この時、演算処理装置120は、抽出された第1縮退条件群を記憶装置110に格納してもよい。
次に、演算処理装置120は、読み込んだセル回路データDCを参照することによって、タイミングアークP22を代表タイミングアークとして選択する。そして、演算処理装置120は、基本条件テーブル35を用いることによって、基本条件群の全て(225種類)に対してシミュレーションを実行し遅延時間を求める。この結果に基づいて、演算処理装置120は、条件の「縮退処理」を行い、第1条件C1〜C6と第2条件D1〜D6との組み合わせにより構成される第2縮退条件群を生成する。そして、演算処理装置120は、その第2縮退条件群に対する遅延時間を示す遅延時間テーブル34を作成し、その遅延時間テーブル34を記憶装置110に格納する。この時、演算処理装置120は、抽出された第2縮退条件群を記憶装置110に格納してもよい。
次に、タイミングアークP12に対応した遅延時間テーブル32が作成される。この時、基本条件テーブル35は用いられない。タイミングアークP12については、上述の第1縮退条件群と第2縮退条件群に基づいて遅延時間が求められる。具体的には、演算処理装置120は、既に生成された遅延時間テーブル31と遅延時間テーブル34を記憶装置110から読み込むことによって、第1縮退条件群と第2縮退条件群に関する情報を取得する。あるいは、演算処理装置120は、記憶装置110に直接格納された第1縮退条件群と第2縮退条件群を読み込んでもよい。そして、タイミングアークP12については、演算処理装置120は、第1縮退条件群を構成する第1条件A1〜A5と、第2縮退条件群を構成する第2条件D1〜D6との組み合わせ(30種類)に対してシミュレーションを実行し遅延時間を求める。そして、演算処理装置120は、これら30種類の条件に対する遅延時間を示す遅延時間テーブル32を作成し、その遅延時間テーブル32を記憶装置110に格納する。
同様に、タイミングアークP21に対応した遅延時間テーブル33が作成される。この時、基本条件テーブル35は用いられない。タイミングアークP21については、上述の第1縮退条件群と第2縮退条件群に基づいて遅延時間が求められる。具体的には、演算処理装置120は、既に生成された遅延時間テーブル31と遅延時間テーブル34を読み込むことによって、第1縮退条件群と第2縮退条件群に関する情報を取得することができる。あるいは、演算処理装置120は、記憶装置110に直接格納された第1縮退条件群と第2縮退条件群を読み込んでもよい。そして、タイミングアークP21については、演算処理装置120は、第2縮退条件群を構成する第1条件C1〜C6と、第1縮退条件群を構成する第2条件B1〜B5との組み合わせ(30種類)に対してシミュレーションを実行し遅延時間を求める。そして、演算処理装置120は、これら30種類の条件に対する遅延時間を示す遅延時間テーブル33を作成し、その遅延時間テーブル33を記憶装置110に格納する。
図10は、本実施の形態に係るタイミング制約ライブラリ10の作成方法を要約して示すフローチャートである。まず、セル回路ライブラリ115が提供され、セル回路データDCの取得が行われる(ステップS1)。次に、複数の入力端子Inあるいは複数の出力端子Outから、1つの代表端子が選択される(ステップS2)。次に、代表端子につながる複数のタイミングアークPMNから、1つの代表タイミングアークが選択される(ステップS3)。次に、その代表タイミングアークについては、基本条件テーブル35によって提供される基本条件群の全てに対してタイミング制約(遅延時間)が求められる(ステップS4)。次に、ステップS3の結果に基づいて、条件の縮退処理が行われる(ステップS5)。次に、代表タイミングアークと異なるタイミングアークについて、既知の縮退条件に基づいてタイミング制約が求められる(ステップS6)。処理が終わっていないタイミングアークが残っている場合(ステップS7;No)、上記ステップS2〜S6が繰り返される。全てのタイミングアークPMNについて処理が終了し(ステップS7;Yes)、制約テーブル群(遅延時間テーブル群30)が作成される。
以上に説明されたように、本発明に係るタイミング制約ライブラリ10の作成方法及び作成システム100によれば、代表タイミングアーク以外のタイミングアークについては、基本条件群の一部だけに対して遅延時間が求められる。よって、シミュレーション回数が低減され、遅延時間テーブル32、33を作成する時間が短縮される。すなわち、タイミング制約ライブラリ10を作成する時間が短縮される。
(第2の実施の形態)
本発明の第2の実施の形態において、「タイミング制約」は出力端子Outにおける信号の波形鈍りの程度を示す「出力波形なまり」である。図3に示された出力波形なまりテーブル群40は、複数の出力波形なまりテーブル(タイミング制約テーブル)を含んでいる。複数の出力波形なまりテーブルのそれぞれは、複数のタイミングアークPMNのそれぞれに対して作成される。
図11は、タイミングアークP11に対して作成される出力波形なまりテーブル41の内容を示す概念図である。この出力波形なまりテーブル41は、複数の条件に対する出力波形なまりをテーブル形式で示している。その複数の条件は、複数の第1条件と複数の第2条件の組み合わせで構成される。本実施の形態において、第1条件(第1テーブルインデックス)は、入力端子Inに入力される信号の波形なまりの程度を示す「入力波形なまり」であり、第2条件(第2テーブルインデックス)は、出力端子Outにかかる負荷容量値を示す「出力負荷容量」である。例えば図11において、複数の条件は、第1条件A1〜A5と第2条件B1〜B5の組み合わせで与えられ、出力波形なまりテーブル41は、その組み合わせのそれぞれに対する25種類の出力波形なまりR11〜R55を示している。
このような出力波形なまりテーブル41を含む出力波形なまりテーブル群40の作成方法は、第1の実施の形態において説明された作成方法と同様である(図7、図10参照)。また、その出力波形なまりテーブル群40を作成するシステムの構成・動作は、図8、図9に示されたシステムの構成・動作と同様である。つまり、代表タイミングアークについては、基本条件テーブル35を用い、基本条件群の全てに対して出力波形なまりが求められる。一方、代表タイミングアーク以外のタイミングアークについては、縮退された一部の条件に対して出力波形なまりが求められる。よって、シミュレーション回数が低減され、出力波形なまりテーブル41を作成する時間が短縮される。すなわち、タイミング制約ライブラリ10を作成する時間が短縮される。
(第3の実施の形態)
図12は、本発明の第3の実施の形態におけるセルの構成を示す概略図である。図12では、例として、第1セル21の構成が示されている。この第1セル21は、フリップフロップのような順序回路であり、入力信号DATAが入力される複数の入力端子(DATA1〜DATA3)と、クロック信号CLKが入力されるクロック端子と、出力端子Qを有している。
本実施の形態において、「タイミング制約」は、入力信号DATAのクロック信号CLKに対する「セットアップ時間」を示す。図3に示されたセットアップ時間テーブル群50は、複数のセットアップ時間テーブル(タイミング制約テーブル)を含んでいる。複数のセットアップ時間テーブルのそれぞれは、複数の入力端子DATA1〜DATA3のそれぞれに対して作成される。
図13は、入力端子DATA1に対して作成されるセットアップ時間テーブル51の内容を示す概念図である。このセットアップ時間テーブル51は、複数の条件に対するセットアップ時間をテーブル形式で示している。その複数の条件は、複数の第1条件と複数の第2条件の組み合わせで構成される。本実施の形態において、第1条件(第1テーブルインデックス)は、入力端子DATA1に入力される信号の波形なまりの程度を示す「入力波形なまり」であり、第2条件(第2テーブルインデックス)は、クロック信号の波形なまりの程度を示す「クロック波形なまり」である。例えば図13において、複数の条件は、第1条件A1〜A5と第2条件B1〜B5の組み合わせで与えられ、セットアップ時間テーブル51は、その組み合わせのそれぞれに対する25種類のセットアップ時間S11〜S55を示している。
このようなセットアップ時間テーブル群50を作成するシステムの構成は、図8に示されたシステムの構成と同様である。まず、ライブラリ作成ソフトウェア150は、記憶装置110に格納された基本条件テーブル35(図5参照)を読み込む。また、ライブラリ作成ソフトウェア150は、記憶装置110に格納されたセル回路ライブラリ115から、セル回路データDCを読み込む。このセル回路データDCは、図12に示されるような対象セルのレイアウト情報を含んでいる。
次に、ライブラリ作成ソフトウェア150は、読み込んだセル回路データDCを参照することによって、複数の入力端子DATA1〜DATA3から代表端子を選択する。例えば、入力端子DATA1が代表端子として選択されたとする。
次に、ライブラリ作成ソフトウェア150は、選択した入力端子と条件群を示すパス・条件データDPをシミュレーションツール160に出力する。この場合、パス・条件データDPは、代表端子(入力端子DATA1)と、基本条件テーブル35が示す基本条件群の全て(225種類)を示す。シミュレーションツール160は、ライブラリ作成ソフトウェア150からパス・条件データDPを受け取り、セル回路ライブラリ115からセル回路データDCを受け取る。そして、シミュレーションツール160は、セル回路データDCを参照しながら対象セルについてシミュレーションを行い、基本条件群の全てに対してセットアップ時間(タイミング制約)を求める。このシミュレーションの結果を示す解析結果データDRは、ライブラリ作成ソフトウェア150に入力される。
次に、ライブラリ作成ソフトウェア150は、その解析結果データDRに基づいて、条件の「縮退処理」を行う。これによって、基本条件群から最適な一部の条件(第1縮退条件群)が抽出される。例えば、この一部の条件は、第1条件A1〜A5と第2条件B1〜B5の組み合わせによって構成されている。ライブラリ作成ソフトウェア150は、この一部の条件に対するセットアップ時間を示すセットアップ時間テーブル51を作成し、そのセットアップ時間テーブル51を記憶装置110内のタイミング制約ライブラリ10に格納する。また、ライブラリ作成ソフトウェア150は、その一部の条件である縮退条件群を記憶装置110に格納してもよい。
次に、ライブラリ作成ソフトウェア150は、複数の入力端子DATA1〜DATA3から代表端子以外の入力端子を選択する。また、ライブラリ作成ソフトウェア150は、記憶装置110に格納された縮退条件群を読み出す。ここで、ライブラリ作成ソフトウェア150は、記憶装置110に格納されたセットアップ時間テーブル51を参照することによって、その縮退条件群に関する情報を取得してもよい。クロック端子は共有されており、この縮退条件群は、第2条件B1〜B5を有している。ライブラリ作成ソフトウェア150は、選択された入力端子と一部の条件を示すパス・条件データDPをシミュレーションツール160に出力する。シミュレーションツール160は、パス・条件データDPに基づいてシミュレーションを行い、基本条件群の一部に対してセットアップ時間(タイミング制約)を求める。このシミュレーションの結果を示す解析結果データDRは、ライブラリ作成ソフトウェア150に入力される。
ライブラリ作成ソフトウェア150は、その解析結果データDRに基づいて、選択された入力端子に対するセットアップ時間テーブルを作成し、そのセットアップ時間テーブルを記憶装置110内のタイミング制約ライブラリ10に追加する。ライブラリ作成ソフトウェア150は、全ての入力端子DATA1〜DATA3について同様の処理を繰り返す。これにより、複数のセットアップ時間テーブルを含むセットアップ時間テーブル群50が作成される。作成されたセットアップ時間テーブル群50(タイミング制約ライブラリ10)は、記憶装置110に格納される。
図14は、本実施の形態に係るタイミング制約ライブラリ10の作成方法を要約して示すフローチャートである。まず、セル回路ライブラリ115が提供され、セル回路データDCの取得が行われる(ステップS11)。次に、複数の入力端子(DATA1〜DATA3)から、1つの代表端子が選択される(ステップS12)。次に、その代表端子に入力される入力信号のクロック信号CLKに対するセットアップ時間が、基本条件群の全てに対して求められる(ステップS13)。次に、ステップS13の結果に基づいて、条件の縮退処理が行われ、基本条件群から一部の条件が抽出される(ステップS14)。次に、代表端子以外の入力端子に入力される入力信号のクロック信号に対するセットアップ時間が、縮退した一部の条件に対して求められる(ステップS15)。全ての入力端子DATA1〜DATA3について処理が終了し、制約テーブル群(セットアップ時間テーブル群50)が作成される。
以上に説明されたように、本発明に係るタイミング制約ライブラリ10の作成方法及び作成システム100によれば、代表端子以外の入力端子については、基本条件群の一部だけに対してセットアップ時間が求められる。よって、シミュレーション回数が低減され、セットアップ時間テーブル51を作成する時間が短縮される。すなわち、タイミング制約ライブラリ10を作成する時間が短縮される。
(第4の実施の形態)
本発明の第4の実施の形態において、「タイミング制約」は、入力信号DATAのクロック信号CLKに対する「ホールド時間」を示す。図3に示されたホールド時間テーブル群60は、複数のホールド時間テーブル(タイミング制約テーブル)を含んでいる。複数のホールド時間テーブルのそれぞれは、複数の入力端子DATA1〜DATA3のそれぞれに対して作成される。
図15は、入力端子DATA1に対して作成されるホールド時間テーブル61の内容を示す概念図である。このホールド時間テーブル61は、複数の条件に対するホールド時間をテーブル形式で示している。その複数の条件は、複数の第1条件と複数の第2条件の組み合わせで構成される。本実施の形態において、第1条件(第1テーブルインデックス)は、入力端子DATA1に入力される信号の波形なまりの程度を示す「入力波形なまり」であり、第2条件(第2テーブルインデックス)は、クロック信号の波形なまりの程度を示す「クロック波形なまり」である。例えば図15において、複数の条件は、第1条件A1〜A5と第2条件B1〜B5の組み合わせで与えられ、ホールド時間テーブル61は、その組み合わせのそれぞれに対する25種類のホールド時間H11〜H55を示している。
このようなホールド時間テーブル61を含むホールド時間テーブル群60の作成方法は、第3の実施の形態において説明された作成方法と同様である(図14参照)。また、そのホールド時間テーブル群40を作成するシステムの構成・動作は、第3の実施の形態において示されたシステムの構成・動作と同様である。つまり、代表端子については、基本条件テーブル35を用い、基本条件群の全てに対してホールド時間が求められる。一方、代表端子以外の入力端子については、縮退された一部の条件に対してホールド時間が求められる。よって、シミュレーション回数が低減され、ホールド時間テーブル61を作成する時間が短縮される。すなわち、タイミング制約ライブラリ10を作成する時間が短縮される。
図1は、本発明の実施の形態におけるタイミング制約ライブラリの構成を示す概念図である。 図2は、本発明の実施の形態におけるセルの構成を示す概略図である。 図3は、本発明の実施の形態におけるタイミング制約ライブラリの構成を示す概念図である。 図4は、本発明の第1の実施の形態における遅延時間テーブルを説明するための概念図である。 図5は、本発明の第1の実施の形態における基本条件テーブルを説明するための概念図である。 図6は、本発明の第1の実施の形態において実行される縮退処理を説明するための図である。 図7は、本発明の第1の実施の形態において作成されるタイミング制約ライブラリの構成を示す概念図である。 図8は、本発明の第1の実施の形態に係るタイミング制約ライブラリの作成システムの構成を示すブロック図である。 図9は、本発明の第1の実施の形態に係るタイミング制約ライブラリの作成システムの動作を示すブロック図である。 図10は、本発明の第1の実施の形態に係るタイミング制約ライブラリの作成方法を示すフローチャートである。 図11は、本発明の第2の実施の形態における出力波形なまりテーブルを説明するための概念図である。 図12は、本発明の実施の形態におけるセルの構成を示す概略図である。 図13は、本発明の第3の実施の形態におけるセットアップ時間テーブルを説明するための概念図である。 図14は、本発明の第3の実施の形態に係るタイミング制約ライブラリの作成方法を示すフローチャートである。 図15は、本発明の第4の実施の形態におけるホールド時間テーブルを説明するための概念図である。
符号の説明
10 タイミング制約ライブラリ
11 第1セル用制約テーブル群
12 第2セル用制約テーブル群
13 第3セル用制約テーブル群
21 第1セル
30 遅延時間テーブル群
31 遅延時間テーブル
32 遅延時間テーブル
33 遅延時間テーブル
34 遅延時間テーブル
35 基本条件テーブル
40 出力波形なまりテーブル群
41 出力波形なまりテーブル
50 セットアップ時間テーブル群
51 セットアップ時間テーブル
60 ホールド時間テーブル群
61 ホールド時間テーブル
100 タイミング制約ライブラリ作成システム
110 記憶装置
115 セル回路ライブラリ
120 演算処理装置
130 入力装置
140 出力装置
150 ライブラリ作成ソフトウェア
160 シミュレーションツール

Claims (12)

  1. 少なくとも1つの入力端子と少なくとも1つの出力端子を有し、前記入力端子の各々は前記出力端子の各々とタイミングアークでつながれるセルのタイミング制約を提供するタイミング制約ライブラリの作成方法であって、
    (A)前記セルの回路データを記憶装置に格納するステップと、
    (B)前記記憶装置に接続された演算処理装置が、前記回路データを参照して、複数の前記タイミングアークから、1つを代表タイミングアークとして選択するステップと、
    (C)前記演算処理装置が、前記代表タイミングアークについて、所定の基本条件群のうち全ての条件に対してシミュレーションを実行することにより前記タイミング制約を求めるステップと、
    (D)前記演算処理装置が、前記基本条件群から一部の条件を抽出し、抽出された前記一部の条件を前記記憶装置に格納するステップと、
    (E)前記演算処理装置が、前記記憶装置から前記一部の条件を読み出し、前記入力端子及び前記出力端子のいずれかを前記代表タイミングアークと共有する前記タイミングアークについて、前記一部の条件に対してシミュレーションを実行することにより前記タイミング制約を求めるステップと
    を具備する
    タイミング制約ライブラリ作成方法。
  2. 請求項1に記載のタイミング制約ライブラリ作成方法であって、
    前記(D)ステップにおいて、
    前記全ての条件と前記タイミング制約との対応関係を示す関数が、前記一部の条件と前記タイミング制約との対応関係を示す関数によって、所定の誤差範囲内で近似されるように、前記一部の条件は抽出される
    タイミング制約ライブラリ作成方法。
  3. 請求項1又は2に記載のタイミング制約ライブラリ作成方法であって、
    前記(B)ステップにおいて、
    前記複数のタイミングアークのうち最小のトランジスタの段数を有するタイミングアークが、前記代表タイミングアークとして選択される
    タイミング制約ライブラリ作成方法。
  4. セルのタイミング制約を提供するタイミング制約ライブラリの作成方法であって、前記セルは、M個(Mは自然数)の入力端子とN個(Nは自然数)の出力端子を有し、前記M個の入力端子と前記N個の出力端子をつなぐタイミングアークは、M行N列のマトリックスPMNで表され、
    前記作成方法は、
    (AA)タイミングアークPii(iは、1以上かつM以下かつN以下の整数)について、演算処理装置が、所定の基本条件群の全てに対してシミュレーションを実行することにより前記タイミング制約を求めるステップと、
    (BB)前記(AA)ステップで求められた結果に基づき、前記演算処理装置が、前記基本条件群を縮退することによって第1縮退条件群を生成し、生成された前記第1縮退条件群を前記演算処理装置に接続された記憶装置に格納するステップと、
    (CC)別のタイミングアークPjj(jは、1以上かつM以下かつN以下の整数)について、前記演算処理装置が、前記基本条件群の全てに対してシミュレーションを実行することによって前記タイミング制約を求めるステップと、
    (DD)前記(CC)ステップで求められた結果に基づき、前記演算処理装置が、前記基本条件群を縮退することによって第2縮退条件群を生成し、生成された前記第2縮退条件群を前記記憶装置に格納するステップと、
    (EE)タイミングアークPij及びPjiについて、前記演算処理装置が、前記記憶装置から読み出した前記第1縮退条件群と前記第2縮退条件群に基づきシミュレーションを実行することによって前記タイミング制約を求めるステップと
    を具備する
    タイミング制約ライブラリ作成方法。
  5. 請求項4に記載のタイミング制約ライブラリ作成方法であって、
    前記基本条件群は、複数の第1条件と複数の第2条件の組み合わせで与えられ、
    前記(EE)ステップは、
    (E1)タイミングアークPijについて、前記演算処理装置が、前記第1縮退条件群を構成する前記第1条件と前記第2縮退条件群を構成する前記第2条件との組み合わせに対して、前記タイミング制約を求めるステップと、
    (E2)タイミングアークPjiについて、前記演算処理装置が、前記第2縮退条件群を構成する前記第1条件と前記第1縮退条件群を構成する前記第2条件との組み合わせに対して、前記タイミング制約を求めるステップと
    を具備する
    タイミング制約ライブラリ作成方法。
  6. 請求項1乃至5のいずれかに記載のタイミング制約ライブラリ作成方法であって、
    前記基本条件群を構成する各条件は、前記入力端子に入力される信号の波形鈍りと前記出力端子に接続される負荷の容量の組み合わせを示し、
    前記タイミング制約は、前記入力端子と前記出力端子との間の遅延時間を示す
    タイミング制約ライブラリ作成方法。
  7. 請求項1乃至5のいずれかに記載のタイミング制約ライブラリ作成方法であって、
    前記基本条件群を構成する各条件は、前記入力端子に入力される信号の波形鈍りと前記出力端子に接続される負荷の容量の組み合わせを示し、
    前記タイミング制約は、前記出力端子における信号の波形鈍りを示す
    タイミング制約ライブラリ作成方法。
  8. 複数の入力端子とクロック信号が入力されるクロック端子を有するセルのタイミング制約を提供するタイミング制約ライブラリの作成方法であって、
    (a)前記セルの回路データを記憶装置に格納するステップと、
    (b)前記記憶装置に接続された演算処理装置が、前記回路データを参照して、前記複数の入力端子から1つの端子を代表端子として選択するステップと、
    (c)前記演算処理装置が、前記代表端子に入力される入力信号の前記クロック信号に対する前記タイミング制約を、所定の基本条件群のうち全ての条件に対してシミュレーションを実行することにより求めるステップと、
    (d)前記演算処理装置が、前記基本条件群から一部の条件を抽出し、抽出された前記一部の条件を前記記憶装置に格納するステップと、
    (e)前記演算処理装置が、前記記憶装置から前記一部の条件を読み出し、前記代表端子以外の前記入力端子に入力される入力信号の前記クロック信号に対する前記タイミング制約を、前記一部の条件に対してシミュレーションを実行することにより求めるステップと
    を具備する
    タイミング制約ライブラリ作成方法。
  9. 請求項8に記載のタイミング制約ライブラリ作成方法であって、
    前記(d)ステップにおいて、
    前記全ての条件と前記タイミング制約との対応関係を示す関数が、前記一部の条件と前記タイミング制約との対応関係を示す関数によって、所定の誤差範囲内で近似されるように、前記一部の条件は抽出される
    タイミング制約ライブラリ作成方法。
  10. 請求項8又は9に記載のタイミング制約ライブラリ作成方法であって、
    前記基本条件群を構成する各条件は、前記入力信号の波形の鈍りと前記クロック信号の波形の鈍りの組み合わせを示し、
    前記タイミング制約は、前記入力信号の前記クロック信号に対するセットアップ時間及びホールド時間のいずれかを示す
    タイミング制約ライブラリ作成方法。
  11. セルのタイミング制約を提供するタイミング制約ライブラリを作成するシステムであって、
    前記セルの回路データを記憶する記憶装置と、
    前記記憶装置に接続された演算処理装置と、
    前記演算処理装置によって実行されるソフトウェアと
    を具備し、
    前記セルは、少なくとも1つの入力端子と少なくとも1つの出力端子を有し、前記入力端子の各々は前記出力端子の各々とタイミングアークでつながれ、
    前記ソフトウェアの命令に従って前記演算処理装置は、
    前記記憶装置から前記回路データを読み込み、前記回路データを参照することによって、複数の前記タイミングアークから、1つを代表タイミングアークとして選択し、
    前記演算処理装置は、
    前記代表タイミングアークについて、所定の基本条件群のうち全ての条件に対してシミュレーションを実行することにより前記タイミング制約を求め、また、前記基本条件群から一部の条件を抽出し、抽出された前記一部の条件を前記記憶装置に格納し、
    前記演算処理装置は、
    前記記憶装置から前記一部の条件を読み出し、前記入力端子及び前記出力端子のいずれかを前記代表タイミングアークと共有する前記タイミングアークについて、前記一部の条件に対してシミュレーションを実行することにより前記タイミング制約を求める
    タイミング制約ライブラリ作成システム。
  12. セルのタイミング制約を提供するタイミング制約ライブラリを作成するシステムであって、
    前記セルの回路データを記憶する記憶装置と、
    前記記憶装置に接続された演算処理装置と、
    前記演算処理装置によって実行されるソフトウェアと
    を具備し、
    前記セルは、複数の入力端子とクロック信号が入力されるクロック端子を有し、
    前記ソフトウェアの命令に従って前記演算処理装置は、
    前記記憶装置から前記回路データを読み込み、前記複数の入力端子から1つの端子を代表端子として選択し、
    前記演算処理装置は、
    前記代表端子に入力される入力信号の前記クロック信号に対する前記タイミング制約を、所定の基本条件群のうち全ての条件に対してシミュレーションを実行することにより求め、また、前記基本条件群から一部の条件を抽出し、抽出された前記一部の条件を前記記憶装置に格納し、
    前記演算処理装置は、
    前記記憶装置から前記一部の条件を読み出し、前記代表端子以外の前記入力端子に入力される入力信号の前記クロック信号に対する前記タイミング制約を、前記一部の条件に対してシミュレーションを実行することにより求める
    タイミング制約ライブラリ作成システム。
JP2004214134A 2004-07-22 2004-07-22 タイミング制約ライブラリの作成方法及び作成システム Withdrawn JP2006039621A (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2004214134A JP2006039621A (ja) 2004-07-22 2004-07-22 タイミング制約ライブラリの作成方法及び作成システム
US11/185,748 US20060020441A1 (en) 2004-07-22 2005-07-21 Method and system for creating timing constraint library

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2004214134A JP2006039621A (ja) 2004-07-22 2004-07-22 タイミング制約ライブラリの作成方法及び作成システム

Publications (1)

Publication Number Publication Date
JP2006039621A true JP2006039621A (ja) 2006-02-09

Family

ID=35658368

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004214134A Withdrawn JP2006039621A (ja) 2004-07-22 2004-07-22 タイミング制約ライブラリの作成方法及び作成システム

Country Status (2)

Country Link
US (1) US20060020441A1 (ja)
JP (1) JP2006039621A (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8171440B2 (en) 2008-08-20 2012-05-01 Nec Corporation Timing analyzing apparatus, timing analyzing method and program thereof
US8788255B2 (en) 2009-08-21 2014-07-22 Nec Corporation Delay analysis processing of semiconductor integrated circuit
US8984456B2 (en) 2012-02-02 2015-03-17 Nec Corporation Macro timing analysis device, macro boundary path timing analysis method and macro boundary path timing analysis program

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4649337B2 (ja) * 2006-01-16 2011-03-09 富士通株式会社 ライブラリ作成装置及び方法,並びにライブラリ作成プログラムを記録したコンピュータ読取可能な記録媒体
JP2009037278A (ja) * 2007-07-31 2009-02-19 Nec Corp 動作タイミング検証装置、方法、及び、プログラム
US8813006B1 (en) * 2008-03-26 2014-08-19 Cadence Design Systems, Inc. Accelerated characterization of circuits for within-die process variations
US11484850B2 (en) 2019-09-26 2022-11-01 Tasz, Inc. Aerator

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6212665B1 (en) * 1998-03-27 2001-04-03 Synopsys, Inc. Efficient power analysis method for logic cells with many output switchings
WO2003050725A2 (en) * 2001-12-07 2003-06-19 Cadence Design Systems, Inc. Assertion handling for timing model extraction
JP2005196265A (ja) * 2003-12-26 2005-07-21 Matsushita Electric Ind Co Ltd 遅延ライブラリ作成方法および遅延ライブラリ作成装置
JP2006039614A (ja) * 2004-07-22 2006-02-09 Nec Electronics Corp タイミング制約情報の作成方法及び作成システム

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8171440B2 (en) 2008-08-20 2012-05-01 Nec Corporation Timing analyzing apparatus, timing analyzing method and program thereof
US8788255B2 (en) 2009-08-21 2014-07-22 Nec Corporation Delay analysis processing of semiconductor integrated circuit
US8984456B2 (en) 2012-02-02 2015-03-17 Nec Corporation Macro timing analysis device, macro boundary path timing analysis method and macro boundary path timing analysis program

Also Published As

Publication number Publication date
US20060020441A1 (en) 2006-01-26

Similar Documents

Publication Publication Date Title
CN109376867B (zh) 两量子比特逻辑门的处理方法及装置
US20060020441A1 (en) Method and system for creating timing constraint library
US8302041B1 (en) Implementation flow for electronic circuit designs using choice networks
JP4759392B2 (ja) 検証支援プログラム、該プログラムを記録した記録媒体、検証支援装置、および検証支援方法
Klarner et al. Basins of attraction, commitment sets, and phenotypes of Boolean networks
CN103631710A (zh) 软件规范开发辅助方法以及软件规范开发辅助装置
CN106843141A (zh) 数值控制装置
Ubar et al. Structural fault collapsing by superposition of BDDs for test generation in digital circuits
CN107844678B (zh) 包含IP/Memory时序路径的spice仿真方法
CN116663493A (zh) 基于约束求解器的条件约束语句求解方法、设备和介质
US20060031808A1 (en) System and method for creating timing constraint information
CN113128015A (zh) 预估单振幅模拟量子计算所需资源的方法和系统
CN115146485A (zh) 基于gpu加速的射频链路仿真方法
CN116739094A (zh) 量子线路的串扰优化方法、装置、存储介质及电子装置
US7197445B1 (en) Atomic transaction processing for logic simulation
US10706206B1 (en) Methods for layout driven synthesis of transmission line routes in integrated circuits
CN113206712A (zh) 一种软件无线电符合性测试方法及系统
JP2017167732A (ja) 回路設計検証装置およびプログラム
US9177095B1 (en) Methods, systems, and articles of manufacture for creating or manipulating electrical data sets for an electronic design
JP5602273B1 (ja) 電力系統シミュレータならびに電力系統のシミュレーションプログラムおよびシミュレーション方法
CN112800669B (zh) 专用加速器中基于概率图模型的多种近似技术误差评估方法
JP7117253B2 (ja) パラメータ設定支援装置、パラメータ設定支援方法及びプログラム
US11003818B1 (en) Range computation of bitwise operators
JP5774468B2 (ja) 状態遷移表生成装置
JPH0916640A (ja) 回路シミュレータ及びブロック緩和反復シミュレーション方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20060606

A761 Written withdrawal of application

Free format text: JAPANESE INTERMEDIATE CODE: A761

Effective date: 20070509