JPH10308450A - 半導体集積回路及びその設計方法 - Google Patents
半導体集積回路及びその設計方法Info
- Publication number
- JPH10308450A JPH10308450A JP9115635A JP11563597A JPH10308450A JP H10308450 A JPH10308450 A JP H10308450A JP 9115635 A JP9115635 A JP 9115635A JP 11563597 A JP11563597 A JP 11563597A JP H10308450 A JPH10308450 A JP H10308450A
- Authority
- JP
- Japan
- Prior art keywords
- circuit
- buffer
- clock
- input gate
- stage
- 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.)
- Granted
Links
Landscapes
- Semiconductor Integrated Circuits (AREA)
- Design And Manufacture Of Integrated Circuits (AREA)
Abstract
(57)【要約】
【課題】 クロックラインの消費電力を抑えるゲーテッ
ドクロック回路のクロック信号が供給されるフリップフ
ロップ間の遅延時間差(スキュー)をなくすことができ
る回路及び設計方法を提供する。 【解決手段】 ルートバッファ11と該ルートバッファ
11から順に分岐した複数段のバッファ12,13と、
最終段多入力ゲート(NORゲート)20aおよび20
bの組合せからなるクロックツリー構造を持つゲーテッ
ドクロック回路であって、その接続関係は全セルの配置
後に生成する。また、クロックラインに接続されるFF
30a,30bを機能毎にクラスタリングした後、さら
に配置が近傍のFF間でクラスタリングすることによっ
て、各バッファ、多入力ゲートが駆動する負荷を一定に
する。このように設計することによって、スキューをな
くすことができる。
ドクロック回路のクロック信号が供給されるフリップフ
ロップ間の遅延時間差(スキュー)をなくすことができ
る回路及び設計方法を提供する。 【解決手段】 ルートバッファ11と該ルートバッファ
11から順に分岐した複数段のバッファ12,13と、
最終段多入力ゲート(NORゲート)20aおよび20
bの組合せからなるクロックツリー構造を持つゲーテッ
ドクロック回路であって、その接続関係は全セルの配置
後に生成する。また、クロックラインに接続されるFF
30a,30bを機能毎にクラスタリングした後、さら
に配置が近傍のFF間でクラスタリングすることによっ
て、各バッファ、多入力ゲートが駆動する負荷を一定に
する。このように設計することによって、スキューをな
くすことができる。
Description
【0001】
【発明の属する技術分野】本発明は、低電力な半導体集
積回路の設計方法に関し、特に、ゲーテッドクロック回
路の配置配線手法に関する。
積回路の設計方法に関し、特に、ゲーテッドクロック回
路の配置配線手法に関する。
【0002】
【従来の技術】半導体集積回路は、大規模化に伴い、ク
ロック同期回路として設計されることが一般的になって
いる。また近年、LSIチップの低電力化の要求が高く
なり、クロック信号で消費される電力を低減するクロッ
ク同期回路(ゲーテッドクロック回路)が用いられる。
その一例が、「1994年、アイ・イー・イー・イー・
インターナショナル・ソリッド−ステート・サーキット
・カンファレンス・ダイジェスト・オブ・テクニカル・
ペーパーズ、pp.201−203(1994IEEE
International Solid−Stat
e Circuits Conference,DIG
EST OF TECHNICAL PAPERS,p
p.201−203)」に記載されている。
ロック同期回路として設計されることが一般的になって
いる。また近年、LSIチップの低電力化の要求が高く
なり、クロック信号で消費される電力を低減するクロッ
ク同期回路(ゲーテッドクロック回路)が用いられる。
その一例が、「1994年、アイ・イー・イー・イー・
インターナショナル・ソリッド−ステート・サーキット
・カンファレンス・ダイジェスト・オブ・テクニカル・
ペーパーズ、pp.201−203(1994IEEE
International Solid−Stat
e Circuits Conference,DIG
EST OF TECHNICAL PAPERS,p
p.201−203)」に記載されている。
【0003】図5は、従来技術の構成を示す概念図であ
り、図5に示すように、クロックライン58a,58b
が多入力ゲート52a,52bに接続され、多入力ゲー
ト52a,52bの出力には各機能毎にまとめられたク
ロックツリー回路60A,60Bが接続される。クロッ
クツリー回路60A,60Bはクロック信号を増幅する
バッファ53,54、フリップフロップ55a,55b
がツリー状に構成されている。また多入力ゲートの入力
端子にはクロックイネーブルライン56a,56bによ
ってセレクタ回路57が接続されている。セレクタ回路
57からクロック制御信号を多入力ゲート52a,52
bに出力することによって、クロックツリー60A,6
0Bへのクロック信号の供給を制御する。
り、図5に示すように、クロックライン58a,58b
が多入力ゲート52a,52bに接続され、多入力ゲー
ト52a,52bの出力には各機能毎にまとめられたク
ロックツリー回路60A,60Bが接続される。クロッ
クツリー回路60A,60Bはクロック信号を増幅する
バッファ53,54、フリップフロップ55a,55b
がツリー状に構成されている。また多入力ゲートの入力
端子にはクロックイネーブルライン56a,56bによ
ってセレクタ回路57が接続されている。セレクタ回路
57からクロック制御信号を多入力ゲート52a,52
bに出力することによって、クロックツリー60A,6
0Bへのクロック信号の供給を制御する。
【0004】
【発明が解決しようとする課題】従来のゲーテッドクロ
ック回路の問題点は、クロック信号が供給されるフリッ
プフロップ(FF)間の遅延時間差(スキュー)が大き
くなることである。これについて、図5および図6を参
照しながら説明する。
ック回路の問題点は、クロック信号が供給されるフリッ
プフロップ(FF)間の遅延時間差(スキュー)が大き
くなることである。これについて、図5および図6を参
照しながら説明する。
【0005】図5において、機能Aの回路に含まれるF
F55aの数が機能Bの回路に含まれるFF55bの数
に比して大きい場合、クロックツリー60Aがチップを
占める面積もクロックツリー60Bがチップを占める面
積に比して大きくなる。したがって、多入力ゲート52
aからFF55aまでの配線長が長くなり、その配線遅
延は多入力ゲート52bからFF55bまでの配線遅延
に比べ大きくなる。また、クロックツリー60Bの各バ
ッファが駆動する負荷に対しクロックツリー60Aの各
バッファが駆動する負荷は大きくなりゲート遅延も大き
くなる。
F55aの数が機能Bの回路に含まれるFF55bの数
に比して大きい場合、クロックツリー60Aがチップを
占める面積もクロックツリー60Bがチップを占める面
積に比して大きくなる。したがって、多入力ゲート52
aからFF55aまでの配線長が長くなり、その配線遅
延は多入力ゲート52bからFF55bまでの配線遅延
に比べ大きくなる。また、クロックツリー60Bの各バ
ッファが駆動する負荷に対しクロックツリー60Aの各
バッファが駆動する負荷は大きくなりゲート遅延も大き
くなる。
【0006】このように、バッファ51からFF55a
までの遅延とバッファ51からFF55bまでの遅延の
差は大きくなってしまう。一般に、この遅延差はクロッ
クライン58bの配線長を58aより長くする冗長配線
によって吸収する。
までの遅延とバッファ51からFF55bまでの遅延の
差は大きくなってしまう。一般に、この遅延差はクロッ
クライン58bの配線長を58aより長くする冗長配線
によって吸収する。
【0007】しかし、前記冗長配線の配線抵抗および配
線容量によって多入力ゲート52bに入力されるクロッ
ク波形が鈍り、論理閾値電圧が変動した場合にスキュー
が生じる。例えば、図6に示すように、多入力ゲート5
2aの入力端子のクロック波形70aの波形鈍りが全く
なく、多入力ゲート52bの入力端子のクロック波形7
0bが3.0nsecの波形鈍りがあった場合、論理閾
値電圧VtからVt′へ10%変動するとクロック波形
70bはクロック波形70aに比べ“L”から“H”に
遷移するのに0.3nsec遅延が生じ、スキューが大
きくなる。
線容量によって多入力ゲート52bに入力されるクロッ
ク波形が鈍り、論理閾値電圧が変動した場合にスキュー
が生じる。例えば、図6に示すように、多入力ゲート5
2aの入力端子のクロック波形70aの波形鈍りが全く
なく、多入力ゲート52bの入力端子のクロック波形7
0bが3.0nsecの波形鈍りがあった場合、論理閾
値電圧VtからVt′へ10%変動するとクロック波形
70bはクロック波形70aに比べ“L”から“H”に
遷移するのに0.3nsec遅延が生じ、スキューが大
きくなる。
【0008】[発明の目的]クロックラインの消費電力
を抑えるゲーテッドクロック回路、及びそのクロック信
号が供給されるフリップフロップ間の遅延時間差(スキ
ュー)をなくすことができる回路及び設計方法を提供す
る。
を抑えるゲーテッドクロック回路、及びそのクロック信
号が供給されるフリップフロップ間の遅延時間差(スキ
ュー)をなくすことができる回路及び設計方法を提供す
る。
【0009】
【課題を解決するための手段】本発明は、前述した課題
を解決するための手段として、クロックツリーにつなが
るフリップフロップ(FF)を有し、該フリップフロッ
プの入力と前記クロックツリーを構成する最終段インバ
ータの出力との間に多入力ゲートを設け、該多入力ゲー
トに、動作の必要な前記FFのみを選択してクロック信
号を供給するべくセレクト信号を出力するセレクタ回路
が接続されていることを特徴とする半導体集積回路を有
するものである。
を解決するための手段として、クロックツリーにつなが
るフリップフロップ(FF)を有し、該フリップフロッ
プの入力と前記クロックツリーを構成する最終段インバ
ータの出力との間に多入力ゲートを設け、該多入力ゲー
トに、動作の必要な前記FFのみを選択してクロック信
号を供給するべくセレクト信号を出力するセレクタ回路
が接続されていることを特徴とする半導体集積回路を有
するものである。
【0010】また、ルートバッファと、該ルートバッフ
ァに接続するツリー構造の多段階の複数のバッファと、
該バッファの最終段の出力に接続する多入力ゲートと、
該多入力ゲートの出力に接続する複数のフリップフロッ
プ(FF)とを具備し、前記FFは、機能ごとにクラス
タリングされており、前記多入力ゲートに、必要な機能
の前記FFのみを選択してクロック信号を供給すべくセ
レクト信号を送るセレクタ回路が接続されていることを
特徴とする半導体集積回路でもある。
ァに接続するツリー構造の多段階の複数のバッファと、
該バッファの最終段の出力に接続する多入力ゲートと、
該多入力ゲートの出力に接続する複数のフリップフロッ
プ(FF)とを具備し、前記FFは、機能ごとにクラス
タリングされており、前記多入力ゲートに、必要な機能
の前記FFのみを選択してクロック信号を供給すべくセ
レクト信号を送るセレクタ回路が接続されていることを
特徴とする半導体集積回路でもある。
【0011】また、前記多入力ゲートは、NORゲート
であることを特徴とする半導体集積回路でもある。
であることを特徴とする半導体集積回路でもある。
【0012】更にまた、本発明は、前述した課題を解決
するための手段として、ルートバッファと該ルートバッ
ファから順に分岐した複数段のバッファと、最終段の多
入力ゲートとの組合せからなるクロックツリー構造を持
つゲーテッドクロック回路を有する半導体集積回路の設
計方法において、クロックラインに接続されるFF(フ
リップフロップ)を機能毎にクラスタリングする工程
と、さらに、配置が近傍の前記FF間でクラスタリング
する工程と、前記クラスタリングされたFFに前記多入
力ゲートを割り当てる工程と、前記多入力ゲートに接続
するクロックツリー構造の前記バッファを割り当てる工
程と、全セルの配置後にそれらの接続関係を生成する工
程と、を有することを特徴とする半導体集積回路の設計
方法を提供するものである。
するための手段として、ルートバッファと該ルートバッ
ファから順に分岐した複数段のバッファと、最終段の多
入力ゲートとの組合せからなるクロックツリー構造を持
つゲーテッドクロック回路を有する半導体集積回路の設
計方法において、クロックラインに接続されるFF(フ
リップフロップ)を機能毎にクラスタリングする工程
と、さらに、配置が近傍の前記FF間でクラスタリング
する工程と、前記クラスタリングされたFFに前記多入
力ゲートを割り当てる工程と、前記多入力ゲートに接続
するクロックツリー構造の前記バッファを割り当てる工
程と、全セルの配置後にそれらの接続関係を生成する工
程と、を有することを特徴とする半導体集積回路の設計
方法を提供するものである。
【0013】また、ルートバッファと、該ルートバッフ
ァから順に分岐した複数段のバッファと、最終段多入力
ゲートとの組合せからなるクロックツリー構造を持った
ゲーテッドクロック回路を有する半導体集積回路の設計
方法において、前記ゲーテッドクロック回路のバッファ
および前記多入力ゲート以外のセルの配置後に、仮バッ
ファと仮ゲート、仮ゲートに接続された各機能の回路に
含まれるフリップフロップ(FF)からなる仮クロック
ツリーから前記ゲーテッドクロック回路の専用ネットリ
ストを生成することを特徴とする設計方法であり、前記
ネットリスト生成工程においては、前記仮クロックツリ
ーの仮ネットリストから挿入するバッファの段階および
個数、最終段多入力ゲートの個数を決定する工程と、前
記仮ネットリストから各機能の回路に含まれるFF毎に
クラスタリングを行う機能クラスタリング工程と、前記
ゲーテッドクロック回路のバッファおよび多入力ゲート
以外のセルをフロアプラン後、配置し、前記機能クラス
タリング工程で生成したクラスタ内で、配置位置が近傍
のFF間でクラスタリングし、前記最終段多入力ゲート
が駆動するFFを決定する位置クラスタリング工程と、
前記位置クラスタリング工程において生成されたクラス
タを、配置が近傍のクラスタ間でさらにクラスタリング
し、前段のバッファが駆動する回路を決定する工程と、
同様にしてルートバッファまでの各段のバッファが駆動
する回路を決定する工程と、を含むことを特徴とする半
導体集積回路の設計方法を提供するものである。
ァから順に分岐した複数段のバッファと、最終段多入力
ゲートとの組合せからなるクロックツリー構造を持った
ゲーテッドクロック回路を有する半導体集積回路の設計
方法において、前記ゲーテッドクロック回路のバッファ
および前記多入力ゲート以外のセルの配置後に、仮バッ
ファと仮ゲート、仮ゲートに接続された各機能の回路に
含まれるフリップフロップ(FF)からなる仮クロック
ツリーから前記ゲーテッドクロック回路の専用ネットリ
ストを生成することを特徴とする設計方法であり、前記
ネットリスト生成工程においては、前記仮クロックツリ
ーの仮ネットリストから挿入するバッファの段階および
個数、最終段多入力ゲートの個数を決定する工程と、前
記仮ネットリストから各機能の回路に含まれるFF毎に
クラスタリングを行う機能クラスタリング工程と、前記
ゲーテッドクロック回路のバッファおよび多入力ゲート
以外のセルをフロアプラン後、配置し、前記機能クラス
タリング工程で生成したクラスタ内で、配置位置が近傍
のFF間でクラスタリングし、前記最終段多入力ゲート
が駆動するFFを決定する位置クラスタリング工程と、
前記位置クラスタリング工程において生成されたクラス
タを、配置が近傍のクラスタ間でさらにクラスタリング
し、前段のバッファが駆動する回路を決定する工程と、
同様にしてルートバッファまでの各段のバッファが駆動
する回路を決定する工程と、を含むことを特徴とする半
導体集積回路の設計方法を提供するものである。
【0014】また、前記ゲーテッドクロック回路のバッ
ファ、多入力ゲートの配置工程において、最終段から各
段ごとにルートバッファまで順に各多入力ゲートあるい
は各バッファが駆動する回路の重心座標に配置すること
を特徴とする半導体集積回路の設計方法でもある。
ファ、多入力ゲートの配置工程において、最終段から各
段ごとにルートバッファまで順に各多入力ゲートあるい
は各バッファが駆動する回路の重心座標に配置すること
を特徴とする半導体集積回路の設計方法でもある。
【0015】以上述べたように、本発明のゲーテッドク
ロック回路は、ルートバッファとルートバッファから順
に分岐した複数段のバッファと、最終段多入力ゲートの
組合せからなるクロックツリー構造を持ち、その接続関
係を全セルの配置後に生成する手段を有する。
ロック回路は、ルートバッファとルートバッファから順
に分岐した複数段のバッファと、最終段多入力ゲートの
組合せからなるクロックツリー構造を持ち、その接続関
係を全セルの配置後に生成する手段を有する。
【0016】また、最終段の多入力ゲートが駆動するF
Fは、クロックラインにつながる全FFを機能毎にクラ
スタリングした後、さらに配置位置が近傍のFF間でク
ラスタリングして決定し、前段のバッファの駆動する回
路は配置位置が近傍な回路でクラスタリングして決定す
ることにより、各多入力ゲート、各段のバッファが駆動
する負荷を一定とする手段を有する。
Fは、クロックラインにつながる全FFを機能毎にクラ
スタリングした後、さらに配置位置が近傍のFF間でク
ラスタリングして決定し、前段のバッファの駆動する回
路は配置位置が近傍な回路でクラスタリングして決定す
ることにより、各多入力ゲート、各段のバッファが駆動
する負荷を一定とする手段を有する。
【0017】[作用]本発明によれば、ルートバッファ
と該ルートバッファから順に分岐した複数段のバッファ
と、最終段多入力ゲート(NORゲート)の組合せから
なるクロックツリー構造を持つゲーテッドクロック回路
において、その接続関係を全セルの配置後に生成するこ
とにより、また、クロックラインに接続されるFFを機
能毎にクラスタリングした後、さらに配置が近傍のFF
間でクラスタリングすることによって、各バッファ、多
入力ゲートが駆動する負荷を一定にすることができ、こ
のように設計することによって、スキューをなくすこと
ができる。
と該ルートバッファから順に分岐した複数段のバッファ
と、最終段多入力ゲート(NORゲート)の組合せから
なるクロックツリー構造を持つゲーテッドクロック回路
において、その接続関係を全セルの配置後に生成するこ
とにより、また、クロックラインに接続されるFFを機
能毎にクラスタリングした後、さらに配置が近傍のFF
間でクラスタリングすることによって、各バッファ、多
入力ゲートが駆動する負荷を一定にすることができ、こ
のように設計することによって、スキューをなくすこと
ができる。
【0018】また、本発明によれば、多入力ゲートを最
終段に挿入することによって、クロックツリー構造のゲ
ーテッドクロック回路となり、冗長配線が不要になり、
波形鈍りによるスキューの発生をなくすことができる。
終段に挿入することによって、クロックツリー構造のゲ
ーテッドクロック回路となり、冗長配線が不要になり、
波形鈍りによるスキューの発生をなくすことができる。
【0019】またクロックツリー構造の接続関係を全セ
ルの配置後に生成する手段と、各段のバッファ、多入力
ゲートの駆動する負荷を一定とする手段とによって、ス
キューをなくすことができる。
ルの配置後に生成する手段と、各段のバッファ、多入力
ゲートの駆動する負荷を一定とする手段とによって、ス
キューをなくすことができる。
【0020】また、機能ごとに分けられたFFごとに、
NORゲート等の多入力ゲートが接続され、セレクタ回
路からのセレクト信号により、動作の不要な機能のFF
にはクロック信号を供給しないようにすることができる
ため、消費電力を小さくすることができる。
NORゲート等の多入力ゲートが接続され、セレクタ回
路からのセレクト信号により、動作の不要な機能のFF
にはクロック信号を供給しないようにすることができる
ため、消費電力を小さくすることができる。
【0021】
【発明の実施の形態】次に本発明の実施形態について図
面を参照して詳細に説明する。
面を参照して詳細に説明する。
【0022】図1は、本発明の実施形態の構成を示す回
路図であり、ルートバッファ11、1段目バッファ1
2、2段目バッファ13、リーフセルであるFFへのク
ロック信号の供給を制御する多入力ゲート20a,20
b、FF30a,FF30bがツリー状に接続されてゲ
ーテッドクロック回路を構成している。
路図であり、ルートバッファ11、1段目バッファ1
2、2段目バッファ13、リーフセルであるFFへのク
ロック信号の供給を制御する多入力ゲート20a,20
b、FF30a,FF30bがツリー状に接続されてゲ
ーテッドクロック回路を構成している。
【0023】多入力ゲート20aは機能Aの回路に含ま
れるFF30aに接続され、多入力ゲート20bは機能
Bの回路に含まれるFF30bに接続されている。多入
力ゲート20a,20bのクロックラインに接続されて
いない入力端子にはクロックイネーブルライン22aお
よび22bがそれぞれ接続されており、クロックイネー
ブルラインはセレクタ回路21に接続されている。セレ
クタ回路21ではクロック制御信号を生成する。多入力
ゲート20aは機能AのFFへのクロックの供給を制御
し、多入力ゲート20bは機能BのFFへのクロックの
供給を制御している。
れるFF30aに接続され、多入力ゲート20bは機能
Bの回路に含まれるFF30bに接続されている。多入
力ゲート20a,20bのクロックラインに接続されて
いない入力端子にはクロックイネーブルライン22aお
よび22bがそれぞれ接続されており、クロックイネー
ブルラインはセレクタ回路21に接続されている。セレ
クタ回路21ではクロック制御信号を生成する。多入力
ゲート20aは機能AのFFへのクロックの供給を制御
し、多入力ゲート20bは機能BのFFへのクロックの
供給を制御している。
【0024】次に、図1の回路の設計方法について、図
2および図3、図4を参照して説明する。
2および図3、図4を参照して説明する。
【0025】図3にセルの配置工程前のクロックツリー
の回路図が示されている。仮バッファ1(ツリー構造と
される前の段階のものなので「仮」と言うことにする)
の出力端子が仮ゲート2aおよび仮ゲート2bの入力端
子に接続されている。そして仮バッファ2aの出力端子
は機能Aの回路に含まれるFF30aに、仮バッファ2
bの出力端子は機能Bの回路に含まれるFF30bのク
ロック入力端子に接続されている。仮ゲート2aおよび
仮ゲート2bのクロックラインに接続されていない入力
端子はセレクタ回路21に接続されている。
の回路図が示されている。仮バッファ1(ツリー構造と
される前の段階のものなので「仮」と言うことにする)
の出力端子が仮ゲート2aおよび仮ゲート2bの入力端
子に接続されている。そして仮バッファ2aの出力端子
は機能Aの回路に含まれるFF30aに、仮バッファ2
bの出力端子は機能Bの回路に含まれるFF30bのク
ロック入力端子に接続されている。仮ゲート2aおよび
仮ゲート2bのクロックラインに接続されていない入力
端子はセレクタ回路21に接続されている。
【0026】この回路を含むネットリスト(接続情報の
一覧表)より、クロックツリーに接続される全FFのリ
ストであるリストAを作成する(ステップ101)。リ
ストAのメンバはFF名、各FFの入力端子容量とす
る。
一覧表)より、クロックツリーに接続される全FFのリ
ストであるリストAを作成する(ステップ101)。リ
ストAのメンバはFF名、各FFの入力端子容量とす
る。
【0027】次にチップのフロアプランを行う(ステッ
プ102)。各セルを機能毎にまとめて、各機能のセル
が配置できる範囲を指定する。図4(a)を参照する
と、例えば、LSIチップ200上に機能Aのセルを配
置する領域201Aを指定する。同様に他の各機能のセ
ルを配置する領域を指定する。
プ102)。各セルを機能毎にまとめて、各機能のセル
が配置できる範囲を指定する。図4(a)を参照する
と、例えば、LSIチップ200上に機能Aのセルを配
置する領域201Aを指定する。同様に他の各機能のセ
ルを配置する領域を指定する。
【0028】そして各セルの自動配置(コンピュータソ
フトウェアにより)を行う(ステップ103)。図4
(a)を参照すると、例えば、機能Aの回路に含まれる
FF30aはフロアプランで指定された領域201A内
に配置される。各機能のセルがまとまって配置されるた
め、各機能内の各セル間の配線は一般的に短くなる。
フトウェアにより)を行う(ステップ103)。図4
(a)を参照すると、例えば、機能Aの回路に含まれる
FF30aはフロアプランで指定された領域201A内
に配置される。各機能のセルがまとまって配置されるた
め、各機能内の各セル間の配線は一般的に短くなる。
【0029】ステップ101で作成したリストAから、
挿入するバッファの段数、各段のバッファ、多入力ゲー
トの個数を決定する(例えば、データベースのデータと
比較して各数を振り分けて、コンピュータ内の情報とし
て入力)(ステップ104および105)。下階層のバ
ッファあるいはNORの個数は上階層のバッファの整数
倍とする。例えば1段目バッファ4個、2段目バッファ
16個、最終段多入力ゲート64個とする。段数、各段
の個数が決定後、各段のバッファ、多入力ゲートが駆動
する負荷容量を算出する。
挿入するバッファの段数、各段のバッファ、多入力ゲー
トの個数を決定する(例えば、データベースのデータと
比較して各数を振り分けて、コンピュータ内の情報とし
て入力)(ステップ104および105)。下階層のバ
ッファあるいはNORの個数は上階層のバッファの整数
倍とする。例えば1段目バッファ4個、2段目バッファ
16個、最終段多入力ゲート64個とする。段数、各段
の個数が決定後、各段のバッファ、多入力ゲートが駆動
する負荷容量を算出する。
【0030】続いてFFのクラスタリング(clust
ering:群分け)を行う(ステップ106および1
07)。図3を参照すると、例えば、機能Aの回路に含
まれるFF30aは全て多入力ゲート2aに接続されて
いる。同様に機能Bの回路に含まれるFF30bは全て
多入力ゲート2bに接続されている。そこで、リストA
のFFを多入力ゲート2aに接続されているFFと多入
力ゲート2bに接続されているFFに分割し、リストB
を作成する(ステップ106)。リストBのメンバは機
能名、各機能内のFF名、各FFの入力端子容量および
配置座標とする。
ering:群分け)を行う(ステップ106および1
07)。図3を参照すると、例えば、機能Aの回路に含
まれるFF30aは全て多入力ゲート2aに接続されて
いる。同様に機能Bの回路に含まれるFF30bは全て
多入力ゲート2bに接続されている。そこで、リストA
のFFを多入力ゲート2aに接続されているFFと多入
力ゲート2bに接続されているFFに分割し、リストB
を作成する(ステップ106)。リストBのメンバは機
能名、各機能内のFF名、各FFの入力端子容量および
配置座標とする。
【0031】リストBの各クラスタ(群)のFFについ
て、配置位置が近傍であるFF間でクラスタリングし、
リストCを作成する(ステップ107)。各クラスタの
FFの入力端子容量の合計は多入力ゲートが駆動する負
荷容量と一値するようにクラスタリングを行う。リスト
Cのメンバはクラスタ名、機能名、各クラスタ内のFF
名、各クラスタ内FFの入力端子容量の合計およびクラ
スタの重心座標とする。
て、配置位置が近傍であるFF間でクラスタリングし、
リストCを作成する(ステップ107)。各クラスタの
FFの入力端子容量の合計は多入力ゲートが駆動する負
荷容量と一値するようにクラスタリングを行う。リスト
Cのメンバはクラスタ名、機能名、各クラスタ内のFF
名、各クラスタ内FFの入力端子容量の合計およびクラ
スタの重心座標とする。
【0032】図4(b)を参照すると、たとえば機能A
の回路に含まれるFFを配置位置が近傍のFF間でクラ
スタリングし、クラスタ3aを作成している。リストC
は最終段の各多入力ゲートが駆動するFFのリストであ
り、各クラスタ名が挿入する各多入力ゲートの名称とな
る。
の回路に含まれるFFを配置位置が近傍のFF間でクラ
スタリングし、クラスタ3aを作成している。リストC
は最終段の各多入力ゲートが駆動するFFのリストであ
り、各クラスタ名が挿入する各多入力ゲートの名称とな
る。
【0033】さらに、リストCのクラスタで、配置位置
が近傍のクラスタを結合し新たなクラスタを作り、リス
トDを作成する(ステップ108および109)。リス
トDのクラスタ数は前段のバッファ数と同一とし、各ク
ラスタは負荷容量を均一になるようにクラスタリングを
行う。リストDのメンバは、クラスタ名、各クラスタ内
のリストCのクラスタ名、および各クラスタ内FFの入
力端子容量の合計およびクラスタの重心座標とする。リ
ストDのクラスタ名が挿入するバッファの名称となる。
が近傍のクラスタを結合し新たなクラスタを作り、リス
トDを作成する(ステップ108および109)。リス
トDのクラスタ数は前段のバッファ数と同一とし、各ク
ラスタは負荷容量を均一になるようにクラスタリングを
行う。リストDのメンバは、クラスタ名、各クラスタ内
のリストCのクラスタ名、および各クラスタ内FFの入
力端子容量の合計およびクラスタの重心座標とする。リ
ストDのクラスタ名が挿入するバッファの名称となる。
【0034】挿入するバッファが複数段の場合はステッ
プ108〜109を繰り返す。
プ108〜109を繰り返す。
【0035】ステップ101〜109で作成されたリス
トを基にバッファおよびNORを挿入したネットリスト
を作成する(ステップ110)。
トを基にバッファおよびNORを挿入したネットリスト
を作成する(ステップ110)。
【0036】次に多入力ゲートおよびバッファの配置を
行う(ステップ111〜114,121〜123)。最
終段から前段にむかって、各段毎に配置を行う。配置位
置は、バッファあるいは多入力ゲートの駆動するセル群
の重心とする。
行う(ステップ111〜114,121〜123)。最
終段から前段にむかって、各段毎に配置を行う。配置位
置は、バッファあるいは多入力ゲートの駆動するセル群
の重心とする。
【0037】バッファあるいは多入力ゲートを挿入した
ことによってセルの配置に重なりが生じた場合、重なり
をほぐし、セルの移動が最小限となるよう再配置を行う
(ステップ121〜123)。
ことによってセルの配置に重なりが生じた場合、重なり
をほぐし、セルの移動が最小限となるよう再配置を行う
(ステップ121〜123)。
【0038】全バッファ、多入力ゲートの配置工程の終
了後、バッファ出力端子と次段バッファあるいは多入力
ゲートの入力端子の配線を行う(ステップ115)。出
力端子から各入力端子の配線長が一律となるよう配線す
る。
了後、バッファ出力端子と次段バッファあるいは多入力
ゲートの入力端子の配線を行う(ステップ115)。出
力端子から各入力端子の配線長が一律となるよう配線す
る。
【0039】ステップ115の終了後、全セルの配線を
行う(ステップ116)。
行う(ステップ116)。
【0040】
【発明の効果】本発明の効果は、ゲーテッドクロック回
路のスキューをなくすことができ、ルートバッファから
FFまでの遅延を小さくできることにある。この結果、
誤動作のおそれの少ない低電力な半導体集積回路が得ら
れるという効果を有する。
路のスキューをなくすことができ、ルートバッファから
FFまでの遅延を小さくできることにある。この結果、
誤動作のおそれの少ない低電力な半導体集積回路が得ら
れるという効果を有する。
【0041】その理由は、クロックスキューによるタイ
ミング違反のない回路が得られるためである。また、ク
ロック信号によって電力は7割以上がFFで消費されて
おり、FFへのクロックの供給を制御するだけで(動作
の不要なFFへのクロック供給をしないようにすること
により)電力消費を抑えることができるためである。
ミング違反のない回路が得られるためである。また、ク
ロック信号によって電力は7割以上がFFで消費されて
おり、FFへのクロックの供給を制御するだけで(動作
の不要なFFへのクロック供給をしないようにすること
により)電力消費を抑えることができるためである。
【図1】本発明の一実施形態の回路図である。
【図2】本発明の設計方法を示すフローチャートであ
る。
る。
【図3】本発明のクロックツリーネット生成工程前の一
実施形態の回路図である。
実施形態の回路図である。
【図4】本発明のクラスタリング工程での一実施形態の
平面図である。
平面図である。
【図5】従来技術の構成を示す概念図である。
【図6】従来技術の動作を説明するための波形図であ
る。
る。
1 仮バッファ 2a〜2b 仮ゲート 3a〜3b クラスタ 11 ルートバッファ 12 1段目バッファ 13 2段目バッファ 20a〜20b 多入力ゲート 21 セレクタ回路 22a〜22b クロックイネーブルライン 30a〜30b フリップフロップ 200 LSIチップ 201A〜201B フロアプランで指定した領域
Claims (6)
- 【請求項1】 クロックツリーにつながるフリップフロ
ップ(FF)を有し、該フリップフロップの入力と前記
クロックツリーを構成する最終段インバータの出力との
間に多入力ゲートを設け、該多入力ゲートに、動作の必
要な前記FFのみを選択してクロック信号を供給するべ
くセレクト信号を出力するセレクタ回路が接続されてい
ることを特徴とする半導体集積回路。 - 【請求項2】 ルートバッファと、該ルートバッファに
接続するツリー構造の多段階の複数のバッファと、該バ
ッファの最終段の出力に接続する多入力ゲートと、該多
入力ゲートの出力に接続する複数のフリップフロップ
(FF)とを具備し、 前記FFは、機能ごとにクラスタリングされており、 前記多入力ゲートに、必要な機能の前記FFのみを選択
してクロック信号を供給すべくセレクト信号を送るセレ
クタ回路が接続されていることを特徴とする半導体集積
回路。 - 【請求項3】 前記多入力ゲートは、NORゲートであ
ることを特徴とする請求項1又は2記載の半導体集積回
路。 - 【請求項4】 ルートバッファと該ルートバッファから
順に分岐した複数段のバッファと、最終段の多入力ゲー
トとの組合せからなるクロックツリー構造を持つゲーテ
ッドクロック回路を有する半導体集積回路の設計方法に
おいて、 クロックラインに接続されるFF(フリップフロップ)
を機能毎にクラスタリングする工程と、 さらに、配置が近傍の前記FF間でクラスタリングする
工程と、 前記クラスタリングされたFFに前記多入力ゲートを割
り当てる工程と、 前記多入力ゲートに接続するクロックツリー構造の前記
バッファを割り当てる工程と、 全セルの配置後にそれらの接続関係を生成する工程と、
を有することを特徴とする半導体集積回路の設計方法。 - 【請求項5】 ルートバッファと、該ルートバッファか
ら順に分岐した複数段のバッファと、最終段多入力ゲー
トとの組合せからなるクロックツリー構造を持ったゲー
テッドクロック回路を有する半導体集積回路の設計方法
において、 前記ゲーテッドクロック回路のバッファおよび前記多入
力ゲート以外のセルの配置後に、仮バッファと仮ゲー
ト、仮ゲートに接続された各機能の回路に含まれるフリ
ップフロップ(FF)からなる仮クロックツリーから前
記ゲーテッドクロック回路の専用ネットリストを生成す
ることを特徴とする設計方法であり、 前記ネットリスト生成工程においては、前記仮クロック
ツリーの仮ネットリストから、挿入するバッファの段階
および個数、最終段多入力ゲートの個数を決定する工程
と、 前記仮ネットリストから各機能の回路に含まれる前記F
F毎にクラスタリングを行う機能クラスタリング工程
と、 前記ゲーテッドクロック回路のバッファおよび多入力ゲ
ート以外のセルをフロアプラン後、配置し、前記機能ク
ラスタリング工程で生成したクラスタ内で、配置位置が
近傍の前記FF間でクラスタリングし、前記最終段多入
力ゲートが駆動する前記FFを決定する位置クラスタリ
ング工程と、 前記位置クラスタリング工程において生成されたクラス
タを、配置が近傍のクラスタ間でさらにクラスタリング
し、前段のバッファが駆動する回路を決定する工程と、 同様にしてルートバッファまでの各段のバッファが駆動
する回路を決定する工程と、を含むことを特徴とする半
導体集積回路の設計方法。 - 【請求項6】 前記ゲーテッドクロック回路のバッファ
及び多入力ゲートの配置は、 前記最終段から各段ごとに、前記ルートバッファまで順
に、前記各多入力ゲートあるいは各バッファが駆動する
回路の重心座標に配置することを特徴とする請求項5記
載の半導体集積回路の設計方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP11563597A JP3178371B2 (ja) | 1997-05-06 | 1997-05-06 | 半導体集積回路の設計方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP11563597A JP3178371B2 (ja) | 1997-05-06 | 1997-05-06 | 半導体集積回路の設計方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH10308450A true JPH10308450A (ja) | 1998-11-17 |
JP3178371B2 JP3178371B2 (ja) | 2001-06-18 |
Family
ID=14667532
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP11563597A Expired - Fee Related JP3178371B2 (ja) | 1997-05-06 | 1997-05-06 | 半導体集積回路の設計方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3178371B2 (ja) |
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6440780B1 (en) | 1999-07-12 | 2002-08-27 | Matsushita Electric Industrial Co., Ltd. | Method of layout for LSI |
US6476639B2 (en) | 2000-02-22 | 2002-11-05 | Kabushiki Kaisha Toshiba | Semiconductor integrated circuit device capable of producing output thereof without being influenced by other input |
US6753702B2 (en) * | 2001-08-29 | 2004-06-22 | Nec Electronics Corporation | Semiconductor integrated circuit and its layout method |
JP2006211494A (ja) * | 2005-01-31 | 2006-08-10 | Matsushita Electric Ind Co Ltd | クロック供給回路、半導体システムおよびその設計方法 |
JP2009129325A (ja) * | 2007-11-27 | 2009-06-11 | Toshiba Corp | 回路設計方法 |
JP2009152451A (ja) * | 2007-12-21 | 2009-07-09 | Texas Instr Japan Ltd | 集積回路装置とそのレイアウト設計方法 |
US7689855B2 (en) | 2005-11-25 | 2010-03-30 | Canon Kabushiki Kaisha | Clock supplying apparatus and control method thereof |
JP2017175137A (ja) * | 2009-10-30 | 2017-09-28 | 株式会社半導体エネルギー研究所 | 半導体装置 |
JP2020009398A (ja) * | 2018-07-09 | 2020-01-16 | 廣達電腦股▲ふん▼有限公司Quanta Computer Inc. | 電子システムでのファンの制御方法 |
JP2021012500A (ja) * | 2019-07-05 | 2021-02-04 | 東芝情報システム株式会社 | 半導体集積回路の設計装置及びその設計用プログラム |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2009187104A (ja) | 2008-02-04 | 2009-08-20 | Panasonic Corp | 半導体集積回路 |
-
1997
- 1997-05-06 JP JP11563597A patent/JP3178371B2/ja not_active Expired - Fee Related
Cited By (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6440780B1 (en) | 1999-07-12 | 2002-08-27 | Matsushita Electric Industrial Co., Ltd. | Method of layout for LSI |
US6476639B2 (en) | 2000-02-22 | 2002-11-05 | Kabushiki Kaisha Toshiba | Semiconductor integrated circuit device capable of producing output thereof without being influenced by other input |
US6753702B2 (en) * | 2001-08-29 | 2004-06-22 | Nec Electronics Corporation | Semiconductor integrated circuit and its layout method |
JP2006211494A (ja) * | 2005-01-31 | 2006-08-10 | Matsushita Electric Ind Co Ltd | クロック供給回路、半導体システムおよびその設計方法 |
US7336116B2 (en) | 2005-01-31 | 2008-02-26 | Matsushita Electric Industrial Co., Ltd. | Clock supply circuit |
US7689855B2 (en) | 2005-11-25 | 2010-03-30 | Canon Kabushiki Kaisha | Clock supplying apparatus and control method thereof |
JP2009129325A (ja) * | 2007-11-27 | 2009-06-11 | Toshiba Corp | 回路設計方法 |
JP2009152451A (ja) * | 2007-12-21 | 2009-07-09 | Texas Instr Japan Ltd | 集積回路装置とそのレイアウト設計方法 |
JP2017175137A (ja) * | 2009-10-30 | 2017-09-28 | 株式会社半導体エネルギー研究所 | 半導体装置 |
JP2020009398A (ja) * | 2018-07-09 | 2020-01-16 | 廣達電腦股▲ふん▼有限公司Quanta Computer Inc. | 電子システムでのファンの制御方法 |
JP2021012500A (ja) * | 2019-07-05 | 2021-02-04 | 東芝情報システム株式会社 | 半導体集積回路の設計装置及びその設計用プログラム |
Also Published As
Publication number | Publication date |
---|---|
JP3178371B2 (ja) | 2001-06-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR100423594B1 (ko) | 혼합형 공급 전압 설계용 전압 아일런드를 논리적 및 물리적으로 동시에 구성하는 방법 및 저장 매체 | |
US5140184A (en) | Clock feeding circuit and clock wiring system | |
US5923188A (en) | Clock signal distribution circuit of tree structure with minimized skew | |
US7480883B2 (en) | Multiple voltage integrated circuit and design method therefor | |
US6440780B1 (en) | Method of layout for LSI | |
US6445065B1 (en) | Routing driven, metal programmable integrated circuit architecture with multiple types of core cells | |
US6498515B2 (en) | Semiconductor integrated circuit and method for designing the same | |
US7795943B2 (en) | Integrated circuit device and layout design method therefor | |
US7107557B2 (en) | Method for calculation of cell delay time and method for layout optimization of semiconductor integrated circuit | |
Mak et al. | Voltage island generation under performance requirement for SoC designs | |
US20030023938A1 (en) | LSI layout method and apparatus for cell arrangement in which timing is prioritized | |
JP3178371B2 (ja) | 半導体集積回路の設計方法 | |
JP3629250B2 (ja) | 半導体集積回路のレイアウト方法及び半導体集積回路 | |
US7089510B2 (en) | Method and program product of level converter optimization | |
US6938232B2 (en) | Floorplanning apparatus deciding floor plan using logic seeds associated with hierarchical blocks | |
EP0544164A1 (en) | Semi custom-made integrated circuit having clock synchronous circuit improved in clock skew | |
US6269468B1 (en) | Split I/O circuit for performance optimization of digital circuits | |
US20020162078A1 (en) | Digital logic circuits used to design integrated circuits | |
US20040237055A1 (en) | Logic circuit optimizing method, logic circuit optimizing device and logic circuit composing device | |
JP2001267429A (ja) | レイアウト設計装置およびレイアウト設計方法 | |
Kutzschebauch et al. | Layout driven decomposition with congestion consideration | |
JP3804901B2 (ja) | 回路素子を配置する配置装置および方法 | |
JP2000172367A (ja) | クロック信号分配方法及びクロック分配回路 | |
Абазян | H-TYPE CLOCK TREE COMBINED WITH COMPLEX BUFFER TREE | |
GB2209857A (en) | Manufacture of integrated circuits |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
LAPS | Cancellation because of no payment of annual fees |