JP2006155056A - タイミングエラー修正方法 - Google Patents
タイミングエラー修正方法 Download PDFInfo
- Publication number
- JP2006155056A JP2006155056A JP2004342573A JP2004342573A JP2006155056A JP 2006155056 A JP2006155056 A JP 2006155056A JP 2004342573 A JP2004342573 A JP 2004342573A JP 2004342573 A JP2004342573 A JP 2004342573A JP 2006155056 A JP2006155056 A JP 2006155056A
- Authority
- JP
- Japan
- Prior art keywords
- layout
- timing
- timing error
- cell
- error
- 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
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/30—Circuit design
- G06F30/32—Circuit design at the digital level
- G06F30/33—Design verification, e.g. functional simulation or model checking
- G06F30/3308—Design verification, e.g. functional simulation or model checking using simulation
- G06F30/3312—Timing analysis
Landscapes
- Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Evolutionary Computation (AREA)
- Geometry (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Design And Manufacture Of Integrated Circuits (AREA)
- Semiconductor Integrated Circuits (AREA)
Abstract
【課題】 階層化設計手法で設計される集積回路のホールドエラー及びセットアップエラーを確実に解消し得るタイミングエラー修正方法を提供する。
【解決手段】 最上位階層に複数の同一レイアウトブロックを含む集積回路のレイアウトにタイミング調整用セルを挿入してタイミングエラーを修正するタイミングエラー修正方法であって、各レイアウトブロック1a,1bを構成するセルにおいて、タイミングエラーが発生するまでの余裕度を各レイアウトブロックで対応するセルの最悪条件に揃え、各余裕度の範囲でタイミング調整用セルcd6〜cd9を挿入してタイミングエラーを調整する。
【選択図】 図1
【解決手段】 最上位階層に複数の同一レイアウトブロックを含む集積回路のレイアウトにタイミング調整用セルを挿入してタイミングエラーを修正するタイミングエラー修正方法であって、各レイアウトブロック1a,1bを構成するセルにおいて、タイミングエラーが発生するまでの余裕度を各レイアウトブロックで対応するセルの最悪条件に揃え、各余裕度の範囲でタイミング調整用セルcd6〜cd9を挿入してタイミングエラーを調整する。
【選択図】 図1
Description
この発明は、半導体集積回路を階層化設計手法に基づいて設計する際に、動作タイミングエラーを修正する設計方法に関するものである。
近年の大規模化された半導体集積回路では、その設計工数を削減するために、階層化設計手法が用いられている。このような設計手法を用いた場合、ホールドタイミングエラーあるいはセットアップタイミングエラー等の動作タイミングエラーを修正するために要する工数を削減しなければ、設計工数を十分に削減することはできない。
近年の大規模化された半導体集積回路では、その設計工数を削減するために、階層化設計手法が用いられている。このような設計手法を用いた場合、ホールドタイミングエラーあるいはセットアップタイミングエラー等の動作タイミングエラーを修正するために要する工数を削減しなければ、設計工数を十分に削減することはできない。
図5は、階層化設計手法で設計されるデータ転送回路の一例を示す。同図において、レイアウトブロック1a,1bは、下位層としてあらかじめ設計されている。
最上位階層は、前記レイアウトブロック1a,1bと、フリップフロップ回路FF1〜FF4と、セルc1〜c6から構成される。レイアウトブロック1aは、単入力セルc7〜c9と、複数入力セルc10及びフリップフロップ回路FF01〜FF04とから構成される。レイアウトブロック1bは、レイアウトブロック1aと同様な回路構成であり、単入力セルc11〜c13と、複数入力セルc14及びフリップフロップ回路FF05〜FF08とから構成される。
最上位階層は、前記レイアウトブロック1a,1bと、フリップフロップ回路FF1〜FF4と、セルc1〜c6から構成される。レイアウトブロック1aは、単入力セルc7〜c9と、複数入力セルc10及びフリップフロップ回路FF01〜FF04とから構成される。レイアウトブロック1bは、レイアウトブロック1aと同様な回路構成であり、単入力セルc11〜c13と、複数入力セルc14及びフリップフロップ回路FF05〜FF08とから構成される。
各フリップフロップ回路FF1〜FF4,FF01〜FF08は、クロック信号に基づいてデータの入出力動作を行う。図5においては、クロック信号の記載を省略している。
フリップフロップ回路FF1から出力されるデータは、セルc3,c2,c7,c9を経て、フリップフロップ回路FF02,FF03に出力され、セルc3,c2,c7,c8,c10を経てフリップフロップ回路FF01に出力される。
フリップフロップ回路FF1から出力されるデータは、セルc3,c2,c7,c9を経て、フリップフロップ回路FF02,FF03に出力され、セルc3,c2,c7,c8,c10を経てフリップフロップ回路FF01に出力される。
フリップフロップ回路FF3から出力されるデータは、セルc1を経てフリップフロップ回路FF04に出力され、セルc1,c10を経てフリップフロップ回路FF01に出力される。
フリップフロップ回路FF4から出力されるデータは、セルc4〜c6を経てFF08に出力され、セルc4〜c6及び同c14を経てフリップフロップ回路FF05に出力される。
フリップフロップ回路FF4から出力されるデータは、セルc4〜c6を経てFF08に出力され、セルc4〜c6及び同c14を経てフリップフロップ回路FF05に出力される。
フリップフロップ回路FF2から出力されるデータは、セルc11,c12,c14を経てフリップフロップ回路FF05に出力され、セルc11,c13を経てフリップフロップ回路FF06,FF07に出力される。
前記各セルc1〜c14の前後に記載された数字及びフリップフロップ回路FF01〜FF08の入力端に記載された数字は、各セルc1〜c14及びフリップフロップ回路FF01〜FF08においてセットアップタイミングエラーが発生するまでの遅延マージン時間Slackを示すものであり、単位はpsである。また、複数入力セルc10,c14のSlackは、条件の厳しい入力ピンのSlackとなる。
図6は、フリップフロップ回路のホールドタイム及びセットアップタイムを示す。図6(a)に示すフリップフロップ回路FFにおいて、クロック信号CLKの立ち上がりに基づいてデータDATAの取り込み動作が行われるとき、図6(b)に示すように、取り込もうとするデータDATAの入力開始からクロック信号CLKの立ち上がりまでに所定時間以上のセットアップ時間stを確保する必要がある。
また、図6(c)に示すように、クロック信号CLKの立ち上がりから、取り込もうとするデータDATAの入力が終了するまでに所定時間以上のホールド時間htを確保する必要がある。
図5に示す回路構成において、次に示すようなホールドエラーが発生している場合の従来のタイミングエラー修正方法を説明する。
例えばフリップフロップ回路FF3からフリップフロップ回路FF01にいたるパスAにおいて、フリップフロップ回路FF01にホールドエラーが発生し、その調整時間すなわちホールドエラーを修正するために必要とするデータの遅延時間は45psである。
例えばフリップフロップ回路FF3からフリップフロップ回路FF01にいたるパスAにおいて、フリップフロップ回路FF01にホールドエラーが発生し、その調整時間すなわちホールドエラーを修正するために必要とするデータの遅延時間は45psである。
また、フリップフロップ回路FF1からフリップフロップ回路FF01にいたるパスBにおいて、フリップフロップ回路FF01にホールドエラーが発生し、その調整時間すなわちホールドエラーを修正するために必要とするデータの遅延時間は140psである。
また、フリップフロップ回路FF2からフリップフロップ回路FF06にいたるパスCにおいて、フリップフロップ回路FF06にホールドエラーが発生し、その調整時間すなわちホールドエラーを修正するために必要とするデータの遅延時間は120psである。
このようなホールドエラーを解消するために最上位階層だけに遅延セルを挿入する場合を図7に示す。パスCのホールドエラーを解消するために、フリップフロップ回路FF2とセルc11との間に遅延時間120psの遅延セルcd1を挿入すれば、フリップフロップ回路FF06において、セットアップ時間を確保しながらホールドエラーを解消可能となる。
しかし、パスAでは遅延時間30psの遅延セルcd2をフリップフロップ回路FF3とセルc1との間に挿入すると、フリップフロップ回路FF04のSlackが0となるため、これ以上の遅延時間を備えた遅延セルを挿入すると、フリップフロップ回路FF04でセットアップタイミングエラーが発生してしまう。従って、フリップフロップ回路FF04でのセットアップエラーを発生させずに、パスAのホールドエラーを解消することはできない。
また、パスBでは遅延時間120psの遅延セルcd3をフリップフロップ回路FF1とセルc3との間に挿入すると、フリップフロップ回路FF02のSlackが0となるため、これ以上の遅延時間を備えた遅延セルを挿入すると、フリップフロップ回路FF02でセットアップエラーが発生してしまう。従って、フリップフロップ回路FF02でのセットアップエラーを発生させずに、パスAのホールドエラーを解消することはできない。
図8は、上記のようなホールドエラーを解消するために、レイアウトブロック1a,1b内にさらに遅延セルを挿入する場合を示す。同図に示すように、遅延セルcd1〜cd3に加えて、レイアウトブロック1a,1b内に遅延時間20psの遅延セルcd4,cd5を挿入する。
すなわち、レイアウトブロック1a,1bは最上位階層の設計に先立って同一構成で設計されるため、レイアウトブロック1aでセルc10とFF01との間に遅延時間20psの遅延セルcd4を挿入するとき、レイアウトブロック1bにおいても、セルc14とフリップフロップ回路ff05との間に同様な遅延セルcd5が挿入される。
このよう調整を行うと、パスAでは遅延セルcd2,cd4により50psの遅延時間を確保することができるため、45psの調整時間を確保してホールドエラーを解消することができるとともに、フリップフロップ回路FF04でセットアップエラーを発生させることはない。
また、パスBでは遅延セルcd3,cd4により140psの遅延時間を確保することができるため、140psの調整時間を確保してホールドエラーを解消することができる。
また、パスCには遅延セルcd5の挿入は影響しないので、ホールドエラーを解消できることには変わりがない。
また、パスCには遅延セルcd5の挿入は影響しないので、ホールドエラーを解消できることには変わりがない。
しかし、フリップフロップ回路FF4から同FF05にいたるパスDでは、15psのSlackを備えたフリップフロップ回路FF05に対し、遅延時間20psの遅延セルcd5が挿入されるため、フリップフロップ回路FF05のSlackがマイナスの値となり、セットアップエラーが発生してしまう。
上記のような、ホールドエラーの修正方法に関連する内容が特許文献1〜3に開示されている。
特開2003−162556号公報
特開2003−256488号公報
特開2000−250963号公報
上記のように、階層化設計手法でホールドエラーを調整する場合、最上位階層にのみ遅延セルを挿入しても、ホールドエラーを解消することができないことがある。
また、最上位階層に同一構成のレイアウトブロックが複数使用されている場合、ホールドエラーを解消するために、いずれか一つのレイアウトブロックに着目して当該レイアウトブロック内に遅延セルを挿入すると、すべてのレイアウトブロックに同様な遅延セルが挿入される。
また、最上位階層に同一構成のレイアウトブロックが複数使用されている場合、ホールドエラーを解消するために、いずれか一つのレイアウトブロックに着目して当該レイアウトブロック内に遅延セルを挿入すると、すべてのレイアウトブロックに同様な遅延セルが挿入される。
すると、他のレイアウトブロックを通るパスでセットアップエラーが発生してしまい、これらを再調整するための工数が増大するという問題点がある。
この発明の目的は、階層化設計手法で設計される集積回路のホールドエラー及びセットアップエラーを確実に解消し得るタイミングエラー修正方法を提供することにある。
この発明の目的は、階層化設計手法で設計される集積回路のホールドエラー及びセットアップエラーを確実に解消し得るタイミングエラー修正方法を提供することにある。
上記目的は、最上位階層に複数の同一レイアウトブロックを含む集積回路のレイアウトにタイミング調整用セルを挿入してタイミングエラーを修正するタイミングエラー修正方法であって、各レイアウトブロックを構成するセルにおいて、タイミングエラーが発生するまでの余裕度を各レイアウトブロックで対応するセルの最悪条件に揃え、各余裕度の範囲で前記タイミング調整用セルを挿入してタイミングエラーを調整するタイミングエラー修正方法により達成される。
また、上記目的は、最上位階層に複数の同一レイアウトブロックを含む集積回路のレイアウトに遅延セルを挿入してホールドエラーを修正するタイミングエラー修正方法であって、タイミングエラーが発生しているパスを含むレイアウトブロックを固有化し、固有化したレイアウトブロックに遅延セルを挿入してホールドエラーを調整するタイミングエラー修正方法により達成される。
また、上記目的は、最上位階層に複数の同一レイアウトブロックを含む集積回路のレイアウトに遅延セルを挿入してホールドエラーを修正するタイミングエラー修正方法であって、タイミングエラーが発生しているパスを含むレイアウトブロック数を判定し、そのレイアウトブロック数が多いとき、各レイアウトブロックを構成するセルにおいて、セットアップエラーが発生するまでの余裕度を各レイアウトブロックで対応するセルの最悪条件に揃え、各余裕度の範囲で各レイアウトブロックに遅延セルを挿入してホールドエラーを調整し、前記レイアウトブロック数が少ないとき、タイミングエラーが発生しているパスを含むレイアウトブロックを固有化し、固有化したレイアウトブロックに前記遅延セルを挿入するタイミングエラー修正方法により達成される。
本発明によれば、階層化設計手法で設計される集積回路のホールドエラー及びセットアップエラーを確実に解消し得るタイミングエラー修正方法を提供することができる。
以下、この発明を具体化した一実施の形態を説明する。前記従来例と同一構成部分は同一符号を付して説明する。
図1は、図5に示す従来例について、ホールドエラーを解消するために、図7と同様な遅延セル(タイミング調整用セル)cd1〜cd3を挿入した状態を示す。
図1は、図5に示す従来例について、ホールドエラーを解消するために、図7と同様な遅延セル(タイミング調整用セル)cd1〜cd3を挿入した状態を示す。
すなわち、パスAはホールドエラーを解消するために45psの遅延時間が必要であるが、セットアップエラーを発生しない範囲で最大となる遅延時間30psの遅延セルcd2が挿入されている。従って、パスAではホールドエラーが解消されておらず、さらに15psの調整時間が必要となる。
また、パスBはホールドエラーを解消するために140psの遅延時間が必要であるが、セットアップエラーを発生しない範囲で最大となる遅延時間120psの遅延セルcd3が挿入されている。従って、パスBではホールドエラーが解消されておらず、さらに20psの調整時間が必要となる。
また、パスCはホールドエラーを解消するために120psの遅延時間が必要であり、遅延時間120psの遅延セルcd1が挿入されている。従って、パスCではホールドエラーが解消されている。
ここで、パスA,Bのホールドエラーを解消するために、次のような処理を行う。前記遅延セルcd1〜cd3を挿入した状態で、図7に示すレイアウトブロック1a,1b内の各セルのSlack(セットアップエラーが発生するまでの遅延マージン時間、余裕度)を、各レイアウトブロック1a,1bで対応するセルの最も条件の悪いものに揃える。
すなわち、セルc7,c11のSlackは、セルc7のSlackである「0」に揃え、セルc8,c12はセルc8のSlackである「20」に揃え、セルc9,c13はセルc9のSlackである「0」に揃える。また、セルc10,c14は、各セルピンにおいて条件の悪いものに揃えて、「15」「20」とする。
フリップフロップ回路FF01〜FF08は、それぞれ条件の悪いものに揃えて、フリップフロップ回路FF01,FF05のSlackを「15」、フリップフロップ回路FF02,FF06のSlackを「0」とする。また、フリップフロップ回路FF03,FF07のSlackを「50」、フリップフロップ回路FF04,FF08のSlackを「0」とする。
このような処理により、各レイアウトブロック1a,1bで対応するセルのSlackが揃えられる。
次いで、パスA,Bのホールドエラーを解消するために、レイアウトブロック内に遅延セルを挿入する。このとき、レイアウトブロック内の各セルのSlackが「0」未満とならないように遅延セルを挿入する。
次いで、パスA,Bのホールドエラーを解消するために、レイアウトブロック内に遅延セルを挿入する。このとき、レイアウトブロック内の各セルのSlackが「0」未満とならないように遅延セルを挿入する。
すなわち、図2に示すように、レイアウトブロック1aにおいて、セルc10とフリップフロップ回路FF01との間に15psの遅延時間を備えた遅延セルcd6を挿入し、セルc8とセルc10との間に5psの遅延時間を備えた遅延セルcd7を挿入する。
すると、パスAでは15psの遅延時間が加えられて、ホールドエラーが解消され、パスBでは20psの遅延時間が加えられて、ホールドエラーが解消される。
このとき、レイアウトブロック1bにおいても同様な遅延セルcd8,cd9が挿入されるが、Slackが「0」未満となる経路は存在しないので、セットアップエラーは発生しない。従って、上記のような処理を行うことにより、すべてのパスでホールドエラーを解消しながら、セットアップエラーの発生を防止することができる。
このとき、レイアウトブロック1bにおいても同様な遅延セルcd8,cd9が挿入されるが、Slackが「0」未満となる経路は存在しないので、セットアップエラーは発生しない。従って、上記のような処理を行うことにより、すべてのパスでホールドエラーを解消しながら、セットアップエラーの発生を防止することができる。
上記のように、すべてのレイアウトブロックに共通の遅延セルを挿入する処理を示したが、多数のレイアウトブロックのうちの一部でのみホールドエラーが発生する場合には、当該レイアウトブロックだけに遅延セルを挿入して、他のレイアウトブロックとは異なる構成とする処理を行ってもよい。
図7に示すように、遅延セルcd1〜cd3を挿入して、レイアウトブロック1bのパスCではホールドエラーが解消され、レイアウトブロック1aのパスA,Bのみでホールドエラーが解消されていないとき、図3に示すように、レイアウトブロック1aのみに遅延セルcd10を挿入する。
すなわち、セルc10とフリップフロップ回路FF01との間に遅延時間20psの遅延セルcd10を挿入すると、パスA,Bのホールドエラーがともに解消され、セットアップエラーも発生しない。
レイアウト装置による集積回路の設計時には、上記のような2つの処理方法を、ホールドエラーが発生しているパスの状況に応じて選択して使用する。そのホールドエラー調整方法を図4に従って説明する。
最上位階層のレイアウトが終了し、ホールドエラーの調整が開始されると、まずホールドエラーが発生しているパス、すなわち調整対象となるパスが存在するか否かを判定する(ステップ1)。
ステップ1において、調整対象となるパスが存在する場合には、図1に示すように、最上位階層に遅延セルを挿入して、ホールドタイミングを調整する(ステップ2)。
次いで、ステップ2の処理によりすべてのパスでホールドエラーが解消されたか否かを判定する(ステップ3)。ステップ3において、すべてのパスでホールドエラーが解消されている場合には、ステップ1に復帰する。
次いで、ステップ2の処理によりすべてのパスでホールドエラーが解消されたか否かを判定する(ステップ3)。ステップ3において、すべてのパスでホールドエラーが解消されている場合には、ステップ1に復帰する。
ホールドエラーが解消されていない場合には、ホールドエラーが発生しているパスの状況に応じてその後の処理を選択する(ステップ4)。多数のレイアウトブロックでホールドエラーが発生している場合には、ステップ5に移行して図1及び図2に示す処理を行う。
すなわち、各レイアウトブロックにおいて対応するセルのセルピンにおけるSlackを比較し、各セルには対応するセルの中で最も条件の悪いSlackを設定する。そして、各Slackを超えない範囲でレイアウトブロック内に遅延セルを挿入してホールドエラーを調整する(ステップ6)。次いで、ホールドエラーの調整量を見積もり、その結果を出力して(ステップ7)、ステップ1に復帰する。
ステップ4において、少数のレイアウトブロックでのみホールドエラーが発生している場合には、ステップ8に移行して、図3に示す処理を行う。
すなわち、ホールドエラーが発生しているレイアウトブロックのみを固有化し、当該レイアウトブロックのみに遅延セルを挿入して(ステップ9)、ステップ1に復帰する。
すなわち、ホールドエラーが発生しているレイアウトブロックのみを固有化し、当該レイアウトブロックのみに遅延セルを挿入して(ステップ9)、ステップ1に復帰する。
ステップ1において、調整対象パスが存在しない場合には、その判定結果を出力して(ステップ10)ホールドエラーの調整処理を終了する。
上記のようなホールドエラーの調整方法では、次に示す作用効果を得ることができる。
(1)最上位階層に遅延セルを挿入してホールドエラーを調整しても、ホールドエラーを解消できないとき、最上位階層に使用されるレイアウトブロック内に遅延セルを挿入して、セットアップエラーを発生させることなくホールドエラーを解消することができる。
(2)レイアウトブロック内に遅延セルを挿入するとき、各レイアウトブロックの対応するセルのSlackを、最も条件の悪いものに揃え、その状態で各セルのSlackが「0」未満とならない範囲で遅延セルを挿入するので、ホールドエラーを解消しながら、セットアップエラーを発生させない遅延セルの挿入処理を容易に行うことができる。
(3)ホールドエラーが発生するパスを含むレイアウトブロックが少数である場合には、当該レイアウトブロックを固有化し、そのレイアウトブロックにのみ遅延セルを挿入することができる。従って、すべてのレイアウトブロックに遅延セルを挿入する場合に比して工数を削減することができる。
上記のようなホールドエラーの調整方法では、次に示す作用効果を得ることができる。
(1)最上位階層に遅延セルを挿入してホールドエラーを調整しても、ホールドエラーを解消できないとき、最上位階層に使用されるレイアウトブロック内に遅延セルを挿入して、セットアップエラーを発生させることなくホールドエラーを解消することができる。
(2)レイアウトブロック内に遅延セルを挿入するとき、各レイアウトブロックの対応するセルのSlackを、最も条件の悪いものに揃え、その状態で各セルのSlackが「0」未満とならない範囲で遅延セルを挿入するので、ホールドエラーを解消しながら、セットアップエラーを発生させない遅延セルの挿入処理を容易に行うことができる。
(3)ホールドエラーが発生するパスを含むレイアウトブロックが少数である場合には、当該レイアウトブロックを固有化し、そのレイアウトブロックにのみ遅延セルを挿入することができる。従って、すべてのレイアウトブロックに遅延セルを挿入する場合に比して工数を削減することができる。
上記実施の形態は、次に示すように変更してもよい。
・上記実施の形態ではホールドエラーを調整するために遅延セルを挿入したが、セットアップエラーを調整するために、ホールドエラーを発生しない範囲でデータの転送タイミングを調整するリピーターセルあるいはドライバーセルを挿入する場合にも、上記の方法を応用することができる。
・上記実施の形態ではホールドエラーを調整するために遅延セルを挿入したが、セットアップエラーを調整するために、ホールドエラーを発生しない範囲でデータの転送タイミングを調整するリピーターセルあるいはドライバーセルを挿入する場合にも、上記の方法を応用することができる。
1a,1b レイアウトブロック
cd1〜cd10 タイミング調整用セル(遅延セル)
cd1〜cd10 タイミング調整用セル(遅延セル)
Claims (6)
- 最上位階層に複数の同一レイアウトブロックを含む集積回路にタイミング調整用セルを挿入してタイミングエラーを修正するタイミングエラー修正方法であって、
各レイアウトブロックを構成するセルにおいて、タイミングエラーが発生するまでの余裕度を各レイアウトブロックで対応するセルの最悪条件に揃え、各余裕度の範囲で前記タイミング調整用セルを挿入してタイミングエラーを調整することを特徴とするタイミングエラー修正方法。 - 最上位階層に複数の同一レイアウトブロックを含む集積回路に遅延セルを挿入してホールドエラーを修正するタイミングエラー修正方法であって、
各レイアウトブロックを構成するセルにおいて、セットアップエラーが発生するまでの余裕度を各レイアウトブロックで対応するセルの最悪条件に揃え、各余裕度の範囲で各レイアウトブロックに遅延セルを挿入してホールドエラーを調整することを特徴とするタイミングエラー修正方法。 - 最上位階層に複数の同一レイアウトブロックを含む集積回路にタイミング調整用セルを挿入してタイミングエラーを修正するタイミングエラー修正方法であって、
タイミングエラーが発生しているパスを含むレイアウトブロックを固有化し、固有化したレイアウトブロックに前記タイミング調整用セルを挿入することを特徴とするタイミングエラー修正方法。 - 最上位階層に複数の同一レイアウトブロックを含む集積回路に遅延セルを挿入してホールドエラーを修正するタイミングエラー修正方法であって、
ホールドエラーが発生しているパスを含むレイアウトブロックを固有化し、固有化したレイアウトブロックに前記遅延セルを挿入することを特徴とするタイミングエラー修正方法。 - 最上位階層に複数の同一レイアウトブロックを含む集積回路にタイミング調整用セルを挿入するタイミングエラー修正方法であって、
タイミングエラーが発生しているパスを含むレイアウトブロック数を判定し、そのレイアウトブロック数が多いとき、各レイアウトブロックを構成するセルにおいて、タイミングエラーが発生するまでの余裕度を各レイアウトブロックで対応するセルの最悪条件に揃えて各余裕度の範囲で前記タイミング調整用セルを挿入してタイミングエラーを調整し、前記レイアウトブロック数が少ないとき、タイミングエラーが発生しているパスを含むレイアウトブロックを固有化し、固有化したレイアウトブロックに前記タイミング調整用セルを挿入することを特徴とするタイミングエラー修正方法。 - 最上位階層に複数の同一レイアウトブロックを含む集積回路に遅延セルを挿入してホールドエラーを修正するタイミングエラー修正方法であって、
タイミングエラーが発生しているパスを含むレイアウトブロック数を判定し、そのレイアウトブロック数が多いとき、各レイアウトブロックを構成するセルにおいて、セットアップエラーが発生するまでの余裕度を各レイアウトブロックで対応するセルの最悪条件に揃え、各余裕度の範囲で各レイアウトブロックに遅延セルを挿入してホールドエラーを調整し、前記レイアウトブロック数が少ないとき、タイミングエラーが発生しているパスを含むレイアウトブロックを固有化し、固有化したレイアウトブロックに前記遅延セルを挿入することを特徴とするタイミングエラー修正方法。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2004342573A JP2006155056A (ja) | 2004-11-26 | 2004-11-26 | タイミングエラー修正方法 |
US11/080,543 US7444607B2 (en) | 2004-11-26 | 2005-03-16 | Method for correcting timing error when designing semiconductor integrated circuit |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2004342573A JP2006155056A (ja) | 2004-11-26 | 2004-11-26 | タイミングエラー修正方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2006155056A true JP2006155056A (ja) | 2006-06-15 |
Family
ID=36568587
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2004342573A Pending JP2006155056A (ja) | 2004-11-26 | 2004-11-26 | タイミングエラー修正方法 |
Country Status (2)
Country | Link |
---|---|
US (1) | US7444607B2 (ja) |
JP (1) | JP2006155056A (ja) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4272647B2 (ja) * | 2005-09-09 | 2009-06-03 | 富士通マイクロエレクトロニクス株式会社 | 半導体集積回路装置のレイアウト方法及びそのレイアウトプログラム |
US7840925B1 (en) * | 2008-03-13 | 2010-11-23 | Xilinx, Inc. | Source specific timing checks on synchronous elements using a static timing analysis engine |
Family Cites Families (20)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6651225B1 (en) * | 1997-05-02 | 2003-11-18 | Axis Systems, Inc. | Dynamic evaluation logic system and method |
US20060117274A1 (en) * | 1998-08-31 | 2006-06-01 | Tseng Ping-Sheng | Behavior processor system and method |
JP2000250963A (ja) | 1999-03-03 | 2000-09-14 | Toshiba Corp | 半導体集積回路のクロック信号供給経路及びその配線配置方法 |
US6427226B1 (en) * | 1999-05-25 | 2002-07-30 | Advanced Micro Devices, Inc. | Selectively reducing transistor channel length in a semiconductor device |
US6353917B1 (en) * | 1999-07-16 | 2002-03-05 | Silicon Graphics, Inc. | Determining a worst case switching factor for integrated circuit design |
JP3561661B2 (ja) | 1999-07-30 | 2004-09-02 | 三洋電機株式会社 | 半導体集積回路及び半導体集積回路の設計方法 |
JP2001188819A (ja) * | 2000-01-04 | 2001-07-10 | Toshiba Microelectronics Corp | ホールド違反改善方法、半導体集積回路、及びコンピュータ読み出し可能な記憶媒体 |
JP2002073714A (ja) | 2000-09-05 | 2002-03-12 | Pfu Ltd | タイミング解析装置、ネットリスト変更方法および記録媒体 |
US6523156B2 (en) * | 2001-06-08 | 2003-02-18 | Library Technologies, Inc. | Apparatus and methods for wire load independent logic synthesis and timing closure with constant replacement delay cell libraries |
JP4237434B2 (ja) | 2001-11-26 | 2009-03-11 | 富士通マイクロエレクトロニクス株式会社 | 集積回路のホールドタイムエラー修正方法及びその修正プログラム |
US6701505B1 (en) * | 2001-11-30 | 2004-03-02 | Sequence Design, Inc. | Circuit optimization for minimum path timing violations |
JP2003256488A (ja) | 2002-03-05 | 2003-09-12 | Ricoh Co Ltd | Lsiレイアウト方法、プログラムおよび記録媒体 |
US6880142B2 (en) * | 2002-10-16 | 2005-04-12 | Lsi Logic Corporation | Method of delay calculation for variation in interconnect metal process |
US6799308B2 (en) * | 2002-12-19 | 2004-09-28 | Sun Microsystems, Inc. | Timing analysis of latch-controlled digital circuits with detailed clock skew analysis |
US7017131B2 (en) * | 2003-07-07 | 2006-03-21 | Stmicroelectronics Limited | Cell replacement algorithm |
US7069528B2 (en) * | 2003-08-27 | 2006-06-27 | Nec Electronics America, Inc. | System and method for reducing timing violations due to crosstalk in an integrated circuit design |
JP2005093563A (ja) * | 2003-09-12 | 2005-04-07 | Matsushita Electric Ind Co Ltd | 半導体集積回路およびその設計方法 |
US7278126B2 (en) * | 2004-05-28 | 2007-10-02 | Qualcomm Incorporated | Method and apparatus for fixing hold time violations in a circuit design |
US7634748B2 (en) * | 2004-07-22 | 2009-12-15 | Lsi Corporation | Special engineering change order cells |
US7299445B2 (en) * | 2004-10-29 | 2007-11-20 | Synopsys, Inc. | Nonlinear receiver model for gate-level delay calculation |
-
2004
- 2004-11-26 JP JP2004342573A patent/JP2006155056A/ja active Pending
-
2005
- 2005-03-16 US US11/080,543 patent/US7444607B2/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
US7444607B2 (en) | 2008-10-28 |
US20060117286A1 (en) | 2006-06-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4629607B2 (ja) | 半導体集積回路のタイミング検証方法及びタイミング検証装置 | |
JP2009038072A (ja) | 半導体集積回路及びその開発方法 | |
JP4819121B2 (ja) | メモリモジュール製造方法 | |
JP2007273871A (ja) | 設計データ作成方法、設計データ作成プログラム、及び半導体装置の製造方法 | |
JP2006146601A (ja) | 半導体集積回路のレイアウト設計方法 | |
CN111046618A (zh) | 一种用于集成电路的保持时间违反的修复方法和装置 | |
JP2006155056A (ja) | タイミングエラー修正方法 | |
JP2011238163A (ja) | 半導体集積回路のレイアウト方法、レイアウトシステム及びレイアウトプログラム | |
JP4473163B2 (ja) | スキャンチェーンのホールドエラー解消方法 | |
JP2005004496A (ja) | 半導体集積回路のレイアウト方法およびレイアウト装置 | |
JP2009163490A (ja) | 集積回路のタイミング調整方法、及びそのコンピュータプログラム | |
JP2009015964A (ja) | 半導体集積回路装置 | |
JP2010211302A (ja) | クロック配線方法 | |
JP2010141005A (ja) | 半導体集積回路の設計方法 | |
JP2008227035A (ja) | スペアセル用のセルデータ、半導体集積回路の設計方法及び半導体集積回路。 | |
JP5696407B2 (ja) | 半導体集積回路の自動配置配線方法、レイアウト装置、自動配置配線プログラム、及び半導体集積回路 | |
US7200828B2 (en) | Automatic placement and routing apparatus and automatic placement and routing method | |
US11700144B2 (en) | Master slave communication system and control method for master slave communication system | |
JPH10154793A (ja) | 半導体集積回路のレイアウト設計方法 | |
JPH07262254A (ja) | 半導体集積回路の設計支援装置 | |
JP2006310469A (ja) | 半導体集積回路装置のレイアウト方法、そのレイアウトシステムおよびそのレイアウトプログラム | |
JP2006302995A (ja) | 半導体集積回路、回路レイアウト装置、回路レイアウト方法および回路レイアウトプログラム | |
JP2006278785A (ja) | 遅延調整方法、および配線遅延調整セルライブラリ | |
JP2008147331A (ja) | 半導体集積回路及び半導体集積回路の修正方法 | |
CN112820727A (zh) | 包含备用单元的芯片及其相关方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20080730 |
|
A711 | Notification of change in applicant |
Free format text: JAPANESE INTERMEDIATE CODE: A712 Effective date: 20080730 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20080805 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20090127 |