JP4053969B2 - 半導体集積回路の設計装置および半導体集積回路の設計方法 - Google Patents

半導体集積回路の設計装置および半導体集積回路の設計方法 Download PDF

Info

Publication number
JP4053969B2
JP4053969B2 JP2003399900A JP2003399900A JP4053969B2 JP 4053969 B2 JP4053969 B2 JP 4053969B2 JP 2003399900 A JP2003399900 A JP 2003399900A JP 2003399900 A JP2003399900 A JP 2003399900A JP 4053969 B2 JP4053969 B2 JP 4053969B2
Authority
JP
Japan
Prior art keywords
clock
circuit
delay
design
timing
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.)
Expired - Fee Related
Application number
JP2003399900A
Other languages
English (en)
Other versions
JP2005165405A (ja
Inventor
博紀 郷古
純一 田村
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.)
Oki Electric Industry Co Ltd
Original Assignee
Oki Electric Industry Co Ltd
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 Oki Electric Industry Co Ltd filed Critical Oki Electric Industry Co Ltd
Priority to JP2003399900A priority Critical patent/JP4053969B2/ja
Priority to US10/813,031 priority patent/US20050120318A1/en
Publication of JP2005165405A publication Critical patent/JP2005165405A/ja
Application granted granted Critical
Publication of JP4053969B2 publication Critical patent/JP4053969B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/30Circuit design

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)

Description

本発明は、半導体集積回路の設計装置および半導体集積回路の設計方法に関し、本発明の半導体集積回路の設計装置は、たとえば回路やレイアウト設計の制約を満足するかを検証する設計シミュレータに関するものであり、また、本発明の半導体集積回路の設計方法は、とくに、回路設計やレイアウト設計とこれらの設計におけるタイミングの制約を満たすか検証する設計方法に関するものである。
半導体集積回路の設計は、大別すると、回路設計とレイアウト設計の2つに分けられる。回路設計を行う場合、半導体集積回路の仕様に対応した機能の記述およびタイミング仕様に基づく論理合成用制約ファイルを作成する。回路仕様に対応した機能の記述には、ハードウェアを言語記述する際の抽象レベルの一つで、論理合成の可能なRTL(Register Transfer Level)が広く使われている。また、作成する制約ファイルには、理想的なクロックの周期、クロック遅延、スキュー等が含まれている。ここで、クロック遅延とは、入力ポートからたとえばフリップフロップ回路のそれぞれまでの遅延を意味している。
次にこの制約ファイルを基に論理合成・タイミングの最適化およびホールド保証を行う。この後、理想的なクロックを用いて半導体集積回路のタイミング解析を行う。このとき、解析結果がタイミングの制約を満たしていない場合(タイミング制約違反)、タイミングの制約が満たされるまで、タイミングの最適化を行って、再合成し、理想的なクロックによるタイミング解析が繰り返される。タイミングの制約が満たされると、ゲートレベルネットリストが得られる。これにより、回路設計が終了する。
半導体集積回路の設計におけるもう一つの要素であるレイアウト設計は、回路設計で得られたゲートレベルネットリストの大きさを基にフロアプランを作成する。この後、回路の各ブロックを配置する。そして、クロックツリーの作成およびスキュー調整を行う。スキュー調整は、実際のクロックスキューが制約ファイルに定義されている理想的なクロックのスキューの範囲内に収まるように行う。スキュー調整後、タイミングの制約を満たす各セルの配置および配線を行う(タイミング・ドリブン・レイアウト)。
ここで、タイミング・ドリブン・レイアウトには、ホールド保証も含まれている。
次に実際のクロック遅延を盛り込んだタイミング解析を行う。この結果がタイミングの制約を満たしていない場合、半導体集積回路におけるタイミング・ドリブン・レイアウトの処理を行う。この処理により得られた条件で再びタイミングを解析し、タイミングの制約が満たされるか否かを検証する。タイミングの制約が満たされるまでタイミング・ドリブン・レイアウトおよびそのタイミング解析を繰り返す。このように処理を繰り返すことにより、タイミングの制約が満たされた半導体集積回路のレイアウトデータが得られる。
特開2001−332693号公報
ところで、制約ファイルに含まれるタイミングの制約が、一律に等しく、すべてのデータパスに適用されている。データパスとは、フリップフロップ間のロジック部分におけるパスのことである。したがって、タイミングの制約が一律であることから、長いデータパスに対してタイミングの制約が厳しく、制約における検証の収束は困難になる。このような場合、合成段階でタイミングの制約違反が発生してしまうことがある。この発生により、タイミングの最適化における工数が増加する。また、場合によっては、タイミングの制約が達成されないことから、半導体集積回路における仕様変更を余儀なくされることがあった。
特許文献1のバッファ回路およびこれを用いた半導体集積回路装置の設計方法は、入力部、遅延調整部および出力部を含み、少なくとも、ブロックの入/出力端子位置、外形形状および外形寸法、入力端子容量、ならびに出力部の負荷依存性を含めた駆動能力を一定に保ち、遅延調整部の信号遅延値を所定の範囲で変化させる構成に信号遅延値のみを変化させた複数のBFB(BuFfer Block)を備える遅延調整ブロック群を回路ライブラリに登録し必要な信号経路にこのBFBを挿入することによりレイアウト終了後でも設計に影響を及ぼすことなく異なる信号遅延値のBFBと差し替えることができ、遅延シミュレーションのやり直しをせずに済ませることができる。しかしながら、遅延調整を行う上で半導体集積回路には、信号経路にBFBが余分な構成として配設されることになる。
本発明はこのような従来技術の欠点を解消し、BFBを配設することなく、タイミングの制約を満足させ、かつ最適化における収束性を向上させることができる半導体集積回路の設計装置および半導体集積回路の設計方法を提供することを目的とする。
本発明は上述の課題を解決するために、半導体集積回路における回路設計を行い、この設計に対する制約条件を検証する第1の設計機能ブロックと、この半導体集積回路におけるレイアウト設計を行い、この設計に対する制約条件を検証する第2の設計機能ブロックとを含み、第1の設計機能ブロックは、この検証に用いる段階的に遅延させるクロックの数を決定し、各クロック間の遅延を決めて、数に応じたクロックのそれぞれをクロック系統として生成し、割り付けるクロック生成機能ブロックを含み、第2の設計機能ブロックは、クロック系統を作成し、各クロックのスキューを調整し、クロック系統のクロック遅延を調整する系統決定機能ブロックを含むことを特徴とする。
本発明の半導体集積回路の設計装置は、第1の設計機能ブロックのクロック生成機能ブロックで使用するクロックの数および各クロックに対するクロック遅延を決定し、クロック系統とするクロックのそれぞれを割り付け、各クロックを基に設計に対する制約条件を検証し、タイミングの制約違反をすることなく、供給されるデータを取り込む。これは、タイミングの制約をすべて満足させるリストが得られたことを示し、第2の設計機能ブロックの系統決定機能ブロックは、作成したクロック系統を用い、各クロックのスキューを調整し、さらにクロックの遅延調整を行って、レイアウト調整を検証することにより回路設計およびレイアウト設計においてタイミングの制約をすべて満足させるまでに要する収束時間を従来に比べて短くすることができる。
また、本発明は上述の課題を解決するために、半導体集積回路の回路設計においてこの設計の検証に用いる遅延量の異なるクロックの数を決定し、各クロックのクロック遅延を設定されたタイミングの制約条件を基に決定する第1の工程と、各回路に供給するクロックを割り付ける第2の工程と、このタイミングの制約条件と割り付けによって得られたリストを基にタイミングの最適化を行い、各タイミングの解析結果が制約の違反があるか否かを判断する第3の工程とを含み、制約の違反に応じてタイミングの最適化を繰り返すことを特徴とする。
本発明の半導体集積回路の設計方法は、遅延量の異なるクロックの数および各クロックのクロック遅延を決定し、各回路に供給するクロックをそれぞれ割り付け、タイミングの最適化にともない行われる、各タイミングの解析結果が制約の違反があるか否かを判断し、違反に応じてタイミングの最適化を繰り返して、タイミングの制約をすべて満足させるまでの収束を従来よりも速くすることができる。
次に添付図面を参照して本発明による半導体集積回路の設計装置の一実施例を詳細に説明する。
本実施例は、本発明に係る半導体集積回路の設計装置をLSI(Large-Scale Integration)自動設計シミュレータ10に適用した場合である。本発明と直接関係のない部分について図示および説明を省略する。以下の説明で、信号はその現れる接続線の参照番号で指示する。
LSI自動設計シミュレータ10は、図1に示すように、CPU(Central Processing Unit)12、メモリ14、インタフェース制御部16、データ入力部18、ディスプレイ20およびストレージ22を含む。LSI自動設計シミュレータ10においてCPU 12、メモリ14およびインタフェース制御部16は、データや制御信号のやり取りにバス24を用いている。
CPU 12は、LSI設計で使用するプログラムを順次読み込んで外部から供給される入力条件を満足するように演算してLSIにおける回路を設計する回路設計機能部26およびレイアウト設計を決定するレイアウト設計機能部28を有している。回路設計機能部26は、複数種類のクロックを生成するクロック生成機能部30を含む。クロック生成機能部30には、さらに生成したクロックそれぞれの速度を基に互いの遅延差をも決定する機能がある。
また、レイアウト設計機能部28は、クロック生成機能部30での作成するクロックツリーの本数の決定を受けて、クロックツリーを作成するツリー決定機能部32およびクロックツリー間の遅延差を決定する機能を含む。
メモリ部14には、図示しないがSDRAM(Synchronous Dynamic Random Access Memory)およびメモリ制御部が備えられている。メモリ制御部は、SDRAMのメモリ領域や動作タイミング等を制御する。
インタフェース制御部16には、データ入力部18、ディスプレイ20およびストレージ22がそれぞれ接続されている。そして、インタフェース制御部16は、バス24に接続されている。インタフェース制御部16には、図示しないがたとえば、PCI(Peripheral Component Interconnect)バス制御部が配設され、このPCI制御部に対してデータ入力部18、ディスプレイ20およびストレージ22それぞれに対応するキーボード、マウス等のインタフェース制御部、ディスプレイ制御部、IDE(Integrated Device Electronics)制御部やSCSI(Small Computer System Interface)が接続されている。PCIバス制御部は、周辺機器から供給されるデータをバス24に送り、バス24を介してCPU 12およびメモリ部14に供給する。
データ入力部18は、キーボードやマウス、外部からの通信を介してデータを取り込むモデム等を含む。ディスプレイ20は、回路設計における仕様等の条件ならびに配線配置における入力条件およびこの条件での演算結果等によるレイアウトを視覚的に表示する機能を有している。
ストレージ22は、ハードディスク装置やRAID(Redundant Arrays of Inexpensive Disks)装置である。ストレージ22は、回路設計およびレイアウト設計に用いる各種の情報を格納し、最終的に得られた回路パターンデータを保存している。各種の情報としては、たとえば、論理回路の接続関係を表すネットリスト、セル設計、マクロ設計に用いるセルライブラリおよび機能論理設計を行うプログラム等がある。
このように構成してストレージ22が有する回路設計プログラムおよびレイアウト設計プログラムをCPU 12に順次読み出して、仕様条件およびタイミングの制約等にマッチするか否かを演算し、これらの条件によるLSI設計のシミュレーションを行う。
次にLSI自動設計シミュレータ10の動作について説明する。図2に示すように、LSI自動設計シミュレータ10は、基本的に、回路設計ルーチン(SUB1)およびレイアウト設計ルーチン(SUB2)を有し、回路設計に基づいてレイアウトの設計を行っている。各ルーチンは、後段に示す図3および図4を参照しながら、さらに詳しく説明する。
回路設計ルーチン(SUB1)は、図3に示すように、回路の仕様を記述する(サブステップSS10)。この仕様の記述には、RTL言語が用いられる。次にタイミングの制約を記述する(サブステップSS12)。これらの記述は、データ入力部18を基に条件としてLSI自動設計シミュレータ10に取り込まれる。データ入力部18は、取り込んだデータ34をインタフェース制御部16に送る。インタフェース制御部16は、バス24を介してメモリ14に供給したり、たとえばタイミングの制約条件が記載された制約ファイルデータ38をストレージ22に供給したりする。また、インタフェース制御部16は、供給されたデータ34をディスプレイ20にデータ36として送出し、画面に表示させる。
次に回路設計機能部26は、メモリ14またはストレージ22から制約ファイルを読み出して、タイミングの制約を基に仮論理合成処理を行う(サブステップSS14)。この処理により、回路におけるパスを分類することができる。すなわち、パスの分類とは、タイミングの制約に対して余裕があるか否かにより分類する。具体的には、分類における判断は、仮論理合成で得られた回路に対するタイミング・レポートにおけるスラック値を基にして行う。スラック値とは、フリップフロップ(Flip-Flop: FF)回路に規定されている入力データのセットアップ時間またはホールド時間と実際に入力されるデータの到達時間との差を示すものである。スラック値が正のとき、この値の分がタイミングの制約に対して余裕を持っていることを示している。また、スラック値が負のとき、この値の分だけタイミングの制約に対して違反していることを示している。
クロック生成機能部30は、このスラック値を基にしてレイアウト設計にて生成するクロックツリーの数を決定する(サブステップSS16)。また、クロック生成機能部30は、生成したクロックそれぞれ速度を基に相互に生じるクロックの遅延差も決定する。クロックの遅延差は、タイミング・レポートの結果により決める。
次に生成するクロックツリーのそれぞれに対する定義を行い、作成した制約ファイルを更新し、ストレージ22に記録する(サブステップSS18)。クロック生成機能部30は、さらに各フリップフロップ回路に対してクロックを割り付ける(サブステップSS20)。具体的に説明すると、仮論理合成処理で行った論理合成で得られるゲートレベルネットリストのフリップフロップ回路には、同じクロックがすべてに供給されている。このクロック割付は、このクロックの供給を定義したクロックツリーのそれぞれに接続し直すことである。図5のクロック生成機能部30は、クロック割付を行った状態を示している。遅延の異なるクロックのそれぞれを組み合わせて使用することにより、クロック生成機能部30は、設計する回路における各フリップフロップ回路間のデータパスに対して異なるタイミングの制約を設定することが可能になる。
図5の場合、フリップフロップ回路40〜52のそれぞれは、経路を介して接続されている。経路の長さは、本実施例におけるパスA〜Eの大きさに比例するものと仮定する。この仮定に基づいて遅延量を検討して見ると、フリップフロップ回路40とフリップフロップ回路52の間にあるパスEが大きいことがわかる。したがって、同じクロックがフリップフロップ回路52に供給されると、タイミングの制約を満足させることは厳しくなる。本実施例のクロック生成機能部30は、クロックが供給される系統樹の枝に相当する分枝のそれぞれにバッファを多段に異ならせて接続させている。これによりクロック生成機能部30は、4種類のクロック60〜66を生成して、パスの長さに応じてこれらのクロックを供給している。ここで、クロック60〜66は、ツリー1〜4であり、図6(a)〜図6(d)に示している。
フリップフロップ回路40は、図5に示すように、データのスタートポイントであり、供給されるツリー1のクロック60で動作する。フリップフロップ回路52は、図6(i)に示すように遅延量Dが大きいことから、クロック60よりも遅延量の大きいクロック66で動作させると、パスEによる遅延がクロックの遅延分だけ相殺される。これは、フリップフロップ回路40からフリップフロップ回路52のパスEに許容される遅延時間が大きくなることを意味している。したがって、フリップフロップ回路52は、データの取り込み位置、すなわちサンプリング位置Sが制約違反を示すハッチング領域にかからず、この回路におけるタイミングの制約違反を仮論理合成処理の段階で回避することができる。
最も遅延量の大きいパスEについて説明したが、フリップフロップ回路42〜50のパスそれぞれについても、図6(e)〜図6(h)に示すように基準のクロックに対してパスの遅延に比例した遅延量を有するクロックを供給することによりタイミングの制約違反を避けることができる。
また、フリップフロップ回路46からパスBを経てデータをサンプリングするフリップフロップ回路44は、タイミングの制約に対して十分余裕がある。この場合、フリップフロップ回路44は、図6(e)に示すように、フリップフロップ回路46に供給されるクロック62(ツリー2)よりも遅延量の小さいクロック60(ツリー1)を用いてもよい。これにより、フリップフロップ回路46とフリップフロップ回路44との間にあるパスBに許容される遅延時間は小さくなるが、タイミングの制約違反は発生しない。
このように、タイミングの制約に対して余裕のあるパスがあった場合にデータを取り込む側のフリップフロップ回路に供給するクロックは、できるだけ遅延量の小さいクロックを使用することが好ましい。この使用により、次段以降にタイミングの制約が厳しいパスが存在した場合には、遅延量の大きいクロックを使用することが可能になる。
ここで、クロックの選択について説明する。クロック生成機能部30は、クロックツリーの本数をn本に決定する。使用するクロックの1周期は、Tである。各クロックツリーを図7(b)〜図7(e)に示すように、ツリー1, ツリー2, ・・・, ツリーnとし、各ツリーのクロック遅延をd(1), d(2), ・・・, d(n)とする。クロックツリーの遅延量は、nの増加とともに比例する(d(x)<d(x+1), 1≦x≦n)。
また、フリップフロップ回路40における内部データ遅延はtd1、フリップフロップ回路40とフリップフロップ回路42の間にあるパスによる遅延はtd2、フリップフロップ回路42自体に定義されているセットアップ時間はts、フリップフロップ回路40に使用するクロックをツリーmにする。図7(a)に示すクロックを基準に検討する。このとき、フリップフロップ回路42の遅延量d(x)は、
(数1)
d(x) > td1+td2+ts+d(m)−T ・・・(1)
を満足する最小のクロック遅延段数xを選択する。このようにしてクロック遅延があらかじめ設定される。
再び図3に戻って、クロックの割付を終了した後、更新したタイミングの制約と割り付けたゲートレベルネットリストを基に再合成によるタイミングの最適化処理を行う(サブステップSS22)。最適化処理は、ホールド保証も行っている。
次に更新したタイミングの制約および生成したn本のクロック(ツリー)を基にタイミング解析を行う(サブステップSS24)。解析結果がタイミングの制約すべてを満足しない場合(NO)、最適化処理(サブステップSS22)に戻って、再合成によるタイミングの最適化を行う。すなわち、タイミングの制約がすべて満足されるまで繰り返される。タイミングの制約がすべて満足された場合(YES)、条件を満足したゲートレベルネットリストが得られる(ゲートレベルネットリストの生成・保存:サブステップSS26)。ディスプレイ20は、生成したゲートレベルネットリストをたとえば、回路図として表示する。回路設計機能部26は、得られたゲートレベルネットリストをストレージ22に保存しリターンに移行して、回路設計の手順を終える。
次にレイアウト設計(SUB2)について説明する。まず、レイアウト設計機能部28にてレイアウトにおけるフロアプランを生成する(サブステップSS30)。これに続いて、ブロック配置を作成する(サブステップSS32)。これまでの手順は従来と同じである。次にツリー決定機能部32にてクロックツリーを作成する(サブステップSS34)。クロックツリーは、前述したように回路設計で作成したクロックを別々に作成する。次に作成したクロック毎にスキューを目標値まで合わせる(サブステップSS36)。次に各クロック間の遅延を回路設計ルーチン(SUB1)で決定したクロック遅延(サブステップSS16)に適合するように調整する(遅延調整:サブステップSS38)。
このクロック調整後、タイミング・ドリブン・レイアウト処理を行う(サブステップSS40)。この処理後、伝播クロックでのタイミング解析を行い、タイミングの制約をすべて満足するか否かを判断する(サブステップSS42)。すべてタイミングの制約を満足しない場合(NO)、タイミング・ドリブン・レイアウト処理に戻ってこのレイアウト処理を繰り返す。すべて満足した場合(YES)、レイアウトデータの生成処理に進む(サブステップSS44へ)。
レイアウト設計機能部28はタイミングの制約すべてを満足したレイアウトデータをバス24に出力し、インタフェース制御部16を介してストレージ22に保存する(サブステップSS44)。また、インタフェース制御部16は、得られたレイアウトデータをディスプレイ20に供給して、表示する。レイアウト設計機能部28は、リターンに移行して、レイアウト設計の手順を終える。
このように動作させることにより、レイアウト設計においても、複数のクロックを用いてタイミング解析を行い、タイミングの制約に対する違反の有無を判断し、すべての制約を満足させたレイアウト設計を得ることができる。
回路設計およびレイアウト設計によれば、仮論理合成結果のゲートレベルネットリストに対するタイミング解析結果により、クロックツリー数、各クロックツリー間の遅延差を決定し、各フリップフロップ回路のサンプリングタイミングを満たすクロックツリーを選択して、使用することから、ロジックのパスに対して一律に同じタイミングの制約を与えて実行していた論理合成がパスの長さに応じたタイミングの制約を適用する論理合成になる。個々のタイミングの制約を適用し、合成することにより、回路設計の初期段階からタイミングの制約に対して厳しいパスをあらかじめ緩和させることができ、かつ通常の回路設計と比較して、より高い動作速度を満足する半導体集積回路を得ることができる。
再び、回路設計ルーチン(SUB1)の動作について図8を用いて説明する。図3と同じ手順に対しては、同じ参照符号を付して、説明の煩雑さを避けるため、説明を省略する。本実施例の手順は、タイミング解析を行い(サブステップSS24)、この結果がタイミングの制約違反の場合(NO)、タイミングの制約を変更させ、再度更新処理を行う(サブステップSS28)。
より具体的には、実際のタイミング最適化の結果を基にクロック遅延差の値を再度調整する(サブステップSS28)。この調整後、最適化処理に移行する(サブステップSS22へ)。最適化処理は、前述したように行う。また、再度の最適化処理では、タイミングの制約違反がなくなった際に、ホールド保証だけを行い、ゲートレベルネットリストを得るようにしてもよい。
このようにして、クロックの遅延における調整値を見直すことによって、回路設計段階において高いタイミングの収束性を得ることができる。
また、レイアウト設計ルーチン(SUB2)の動作について図9を用いて説明する。図4と同じ手順に対しては、同じ参照符号を付して、説明の煩雑さを避けるため、説明を省略する。本実施例の手順は、タイミング解析を行い(サブステップSS42)、この結果がタイミングの制約違反の場合(NO)、クロック毎の遅延を調整する(サブステップSS46)。この遅延調整を行うことにより、新たに出現したホールド違反に対する保証が行われる。このような調整後、タイミング・ドリブン・レイアウト処理に戻し(サブステップSS40へ)、この処理を繰り返す。
これにより、レイアウト設計においてもより高いタイミングの収束性を得ることができる。
なお、回路設計とレイアウト設計の追加工程をともに含むようにすると、より一層高いタイミングの収束性を得ることができることは明らかである。
以上のように構成することにより、回路設計機能部26のクロック生成機能部30で使用するクロックの数および各クロックに対するクロック遅延を決定し、クロック系統とするクロックのそれぞれを割り付け、各クロックを基に設計に対する制約条件を検証し、タイミングの制約違反をすることなく、供給されるデータを取り込むことで、タイミングの制約をすべて満足させるリストを求め、レイアウト設計機能部28のツリー決定機能部32は、作成したクロック系統を用い、各クロックのスキューを調整し、さらにクロックの遅延調整を行って、レイアウト調整を検証することにより、回路設計およびレイアウト設計においてタイミングの制約をすべて満足させるまでに要する収束時間を従来に比べて短くすることができる。
クロック生成機能部30は、データの出力開始点であるフリップフロップ回路における内部遅延、データ供給先であるフリップフロップ回路のセットアップ時間、フリップフロップ回路間にある経路にともなう遅延および出力開始点となるフリップフロップ回路に供給するクロックの遅延を加算し、この加算値とクロックの周期との差で割り付けるクロック遅延を決定することにより、最小のクロックツリーを用いることができ、タイミングの制約違反を回避することができる。
半導体集積回路の設計方法は、遅延量の異なるクロックの数および各クロックのクロック遅延を決定し、各回路に供給するクロックをそれぞれ割り付け、タイミングの最適化にともない行われる、各タイミングの解析結果が制約の違反があるか否かを判断し、違反に応じてタイミングの最適化を繰り返して、タイミングの制約をすべて満足させるまでの収束を従来よりも速くすることができる。
また、半導体集積回路のレイアウト設計においてこの設計の検証に遅延量の異なるクロックをそれぞれ作成し、異なるクロック毎にスキューを調整し、クロックのそれぞれが有する遅延を決定したクロック遅延に調整し、タイミングの制約条件を満足するレイアウトに調整し、各タイミングの解析結果が制約の違反があるか否かを判断し、制約の違反に応じてレイアウトの調整を繰り返すことによってもタイミングの制約をすべて満足させるまでの収束時間を従来よりも短く済ますことができる。
回路設計ルーチンにおいてタイミング解析の結果に制約の違反がある場合、この違反に応じてクロック遅延の値を再度調整することにより、調整値が見直され、このルーチンにおいてより一層高いタイミングの収束をもたらすことができる。
レイアウト設計ルーチンにおいてタイミング解析の結果に制約の違反がある場合、この違反に応じてクロック毎の遅延を調整することにより、このルーチンにおいてより一層高いタイミングの収束をもたらすことができる。
それぞれ割り付けるクロック遅延は、データを出力する開始点での内部遅延、セットアップ時間、経路による遅延および使用するクロックの遅延を加算し、この加算値とクロックの周期との差で決定することにより、最小のクロックツリーを用いることができ、タイミングの制約違反を回避することができる。
本発明に係る半導体集積回路の設計装置を適用したLSI自動設計シミュレータの概略的な構成を示すブロック図である。 図1のLSI自動設計シミュレータの動作を説明するメインフローチャートである。 図2のメインフローチャートにおける回路設計ルーチンの動作を説明するフローチャートである。 図2のメインフローチャートにおけるレイアウト設計ルーチンの動作を説明するフローチャートである。 クロック系統と各経路の関係を説明する図である。 クロック系統と各データの入力タイミングを説明する図である。 フリップフロップ回路に供給するクロックの選択条件を説明するタイミングチャートである。 図3に示した回路設計ルーチンにおける動作の改良を説明するフローチャートである。 図4に示したレイアウト設計ルーチンにおける動作の改良を説明するフローチャートである。
符号の説明
10 LSI自動設計シミュレータ
12 CPU
14 メモリ
16 インタフェース制御部
18 データ入力部
20 ディスプレイ
22 ストレージ
24 バス
26 回路設計機能部
28 レイアウト設計機能部
30 クロック生成機能部
32 ツリー決定機能部

Claims (7)

  1. 半導体集積回路における回路設計を行い、該回路設計に対する制約条件を、設計した回路の解析結果が満足するか否かを検証する第1の設計機能ブロックと、
    該半導体集積回路におけるレイアウト設計を行い、該レイアウト設計に対する制約条件を、設計した回路におけるレイアウトの解析結果が満足するか否かを検証する第2の設計機能ブロックとを含み、
    前記第1の設計機能ブロックは、該検証に用いる段階的に遅延させるクロックの数を、スラック値を基に決定し、各クロック間で相互に生じる遅延を、あらかじめ設定されたタイミングの制約条件を基に決めて、前記数に応じたクロックそれぞれを生成し、生成したクロックそれぞれを定義したクロック系統のクロックとして用い、生成したクロックを前記クロック系統に割り付けるクロック生成機能ブロックを含み、
    第2の設計機能ブロックは、前記スラック値を基に求めた数の前記クロックを割り付けて表わされる前記クロック系統を作成し、作成したクロック毎にスキューを目標値に調整し、前記クロック系統のクロック遅延を決定したクロック遅延に調整する系統決定機能ブロックを含むことを特徴とする半導体集積回路の設計装置。
  2. 請求項1に記載の装置において、前記クロック生成機能ブロックは、データの出力開始点である第1回路における内部遅延、第1回路のデータ供給先である第2回路のセットアップ時間、第1回路と第2回路との間にある経路にともなう遅延および第1回路に供給するクロックの遅延を加算し、この加算値と前記クロックの周期との差で前記割り付けるクロック遅延を決定することを特徴とする半導体集積回路の設計装置。
  3. 半導体集積回路を入力条件を基に設計する回路設計機能部のクロック生成機能部で、該設計の検証に用いる遅延量の異なるクロックの数を、スラック値を基に決定し、前記各クロックのクロック遅延をあらかじめ設定されたタイミングの制約条件を基に決定する第1の工程と、
    各回路に供給するクロックを割り付ける第2の工程と、
    該タイミングの制約条件と前記割り付けによって得られたゲートレベルネットリストを基に再合成によってタイミングの最適化を行い、各タイミングの解析結果前記制約の違反があるか否かを判断する第3の工程とを含み、
    前記制約の違反に応じて前記タイミングの最適化を繰り返すことを特徴とする半導体集積回路の設計方法。
  4. 請求項3に記載の方法において、該方法は、前記半導体集積回路のレイアウト設計において前記クロック生成機能部で該設計の検証に前記遅延量の異なるクロックを、スラック値を基に作成する第4の工程と、
    作成したクロックのツリーを作成し、作成したクロックツリー間の遅延差を決定するレイアウト設計機能部で前記異なるクロック毎にスキューを目標値に調整する第5の工程と、
    該レイアウト設計において前記クロックのそれぞれが有する遅延を前記決定したクロック遅延に調整する第6の工程と、
    該レイアウト設計において前記タイミングの制約条件を満足するレイアウトに調整し、各タイミングの解析結果が前記制約の違反があるか否かを判断する第7の工程とを含み、
    前記制約の違反に応じて前記レイアウトの調整を繰り返すことを特徴とする半導体集積回路の設計方法。
  5. 請求項3または4に記載の方法において、該方法は、第3の工程にて前記制約の違反がある場合、該違反に応じて前記クロック遅延の値を再度調整する第8の工程を含むことを特徴とする半導体集積回路の設計方法。
  6. 請求項3、4または5に記載の方法において、該方法は、第7の工程にて前記制約の違反がある場合、該違反に応じて前記クロック毎の遅延を調整する第9の工程を含むことを特徴とする半導体集積回路の設計方法。
  7. 請求項3ないし6のいずれか一項に記載の方法において、該方法は、データの出力開始点である第1回路における内部遅延、第1回路のデータ供給先である第2回路のセットアップ時間、第1回路と第2回路との間にある経路にともなう遅延および第1回路に供給するクロックの遅延を加算し、この加算値と前記クロックの周期との差で前記割り付けるクロック遅延を決定することを特徴とする半導体集積回路の設計方法。
JP2003399900A 2003-11-28 2003-11-28 半導体集積回路の設計装置および半導体集積回路の設計方法 Expired - Fee Related JP4053969B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2003399900A JP4053969B2 (ja) 2003-11-28 2003-11-28 半導体集積回路の設計装置および半導体集積回路の設計方法
US10/813,031 US20050120318A1 (en) 2003-11-28 2004-03-31 Apparatus and method for designing semiconductor integrated circuit

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2003399900A JP4053969B2 (ja) 2003-11-28 2003-11-28 半導体集積回路の設計装置および半導体集積回路の設計方法

Publications (2)

Publication Number Publication Date
JP2005165405A JP2005165405A (ja) 2005-06-23
JP4053969B2 true JP4053969B2 (ja) 2008-02-27

Family

ID=34616633

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2003399900A Expired - Fee Related JP4053969B2 (ja) 2003-11-28 2003-11-28 半導体集積回路の設計装置および半導体集積回路の設計方法

Country Status (2)

Country Link
US (1) US20050120318A1 (ja)
JP (1) JP4053969B2 (ja)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080046850A1 (en) * 2004-07-12 2008-02-21 International Business Machines Corporation Integrated Circuit Implementing Improved Timing Driven Placements of Elements of a Circuit
US7937604B2 (en) * 2007-04-19 2011-05-03 International Business Machines Corporation Method for generating a skew schedule for a clock distribution network containing gating elements
US8020127B1 (en) * 2008-11-21 2011-09-13 Xilinx, Inc. Clock frequency exploration for circuit designs having multiple clock domains
CN103425804B (zh) * 2012-05-15 2016-12-14 北京华大九天软件有限公司 一种图形化显示时钟系统结构的方法
US10963617B1 (en) * 2020-01-06 2021-03-30 Cadence Design Systems, Inc. Modifying route topology to fix clock tree violations
CN117151015B (zh) * 2023-09-15 2024-03-15 上海合芯数字科技有限公司 集成电路布局布线方法、装置、集成电路芯片

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5638291A (en) * 1994-10-14 1997-06-10 Vlsi Technology, Inc. Method and apparatus for making integrated circuits by inserting buffers into a netlist to control clock skew
US6651224B1 (en) * 1998-01-26 2003-11-18 Fujitsu Limited Method of optimizing signal lines within circuit, optimizing apparatus, recording medium having stored therein optimizing program, and method of designing circuit and recording medium having stored therein program for designing circuit
US6289498B1 (en) * 1998-02-20 2001-09-11 Lsi Logic Corporation VDHL/Verilog expertise and gate synthesis automation system
US6591407B1 (en) * 2000-03-01 2003-07-08 Sequence Design, Inc. Method and apparatus for interconnect-driven optimization of integrated circuit design
JP2001332693A (ja) * 2000-05-23 2001-11-30 Nec Corp バッファ回路ブロック及びこれを用いた半導体集積回路装置の設計方法
US6536024B1 (en) * 2000-07-14 2003-03-18 International Business Machines Corporation Method for making integrated circuits having gated clock trees
JP4953526B2 (ja) * 2001-07-27 2012-06-13 富士通セミコンダクター株式会社 タイミング優先でセル配置するlsiのレイアウト方法及びその装置
US6701506B1 (en) * 2001-12-14 2004-03-02 Sequence Design, Inc. Method for match delay buffer insertion
US20040230933A1 (en) * 2003-05-15 2004-11-18 Weaver Edward G. Tool flow process for physical design of integrated circuits
US7039891B2 (en) * 2003-08-27 2006-05-02 Lsi Logic Corporation Method of clock driven cell placement and clock tree synthesis for integrated circuit design
US20050091621A1 (en) * 2003-10-24 2005-04-28 Goldberg David N. Methods for designing a circuit

Also Published As

Publication number Publication date
US20050120318A1 (en) 2005-06-02
JP2005165405A (ja) 2005-06-23

Similar Documents

Publication Publication Date Title
US6968514B2 (en) Block based design methodology with programmable components
US5553002A (en) Method and system for creating and validating low level description of electronic design from higher level, behavior-oriented description, using milestone matrix incorporated into user-interface
US5557531A (en) Method and system for creating and validating low level structural description of electronic design from higher level, behavior-oriented description, including estimating power dissipation of physical implementation
US5541849A (en) Method and system for creating and validating low level description of electronic design from higher level, behavior-oriented description, including estimation and comparison of timing parameters
US20070276645A1 (en) Power modelling in circuit designs
US6782520B1 (en) IC layout system having separate trial and detailed routing phases
US9298872B2 (en) Apportioning synthesis effort for better timing closure
US10740520B2 (en) Pessimism in static timing analysis
CN112069763A (zh) 修正电路的方法
US7885801B2 (en) Modeling asynchronous behavior from primary inputs and latches
US20040025136A1 (en) Method for designing a custom ASIC library
US10437946B1 (en) Using implemented core sources for simulation
US7367005B2 (en) Method and apparatus for designing a layout, and computer product
US9047434B2 (en) Clustering for processing of circuit design data
US7100140B2 (en) Generation of graphical congestion data during placement driven synthesis optimization
US6941532B2 (en) Clock skew verification methodology for grid-based design
JP4053969B2 (ja) 半導体集積回路の設計装置および半導体集積回路の設計方法
KR100704577B1 (ko) 타이밍 버지트 설계 방법
US11042678B2 (en) Clock gate latency modeling based on analytical frameworks
US6487707B1 (en) Layout design system of semiconductor ic device, layout design method of semiconductor ic device and computer-readable recording medium on which programs for allowing computer to execute respective means in the system or respective steps in the method are recorded
US7191416B2 (en) System and method for modifying integrated circuit hold times
US20030074175A1 (en) Simulation by parts method for grid-based clock distribution design
US20030074643A1 (en) Unified database system to store, combine, and manipulate clock related data for grid-based clock distribution design
US7448006B2 (en) Logic-synthesis method and logic synthesizer
JPH09232436A (ja) 論理合成方法及び装置並びに半導体集積回路設計方法

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20070424

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20070620

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20070724

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20070919

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20071113

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20071206

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20101214

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313111

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20101214

Year of fee payment: 3

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20101214

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20111214

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20121214

Year of fee payment: 5

S533 Written request for registration of change of name

Free format text: JAPANESE INTERMEDIATE CODE: R313533

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20121214

Year of fee payment: 5

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20121214

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20131214

Year of fee payment: 6

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

LAPS Cancellation because of no payment of annual fees