(57)【要約】      （修正有）【課題】タイミング制約ライブラリの作成時間を短縮することができる作成方法及び作成システムを提供すること。【解決手段】ソフトウェア１５０、１６０の命令に従って、演算処理装置１２０は、記憶装置１１０から回路データＤＣを読み込み、その回路データＤＣを参照することによって、複数のタイミングアークから、１つを代表タイミングアークとして選択する。そして、演算処理装置１２０は、その代表タイミングアークについては、所定の基本条件群のうち全ての条件に対してシミュレーションを実行することによりタイミング制約を求める。また、演算処理装置１２０は、その基本条件群から一部の条件を抽出し入力端子Ｉｎ及び出力端子Ｏｕｔのいずれかを代表タイミングアークと共有するタイミングアークについては、その一部の条件に対してシミュレーションを実行することによりタイミング制約を求める。【選択図】      図８
2006039621.tif 000002
【特許請求の範囲】
【請求項１】
少なくとも１つの入力端子と少なくとも１つの出力端子を有し、前記入力端子の各々は前記出力端子の各々とタイミングアークでつながれるセルのタイミング制約を提供するタイミング制約ライブラリの作成方法であって、
（Ａ）前記セルの回路データを記憶装置に格納するステップと、
（Ｂ）前記記憶装置に接続された演算処理装置が、前記回路データを参照して、複数の前記タイミングアークから、１つを代表タイミングアークとして選択するステップと、
（Ｃ）前記演算処理装置が、前記代表タイミングアークについて、所定の基本条件群のうち全ての条件に対してシミュレーションを実行することにより前記タイミング制約を求めるステップと、
（Ｄ）前記演算処理装置が、前記基本条件群から一部の条件を抽出し、抽出された前記一部の条件を前記記憶装置に格納するステップと、
（Ｅ）前記演算処理装置が、前記記憶装置から前記一部の条件を読み出し、前記入力端子及び前記出力端子のいずれかを前記代表タイミングアークと共有する前記タイミングアークについて、前記一部の条件に対してシミュレーションを実行することにより前記タイミング制約を求めるステップと
を具備する
タイミング制約ライブラリ作成方法。
【請求項２】
請求項１に記載のタイミング制約ライブラリ作成方法であって、
前記（Ｄ）ステップにおいて、
前記全ての条件と前記タイミング制約との対応関係を示す関数が、前記一部の条件と前記タイミング制約との対応関係を示す関数によって、所定の誤差範囲内で近似されるように、前記一部の条件は抽出される
タイミング制約ライブラリ作成方法。
【請求項３】
請求項１又は２に記載のタイミング制約ライブラリ作成方法であって、
前記（Ｂ）ステップにおいて、
前記複数のタイミングアークのうち最小のトランジスタの段数を有するタイミングアークが、前記代表タイミングアークとして選択される
タイミング制約ライブラリ作成方法。
【請求項４】
セルのタイミング制約を提供するタイミング制約ライブラリの作成方法であって、前記セルは、Ｍ個（Ｍは自然数）の入力端子とＮ個（Ｎは自然数）の出力端子を有し、前記Ｍ個の入力端子と前記Ｎ個の出力端子をつなぐタイミングアークは、Ｍ行Ｎ列のマトリックスＰＭＮで表され、
前記作成方法は、
（ＡＡ）タイミングアークＰｉｉ（ｉは、１以上かつＭ以下かつＮ以下の整数）について、演算処理装置が、所定の基本条件群の全てに対してシミュレーションを実行することにより前記タイミング制約を求めるステップと、
（ＢＢ）前記（ＡＡ）ステップで求められた結果に基づき、前記演算処理装置が、前記基本条件群を縮退することによって第１縮退条件群を生成し、生成された前記第１縮退条件群を前記演算処理装置に接続された記憶装置に格納するステップと、
（ＣＣ）別のタイミングアークＰｊｊ（ｊは、１以上かつＭ以下かつＮ以下の整数）について、前記演算処理装置が、前記基本条件群の全てに対してシミュレーションを実行することによって前記タイミング制約を求めるステップと、
（ＤＤ）前記（ＣＣ）ステップで求められた結果に基づき、前記演算処理装置が、前記基本条件群を縮退することによって第２縮退条件群を生成し、生成された前記第２縮退条件群を前記記憶装置に格納するステップと、
（ＥＥ）タイミングアークＰｉｊ及びＰｊｉについて、前記演算処理装置が、前記記憶装置から読み出した前記第１縮退条件群と前記第２縮退条件群に基づきシミュレーションを実行することによって前記タイミング制約を求めるステップと
を具備する
タイミング制約ライブラリ作成方法。
【請求項５】
請求項４に記載のタイミング制約ライブラリ作成方法であって、
前記基本条件群は、複数の第１条件と複数の第２条件の組み合わせで与えられ、
前記（ＥＥ）ステップは、
（Ｅ１）タイミングアークＰｉｊについて、前記演算処理装置が、前記第１縮退条件群を構成する前記第１条件と前記第２縮退条件群を構成する前記第２条件との組み合わせに対して、前記タイミング制約を求めるステップと、
（Ｅ２）タイミングアークＰｊｉについて、前記演算処理装置が、前記第２縮退条件群を構成する前記第１条件と前記第１縮退条件群を構成する前記第２条件との組み合わせに対して、前記タイミング制約を求めるステップと
を具備する
タイミング制約ライブラリ作成方法。
【請求項６】
請求項１乃至５のいずれかに記載のタイミング制約ライブラリ作成方法であって、
前記基本条件群を構成する各条件は、前記入力端子に入力される信号の波形鈍りと前記出力端子に接続される負荷の容量の組み合わせを示し、
前記タイミング制約は、前記入力端子と前記出力端子との間の遅延時間を示す
タイミング制約ライブラリ作成方法。
【請求項７】
請求項１乃至５のいずれかに記載のタイミング制約ライブラリ作成方法であって、
前記基本条件群を構成する各条件は、前記入力端子に入力される信号の波形鈍りと前記出力端子に接続される負荷の容量の組み合わせを示し、
前記タイミング制約は、前記出力端子における信号の波形鈍りを示す
タイミング制約ライブラリ作成方法。
【請求項８】
複数の入力端子とクロック信号が入力されるクロック端子を有するセルのタイミング制約を提供するタイミング制約ライブラリの作成方法であって、
（ａ）前記セルの回路データを記憶装置に格納するステップと、
（ｂ）前記記憶装置に接続された演算処理装置が、前記回路データを参照して、前記複数の入力端子から１つの端子を代表端子として選択するステップと、
（ｃ）前記演算処理装置が、前記代表端子に入力される入力信号の前記クロック信号に対する前記タイミング制約を、所定の基本条件群のうち全ての条件に対してシミュレーションを実行することにより求めるステップと、
（ｄ）前記演算処理装置が、前記基本条件群から一部の条件を抽出し、抽出された前記一部の条件を前記記憶装置に格納するステップと、
（ｅ）前記演算処理装置が、前記記憶装置から前記一部の条件を読み出し、前記代表端子以外の前記入力端子に入力される入力信号の前記クロック信号に対する前記タイミング制約を、前記一部の条件に対してシミュレーションを実行することにより求めるステップと
を具備する
タイミング制約ライブラリ作成方法。
【請求項９】
請求項８に記載のタイミング制約ライブラリ作成方法であって、
前記（ｄ）ステップにおいて、
前記全ての条件と前記タイミング制約との対応関係を示す関数が、前記一部の条件と前記タイミング制約との対応関係を示す関数によって、所定の誤差範囲内で近似されるように、前記一部の条件は抽出される
タイミング制約ライブラリ作成方法。
【請求項１０】
請求項８又は９に記載のタイミング制約ライブラリ作成方法であって、
前記基本条件群を構成する各条件は、前記入力信号の波形の鈍りと前記クロック信号の波形の鈍りの組み合わせを示し、
前記タイミング制約は、前記入力信号の前記クロック信号に対するセットアップ時間及びホールド時間のいずれかを示す
タイミング制約ライブラリ作成方法。
【請求項１１】
セルのタイミング制約を提供するタイミング制約ライブラリを作成するシステムであって、
前記セルの回路データを記憶する記憶装置と、
前記記憶装置に接続された演算処理装置と、
前記演算処理装置によって実行されるソフトウェアと
を具備し、
前記セルは、少なくとも１つの入力端子と少なくとも１つの出力端子を有し、前記入力端子の各々は前記出力端子の各々とタイミングアークでつながれ、
前記ソフトウェアの命令に従って前記演算処理装置は、
前記記憶装置から前記回路データを読み込み、前記回路データを参照することによって、複数の前記タイミングアークから、１つを代表タイミングアークとして選択し、
前記演算処理装置は、
前記代表タイミングアークについて、所定の基本条件群のうち全ての条件に対してシミュレーションを実行することにより前記タイミング制約を求め、また、前記基本条件群から一部の条件を抽出し、抽出された前記一部の条件を前記記憶装置に格納し、
前記演算処理装置は、
前記記憶装置から前記一部の条件を読み出し、前記入力端子及び前記出力端子のいずれかを前記代表タイミングアークと共有する前記タイミングアークについて、前記一部の条件に対してシミュレーションを実行することにより前記タイミング制約を求める
タイミング制約ライブラリ作成システム。
【請求項１２】
セルのタイミング制約を提供するタイミング制約ライブラリを作成するシステムであって、
前記セルの回路データを記憶する記憶装置と、
前記記憶装置に接続された演算処理装置と、
前記演算処理装置によって実行されるソフトウェアと
を具備し、
前記セルは、複数の入力端子とクロック信号が入力されるクロック端子を有し、
前記ソフトウェアの命令に従って前記演算処理装置は、
前記記憶装置から前記回路データを読み込み、前記複数の入力端子から１つの端子を代表端子として選択し、
前記演算処理装置は、
前記代表端子に入力される入力信号の前記クロック信号に対する前記タイミング制約を、所定の基本条件群のうち全ての条件に対してシミュレーションを実行することにより求め、また、前記基本条件群から一部の条件を抽出し、抽出された前記一部の条件を前記記憶装置に格納し、
前記演算処理装置は、
前記記憶装置から前記一部の条件を読み出し、前記代表端子以外の前記入力端子に入力される入力信号の前記クロック信号に対する前記タイミング制約を、前記一部の条件に対してシミュレーションを実行することにより求める
タイミング制約ライブラリ作成システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ＬＳＩ設計の技術に関し、特に、セルのタイミング制約を提供するタイミング制約ライブラリの作成方法及び作成システムに関する。
【背景技術】
【０００２】
ＬＳＩの設計を行う際、設計や確認の時間を短縮し人為的ミスを抑制するためには、コンピュータやＣＡＤ（Computer Aided Design）の利用は必要不可欠である。このようなＬＳＩ設計において、更に開発効率を向上させるために、特定の機能を有する機能ブロックである「セル」を用いる技術が知られている。このセルを用いたセルベース設計によれば、複数のセルが組み合わされ配置されることにより、所望のＬＳＩが設計される。これにより、設計期間が短縮され、生産性が向上する。
【０００３】
このようなセルが正常に動作するための制約を示す情報は、「タイミング制約」と呼ばれている。このタイミング制約は、例えば、セルにおける入力端子から出力端子への遅延時間を示す。また、タイミング制約は、入力端子に入力されるデータ信号に対するクロック信号のセットアップ時間やホールド時間などを含んでいる。このようなタイミング制約情報は、設計・検証済みのセルの回路情報と共に配布される。
【０００４】
セルベース設計が行われた後、その設計されたＬＳＩの動作等を解析／検証する「タイミング解析」が行われる。複数のセルを含むＬＳＩに対してタイミング解析を行うには、セル間の配線情報と、複数のセルの各々についての上述のタイミング制約情報が分かればよい。そのため、各セルのタイミング制約情報を提供する「タイミング制約ライブラリ」が用意される。このタイミング制約ライブラリは、複数の条件に対するタイミング制約をテーブル状に示す「タイミング制約テーブル」を含んでいる。例えば、遅延時間を示すタイミング制約テーブルの場合、それら複数の条件は、入力端子における入力波形鈍りの程度を示す複数の第１インデックスと、出力端子にかかる負荷容量の大小を示す複数の第２インデックスの組み合わせで与えられる（参照：特許文献１）。また、このようなタイミング制約テーブルを作成する技術は、特許文献２に開示されている。
【０００５】
タイミング制約ライブラリの情報量は膨大であり、その作成時間を短縮することが望まれている。そのために、各セルについてタイミング制約テーブルをより効率良く作成することが望まれている。
【０００６】
【特許文献１】特開平１０−２６９２７５号公報
【特許文献２】特開２００４−１３９３６０号公報
【発明の開示】
【発明が解決しようとする課題】
【０００７】
本発明の目的は、タイミング制約ライブラリの作成時間を短縮することができる作成方法及び作成システムを提供することにある。
【課題を解決するための手段】
【０００８】
以下に、［発明を実施するための最良の形態］で使用される番号・符号を用いて、［課題を解決するための手段］を説明する。これらの番号・符号は、［特許請求の範囲］の記載と［発明を実施するための最良の形態］との対応関係を明らかにするために括弧付きで付加されたものである。ただし、それらの番号・符号を、［特許請求の範囲］に記載されている発明の技術的範囲の解釈に用いてはならない。
【０００９】
本発明に係るタイミング制約ライブラリ作成方法は、セルの「タイミング制約」を提供するタイミング制約ライブラリ（１０）の作成方法である。このセル（２１）は、少なくとも１つの入力端子（Ｉｎ）と少なくとも１つの出力端子（Ｏｕｔ）を有する。入力端子（Ｉｎ）の各々は出力端子（Ｏｕｔ）の各々とタイミングアーク（Ｐ１１、Ｐ１２、Ｐ２１、Ｐ２２）でつながれている。
【００１０】
このタイミング制約ライブラリ作成方法は、（Ａ）セルの回路データ（１１５、ＤＣ）を記憶装置（１１０）に格納するステップと、（Ｂ）その記憶装置（１１０）に接続された演算処理装置（１２０）が、回路データ（１１５、ＤＣ）を参照して、複数のタイミングアーク（Ｐ１１、Ｐ１２、Ｐ２１、Ｐ２２）から、１つを代表タイミングアークとして選択するステップと、（Ｃ）演算処理装置（１２０）が、その代表タイミングアークについて、所定の基本条件群のうち全ての条件に対してシミュレーションを実行することによりタイミング制約を求めるステップと、（Ｄ）演算処理装置（１２０）が、その基本条件群から一部の条件を抽出し、抽出された一部の条件を記憶装置（１１０）に格納するステップと、（Ｅ）演算処理装置（１２０）が、記憶装置（１１０）からその一部の条件を読み出し、入力端子（Ｉｎ）及び出力端子（Ｏｕｔ）のいずれかを代表タイミングアークと共有するタイミングアークについて、その一部の条件に対してシミュレーションを実行することによりタイミング制約を求めるステップとを備える。
【００１１】
上記（Ｄ）ステップにおいて、上記全ての条件とタイミング制約との対応関係を示す関数が、上記一部の条件とタイミング制約との対応関係を示す関数によって、所定の誤差範囲内で近似されるように、上記一部の条件は抽出される。また、上記（Ｂ）ステップにおいて、複数のタイミングアーク（Ｐ１１、Ｐ１２、Ｐ２１、Ｐ２２）のうち最小のトランジスタの段数を有するタイミングアークが、代表タイミングアークとして選択されてもよい。
【００１２】
また、セル（２１）が、Ｍ個（Ｍは自然数）の入力端子（Ｉｎ）とＮ個（Ｎは自然数）の出力端子（Ｏｕｔ）を有する場合、Ｍ個の入力端子（Ｉｎ）とＮ個の出力端子（Ｏｕｔ）をつなぐタイミングアークは、Ｍ行Ｎ列のマトリックスＰＭＮで表される。この時、本発明に係るタイミング制約ライブラリ作成方法は、（ＡＡ）タイミングアークＰｉｉ（ｉは、１以上かつＭ以下かつＮ以下の整数）について、演算処理装置（１２０）が、所定の基本条件群の全てに対してシミュレーションを実行することによりタイミング制約を求めるステップと、（ＢＢ）上記（ＡＡ）ステップで求められた結果に基づき、演算処理装置（１２０）が、基本条件群を縮退することによって第１縮退条件群（Ａ１〜Ａ５、Ｂ１〜Ｂ５）を生成し、生成された第１縮退条件群（Ａ１〜Ａ５、Ｂ１〜Ｂ５）を演算処理装置（１２０）に接続された記憶装置（１１０）に格納するステップと、（ＣＣ）タイミングアークＰｊｊ（ｊは、１以上かつＭ以下かつＮ以下の整数）について、演算処理装置（１２０）が、基本条件群の全てに対してシミュレーションを実行することによりタイミング制約を求めるステップと、（ＤＤ）上記（ＣＣ）ステップで求められた結果に基づき、演算処理装置（１２０）が、基本条件群を縮退することによって第２縮退条件群（Ｃ１〜Ｃ６、Ｄ１〜Ｄ６）を生成し、生成された第２縮退条件群（Ｃ１〜Ｃ６、Ｄ１〜Ｄ６）を記憶装置（１１０）に格納するステップと、（ＥＥ）タイミングアークＰｉｊ及びＰｊｉについて、演算処理装置（１２０）が、記憶装置（１１０）から読み出した上記第１縮退条件群（Ａ１〜Ａ５、Ｂ１〜Ｂ５）と第２縮退条件群（Ｃ１〜Ｃ６、Ｄ１〜Ｄ６）に基づきシミュレーションを実行することによりタイミング制約を求めるステップとを備える。
【００１３】
また、上述の基本条件群は、複数の第１条件（ａ１〜ａ１５）と複数の第２条件（ｂ１〜ｂ１５）の組み合わせで与えられる。この時、上記（ＥＥ）ステップは、（Ｅ１）タイミングアークＰｉｊについて、演算処理装置（１２０）が、第１縮退条件群を構成する第１条件（Ａ１〜Ａ５）と第２縮退条件群を構成する第２条件（Ｄ１〜Ｄ６）との組み合わせに対して、タイミング制約を求めるステップと、（Ｅ２）タイミングアークＰｊｉについて、演算処理装置（１２０）が、第２縮退条件群を構成する第１条件（Ｃ１〜Ｃ６）と第１縮退条件群を構成する第２条件（Ｂ１〜Ｂ５）との組み合わせに対して、タイミング制約を求めるステップとを備える。
【００１４】
以上のタイミング制約ライブラリ作成方法において、基本条件群を構成する各条件は、入力端子（Ｉｎ）に入力される信号の波形鈍り（ａ１〜ａ１５）と、出力端子（Ｏｕｔ）に接続される負荷の容量（ｂ１〜ｂ１５）の組み合わせを示す。また、上述のタイミング制約は、例えば、入力端子（Ｉｎ）と出力端子（Ｏｕｔ）との間の遅延時間（Ｔ１１〜Ｔ５５）や、出力端子（Ｏｕｔ）における信号の波形鈍り（Ｒ１１〜Ｒ５５）を示す。
【００１５】
本発明に係るタイミング制約ライブラリ（１０）を作成するシステム（１００）は、セルの回路データ（１１５、ＤＣ）を記憶する記憶装置（１１０）と、その記憶装置（１１０）に接続された演算処理装置（１２０）と、その演算処理装置（１２０）によって実行されるソフトウェア（１５０、１６０）とを備える。このソフトウェア（１５０、１６０）の命令に従い、演算処理装置（１２０）は、記憶装置（１１０）から回路データ（ＤＣ）を読み込み、その回路データ（ＤＣ）を参照することによって、複数のタイミングアーク（Ｐ１１、Ｐ１２、Ｐ２１、Ｐ２２）から、１つを代表タイミングアークとして選択する。そして、この演算処理装置（１２０）は、その代表タイミングアークについては、所定の基本条件群のうち全ての条件に対してシミュレーションを実行することによりタイミング制約を求める。また、演算処理装置（１２０）は、その基本条件群から一部の条件を抽出し、抽出された一部の条件を記憶装置（１１０）に格納する。そして、演算処理装置（１２０）は、記憶装置（１１０）から一部の条件を読み出し、入力端子（Ｉｎ）及び出力端子（Ｏｕｔ）のいずれかを代表タイミングアークと共有するタイミングアークについては、その一部の条件に対してシミュレーションを実行することによりタイミング制約を求める。
【００１６】
また、セル（２１）は、複数の入力端子（ＤＡＴＡ１、ＤＡＴＡ２、ＤＡＴＡ３）とクロック信号（ＣＬＫ）が入力されるクロック端子を有する。この時、本発明に係るタイミング制約ライブラリ作成方法は、（ａ）セルの回路データ（１１５、ＤＣ）を記憶装置（１１０）に格納するステップと、（ｂ）その記憶装置（１１０）に接続された演算処理装置（１２０）が、回路データ（１１５、ＤＣ）を参照して、複数の入力端子（ＤＡＴＡ１、ＤＡＴＡ２、ＤＡＴＡ３）から１つの端子を代表端子として選択するステップと、（ｃ）演算処理装置（１２０）が、その代表端子に入力される入力信号（ＤＡＴＡ）のクロック信号（ＣＬＫ）に対するタイミング制約を、所定の基本条件群のうち全ての条件に対してシミュレーションを実行することにより求めるステップと、（ｄ）演算処理装置（１２０）が、基本条件群から一部の条件を抽出し、抽出された一部の条件を記憶装置（１１０）に格納するステップと、（ｅ）演算処理装置（１２０）が、記憶装置（１１０）からその一部の条件を読み出し、代表端子以外の入力端子（ＤＡＴＡ１、ＤＡＴＡ２、ＤＡＴＡ３）に入力される入力信号（ＤＡＴＡ）のクロック信号（ＣＬＫ）に対するタイミング制約を、その一部の条件に対してシミュレーションを実行することにより求めるステップとを備える。上記（ｄ）ステップにおいて、上記全ての条件とタイミング制約との対応関係を示す関数が、上記一部の条件とタイミング制約との対応関係を示す関数によって、所定の誤差範囲内で近似されるように、上記一部の条件は抽出される。
【００１７】
このタイミング制約ライブラリ作成方法において、基本条件群を構成する各条件は、入力信号（ＤＡＴＡ）の波形の鈍り（ａ１〜ａ１５）と、クロック信号（ＣＬＫ）の波形の鈍り（ｂ１〜ｂ１５）の組み合わせを示す。また、上述のタイミング制約は、例えば、入力信号（ＤＡＴＡ）のクロック信号（ＣＬＫ）に対するセットアップ時間（Ｓ１１〜Ｓ５５）や、ホールド時間（Ｈ１１〜Ｈ５５）を示す。
【００１８】
本発明に係るタイミング制約ライブラリ（１０）を作成するシステム（１００）は、セルの回路データ（ＤＣ、１１５）を記憶する記憶装置（１１０）と、その記憶装置（１１０）に接続された演算処理装置（１２０）と、その演算処理装置（１２０）によって実行されるソフトウェア（１５０、１６０）とを備える。このソフトウェア（１５０、１６０）の命令に従って、演算処理装置（１２０）は、記憶装置（１１０）から回路データ（ＤＣ）を読み込み、複数の入力端子（ＤＡＴＡ１〜ＤＡＴＡ３）から１つの端子を代表端子として選択する。そして、演算処理装置（１２０）は、その代表端子に入力される入力信号（ＤＡＴＡ）のクロック信号（ＣＬＫ）に対するタイミング制約を、所定の基本条件群のうち全ての条件に対してシミュレーションを実行することにより求める。また、演算処理装置（１２０）は、その基本条件群から一部の条件を抽出し、抽出された一部の条件を記憶装置（１１０）に格納する。そして、演算処理装置（１２０）は、記憶装置（１１０）からその一部の条件を読み出し、代表端子以外の入力端子に入力される入力信号（ＤＡＴＡ）のクロック信号（ＣＬＫ）に対するタイミング制約を、その一部の条件に対してシミュレーションを実行することにより求める。
【発明の効果】
【００１９】
本発明に係るタイミング制約ライブラリの作成方法及び作成システムによれば、タイミング制約ライブラリの作成時間が短縮される。その理由は、代表タイミングアークについて求められたタイミング制約テーブルから縮退タイミング制約テーブルが生成され、この縮退タイミング制約テーブルのインデックスを用いることによって、他のタイミングアークについて縮退タイミング制約テーブルが求められるからである。
【発明を実施するための最良の形態】
【００２０】
添付図面を参照して、本発明によるタイミング制約ライブラリの作成方法及び作成システムを説明する。まず、本明細書において用いられる概念及び用語の説明が行われる。
【００２１】
図１は、本発明において作成される対象である「タイミング制約ライブラリ」の構成を示す概念図である。このタイミング制約ライブラリ１０は、複数のセルのそれぞれに対する「タイミング制約」を提供する。具体的には、タイミング制約ライブラリ１０は、第１セル用の制約テーブル群１１、第２セル用の制約テーブル群１２、第３セル用の制約テーブル群１３をはじめ複数の制約テーブル群を含んでいる。各制約テーブル群は、対応するセルのタイミング制約を提供する。このようにしてタイミング制約ライブラリ１０から提供される各セルのタイミング制約は、ＬＳＩのタイミング解析等において利用される。
【００２２】
図２は、本発明の実施の形態におけるセルの構成を示す概略図である。図２では、例として、第１セル２１の構成が示されている。この第１セル２１は、少なくとも１つの入力端子（Ｉｎ１、Ｉｎ２）と少なくとも１つの出力端子（Ｏｕｔ１、Ｏｕｔ２）とを有している。ここで、各々の入力端子と各々の出力端子をつなぐパスは、「タイミングアーク」と呼ばれている。入力端子Ｉｎ１と出力端子Ｏｕｔ１は、タイミングアークＰ１１でつながれ、入力端子Ｉｎ１と出力端子Ｏｕｔ２は、タイミングアークＰ１２でつながれている。同様に、入力端子Ｉｎ２と出力端子Ｏｕｔ１は、タイミングアークＰ２１でつながれ、入力端子Ｉｎ２と出力端子Ｏｕｔ２は、タイミングアークＰ２２でつながれている。より一般的には、セルは、Ｍ個（Ｍは自然数）の入力端子Ｉｎと、Ｎ個の（Ｎは自然数）の出力端子Ｏｕｔを有する。この時、Ｍ個の入力端子ＩｎとＮ個の出力端子Ｏｕｔをつなぐタイミングアークは、Ｍ行Ｎ列のマトリックスＰＭＮで表される。
【００２３】
図３は、図１に示されたある制約テーブル群の構成を示す概念図である。図３に示されるように、制約テーブル群は、遅延時間テーブル群３０、出力波形なまりテーブル群４０、セットアップ時間テーブル群５０、ホールド時間テーブル群６０などを含んでいる。各テーブル群は、複数の「タイミング制約テーブル」を含んでいる。
【００２４】
遅延時間テーブル群３０は、複数の「遅延時間テーブル（タイミング制約テーブル）」を含んでいる。その複数の遅延時間テーブルのそれぞれは、上述の複数のタイミングアークＰＭＮのそれぞれにおける信号の遅延時間を示す。
【００２５】
出力波形なまりテーブル群４０は、複数の「出力波形なまりテーブル（タイミング制約テーブル）」を含んでいる。その複数の出力波形なまりテーブルのそれぞれは、上述の複数のタイミングアークＰＭＮのそれぞれに対する「出力波形なまり」を示す。ここで、出力波形なまりは、対応する出力端子Ｏｕｔにおける信号の鈍りの程度を示す。
【００２６】
セットアップ時間テーブル群５０は、複数の「セットアップ時間テーブル（タイミング制約テーブル）」を含んでいる。その複数のセットアップ時間テーブルのそれぞれは、複数の入力端子のそれぞれに入力される入力信号ＤＡＴＡの、クロック信号ＣＬＫに対する最小の「セットアップ時間」を示す。セルを正常に動作させるためには、クロック信号ＣＬＫによってラッチを閉じる前、入力信号ＤＡＴＡをある一定時間以上前から入力開始しなければならない。「セットアップ時間」は、その入力する一定時間の最小値を示す。
【００２７】
ホールド時間テーブル群６０は、複数の「ホールド時間テーブル（タイミング制約テーブル）」を含んでいる。その複数のホールド時間テーブルのそれぞれは、複数の入力端子のそれぞれに入力される入力信号ＤＡＴＡの、クロック信号ＣＬＫに対する「ホールド時間」を示す。セルを正常に動作させるためには、クロック信号ＣＬＫによってラッチを閉じた後、入力信号ＤＡＴＡをある一定時間以上保持しなければならない。「ホールド時間」は、その保持する一定時間の最小値を示す。
【００２８】
このように、「タイミング制約」としては、入力端子Ｉｎから出力端子Ｏｕｔへの「遅延時間」、出力端子Ｏｕｔにおける「出力波形なまり」、「セットアップ時間」、「ホールド時間」などが例として挙げられる。以下、これらタイミング制約の各々に関するテーブル群（３０、４０、５０、６０）の作成方法、すなわちタイミング制約ライブラリ１０の作成方法を詳しく説明する。
【００２９】
（第１の実施の形態）
本発明の第１の実施の形態において、「タイミング制約」は入力端子Ｉｎと出力端子Ｏｕｔとの間の「遅延時間」であり、その遅延時間を示す「遅延時間テーブル群３０」（図３参照）の作成方法が示される。この遅延時間テーブル群３０は、複数のタイミングアークＰＭＮのそれぞれに対して作成される複数の遅延時間テーブル（タイミング制約テーブル）を含む。例えば、図２に示された第１セル２１の場合、遅延時間テーブル群３０は、タイミングアークＰ１１、Ｐ１２、Ｐ２１、Ｐ２２のそれぞれに対して作成される４つの遅延時間テーブル（３１、３２、３３、３４；図７参照）を含む。
【００３０】
図４は、タイミングアークＰ１１に対して作成される遅延時間テーブル３１の内容を示す概念図である。この遅延時間テーブル３１は、複数の条件に対する遅延時間をテーブル形式で示している。その複数の条件は、複数の第１条件と複数の第２条件の組み合わせで構成される。本実施の形態において、第１条件（第１テーブルインデックス）は、入力端子Ｉｎに入力される信号の波形なまりの程度を示す「入力波形なまり」であり、第２条件（第２テーブルインデックス）は、出力端子Ｏｕｔにかかる負荷容量値を示す「出力負荷容量」である。例えば図４において、複数の条件は、第１条件Ａ１〜Ａ５と第２条件Ｂ１〜Ｂ５の組み合わせで与えられ、遅延時間テーブル３１は、その組み合わせのそれぞれに対する２５種類の遅延時間Ｔ１１〜Ｔ５５を示している。
【００３１】
このような遅延時間テーブル（３１、３２、３３、３４）を含む遅延時間テーブル群３０の作成方法は以下の通りである。
【００３２】
まず、複数の入力端子Ｉｎあるいは複数の出力端子Ｏｕｔから１つの端子（代表端子）が任意に選択される。例えば、複数の入力端子Ｉｎから、入力端子Ｉｎ１が代表端子として選択されるとする。この代表端子には、複数のタイミングアークＰ１１、Ｐ１２がつながっている。次に、これら複数のタイミングアークＰ１１、Ｐ１２から、１つのタイミングアークが「代表タイミングアーク」として選択される。例えば、タイミングアークＰ１１が代表タイミングアークとして選択されるとする。ここで、この代表タイミングアークは、複数のタイミングアークからランダムに選択されてもよい。あるいは、複数のタイミングアークのうち、最小のトランジスタの段数を有するタイミングアークが、代表タイミングアークとして選択されてもよい。
【００３３】
次に、選択された代表タイミングアークＰ１１に対する遅延時間テーブル３１（図４参照）が作成される。この遅延時間テーブル３１を作成するために、まず、多数の条件における遅延時間が測定される。ここで、「多数」とは、実際にセルが動作する際の様々な条件を網羅するのに十分な数を意味する。この多数の条件における遅延時間を測定するために、図５に示される「基本条件テーブル３５」が用意される。この基本条件テーブル３５は、多数の第１条件（入力波形なまり）と多数の第２条件（出力負荷容量）の組み合わせをテーブル形式で示している。例えば図５において、基本条件テーブル３５は、１５種類の第１条件ａ１〜ａ１５と、１５種類の第２条件ｂ１〜ｂ１５の組み合わせを示している。この基本条件テーブル３５によって与えられる２２５種類の条件は、以下、「基本条件群」と参照される。基本条件群の中の各条件に対する遅延時間は、その条件を示すパラメータを所定のシミュレーションツールに与え、シミュレーションを実行することによって求められる。本実施の形態によれば、上記代表タイミングアークＰ１１については、基本条件群の全て（２２５種類）の条件に対して、遅延時間が求められる。このように作成されたテーブルは、“仮の”遅延時間テーブル３１である。
【００３４】
ここで、あるタイミングアークに関する遅延時間を提供する時、このような基本条件群の全てに対する遅延時間を提供する必要は必ずしもない。提供される遅延時間テーブル３１のサイズは小さいに越したことはない。その理由は、タイミング解析等の処理時間が短縮され、また、記憶装置の容量が節約されるからである。一方、遅延時間テーブル３１は、対応するタイミングアーク（Ｐ１１）に関する遅延時間を精度良く提供する必要がある。従って、そのタイミングアークに関する遅延時間を精度良く表すのに必要十分な数の条件及び遅延時間が提供されればよい。そのため、求められた結果である２２５種類の遅延時間に基づいて、上記基本条件群から最適な一部の条件が抽出される。このような処理は、「縮退」と呼ばれている。
【００３５】
図６は、本実施の形態における「縮退処理」を説明するためのグラフ図である。今、代表タイミングアークＰ１１に対して２２５種類の遅延時間が既に求められ、基本条件テーブル３５の全要素が確定しているとする。この時、まず、ある第１条件が固定され、その第１条件に対応する第２条件である１５種類の基本条件が選択される。そして、選択された１５種類の基本条件に対して求められた１５個の遅延時間が考慮される。図６において、その１５種類の基本条件のうち３つの条件Ｘ１、Ｘ２、Ｘ３と、それら３つの条件のそれぞれに対して求められた遅延時間を示す３つの点Ｐ１、Ｐ２、Ｐ３が示されている。
【００３６】
図６において、点Ｐ１、Ｐ２、Ｐ３を結ぶ線は、条件と遅延時間との対応関係を示す関数を表している。この時、その関数が、点Ｐ１と点Ｐ３を補間する線ＩＮＴによって近似され得るかどうかの判定が行われる。つまり、条件Ｘ１と条件Ｘ３の間にある条件Ｘ２に対する点Ｐ２を、点Ｐ１と点Ｐ３を補間することによって近似的に求めることができるかの判定が行われる。具体的には、図６に示される点Ｐ２と線ＩＮＴとの間の距離Δｅが所定の誤差範囲内であるかどうかの判定が行われる。距離Δｅがその所定の誤差範囲内であれば、点Ｐ２（条件Ｘ２）が削除される。距離Δｅがその所定の誤差範囲以上であれば、点Ｐ２は残される。このようにして上述の１５種類の条件から必要十分な数の条件が抽出される。
【００３７】
同様にして、他の第１条件に対する処理も行われる。また、第２条件も固定され、同様の処理が行われる。このようにして縮退処理が行われ、基本条件群から最適な「一部の条件」が抽出される。例えば、基本条件群における第１条件ａ１〜ａ１５及び第２条件ｂ１〜ｂ１５は、縮退処理の結果、それぞれ第１条件Ａ１〜Ａ５及び第２条件Ｂ１〜Ｂ５になったとする。つまり、基本条件群から抽出された一部の条件は、第１条件Ａ１〜Ａ５と第２条件Ｂ１〜Ｂ５の組み合わせによって構成される。この時、基本条件群の全てと遅延時間との対応関係を示す関数は、この一部の条件と遅延時間との対応関係を示す関数によって、所定の誤差範囲内で近似されている。そして、この「一部の条件」に対する遅延時間が、図４に示された遅延時間テーブル３１として提供される。つまり、遅延時間テーブル３１は、必要十分な数の要素で、代表タイミングアークＰ１１における遅延時間を精度良く提供している。
【００３８】
次に、代表タイミングアークＰ１１以外のタイミングアーク（Ｐ１２、Ｐ２１、Ｐ２２）に対する遅延時間テーブル（３２、３３、３４）が作成される。ここで、セルの入力波形鈍りに対する特性は、入力端子Ｉｎに依存すると考えられる。つまり、同じ入力端子Ｉｎにつながる複数のタイミングアークにおいて、入力波形鈍り（第１条件）に対する特性の差は小さいと考えられる。よって、代表タイミングアークＰ１１と入力端子Ｉｎ１を共有するタイミングアークＰ１２に対する遅延時間テーブル（３２）は、代表タイミングアークＰ１１に対する遅延時間テーブル３１と同じ種類の第１条件（Ａ１〜Ａ５）を有していれば好ましい。よって、本実施の形態によれば、タイミングアークＰ１２については、基本条件群の全てではなく、上述の「一部の条件」に基づいて遅延時間が求められる。
【００３９】
同様に、セルの出力負荷容量に対する特性は、出力端子Ｏｕｔに依存すると考えられる。つまり、同じ出力端子Ｏｕｔにつながる複数のタイミングアークにおいて、出力負荷容量（第２条件）に対する特性の差は小さいと考えられる。よって、代表タイミングアークＰ１１と出力端子Ｏｕｔ１を共有するタイミングアークＰ２１に対する遅延時間テーブル（３３）は、代表タイミングアークＰ１１に対する遅延時間テーブル３１と同じ種類の第２条件（Ｂ１〜Ｂ５）を有していれば好ましい。よって、本実施の形態によれば、タイミングアークＰ２１については、基本条件群の全てではなく、上述の「一部の条件」に基づいて遅延時間が求められる。
【００４０】
このように、本発明によれば、代表タイミングアークＰ１１については、基本条件テーブル３５を用い、基本条件群の全て（２２５種類）の条件に対して遅延時間が求められる。一方、端子を代表タイミングアークＰ１１と共有するタイミングアークについては、縮退された一部の条件に対して遅延時間が求められる。これにより、従来の方法と比較して、シミュレーション回数が低減される。よって、遅延時間テーブルを作成する時間が短縮され、タイミング制約ライブラリ１０を作成する時間が短縮される。
【００４１】
図７は、本発明による遅延時間テーブル群３０の効率的な作成方法の一例を説明するための図である。図７に示されるように、タイミングアークＰ１１、Ｐ１２、Ｐ２１、Ｐ２２のそれぞれに対する遅延時間テーブル３１、３２、３３、３４が作成され、この遅延時間テーブル群３０が作成されるとする。
【００４２】
まず、タイミングアークＰ１１が代表タイミングアークとして選択される。そして、基本条件テーブル３５（図５参照）を用いることによって、基本条件群の全て（２２５種類）に対して遅延時間が求められる。この結果に基づいて条件の「縮退処理」が行われ、第１条件Ａ１〜Ａ５と第２条件Ｂ１〜Ｂ５との組み合わせにより構成される条件群（以下、「第１縮退条件群」と参照される）が生成されるとする。この時、この第１縮退条件群に対する遅延時間を示す遅延時間テーブル３１が作成され、遅延時間テーブル群３０に記憶される。
【００４３】
次に、タイミングアークＰ２２が代表タイミングアークとして選択される。そして、基本条件テーブル３５を用いることによって、基本条件群の全て（２２５種類）に対して遅延時間が求められる。この結果に基づいて条件の「縮退処理」が行われ、第１条件Ｃ１〜Ｃ６と第２条件Ｄ１〜Ｄ６との組み合わせにより構成される条件群（以下、「第２縮退条件群」と参照される）が生成されるとする。この時、この第２縮退条件群に対する遅延時間を示す遅延時間テーブル３４が作成され、遅延時間テーブル群３０に記憶される。
【００４４】
次に、タイミングアークＰ１２に対応した遅延時間テーブル３２が作成される。この時、基本条件テーブル３５は用いられない。タイミングアークＰ１２については、上述の第１縮退条件群と第２縮退条件群に基づいて遅延時間が求められる。具体的には、タイミングアークＰ１２については、第１縮退条件群を構成する第１条件Ａ１〜Ａ５と、第２縮退条件群を構成する第２条件Ｄ１〜Ｄ６との組み合わせ（３０種類）に対して、遅延時間が求められる。そして、これら３０種類の条件に対する遅延時間を示す遅延時間テーブル３２が作成され、遅延時間テーブル群３０に記憶される。このように、シミュレーション回数が大幅に削減される。更に、縮退処理を行う必要もなくなる。従って、タイミング制約ライブラリ１０の作成時間が短縮される。
【００４５】
同様に、タイミングアークＰ２１に対応した遅延時間テーブル３３が作成される。この時、基本条件テーブル３５は用いられない。タイミングアークＰ２１については、上述の第１縮退条件群と第２縮退条件群に基づいて遅延時間が求められる。具体的には、タイミングアークＰ２１については、第２縮退条件群を構成する第１条件Ｃ１〜Ｃ６と、第１縮退条件群を構成する第２条件Ｂ１〜Ｂ５との組み合わせ（３０種類）に対して、遅延時間が求められる。そして、これら３０種類の条件に対する遅延時間を示す遅延時間テーブル３３が作成され、遅延時間テーブル群３０に記憶される。このように、シミュレーション回数が大幅に削減される。更に、縮退処理を行う必要もなくなる。従って、タイミング制約ライブラリ１０の作成時間が短縮される。
【００４６】
図８は、上記の作成方法を実現するための「タイミング制約ライブラリ作成システム」の構成を示すブロック図である。本発明に係るタイミング制約ライブラリ作成システム１００は、記憶装置１１０、演算処理装置１２０、入力装置１３０、出力装置１４０、ライブラリ作成ソフトウェア１５０、及びシミュレーションツール１６０を備えている。このタイミング制約ライブラリ作成システム１００は、例えば、ワークステーション上に構築される。
【００４７】
演算処理装置１２０は、上述の各装置に接続されており、各種演算処理を実行することによって、このタイミング制約ライブラリ作成システム１００の動作を制御する。
【００４８】
ライブラリ作成ソフトウェア１５０は、演算処理装置１２０によって実行されるソフトウェアプログラムである。このライブラリ作成ソフトウェア１５０は、演算処理装置１２０に命令を与え、タイミングアークＰＭＮの選択や縮退処理を行わせる。また、シミュレーションツール１６０は、演算処理装置１２０によって実行されるソフトウェアプログラムであり、所定の条件におけるセルの動作のシミュレーションを実行する。ライブラリ作成ソフトウェア１５０あるいはユーザは、このシミュレーションツール１６０を用いることによって、遅延時間等の「タイミング制約」を算出することができる。
【００４９】
記憶装置１１０は、演算処理装置１２０に接続されており、基本条件テーブル３５（図５参照）やセル回路ライブラリ１１５を記憶している。セル回路ライブラリ１１５は、レイアウト等を示すセルの回路データを提供している。この回路データは、シミュレーション時にシミュレーションツール１６０によって参照される。また、タイミング制約ライブラリ作成システム１００によって作成されるタイミング制約ライブラリ１０（図１参照）は、この記憶装置１１０に格納される。更に、上述のライブラリ作成ソフトウェア１５０やシミュレーションツール１６０は、この記憶装置１１０に格納されていてもよい。更に、上述の第１縮退条件群や第２縮退条件群も、この記憶装置１１０に格納されてもよい。
【００５０】
入力装置１３０は、演算処理装置１２０に接続されている。この入力装置１３０として、キーボードやマウスが例示される。ユーザは、この入力装置１３０を使用することによって、所定のコマンドやデータをタイミング制約ライブラリ作成システム１００に与えることができる。入力装置１３０から入力されたコマンドやデータは、演算処理装置１２０によって処理される。また、出力装置１４０は、演算処理装置１２０に接続されている。この出力装置１４０として、ディスプレイやスピーカが例示される。ユーザは、この出力装置１４０から出力される情報に基づいて、新たな指示を与えることができる。
【００５１】
図９は、このタイミング制約ライブラリ作成システム１００の動作を示すブロック図である。まず、ライブラリ作成ソフトウェア１５０（演算処理装置１２０）は、記憶装置１１０に格納された基本条件テーブル３５を読み込む。また、ライブラリ作成ソフトウェア１５０は、記憶装置１１０に格納されたセル回路ライブラリ１１５から、セル回路データＤＣを読み込む。このセル回路データＤＣは、図２に示されるような対象セルのレイアウト情報を含んでいる。
【００５２】
次に、ライブラリ作成ソフトウェア１５０は、読み込んだセル回路データＤＣを参照することによって、代表端子や代表タイミングアークを選択する。ここで、ライブラリ作成ソフトウェア１５０は、複数のタイミングアークＰＭＮのうち、最小のトランジスタの段数を有するタイミングアークを、代表タイミングアークとして選択してもよい。
【００５３】
次に、ライブラリ作成ソフトウェア１５０は、選択したタイミングアークと条件群を示すパス・条件データＤＰをシミュレーションツール１６０に出力する。既出の例の場合、パス・条件データＤＰは、代表タイミングアークＰ１１と、基本条件テーブル３５が示す基本条件群の全て（２２５種類）を示す。シミュレーションツール１６０は、ライブラリ作成ソフトウェア１５０からパス・条件データＤＰを受け取り、セル回路ライブラリ１１５からセル回路データＤＣを受け取る。そして、シミュレーションツール１６０は、セル回路データＤＣを参照しながら代表タイミングアークＰ１１についてシミュレーションを行い、基本条件群の全てに対して遅延時間（タイミング制約）を求める。このシミュレーションの結果を示す解析結果データＤＲは、ライブラリ作成ソフトウェア１５０に入力される。
【００５４】
次に、ライブラリ作成ソフトウェア１５０は、その解析結果データＤＲに基づいて、条件の縮退処理を行う。これによって、基本条件群から最適な一部の条件（第１縮退条件群）が抽出される。この一部の条件は、第１条件Ａ１〜Ａ５と第２条件Ｂ１〜Ｂ５の組み合わせによって構成されている（図７参照）。ライブラリ作成ソフトウェア１５０は、この一部の条件に対する遅延時間を示す遅延時間テーブル３１を作成し、その遅延時間テーブル３１を記憶装置１１０内のタイミング制約ライブラリ１０に格納する。また、ライブラリ作成ソフトウェア１５０は、一部の条件である縮退条件群を記憶装置１１０に格納してもよい。
【００５５】
次に、ライブラリ作成ソフトウェア１５０は、複数のタイミングアークＰＭＮから代表タイミングアーク以外のタイミングアークを選択する。選択されたタイミングアークが、入力端子と出力端子のいずれかを代表タイミングアークＰ１１と共有している場合、すなわち、既知の縮退条件群が利用できる場合、ライブラリ作成ソフトウェア１５０は、記憶装置１１０に格納された縮退条件群を読み出す。ここで、ライブラリ作成ソフトウェア１５０は、記憶装置１１０に格納された遅延時間テーブル３１を参照することによって、その縮退条件群に関する情報を取得してもよい。この縮退条件群は、基本条件群の一部であり、その縮退条件群を構成する条件の数は２２５以下である。ライブラリ作成ソフトウェア１５０は、選択されたタイミングアークと一部の条件を示すパス・条件データＤＰをシミュレーションツール１６０に出力する。シミュレーションツール１６０は、選択されたタイミングアークについてシミュレーションを行い、基本条件群の一部に対して遅延時間（タイミング制約）を求める。このシミュレーションの結果を示す解析結果データＤＲは、ライブラリ作成ソフトウェア１５０に入力される。
【００５６】
ライブラリ作成ソフトウェア１５０は、その解析結果データＤＲに基づいて、遅延時間テーブル（３２、３３、３４）を作成し、その遅延時間テーブルを記憶装置１１０内のタイミング制約ライブラリ１０に追加する。ライブラリ作成ソフトウェア１５０は、全てのタイミングアークについて同様の処理を繰り返す。これにより、複数の遅延時間テーブル（３２、３３、３４）を含む遅延時間テーブル群３０が作成される。作成された遅延時間テーブル群３０（タイミング制約ライブラリ１０）は、記憶装置１１０に格納される。
【００５７】
更に、図７に示された例を用いて、本発明によるタイミング制約ライブラリ作成システム１００の動作を説明する。演算処理装置１２０は、ライブラリ作成ソフトウェア１５０やシミュレーションツール１６０の命令に従い、以下のような動作を行う。まず、演算処理装置１２０は、記憶装置１１０に格納された基本条件テーブル３５とセル回路データＤＣを読み込む。
【００５８】
次に、演算処理装置１２０は、読み込んだセル回路データＤＣを参照することによって、タイミングアークＰ１１を代表タイミングアークとして選択する。そして、演算処理装置１２０は、基本条件テーブル３５（図５参照）を用いることによって、基本条件群の全て（２２５種類）に対してシミュレーションを実行し遅延時間を求める。この結果に基づいて、演算処理装置１２０は、条件の「縮退処理」を行い、第１条件Ａ１〜Ａ５と第２条件Ｂ１〜Ｂ５との組み合わせにより構成される第１縮退条件群を生成する。そして、演算処理装置１２０は、その第１縮退条件群に対する遅延時間を示す遅延時間テーブル３１を作成し、その遅延時間テーブル３１を記憶装置１１０に格納する。この時、演算処理装置１２０は、抽出された第１縮退条件群を記憶装置１１０に格納してもよい。
【００５９】
次に、演算処理装置１２０は、読み込んだセル回路データＤＣを参照することによって、タイミングアークＰ２２を代表タイミングアークとして選択する。そして、演算処理装置１２０は、基本条件テーブル３５を用いることによって、基本条件群の全て（２２５種類）に対してシミュレーションを実行し遅延時間を求める。この結果に基づいて、演算処理装置１２０は、条件の「縮退処理」を行い、第１条件Ｃ１〜Ｃ６と第２条件Ｄ１〜Ｄ６との組み合わせにより構成される第２縮退条件群を生成する。そして、演算処理装置１２０は、その第２縮退条件群に対する遅延時間を示す遅延時間テーブル３４を作成し、その遅延時間テーブル３４を記憶装置１１０に格納する。この時、演算処理装置１２０は、抽出された第２縮退条件群を記憶装置１１０に格納してもよい。
【００６０】
次に、タイミングアークＰ１２に対応した遅延時間テーブル３２が作成される。この時、基本条件テーブル３５は用いられない。タイミングアークＰ１２については、上述の第１縮退条件群と第２縮退条件群に基づいて遅延時間が求められる。具体的には、演算処理装置１２０は、既に生成された遅延時間テーブル３１と遅延時間テーブル３４を記憶装置１１０から読み込むことによって、第１縮退条件群と第２縮退条件群に関する情報を取得する。あるいは、演算処理装置１２０は、記憶装置１１０に直接格納された第１縮退条件群と第２縮退条件群を読み込んでもよい。そして、タイミングアークＰ１２については、演算処理装置１２０は、第１縮退条件群を構成する第１条件Ａ１〜Ａ５と、第２縮退条件群を構成する第２条件Ｄ１〜Ｄ６との組み合わせ（３０種類）に対してシミュレーションを実行し遅延時間を求める。そして、演算処理装置１２０は、これら３０種類の条件に対する遅延時間を示す遅延時間テーブル３２を作成し、その遅延時間テーブル３２を記憶装置１１０に格納する。
【００６１】
同様に、タイミングアークＰ２１に対応した遅延時間テーブル３３が作成される。この時、基本条件テーブル３５は用いられない。タイミングアークＰ２１については、上述の第１縮退条件群と第２縮退条件群に基づいて遅延時間が求められる。具体的には、演算処理装置１２０は、既に生成された遅延時間テーブル３１と遅延時間テーブル３４を読み込むことによって、第１縮退条件群と第２縮退条件群に関する情報を取得することができる。あるいは、演算処理装置１２０は、記憶装置１１０に直接格納された第１縮退条件群と第２縮退条件群を読み込んでもよい。そして、タイミングアークＰ２１については、演算処理装置１２０は、第２縮退条件群を構成する第１条件Ｃ１〜Ｃ６と、第１縮退条件群を構成する第２条件Ｂ１〜Ｂ５との組み合わせ（３０種類）に対してシミュレーションを実行し遅延時間を求める。そして、演算処理装置１２０は、これら３０種類の条件に対する遅延時間を示す遅延時間テーブル３３を作成し、その遅延時間テーブル３３を記憶装置１１０に格納する。
【００６２】
図１０は、本実施の形態に係るタイミング制約ライブラリ１０の作成方法を要約して示すフローチャートである。まず、セル回路ライブラリ１１５が提供され、セル回路データＤＣの取得が行われる（ステップＳ１）。次に、複数の入力端子Ｉｎあるいは複数の出力端子Ｏｕｔから、１つの代表端子が選択される（ステップＳ２）。次に、代表端子につながる複数のタイミングアークＰＭＮから、１つの代表タイミングアークが選択される（ステップＳ３）。次に、その代表タイミングアークについては、基本条件テーブル３５によって提供される基本条件群の全てに対してタイミング制約（遅延時間）が求められる（ステップＳ４）。次に、ステップＳ３の結果に基づいて、条件の縮退処理が行われる（ステップＳ５）。次に、代表タイミングアークと異なるタイミングアークについて、既知の縮退条件に基づいてタイミング制約が求められる（ステップＳ６）。処理が終わっていないタイミングアークが残っている場合（ステップＳ７；Ｎｏ）、上記ステップＳ２〜Ｓ６が繰り返される。全てのタイミングアークＰＭＮについて処理が終了し（ステップＳ７；Ｙｅｓ）、制約テーブル群（遅延時間テーブル群３０）が作成される。
【００６３】
以上に説明されたように、本発明に係るタイミング制約ライブラリ１０の作成方法及び作成システム１００によれば、代表タイミングアーク以外のタイミングアークについては、基本条件群の一部だけに対して遅延時間が求められる。よって、シミュレーション回数が低減され、遅延時間テーブル３２、３３を作成する時間が短縮される。すなわち、タイミング制約ライブラリ１０を作成する時間が短縮される。
【００６４】
（第２の実施の形態）
本発明の第２の実施の形態において、「タイミング制約」は出力端子Ｏｕｔにおける信号の波形鈍りの程度を示す「出力波形なまり」である。図３に示された出力波形なまりテーブル群４０は、複数の出力波形なまりテーブル（タイミング制約テーブル）を含んでいる。複数の出力波形なまりテーブルのそれぞれは、複数のタイミングアークＰＭＮのそれぞれに対して作成される。
【００６５】
図１１は、タイミングアークＰ１１に対して作成される出力波形なまりテーブル４１の内容を示す概念図である。この出力波形なまりテーブル４１は、複数の条件に対する出力波形なまりをテーブル形式で示している。その複数の条件は、複数の第１条件と複数の第２条件の組み合わせで構成される。本実施の形態において、第１条件（第１テーブルインデックス）は、入力端子Ｉｎに入力される信号の波形なまりの程度を示す「入力波形なまり」であり、第２条件（第２テーブルインデックス）は、出力端子Ｏｕｔにかかる負荷容量値を示す「出力負荷容量」である。例えば図１１において、複数の条件は、第１条件Ａ１〜Ａ５と第２条件Ｂ１〜Ｂ５の組み合わせで与えられ、出力波形なまりテーブル４１は、その組み合わせのそれぞれに対する２５種類の出力波形なまりＲ１１〜Ｒ５５を示している。
【００６６】
このような出力波形なまりテーブル４１を含む出力波形なまりテーブル群４０の作成方法は、第１の実施の形態において説明された作成方法と同様である（図７、図１０参照）。また、その出力波形なまりテーブル群４０を作成するシステムの構成・動作は、図８、図９に示されたシステムの構成・動作と同様である。つまり、代表タイミングアークについては、基本条件テーブル３５を用い、基本条件群の全てに対して出力波形なまりが求められる。一方、代表タイミングアーク以外のタイミングアークについては、縮退された一部の条件に対して出力波形なまりが求められる。よって、シミュレーション回数が低減され、出力波形なまりテーブル４１を作成する時間が短縮される。すなわち、タイミング制約ライブラリ１０を作成する時間が短縮される。
【００６７】
（第３の実施の形態）
図１２は、本発明の第３の実施の形態におけるセルの構成を示す概略図である。図１２では、例として、第１セル２１の構成が示されている。この第１セル２１は、フリップフロップのような順序回路であり、入力信号ＤＡＴＡが入力される複数の入力端子（ＤＡＴＡ１〜ＤＡＴＡ３）と、クロック信号ＣＬＫが入力されるクロック端子と、出力端子Ｑを有している。
【００６８】
本実施の形態において、「タイミング制約」は、入力信号ＤＡＴＡのクロック信号ＣＬＫに対する「セットアップ時間」を示す。図３に示されたセットアップ時間テーブル群５０は、複数のセットアップ時間テーブル（タイミング制約テーブル）を含んでいる。複数のセットアップ時間テーブルのそれぞれは、複数の入力端子ＤＡＴＡ１〜ＤＡＴＡ３のそれぞれに対して作成される。
【００６９】
図１３は、入力端子ＤＡＴＡ１に対して作成されるセットアップ時間テーブル５１の内容を示す概念図である。このセットアップ時間テーブル５１は、複数の条件に対するセットアップ時間をテーブル形式で示している。その複数の条件は、複数の第１条件と複数の第２条件の組み合わせで構成される。本実施の形態において、第１条件（第１テーブルインデックス）は、入力端子ＤＡＴＡ１に入力される信号の波形なまりの程度を示す「入力波形なまり」であり、第２条件（第２テーブルインデックス）は、クロック信号の波形なまりの程度を示す「クロック波形なまり」である。例えば図１３において、複数の条件は、第１条件Ａ１〜Ａ５と第２条件Ｂ１〜Ｂ５の組み合わせで与えられ、セットアップ時間テーブル５１は、その組み合わせのそれぞれに対する２５種類のセットアップ時間Ｓ１１〜Ｓ５５を示している。
【００７０】
このようなセットアップ時間テーブル群５０を作成するシステムの構成は、図８に示されたシステムの構成と同様である。まず、ライブラリ作成ソフトウェア１５０は、記憶装置１１０に格納された基本条件テーブル３５（図５参照）を読み込む。また、ライブラリ作成ソフトウェア１５０は、記憶装置１１０に格納されたセル回路ライブラリ１１５から、セル回路データＤＣを読み込む。このセル回路データＤＣは、図１２に示されるような対象セルのレイアウト情報を含んでいる。
【００７１】
次に、ライブラリ作成ソフトウェア１５０は、読み込んだセル回路データＤＣを参照することによって、複数の入力端子ＤＡＴＡ１〜ＤＡＴＡ３から代表端子を選択する。例えば、入力端子ＤＡＴＡ１が代表端子として選択されたとする。
【００７２】
次に、ライブラリ作成ソフトウェア１５０は、選択した入力端子と条件群を示すパス・条件データＤＰをシミュレーションツール１６０に出力する。この場合、パス・条件データＤＰは、代表端子（入力端子ＤＡＴＡ１）と、基本条件テーブル３５が示す基本条件群の全て（２２５種類）を示す。シミュレーションツール１６０は、ライブラリ作成ソフトウェア１５０からパス・条件データＤＰを受け取り、セル回路ライブラリ１１５からセル回路データＤＣを受け取る。そして、シミュレーションツール１６０は、セル回路データＤＣを参照しながら対象セルについてシミュレーションを行い、基本条件群の全てに対してセットアップ時間（タイミング制約）を求める。このシミュレーションの結果を示す解析結果データＤＲは、ライブラリ作成ソフトウェア１５０に入力される。
【００７３】
次に、ライブラリ作成ソフトウェア１５０は、その解析結果データＤＲに基づいて、条件の「縮退処理」を行う。これによって、基本条件群から最適な一部の条件（第１縮退条件群）が抽出される。例えば、この一部の条件は、第１条件Ａ１〜Ａ５と第２条件Ｂ１〜Ｂ５の組み合わせによって構成されている。ライブラリ作成ソフトウェア１５０は、この一部の条件に対するセットアップ時間を示すセットアップ時間テーブル５１を作成し、そのセットアップ時間テーブル５１を記憶装置１１０内のタイミング制約ライブラリ１０に格納する。また、ライブラリ作成ソフトウェア１５０は、その一部の条件である縮退条件群を記憶装置１１０に格納してもよい。
【００７４】
次に、ライブラリ作成ソフトウェア１５０は、複数の入力端子ＤＡＴＡ１〜ＤＡＴＡ３から代表端子以外の入力端子を選択する。また、ライブラリ作成ソフトウェア１５０は、記憶装置１１０に格納された縮退条件群を読み出す。ここで、ライブラリ作成ソフトウェア１５０は、記憶装置１１０に格納されたセットアップ時間テーブル５１を参照することによって、その縮退条件群に関する情報を取得してもよい。クロック端子は共有されており、この縮退条件群は、第２条件Ｂ１〜Ｂ５を有している。ライブラリ作成ソフトウェア１５０は、選択された入力端子と一部の条件を示すパス・条件データＤＰをシミュレーションツール１６０に出力する。シミュレーションツール１６０は、パス・条件データＤＰに基づいてシミュレーションを行い、基本条件群の一部に対してセットアップ時間（タイミング制約）を求める。このシミュレーションの結果を示す解析結果データＤＲは、ライブラリ作成ソフトウェア１５０に入力される。
【００７５】
ライブラリ作成ソフトウェア１５０は、その解析結果データＤＲに基づいて、選択された入力端子に対するセットアップ時間テーブルを作成し、そのセットアップ時間テーブルを記憶装置１１０内のタイミング制約ライブラリ１０に追加する。ライブラリ作成ソフトウェア１５０は、全ての入力端子ＤＡＴＡ１〜ＤＡＴＡ３について同様の処理を繰り返す。これにより、複数のセットアップ時間テーブルを含むセットアップ時間テーブル群５０が作成される。作成されたセットアップ時間テーブル群５０（タイミング制約ライブラリ１０）は、記憶装置１１０に格納される。
【００７６】
図１４は、本実施の形態に係るタイミング制約ライブラリ１０の作成方法を要約して示すフローチャートである。まず、セル回路ライブラリ１１５が提供され、セル回路データＤＣの取得が行われる（ステップＳ１１）。次に、複数の入力端子（ＤＡＴＡ１〜ＤＡＴＡ３）から、１つの代表端子が選択される（ステップＳ１２）。次に、その代表端子に入力される入力信号のクロック信号ＣＬＫに対するセットアップ時間が、基本条件群の全てに対して求められる（ステップＳ１３）。次に、ステップＳ１３の結果に基づいて、条件の縮退処理が行われ、基本条件群から一部の条件が抽出される（ステップＳ１４）。次に、代表端子以外の入力端子に入力される入力信号のクロック信号に対するセットアップ時間が、縮退した一部の条件に対して求められる（ステップＳ１５）。全ての入力端子ＤＡＴＡ１〜ＤＡＴＡ３について処理が終了し、制約テーブル群（セットアップ時間テーブル群５０）が作成される。
【００７７】
以上に説明されたように、本発明に係るタイミング制約ライブラリ１０の作成方法及び作成システム１００によれば、代表端子以外の入力端子については、基本条件群の一部だけに対してセットアップ時間が求められる。よって、シミュレーション回数が低減され、セットアップ時間テーブル５１を作成する時間が短縮される。すなわち、タイミング制約ライブラリ１０を作成する時間が短縮される。
【００７８】
（第４の実施の形態）
本発明の第４の実施の形態において、「タイミング制約」は、入力信号ＤＡＴＡのクロック信号ＣＬＫに対する「ホールド時間」を示す。図３に示されたホールド時間テーブル群６０は、複数のホールド時間テーブル（タイミング制約テーブル）を含んでいる。複数のホールド時間テーブルのそれぞれは、複数の入力端子ＤＡＴＡ１〜ＤＡＴＡ３のそれぞれに対して作成される。
【００７９】
図１５は、入力端子ＤＡＴＡ１に対して作成されるホールド時間テーブル６１の内容を示す概念図である。このホールド時間テーブル６１は、複数の条件に対するホールド時間をテーブル形式で示している。その複数の条件は、複数の第１条件と複数の第２条件の組み合わせで構成される。本実施の形態において、第１条件（第１テーブルインデックス）は、入力端子ＤＡＴＡ１に入力される信号の波形なまりの程度を示す「入力波形なまり」であり、第２条件（第２テーブルインデックス）は、クロック信号の波形なまりの程度を示す「クロック波形なまり」である。例えば図１５において、複数の条件は、第１条件Ａ１〜Ａ５と第２条件Ｂ１〜Ｂ５の組み合わせで与えられ、ホールド時間テーブル６１は、その組み合わせのそれぞれに対する２５種類のホールド時間Ｈ１１〜Ｈ５５を示している。
【００８０】
このようなホールド時間テーブル６１を含むホールド時間テーブル群６０の作成方法は、第３の実施の形態において説明された作成方法と同様である（図１４参照）。また、そのホールド時間テーブル群４０を作成するシステムの構成・動作は、第３の実施の形態において示されたシステムの構成・動作と同様である。つまり、代表端子については、基本条件テーブル３５を用い、基本条件群の全てに対してホールド時間が求められる。一方、代表端子以外の入力端子については、縮退された一部の条件に対してホールド時間が求められる。よって、シミュレーション回数が低減され、ホールド時間テーブル６１を作成する時間が短縮される。すなわち、タイミング制約ライブラリ１０を作成する時間が短縮される。
【図面の簡単な説明】
【００８１】
【図１】図１は、本発明の実施の形態におけるタイミング制約ライブラリの構成を示す概念図である。
【図２】図２は、本発明の実施の形態におけるセルの構成を示す概略図である。
【図３】図３は、本発明の実施の形態におけるタイミング制約ライブラリの構成を示す概念図である。
【図４】図４は、本発明の第１の実施の形態における遅延時間テーブルを説明するための概念図である。
【図５】図５は、本発明の第１の実施の形態における基本条件テーブルを説明するための概念図である。
【図６】図６は、本発明の第１の実施の形態において実行される縮退処理を説明するための図である。
【図７】図７は、本発明の第１の実施の形態において作成されるタイミング制約ライブラリの構成を示す概念図である。
【図８】図８は、本発明の第１の実施の形態に係るタイミング制約ライブラリの作成システムの構成を示すブロック図である。
【図９】図９は、本発明の第１の実施の形態に係るタイミング制約ライブラリの作成システムの動作を示すブロック図である。
【図１０】図１０は、本発明の第１の実施の形態に係るタイミング制約ライブラリの作成方法を示すフローチャートである。
【図１１】図１１は、本発明の第２の実施の形態における出力波形なまりテーブルを説明するための概念図である。
【図１２】図１２は、本発明の実施の形態におけるセルの構成を示す概略図である。
【図１３】図１３は、本発明の第３の実施の形態におけるセットアップ時間テーブルを説明するための概念図である。
【図１４】図１４は、本発明の第３の実施の形態に係るタイミング制約ライブラリの作成方法を示すフローチャートである。
【図１５】図１５は、本発明の第４の実施の形態におけるホールド時間テーブルを説明するための概念図である。
【符号の説明】
【００８２】
１０    タイミング制約ライブラリ
１１    第１セル用制約テーブル群
１２    第２セル用制約テーブル群
１３    第３セル用制約テーブル群
２１    第１セル
３０    遅延時間テーブル群
３１    遅延時間テーブル
３２    遅延時間テーブル
３３    遅延時間テーブル
３４    遅延時間テーブル
３５    基本条件テーブル
４０    出力波形なまりテーブル群
４１    出力波形なまりテーブル
５０    セットアップ時間テーブル群
５１    セットアップ時間テーブル
６０    ホールド時間テーブル群
６１    ホールド時間テーブル
１００    タイミング制約ライブラリ作成システム
１１０    記憶装置
１１５    セル回路ライブラリ
１２０    演算処理装置
１３０    入力装置
１４０    出力装置
１５０    ライブラリ作成ソフトウェア
１６０    シミュレーションツール
【図１】
2006039621.tif 000003
【図２】
2006039621.tif 000004
【図３】
2006039621.tif 000005
【図４】
2006039621.tif 000006
【図５】
2006039621.tif 000007
【図６】
2006039621.tif 000008
【図７】
2006039621.tif 000009
【図８】
2006039621.tif 000010
【図９】
2006039621.tif 000011
【図１０】
2006039621.tif 000012
【図１１】
2006039621.tif 000013
【図１２】
2006039621.tif 000014
【図１３】
2006039621.tif 000015
【図１４】
2006039621.tif 000016
【図１５】
2006039621.tif 000017