(57)【要約】      （修正有）【課題】ネガティブセットアップタイムまたはネガティブホールドタイムを有するハードマクロコアライブラリのＨＤＬシミュレーション方法を提供する。【解決手段】タイミングモデルにネガティブセットアップタイムが存在する場合、前記ネガティブセットアップタイムを有する入力端子を通じて入力される信号を受け入れる電子回路素子があるか否かを判別する。前記電子回路素子がある時に、前記電子回路素子と同一なセットアップタイムを有し、電子回路素子に入力されるクロック信号と同一の位相を有する信号に応答して動作する第１電子回路素子が生成され、ハードマクロコアライブラリと第１電子回路素子を含む新しいライブラリが生成される。このように生成された新しいライブラリによると、ネガティブセットアップ／ホールドタイムを有するハードマクロコアライブラリのタイミングをＨＤＬシミュレーションの実行中にもチェックすることができる。【選択図】  図９Ａ
2005056417.tif 000002
【特許請求の範囲】
【請求項１】
ハードマクロコアライブラリに対するシミュレーション方法であって、
前記ハードマクロコアライブラリのタイミングモデルにネガティブセットアップタイムが存在する場合、前記ネガティブセットアップタイムを有する入力端子を通じて入力される信号を受け入れる電子回路素子があるか否かを判別する段階と、
前記ネガティブセットアップタイムを有する入力端子を通じて入力される信号を受け入れる電子回路素子がある場合、前記電子回路素子と同一のセットアップタイムを有し、前記電子回路素子に入力されるクロック信号と同一の位相を有する信号に応答して動作する第１電子回路素子を生成する段階と、
前記ハードマクロコアライブラリと前記第１電子回路素子とを含む第１ライブラリを生成する段階と、
前記第１ライブラリに対するＨＤＬシミュレーションを実行する段階とを含むことを特徴とするシミュレーション方法。
【請求項２】
外部から前記ハードマクロコアライブラリに入力されるクロック信号と前記電子回路素子に入力されるクロック信号との間に所定の遅延時間を有することを特徴とする請求項１に記載のシミュレーション方法。
【請求項３】
前記ハードマクロコアライブラリに入力されるクロック信号と前記電子回路素子に入力されるクロック信号との間の遅延時間だけ遅延された信号をクロック信号として受け入れることを特徴とする請求項２に記載のシミュレーション方法。
【請求項４】
タイミングモデルにネガティブホールドタイムが存在する場合、前記ネガティブホールドタイムを有する入力端子を通じて入力される信号を受け入れる電子回路素子があるか否かを判別する段階と、
前記ネガティブホールドタイムを有する入力端子を通じて入力される信号を受け入れる電子回路素子がある場合、前記電子回路素子に入力されるクロック信号の位相より進んだ位相を有する信号を生成する段階と、
前記生成された信号をクロック信号として受け入れ、前記ネガティブホールドタイムを有する入力端子を通じて入力される信号のセットアップタイムと前記ネガティブホールドタイムとの和に相当するホールドタイムを有する第２電子回路素子を生成する段階と、
前記ハードマクロコアライブラリと前記第２電子回路素子とを含む第２ライブラリを生成する段階と、
前記第２ライブラリに対するＨＤＬシミュレーションを実行する段階とを含むことを特徴とするシミュレーション方法。
【請求項５】
前記ネガティブホールドタイムを有する入力端子を通じて入力される信号を受け入れる電子回路素子がある場合、前記ネガティブホールドタイムを有する電子回路素子は前記第２電子回路素子に提供される信号を遅延させた信号をクロック信号として受け入れることを特徴とする請求項４に記載のシミュレーション方法。
【請求項６】
前記第２電子回路素子に入力されるクロック信号は、
前記ネガティブホールドタイムを有する入力端子を通じて入力される信号を前記ネガティブホールドタイムを有する入力端子を通じて入力される信号のセットアップタイムだけ遅延させた信号であることを特徴とする請求項５に記載のシミュレーション方法。
【請求項７】
ハードマクロコアライブラリに対するシミュレーション方法において、
ネガティブセットアップタイムを有する信号を受信する第１電子回路素子があるか否かを判別する段階と、
シュミレーションの正確度が下がらないように信号を受信する第２電子回路素子を発生する段階とを含むことを特徴とするシミュレーション方法。
【請求項８】
第１クロック信号は前記ハードマクロコアライブラリによって受信され、第２クロック信号は前記第１電子回路素子によって受信されることを特徴とする請求項７に記載のシミュレーション方法。
【請求項９】
前記第２電子回路素子は前記第１クロック信号と前記第２クロック信号との間の遅延時間だけ遅延されたクロック信号を受信することを特徴とする請求項８に記載のシミュレーション方法。
【請求項１０】
ハードマクロコアライブラリに対するＨＤＬシミュレーション方法において、
第１クロック信号とネガティブホールドタイムを有する第１信号とを受け入れる第１電子回路が存在するか否かを判別する段階と、
前記第１信号がネガティブホールドタイムを有すると判別される場合、前記第１クロック信号の位相より進んだ位相を有する第２クロック信号をシュミレーションの正確度が下がらないように生成する段階とを含むことを特徴とするシミュレーション方法。
【請求項１１】
前記第２クロック信号を受け入れる第２電子回路素子を生成する段階をさらに含み、
前記第２クロック信号はセットアップタイムと関連付けられたホールドタイムを有することを特徴とする請求項１０に記載のシミュレーション方法。
【請求項１２】
前記ハードマクロコアライブラリを含む第２ライブラリと第２電子回路素子とを生成する段階と、
前記ＨＤＬシミュレーションを前記第２ライブラリに適用する段階とを含むことを特徴とする請求項１１に記載のシミュレーション方法。
【請求項１３】
前記第１信号がネガティブホールドタイムを有すると判別される場合、前記第１電子回路素子は前記第２クロック信号に関連付けられた遅延を有する前記第１クロック信号が入力されることを特徴とする請求項１１に記載のシミュレーション方法。
【請求項１４】
前記第１クロック信号は前記セットアップタイムによって遅延されることを特徴とする請求項１３に記載のシミュレーション方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は電子回路設計のためのＨＤＬ（Ｈａｒｄｗａｒｅ  Ｄｅｓｃｒｉｐｔｉｏｎ  ｌａｎｇｕａｇｅ）シミュレーションに関するものであり、さらに具体的には、ネガティブセットアップ／ホールドタイム（ｎｅｇａｔｉｖｅ  ｓｅｔｕｐ／ｈｏｌｄ  ｔｉｍｅ）を有するハードマクロコアライブラリに対するＨＤＬシミュレーションに関するものである。
【背景技術】
【０００２】
ＨＤＬ（Ｈａｒｄｗａｒｅ  Ｄｅｓｃｒｉｐｔｉｏｎ  ｌａｎｇｕａｇｅ）はＡＳＩＣ（ａｐｐｌｉｃａｔｉｏｎ  ｓｐｅｃｉｆｉｃ  ｉｎｔｅｇｒａｔｅｄ  ｃｉｒｃｕｉｔ）、ＶＬＳＩ（ｖｅｒｙ  ｌａｒｇｅ  ｓｃａｌｅ  ｉｎｔｅｇｒａｔｉｏｎ）回路などの電子回路設計時に使用される言語である。ＨＤＬを利用した回路の設計は使用される各部品の相互連結関係を一定の文法に従って記述し、記述した結果は当該のシミュレータを通じてシミュレーションが可能である。これを通じて、設計された回路の特性を検証し、最終的には該当する回路のパターンまで完成させることができるようになる。
【０００３】
ハードマクロコアライブラリ（ｈａｒｄ  ｍａｃｒｏ  ｃｏｒｅ  ｌｉｂｒａｒｙ）は他のデザインとともにチップにインテグレーション（ｉｎｔｅｇｒａｔｉｏｎ）されて設計され、シミュレーションされる。シミュレーション段階では、ハードマクロコアライブラリのタイミングモデル（ｔｉｍｉｎｇ  ｍｏｄｅｌ）が使用される。タイミングモデルにはハードマクロコアライブラリに具備された、外部とインタフェースするためのピンに対するタイミング情報が含まれ、タイミング情報は各ピンに対するセットアップタイム（ｓｅｔｕｐ  ｔｉｍｅ）及びホールドタイム（ｈｏｌｄ  ｔｉｍｅ）を組み込んで記述される。
【０００４】
もしタイミングモデルファイルに記載されたセットアップタイム及びホールドタイムがネガティブであれば、ＨＤＬシミュレーションを実行することができない。したがって、タイミングモデルファイルに記載されたネガティブセットアップタイム及びネガティブホールドタイムは各々０に置換して、ＨＤＬシミュレーションを実行しなければならない。その結果、ネガティブセットアップタイム及びネガティブホールドタイムを有するハードマクロコアライブラリに対するＨＤＬシミュレーション結果の信頼性が低下する。
【発明の開示】
【発明が解決しようとする課題】
【０００５】
本発明の目的は、ＨＤＬシミュレーションの信頼性を向上させることができるシミュレーション方法を提供することにある。
【課題を解決するための手段】
【０００６】
上述のような目的を達成するための本発明の特徴によると、ハードマクロコアライブラリに対するシミュレーション方法は、タイミングモデルにネガティブセットアップタイムが存在する場合、前記ネガティブセットアップタイムを有する入力端子を通じて入力される信号を受け入れる電子回路素子があるか否かを判別する段階を含む。前記判別結果に基づいて、前記ネガティブセットアップタイムを有する入力端子を通じて入力される信号を受け入れる電子回路素子がある場合、前記電子回路素子と同一のセットアップタイムを有し、前記電子回路素子に入力されるクロック信号と同一の位相を有する信号に応答して動作する第１電子回路素子が生成される。続いて、前記ハードマクロコアライブラリと前記第１電子回路素子を含む第１ライブラリが生成され、生成された第１ライブラリに対するＨＤＬシミュレーションが実行される。
【０００７】
望ましい実施の形態において、外部から前記ハードマクロコアライブラリに入力されるクロック信号と前記電子回路素子に入力されるクロック信号との間に所定の遅延時間を有する。
【０００８】
この実施の形態において、前記第１電子回路素子は、前記ハードマクロコアライブラリに入力されるクロック信号と前記電子回路素子に入力されるクロック信号との間の遅延時間だけ遅延された信号をクロック信号として受け入れる。
【０００９】
望ましい実施の形態において、タイミングモデルにネガティブホールドタイムが存在する場合、前記ネガティブホールドタイムを有する入力端子を通じて入力される信号を受け入れる電子回路素子があるか否かを判別する段階が含まれる。前記ネガティブホールドタイムを有する入力端子を通じて入力される信号を受け入れる電子回路素子がある場合、前記電子回路素子に入力されるクロック信号の位相より進んだ位相を有する信号が生成される。前記生成された信号をクロック信号として受け入れ、前記ネガティブホールドタイムを有する入力端子を通じて入力される信号のせットアップタイムと前記ネガティブホールドタイムの和に相当するホールドタイムを有する第２電子回路素子が生成される。前記ハードマクロコアライブラリと前記第２電子回路素子とを含む第２ライブラリが生成される。前記第２ライブラリに対してＨＤＬシミュレーションが実行される。
【００１０】
この実施の形態において、前記ネガティブホールドタイムを有する入力端子を通じて入力される信号を受け入れる電子回路素子がある場合、前記ネガティブホールドタイムを有する電子回路素子は前記第２電子回路素子に提供される信号を遅延させた信号をクロック信号として受け入れる。
【００１１】
前記第２電子回路に入力されるクロック信号は、前記ネガティブホールドタイムを有する入力端子を通じて入力される信号を前記ネガティブホールドタイムを有する入力端子を通じて入力される信号のセットアップタイムだけ遅延させた信号である。
【発明の効果】
【００１２】
本発明によれば、ハードマクロコアライブラリに対する正確なタイミング情報を取得し、その結果、ＨＤＬシミュレーションの正確度が向上する。
【発明を実施するための最良の形態】
【００１３】
以下、本発明の望ましい実施の形態を添付の図面を参照して詳細に説明する。
【００１４】
図１はハードマクロコアライブラリの一例を示している。図１を参照すると、ハードマクロコアライブラリ１０はアドレス信号ＡＤＤＲ及びクロック信号ＨＣＬＫを各々受け入れる入力端子１１、１２、及びフリップフロップ１４を含む。入力端子１２を通じて入力されるクロック信号ＨＣＬＫはＣＴＳ（ｃｌｏｃｋ  ｔｒｅｅ  ｓｙｎｔｈｅｓｉｓ）が実行された後、フリップフロップ１４のクロック端子に印加される。図１では、バッファ１３はＣＴＳの実行の結果により生成された素子である。フリップフロップ１４は、入力端子１２から入力されるクロック信号ＨＣＬＫがバッファ１３によって遅延されたクロック信号ＨＣＬＫ'に応答してアドレス信号ＡＤＤＲをラッチする。
【００１５】
図２は図１に示したハードマクロコアライブラリのネガティブセットアップタイムを示す図面である。図２を参照すると、バッファ１３から出力されてフリップフロップ１４に入力されるクロック信号ＨＣＬＫ'は入力端子１２に入力されるクロック信号ＨＣＬＫに対してΔｄｓだけ遅延された信号である。
【００１６】
フリップフロップ１４の立場で見ると、遅延されたクロック信号ＨＣＬＫ'の立上りエッジ（ｒｉｓｉｎｇ  ｅｄｇｅ）でアドレス信号ＡＤＤＲが既に安定した状態にあるので、フリップフロップ１４の動作は正常に実行されうる。しかし、ハードマクロコアライブラリに対するタイミングモデルファイルはハードマクロコアライブラリの入力端子１１、１２に入力される信号を基準にして作成されるので、セットアップタイムはネガティブとして評価される。すなわち、入力端子１１に入力される信号ＡＤＤＲのセットアップタイム（ｔｓｅｔｕｐ１）はクロック信号ＨＣＬＫを基準にした場合、ネガティブである。
【００１７】
ＨＤＬシミュレータはセットアップタイムがネガティブであれば、ネガティブ値を０にとしてシミュレーションを実行するので、シミュレーションの正確度は低くなる。
【００１８】
図３はハードマクロコアライブラリの他の例を示している。図３を参照すると、ハードマクロコアライブラリ２０は信号ＣＰＢＵＳＹ及びクロック信号ＧＣＬＫを各々受け入れる入力端子２１、２３、組み合わせロジック（ｃｏｍｂｉｎａｔｉｏｎ  ｌｏｇｉｃ：ＣＬ）回路２２、及びフリップフロップ２５を含む。入力端子２３を通じて入力されるクロック信号ＧＣＬＫはＣＴＳが実行された後、フリップフロップ２５のクロック端子に印加される。図３では、バッファ２４はＣＴＳの実行の結果により生成された素子である。入力端子２１を通じて入力される信号ＣＰＢＵＳＹは組み合わせロジック回路２２によって遅延された後に出力される。フリップフロップ２５は、入力端子２３から入力されるクロック信号ＧＣＬＫがバッファ２４によってΔｄｈだけ遅延されたクロック信号ＧＣＬＫ'に応答して組み合わせロジック回路２２からの信号ＣＰＢＵＳＹ'をラッチする。
【００１９】
図４は図３に示したハードマクロコアライブラリのネガティブホールドタイムを示す図面である。図４を参照すると、バッファ２４から出力されてフリップフロップ２５に入力されるクロック信号ＧＣＬＫ'は入力端子２３に入力されたクロック信号ＧＣＬＫに対してΔｄｈだけ遅延された信号である。
【００２０】
フリップフロップ２５の立場で見ると、遅延されたクロック信号ＧＣＬＫ'の立上りエッジ（ｒｉｓｉｎｇ  ｅｄｇｅ）では、信号ＣＰＢＵＳＹ'が有効な値を有するので、フリップフロップ２５の動作は正常に実行されることができる。しかし、ハードマクロコアライブラリに対するタイミングモデルファイルは、ハードマクロコアライブラリの入力端子２１、２３に入力される信号ＧＣＬＫ、ＣＰＢＵＳＹを基準にして作成されるので、信号ＣＰＢＵＳＹのホールドタイムｔｈｏｌｄ１はネガティブとして評価される。
【００２１】
ＨＤＬシミュレータはホールドタイムがネガティブであれば、ネガティブ値を０としてシミュレーションを実行するので、シミュレーションの正確度は低くなる。
【００２２】
図５はハードマクロコアライブラリに対する本発明の望ましい実施の形態によるシミュレーション方法を説明するために例示的に示す図面である。
【００２３】
図１に示したように、ハードマクロコアライブラリ１０はアドレス信号ＡＤＤＲ及びクロック信号ＨＣＬＫを各々受け入れる入力端子１１、１２、及びフリップフロップ１４を含む。入力端子１２を通じて入力されるクロック信号ＨＣＬＫはＣＴＳが実行された後、フリップフロップ１４のクロック端子に印加される。バッファ１３はＣＴＳの実行の結果により生成された素子である。フリップフロップ１４はクロック信号ＨＣＬＫ'に応答してアドレス信号ＡＤＤＲをラッチする。クロック信号ＨＣＬＫ'は入力端子１２から入力されるクロック信号ＨＣＬＫがバッファ１３によって遅延された信号である。
【００２４】
本実施形態では、ハードマクロコアライブラリ１０の入力端子１１、１２に入力される信号ＡＤＤＲ、ＨＣＬＫのセットアップタイムを正確に測定することができるように、新しいハードマクロコアライブラリ１００を生成した。
【００２５】
セットアップタイムを正確に測定して新しいハードマクロコアライブラリ１００を生成する本発明の望ましい実施の形態による方法が図９Ａ及び図９Ｂに示されている。
【００２６】
先ず、図９Ａを参照すると、段階Ｓ３００では、タイミングモデルファイルにネガティブ値があるか否かが判別される。上述のように、タイミングモデルにはハードマクロコアライブラリに具備された、外部とインタフェースするためのピンに対するタイミング情報が含まれ、タイミング情報は各ピンに対するセットアップタイム及びホールドタイムを組み込んで記述される。上記の判別結果に基づいて、ネガティブ値が存在すれば、その制御は段階Ｓ３０１に進行する。
【００２７】
段階Ｓ３０１では、タイミングモデルファイルに存在するネガティブ値がネガティブセットアップタイムであるか否かが判別される。ネガティブセットアップタイムが存在すれば、その制御は段階Ｓ３０２に進行し、存在しなければ、その制御は段階Ｓ３１０に進行する。
【００２８】
段階Ｓ３０２では、ネガティブセットアップタイムを有する入力端子に入力される信号ＡＤＤＲが入力される素子があるか否かが判別される。この実施の形態では、フリップフロップ１４が信号ＡＤＤＲを入力信号として受け入れる。
【００２９】
段階Ｓ３０３では、ハードマクロコアライブラリ１０のレイアウトからＳＤＦ（ｓｔａｎｄａｒｄ  ｄｅｌａｙ  ｆｉｌｅ）が取り出される。ＳＤＦにはハードマクロコアライブラリ１０の入力端子１２に入力されるクロック信号ＨＣＬＫとフリップフロップ１４のクロック入力端子に入力されるクロック信号ＨＣＬＫ'との間の遅延時間Δｄｓとフリップフロップ１４のセットタイムとが記述されている。フリップフロップ１４のセットアップタイムはクロック端子を通じて入力されるクロック信号ＨＣＬＫ'の立上りエッジより入力端子Ｄを通じて信号ＡＤＤＲが予め入力されるべき最小の時間を意味する。すなわち、セットアップタイムはアドレス信号ＡＤＤＲが入力された後、クロック信号ＨＣＬＫ'が立ち上がるまでの最小の時間である。クロック信号ＣＬＫ'の立上りエッジでアドレス信号ＡＤＤＲが十分に安定した状態でなければ、フリップフロップ１４の安定した動作を保証することができない。
【００３０】
段階Ｓ３０４では、クロック信号ＨＣＬＫを遅延時間Δｄｓだけ遅延させた信号ＨＣＬＫｎをクロック信号として受け入れ、ＳＤＦから取得したフリップフロップ１４のセットアップタイムと同一のセットアップタイムを有するフリップフロップ１０２が生成される。図６に示したように、フリップフロップ１０２に入力されるクロック信号ＨＣＬＫｎの位相と周波数はフリップフロップ１４に入力されるクロック信号ＨＣＬＫ'と同一である。
【００３１】
段階Ｓ３０５では、図５に示したように、元のハードマクロコアライブラリ１０にバッファ１０１とフリップフロップ１０２とを統合した新しいハードマクロコアライブラリ１００が生成される。新しいライブラリ１００に対するタイミングをチェックする時に、信号ＡＤＤＲのセットアップタイムｔｓｅｔｕｐ２はポジティブである。したがって、ＨＤＬシミュレータは新しいライブラリ１００に対するシミュレーション時に、信号ＡＤＤＲに対する正確なタイミング情報をチェックすることができる。したがって、ＨＤＬシミュレーションの正確度が向上する。
【００３２】
段階Ｓ３０６では、生成されたライブラリ１００に対するＨＤＬシミュレーションが実行される。
【００３３】
図７はハードマクロコアライブラリに対する本発明の望ましい実施の形態によるシミュレーション方法を説明するために例示的に示す他の図面である。
【００３４】
図３で説明したように、ハードマクロコアライブラリ２０は信号ＣＰＢＵＳＹ及びクロック信号ＧＣＬＫを各々受け入れる入力端子２１、２３、組み合わせロジック回路２２、及びフリップフロップ２５を含む。入力端子２３を通じて入力されるクロック信号ＧＣＬＫはＣＴＳが実行された後、フリップフロップ２５のクロック端子に印加される。入力端子２１を通じて入力される信号ＣＰＢＵＳＹは組み合わせロジック回路２２によって遅延された後に出力される。フリップフロップ２５は、入力端子２３から入力されるクロック信号ＧＣＬＫがバッファ２４によってΔｄｈだけ遅延されたクロック信号ＧＣＬＫ'に応答して組み合わせロジック回路２２からの信号ＣＰＢＵＳＹ'をラッチする。
【００３５】
図９Ｂを参照すると、段階Ｓ３１０では、ネガティブホールドタイムが存在するか否かが判別される。上記の判別結果に基づいて、ネガティブホールドタイムが存在すると、その制御は段階Ｓ３１１に進行する。図８に示したように、クロック信号ＧＣＬＫに対する信号ＣＰＢＵＳＹのホールドタイムｔｈｏｌｄ１はネガティブである。
【００３６】
段階Ｓ３１１では、ネガティブホールドタイムを有する入力端子２１に入力される信号ＣＰＢＵＳＹが入力される素子があるか否かが判別される。この実施の形態では、フリップフロップ２５は信号ＣＰＢＵＳＹをデータ信号として受け入れる。
【００３７】
段階Ｓ３１２では、クロック信号ＧＣＬＫの位相より進んだ位相を有する信号ＧＣＬＫｎが生成される。これは信号ＧＣＬＫｎを所定の時間Δｓｅｔｕｐ遅延させた信号をクロックとして設定することにより実現される。遅延時間Δｓｅｔｕｐはクロック信号ＧＣＬＫに対する信号ＣＰＢＵＳＹのセットアップタイムである。
【００３８】
段階Ｓ３１３では、信号ＧＣＬＫｎをクロック信号として受け入れ、Δｓｅｔｕｐ＋ｔｈｏｌｄ１で表されるホールドタイムを有するフリップフロップ２０１が生成される。図８では、Δｓｅｔｕｐ＋ｔｈｏｌｄ１に対応する時間は陰影として表示されており、これは入力データの最小有効区間ＶＩを示す。
【００３９】
段階Ｓ３１４では、生成されたフリップフロップ２０１とバッファ２０２をハードマクロコアライブラリ２０と統合した新しいハードマクロコアライブラリ２００が生成される。その結果、図８に示したように、クロック信号ＧＣＬＫに対する信号ＣＰＢＵＳＹＫのホールドタイムｔｈｏｌｄ２はポジティブ値を有するようになる。
【００４０】
段階Ｓ３１５では、新しいハードマクロコアライブラリ２００はＨＤＬシミュレータによりシミュレーションされる。
【００４１】
下の構文は本発明を実現するためのＨＤＬ構文の一例である。
【００４２】
ｍｏｄｕｌｅ  Ｎｅｗ＿ＨＭＣｏｒｅ
／／ｃｏｍｍｅｎｔ：ｎｅｗ  ＦＦ  ｃｏｎｓｉｄｅｒｉｎｇ  ｎｅｗ＿ｓｅｔｕｐ＿ｔｉｍｅ
ｄｅｌａｙ  ｄｅｌｔａ＿ｄ＿ｓｅｔｕｐ(．Ａ(ＨＣＬＫ)，．Ｙ(ＨＣＬＫｎ))；
ＦＦ  ＦＦ＿ｎｅｗ＿ｓｅｔｕｐ(．Ｄ(ＡＤＤＲ)，．ＣＫ(ＨＣＬＫｎ)，Ｑ())；
ｄｋ＿ｓｅｔｕｐ＿ＦＦ＿ｎｅｗ(Ｄ，ＨＣＬＫｎ，ｔｓｅｔｕｐ＿ｎｅｗ)
／／ｃｏｍｍｅｎｔ：ｎｅｗ  ＦＦ  ｃｏｎｓｉｄｅｒｉｎｇ  ｎｅｗ＿ｈｏｌｄ−ｔｉｍｅ
ｄｅｌａｙ  ｄｅｌｔａ＿ｄ＿ｈｏｌｄ(．Ａ(ＧＣＬＫｎ)，．Ｙ(ＧＣＬＫ))；
ＦＦ  ＦＦ＿ｎｅｗ＿ｈｏｌｄ(．Ｄ(ＣＰＢＵＳＹ)，．ＣＫ(ＧＣＬＫｎ)，Ｑ())；
ｄｋ＿ｈｏｌｄ＿ＦＦ＿ｎｅｗ(Ｄ，ＧＣＬＫｎ，ｔｈｏｌｄ＿ｎｅｗ)
／／ｏｒｉｇｉｎａｌ  Ｈａｒｄｗａｒｅ  ｅｌｅｍｅｎｔ  Ｌｉｂｒａｒｙ
ＨＭ＿Ｃｏｒｅ  ＨＭ＿Ｃｏｒｅ＿ｉｎｓｔ(．ＨＣＬＫ(ＨＣＬＫ)，．ＡＤＤＲ(ＡＤＤＲ)，ＧＣＬＫ(ＧＣＬＫ)，．ＣＰＢＵＳＹ(ＣＰＢＵＳＹ)．．．)；
ｅｎｄｍｏｄｕｌｅ
【００４３】
このように、ＨＭ＿Ｃｏｒｅライブラリが定義されて、ネガティブセットアップ／ホールドタイミングの決定は新しいフリップフロップＮｅｗ＿ＨＭＣｏｒｅ  ｍｏｄｕｌｅに統合される。ＨＤＬシミュレータは新しいハードマクロコアライブラリであるＮｅｗ＿ＨＭＣｏｒｅ  ｍｏｄｕｌｅに対するセットアップ／ホールドタイミングチェックの結果、信号ＡＤＤＲ及びＣＰＢＵＳＹのセットアップ／ホールドタイムがネガティブであれば、セットアップ／ホールドタイムを０（ゼロ）として認識し、ネガティブセットアップ／ホールドタイムを有する信号ＡＤＤＲ及びＣＰＢＵＳＹに代えて自動的に新しいフリップフロップに対するセットアップ／ホールドタイムでタイミングチェックを実行する。したがって、ハードマクロコアライブラリに対する正確なタイミングチェックが可能である。
【００４４】
例示的な望ましい実施の形態を利用して本発明を説明したが、本発明の範囲は開示された実施の形態に限定されないことはよく理解されるであろう。すなわち、本発明の技術的範囲には、多様な変形例及びそれと均等な構成が全て含まれる。したがって、本発明の特許請求の範囲はそのような変形例及びそれと均等な構成の全てを含むものとして、特許請求の範囲の記載に基づいて広く解釈されるべきである。  
【図面の簡単な説明】
【００４５】
【図１】ハードマクロコアライブラリの一例を示す図面である。
【図２】図１に示したハードマクロコアライブラリのネガティブセットアップタイムを示す図面である。
【図３】ハードマクロコアライブラリの他の例を示す図面である。
【図４】図３に示したハードマクロコアライブラリのネガティブホールドタイムを示す図面である。
【図５】ハードマクロコアライブラリに対する本発明の望ましい実施の形態によるシミュレーション方法を説明するために例示的に示す図面である。
【図６】図５に示したハードマクロコアライブラリのセットアップタイムを示す図面である。
【図７】ハードマクロコアライブラリに対する本発明の望ましい実施の形態によるシミュレーション方法を説明するために例示的に示す図面である。
【図８】図７に示したハードマクロコアライブラリのホールドタイムを示す図面である。
【図９Ａ】ネガティブセットアップ／ホールドタイムを有するハードマクロコアライブラリに対するＨＤＬシミュレーション過程を示すフローチャートである。
【図９Ｂ】ネガティブセットアップ／ホールドタイムを有するハードマクロコアライブラリに対するＨＤＬシミュレーション過程を示すフローチャートである。
【図１】
2005056417.tif 000003
【図２】
2005056417.tif 000004
【図３】
2005056417.tif 000005
【図４】
2005056417.tif 000006
【図５】
2005056417.tif 000007
【図６】
2005056417.tif 000008
【図７】
2005056417.tif 000009
【図８】
2005056417.tif 000010
【図９Ａ】
2005056417.tif 000011
【図９Ｂ】
2005056417.tif 000012