JP2004302819A - 半導体集積回路のレイアウト設計方法 - Google Patents

半導体集積回路のレイアウト設計方法 Download PDF

Info

Publication number
JP2004302819A
JP2004302819A JP2003094655A JP2003094655A JP2004302819A JP 2004302819 A JP2004302819 A JP 2004302819A JP 2003094655 A JP2003094655 A JP 2003094655A JP 2003094655 A JP2003094655 A JP 2003094655A JP 2004302819 A JP2004302819 A JP 2004302819A
Authority
JP
Japan
Prior art keywords
clock
hierarchical
flip
blocks
flop
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
Application number
JP2003094655A
Other languages
English (en)
Inventor
Takeshi Nakajima
毅 中島
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.)
Kawasaki Microelectronics Inc
Original Assignee
Kawasaki Microelectronics Inc
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 Kawasaki Microelectronics Inc filed Critical Kawasaki Microelectronics Inc
Priority to JP2003094655A priority Critical patent/JP2004302819A/ja
Publication of JP2004302819A publication Critical patent/JP2004302819A/ja
Pending legal-status Critical Current

Links

Images

Abstract

【課題】階層ブロック間にまたがって接続されるフリップフロップ間のクロックを容易に調整できる半導体集積回路のレイアウト設計方法を提供する。
【解決手段】内部回路を、分割予定の複数の階層ブロックに分割した後、階層ブロック内および階層ブロック間を仮配線してタイミング解析を行い、階層ブロック間にまたがって接続されている境界のフリップフロップを検出し、階層ブロック内に含まれる、境界のフリップフロップ以外のフリップフロップに共通のクロックポートとは別に、境界のフリップフロップに専用のクロックポートを設けて仮配線を変更する。続いて、内部回路を、実際に複数の階層ブロックに分割し、変更された仮配線に従い、共通および専用のクロックポートをルートとして、階層ブロック内のクロックツリーを生成した後、クロックが供給されるクロックソースをルートとして、階層ブロック間のクロックツリーを生成する。
【選択図】図3

Description

【0001】
【発明の属する技術分野】
本発明は、内部回路を複数の階層ブロックに分割して半導体集積回路のレイアウト設計を行う技術分野に関するものである。
【0002】
【従来の技術】
回路の大規模化と製造プロセスの微細化により、半導体集積回路のレイアウト設計を行う際に扱うデータ量が増加している。このデータ量の増加がレイアウト設計を行う際の工数、処理時間を増加させる原因の1つになっている。
【0003】
この問題を解決するために、大規模な半導体集積回路のレイアウト設計を行う場合には、階層レイアウト設計手法が用いられている。階層レイアウト設計は、大規模化し扱いにくくなった内部回路を取り扱いやすいサイズの複数の階層ブロックに分割し、階層ブロック内と階層ブロック間(トップレベル)とを別々にレイアウト設計することにより、半導体集積回路全体のレイアウト設計を行う手法である。
【0004】
しかし、階層レイアウト設計手法を用いて半導体集積回路のレイアウト設計を行う場合、半導体集積回路の性能を左右するクロックの調整が非常に困難であるという問題がある。
【0005】
階層レイアウト設計手法を用いて半導体集積回路のレイアウト設計を行う場合、それぞれの階層ブロック内、および階層ブロック間において別々にクロックツリーが生成される。図4に一例を示すように、回路を複数の階層ブロックに分割した後、図5に示すように、それぞれの階層ブロック内のクロックツリーが生成され、続いて、図6に示すように、階層ブロック間のクロックツリーが生成される。
【0006】
ここで、図4に示す半導体集積回路12の場合、内部回路は、3つの階層ブロックI1,I2,I3に分割されている。
【0007】
図5に示すように、階層ブロックI1にはフリップフロップFF11,FF12,FF13が含まれ、以下同様に、階層ブロックI2にはフリップフロップF21,F22が含まれ、階層ブロックI3にはフリップフロップFF31,FF32が含まれている。階層ブロックI1,I2,I3には、それぞれ1つずつクロックポートCP1,CP2,CP3が設けられ、階層ブロックI1,I2,I3内のクロックツリーは、それぞれ対応するクロックポートCP1,CP2,CP3をルート(起点)として構成されている。
【0008】
半導体集積回路12には、ルートクロックが供給されるクロックソース14が設けられている。図6に示すように、階層ブロックI1,I2,I3間のクロックツリーは、このクロックソース14をルートとして構成されている。
【0009】
階層ブロックI1,I2,I3間のクロックツリーを構成する際には、それぞれの階層ブロックI1,I2,I3内のクロックツリーの状態が考慮される。それぞれの階層ブロックI1,I2,I3のクロックポートCP1,CP2,CP3には、各々対応する階層ブロックI1,I2,I3内に構成されたクロックツリーの遅延、入力容量等のクロック情報が与えられている。この階層ブロックI1,I2,I3内のクロック情報に基づいて、階層ブロックI1,I2,I3間のクロックツリーが構成される。
【0010】
図6に示す例の場合、階層ブロックI1のクロックポートCP1には、クロックツリーの最大遅延がAnsであり、最小遅延がA’nsであるという情報が与えられている。以下同様に、階層ブロックI2のクロックポートCP2には、最大遅延がBns、最小遅延がB’nsであるという情報が与えられ、階層ブロックI3のクロックポートCP3には、最大遅延がCns、最小遅延がC’nsであるという情報が与えられている。
【0011】
従来の半導体集積回路のレイアウト設計方法では、階層ブロック内のフリップフロップ間や、階層ブロック間のフリップフロップ間など同一レベルに存在するフリップフロップ間のクロック調整は容易に可能であった。しかし、階層ブロック間にまたがって接続される境界のフリップフロップ間のクロックを調整することは困難であった。例えば、図5に示す例の場合、階層ブロックI2と階層ブロックI1との間にまたがって接続されている境界のフリップフロップFF21とフリップフロップFF11間のクロックを調整することは困難であった。
【0012】
その理由は、各階層ブロックのクロックポートに与えられている階層ブロック内のクロックの遅延情報はクロックツリーの中の最大遅延、最小遅延のみであり、階層ブロックの境界に存在するフリップフロップに供給されるクロックの情報であるとは限らないからである。図6に示す例の場合も、階層ブロックI1,I2のクロックポートCP1,CP2に与えられているクロック情報は、境界のフリップフロップFF11,FF21のクロック遅延情報であるとは限らない。
【0013】
【発明が解決しようとする課題】
本発明の目的は、前記従来技術に基づく問題点を解消し、階層ブロック間にまたがって接続される境界のフリップフロップ間のクロックを容易に調整することができる半導体集積回路のレイアウト設計方法を提供することにある。
【0014】
【課題を解決するための手段】
上記目的を達成するために、本発明は、内部回路を、分割予定の複数の階層ブロックに分割し、
前記階層ブロック内および前記階層ブロック間を仮配線してタイミング解析を行い、前記階層ブロック間にまたがって接続されている境界のフリップフロップを検出し、
前記階層ブロック内に含まれる、前記境界のフリップフロップ以外のフリップフロップに共通のクロックポートとは別に、前記境界のフリップフロップに専用のクロックポートを設けて前記仮配線を変更し、
前記内部回路を、前記複数の階層ブロックに分割し、前記変更された仮配線に従い、前記共通および専用のクロックポートをルートとして、前記階層ブロック内のクロックツリーをそれぞれ生成し、それぞれの前記階層ブロックの共通および専用のクロックポートに、各々対応するクロックツリーを介して供給されるクロックの遅延情報を与え、その後、前記変更された仮配線に従い、それぞれの前記階層ブロックの共通および専用のクロックポートに与えられたクロックの遅延情報に基づき、ルートクロックが供給されるクロックソースをルートとして、前記階層ブロック間のクロックツリーを生成することを特徴とする半導体集積回路のレイアウト設計方法を提供するものである。
【0015】
【発明の実施の形態】
以下に、添付の図面に示す好適実施形態に基づいて、本発明の半導体集積回路のレイアウト設計方法を詳細に説明する。
【0016】
図1、図2、および図3は、本発明の半導体集積回路のレイアウト設計方法の各工程を説明する一実施形態のレイアウト概念図である。
本発明の半導体集積回路のレイアウト設計方法では、まず、内部回路を、レイアウト設計を行う際に実際に分割する予定の複数の階層ブロックに分割する。
【0017】
図1に示す例では、図4に示す従来の半導体集積回路12との対比が容易となるように、半導体集積回路10は、3つの階層ブロックI1,I2,I3に分割されている。
【0018】
続いて、それぞれの階層ブロック内、および階層ブロック間を仮配線してタイミング解析を行い、階層ブロック間にまたがって接続されている境界のフリップフロップ(以下、単に境界のフリップフロップという)を検出する。
【0019】
図2に示す例では、階層ブロックI2に含まれるフリップフロップFF21と階層ブロックI1に含まれるフリップフロップFF11とが、階層ブロックI2,I1間にまたがって接続されている。すなわち、階層ブロックI2のフリップフロップFF21の出力信号は、階層ブロックI1のフリップフロップFF11のデータ入力端子に入力されている。なお、途中に論理ゲート等が挿入されている場合も同様である。
【0020】
図2に示すように、仮配線を行った際、クロックツリーに相当する仮配線は、半導体集積回路10にルートクロックを供給するためのクロックソース14からそれぞれの階層ブロックI1,I2,I3のクロックポートCP1,CP2,CP3に共通に接続され、さらにそれぞれの階層ブロックI1,I2,I3内において、クロックポートCP1,CP2,CP3からそれぞれのフリップフロップのクロック入力端子に共通に接続される。
【0021】
続いて、それぞれの階層ブロック内において、境界のフリップフロップ以外のフリップフロップに共通のクロックポートの他に、境界のフリップフロップに専用のクロックポートを設け、境界のフリップフロップに、この専用のクロックポートを介してクロックが供給されるように仮配線を変更する。また、階層ブロック間において、それぞれの階層ブロックの共通および専用のクロックポートにクロックが供給されるように仮配線を変更する。
【0022】
図3に示す例では、階層ブロックI1には、フリップフロップF11に専用のクロックポートSP1が設けられ、階層ブロックI2には、フリップフロップFF21に専用のクロックポートSP2が設けられている。そして、フリップフロップF11には、専用のクロックポートSP1を介してクロックが供給され、フリップフロップFF21には、専用のクロックポートSP2を介してクロックが供給されるように、クロックツリーに相当する仮配線が変更されている。
【0023】
これ以後の工程は、図示を省略しているが、境界のフリップフロップ以外のフリップフロップに共通のクロックポートに加えて、境界のフリップフロップに専用のクロックポートが追加されている点を除いて、従来の半導体集積回路のレイアウト設計方法の場合とほぼ同じである。すなわち、内部回路を実際に複数の階層ブロックに分割し、それぞれの階層ブロック内のクロックツリーを生成した後、階層ブロック間のクロックツリーを生成する。
【0024】
それぞれの階層ブロック内のクロックツリーを生成する際には、仮配線に従い、それぞれ共通および専用のクロックポートをルートとしてクロックツリーが生成される。すなわち、境界のフリップフロップには、専用のクロックポートをルートとしてクロックツリーが生成され、境界のフリップフロップ以外の全てのフリップフロップには、共通のクロックポートをルートとしてクロックツリーが生成される。
【0025】
また、共通のクロックポートには、この共通のクロックポートをルートとして生成されたクロックツリーの遅延情報、例えば共通のクロックポートから、クロックツリーを介して、境界のフリップフロップ以外のフリップフロップに供給されるクロックのうちの最大遅延時間および最小遅延時間の情報が与えられる。また、専用のクロックポートには、専用のクロックポートから、境界のフリップフロップまでのクロックの遅延情報が与えられる。
【0026】
また、階層ブロック間のクロックツリーを生成する際には、仮配線に従い、それぞれの階層ブロックの共通および専用のクロックポートに与えられているクロックの遅延情報に基づいて、クロックソースをルートとしてクロックツリーが生成される。
【0027】
上記のように、境界のフリップフロップに専用のクロックポートを設け、専用のクロックポートには、この専用のクロックポートから境界のフリップフロップまでのクロックの遅延情報が与えられる。これにより、専用のクロックポートのクロック情報=境界のフリップフロップのクロック情報を実現することができ、階層ブロック間にまたがって接続されるフリップフロップ間のクロック遅延の調整を容易に行うことができる。
【0028】
なお、階層ブロック数は2つ以上いくつのブロックに分割されていてもよい。また、共通および専用のクロックポートは1つずつに制限されるわけではなく、1つ以上いくつ設けられていてもよい。また、専用のクロックポートは、境界のフリップフロップに対して1つずつ設けることが望ましいが、境界のフリップフロップ数が多い場合には、複数の境界のフリップフロップに対して1つずつ専用のクロックポートを設けるようにしてもよい。
【0029】
本発明は、基本的に以上のようなものである。
以上、本発明の半導体集積回路のレイアウト設計方法について詳細に説明したが、本発明は上記実施形態に限定されず、本発明の主旨を逸脱しない範囲において、種々の改良や変更をしてもよいのはもちろんである。
【0030】
【発明の効果】
以上詳細に説明した様に、本発明の半導体集積回路のレイアウト設計方法は、内部回路を分割予定の複数の階層ブロックに分割し、階層ブロック内および階層ブロック間を仮配線して境界のフリップフロップを検出し、境界のフリップフロップに専用のクロックポートを設けて仮配線を変更し、続いて、内部回路を実際に複数の階層ブロックに分割し、変更された仮配線に従い、共通および専用のクロックポートをルートとして、階層ブロック内のクロックツリーを生成した後、クロックソースをルートとして、階層ブロック間のクロックツリーを生成するものである。
本発明の半導体集積回路のレイアウト設計方法によれば、専用のクロックポートに与えられている、専用のクロックポートから境界のフリップフロップまでのクロックの遅延情報により、境界のフリップフロップ間のクロック遅延やスキューを従来よりも正確に把握することができる。このため、境界のフリップフロップ間のクロック遅延の調整を容易に行うことができる。
【図面の簡単な説明】
【図1】本発明の半導体集積回路のレイアウト設計方法の第1の工程を説明する一実施形態のレイアウト概念図である。
【図2】本発明の半導体集積回路のレイアウト設計方法の第2の工程を説明する一実施形態のレイアウト概念図である。
【図3】本発明の半導体集積回路のレイアウト設計方法の第3の工程を説明する一実施形態のレイアウト概念図である。
【図4】従来の半導体集積回路のレイアウト設計方法の第1の工程を説明する一例のレイアウト概念図である。
【図5】従来の半導体集積回路のレイアウト設計方法の第2の工程を説明する一例のレイアウト概念図である。
【図6】従来の半導体集積回路のレイアウト設計方法の第3の工程を説明する一例のレイアウト概念図である。
【符号の説明】
10,12 半導体集積回路
14 クロックソース
CP1,CP2,CP3 クロックポート
SP1,SP2 専用クロックポート
I1,I2,I3 階層ブロック
FF11,FF12,FF13,FF21,FF22,FF31,FF32 フリップフロップ

Claims (1)

  1. 内部回路を、分割予定の複数の階層ブロックに分割し、
    前記階層ブロック内および前記階層ブロック間を仮配線してタイミング解析を行い、前記階層ブロック間にまたがって接続されている境界のフリップフロップを検出し、
    前記階層ブロック内に含まれる、前記境界のフリップフロップ以外のフリップフロップに共通のクロックポートとは別に、前記境界のフリップフロップに専用のクロックポートを設けて前記仮配線を変更し、
    前記内部回路を、前記複数の階層ブロックに分割し、前記変更された仮配線に従い、前記共通および専用のクロックポートをルートとして、前記階層ブロック内のクロックツリーをそれぞれ生成し、それぞれの前記階層ブロックの共通および専用のクロックポートに、各々対応するクロックツリーを介して供給されるクロックの遅延情報を与え、その後、前記変更された仮配線に従い、それぞれの前記階層ブロックの共通および専用のクロックポートに与えられたクロックの遅延情報に基づき、ルートクロックが供給されるクロックソースをルートとして、前記階層ブロック間のクロックツリーを生成することを特徴とする半導体集積回路のレイアウト設計方法。
JP2003094655A 2003-03-31 2003-03-31 半導体集積回路のレイアウト設計方法 Pending JP2004302819A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2003094655A JP2004302819A (ja) 2003-03-31 2003-03-31 半導体集積回路のレイアウト設計方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2003094655A JP2004302819A (ja) 2003-03-31 2003-03-31 半導体集積回路のレイアウト設計方法

Publications (1)

Publication Number Publication Date
JP2004302819A true JP2004302819A (ja) 2004-10-28

Family

ID=33407171

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2003094655A Pending JP2004302819A (ja) 2003-03-31 2003-03-31 半導体集積回路のレイアウト設計方法

Country Status (1)

Country Link
JP (1) JP2004302819A (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008210109A (ja) * 2007-02-26 2008-09-11 Nec Corp 半導体集積回路の設計方法および設計装置
JP2011529238A (ja) * 2008-07-30 2011-12-01 シノプシス, インコーポレイテッド 順序セルを接近配置する方法及び装置
US8141022B2 (en) 2006-07-06 2012-03-20 Nec Corporation Method and apparatus for hierarchical design of semiconductor integrated circuit

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8141022B2 (en) 2006-07-06 2012-03-20 Nec Corporation Method and apparatus for hierarchical design of semiconductor integrated circuit
JP2008210109A (ja) * 2007-02-26 2008-09-11 Nec Corp 半導体集積回路の設計方法および設計装置
JP2011529238A (ja) * 2008-07-30 2011-12-01 シノプシス, インコーポレイテッド 順序セルを接近配置する方法及び装置

Similar Documents

Publication Publication Date Title
US9098666B2 (en) Clock distribution network for 3D integrated circuit
JP4130006B2 (ja) 半導体装置
JP5798442B2 (ja) クロック分配回路及びクロック分配回路の形成方法
US9898035B2 (en) Clock synchronization method
JPH05159080A (ja) 論理集積回路
US7479825B2 (en) Clock forming method for semiconductor integrated circuit and program product for the method
JP2007027841A (ja) 半導体集積回路の設計装置と方法並びにプログラム
JP2001357090A (ja) 論理合成方法及び論理合成装置
JP3022426B2 (ja) クロック信号供給用集積回路及びその構成方法
JP2009187104A (ja) 半導体集積回路
JP2004302819A (ja) 半導体集積回路のレイアウト設計方法
JPH1197540A (ja) 半導体回路におけるクロック供給装置およびその設計方法
JP2000285144A (ja) デジタル回路およびそのクロック信号調整方法
JP3779073B2 (ja) クロック制御装置
JP2000294737A (ja) 半導体集積回路およびその製造方法
JP2007109773A (ja) 大規模半導体集積回路装置
JP3116915B2 (ja) クロックネットのレイアウト設計変更方式
US9715912B2 (en) Source synchronous clock generation circuits and methods for a system on a chip (SOC) data processing system
JP3614758B2 (ja) クロック位相調整システム及びクロックツリー設計方法
JPH08221473A (ja) 半導体集積回路及びそのレイアウト設計方法
JP2004241699A (ja) 半導体集積回路装置の設計方法
JP2004266034A (ja) 半導体集積回路、および半導体集積回路の設計方法
JP2004055762A (ja) 自動配線方法
JPH10242392A (ja) 半導体集積回路及び半導体集積回路のレイアウト方法
JP2003330990A (ja) 多電源対応論理ネットリスト、遅延情報抽出方法および論理タイミング検証方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20060228

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20080728

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: 20081202