JPWO2010101029A1 - 半導体集積回路設計装置、半導体集積回路設計方法、及び半導体集積回路設計プログラム - Google Patents
半導体集積回路設計装置、半導体集積回路設計方法、及び半導体集積回路設計プログラム Download PDFInfo
- Publication number
- JPWO2010101029A1 JPWO2010101029A1 JP2011502710A JP2011502710A JPWO2010101029A1 JP WO2010101029 A1 JPWO2010101029 A1 JP WO2010101029A1 JP 2011502710 A JP2011502710 A JP 2011502710A JP 2011502710 A JP2011502710 A JP 2011502710A JP WO2010101029 A1 JPWO2010101029 A1 JP WO2010101029A1
- Authority
- JP
- Japan
- Prior art keywords
- falling
- unit
- buffer
- hold error
- integrated circuit
- 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/327—Logic synthesis; Behaviour synthesis, e.g. mapping logic, HDL to netlist, high-level language to RTL or netlist
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2119/00—Details relating to the type or aim of the analysis or the optimisation
- G06F2119/12—Timing analysis or timing optimisation
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)
- Logic Circuits (AREA)
Abstract
フリップフロップ回路を含む半導体集積回路を設計する装置であって、前記フリップフロップ回路の入力および出力ノードの値を含むタイミング解析データに応じてホールドエラーを検出すると共に、ホールドエラーが発生したノードを特定するタイミング解析部と、前記タイミング解析部による解析結果に基づいて、ホールドエラー部に立下りFF又はバッファの挿入を決定する立下りFF・バッファ挿入決定部と、前記立下りFF・バッファ挿入決定部による立下りFF挿入位置データに基づいて、立下りFFを挿入するように位置決定されたホールドエラー部に立下りFFを挿入し、この挿入された立下りFFにクロック線を接続する立下りFF挿入部と、前記立下りFF・バッファ挿入決定部によるバッファ挿入位置データに基づいて、立下りFFを挿入するように位置決定されたホールドエラー部にバッファを挿入するバッファ挿入部とを具備する。
Description
本発明は半導体集積回路の設計技術に関する。
同期式半導体集積回路は、一般に、回路中のフリップフロップ回路がクロックに同期する方式で実現される。この同期式半導体集積回路においては、回路中のフリップフロップ回路間の伝播遅延時間の最長値が、同期されるクロックの周波数を決定する。フリップフロップ回路間の伝播遅延は短ければ短いほど良いものでは無い。すなわち、フリップフロップ回路がデータを読み取れるようになるまでの時間や、伝播信号で接続された2個のフリップフロップ回路間に供給されるクロックの時間差などの影響で、個別のフリップフロップ回路間に規定される所定時間(或る時間以上の時間)の伝播遅延が必要で有る。例えば、伝播信号で接続されたフリップフロップ回路間に前記所定時間の遅延が無いと、前のクロックの信号をフリップフロップ回路がデータとして取り込んでしまう。この結果、誤動作が発生する。このような誤動作はホールドエラーと呼ばれる。このホールドエラーを防止する為の技術が提案(特許文献1〜8、非特許文献1)されている。
前記非特許文献1の半導体集積回路設計システムは、半導体集積回路データと、回路遅延測定システムと、遅延バッファ挿入判断システムと、遅延バッファ挿入システムとを具備する。このシステムにあっては、回路遅延測定システムが、先ず、信号が伝播するフリップフロップ回路対の遅延を測定する。次に、遅延バッファ挿入判断システムが、前記測定結果を用いて、ホールドエラーが発生する可能性が有る部位を判断する。そして、遅延バッファ挿入システムが、ホールドエラーが発生しないように遅延を生じさせる遅延バッファを挿入する。例えば、遅延を生じさせる回路素子なしに2個のフリップフロップ回路間が直結されていてホールドエラーの発生が予想される場合は、本半導体集積回路設計システムによって、遅延ゲートが挿入される。これによりホールドエラーが解消される(図9参照)。
特許文献1の半導体集積回路設計システムは、半導体集積回路データと、回路遅延測定システムと、ラッチ回路挿入判断システムと、ラッチ回路挿入システムとを具備する。このシステムにあっては、回路遅延測定システムが、先ず、信号が伝播するフリップフロップ回路対の遅延を測定する。次に、ラッチ回路挿入判断システムが、前記測定結果を用いて、ホールドエラーが発生する可能性が有る部位を判断する。そして、ラッチ回路挿入システムが、クロックの半周期は信号の伝達を阻止し、クロックの半周期は信号の伝達を許すラッチ回路を挿入する。その結果、クロックの半周期の遅延がホールドエラー信号線に与えられる。例えば、遅延を生じさせる回路素子なしに2個のフリップフロップ回路間が直結されていてホールドエラーの発生が予想される場合は、本半導体集積回路設計システムによって、ラッチ回路が挿入される。これによりクロック周期の半分の遅延が挿入される。この結果、ホードエラーが解消される(図9,10参照)。
特許文献2には、ラッチ回路を使った設計手法が提案されている。但し、一般的なフリップフロップベースの同期回路で適用される設計手法の適用が非常に困難で有る。
特許文献3には、「いずれの条件下でのフリップフロップ回路もラッチ回路へ分割することが可能な場合には、前段のパスの遅延と後段のパスの遅延などの条件によって決定する。」の記載が有る。又、「パイプラインのフリップフロップ回路設計において、クロック周期を所定値長くして論理回路を配置し、クロック周期の目標値に対してエラーを生じるエラーパスに関連するフリップフロップ回路をラッチ回路で置換して論理回路を再配置しており、論理パスの許容最大論理遅延時間を長くすることができ、パイプライン設計を容易に行なうことができる。」の記載も有る。
特許文献4には、「本実施の形態の信号配線の接続システムは、半導体装置の論理設計データを格納した論理設計データ記憶部と、信号配線のタイミングを解析して新しいビア接続配線パターンを作成するプログラムなどを格納したプログラム格納部と、論理素子の配置および配線経路情報を格納する配置配線情報記憶部と、信号配線の信号伝播遅延時間に関するタイミング解析情報を格納するタイミング情報記憶部と、異なる配線層にそれぞれ形成され、且つビアを通して互いに接続する信号配線に関するビア情報を格納するビア情報記憶部と、一連の信号配線の接続処理を実行するための手段を備えた処理制御部と、入出力制御部を介して処理結果を出力する出力装置と、処理制御部への指示等を入力する入力装置とで構成されている。」の記載が有る。又、「論理素子間のタイミング制御に十分な信号伝播遅延時間が得られる信号配線の接続方法、該信号配線の接続システムを提供することができる。」の記載も有る。
特許文献5には、「階層設計において、複数の設計階層のそれぞれに対応して設けられ、配線形態に関するネットリスト情報を有する複数のタイミング情報データベースから回路の機能に関するブロック情報を入力され、回路の遅延要素により生じる遅延値を配分して得るタイミング配分値を出力し得る複数のタイミング配分作成部と、複数のタイミング配分作成部のそれぞれの間の接続を動的に変更するとともに、複数のタイミング配分作成部のそれぞれの間とタイミング配分値に関する修正情報を送受信する階層間連携マネージャとを備えて構成されている。」の記載が有る。又、「タイミング仕様が変更されたときに、その影響範囲を即座に参照でき、仕様変更の参照ミスがなくなる。また、仮配線と実配線との組み合わせにより、フロアプランの実行速度向上と精度の向上の両立が図れる。さらに、階層エンティティを用いることができ分散設計環境が構築でき、トップダウン設計において、必要部分のみ詳細化でき、一つの設計チームにおいて、試行検討で分割されたタイミング仕様の良否を検討でき、インプリメント時の問題を予測でき、手戻りを削減できる。」の記載も有る。
特許文献6には、「遅延最適化部では、前記最小遅延制約に違反した信号経路にレベルラッチ回路を挿入するステップを備え、この挿入するステップは、前記順序同期回路に含まれる出力端毎に最小遅延制約に違反した信号経路の重複度を計算するステップと、この重複度が大きい信号経路から順に前記順序同期回路のLSIレイアウトパターン面積が最小となるように前記レベルラッチ回路を挿入するステップとを備えたところに有る。」の記載が有る。又、「最大遅延時間に影響を与えることがないため、計算処理時間を短縮することができる。また、順序同期回路のLSIレイアウトパターン面積増加を低減させることができる。」の記載も有る。
特許文献7には、「クロック信号及びデータ信号が入力されるフリップフロップ構成手段と、前記フリップフロップ構成手段の出力信号及び前記クロック信号が入力されるラッチ構成手段と、前記フリップフロップ構成手段からの信号を出力する第1出力端子、及び前記ラッチ構成手段からの信号を出力する第2出力端子とを備えたフリップフロップ機能素子のパターンデータを用いて、半導体集積回路を設計する方法であって、前記第1出力端子を用いてデータパスを形成して回路を設計する段階と、前記データパスの後段素子におけるホールドタイムの検査を行なう段階と、前記検査においてホールドタイム違反を起こす可能性がある場合には、前記後段素子を前記第1出力端子に代えて前記第2出力端子に接続する段階を実行することを特徴とする半導体集積回路設計方法。」「クロック信号及びデータ信号が入力されるフリップフロップ構成手段と、前記フリップフロップ構成手段の出力信号及び前記クロック信号が入力されるラッチ構成手段と、前記フリップフロップ構成手段からの信号を出力する第1出力端子、及び前記ラッチ構成手段からの信号を出力する第2出力端子とを備えたフリップフロップ機能素子のパターンデータを用いて、半導体集積回路の設計装置であって、前記第1出力端子を用いてデータパスを形成して回路を設計する設計処理手段と、前記データパスの後段素子におけるホールドタイムの検査を行なうホールドタイム検査手段と、前記検査においてホールドタイム違反を起こす可能性がある場合には、前記後段素子を前記第1出力端子に代えて前記第2出力端子に接続するデータパス修正手段とを備えたことを特徴とする半導体集積回路設計装置。」の記載が有る。
特許文献8には、「ホールド・エラー・パス上にホールド・エラー解消の為のバッファの配置スペースが無い場合、バッファの配置スペースは有るが、セットアップ・エラーを招いてしまう場合、他のセルの移動や配線の二重化や配線経路の変更により、新たに遅延エラーを発生させないバッファ挿入ポイントの探索を可能にし、ECOレイアウトの繰り返しを回避できるようにした半導体集積回路のレイアウト設計方法の提供」を目的として、「半導体集積回路のネットリストに基づいて、初期配置・配線手段により初期配置・配線を行い、レイアウト情報を作成する工程と、前記レイアウト情報に基づいて、RC抽出・遅延計算・静的タイミング解析手段により配線抵抗および配線容量の抽出と遅延計算と静的タイミング解析とを行い、配線抵抗・配線容量情報およびホールド・エラー・パス/スラック情報を作成する工程と、前記ホールド・エラー・パス/スラック情報に基づいて、ホールド・エラー有無判定手段によりホールド・エラー有無の判定を行い、ホールド・エラーがある場合、前記レイアウト情報および前記ホールド・エラー・パス/スラック情報に基づいて、ペナルティ情報作成手段によりホールド・エラー解消のためのバッファの挿入ポイントの探索に必要なペナルティ情報を作成する工程と、前記ペナルティ情報に基づいて、バッファ挿入ポイント探索・決定・遅延調整手段により前記挿入ポイントの探索および決定と遅延調整を行う工程を有することを特徴とする半導体集積回路のレイアウト設計方法。」の記載が有る。しかしながら、特許文献8には、フリップフロップ回路についての記載は無い。
VLSIシステム設計 回路と実装の基礎、中澤喜三郎、中村宏監訳、丸善株式会社、356〜358頁
前記特許文献1〜特許文献8、及び前記非特許文献1は、次の二つの問題点の具体的な解決手法を示していない。
第1の問題点は、ホールドエラーを発生している半導体集積回路に対して遅延ゲートを挿入することによってホールドエラーを解消させる設計手法は、面積の大幅な増大を招くことである。遅延を故意に発生させる遅延ゲートは、遅延を故意に発生させる為に、通常のゲート回路素子を積み重ねて作成する。従って、大きな面積を必要とする。この傾向は、将来の超微細プロセスでは更に大きくなると予想される。現状のプロセスレベルでも、ホールドエラーを解消する為、回路面積が2倍程度まで大きくなる。特に、2個のフリップフロップが直結の場合、比較的大きな値のホールドエラーを解消させる為には、多数の遅延を発生(即ち、多大な面積を必要とするようなゲートを挿入)させる必要が有る。将来の微細プロセスによってトランジスタが高速化すると、更なる巨大な面積を持つ遅延ゲートを挿入する必要が有る。
ところで、半導体集積回路に対してラッチ素子を挿入する手法(上記特許文献参照)は、2個のフリップ間のホールドエラーを解消する場合が多い。しかしながら、ラッチ素子挿入の手法は第2の問題点を引き起こす。すなわち、挿入されたラッチ回路自体に供給されるクロックのタイミングが合ってなければ、正しいタイミングで遅延値を挿入できないと言うことである。そして、挿入されるラッチ素子のクロックタイミング制御が困難である。
従って、本発明が解決しようとする課題は、半導体集積回路に対して、フリップフロップ回路間の伝播信号に関して、比較的大きな遅延挿入値を必要とする場合、又は比較的大きな遅延挿入を行っても遅延値が大き過ぎることによるエラー(セットアップエラー)を起こさないような場合、ホールドエラーを解消する為に必要な面積増加が小さく、かつ、制御が容易な設計装置(設計システム)を提供供することである。
前記課題は、
フリップフロップ回路を含む半導体集積回路を設計する装置であって、
前記フリップフロップ回路の入力および出力ノードの値を含むタイミング解析データに応じてホールドエラーを検出すると共に、前記ホールドエラーが発生したノードを特定するタイミング解析部と、
前記タイミング解析部による解析結果に基づいて、前記ホールドエラー部に立下りFF又はバッファの挿入を決定する立下りFF・バッファ挿入決定部と、
前記立下りFF・バッファ挿入決定部による立下りFF挿入位置データに基づいて、立下りFFを挿入するように位置決定された前記ホールドエラー部に立下りFFを挿入し、この挿入された立下りFFにクロック線を接続する立下りFF挿入部と、
前記立下りFF・バッファ挿入決定部によるバッファ挿入位置データに基づいて、バッファを挿入するように位置決定された前記ホールドエラー部にバッファを挿入するバッファ挿入部
とを具備することを特徴とする半導体集積回路設計装置によって解決される。
フリップフロップ回路を含む半導体集積回路を設計する装置であって、
前記フリップフロップ回路の入力および出力ノードの値を含むタイミング解析データに応じてホールドエラーを検出すると共に、前記ホールドエラーが発生したノードを特定するタイミング解析部と、
前記タイミング解析部による解析結果に基づいて、前記ホールドエラー部に立下りFF又はバッファの挿入を決定する立下りFF・バッファ挿入決定部と、
前記立下りFF・バッファ挿入決定部による立下りFF挿入位置データに基づいて、立下りFFを挿入するように位置決定された前記ホールドエラー部に立下りFFを挿入し、この挿入された立下りFFにクロック線を接続する立下りFF挿入部と、
前記立下りFF・バッファ挿入決定部によるバッファ挿入位置データに基づいて、バッファを挿入するように位置決定された前記ホールドエラー部にバッファを挿入するバッファ挿入部
とを具備することを特徴とする半導体集積回路設計装置によって解決される。
前記課題は、
ホールドエラーの対策が施されたフリップフロップ回路を含む半導体集積回路を設計する方法であって、
タイミング解析部が、半導体集積回路設計データを基にして、ホールドエラーを検出すると共に、前記ホールドエラーが発生したノードを特定する解析工程と、
立下りFF・バッファ挿入決定部が、前記タイミング解析工程による解析結果に基づいて、前記ホールドエラー部に立下りFF又はバッファの挿入を決定する立下りFF・バッファ挿入決定工程と、
立下りFF挿入部が、前記立下りFF・バッファ挿入決定工程による立下りFF挿入位置データに基づいて、立下りFFを挿入するように位置決定された前記ホールドエラー部に立下りFFを挿入し、この挿入された立下りFFにクロック線を接続する立下りFF挿入工程と、
バッファ挿入部が、前記立下りFF・バッファ挿入決定工程によるバッファ挿入位置データに基づいて、バッファを挿入するように位置決定された前記ホールドエラー部にバッファを挿入するバッファ挿入工程
とを具備することを特徴とする半導体集積回路設計方法によって解決される。
ホールドエラーの対策が施されたフリップフロップ回路を含む半導体集積回路を設計する方法であって、
タイミング解析部が、半導体集積回路設計データを基にして、ホールドエラーを検出すると共に、前記ホールドエラーが発生したノードを特定する解析工程と、
立下りFF・バッファ挿入決定部が、前記タイミング解析工程による解析結果に基づいて、前記ホールドエラー部に立下りFF又はバッファの挿入を決定する立下りFF・バッファ挿入決定工程と、
立下りFF挿入部が、前記立下りFF・バッファ挿入決定工程による立下りFF挿入位置データに基づいて、立下りFFを挿入するように位置決定された前記ホールドエラー部に立下りFFを挿入し、この挿入された立下りFFにクロック線を接続する立下りFF挿入工程と、
バッファ挿入部が、前記立下りFF・バッファ挿入決定工程によるバッファ挿入位置データに基づいて、バッファを挿入するように位置決定された前記ホールドエラー部にバッファを挿入するバッファ挿入工程
とを具備することを特徴とする半導体集積回路設計方法によって解決される。
前記課題は、
フリップフロップ回路を含む半導体集積回路をコンピュータに設計させるプログラムであって、
前記プログラムは、コンピュータを、
前記フリップフロップ回路の入力および出力ノードの値を含むタイミング解析データに応じてホールドエラーを検出すると共に、前記ホールドエラーが発生したノードを特定するタイミング解析部、
前記タイミング解析部による解析結果に基づいて、前記ホールドエラー部に立下りFF又はバッファの挿入を決定する立下りFF・バッファ挿入決定部、
前記立下りFF・バッファ挿入決定部による立下りFF挿入位置データに基づいて、立下りFFを挿入するように位置決定された前記ホールドエラー部に立下りFFを挿入し、この挿入された立下りFFにクロック線を接続する立下りFF挿入部、
前記立下りFF・バッファ挿入決定部によるバッファ挿入位置データに基づいて、バッファを挿入するように位置決定された前記ホールドエラー部にバッファを挿入するバッファ挿入部
として機能させる
ことを特徴とするプログラムによって解決される。
フリップフロップ回路を含む半導体集積回路をコンピュータに設計させるプログラムであって、
前記プログラムは、コンピュータを、
前記フリップフロップ回路の入力および出力ノードの値を含むタイミング解析データに応じてホールドエラーを検出すると共に、前記ホールドエラーが発生したノードを特定するタイミング解析部、
前記タイミング解析部による解析結果に基づいて、前記ホールドエラー部に立下りFF又はバッファの挿入を決定する立下りFF・バッファ挿入決定部、
前記立下りFF・バッファ挿入決定部による立下りFF挿入位置データに基づいて、立下りFFを挿入するように位置決定された前記ホールドエラー部に立下りFFを挿入し、この挿入された立下りFFにクロック線を接続する立下りFF挿入部、
前記立下りFF・バッファ挿入決定部によるバッファ挿入位置データに基づいて、バッファを挿入するように位置決定された前記ホールドエラー部にバッファを挿入するバッファ挿入部
として機能させる
ことを特徴とするプログラムによって解決される。
フリップフロップ回路間の伝播信号に関して、個別に設定される遅延値よりも小さな遅延値となっている信号線に発生するホールドエラーが解消される。このホールドエラー解消に必要な面積の増加は少ない。大きな遅延の挿入に際して、挿入素子に対するクロック信号の到着時刻の制御が容易である。
本発明になる半導体集積回路設計装置は、フリップフロップ回路を含む半導体集積回路を設計する装置である。前記装置はタイミング解析部を有する。前記タイミング解析部は、前記フリップフロップ回路の入力および出力ノードの値を含むタイミング解析データに応じてホールドエラーを検出すると共に、前記ホールドエラーが発生したノードを特定する。前記タイミング解析部は、好ましくは、前記フリップフロップ回路の入力および出力ノードの値を含むタイミング解析データと、前記フリップフロップに供給されるクロックの到着時刻に応じてホールドエラーを検出すると共に、前記ホールドエラーが発生したフリップフロップ間ノードを特定する。前記タイミング解析部は、好ましくは、半導体集積回路設計データを基にしてホールドエラーを検出すると共に、前記ホールドエラーが発生したノードを特定する。前記装置は立下りFF・バッファ挿入決定部を有する。前記立下りFF・バッファ挿入決定部は、前記タイミング解析部による解析結果に基づいて、ホールドエラー部に立下りFF又はバッファの挿入を決定する。前記立下りFF・バッファ挿入決定部は、好ましくは、全てのホールドエラー部がクロック周期の半分の遅延を挿入してもセットアップエラーを発生するか否を基準にして、立下りFFを挿入するかバッファを挿入するかを決定する。前記装置は立下りFF挿入部を有する。前記立下りFF挿入部は、前記立下りFF・バッファ挿入決定部による立下りFF挿入位置データに基づいて、立下りFFを挿入するように位置決定された前記ホールドエラー部に立下りFFを挿入し、この挿入された立下りFFにクロック線を接続する。前記立下りFF挿入部は、好ましくは、前記半導体集積回路設計データと前記立下りFF・バッファ挿入決定部による立下りFF挿入位置データとを基にして、前記ホールドエラー部に立下りFFを挿入し、この挿入された立下りFFにクロック線を接続する。前記装置はバッファ挿入部を有する。前記バッファ挿入部は、前記立下りFF・バッファ挿入決定部によるバッファ挿入位置データに基づいて、バッファを挿入するように位置決定された前記ホールドエラー部にバッファを挿入する。前記バッファ挿入部は、好ましくは、前記半導体集積回路設計データと前記立下りFF・バッファ挿入決定部によるバッファ挿入位置データとを基にして、前記ホールドエラー部にバッファを挿入する。前記装置は、好ましくは、半導体集積回路設計データが格納されたデータベースを更に有する。
本発明になる半導体集積回路設計方法は、ホールドエラーの対策が施されたフリップフロップ回路を含む半導体集積回路を設計する方法である。前記方法は解析工程を有する。前記解析工程は、タイミング解析部が、半導体集積回路設計データを基にして、ホールドエラーを検出すると共に、前記ホールドエラーが発生したノードを特定する工程である。前記解析工程は、好ましくは、タイミング解析部が、前記フリップフロップ回路の入力および出力ノードの値、各フリップフロップに供給されるクロックの到着時刻を含むタイミング解析データに応じてホールドエラーを検出すると共に、前記ホールドエラーが発生したフリップフロップ間ノードを特定する工程である。前記方法は立下りFF・バッファ挿入決定工程を有する。前記立下りFF・バッファ挿入決定工程は、立下りFF・バッファ挿入決定部が、前記解析工程による解析結果に基づいて、前記ホールドエラー部に立下りFF又はバッファの挿入を決定する工程である。前記方法は立下りFF挿入工程を有する。前記立下りFF挿入工程は、立下りFF挿入部が、前記立下りFF・バッファ挿入決定工程による立下りFF挿入位置データに基づいて、立下りFFを挿入するように位置決定された前記ホールドエラー部に立下りFFを挿入し、この挿入された立下りFFにクロック線を接続する工程である。前記方法はバッファ挿入工程を有する。前記バッファ挿入工程は、バッファ挿入部が、前記立下りFF・バッファ挿入決定工程によるバッファ挿入位置データに基づいて、バッファを挿入するように位置決定された前記ホールドエラー部にバッファを挿入する工程である。前記方法は、好ましくは、前記本発明の半導体集積回路設計装置が行う方法である。
本発明になる半導体集積回路設計プログラムは、フリップフロップ回路を含む半導体集積回路をコンピュータに設計させるプログラムである。本プログラムは、コンピュータを、前記タイミング解析部、前記立下りFF・バッファ挿入決定部、前記立下りFF挿入部、前記バッファ挿入部として機能させるプログラムである。或いは、コンピュータに前記方法を実施させるプログラムである。前記プログラムは記憶媒体に書き込まれている。
本発明は、ホールドエラーの解消に大きな効果を奏する。例えば、ホールドエラー解消に必要な面積増加が少ない。大きな遅延の挿入に際して、挿入素子に対するクロック信号の到着時刻の制御が容易である。
例えば、立下りフリップフロップを挿入する本発明は、単純に回路素子を挿入する遅延ゲート挿入法や、ラッチ回路挿入法と比較して、クロック周期の半分と言う比較的大きな遅延を1個のフリップフロップと言う小さな面積で実現できる。特に、将来、微細化して容量の増大する配線と、微細化により動作速度が向上する回路素子とを原因とするタイミング不一致の問題の調整を図る為、遅延ゲートを用いる場合、クロック周期の半分程度の遅延を挿入しようとすると、数十個のバッファが必要である。このことを鑑みると、本発明の手法は、非常に小さい面積で対応できる。小面積で済むことから、消費電力も少なくて済む。
本発明は、立下りデータをラッチするフリップフロップを挿入する。この為、挿入素子自体のクロック到着時刻のズレの調整が無くても済む。すなわち、クロックの立下りはクロック周期の半周期で行われる。この為、このクロック立下りの到着時刻が多少ずれても、正しくクロックの半周期の遅延を挿入箇所に与えることが出来る。理論上、全くズレが無い理想的な状態と比較して、クロック周期の半分以上のクロック到着時刻の早着が発生しない限り、ラッチ挿入の場合に起きるズレによる破綻が発生しない。
立下りデータをラッチするフリップフロップを挿入する為、この挿入する立下りフリップフロップに関しては、良品選抜の為のテストを考慮する必要が無い。例えば、この立下りフリップフロップは遅延挿入の目的のみに利用される。この為、外部からスキャンによって値を与えてテストを行う必要が無い。
以下本発明について更に詳しく説明する。
尚、本発明は、下記の実施の形態に限定されず、本発明の技術思想の範囲内において、適宜、変更される。
[第1実施形態]
図1は本発明になる一実施形態の半導体集積回路設計装置の概略図である。
図1は本発明になる一実施形態の半導体集積回路設計装置の概略図である。
本実施形態の半導体集積回路設計装置(半導体集積回路の設計支援システム)は、機能ブロック102と、機能ブロック104と、機能ブロック106と、機能ブロック107とを有する。又、機能ブロック102,104,106,107と関連するデータベース(メモリ)101,103,105,108を有する。
機能ブロック102はタイミング解析部である。機能ブロック104は立下りFF・バッファ挿入決定部である。機能ブロック106は立下りFF挿入部である。機能ブロック107はバッファ挿入部である。
データベース101は半導体集積回路設計データベースである。データベース101に格納されているデータは、タイミング解析部102、立下りFF挿入部106、及びバッファ挿入部107に出力されるデータである。データベース103はタイミング解析データベースである。データベース103に格納されているデータは、タイミング解析部102から出力されたデータである。データベース103に格納されているデータは、立下りFF・バッファ挿入決定部104に出力されるデータである。データベース105は立下りFF・バッファ挿入位置データベースである。データベース105に格納されているデータは、立下りFF・バッファ挿入決定部104から出力されたデータである。データベース105に格納されているデータは、立下りFF挿入部106(又はバッファ挿入部107)に出力されるデータである。データベース108はホールドエラー対策半導体集積回路設計データベースである。データベース108に格納されているデータは、機能ブロック106,107からの出力結果である。そして、ホールドエラー対策済みの半導体集積回路設計データである。
上記機能ブロックは、各々、大略、次のように動作する。
タイミング解析部102は、半導体集積回路の各回路素子の伝播遅延とフリップフロップ回路間の伝播遅延とを求める。詳細には、次に説明されるタイミング解析手法が使われる。すなわち、隣接する回路素子ゲートの遅延、配線の遅延が、各々、計算される。これ等の計算値を用いて、回路素子ゲート間の遅延値、接続されたフリップフロップ回路間の接続の伝播遅延値、フリップフロップへのクロックの到着時刻差が解析される。そして、ゲートまたは回路ブロックレベルでの回路配置上の遅延位置と遅延値とが特定され、タイミング解析データとして出力される。このタイミング解析データはタイミング解析データベース(メモリ)103に格納される。タイミング解析手法としては、素子レベルシミュレーション、遅延付ゲートレベルシミュレーション、ポストレイアウトシミュレーション等が用いられる。具体的には、米国Synopsys社のPrimetime(商標)や、TimeMill(商標)、SPICE(商標)が用いられる。
立下りFF・バッファ挿入決定部104は、タイミング解析データベース103からのデータを基にして、立下りFFを挿入可能な2つのフリップフロップ間配線を決定する。詳細には、全てのホールドエラーがタイミング解析データベース103から検出される。前記ホールドエラーに対して、クロックの半周期程度の遅延が挿入された場合、セットアップエラーが生じるか否かが判断される。セットアップエラーが生じない場合、立下がりFFを挿入することが決定される。セットアップエラーが生じる場合、バッファを挿入することが決定される。立下りFF・バッファ挿入決定部104は、決定を立下りFF・バッファ挿入位置データベース105に出力する。前記決定は、各ホールドエラーに対して、立下りFFを挿入するか、バッファを挿入するかの決定である。
立下りFF挿入部106は、半導体集積回路設計データベース101からのデータと、立下りFF・バッファ挿入位置データベース105からのデータとを基にして、立下りFFが挿入と決定されているホールドエラーの位置に、立下りFFを挿入する。挿入位置が出力側のフリップフロップの前と決定されていると、処理が簡単である。但し、挿入位置は何所でも良い。出力側の任意の位置に挿入されれば良い。両端のフリップフロップと同じクロック信号がフリップフロップのクロック入力に接続される。結果がホールドエラー対策半導体集積回路設計データベース108に出力される。
バッファ挿入部107は、半導体集積回路設計データベース101からのデータと、立下りFF・バッファ挿入位置データベース105からのデータとを基にして、バッファが挿入と決定されているホールドエラーの位置に、バッファを挿入する。挿入位置を出力側のフリップフロップの前と決定しておくと処理が簡単である。但し、挿入位置は何所でも良い。例えば、出力側の任意の位置に挿入されれば良い。この挿入は、ホールドエラーが解消されるバッファ(又はホールドエラー解消に必要な数のバッファ)である。結果がホールドエラー対策半導体集積回路設計データベース108に出力される。
データベースは、各々、大略、次のように構成される。
半導体集積回路設計データベース101には、半導体集積回路を設計・製造するゲートレベルネットリストと、HDLと、遅延データやプロセスデータを含むライブラリデータとが格納されている。又、1チップ又はコアレベルのデータが格納されている。更に、シミュレート可能なデータ(例えば、レイアウトデータより抽出された配線長と配線容量等を含む配線まで含めた遅延情報と言ったデータ)が格納されている。すなわち、半導体集積回路を設計・製造するに必要なデータが格納されている。
タイミング解析データベース103には、タイミング解析部102によるタイミング解析の結果データが格納されている。例えば、テスト用入力信号や各ノードの時間軸上の電位変位情報が格納されている。
立下りFF・バッファ挿入位置データベース105には、全てのホールドエラーのデータが格納されている。又、ホールドエラーに対する立下りFFかバッファの何れかを挿入するデータが格納されている。前記データは立下りFF・バッファ挿入決定部104が決定したデータである。
ホールドエラー対策半導体集積回路設計データベース108には、半導体集積回路設計のデータが格納されている。このデータは、半導体集積回路設計データに対して、立下りFF挿入部106(又はバッファ挿入部107)によってホールドエラー対策が施されたデータである。
本発明が中央演算素子(コンピュータ)で構成された場合のブロック図が図2に示される。
本発明の半導体集積回路設計装置(半導体集積回路の設計支援システム)は、中央演算素子(CPU)3と、プログラムメモリ5と、データベースメモリ7とを有する。プログラムメモリ5には、タイミング解析部102と、立下りFF・バッファ挿入決定部104と、立下りFF挿入部106と、バッファ挿入部107とが格納されている。前記機能ブロック102,104,106,107がプログラムメモリ5に格納された状態において、中央演算素子3と協働して動作しても良く、或いは他のメモリ装置に転送してから動作させても良い。データベースメモリ7には、半導体集積回路設計データベース101と、タイミング解析データベース103と、立下りFF・バッファ挿入位置データベース105と、ホールドエラー対策半導体集積回路設計データベース108とが格納されている。上記プログラムメモリ5やデータベースメモリ7に用いられるメモリは、磁気メモリ、半導体メモリ又は他の手法によるメモリの何れでも良い。
中央演算素子(CPU)3は上記プログラムメモリ5から読み出したコンピュータ・プログラム(ソフトウェア)を実行する。これによって、図2の半導体集積回路設計装置は図1の各機能ブロックの機能を実現する。
次に、図1,2の半導体集積回路設計装置の動作を説明する(図3〜図8参照)。
先ず、タイミング解析部102は、半導体集積回路設計データベース101に必要なデータの要求を行う。半導体集積回路設計データベース101には、半導体集積回路の設計時(半導体集積回路の製造前)において利用される設計データが格納されている。この半導体集積回路設計データベース101から得たデータを基にして、タイミング解析部102は、適切なテストパターンを用いて、各論理素子ゲート間の伝播遅延、フリップフロップ回路間の伝播遅延をタイミング解析データとして算出する(S1)。
タイミング解析部102は、算出された各論理素子ゲート間、フリップフロップ回路間の伝播遅延からホールドエラーの発生の有無を判定する(S2:(図3参照))。
ホールドエラーの発生が無の場合、タイミング解析部102は、タイミング解析を終了させる(S3)。
ホールドエラーの発生が有の場合、立下りFF・バッファ挿入決定部104は、タイミング解析データベース103における伝播遅延情報が格納されているタイミング解析結果を使って、ホールドエラー発生箇所の各々に対して、ホールドエラー部にクロック周期の半分の遅延を挿入した場合のタイミングを計測する。そして、セットアップエラーが発生するか否かを判定する(S4,5,6)。
セットアップエラーが無の場合、ホールドエラー部に立下りFFが挿入される(S7)。そして、ホールドエラーの有無が確認される(S2)。
エラーの有無に応じて、上記S3のステップ又はS4のステップに移る。
エラーの有無に応じて、上記S3のステップ又はS4のステップに移る。
セットアップエラーが有の場合、ホールドエラー部にバッファが挿入される(S8)。そして、ホールドエラーの有無が確認される(S2)。
エラーの有無に応じて、上記S3のステップ又はS4のステップに移る。
エラーの有無に応じて、上記S3のステップ又はS4のステップに移る。
立下りFF挿入部106は、立下りFF・バッファ挿入位置データベース105に格納された各ホールドエラーに対する対策として、立下りFFを挿入するものに対して、ホールドエラーが発生している配線上に立下りFFを挿入し、両端のフリップフロップと同じクロックを供給する(図4参照)。
バッファ挿入部107は、立下りFF・バッファ挿入位置データベース105に格納された各ホールドエラーに対する対策として、ホールドエラーを解消可能なバッファを挿入するものに対して、ホールドエラーを発生している配線上にバッファを挿入する(図5参照)。
この結果、大きな値のホールドエラーが解消される。
図9は、ホールドエラーの一例と、ホールドエラーを改善する為の対策の従来手法である。フリップフロップ間の信号伝播値が両方のフリップフロップのクロック到着時刻込みで小さ過ぎる場合、ホールドエラーが発生する。この問題に対しては、前記先行技術文献が提案した如きの「バッファ挿入」「ラッチ挿入」の技術を用いて信号を半周期ブロックする手法が知られている。
しかしながら、先行技術文献の「バッファ挿入」技術は、半導体の高速化によって、比較的大きな値のホールドエラーの場合には、多数のバッファを挿入する必要が有る。先行技術文献の「ラッチ挿入」技術は、挿入するラッチへのクロック供給を厳密に行う必要が有る(図10参照)。図10に示されるクロック波形の場合、データがすり抜ける。この結果、ホールドエラーの対策が出来ない。
そこで、2個のFF間に立下りFFを挿入し、挿入する立下りFFに両端のFFと同じクロックを供給する(図6参照)。こうすると、立下りFFのクロック供給に対してクロック周期の半分の前後マージンがある。従って、両端のFFのクロック到着時刻と、挿入する立下りFFのクロック到着時刻とに多少のズレが有っても、このズレがクロック周期の半分程度の場合には、クロック周期の半分の遅延を挿入できる(図7参照)。
尚、立下りFFの挿入ではクロック周期の半分の遅延が挿入される。この為、クロック周期以上の遅延がフリップフロップ間に発生する恐れが有る。このような場合には、バッファが必要に応じて挿入される(図8参照)。
上記実施形態の技術は、半導体集積回路に対して、ホールドエラーと呼ばれる2個のフリップフロップ回路間のクロックの到着時刻を含めた伝播遅延が小さ過ぎることに起因する設計誤動作要因を解消する。しかも、必要な面積増加が小さい。かつ、簡単である。
上記においては、セットリセットフリップフロップ回路のセット信号としてCLK(クロック)信号を何れのFFにも入力することで各回路の同期式回路に適用した例について説明した。しかし、セット信号をCLKでなく他回路の入力データと認識して作動させる非同期式回路についても適用可能であることは言うまでもない。又、本明細書では「回路配置上の位置」という表現を用いているが、これはスケマティック回路配置上の位置とレイアウト上の物理的な位置である。
上記の実施形態の一部又は全部は、以下の付記のようにも記載されうるが、以下には限られない。
(付記1)フリップフロップ回路を含む半導体集積回路を設計する装置であって、
前記フリップフロップ回路の入力および出力ノードの値を含むタイミング解析データに応じてホールドエラーを検出すると共に、前記ホールドエラーが発生したノードを特定するタイミング解析部と、
前記タイミング解析部による解析結果に基づいて、前記ホールドエラー部に立下りFF又はバッファの挿入を決定する立下りFF・バッファ挿入決定部と、
前記立下りFF・バッファ挿入決定部による立下りFF挿入位置データに基づいて、立下りFFを挿入するように位置決定された前記ホールドエラー部に立下りFFを挿入し、この挿入された立下りFFにクロック線を接続する立下りFF挿入部と、
前記立下りFF・バッファ挿入決定部によるバッファ挿入位置データに基づいて、バッファを挿入するように位置決定された前記ホールドエラー部にバッファを挿入するバッファ挿入部
とを具備する半導体集積回路設計装置。
前記フリップフロップ回路の入力および出力ノードの値を含むタイミング解析データに応じてホールドエラーを検出すると共に、前記ホールドエラーが発生したノードを特定するタイミング解析部と、
前記タイミング解析部による解析結果に基づいて、前記ホールドエラー部に立下りFF又はバッファの挿入を決定する立下りFF・バッファ挿入決定部と、
前記立下りFF・バッファ挿入決定部による立下りFF挿入位置データに基づいて、立下りFFを挿入するように位置決定された前記ホールドエラー部に立下りFFを挿入し、この挿入された立下りFFにクロック線を接続する立下りFF挿入部と、
前記立下りFF・バッファ挿入決定部によるバッファ挿入位置データに基づいて、バッファを挿入するように位置決定された前記ホールドエラー部にバッファを挿入するバッファ挿入部
とを具備する半導体集積回路設計装置。
(付記2)半導体集積回路設計データが格納されたデータベースを更に具備し、
前記タイミング解析部は、前記半導体集積回路設計データを基にしてホールドエラーを検出すると共に、前記ホールドエラーが発生したノードを特定する部であり、
前記立下りFF挿入部は、前記半導体集積回路設計データと前記立下りFF・バッファ挿入決定部による立下りFF挿入位置データとを基にして前記ホールドエラー部に立下りFFを挿入し、この挿入された立下りFFにクロック線を接続する部であり、
前記バッファ挿入部は、前記半導体集積回路設計データと前記立下りFF・バッファ挿入決定部によるバッファ挿入位置データとを基にして前記ホールドエラー部にバッファを挿入する部である
付記1に記載の半導体集積回路設計装置。
前記タイミング解析部は、前記半導体集積回路設計データを基にしてホールドエラーを検出すると共に、前記ホールドエラーが発生したノードを特定する部であり、
前記立下りFF挿入部は、前記半導体集積回路設計データと前記立下りFF・バッファ挿入決定部による立下りFF挿入位置データとを基にして前記ホールドエラー部に立下りFFを挿入し、この挿入された立下りFFにクロック線を接続する部であり、
前記バッファ挿入部は、前記半導体集積回路設計データと前記立下りFF・バッファ挿入決定部によるバッファ挿入位置データとを基にして前記ホールドエラー部にバッファを挿入する部である
付記1に記載の半導体集積回路設計装置。
(付記3)前記立下りFF・バッファ挿入決定部は、全てのホールドエラー部がクロック周期の半分の遅延を挿入してもセットアップエラーを発生するか否を基準にして、立下りFFを挿入するかバッファを挿入するかを決定する部である
付記1又は付記2に記載の半導体集積回路設計装置。
付記1又は付記2に記載の半導体集積回路設計装置。
(付記4)ホールドエラーの対策が施されたフリップフロップ回路を含む半導体集積回路を設計する方法であって、
タイミング解析部が、半導体集積回路設計データを基にして、ホールドエラーを検出すると共に、前記ホールドエラーが発生したノードを特定する解析工程と、
立下りFF・バッファ挿入決定部が、前記タイミング解析工程による解析結果に基づいて、前記ホールドエラー部に立下りFF又はバッファの挿入を決定する立下りFF・バッファ挿入決定工程と、
立下りFF挿入部が、前記立下りFF・バッファ挿入決定工程による立下りFF挿入位置データに基づいて、立下りFFを挿入するように位置決定された前記ホールドエラー部に立下りFFを挿入し、この挿入された立下りFFにクロック線を接続する立下りFF挿入工程と、
バッファ挿入部が、前記立下りFF・バッファ挿入決定工程によるバッファ挿入位置データに基づいて、バッファを挿入するように位置決定された前記ホールドエラー部にバッファを挿入するバッファ挿入工程
とを具備する半導体集積回路設計方法。
タイミング解析部が、半導体集積回路設計データを基にして、ホールドエラーを検出すると共に、前記ホールドエラーが発生したノードを特定する解析工程と、
立下りFF・バッファ挿入決定部が、前記タイミング解析工程による解析結果に基づいて、前記ホールドエラー部に立下りFF又はバッファの挿入を決定する立下りFF・バッファ挿入決定工程と、
立下りFF挿入部が、前記立下りFF・バッファ挿入決定工程による立下りFF挿入位置データに基づいて、立下りFFを挿入するように位置決定された前記ホールドエラー部に立下りFFを挿入し、この挿入された立下りFFにクロック線を接続する立下りFF挿入工程と、
バッファ挿入部が、前記立下りFF・バッファ挿入決定工程によるバッファ挿入位置データに基づいて、バッファを挿入するように位置決定された前記ホールドエラー部にバッファを挿入するバッファ挿入工程
とを具備する半導体集積回路設計方法。
(付記5)フリップフロップ回路を含む半導体集積回路をコンピュータに設計させるプログラムであって、
前記プログラムは、コンピュータを、
前記フリップフロップ回路の入力および出力ノードの値を含むタイミング解析データに応じてホールドエラーを検出すると共に、前記ホールドエラーが発生したノードを特定するタイミング解析部、
前記タイミング解析部による解析結果に基づいて、前記ホールドエラー部に立下りFF又はバッファの挿入を決定する立下りFF・バッファ挿入決定部、
前記立下りFF・バッファ挿入決定部による立下りFF挿入位置データに基づいて、立下りFFを挿入するように位置決定された前記ホールドエラー部に立下りFFを挿入し、この挿入された立下りFFにクロック線を接続する立下りFF挿入部、
前記立下りFF・バッファ挿入決定部によるバッファ挿入位置データに基づいて、バッファを挿入するように位置決定された前記ホールドエラー部にバッファを挿入するバッファ挿入部
として機能させるプログラム。
前記プログラムは、コンピュータを、
前記フリップフロップ回路の入力および出力ノードの値を含むタイミング解析データに応じてホールドエラーを検出すると共に、前記ホールドエラーが発生したノードを特定するタイミング解析部、
前記タイミング解析部による解析結果に基づいて、前記ホールドエラー部に立下りFF又はバッファの挿入を決定する立下りFF・バッファ挿入決定部、
前記立下りFF・バッファ挿入決定部による立下りFF挿入位置データに基づいて、立下りFFを挿入するように位置決定された前記ホールドエラー部に立下りFFを挿入し、この挿入された立下りFFにクロック線を接続する立下りFF挿入部、
前記立下りFF・バッファ挿入決定部によるバッファ挿入位置データに基づいて、バッファを挿入するように位置決定された前記ホールドエラー部にバッファを挿入するバッファ挿入部
として機能させるプログラム。
この出願は、2009年3月3日に出願された日本出願特願2009−49916を基礎とする優先権を主張し、その開示の全てをここに取り込む。
3 中央演算素子(CPU)
5 プログラムメモリ
102 タイミング解析部
104 立下りFF・バッファ挿入決定部
106 立下りFF挿入部
107 バッファ挿入部
7 データベースメモリ
101 半導体集積回路設計データベース
103 タイミング解析データベース
105 立下りFF・バッファ挿入位置データベース
108 ホールドエラー対策半導体集積回路設計データベース
5 プログラムメモリ
102 タイミング解析部
104 立下りFF・バッファ挿入決定部
106 立下りFF挿入部
107 バッファ挿入部
7 データベースメモリ
101 半導体集積回路設計データベース
103 タイミング解析データベース
105 立下りFF・バッファ挿入位置データベース
108 ホールドエラー対策半導体集積回路設計データベース
Claims (5)
- フリップフロップ回路を含む半導体集積回路を設計する装置であって、
前記フリップフロップ回路の入力および出力ノードの値を含むタイミング解析データに応じてホールドエラーを検出すると共に、前記ホールドエラーが発生したノードを特定するタイミング解析部と、
前記タイミング解析部による解析結果に基づいて、前記ホールドエラー部に立下りFF又はバッファの挿入を決定する立下りFF・バッファ挿入決定部と、
前記立下りFF・バッファ挿入決定部による立下りFF挿入位置データに基づいて、立下りFFを挿入するように位置決定された前記ホールドエラー部に立下りFFを挿入し、この挿入された立下りFFにクロック線を接続する立下りFF挿入部と、
前記立下りFF・バッファ挿入決定部によるバッファ挿入位置データに基づいて、バッファを挿入するように位置決定された前記ホールドエラー部にバッファを挿入するバッファ挿入部
とを具備することを特徴とする半導体集積回路設計装置。 - 半導体集積回路設計データが格納されたデータベースを更に具備し、
前記タイミング解析部は、前記半導体集積回路設計データを基にしてホールドエラーを検出すると共に、前記ホールドエラーが発生したノードを特定する部であり、
前記立下りFF挿入部は、前記半導体集積回路設計データと前記立下りFF・バッファ挿入決定部による立下りFF挿入位置データとを基にして前記ホールドエラー部に立下りFFを挿入し、この挿入された立下りFFにクロック線を接続する部であり、
前記バッファ挿入部は、前記半導体集積回路設計データと前記立下りFF・バッファ挿入決定部によるバッファ挿入位置データとを基にして前記ホールドエラー部にバッファを挿入する部である
ことを特徴とする請求項1の半導体集積回路設計装置。 - 前記立下りFF・バッファ挿入決定部は、全てのホールドエラー部がクロック周期の半分の遅延を挿入してもセットアップエラーを発生するか否を基準にして、立下りFFを挿入するかバッファを挿入するかを決定する部である
ことを特徴とする請求項1の半導体集積回路設計装置。 - ホールドエラーの対策が施されたフリップフロップ回路を含む半導体集積回路を設計する方法であって、
タイミング解析部が、半導体集積回路設計データを基にして、ホールドエラーを検出すると共に、前記ホールドエラーが発生したノードを特定する解析工程と、
立下りFF・バッファ挿入決定部が、前記タイミング解析工程による解析結果に基づいて、前記ホールドエラー部に立下りFF又はバッファの挿入を決定する立下りFF・バッファ挿入決定工程と、
立下りFF挿入部が、前記立下りFF・バッファ挿入決定工程による立下りFF挿入位置データに基づいて、立下りFFを挿入するように位置決定された前記ホールドエラー部に立下りFFを挿入し、この挿入された立下りFFにクロック線を接続する立下りFF挿入工程と、
バッファ挿入部が、前記立下りFF・バッファ挿入決定工程によるバッファ挿入位置データに基づいて、バッファを挿入するように位置決定された前記ホールドエラー部にバッファを挿入するバッファ挿入工程
とを具備することを特徴とする半導体集積回路設計方法。 - フリップフロップ回路を含む半導体集積回路をコンピュータに設計させるプログラムであって、
前記プログラムは、コンピュータを、
前記フリップフロップ回路の入力および出力ノードの値を含むタイミング解析データに応じてホールドエラーを検出すると共に、前記ホールドエラーが発生したノードを特定するタイミング解析部、
前記タイミング解析部による解析結果に基づいて、前記ホールドエラー部に立下りFF又はバッファの挿入を決定する立下りFF・バッファ挿入決定部、
前記立下りFF・バッファ挿入決定部による立下りFF挿入位置データに基づいて、立下りFFを挿入するように位置決定された前記ホールドエラー部に立下りFFを挿入し、この挿入された立下りFFにクロック線を接続する立下りFF挿入部、
前記立下りFF・バッファ挿入決定部によるバッファ挿入位置データに基づいて、バッファを挿入するように位置決定された前記ホールドエラー部にバッファを挿入するバッファ挿入部
として機能させる
ことを特徴とするプログラム。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2009049916 | 2009-03-03 | ||
JP2009049916 | 2009-03-03 | ||
PCT/JP2010/052508 WO2010101029A1 (ja) | 2009-03-03 | 2010-02-19 | 半導体集積回路設計装置、半導体集積回路設計方法、及び半導体集積回路設計プログラム |
Publications (1)
Publication Number | Publication Date |
---|---|
JPWO2010101029A1 true JPWO2010101029A1 (ja) | 2012-09-06 |
Family
ID=42709590
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2011502710A Pending JPWO2010101029A1 (ja) | 2009-03-03 | 2010-02-19 | 半導体集積回路設計装置、半導体集積回路設計方法、及び半導体集積回路設計プログラム |
Country Status (3)
Country | Link |
---|---|
US (1) | US8438518B2 (ja) |
JP (1) | JPWO2010101029A1 (ja) |
WO (1) | WO2010101029A1 (ja) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2014109453A (ja) * | 2012-11-30 | 2014-06-12 | Renesas Electronics Corp | 半導体装置 |
US10394987B2 (en) * | 2017-03-21 | 2019-08-27 | International Business Machines Corporation | Adaptive bug-search depth for simple and deep counterexamples |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH098143A (ja) * | 1995-06-26 | 1997-01-10 | Nec Corp | 遅延最適化方法 |
JP2004186515A (ja) * | 2002-12-05 | 2004-07-02 | Matsushita Electric Ind Co Ltd | 集積回路およびその設計方法 |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6205566B1 (en) * | 1997-07-23 | 2001-03-20 | Matsushita Electric Industrial Co., Ltd. | Semiconductor integrated circuit, method for designing the same, and storage medium where design program for semiconductor integrated circuit is stored |
JP2003099495A (ja) * | 2001-09-25 | 2003-04-04 | Fujitsu Ltd | 集積回路の設計システム、集積回路の設計方法およびプログラム |
JP2003234643A (ja) | 2002-02-07 | 2003-08-22 | Mitsubishi Electric Corp | 半導体集積回路装置の設計方法および半導体集積回路装置 |
JP2005026390A (ja) | 2003-07-01 | 2005-01-27 | Toshiba Microelectronics Corp | 半導体集積回路装置の信号配線接続方法、信号配線接続システム、および半導体集積回路装置の製造方法 |
JP4419633B2 (ja) | 2004-03-25 | 2010-02-24 | 日本電気株式会社 | 論理回路設計システム、論理回路設計方法およびそのプログラム |
JP4264436B2 (ja) * | 2005-11-17 | 2009-05-20 | フリースケール セミコンダクター インコーポレイテッド | フリップフロップ機能素子、半導体集積回路、半導体集積回路設計方法及び半導体集積回路設計装置 |
JP2007188517A (ja) | 2007-02-26 | 2007-07-26 | Fujitsu Ltd | タイミング配分装置 |
JP4803078B2 (ja) | 2007-03-07 | 2011-10-26 | 富士通セミコンダクター株式会社 | 半導体集積回路のレイアウト設計方法およびレイアウト設計用プログラム |
-
2010
- 2010-02-19 WO PCT/JP2010/052508 patent/WO2010101029A1/ja active Application Filing
- 2010-02-19 JP JP2011502710A patent/JPWO2010101029A1/ja active Pending
- 2010-02-19 US US13/254,300 patent/US8438518B2/en not_active Expired - Fee Related
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH098143A (ja) * | 1995-06-26 | 1997-01-10 | Nec Corp | 遅延最適化方法 |
JP2004186515A (ja) * | 2002-12-05 | 2004-07-02 | Matsushita Electric Ind Co Ltd | 集積回路およびその設計方法 |
Also Published As
Publication number | Publication date |
---|---|
US20110320994A1 (en) | 2011-12-29 |
WO2010101029A1 (ja) | 2010-09-10 |
US8438518B2 (en) | 2013-05-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9117044B2 (en) | Hierarchical verification of clock domain crossings | |
US7243322B1 (en) | Metastability injector for a circuit description | |
US8238190B2 (en) | Clock-gated model transformation for asynchronous testing of logic targeted for free-running, data-gated logic | |
US11347917B2 (en) | Determining and verifying metastability in clock domain crossings | |
KR20090077692A (ko) | 반도체 장치의 제조 방법, 반도체 장치의 제조 프로그램 및반도체 장치의 제조 시스템 | |
US7885801B2 (en) | Modeling asynchronous behavior from primary inputs and latches | |
US8539413B1 (en) | Frequency optimization using useful skew timing | |
US11003821B1 (en) | Deterministic loop breaking in multi-mode multi-corner static timing analysis of integrated circuits | |
US11907631B2 (en) | Reset domain crossing detection and simulation | |
Churiwala et al. | Principles of VLSI RTL design: a practical guide | |
US9449127B1 (en) | System for verifying timing constraints of IC design | |
JP5444985B2 (ja) | 情報処理装置 | |
WO2010101029A1 (ja) | 半導体集積回路設計装置、半導体集積回路設計方法、及び半導体集積回路設計プログラム | |
US20050251776A1 (en) | Integrated circuit design system | |
WO2009110615A1 (ja) | 半導体集積回路の設計装置、半導体集積回路の設計方法、並びに半導体集積回路を設計するコンピュータ・プログラム | |
US20220327269A1 (en) | Computing device and method for detecting clock domain crossing violation in design of memory device | |
US8336013B2 (en) | Determining an order for visiting circuit blocks in a circuit design for fixing design requirement violations | |
JP7069608B2 (ja) | 半導体設計支援装置、半導体設計支援方法及びプログラム | |
US20230066423A1 (en) | Accounting for steady state noise in bit response superposition based eye diagram simulation | |
US20220335187A1 (en) | Multi-cycle test generation and source-based simulation | |
US20230177244A1 (en) | Creation of reduced formal model for scalable system-on-chip (soc) level connectivity verification | |
US11087059B2 (en) | Clock domain crossing verification of integrated circuit design using parameter inference | |
JP2002259488A (ja) | クロックスキュー検証方法 | |
Golshan | Design Verification | |
Alizadeh et al. | QBF-Based post-silicon debug of speed-paths under timing variations |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20130111 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20140108 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20140507 |