(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B1)
(11)【特許番号】
(24)【登録日】2022-09-05
(45)【発行日】2022-09-13
(54)【発明の名称】レイアウト装置、レイアウト方法およびプログラム
(51)【国際特許分類】
G06F 30/39 20200101AFI20220906BHJP
H01L 21/82 20060101ALI20220906BHJP
【FI】
G06F30/39
H01L21/82 C
(21)【出願番号】P 2021044353
(22)【出願日】2021-03-18
【審査請求日】2021-03-18
(73)【特許権者】
【識別番号】000227205
【氏名又は名称】NECプラットフォームズ株式会社
(74)【代理人】
【識別番号】100106909
【氏名又は名称】棚井 澄雄
(74)【代理人】
【識別番号】100134544
【氏名又は名称】森 隆一郎
(74)【代理人】
【識別番号】100149548
【氏名又は名称】松沼 泰史
(74)【代理人】
【識別番号】100162868
【氏名又は名称】伊藤 英輔
(72)【発明者】
【氏名】佐藤 隆徳
(72)【発明者】
【氏名】別府 佐知子
【審査官】堀井 啓明
(56)【参考文献】
【文献】特開2013-003945(JP,A)
【文献】特開2013-182600(JP,A)
【文献】特開2008-152329(JP,A)
【文献】秋山 寿博 Toshihiro Akiyama,高性能ASICのレイアウト技術 Layout Design System for High-Performance ASICs,東芝レビュー ,日本,株式会社東芝,1997年10月21日,第50巻,pp.460-464
(58)【調査した分野】(Int.Cl.,DB名)
G06F 30/00-30/398
H01L 21/82
(57)【特許請求の範囲】
【請求項1】
集積回路のレイアウトにおける第1回路
のフリップフロップと第2回路
のフリップフロップとの間の複数の伝送路それぞれの遅延時間を特定する特定手段と、
前記特定手段が特定した前記遅延時間に基づいて、前記第1回路
のフリップフロップおよび前記第2回路
のフリップフロップの少なくとも一方の配置が変更されたレイアウト情報を受け付ける受付手段と、
前記受付手段が受け付けた前記レイアウト情報に基づいて、前記複数の伝送路の少なくとも1つのレイアウトを変更する変更手段と、
を備えるレイアウト装置。
【請求項2】
前記受付手段は、
前記特定手段が特定した前記遅延時間のうち最大の遅延時間を有する伝送路の配線長となるように、前記第1回路
のフリップフロップおよび前記第2回路
のフリップフロップの少なくとも一方の配置が変更されたレイアウト情報を受け付ける、
請求項1に記載のレイアウト装置。
【請求項3】
前記受付手段は、
前記特定手段が特定した前記遅延時間のうち最小の遅延時間を有する伝送路の配線長となるように、前記第1回路
のフリップフロップおよび前記第2回路
のフリップフロップの少なくとも一方の配置が変更されたレイアウト情報を受け付ける、
請求項1に記載のレイアウト装置。
【請求項4】
前記複数の伝送路は、3つ以上の伝送路であり、
前記受付手段は、
前記特定手段が特定した前記遅延時間のうちの1つを有する任意の伝送路の配線長となるように、前記第1回路
のフリップフロップおよび前記第2回路
のフリップフロップの少なくとも一方の配置が変更されたレイアウト情報を受け付ける、
請求項1に記載のレイアウト装置。
【請求項5】
集積回路のレイアウトにおける第1回路
のフリップフロップと第2回路
のフリップフロップとの間の複数の伝送路それぞれの遅延時間を特定することと、
特定した前記遅延時間に基づいて、前記第1回路
のフリップフロップおよび前記第2回路
のフリップフロップの少なくとも一方の配置が変更されたレイアウト情報を受け付けることと、
受け付けた前記レイアウト情報に基づいて、前記複数の伝送路の少なくとも1つのレイアウトを変更することと、
を含むレイアウト方法。
【請求項6】
コンピュータに、
集積回路のレイアウトにおける第1回路
のフリップフロップと第2回路
のフリップフロップとの間の複数の伝送路それぞれの遅延時間を特定することと、
特定した前記遅延時間に基づいて、前記第1回路
のフリップフロップおよび前記第2回路
のフリップフロップの少なくとも一方の配置が変更されたレイアウト情報を受け付けることと、
受け付けた前記レイアウト情報に基づいて、前記複数の伝送路の少なくとも1つのレイアウトを変更することと、
を実行させるプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、レイアウト装置、レイアウト方法およびプログラムに関する。
【背景技術】
【0002】
集積回路は、プロセスの微細化に伴い高集積化が進んでいる。集積回路における配線数は、その高集積化に伴い増加し、ますます複雑になっている。
特許文献1には、関連する技術として、自動配置設計に関する技術が開示されている。
【先行技術文献】
【特許文献】
【0003】
【発明の概要】
【発明が解決しようとする課題】
【0004】
ところで、集積回路において、同一のクロックタイミングで処理されるべき複数の信号が、2つの論理回路間(例えば、2つのフリップフロップ間)をそれぞれ配線長の異なる伝送路を伝播する場合、各伝送路における信号の伝播遅延のばらつき(すなわち、スキュー)によって、同一のクロックタイミングで処理できなくなる可能性がある。そのような伝送路における信号の伝播遅延のばらつきを低減する技術の例としては、
図6に示すように、各伝送路の途中にFIFO(First In, First Out)を挿入し、各FIFOから出力される信号のタイミングを揃えることにより、各伝送路における信号の伝播遅延のばらつきを低減する技術や、伝播遅延の小さい伝送路に遅延素子を挿入し、各伝送路の伝播遅延を揃えることにより、各伝送路における信号の伝播遅延のばらつきを低減する技術などが挙げられる。これら各伝送路における信号の伝播遅延のばらつきを低減する技術は、例えば、自動配置配線を行うツールなどを用いて実現される。しかしながら、そのような技術を用いて各伝送路における信号の伝播遅延のばらつきを低減する場合、FIFOや遅延素子などが追加されるため、集積回路における素子数が増加してしまう。
そのため、集積回路のレイアウトにおいて、素子数を増加させずに複数の伝送路における信号の伝播遅延のばらつきを低減することのできる技術が求められている。
【0005】
本発明の各態様は、上記の課題を解決することのできるレイアウト装置、レイアウト方法およびプログラムを提供することを目的としている。
【課題を解決するための手段】
【0006】
上記目的を達成するために、本発明の一態様によれば、レイアウト装置は、集積回路のレイアウトにおける第1回路のフリップフロップと第2回路のフリップフロップとの間の複数の伝送路それぞれの遅延時間を特定する特定手段と、前記特定手段が特定した前記遅延時間に基づいて、前記第1回路のフリップフロップおよび前記第2回路のフリップフロップの少なくとも一方の配置が変更されたレイアウト情報を受け付ける受付手段と、前記受付手段が受け付けた前記レイアウト情報に基づいて、前記複数の伝送路の少なくとも1つのレイアウトを変更する変更手段と、を備える。
【0007】
上記目的を達成するために、本発明の別の態様によれば、レイアウト方法は、集積回路のレイアウトにおける第1回路のフリップフロップと第2回路のフリップフロップとの間の複数の伝送路それぞれの遅延時間を特定することと、特定した前記遅延時間に基づいて、前記第1回路のフリップフロップおよび前記第2回路のフリップフロップの少なくとも一方の配置が変更されたレイアウト情報を受け付けることと、受け付けた前記レイアウト情報に基づいて、前記複数の伝送路の少なくとも1つのレイアウトを変更することと、を含む。
【0008】
上記目的を達成するために、本発明の別の態様によれば、プログラムは、コンピュータに、集積回路のレイアウトにおける第1回路のフリップフロップと第2回路のフリップフロップとの間の複数の伝送路それぞれの遅延時間を特定することと、特定した前記遅延時間に基づいて、前記第1回路のフリップフロップおよび前記第2回路のフリップフロップの少なくとも一方の配置が変更されたレイアウト情報を受け付けることと、受け付けた前記レイアウト情報に基づいて、前記複数の伝送路の少なくとも1つのレイアウトを変更することと、を実行させる。
【発明の効果】
【0009】
本発明の各態様によれば、集積回路のレイアウトにおいて、素子数を増加させずに複数の伝送路における信号の伝播遅延のばらつきを低減することができる。
【図面の簡単な説明】
【0010】
【
図1】本発明の一実施形態によるレイアウト装置の構成の一例を示す図である。
【
図2】本発明の一実施形態によるレイアウト装置の処理フローの一例を示す図である。
【
図3】本発明の実施形態によるレイアウト装置の最小構成を示す図である。
【
図4】本発明の実施形態による最小構成のレイアウト装置の処理フローの一例を示す図である。
【
図5】少なくとも1つの実施形態に係るコンピュータの構成を示す概略ブロック図である。
【
図6】FIFOが挿入された伝送路の一例を示す図である。
【発明を実施するための形態】
【0011】
以下、図面を参照しながら実施形態について詳しく説明する。
<実施形態>
図1は、本発明の一実施形態によるレイアウト装置1の構成の一例を示す図である。レイアウト装置1は、関連する技術を用いて自動配置配線を行い、レイアウトに伝送路の遅延時間を調整する回路や素子(例えば、FIFOや遅延素子など)が追加された後に、それら追加された回路や素子をレイアウトから除外することのできる装置である。レイアウト装置1は、
図1に示すように、処理部10(変更手段の一例)、解析部20(特定手段の一例)、および受付部30(受付手段の一例)を備える。
【0012】
処理部10は、集積回路のレイアウトに関する処理を行う。例えば、処理部10は、回路の接続を示すネットリストに基づくレイアウトを実行する。具体的には、処理部10は、ネットリストに対応する回路素子(例えば、フリップフロップなどを含む予め用意されたスタンダードセル)を配置し、その配置に対して配線を自動で行う。これは、一般的に、自動配置配線と呼ばれる技術であり、処理部10は、例えば、関連する技術を用いたレイアウトツールによって自動配置配線を実現すればよい。
【0013】
また、処理部10は、受付部30が受け付けた後述するレイアウト情報に基づいて、集積回路のレイアウトにおける第1回路と第2回路との間の複数の伝送路の少なくとも1つのレイアウトを変更する。このレイアウトの変更は、処理部10が、例えば、関連する技術を用いたレイアウトツールにより、変更の必要ないレイアウトの部分に変更しないことを示す属性(例えば、”don‘t touch”)を付与し、自動配置配線を再度行うことにより、実現されるものであってよい。なお、第1回路は、後述する静的タイミング解析により遅延時間が特定される2つのフリップフロップの一方を含む。また、第2回路は、それら2つのフリップフロップの他方を含む。
【0014】
解析部20は、レイアウトが決定された集積回路について、静的タイミング解析などを実行する。静的タイミング解析は、STA(Static Timing Analysis)とも呼ばれ、2つのフリップフロップ間の遅延時間を特定する。解析部20は、静的タイミング解析を行うことにより、集積回路のレイアウトにおける第1回路と第2回路との間の複数の伝送路それぞれの遅延時間を特定する。なお、解析部20は、例えば、関連する技術を用いたタイミング解析ツールに応じて動作することにより、静的タイミング解析を実現するものであってよい。
【0015】
受付部30は、解析部20が特定した遅延時間に基づいて、第1回路および第2回路の少なくとも一方の配置が変更されたレイアウト情報を受け付ける。例えば、解析部20が静的タイミング解析を実行したとする。ユーザは、解析部20による静的タイミング解析の結果を確認して、第1回路と第2回路の間の複数の伝送路それぞれの遅延時間を特定する。ユーザは、特定した遅延時間のうちの1つを有する伝送路の配線長となるように、レイアウトツール上で、複数の伝送路における他の伝送路に接続された第1回路のフリップフロップおよび第2回路のフリップフロップの少なくとも一方の位置を変更する操作(例えば、マウスやキーボードなどの操作)を行う。第1回路のフリップフロップおよび第2回路のフリップフロップの少なくとも一方の位置を変更する例としては、解析部20が特定した遅延時間のうち最大の遅延時間を有する伝送路の配線長となるように、対応する他の伝送路に接続されている第1回路のフリップフロップおよび第2回路のフリップフロップの少なくとも一方の位置を変更して2つのフリップフロップ間の距離を長くすること、解析部20が特定した遅延時間のうち最小の遅延時間を有する伝送路の配線長となるように、対応する他の伝送路に接続されている第1回路のフリップフロップおよび第2回路のフリップフロップの少なくとも一方の位置を変更して2つのフリップフロップ間の距離を短くすること、また、複数の伝送路が3つ以上の伝送路である場合に、解析部20が特定した遅延時間のうちの1つを有する任意の伝送路の配線長となるように、対応する他の伝送路に接続されている第1回路のフリップフロップおよび第2回路のフリップフロップの少なくとも一方の位置を変更して2つのフリップフロップ間の距離を短くすることなどが挙げられる。そして、処理部10は、このユーザによる操作に応じて、レイアウトにおけるフリップフロップの位置を変更する。つまり、処理部10は、レイアウトにおいて、第1回路および第2回路の少なくとも一方の配置を変更する。このように、ユーザ操作によって、第1回路および第2回路の少なくとも一方の配置が変更されたレイアウトを示す情報がレイアウト情報である。受付部30は、このレイアウト情報を受け付ける。
【0016】
次に、レイアウト装置1の動作について、
図2を参照して説明する。
図2は、本発明の一実施形態によるレイアウト装置1の処理フローの一例を示す図である。なお、ここでは、処理部10により自動配置配線が実行されており、第1回路と第2回路との間に配線長の異なる複数の伝送路を有するレイアウトが存在しているものとする。
【0017】
解析部20は、そのレイアウトの集積回路について、静的タイミング解析を行うことにより、レイアウトにおける第1回路と第2回路との間の複数の伝送路それぞれの遅延時間を特定する(ステップS1)。
【0018】
ユーザは、解析部20による静的タイミング解析の結果を確認して、第1回路と第2回路の間の複数の伝送路それぞれの遅延時間を特定する。そして、ユーザは、特定した遅延時間のうちの1つを有する伝送路の配線長となるように、レイアウトツール上で、複数の伝送路における他の伝送路に接続された第1回路のフリップフロップおよび第2回路のフリップフロップの少なくとも一方の位置を変更する操作を行う。処理部10は、このユーザによる操作に応じて、レイアウトにおけるフリップフロップの位置(すなわち、レイアウトにおける第1回路および第2回路の少なくとも一方の配置)を変更する(ステップS2)。
【0019】
受付部30は、解析部20が特定した遅延時間に基づいて、第1回路および第2回路の少なくとも一方の配置が変更されたレイアウト情報を受け付ける(ステップS3)。処理部10は、受付部30が受け付けたレイアウト情報に基づいて、集積回路のレイアウトにおける第1回路と第2回路との間の複数の伝送路の少なくとも1つのレイアウトを変更する(ステップS4)。
【0020】
以上、本発明の一実施形態によるレイアウト装置1について説明した。レイアウト装置1は、処理部10、解析部20、および受付部30を備える。解析部20は、静的タイミング解析を行うことにより、集積回路のレイアウトにおける第1回路と第2回路との間の複数の伝送路それぞれの遅延時間を特定する。受付部30は、解析部20が特定した遅延時間に基づいて、第1回路および第2回路の少なくとも一方の配置が変更されたレイアウト情報を受け付ける。処理部10は、受付部30が受け付けたレイアウト情報に基づいて、集積回路のレイアウトにおける第1回路と第2回路との間の複数の伝送路の少なくとも1つのレイアウトを変更する。
【0021】
こうすることにより、レイアウト装置1は、集積回路のレイアウトにおいて、素子数を増加させずに複数の伝送路における信号の伝播遅延のばらつきを低減することができる。
【0022】
図3は、本発明の実施形態によるレイアウト装置1の最小構成を示す図である。レイアウト装置1は、
図3に示すように、特定手段100、受付手段200、および変更手段300を備える。
【0023】
特定手段100は、集積回路のレイアウトにおける第1回路と第2回路との間の複数の伝送路それぞれの遅延時間を特定する。受付手段200は、特定手段100が特定した前記遅延時間に基づいて、前記第1回路および前記第2回路の少なくとも一方の配置が変更されたレイアウト情報を受け付ける。変更手段300は、受付手段200が受け付けた前記レイアウト情報に基づいて、前記複数の伝送路の少なくとも1つのレイアウトを変更する。
【0024】
次に、本発明の実施形態による最小構成のレイアウト装置1による処理について説明する。ここでは、
図4に示す処理フローについて説明する。
【0025】
特定手段100は、集積回路のレイアウトにおける第1回路と第2回路との間の複数の伝送路それぞれの遅延時間を特定する(ステップS11)。受付手段200は、特定手段100が特定した前記遅延時間に基づいて、前記第1回路および前記第2回路の少なくとも一方の配置が変更されたレイアウト情報を受け付ける(ステップS12)。変更手段300は、受付手段200が受け付けた前記レイアウト情報に基づいて、前記複数の伝送路の少なくとも1つのレイアウトを変更する(ステップS13)。
【0026】
以上、本発明の実施形態による最小構成のレイアウト装置1について説明した。このレイアウト装置1により、集積回路のレイアウトにおいて、素子数を増加させずに複数の伝送路における信号の伝播遅延のばらつきを低減することができる。
【0027】
なお、本発明の実施形態における処理は、適切な処理が行われる範囲において、処理の順番が入れ替わってもよい。
【0028】
本発明の実施形態について説明したが、上述のレイアウト装置1、その他の制御装置は内部に、コンピュータシステムを有していてもよい。そして、上述した処理の過程は、プログラムの形式でコンピュータ読み取り可能な記録媒体に記憶されており、このプログラムをコンピュータが読み出して実行することによって、上記処理が行われる。コンピュータの具体例を以下に示す。
図5は、少なくとも1つの実施形態に係るコンピュータの構成を示す概略ブロック図である。
コンピュータ5は、
図5に示すように、CPU6、メインメモリ7、ストレージ8、インターフェース9を備える。
例えば、上述のレイアウト装置1、その他の制御装置のそれぞれは、コンピュータ5に実装される。そして、上述した各処理部の動作は、プログラムの形式でストレージ8に記憶されている。CPU6は、プログラムをストレージ8から読み出してメインメモリ7に展開し、当該プログラムに従って上記処理を実行する。また、CPU6は、プログラムに従って、上述した各記憶部に対応する記憶領域をメインメモリ7に確保する。
【0029】
ストレージ8の例としては、HDD(Hard Disk Drive)、SSD(Solid State Drive)、磁気ディスク、光磁気ディスク、CD-ROM(Compact Disc Read Only Memory)、DVD-ROM(Digital Versatile Disc Read Only Memory)、半導体メモリ等が挙げられる。ストレージ8は、コンピュータ5のバスに直接接続された内部メディアであってもよいし、インターフェース9または通信回線を介してコンピュータ5に接続される外部メディアであってもよい。また、このプログラムが通信回線によってコンピュータ5に配信される場合、配信を受けたコンピュータ5が当該プログラムをメインメモリ7に展開し、上記処理を実行してもよい。少なくとも1つの実施形態において、ストレージ8は、一時的でない有形の記憶媒体である。
【0030】
また、上記プログラムは、前述した機能の一部を実現してもよい。さらに、上記プログラムは、前述した機能をコンピュータシステムにすでに記録されているプログラムとの組み合わせで実現できるファイル、いわゆる差分ファイル(差分プログラム)であってもよい。
【0031】
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例であり、発明の範囲を限定しない。これらの実施形態は、発明の要旨を逸脱しない範囲で、種々の追加、省略、置き換え、変更を行ってよい。
【符号の説明】
【0032】
1・・・レイアウト装置
5・・・コンピュータ
6・・・CPU
7・・・メインメモリ
8・・・ストレージ
9・・・インターフェース
10・・・処理部
20・・・解析部
30・・・受付部
100・・・特定手段
200・・・受付手段
300・・・変更手段
【要約】
【課題】集積回路のレイアウトにおいて、素子数を増加させずに複数の伝送路における信号の伝播遅延のばらつきを低減することができるレイアウト装置を提供する。
【解決手段】レイアウト装置は、集積回路のレイアウトにおける第1回路と第2回路との間の複数の伝送路それぞれの遅延時間を特定する特定手段と、前記特定手段が特定した前記遅延時間に基づいて、前記第1回路および前記第2回路の少なくとも一方の配置が変更されたレイアウト情報を受け付ける受付手段と、前記受付手段が受け付けた前記レイアウト情報に基づいて、前記複数の伝送路の少なくとも1つのレイアウトを変更する変更手段と、を備える。
【選択図】
図3