JP2002245109A - 半導体集積回路の設計方法及び設計システム - Google Patents

半導体集積回路の設計方法及び設計システム

Info

Publication number
JP2002245109A
JP2002245109A JP2001038678A JP2001038678A JP2002245109A JP 2002245109 A JP2002245109 A JP 2002245109A JP 2001038678 A JP2001038678 A JP 2001038678A JP 2001038678 A JP2001038678 A JP 2001038678A JP 2002245109 A JP2002245109 A JP 2002245109A
Authority
JP
Japan
Prior art keywords
clock
flip
flop
flops
machine cycle
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
Application number
JP2001038678A
Other languages
English (en)
Other versions
JP4218924B2 (ja
Inventor
Tetsuo Sasaki
哲雄 佐々木
Yousuke Nagao
葉介 長尾
Takemoto Ishii
建基 石井
Itaru Matsumoto
格 松本
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.)
Hitachi Software Engineering Co Ltd
Hitachi Ltd
Hitachi Information Technology Co Ltd
Original Assignee
Hitachi Software Engineering Co Ltd
Hitachi Ltd
Hitachi Information Technology 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 Hitachi Software Engineering Co Ltd, Hitachi Ltd, Hitachi Information Technology Co Ltd filed Critical Hitachi Software Engineering Co Ltd
Priority to JP2001038678A priority Critical patent/JP4218924B2/ja
Priority to US10/073,312 priority patent/US6944840B2/en
Publication of JP2002245109A publication Critical patent/JP2002245109A/ja
Application granted granted Critical
Publication of JP4218924B2 publication Critical patent/JP4218924B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

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

Abstract

(57)【要約】 【課題】 半導体集積回路の論理設計及び実装設計で対
策を行う物量を最小限に抑え、最小マシンサイクルを実
現する。 【解決手段】 論理設計及び実装設計段階で得られた各
フリップフロップ間のパスディレイと目標マシンサイク
ルを入力として、パスディレイが目標マシンサイクル以
上であるパスに対して、そのパスを含む閉ループを抽出
し、この閉ループ上で必要なサイクル数でデータ転送が
可能となるように各フリップフロップのクロック信号の
タイミング時刻を調整する。このとき、目標マシンサイ
クルでデータ転送が不可能となるようなパスあるいはそ
のパスを含む閉ループだけを、修正のために列挙する。
また、半導体集積回路チップをいくつかの領域に分割
し、クロックソースピンから各領域内の最終段クロック
アンプまでのクロック信号を、最速ディレイとなるよう
に途中にアンプを経由し、幅広配線及び隣接配線チャネ
ルをシールドする。各フリップフロップへのクロック信
号の供給方法としては、クロックタイミング時刻の調整
範囲が異なる複数の方法を組み合わせて用いる。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、半導体集積回路の
設計方法及び設計システムに係り、特に、論理設計及び
実装設計で対策を行う物量を最小限に抑え、最小マシン
サイクルを実現することを可能にした半導体集積回路の
設計方法及び設計システムに関する。
【0002】
【従来の技術】フリップフロップのクロックタイミング
時刻を調整して、マシンサイクルを短縮していく方法に
関する従来技術として、例えば、A.Takahashi and Y.Ka
jitani,“Performance and reliability driven clock
scheduling of sequential logic circuits,” in Pro
c. ASP-DAC '97,pp.37-42,1997. 等に記載された技術が
知られている。この従来技術は、フリップフロップ間の
信号伝播遅延時間(以下、パスディレイという)が与え
られているとき、フリップフロップ間の信号伝播経路
(以下、単に、パスという)の信号伝播が行い得る範囲
で各フリップフロップに入力するクロック信号のタイミ
ング時刻を変えることにより、クロック周期をパスの信
号遅延時間の最大値よりも速くすることができるように
するというものである。
【0003】また、フリップフロップのクロックタイミ
ング時刻の調整方法に関する従来技術として、例えば、
「CAD21成果報告書1998年度」(東京工業大学CAD21研究
体)の「準同期式回路におけるスケジュールクロック木
の構成」(P.54)に報告されている技術が知られている。
この従来技術は、最短距離にある2つのフリップフロッ
プを結合していき、結合したフリップフロップ間の中点
の集合からまた最短距離にあるものを結合していき、最
後にクロックソースピンに接続するというZero-Skew cl
ock-tree Routingのアルゴリズムに対して、2つのフリ
ップフロップ間にクロックタイミング時刻の差があると
きのディレイ差調整用の迂回配線の長さと、遠くのクロ
ックタイミング時刻の差が小さいフリップフロップを接
続するときの配線長の増加分とをコストとして定義し、
コストが最小となる2つのフリップフロップを結合して
いくというものである。
【0004】
【発明が解決しようとする課題】前述した従来技術を用
いて半導体集積回路を高速化する場合、以下に説明する
ような問題があった。
【0005】まず、第1の問題は、設計工数が大きくな
るということである。すなわち、前述した従来技術は、
パスディレイが与えられているとき、最大のパスディレ
イよりもクロック周期を速くしても信号を取り込むこと
ができるように、各フリップフロップのクロックタイミ
ング時刻を調整するというものである。このとき、クロ
ック周期の限界を決定するものは、複数のパスを辿って
できる閉ループの合計信号伝播遅延時間と、閉ループで
のデータ転送に必要なサイクル数の比率が一番大きいも
のである。このような従来技術を用いて回路を高速化す
る場合、その設計は、まず、同期回路と考えて個々のパ
スディレイを目標のマシンサイクル近くになるまで設計
を行っておき、その後、準同期回路として考えて各フリ
ップフロップのクロックタイミング時刻を調整してクロ
ック周期を最小化するという方法で行われる。そして、
求められたクロック周期が目標マシンサイクルよりも大
きい場合、クロック周期を決定した閉ループ上のパスに
ついて遅延時間を短縮するように設計変更する。これを
クロック周期が目標マシンサイクルになるまで繰り返す
ということになる。
【0006】このため、前述の従来技術は、クロック周
期を決定した閉ループ上のパスについて1つづつ対策し
ていくことになり、目標マシンサイクルに到達するのに
非常に多くの時間と実装設計の工数とが必要となるとい
う問題点を生じてしまう。
【0007】また、前述した従来技術は、同期回路と考
えて個々のパスディレイを目標マシンサイクルに近づけ
るところで、多くのパスについて対策を施した方が収束
が速いが、準同期回路として考えたとき、結果的、遅延
時間を短縮するような設計変更が不要であったパスが多
数存在することになり、それらのパスに対するパス上の
論理段数の削減やファンアウト数の削減といった論理設
計の変更、あるいは、セル配置や配線パターンの修正と
いった実装設計での修正にかかる設計工数が多くなって
しまうという問題点を有している。
【0008】第2の問題は、フリップフロップのクロッ
クタイミング時刻の調整方法に関して次に説明するよう
な問題点があることである。
【0009】(1)前述の従来技術は、2つのフリップ
フロップ間にクロックタイミング時刻の差があるときの
ディレイ差調整用の迂回配線を設けるが、迂回配線によ
るディレイの変動分には、クロックソースピンからの迂
回配線までの距離に依存して値が異なるという性質があ
る。従って、従来技術のようにボトムアップに処理を行
う方法は、見積もった迂回配線によるディレイ調整値
が、クロックツリー配線を完成させてクロックソースピ
ンまで接続した時点で途中に迂回配線があると前記ディ
レイ調整値が代わってくるという問題がある。これは、
フリップフロップの数が多くなり、クロック信号の配線
長が長くなる程大きくなっていく。
【0010】(2)前述の従来技術は、クロックソース
ピンからフリップフロップ間までを1つの信号配線で接
続するため非常に配線長が長くなり、ディレイ値も大き
くなる。また、半導体集積回路での配線幅の微細加工精
度からくるディレイの変動分が配線長に応じて大きくな
り高速な半導体集積回路を設計することが非常に困難と
なる。
【0011】(3)一方、クロックソースピンまでの配
線長を短縮するため、半導体集積回路を複数の領域に分
割することが容易に考えられる。しかし、この場合、領
域内のフリップフロップ間ではクロックタイミング時刻
を揃えることができるが、領域間のフリップフロップ数
の差や必要とするクロックタイミング時刻のばらつき具
合によって各領域のクロックソースピンからフリップフ
ロップまでのディレイ値(以下、クロックディレイとい
う)が変わってしまう。
【0012】(4)さらに、配線パターンの隣接配線チ
ャネルを他の信号配線が通過すると、両者の間に並行配
線容量が発生してディレイが大きくなる。そして、クロ
ックソースピンからフリップフロップ間までの配線長が
長くなると、この並行配線容量も大きくなり、ディレイ
値が大きくなる。また、局所的な配線混雑の疎密が存在
するため、各フリップフロップに到達するクロックタイ
ミング時刻に差が現れてしまう。
【0013】前述で説明した従来技術は、フリップフロ
ップのクロックタイミング時刻の調整方法に関して前述
したような問題点があるため、調整しようとするクロッ
クタイミング時刻からの誤差が大きくなってしまうとい
う問題点を生じている。
【0014】本発明の目的は、前述した従来技術の問題
点を解決し、半導体集積回路の論理設計及び実装設計で
対策を行う物量を最小限に抑え、最小マシンサイクルを
実現することを可能にした半導体集積回路の設計方法及
び設計システムを提供することにある。
【0015】
【課題を解決するための手段】本発明によれば前記目的
は、半導体集積回路のチップをいくつかの領域に分割し
て、クロックソースピンから各領域へのクロック信号の
分配を高速でかつノイズ等の影響を受け難い転送形態で
行い、各領域に複数のクロックピンを用意しておき、半
導体集積回路内の各フリップフロップに対して、目標マ
シンサイクルでフリップフロップ間のデータ転送ができ
るようにクロックタイミング時刻の調整を行う半導体集
積回路の設計方法において、前記フリップフロップに入
力するクロック信号のタイミング時刻を調整する方法と
して、調整可能範囲が異なる複数の方法を用い、前記領
域内の各フリップフロップが要求するクロックタイミン
グ時刻毎にフリップフロップをグループ化し、これらを
別々のクロックピンに対して各フリップフロップの要求
に合わせてクロックタイミング時刻を調整して接続し、
その際、配線長を延長することによってクロックタイミ
ング時刻を調整する方法に制限を設け、他の複数のタイ
ミング調整方法と組み合わせることにより各フリップフ
ロップが要求するクロックタイミング時刻を得ることに
より達成される。
【0016】また、前記目的は、前記得られた各フリッ
プフロップのクロックタイミング時刻を網羅し、各フリ
ップフロップ間の信号伝播経路のデータ転送に要する最
大の遅延時間と最小の遅延時間とマシンサイクルの目標
値とに応じて、複数の信号伝播経路から構成される閉ル
ープを抽出し、目標マシンサイクルでその閉ループでの
データ転送に必要なサイクル数でデータ転送を行うこと
ができるように、閉ループ上の各フリップフロップに対
して、各フリップフロップのタイミング時刻をそれらが
とり得るクロックタイミング時刻の中から選択すること
とし、選択範囲外のクロックタイミング時刻の要求があ
る場合と、目標マシンサイクルでデータ転送が不可能と
なる場合のみ、当該フリップフロップ間の信号伝播経路
あるいはそれを含む閉ループを列挙して、論理設計及び
実装設計での対策を行うことにより達成される。
【0017】
【発明の実施の形態】以下、本発明による半導体集積回
路の設計方法の一実施形態を図面により詳細に説明す
る。
【0018】図1は本発明が適用される半導体集積回路
のクロック信号の分配回路の基本的な構造の例を説明す
る図、図2はフリップフロップのクロックタイミング時
刻を遅らせる方法の例を説明する図、図3はフリップフ
ロップのクロックタイミング時刻を遅らせる方法のさら
に他の例を説明する図、図4はフリップフロップのクロ
ックタイミング時刻を速くする方法の例を説明する図、
図5は図1に示すクロック信号の分配回路に対して、図
2〜図4に示すクロック調整方法を適用した場合のクロ
ックタイミング時刻の調整可能範囲を説明する図であ
る。図1〜図4において、101は領域分割線、102
はクロック給電領域、103はクロックソースピン、1
04は幅広配線、105はシールド、106は中継アン
プ、107、204。301、404は最終段アンプ、
108はフリップフロップ、201は迂回配線、20
2、403はディレイ素子、203はファンアウトが多
いネット、401は前段アンプ、402は反転回路であ
る。
【0019】本発明が適用される半導体集積回路は、図
1に示すように、半導体チップを縦または横、あるい
は、両者の領域分割線101によって幾つかのクロック
給電領域102に分割して構成される。図1には、4つ
の給電領域に分割した例を示しているが、給電領域の数
は任意である。そして、半導体チップ上のある1個所に
設けられるクロックソースピン103から各クロック給
電領域にクロック信号を分配する。クロックソースピン
103から各クロック給電領域102内の最終段クロッ
クアンプ107までのディレイは、最速でかつ全ての最
終段クロックアンプ107に同じ時刻に信号が到達する
ように設定される。
【0020】このため、図示クロック信号の分配回路
は、配線の途中に中継アンプ106を設け、クロックア
ンプ間の配線として配線抵抗によるディレイの短縮と微
細加工精度からくるディレイの変動分の軽減とを図るた
めに幅広配線104を使用して構成される。さらに、必
要に応じて、隣接配線チャネルを他の信号配線が通過す
ることによって並行配線容量が増加することを抑止する
ために隣接配線チャネルにシールド105を施す。各ク
ロック給電領域102には、そのの大きさに応じて1つ
あるいは複数のクロックピンを用意しておく。そして、
領域内に存在する複数のフリップフロップ108は、配
置されている距離が近いもので配線長が均一となるよう
にグループ化され、クロック最終段アンプ107に接続
される。複数のクロックピンを用意することにより、同
一領域内に要求するクロックタイミング時刻が異なるフ
リップフロップが存在する場合にも、ディレイを調整す
ることが可能となり、さらに、領域間におけるフリップ
フロップの数のばらつきを吸収することができる。
【0021】次に、図2、図3を参照して、クロックデ
ィレイを大きくする、すなわち、クロックを遅らせる方
法について説明する。
【0022】図2(a)に示す例は、最終段クロックア
ンプからフリップフロップまでの配線を迂回配線201
として、その配線長によりディレイを調整するようにし
た例である。図2(b)に示す例は、最終段クロックア
ンプからフリップフロップまでの間にディレイ素子20
2を挿入し、このディレイ素子202によりディレイを
調整するようにした例である。図2(c)に示す例は、
大きいクロックディレイを要求するフリップフロップが
多数存在する場合に、1グループのフリップフロップの
数を多くして、最終段クロックアンプから複数のフリッ
プフロップまでの間をファンアウトが多いネット203
により接続するようにしたもので、配線長を増加させる
だけでなく、フリップフロップのクロック入力ピンがも
つピン容量を増加させてディレイを調整するようにした
例である。図2(d)に示す例は、最終段クロックアン
プをディレイの大きいディレイタイプの最終段アンプ2
04としてディレイを調整するようにした例である。図
3(a)に示す例は、隣のクロック給電領域の最終段ア
ンプ301からクロック信号を給電して配線長を延ばす
ことによりディレイを調整するようにした例である。ま
た、図3(b)に示す例は、最終段クロックアンプから
フリップフロップまでのネットを迂回配線201とする
と共に、ディレイ素子202を挿入したもので、その配
線長とディレイ素子202とによりディレイを調整する
ようにした例である。
【0023】次に、図4を参照して、クロックディレイ
を小さくする、すなわち、クロックを早める方法につい
て説明する。
【0024】図4(a)に示す例は、クロック給電領域
内のフリップフロップへの給電を最終段アンプではなく
1段前の中継アンプから行うようにして、最終段アンプ
から給電するよりディレイを小さくするようにした例で
ある。図4(b)に示す例は、最終段クロックアンプか
らフリップフロップまでの間に反転回路402を挿入し
てクロック信号を反転させ、クロックパルス幅分だけク
ロックを速くするようにした例である。また、図4
(c)に示す例は、全クロック給電領域内のクロック最
終段アンプを予めディレイの大きなものにしておき、特
定のクロック給電領域の特定の最終段アンプだけをディ
レイの小さいアンプ404に置き換えることにより、他
の領域のものに比較してクロックディレイが小さくなる
ようにした例である。
【0025】次に、図5を参照して、図1に示すクロッ
ク信号の分配回路に対して、図2〜図4により説明した
クロック調整方法を適用したときにクロックディレイの
制御可能な範囲、すなわち、クロックタイミング時刻の
調整可能範囲について説明する。
【0026】図5(a)は、図2、図3により説明した
クロックディレイを大きくする方法のそれぞれに対応し
たクロックディレイの調整範囲を示しており、500で
示す通常の給電方法でのクロックディレイを基準とし
て、矢印で示す範囲内が調整可能な範囲となる。図5
(a)において、501は、図2(a)に示した方法に
よる調整可能範囲を示しており、迂回配線長の制限を変
えることにより調整可能範囲を制御することができる。
502は、図2(b)に示した方法による調整可能範囲
を示しており、ディレイ素子の数によって離散的にクロ
ックを遅らせてクロックディレイを制御することができ
る。503は、図2(c)に示した方法による調整可能
範囲を示しており、フリップフロップの数によって離散
的にクロックを遅らせてクロックディレイを制御するこ
とができる。504は、図2(d)に示した方法による
調整可能範囲を示しており、クロックを遅らせる時間が
異なる複数種の最終段アンプを準備することによって離
散的にクロックを遅らせてクロックディレイを制御する
ことができる。505は、図3(a)に示した方法によ
る調整可能範囲を示しており、クロック給電領域の大き
さや隣接領域の選択を変えることによってクロックディ
レイの大きさが決まる。
【0027】前述したようなクロックディレイを制御し
てクロックタイミング時刻を調整する方法は、1つのフ
リップフロップに対して複数種の調整方法を組み合わせ
ることができ、これによりクロックディレイの調整可能
範囲を広げることができ、離散的にしか制御できなかっ
た範囲も連続的に制御することが可能となる。506
は、図2(a)及び図2(b)に示した方法を組み合わ
せた図3(b)に示して説明した方法の調整可能範囲の
例である。506−1は、ディレイ素子を1段挿入して
配線を迂回させた場合のクロックディレイの調整可能範
囲を示し、506−2、506−3は、ディレイ素子を
2段挿入して配線を迂回させた場合、ディレイ素子を3
段挿入して配線を迂回させた場合のクロックディレイの
調整可能範囲を示す。
【0028】また、図5(b)は図4により説明したク
ロックディレイを小さくする方法のそれぞれに対応した
クロックディレイの調整範囲を示しており、510で示
す通常の給電方法でのクロックディレイを基準として、
矢印で示す範囲内が調整可能な範囲となる。図5(a)
において、511は、図4(a)に示した方法による調
整可能範囲を示している。512は、図4(b)に示し
た方法による調整可能範囲を示しおり、クロックパルス
幅分の位相差を持ったクロック信号を入力することと等
価となる。513は、図4(c)に示した方法による調
整可能範囲を示しており、クロックを遅らせる時間が異
なる複数種の最終段アンプを準備することによって離散
的にクロックディレイの大きさを制御することができ
る。
【0029】図6は本発明の一実施形態による半導体集
積回路の設計方法の処理動作を説明するフローチャート
であり、以下、これについて説明する。ここで説明する
処理フローは、図1に示すようなクロック信号の分配回
路に対して、図2〜図4で説明したような複数のクロッ
クディレイ調整方法を用いて半導体集積回路の論理設計
及び実装設計を行う場合に、高速化のための設計修正を
最小限にするための設計方法の処理動作の例である。そ
して、この処理の実行のための入力データとして、セル
の配置位置情報、セルの端子間の結線関係情報、配線パ
ターン情報601と、クロックディレイがすでに決まっ
ている、あるいは、ずらすことができないフリップフロ
ップに対するクロックディレイ指定情報602と、パス
のディレイを計算するための情報603と、クロックデ
ィレイ調整方法、それによるクロックディレイの変動
値、調整のためのコストの情報604と、目標とするマ
シンサイクル(MC)605とが用意される。
【0030】(1)まず、入力データとして用意されて
いる前述した各種の情報601〜605のデータを入力
し、全フリップフロップ間(パス)のデータ転送に要す
る最大の遅延時間(Dmax)と最小の遅延時間(Dmin)と
を求める(ステップ610、611)。
【0031】(2)入力されたクロックディレイ指定情
報602と情報604の中の各フリップフロップが実現
可能なクロックディレイ調整方法とから、クロックディ
レイ調整可能範囲を求める(ステップ612)。
【0032】(3)次に、パスを1つ選択し、選択した
パスの終点フリップフロップから始点フリップフロップ
に帰ってくる閉ループを抽出し、閉ループの中の各パス
の合計ディレイ(DLY)と閉ループでのデータ転送に
必要なサイクル数(CYC)を求める(ステップ613
〜615)。
【0033】(4)ステップ614で抽出した閉ループ
でのデータ転送が目標マシンサイクルで可能か否かを判
定する。この判定は、入力された目標マシンサイクルM
C605とステップ615で求めた閉ループでのデータ
転送に必要なサイクル数CYCとの積と、ステップ61
5で求めた閉ループの中の各パスの合計ディレイDLY
とを比較して行われる。すなわち、DLY>MC×CY
Cが成立したときNGと判定される(ステップ61
6)。
【0034】(5)ステップ616の判定がNGであっ
た場合、閉ループ中のパスの情報を表示する。この情報
を基に、設計者は、論理修正としてセルの変更やピンの
接続関係の変更、あるいは、実装結果の修正としてセル
の配置位置の移動や配線パターンの修正を行い、情報6
01へフィードバックする(ステップ617、61
8)。
【0035】(6)ステップ616の判定がOKであっ
た場合、各パスに対して以下に示す制約を満たすよう
に、各フリップフロップにデータ転送可能となるクロッ
クディレイ調整範囲を設定する。 MC×CYC(path)−CLK(S.FF)max+CLK(E.FF)min>Dmax MC×(CYC(path)−1)−CLK(S.FF)min+CLK(E.FF)max<D
min 但し、CYC(path)は、当該パスのデータ転送に必要なサ
イクル数、CLK(S.FF)min、 CLK(S.FF)maxは、始点フリ
ップフロップのクロックディレイ調整範囲、CLK(E.FF)m
in、 CLK(E.FF)maxは、終点フリップフロップのクロッ
クディレイ調整範囲である。前述した制約を満たし、か
つ、ステップ612で求めた各フリップフロップのクロ
ックディレイ調整可能範囲内で、各フリップフロップの
クロックディレイ調整範囲を設定する(ステップ61
9)。
【0036】(7)各フリップフロップのクロックディ
レイ調整可能範囲の制約から目標マシンサイクルでのデ
ータ転送が可能か否かを判定し、不可能な場合、前述で
説明したステップ617、618の処理を行う(ステッ
プ620)。
【0037】(8)ステップ620の判定で、目標マシ
ンサイクルでのデータ転送が可能であった場合、未設定
のパスが残っているか否かをチェックし、未設定のパス
が残っていれば、次のパスを選択して、ステップ614
からの処理に戻り、ステップ614以降の処理を繰り返
す(ステップ621、622)。
【0038】(9)ステップ621のチェックで、全て
のパスについてクロックディレイの設定が終了していた
場合、各フリップフロップの設定したクロックディレイ
調整範囲をクロックディレイ設定情報ファイル631に
出力して処理を終了する(ステップ630)。
【0039】そして、本発明の実施形態は、これらの処
理の終了後、目標マシンサイクル605の1周期の時間
を暫減させて、再度、ステップ610からの処理を繰り
返すことにより、実現可能な最小マシンサイクルを求め
ることができる。
【0040】図7は最小限のコストで各フリップフロッ
プのクロックディレイを調整するための処理動作を説明
するフローチャートであり、以下、これについて説明す
る。ここで説明する例は、図1に示すようなクロック信
号の分配回路に対して、図2〜図4で説明したような複
数のクロックディレイ調整方法を用いて半導体集積回路
の論理設計及び実装設計を行う場合に、最小限のコスト
で各フリップフロップに設定したクロックディレイを実
現することを可能にする例である。そして、この処理の
実行のための入力データとして、図6の処理でも使用し
たセルの配置位置情報、セルの端子間の結線関係情報、
配線パターン情報601、クロックディレイ調整方法、
それによるクロックディレイの変動値、調整のためのコ
ストの情報604、目標とするマシンサイクル(MC)
605と、図6の処理で作成されたクロックディレイ指
定情報631とが用意される。
【0041】(1)まず、入力データとして用意されて
いる前述した各種の情報601、604、605、63
1のデータを入力し、全フリップフロップをクロック給
電領域に振り分けて、1つのクロック給電領域を選択す
る(ステップ710〜712)。
【0042】(2)領域内の全てのフリップフロップに
対して設定されたクロックディレイ調整範囲を実現でき
るクロックディレイ調整方法の組み合わせケースを全て
リストアップし、最小コストで実現できるクロックディ
レイ調整方法で実現できるものから順にフリップフロッ
プのグループを作成していき、それらフリップフロップ
のクロックディレイ調整方法を決定する。その際、配線
長を延ばすことによってクロックタイミング時刻を調整
する方法には制限を設け、制限以上の配線長のものは採
用しない(ステップ713〜715)。
【0043】(3)選択したフリップフロップの設定範
囲が調整範囲以上の場合は、1つのクロックディレイ調
整方法では要求するクロックディレイを実現することが
できず、複数の複数のクロックディレイ調整方法と組み
合わせる必要があるので、フリップフロップの設定範囲
と選択した調整方法で調整できる範囲との差分をフリッ
プフロップの設定範囲として更新し、さらに、次のクロ
ックディレイ調整方法での実現性をチェックする(ステ
ップ715〜717)。
【0044】(4)クロック給電領域内の全てのフリッ
プフロップが、設定範囲にクロックディレイを調整でき
たか否かをチェックし、調整できなかった場合、次にコ
ストの小さいクロックディレイ調整方法を選択して、ス
テップ715からの処理を繰り返す(ステップ716、
717)。
【0045】(5)ステップ716のチェックで、クロ
ック給電領域内の全てのフリップフロップの調整ができ
たと判定した場合、全てのクロック給電領域について処
理が終了したか否かのチェックを行い、まだ済んでいな
ければ、次のクロック給電領域を選択して、ステップ7
13以降を処理を繰り返す(ステップ718、71
9)。
【0046】(6)ステップ718で全てのクロック給
電領域について処理が終了したと判断したとき、決定し
たクロックディレイ調整方法に従って、図2、図3に示
すようなディレイ素子の挿入や削除、クロックセルの置
換、クロックネットの結線関係変更、クロック配線の迂
回等の修正を行い、その結果を入力情報としての情報6
01のファイルにフィードバックする(ステップ72
0、721)。
【0047】前述した本発明の実施形態は、フリップフ
ロップのクロックタイミング時刻を調整することを前提
にした論理設計及び実装設計を行うことができ、目標マ
シンサイクルを超えているフリップフロップ間の経路の
内、クロックタイミング時刻の調整を行ってもデータの
転送ができないものだけを、パスの遅延時間の短縮を行
う設計変更の対象とすることができる。これにより、前
述した本発明の実施形態によれば、論理段数の削減やフ
ァンアウト数の削減といった論理設計の変更や、セル配
置や配線パターンの修正といった実装設計での修正にか
かる工数を必要最小限に抑えることができる。
【0048】また、前述した本発明の実施形態は、クロ
ックディレイ調整の精度が高いため、目的のクロックタ
イミング時刻を確実に実現することができ、手戻りなく
設計を行うことができ、製造した半導体集積回路チップ
での動作の保証をより確実とすることができる。
【0049】さらに、前述した本発明の実施形態は、ク
ロックゲートの数や、クロック配線の物量等をコストと
して定義しているので、対象とする半導体集積回路製造
プロセスに最も合ったコスト最小のクロックタイミング
時刻の調整が可能となる。
【0050】
【発明の効果】以上説明したように本発明によれば、半
導体集積回路の論理設計及び実装設計で対策を行う物量
を最小限に抑え、最小マシンサイクルを実現することが
できる。
【図面の簡単な説明】
【図1】本発明が適用される半導体集積回路のクロック
信号の分配回路の基本的な構造の例を説明する図であ
る。
【図2】フリップフロップのクロックタイミング時刻を
遅らせる方法の例を説明する図である。
【図3】フリップフロップのクロックタイミング時刻を
遅らせる方法のさらに他の例を説明する図である。
【図4】フリップフロップのクロックタイミング時刻を
速くする方法の例を説明する図である。
【図5】図1に示すクロック信号の分配回路に対して、
図2〜図4に示すクロック調整方法を適用した場合のク
ロックタイミング時刻の調整可能範囲を示す図である。
【図6】本発明の一実施形態による半導体集積回路の設
計方法の処理動作を説明するフローチャートである。
【図7】最小限のコストで各フリップフロップのクロッ
クディレイを調整するための処理動作を説明するフロー
チャートである。
【符号の説明】
101 領域分割線 102 クロック給電領域 103 クロックソースピン 104 幅広配線 105 シールド 106 中継アンプ 107、204、301、404 最終段アンプ 108 フリップフロップ 201 迂回配線 202、403 ディレイ素子 203 ファンアウトが多いネット 401 前段アンプ 402 反転回路
───────────────────────────────────────────────────── フロントページの続き (72)発明者 佐々木 哲雄 神奈川県秦野市堀山下1番地 株式会社日 立製作所エンタープライズサーバ事業部内 (72)発明者 長尾 葉介 神奈川県秦野市堀山下1番地 株式会社日 立製作所エンタープライズサーバ事業部内 (72)発明者 石井 建基 神奈川県秦野市堀山下1番地 株式会社日 立インフォメーションテクノロジー内 (72)発明者 松本 格 神奈川県横浜市中区尾上町六丁目81番地 日立ソフトウェアエンジニアリング株式会 社内 Fターム(参考) 5B046 AA08 BA05 BA06 5F064 BB07 BB19 BB22 BB26 DD25 DD50 EE08 EE15 EE17 EE42 EE43 EE47 EE54 EE60 HH06 HH10 HH11

Claims (6)

    【特許請求の範囲】
  1. 【請求項1】 半導体集積回路のチップをいくつかの領
    域に分割して、クロックソースピンから各領域へのクロ
    ック信号の分配を高速でかつノイズ等の影響を受け難い
    転送形態で行い、各領域に複数のクロックピンを用意し
    ておき、半導体集積回路内の各フリップフロップに対し
    て、目標マシンサイクルでフリップフロップ間のデータ
    転送ができるようにクロックタイミング時刻の調整を行
    う半導体集積回路の設計方法において、前記フリップフ
    ロップに入力するクロック信号のタイミング時刻を調整
    する方法として、調整可能範囲が異なる複数の方法を用
    い、前記領域内の各フリップフロップが要求するクロッ
    クタイミング時刻毎にフリップフロップをグループ化
    し、これらを別々のクロックピンに対して各フリップフ
    ロップの要求に合わせてクロックタイミング時刻を調整
    して接続し、その際、配線長を延長することによってク
    ロックタイミング時刻を調整する方法に制限を設け、他
    の複数のタイミング調整方法と組み合わせることにより
    各フリップフロップが要求するクロックタイミング時刻
    を得ることを特徴とする半導体集積回路の設計方法。
  2. 【請求項2】 前記得られた各フリップフロップのクロ
    ックタイミング時刻を網羅し、各フリップフロップ間の
    信号伝播経路のデータ転送に要する最大の遅延時間と最
    小の遅延時間とマシンサイクルの目標値とに応じて、複
    数の信号伝播経路から構成される閉ループを抽出し、目
    標マシンサイクルでその閉ループでのデータ転送に必要
    なサイクル数でデータ転送を行うことができるように、
    閉ループ上の各フリップフロップに対して、各フリップ
    フロップのタイミング時刻をそれらがとり得るクロック
    タイミング時刻の中から選択することを特徴とする請求
    項1記載の半導体集積回路の設計方法。
  3. 【請求項3】 クロックタイミング時刻の調整により、
    前記目標マシンサイクル内でフリップフロップ間のデー
    タ転送を行うことができない信号伝播経路あるいは閉ル
    ープを抽出し、それらを表示することを特徴とする請求
    項2記載の半導体集積回路の設計方法。
  4. 【請求項4】 クロックタイミング時刻の調整により、
    前記目標マシンサイクル内でフリップフロップ間のデー
    タ転送を行うことができない信号伝播経路あるいは閉ル
    ープを抽出し、これらの信号伝播経路あるいは閉ループ
    に対して、フリップフロップ間の信号伝播遅延時間の修
    正を加えることを特徴とする請求項2記載の半導体回路
    の設計方法。
  5. 【請求項5】 前記マシンサイクルの目標値を暫減しな
    がら、各フリップフロップのクロックタイミング時刻を
    決定することにより、実現可能な最小マシンサイクルを
    求めることを特徴とする請求項2、3または4記載の半
    導体集積回路の設計方法。
  6. 【請求項6】 半導体集積回路のチップをいくつかの領
    域に分割して、クロックソースピンから各領域へのクロ
    ック信号の分配を高速でかつノイズ等の影響を受け難い
    転送形態で行い、各領域に複数のクロックピンを用意し
    ておき、半導体集積回路内の各フリップフロップに対し
    て、目標マシンサイクルでフリップフロップ間のデータ
    転送ができるようにクロックタイミング時刻の調整を行
    う半導体集積回路の設計システムにおいて、フリップフ
    ロップ間の信号伝播遅延時間を計算する手段または外部
    から入力する手段と、マシンサイクルの目標値に応じて
    各フリップフロップのクロックタイミング時刻を決定す
    る手段と、各フリップフロップのクロックタイミング時
    刻またはタイミング調整方法を出力する手段と、与えら
    れたクロックタイミング時刻またはタイミング調整方法
    を実現する手段と、目標マシンサイクル内でデータ転送
    を行うことができないフリップフロップ間の信号伝播経
    路あるいは閉ループを抽出して表示する手段とを備える
    ことを特徴とする半導体集積回路の設計システム。
JP2001038678A 2001-02-15 2001-02-15 半導体集積回路の設計システム Expired - Fee Related JP4218924B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2001038678A JP4218924B2 (ja) 2001-02-15 2001-02-15 半導体集積回路の設計システム
US10/073,312 US6944840B2 (en) 2001-02-15 2002-02-13 Design method and system for achieving a minimum machine cycle for semiconductor integrated circuits

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2001038678A JP4218924B2 (ja) 2001-02-15 2001-02-15 半導体集積回路の設計システム

Publications (2)

Publication Number Publication Date
JP2002245109A true JP2002245109A (ja) 2002-08-30
JP4218924B2 JP4218924B2 (ja) 2009-02-04

Family

ID=18901605

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2001038678A Expired - Fee Related JP4218924B2 (ja) 2001-02-15 2001-02-15 半導体集積回路の設計システム

Country Status (2)

Country Link
US (1) US6944840B2 (ja)
JP (1) JP4218924B2 (ja)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005252048A (ja) * 2004-03-05 2005-09-15 Nec Electronics Corp 半導体集積回路装置及びその製造方法
US7181709B2 (en) 2003-01-31 2007-02-20 Matsushita Electric Industrial Co., Ltd. Clock delay adjusting method of semiconductor integrated circuit device and semiconductor integrated circuit device formed by the method
EP2383477A1 (en) 2002-08-26 2011-11-02 Panasonic Corporation Opening/closing type communication terminal and hinge apparatus
US8327308B2 (en) 2010-07-22 2012-12-04 Fujitsu Limited Method and apparatus for designing integrated circuit
JP2014186648A (ja) * 2013-03-25 2014-10-02 Fujitsu Ltd 設計支援装置、設計支援方法、および設計支援プログラム

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7085993B2 (en) * 2002-07-29 2006-08-01 International Business Machine Corporation System and method for correcting timing signals in integrated circuits
US7197738B1 (en) * 2002-08-09 2007-03-27 Cadence Design Systems, Inc. Method and apparatus for routing
US7356793B2 (en) * 2004-07-12 2008-04-08 International Business Machines Corporation Genie: a method for classification and graphical display of negative slack timing test failures
US7120888B2 (en) * 2004-07-12 2006-10-10 International Business Machines Corporation Method, system and storage medium for determining circuit placement
US7571408B1 (en) * 2005-03-09 2009-08-04 Cadence Design Systems, Inc. Methods and apparatus for diagonal route shielding
JP4294000B2 (ja) * 2005-03-24 2009-07-08 富士通株式会社 クロック遅延解析装置、クロック遅延解析方法、クロック遅延解析プログラム、および記録媒体
US7694258B1 (en) 2005-08-01 2010-04-06 Cadence Design Systems, Inc. Method and apparatus for inserting metal fill in an integrated circuit (“IC”) layout
US8104014B2 (en) * 2008-01-30 2012-01-24 International Business Machines Corporation Regular local clock buffer placement and latch clustering by iterative optimization
US20090199143A1 (en) * 2008-02-06 2009-08-06 Mentor Graphics, Corp. Clock tree synthesis graphical user interface
US9310831B2 (en) 2008-02-06 2016-04-12 Mentor Graphics Corporation Multi-mode multi-corner clocktree synthesis
US9021411B2 (en) * 2013-05-23 2015-04-28 International Business Machines Corporation Characterizing TSV structures in a semiconductor chip stack
US11709521B1 (en) * 2020-06-26 2023-07-25 Xilinx, Inc. Synchronous clock domain crossing skew optimization and multi-clock buffer (MBUFG)

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5481209A (en) * 1993-09-20 1996-01-02 Lsi Logic Corporation Clock distribution and control in an integrated circuit
JP2540762B2 (ja) * 1993-11-10 1996-10-09 日本電気株式会社 クロック信号供給方法
US6305001B1 (en) * 1998-06-18 2001-10-16 Lsi Logic Corporation Clock distribution network planning and method therefor
US6233724B1 (en) * 1998-10-30 2001-05-15 Micron Technology, Inc. Circuit synthesis time budgeting based upon wireload information
US6353352B1 (en) * 1998-11-25 2002-03-05 Vantis Corporation Clock tree topology
US6367060B1 (en) * 1999-06-18 2002-04-02 C. K. Cheng Method and apparatus for clock tree solution synthesis based on design constraints
US6434731B1 (en) * 1999-10-26 2002-08-13 International Business Machines Corporation Automated placement of signal distribution to diminish skew among same capacitance targets in integrated circuits
US6351840B1 (en) * 1999-12-09 2002-02-26 Silicon Perspective Corporation Method for balancing a clock tree
JP3317948B2 (ja) * 2000-01-20 2002-08-26 エヌイーシーマイクロシステム株式会社 半導体集積回路のレイアウト設計方法及び半導体集積回路
US6502222B1 (en) * 2000-09-28 2002-12-31 Lsi Logic Corporation Method of clock buffer partitioning to minimize clock skew for an integrated circuit design
JP3620440B2 (ja) * 2000-11-20 2005-02-16 日本電気株式会社 半導体集積回路とそのクロック分配方法

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2383477A1 (en) 2002-08-26 2011-11-02 Panasonic Corporation Opening/closing type communication terminal and hinge apparatus
US7181709B2 (en) 2003-01-31 2007-02-20 Matsushita Electric Industrial Co., Ltd. Clock delay adjusting method of semiconductor integrated circuit device and semiconductor integrated circuit device formed by the method
JP2005252048A (ja) * 2004-03-05 2005-09-15 Nec Electronics Corp 半導体集積回路装置及びその製造方法
US8327308B2 (en) 2010-07-22 2012-12-04 Fujitsu Limited Method and apparatus for designing integrated circuit
JP2014186648A (ja) * 2013-03-25 2014-10-02 Fujitsu Ltd 設計支援装置、設計支援方法、および設計支援プログラム

Also Published As

Publication number Publication date
JP4218924B2 (ja) 2009-02-04
US20020114224A1 (en) 2002-08-22
US6944840B2 (en) 2005-09-13

Similar Documents

Publication Publication Date Title
JP2002245109A (ja) 半導体集積回路の設計方法及び設計システム
US7362135B1 (en) Apparatus and method for clock skew adjustment in a programmable logic fabric
US7809971B2 (en) Clock distribution circuit, semiconductor integrated circuit and method of designing clock distribution circuit
US5854752A (en) Circuit partitioning technique for use with multiplexed inter-connections
JP2005513626A (ja) 混在する領域クロック用のクロックツリーシンセシス
JP3317948B2 (ja) 半導体集積回路のレイアウト設計方法及び半導体集積回路
US5831459A (en) Method and system for adjusting a clock signal within electronic circuitry
JP2013179598A (ja) 減少された挿入遅延を持つプログラマブル遅延回路
US20090271747A1 (en) Logic circuit designing device, logic circuit designing method and logic circuit designing program for asynchronous logic circuit
JP2002083000A (ja) 論理回路設計方法及び論理回路
US8086986B1 (en) Clock boosting systems and methods
US6275068B1 (en) Programmable clock delay
JP3139750B2 (ja) タイミング調整方法
JPH09259173A (ja) 論理回路の設計方法
JP3116915B2 (ja) クロックネットのレイアウト設計変更方式
JP3184135B2 (ja) 半導体集積回路のレイアウト方法
JP2000294737A (ja) 半導体集積回路およびその製造方法
US20030056185A1 (en) Semiconductor integrated circuit design method
Zheleznikov et al. The method of timing optimization for FPGA at the microarchitecture level using the pipelining mechanism
JP2001332626A (ja) 半導体集積回路の設計方法
JP2953384B2 (ja) 半導体集積回路のクロックツリー形成方法
JP2004266034A (ja) 半導体集積回路、および半導体集積回路の設計方法
JP3501059B2 (ja) 半導体集積回路
JPH04333261A (ja) 自動配置配線処理方法
JP2000267752A (ja) 集積回路のためのクロック生成装置および生成方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20050812

A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A712

Effective date: 20070221

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

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20081003

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

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20081110

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

Free format text: PAYMENT UNTIL: 20111121

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20111121

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20121121

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20121121

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20131121

Year of fee payment: 5

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

S533 Written request for registration of change of name

Free format text: JAPANESE INTERMEDIATE CODE: R313533

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313117

S533 Written request for registration of change of name

Free format text: JAPANESE INTERMEDIATE CODE: R313533

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees