JP4876770B2 - 集積回路のレイアウト設計方法および集積回路のレイアウト設計プログラム - Google Patents

集積回路のレイアウト設計方法および集積回路のレイアウト設計プログラム Download PDF

Info

Publication number
JP4876770B2
JP4876770B2 JP2006220851A JP2006220851A JP4876770B2 JP 4876770 B2 JP4876770 B2 JP 4876770B2 JP 2006220851 A JP2006220851 A JP 2006220851A JP 2006220851 A JP2006220851 A JP 2006220851A JP 4876770 B2 JP4876770 B2 JP 4876770B2
Authority
JP
Japan
Prior art keywords
layout
block
top level
hierarchy
integrated circuit
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
JP2006220851A
Other languages
English (en)
Other versions
JP2007080256A (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.)
Fujitsu Semiconductor Ltd
Original Assignee
Fujitsu Semiconductor 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 Fujitsu Semiconductor Ltd filed Critical Fujitsu Semiconductor Ltd
Priority to JP2006220851A priority Critical patent/JP4876770B2/ja
Publication of JP2007080256A publication Critical patent/JP2007080256A/ja
Application granted granted Critical
Publication of JP4876770B2 publication Critical patent/JP4876770B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Design And Manufacture Of Integrated Circuits (AREA)

Description

本発明は、コンピュータを用いる集積回路のレイアウト設計方法および集積回路のレイアウト設計プログラムに関する。
従来、LSI(大規模集積回路)のレイアウト設計方法として、例えば、フラットレイアウト設計方法および階層レイアウト設計方法が提案されている。フラットレイアウト設計方法は、トップレベル(上位階層)において、RAM、ROM等のマクロセルの配置位置やANDゲート、ORゲート等のユニットセル領域を決め、同一フラットでレイアウト設計処理を行うという方法である。
これに対して、階層レイアウト設計方法は、トップレベルにおいて、レイアウト階層ブロック(ユニットセルやマクロセルや別のレイアウト階層から成り、論理的には必ず一つの論理階層か又はその下位階層全てから成るブロック)の配置位置や、トップレベルのマクロセルの配置位置や、トップレベルのユニットセル領域を決め、トップレベルとレイアウト階層ブロックとを別々にレイアウト設計処理するという方法である。
図24はフラットレイアウト設計方法と階層レイアウト設計方法の設計手法の違いを示す図である。図24(A)はフラットレイアウト設計方法におけるトップレベルのフロアプラン例を示しており、1はチップ、2はトップレベル、3〜8はマクロセルの配置位置、9はユニットセル領域である。このように、フラットレイアウト設計方法は、トップレベル2においてマクロセルの配置位置3〜8やユニットセル領域9を決め、同一フラットでレイアウト設計処理を行うという方法である。
図24(B)は階層レイアウト設計方法におけるトップレベルのフロアプラン例を示しており、10はチップ、11はトップレベル、12〜14はレイアウト階層ブロック、15〜17はマクロセルの配置位置、18はユニットセル領域である。このように、階層レイアウト設計方法は、トップレベル11においてレイアウト階層ブロック12〜14の配置位置やマクロセルの配置位置15〜17やユニットセル領域18を決め、トップレベル11とレイアウト階層ブロック12〜14とを別々にレイアウト設計処理するという方法である。
近年、プロセステクノロジの微細化に伴い、LSI(チップ)に搭載可能なゲート数が増大しているが、LSIに搭載するゲート数が、レイアウトツールが扱えるゲート数の上限に達した場合、レイアウト処理時間は非常に長いものとなる。したがって、LSIに搭載する回路をトップレベルとレイアウト階層ブロックという形に分けてレイアウト設計を行う階層レイアウト設計方法が主流となっている。
図25は階層レイアウト設計方法を示す流れ図である。図25中、19はトップレベルでのレイアウト設計処理の流れを示し、20はレイアウト階層ブロックでのレイアウト設計処理の流れを示しており、階層レイアウト設計方法では、4つの工程(P1〜P4)が順に実行される。
第1工程(P1)はトップレベルのフロアプランを行う工程である。第2工程(P2)はレイアウト階層ブロックのレイアウト設計処理を行う工程である。第3工程(P3)は第2工程(P2)で得られるレイアウト階層ブロックのタイミングモデルおよびレイアウト階層ブロックセルをトップレベルにフィードバックする工程である。第4工程(P4)はトップレベルでの初期配置、クロック合成、タイミング最適化合成および配線を行う工程である。
即ち、階層レイアウト設計方法においては、まず、トップレベルのフロアプランが行われ、トップレベルにおいてレイアウト階層ブロックの配置位置やマクロセルの配置位置やユニットセル領域が決定される(P1)。
次に、レイアウト階層ブロックのレイアウト設計処理が行われる(P2)。具体的には、レイアウト階層ブロック毎にフロアプラン(P2−1)、初期配置(P2−2)、クロック合成(P2−3)、クロック遅延伝播を考慮したタイミング最適化合成(P2−4)および配線(P2−5)が順に行われる。なお、タイミング最適化合成(P2−4)時には、フリップフロップ間のタイミング制約が与えられて処理が行われる。
次に、トップレベルのレイアウト設計処理を行うために、第2工程(P2)で得られたレイアウト階層ブロックのタイミングモデル(レイアウト階層ブロックの入出力タイミング情報)およびレイアウト階層ブロックセル情報(サイズ、外部端子位置)がトップレベルにフィードバックされ、トップレベルのフロアプランの更新が行われる(P3)。
次に、トップレベルでのレイアウト処理が行われる(P4)。具体的には、トップレベルのタイミング制約を用いた初期配置(P4−1)、クロック合成(P4−2)、クロック遅延伝播を考慮したタイミング最適化合成(P4−3)および配線(P4−4)が順に行われる。
図26〜図29は階層レイアウト設計方法で実行される第1工程(P1)〜第4工程(P4)の結果例を示す図である。図26は第1工程(P1)の結果例(トップレベルのフロアプラン例)を示しており、21はチップ、22はトップレベル、23〜25はレイアウト階層ブロック、26〜28はマクロセルの配置位置、29はユニットセル領域である。
図27は第2工程(P2)の結果例(レイアウト階層ブロックのレイアウト例)を示しており、30〜32はそれぞれレイアウト階層ブロック23〜25をレイアウト設計処理してなるレイアウト階層ブロックセルであり、33〜36はマクロセル、37〜39はユニットセルが配置された領域である。
図28は第3工程(P3)の結果例(トップレベルのフロアプラン更新例)を示している。図29は第4工程(P4)の結果例(トップレベルでのレイアウト例)を示しており、40〜42はトップレベルのマクロセル、43はトップレベルのユニットセルを配置した領域、44はクロックツリーである。
特開2004−234193号公報 特開2000−155770号公報 特開2000−100949号公報 特開2003−23082号公報 特開2003−242191号公報
前述のように、階層レイアウト設計方法においては、トップレベルのフロアプラン決定後、トップレベルとは別にレイアウト階層ブロックでのレイアウト設計処理を行い、レイアウト階層ブロックのタイミングモデルをトップレベルに戻すことでトップレベルでのタイミング調整を行うとしているので、トップレベルにおけるレイアウト階層ブロック間やトップレベル回路(トップレベルのマクロセル、ユニットセル)−レイアウト階層ブロック間のタイミング調整結果は、レイアウト階層ブロックのタイミングモデルの品質(レイアウト階層ブロックの完成度)に左右されることになる。
しかしながら、階層レイアウト設計方法においては、トップレベルとレイアウト階層ブロックとを別々にレイアウト設計処理することが、トップレベルにおけるレイアウト階層ブロック間やトップレベル回路−レイアウト階層ブロック間のパス遅延やクロック挿入遅延のバラツキによるクロックスキューを抑え難くしており、このため、トップレベルでのタイミング調整時に、トップレベルおよびレイアウト階層ブロックの双方で、タイミング調整(レイアウト階層ブロック内のトップレベルとの境界部の組合せ回路のタイミング最適化再合成やセルの置換、クロックスキュー調整など)のイタレーションを必要としている。
本発明は、かかる点に鑑み、タイミング調整のイタレーションの回数を減らすことができる集積回路のレイアウト設計方法および集積回路のレイアウト設計プログラムを提供することを目的とする。
本発明中、第1の発明は、コンピュータを用いる集積回路のレイアウト設計方法であり、集積回路の論理階層の一部をレイアウト階層ブロックの領域としてトップレベルのフロアプランを行う工程と、前記レイアウト階層ブロックにおいて初期配置と理想クロックでのタイミング最適化合成をトップレベルとは独立に行う工程と、前記レイアウト階層ブロックの配置情報を前記トップレベルに戻して同一フラットでレイアウト設計処理を行う工程を有するものである。
本発明中、第2の発明は、集積回路のレイアウト設計プログラムの発明であり、集積回路の論理階層の一部をレイアウト階層ブロックの領域としてトップレベルのフロアプランを行う工程と、前記レイアウト階層ブロックにおいて初期配置と理想クロックでのタイミング最適化合成を前記トップレベルとは独立に行う工程と、前記レイアウト階層ブロックの配置情報を前記トップレベルに戻して同一フラットでレイアウト設計処理を行う工程をコンピュータに実行させるものである。
本発明中、第3の発明は、コンピュータを用いる集積回路のレイアウト設計方法であり、集積回路の論理階層の一部をレイアウト階層ブロックの領域としてトップレベルにおいてフロアプランと初期配置を行う工程と、前記レイアウト階層ブロックにおいてクロック合成と実クロックでのタイミング最適化合成を前記トップレベルとは独立に行う工程と、前記レイアウト階層ブロックの配置情報を前記トップレベルに戻して同一フラットでレイアウト設計処理を行う工程を有するものである。
本発明中、第4の発明は、集積回路のレイアウト設計プログラムの発明であり、集積回路の論理階層の一部をレイアウト階層ブロックの領域としてトップレベルにおいてフロアプランと初期配置を行う工程と、前記レイアウト階層ブロックにおいてクロック合成と実クロックでのタイミング最適化合成を前記トップレベルとは独立に行う工程と、前記レイアウト階層ブロックの配置情報を前記トップレベルに戻して同一フラットでレイアウト設計処理を行う工程をコンピュータに実行させるものである。
第1の発明によれば、集積回路の論理階層の一部をレイアウト階層ブロックの領域としてトップレベルのフロアプランが行われた後、レイアウト階層ブロックにおける初期配置と理想クロックによるタイミング最適化合成がトップレベルとは独立に行われ、レイアウト階層ブロックのタイミングモデルおよびレイアウト階層ブロックセルの代わりに、レイアウト階層ブロックの配置情報がトップレベルに戻されて同一フラットでレイアウト設計処理が行われる。
したがって、トップレベルにおけるレイアウト階層ブロック間やトップレベル回路−レイアウト階層ブロック間のパス遅延やクロック遅延のバラツキを抑えて、タイミング調整のイタレーションの回数を減らすことができる。また、第2の発明によれば、第1の発明をコンピュータに実行させることができる。
また、第3の発明によれば、集積回路の論理階層の一部をレイアウト階層ブロックの領域としてトップレベルにおいてフロアプランと初期配置が行われた後、レイアウト階層ブロックにおいてクロック合成と実クロックでのタイミング最適化合成がトップレベルとは独立に行われ、レイアウト階層ブロックの配置情報がトップレベルに戻されて同一フラットでレイアウト設計処理が行われる。
したがって、トップレベルにおけるレイアウト階層ブロック間やトップレベル回路−レイアウト階層ブロック間のパス遅延やクロック遅延のバラツキを抑えて、タイミング調整のイタレーションの回数を減らすことができる。また、第4の発明によれば、第3の発明をコンピュータに実行させることができる。
なお、第1の発明〜第4の発明において、レイアウト階層ブロックの配置情報をトップレベルに戻す場合、レイアウト階層ブロック内のトップレベルとの境界部の組合せ回路の配置属性を未配置とする場合には、複雑なレイアウト階層ブロック設計(境界設計、ピン配置など)を不要にし、レイアウト階層ブロックの領域内のトップレベルとの境界部の配線性を向上させ、タイミング調整のイタレーションの回数を更に減らすことができる。
(本発明の集積回路のレイアウト設計方法の第1実施形態)
図1は本発明の集積回路のレイアウト設計方法の第1実施形態を示す流れ図である。図1中、45はトップレベルでのレイアウト設計処理の流れを示し、46はレイアウト階層ブロックでのレイアウト設計処理の流れを示している。本発明の集積回路のレイアウト設計方法の第1実施形態においても、4つの工程(S1〜S4)が順に実行される。
第1工程(S1)はトップレベルのフロアプランを行う工程である。第2工程(S2)はレイアウト階層ブロックにおいてフロアプラン、初期配置および理想クロックでのタイミング最適化合成を行う工程である。第3工程(S3)は第2工程(S2)で得られるレイアウト階層ブロックの配置情報をトップレベルにフィードバックする工程である。第4工程(S4)はトップレベルにおいて初期配置、クロック合成、クロック遅延伝播を考慮したタイミング最適化合成および配線を行う工程である。
即ち、本発明の集積回路のレイアウト設計方法の第1実施形態においては、まず、レイアウト設計対象のLSIについて、トップレベルのフロアプランを行う(S1)。但し、本発明の集積回路のレイアウト設計方法の第1実施形態では、レイアウト階層ブロックの代わりに擬似レイアウト階層ブロックを決定する。擬似レイアウト階層ブロックとは、トップレベルのフロアプラン時のレイアウト階層ブロックの領域を示すものである。したがって、本発明の集積回路のレイアウト設計方法の第1実施形態におけるトップレベルのフロアプランでは、擬似レイアウト階層ブロックの配置位置、マクロセルの配置位置、ユニットセル領域を決定することになる。
擬似レイアウト階層ブロックとしてトップレベルとは異なるレイアウト階層とする論理階層の選択基準は、レイアウトを実施する上でTAT(工数)に大きな影響のある論理階層(タイミングクリティカル階層或いは規模によるTATクリティカルな階層)であるか否かである。
次に、レイアウト階層ブロックのレイアウト設計処理を行う(S2)。具体的には、レイアウト階層ブロックにおいてフロアプラン(S2−1)、初期配置(S2−2)、クロックスキューがないものと見なした理想クロックでのタイミング最適化合成(S2−3)を順に実行する。なお、タイミング最適化合成(S2−3)時には、フリップフロップ間のタイミング制約47を与えて処理を行う。
次に、同一フラットで処理を行うため、レイアウト階層ブロックのレイアウト設計処理(S2)で得られたレイアウト階層ブロックの配置情報48をトップレベルの擬似レイアウト階層ブロックにフィードバックする(S3)。但し、この場合、レイアウト階層ブロック内のトップレベルとの境界部の組合せ回路の配置属性を未配置とする。
次に、トップレベルのレイアウト設計処理を行う(S4)。具体的には、トップレベル回路とレイアウト階層ブロック内のトップレベルとの境界部の組合せ回路の初期配置(S4−1)、クロック合成(S4−2)、クロック遅延伝播を考慮したタイミング最適化合成(S4−3)および配線(S4−4)を順に行う。
なお、初期配置(S4−1)時には、トップレベルのタイミング制約49を与えて処理を行う。また、タイミング最適化合成(S4−3)時には、タイミング最適化の対象・非対象を示すタイミング最適化対象・非対象制約50を与えてレイアウト処理を行う。
図2はレイアウト階層ブロック内のトップレベルとの境界部の組合せ回路を説明するための図である。図2中、51はチップ、52はトップレベルであり、53〜55はフリップフロップ、56〜58は組合せ回路である。59はレイアウト階層ブロックであり、60〜62は外部端子である入力端子、63〜66は外部端子である出力端子、67〜72はフリップフロップ、73〜78は組合せ回路である。
ここで、レイアウト階層ブロック内のトップレベルとの境界部の組合せ回路とは、(a)組合せ回路74のように、入力端子と初段のフリップフロップとの間の組合せ回路、(b)組合せ回路75、76のように、最終段のフリップフロップと出力端子との間の組合せ回路、(c)組合せ回路77のように、リエントラント(Re-entrant)パス上の組合せ回路、(d)組合せ回路78のように、レイアウト階層ブロック内のフリップフロップを通過しないパス上の組合せ回路である。
本発明の集積回路のレイアウト設計方法の第1実施形態においては、レイアウト階層ブロック内のトップレベルとの境界部の組合せ回路73〜77は、レイアウト階層ブロックの配置情報48をトップレベルの擬似レイアウト階層ブロックにフィードバックする場合(S3)、その配置属性を未配置とする。これに対して、フリップフロップ67、68間のパス79上の組合せ回路73のように、レイアウト階層ブロック内部で閉じているパス上の組合せ回路は、トップレベルとの境界部の組合せ回路としない。
図3〜図6は本発明の集積回路のレイアウト設計方法の第1実施形態で実行される第1工程(S1)〜第4工程(S4)の結果例を示す図である。図3は第1工程(S1)の結果例(トップレベルのフロアプラン例)を示しており、80はチップ、81はトップレベル、82〜84は擬似レイアウト階層ブロック、85〜87はマクロセルの配置位置、88はユニットセル領域である。
図4は第2工程(S2)の結果例(レイアウト階層ブロックのレイアウト例)を示しており、89〜91はそれぞれ擬似レイアウト階層ブロック82〜84に内部の配置情報を戻すレイアウト階層ブロックであり、92〜95はマクロセル、96〜98はユニットセルが配置された領域である。
図5は第3工程(S3)の結果例(レイアウト階層ブロックの配置情報をトップレベルに戻した状態)を示している。この場合、擬似レイアウト階層ブロック82〜84内のトップレベルとの境界部の組合せ回路の配置属性は未配置とされている。したがって、図5では、図4に示すレイアウト階層ブロック89〜91からトップレベルとの境界部の組合せ回路を除いた回路が置かれた状態を示している。
図6は第4工程(S4)の結果例(トップレベルのレイアウト例)を示しており、99〜101はトップレベルのマクロセル、102はトップレベルのユニットセルを配置した領域、103はクロックツリーである。
ここで、トップレベル回路および擬似レイアウト階層ブロック82〜84内のトップレベル81との境界部の組合せ回路の初期配置(S4−1)は、トップレベルにおけるレイアウト階層ブロック間又はトップレベル回路−擬似レイアウト階層ブロック間のパス遅延が小さくなるように、擬似レイアウト階層ブロック82〜84又はトップレベル81のユニットセル領域88に対して行われる。
したがって、本発明の集積回路のレイアウト設計方法の第1実施形態では、擬似レイアウト階層ブロック82〜84内のトップレベルとの境界部の組合せ回路とされたものがトップレベル81のユニットセル領域88に配置され、又は、トップレベル回路が擬似レイアウト階層ブロック82〜84に配置されることがある。図6は、この場合を含めて示している。
また、クロック遅延伝播を考慮したタイミング最適化合成(S4−3)時には、擬似レイアウト階層ブロック82〜84内部で閉じるパスをタイミング最適化の非対象とするタイミング制約を与えてタイミング最適化合成を実施する。したがって、以下の表に示すようにタイミング最適化対象・非対象となるタイミング制約を与えてタイミング最適化合成を行うことになる。
Figure 0004876770
図7〜図10は本発明の集積回路のレイアウト設計方法の第1実施形態で実行される第1工程(S1)〜第4工程(S4)を更に詳しく説明するための図であり、各工程後の擬似レイアウト階層ブロックの内部回路とトップレベルの回路の配置状態の例を示している。
図7は第1工程(S1)を更に詳しく説明するための図である。104はチップ、105はトップレベル、106、107は擬似レイアウト階層ブロックである。第1工程(S1)ではフロアプランが決定されるが、図7はフロアプランを決定するために一旦配置・配線されたトップレベル105での擬似レイアウト階層ブロック106、107間の接続と、擬似レイアウトブロック106、107の外部端子108、109と、組合せ回路110、111と、フリップフロップ112、113を示している。
図8は第2工程(S2)を更に詳しく説明するための図である。第2工程(S2)では、擬似レイアウト階層ブロック106、107に対応するレイアウト階層ブロック114、115のレイアウト設計処理が行われるが、初期配置(S2−2)では、トップレベル105の境界部の組合せ回路110、111に接続されているフリップフロップ112、113をトップレベル105との境界部に引き付ける。そして、組合せ回路110、111は接続性のみで配置する。なお、116、117はフリップフロップ、118、119は組合せ回路である。
図9は第3工程(S3)を更に詳しく説明するための図である。第3工程(S3)では、同一フラットで処理を行うため、レイアウト階層ブロック114、115の配置情報をそれぞれトップレベル105の擬似レイアウト階層ブロック106、107にフィードバックするが、トップレベル105との境界部の組合せ回路110、111の配置属性を未配置とする。なお、120、121はトップレベル105の未配置の組合せ回路を示している。
図10は第4工程(S4)を更に詳しく説明するための図である。第4工程(S4)では、初期配置(S4−1)、クロック合成(S4−2)、クロック遅延伝播を考慮したタイミング最適化合成(S4−3)および配線(S4−4)が行われるが、組合せ回路110、111、120、121は、トップレベル105におけるレイアウト階層ブロック間又はトップレベル回路−擬似レイアウト階層ブロック間のパス遅延が小さくなるように、擬似レイアウト階層ブロック106、107又はトップレベル105のユニットセル領域に配置される。
図11は本発明の集積回路のレイアウト設計方法の第1実施形態を実行するためのコンピュータの概念図である。図11に示すコンピュータは、CPU122と、CPU122が演算等に使用するメモリ123と、キーボードやマウス等の入力装置124と、表示装置125と、ハードディスク装置(HDD)126を有している。
本例では、ハードディスク装置126には、本発明の集積回路のレイアウト設計方法の第1実施形態を実行するためのプログラム127〜135(本発明の集積回路のレイアウト設計プログラムの第1実施形態)等が格納される。
プログラム127は、トップレベルのフロアプランを行うためのものであり、具体的には、ステップS1を実行するためのものである。プログラム128は、レイアウト階層ブロックのフロアプランを行うためのものであり、具体的には、ステップS2−1を実行するためのものである。
プログラム129は、レイアウト階層ブロックの初期配置を行うためのものであり、具体的には、ステップS2−2を実行するためのものである。プログラム130は、レイアウト階層ブロックのタイミング最適化合成を行うためのものであり、具体的には、ステップS2−3を実行するためのものである。
プログラム131は、レイアウト階層ブロックの配置情報をトップレベルにフィードバックするためのものであり、具体的には、ステップS3を実行するためのものである。プログラム132は、トップレベルの初期配置を行うためのものであり、具体的には、ステップS4−1を実行するためのものである。
プログラム133は、トップレベルのクロック合成を行うためのものであり、具体的には、ステップS4−2を実行するためのものである。プログラム134は、トップレベルのタイミング最適化合成を行うためのものであり、具体的には、ステップS4−3を実行するためのものである。プログラム135は、トップレベルの配線を行うためのものであり、具体的には、ステップS4−4を実行するためのものである。
以上のように、本発明の集積回路のレイアウト設計方法の第1実施形態においては、LSIのトップレベルの一部を擬似レイアウト階層ブロックとし(S1)、レイアウト階層ブロックにおいて初期配置と理想クロックでのタイミング最適化合成をトップレベルとは独立して行い(S2)、レイアウト階層ブロックの配置情報をトップレベルに戻し(S3)、同一フラットで初期配置、クロック合成、タイミング最適化合成、配線を行うとしている(S4)。したがって、トップレベルにおけるレイアウト階層ブロック間やトップレベル回路−レイアウト階層ブロック間のパス遅延とクロック遅延のバラツキを抑えることができる。
また、レイアウト階層ブロックの配置情報をトップレベルの擬似レイアウト階層ブロックにフィードバックする場合、レイアウト階層ブロック内のトップレベルとの境界部の組合せ回路の配置属性を未配置としているので、複雑なレイアウト階層ブロック設計(境界設計、ピン配置など)を不要にし、擬似レイアウト階層ブロックのトップレベルとの境界部の配線性を向上させることができる。
即ち、本発明の集積回路のレイアウト設計方法の第1実施形態によれば、トップレベルにおけるレイアウト階層ブロック間やトップレベル回路−レイアウト階層ブロック間のパス遅延やクロック遅延のバラツキを抑え、かつ、擬似レイアウト階層ブロック内のトップレベルとの境界部の配線性を向上させることができるので、タイミング調整のイタレーションの回数を減らすことができる。
(本発明の集積回路のレイアウト設計方法の第2実施形態)
図12は本発明の集積回路のレイアウト設計方法の第2実施形態を示す流れ図である。図12中、140はトップレベルでのレイアウト設計処理の流れを示し、141はレイアウト階層ブロックでのレイアウト設計処理の流れを示している。本発明の集積回路のレイアウト設計方法の第2実施形態においても、4つの工程(Q1〜Q4)が順に実行される。
第1工程(Q1)はトップレベルにおいてフロアプランおよび初期配置を行う工程である。第2工程(Q2)はレイアウト階層ブロックにおいてクロック合成、実クロックでのタイミング最適化合成を行う工程である。第3工程(Q3)は第2工程(Q2)で得られる配置情報をトップレベルにフィードバックする工程である。第4工程(Q4)はトップレベルにおいてクロック合成、タイミング最適化合成および配線を行う工程である。
即ち、本発明の集積回路のレイアウト設計方法の第2実施形態においては、まず、レイアウト設計対象のLSIについて、トップレベルのフロアプランを行う(Q1−1)。具体的には、擬似レイアウト階層ブロックの配置位置、マクロセルの配置位置、ユニットセル領域を決定する(Q1−1)。その後、トップレベルで初期配置を行う(Q1−2)。
次に、レイアウト階層ブロックのレイアウト設計処理を行う(Q2)。具体的には、レイアウト階層ブロック内のクロックツリー合成を行う(Q2−1)。即ち、レイアウト階層ブロック内のクロックソースとなるセルを起点としてクロックツリー合成を行う。その後、実クロックでタイミング最適化合成処理を行う(Q2−2)。なお、タイミング最適化合成(Q2−2)時には、フリップフロップ間のタイミング制約142を与えて処理を行う。
次に、同一フラットで処理を行うため、レイアウト階層ブロックのレイアウト設計処理(Q2)で得られたレイアウト階層ブロックの配置情報143をクロックの配置情報を含めてトップレベルの擬似レイアウト階層ブロックにフィードバックする(Q3)。
次に、トップレベルのレイアウト設計処理を行う(Q4)。具体的には、トップレベルにおいて同一フラットでのクロック合成(Q4−1)、クロック遅延伝播を考慮したタイミング最適化合成(Q4−2)および配線(Q4−3)を順に行う。
なお、クロック合成(Q4−1)時には、トップレベルのタイミング制約144を与えて処理を行う。但し、この場合、レイアウト階層ブロック内のクロックツリーを保存したまま、トップレベルのみにクロックツリー合成を行う。
また、タイミング最適化合成(Q4−2)時には、タイミング最適化の対象・非対象を示すタイミング最適化対象・非対象制約145を与えてレイアウト処理を行う。なお、表1に示すように、擬似レイアウト階層ブロック内部で閉じるパスはタイミング最適化の非対象とする。
図13〜図16は本発明の集積回路のレイアウト設計方法の第2実施形態で実行される第1工程(Q1)〜第4工程(Q4)の結果例を示す図である。図13は第1工程(Q1)の結果例(トップレベルのフロアプラン後の初期配置例)を示しており、150はチップ、151はトップレベル、152〜154はフロアプラン時に指定した擬似レイアウト階層ブロック、155〜161はマクロセル、162〜165はユニットセルが配置された領域である。なお、擬似レイアウト階層ブロック152〜154内のマクロセル155〜158およびユニットセルは、指定した場所に収まるように配置している。
図14は第2工程(Q2)の結果例(レイアウト階層ブロックのレイアウト例)を示しており、166〜168はそれぞれ擬似レイアウト階層ブロック152〜154に内部の配置情報を戻すレイアウト階層ブロックであり、169〜171はクロックツリーである。
図15は第3工程(Q3)の結果例(レイアウト階層ブロックの配置情報をトップレベルに戻した状態)を示している。図16は第4工程(Q4)の結果例(トップレベルのレイアウト例)を示しており、172はクロックツリーである。
図17は本発明の集積回路のレイアウト設計方法の第2実施形態を実行するためのコンピュータの概念図である。図17に示すコンピュータは、図11に示すコンピュータと同様に、CPU122と、メモリ123と、入力装置124と、表示装置125と、ハードディスク装置(HDD)126を有している。
本例では、ハードディスク装置126には、本発明の集積回路のレイアウト設計方法の第2実施形態を実行するためのプログラム175〜182(本発明の集積回路のレイアウト設計プログラムの第2実施形態)等が格納される。
プログラム175は、トップレベルのフロアプランを行うためのものであり、具体的には、ステップQ1−1を実行するためのものである。プログラム176は、トップレベルの初期配置を行うためのものであり、具体的には、ステップQ1−2を実行するためのものである。
プログラム177は、レイアウト階層ブロックのクロック合成を行うためのものであり、具体的には、ステップQ2−1を実行するためのものである。プログラム178は、レイアウト階層ブロックのタイミング最適化合成を行うためのものであり、具体的には、ステップQ2−2を実行するためのものである。
プログラム179は、レイアウト階層ブロックの配置情報をトップレベルにフィードバックするためのものであり、具体的には、ステップQ3を行うためのものである。プログラム180は、トップレベルのクロック合成を行うためのものであり、具体的には、ステップQ4−1を実行するためのプログラムである。
プログラム181は、トップレベルのタイミング最適化合成を行うためのものであり、具体的には、ステップQ4−2を実行するためのプログラムである。プログラム182は、トップレベルの配線を行うためのものであり、具体的には、ステップQ4−3を実行するためのものである。
以上のように、本発明の集積回路のレイアウト設計方法の第2実施形態においては、LSIのトップレベルの一部を擬似レイアウト階層ブロックとしてトップレベルにおいてフロアプランと初期配置を行い(Q1)、レイアウト階層ブロックにおいてクロック合成と実クロックでのタイミング最適化合成をトップレベルとは独立に行い(Q2)、レイアウト階層ブロックの配置情報をトップレベルに戻し(Q3)、同一フラットでクロック合成、タイミング最適化合成、配線を行うとしている(Q4)。
したがって、トップレベルにおけるレイアウト階層ブロック間やトップレベル回路−レイアウト階層ブロック間のパス遅延とクロック遅延のバラツキを抑えることができ、タイミング調整のイタレーションの回数を減らすことができる。
(本発明の集積回路のレイアウト設計方法の第3実施形態)
図18は本発明の集積回路のレイアウト設計方法の第3実施形態を示す流れ図である。図18中、185はトップレベルでのレイアウト設計処理の流れを示し、186はレイアウト階層ブロックでのレイアウト設計処理の流れを示している。本発明の集積回路のレイアウト設計方法の第3実施形態においても、4つの工程(W1〜W4)が順に実行される。
第1工程(W1)はトップレベルのフロアプランを行う工程である。第2工程(W2)はレイアウト階層ブロックにおいてフロアプラン、初期配置および理想クロックでのタイミング最適化合成を行う工程である。第3工程(W3)は第2工程(W2)で得られるレイアウト階層ブロックの配置情報をトップレベルにフィードバックする工程である。第4工程(W4)はトップレベルにおいて初期配置、クロック合成、階層ブロック化、タイミング最適化合成、階層展開、セルオーバーラップ解除および配線を行う工程である。
即ち、本発明の集積回路のレイアウト設計方法の第3実施形態においては、まず、レイアウト設計対象のLSIについて、トップレベルのフロアプランを行う(W1)。具体的には、擬似レイアウト階層ブロックの配置位置、マクロセルの配置位置、ユニットセル領域を決定する。
次に、レイアウト階層ブロックのレイアウト設計処理を行う(W2)。具体的には、レイアウト階層ブロックにおいてフロアプラン(W2−1)、初期配置(W2−2)、クロックスキューがないものと見なした理想クロックでのタイミング最適化合成(W2−3)を順に実行する。なお、タイミング最適化合成(W2−3)時には、フリップフロップ間のタイミング制約187を与えて処理を行う。
次に、同一フラットで処理を行うため、レイアウト階層ブロックのレイアウト設計処理(W2)で得られたレイアウト階層ブロックの配置情報188をトップレベルの擬似レイアウト階層ブロックにフィードバックする(W3)。但し、この場合、レイアウト階層ブロック内のトップレベルとの境界部の組合せ回路の配置属性を未配置とする。
次に、トップレベルのレイアウト設計処理を行う(W4)。具体的には、トップレベル回路とレイアウト階層ブロック内のトップレベルとの境界部の組合せ回路の初期配置(W4−1)、同一フラットでのクロック合成(W4−2)、階層ブロック化(W4−3)、クロック遅延伝播を考慮したタイミング最適化合成(W4−4)、階層展開(W4−5)、セルオーバーラップ解除(W4−6)および配線(W4−7)を順に行う。
なお、初期配置(W4−1)時には、トップレベルのタイミング制約189を与えて処理を行う。また、階層ブロック化(W4−3)は、レイアウト階層ブロックを面積0の階層ブロックにすることであり、この場合、周辺部には階層端子を作成し、中央部にはセル配置可能な領域を作成する。また、レイアウト階層ブロック内部の配置情報は削除し、レイアウト階層ブロックセルのタイミング制約を作成する。
また、タイミング最適化合成(W4−4)時には、従来の場合と同様に、レイアウト階層ブロックセルのタイミング制約を読み込んで、トップレベルのみでタイミング最適化を行う。但し、レイアウト階層ブロック内も配置可能とする。
階層展開(W4−5)では、ステップW3と同様に、同一フラットで処理を行うため、トップレベルのレイアウト階層ブロックの領域へ各レイアウト階層ブロック内の配置情報をフィードバックする。
セルオーバーラップ解除(W4−6)では、タイミング最適化(W4−4)で挿入したセルと階層展開(W4−5)で復元したレイアウト階層ブロック内のセルが重なって配置されている場合は、タイミング最適化合成(W4−4)で挿入したセルを近隣の配置可能な場所へ移動させることにより、セルの重なりを解除する。
図19は本発明の集積回路のレイアウト設計方法の第3実施形態で実行される第4工程(W4)中の初期配置(W4−1)およびクロック合成(W4−2)の結果例を示す図である。195はチップ、196はトップレベル、197、198はレイアウト階層ブロック、199、200はマクロセル、201〜204はユニットセルが配置された領域である。
図20は本発明の集積回路のレイアウト設計方法の第3実施形態で実行される第4工程(W4)中の階層ブロック化(W4−3)の結果例を示す図である。本例では、レイアウト階層ブロック197、198の面積が0とされ、階層端子205、206が作成されている。なお、207、208はユニットセル領域である。
図21は本発明の集積回路のレイアウト設計方法の第3実施形態で実行される第4工程(W4)中のタイミング最適化合成(W4−4)の結果例を示す図である。図21中、209はタイミング調整用バッファセルである。
図22は本発明の集積回路のレイアウト設計方法の第3実施形態で実行される第4工程(W4)中の階層展開(W4−5)およびセルオーバーラップ解除(W4−6)の結果例を示す図である。本例では、レイアウト階層ブロック197、198に内部の配置情報がフィードバックされ、また、タイミング調整用バッファセル209と階層展開(W4−5)で復元したレイアウト階層ブロック197内のセルが重なって配置されていることから、タイミング調整用バッファセル209が近隣の配置可能な場所210に移動させられ、セルの重なりが解除されている。
図23は本発明の集積回路のレイアウト設計方法の第3実施形態を実行するためのコンピュータの概念図である。図23に示すコンピュータは、図11に示すコンピュータと同様に、CPU122と、メモリ123と、入力装置124と、表示装置125と、ハードディスク装置(HDD)126を有している。
本例では、ハードディスク装置126には、本発明の集積回路のレイアウト設計方法の第3実施形態を実行するためのプログラム215〜226(本発明の集積回路のレイアウト設計プログラムの第3実施形態)等が格納される。
プログラム215は、トップレベルのフロアプランを行うためのものであり、具体的には、ステップW1を実行するためのものである。プログラム216は、レイアウト階層ブロックのフロアプランを行うためのものであり、具体的には、ステップW2−1を実行するためのものである。
プログラム217は、レイアウト階層ブロックの初期配置を行うためのものであり、具体的には、ステップW2−2を実行するためのものである。プログラム218は、レイアウト階層ブロックのタイミング最適化合成を行うためのものであり、具体的には、ステップW2−3を実行するためのものである。
プログラム219は、レイアウト階層ブロックの配置情報をトップレベルにフィードバックするためのものであり、具体的には、ステップW3を実行するためのものである。プログラム220は、トップレベルの初期配置を行うためのものであり、具体的には、ステップW4−1を実行するためのものである。
プログラム221は、トップレベルのクロック合成を行うためのものであり、具体的には、ステップW4−2を行うためのものである。プログラム222は、階層ブロック化を行うためのものであり、具体的には、ステップW4−3を実行するためのものである。プログラム223は、トップレベルのタイミング最適化合成を行うためのものであり、具体的には、ステップW4−4を実行するためのものである。
プログラム224は、階層展開を行うためのものであり、具体的には、ステップW4−5を実行するためのものである。プログラム225は、セルオーバーラップ解除を行うためのものであり、具体的には、ステップW4−6を実行するためのものである。プログラム226は、トップレベルの配線を行うためのものであり、具体的には、ステップW4−7を実行するためのものである。
以上のように、本発明の集積回路のレイアウト設計方法の第3実施形態においては、LSIのトップレベルの一部を擬似レイアウト階層ブロックとし(W1)、レイアウト階層ブロックにおいて初期配置と理想クロックでのタイミング最適化合成をトップレベルとは独立して行い(W2)、レイアウト階層ブロックの配置情報をトップレベルに戻し(W3)、同一フラットで初期配置、クロック合成、階層ブロック化、タイミング最適化合成、階層展開、セルオーバーラップ解除および配線を行うとしている(W4)。
したがって、トップレベルにおけるレイアウト階層ブロック間やトップレベル回路−レイアウト階層ブロック間のパス遅延とクロック遅延のバラツキを抑え、タイミング調整のイタレーションの回数を減らすことができると共に、階層ブロック化(W4−3)により、タイミング最適化合成(W4−4)時のデータサイズを縮小させることができ、処理時間の短縮を図ることができる。
また、レイアウト階層ブロックの配置情報をトップレベルの擬似レイアウト階層ブロックにフィードバックする場合、レイアウト階層ブロック内のトップレベルとの境界部の組合せ回路の配置属性を未配置としているので、複雑なレイアウト階層ブロック設計(境界設計、ピン配置など)を不要にし、擬似レイアウト階層ブロックのトップレベルとの境界部の配線性を向上させることができる。この点からも、タイミング調整のイタレーションの回数を減らすことができる。
なお、本発明の集積回路のレイアウト設計方法の第1実施形態〜第3実施形態においては、トップレベルの一部分を擬似レイアウト階層ブロックとした場合について説明したが、擬似レイアウト階層ブロックを設定する論理階層はトップレベルに限定されるものではなく、必要に応じて、任意の論理階層を選択して擬似レイアウト階層ブロックを設定することができる。
ここで、本発明を整理すると、本発明には、少なくとも、以下の集積回路のレイアウト設計方法および集積回路のレイアウト設計プログラムが含まれる。
(付記1)コンピュータを用いる集積回路のレイアウト設計方法であって、集積回路の論理階層の一部をレイアウト階層ブロックの領域としてトップレベルのフロアプランを行う工程と、前記レイアウト階層ブロックにおいて初期配置と理想クロックでのタイミング最適化合成を前記トップレベルとは独立に行う工程と、前記レイアウト階層ブロックの配置情報を前記トップレベルに戻して同一フラットでレイアウト設計処理を行う工程を有することを特徴とする集積回路のレイアウト設計方法。
(付記2)前記レイアウト階層ブロックの配置情報を前記トップレベルに戻す場合、前記レイアウト階層ブロック内の前記トップレベルとの境界部の組合せ回路の配置属性を未配置とすることを特徴とする付記1記載の集積回路のレイアウト設計方法。
(付記3)トップレベルでのタイミング最適化合成時に、前記レイアウト階層ブロックの領域内部で閉じるパスに対してタイミング最適化の非対象とするためのデザイン制約を与えて処理を行うことを特徴とする付記1又は2記載の集積回路のレイアウト設計方法。
(付記4)前記レイアウト階層ブロックの配置情報を前記トップレベルに戻して同一フラットでレイアウト設計処理を行う工程は、初期配置を行う工程と、クロック合成を行う工程と、前記レイアウト階層ブロックを面積がゼロの階層ブロックとする工程と、タイミング最適化を行う工程と、前記階層ブロックの領域に前記タイミング最適化後の前記レイアウト階層ブロック内の配置情報をフィードバックする工程を順に行う工程であることを特徴とする付記1又は2記載の集積回路のレイアウト設計方法。
(付記5)前記レイアウト階層ブロックの配置情報を前記トップレベルに戻して同一フラットでレイアウト設計処理を行う工程は、前記レイアウト階層ブロックの領域に前記タイミング最適化後の前記レイアウト階層ブロック内の配置情報をフィードバックした場合において、前記タイミング最適化で挿入したセルと前記レイアウト階層ブロック内のセルが重なって配置されている場合には、前記タイミング最適化で挿入したセルを配置可能な場所へ移動させることにより、セルの重なりを解除する工程を含むことを特徴とする付記4記載の集積回路のレイアウト設計方法。
(付記6)集積回路の論理階層の一部をレイアウト階層ブロックの領域としてトップレベルのフロアプランを行う工程と、前記レイアウト階層ブロックにおいて初期配置と理想クロックでのタイミング最適化合成を前記トップレベルとは独立に行う工程と、前記レイアウト階層ブロックの配置情報を前記トップレベルに戻して同一フラットでレイアウト設計処理を行う工程をコンピュータに実行させることを特徴とする集積回路のレイアウト設計プログラム。
(付記7)前記レイアウト階層ブロックの配置情報を前記トップレベルに戻す場合、前記レイアウト階層ブロック内の前記トップレベルとの境界部の組合せ回路の配置属性を未配置とすることを特徴とする付記6記載の集積回路のレイアウト設計プログラム。
(付記8)トップレベルでのタイミング最適化合成時に、前記レイアウト階層ブロックの領域内部で閉じるパスに対してタイミング最適化の非対象とするためのデザイン制約を与えて処理を行うことを特徴とする付記6又は7記載の集積回路のレイアウト設計プログラム。
(付記9)前記レイアウト階層ブロックの配置情報を前記トップレベルに戻して同一フラットでレイアウト設計処理を行う工程は、初期配置を行う工程と、クロック合成を行う工程と、前記レイアウト階層ブロックを面積がゼロの階層ブロックとする工程と、タイミング最適化を行う工程と、前記階層ブロックの領域に前記タイミング最適化後の前記レイアウト階層ブロック内の配置情報をフィードバックする工程を順に行う工程であることを特徴とする付記6又は7記載の集積回路のレイアウト設計プログラム。
(付記10)前記レイアウト階層ブロックの配置情報を前記トップレベルに戻して同一フラットでレイアウト設計処理を行う工程は、前記レイアウト階層ブロックの領域に前記タイミング最適化後の前記レイアウト階層ブロック内の配置情報をフィードバックした場合において、前記タイミング最適化で挿入したセルと前記レイアウト階層ブロック内のセルが重なって配置されている場合には、前記タイミング最適化で挿入したセルを配置可能な場所へ移動させることにより、セルの重なりを解除する工程を含むことを特徴とする付記9記載の集積回路のレイアウト設計プログラム。
(付記11)コンピュータを用いる集積回路のレイアウト設計方法であって、集積回路の論理階層の一部をレイアウト階層ブロックの領域としてトップレベルにおいてフロアプランと初期配置を行う工程と、前記レイアウト階層ブロックにおいてクロック合成と実クロックでのタイミング最適化合成を前記トップレベルとは独立に行う工程と、前記レイアウト階層ブロックの配置情報を前記トップレベルに戻して同一フラットでレイアウト設計処理を行う工程を有することを特徴とする集積回路のレイアウト設計方法。
(付記12)集積回路の論理階層の一部をレイアウト階層ブロックの領域としてトップレベルにおいてフロアプランと初期配置を行う工程と、前記レイアウト階層ブロックにおいてクロック合成と実クロックでのタイミング最適化合成を前記トップレベルとは独立に行う工程と、前記レイアウト階層ブロックの配置情報を前記トップレベルに戻して同一フラットでレイアウト設計処理を行う工程をコンピュータに実行させることを特徴とする集積回路のレイアウト設計プログラム。
本発明の集積回路のレイアウト設計方法の第1実施形態を示す流れ図である。 本発明の集積回路のレイアウト設計方法の第1実施形態においてレイアウト階層ブロック内のトップレベルとの境界部の組合せ回路を説明するための図である。 本発明の集積回路のレイアウト設計方法の第1実施形態で実行される第1工程(S1)の結果例(トップレベルのフロアプラン例)を示す図である。 本発明の集積回路のレイアウト設計方法の第1実施形態で実行される第2工程(S2)の結果例(レイアウト階層ブロックのレイアウト例)を示す図である。 本発明の集積回路のレイアウト設計方法の第1実施形態で実行される第3工程(S3)の結果例(レイアウト階層ブロックの配置情報をトップレベルに戻した状態)を示す図である。 本発明の集積回路のレイアウト設計方法の第1実施形態で実行される第4工程(S4)の結果例(トップレベルのレイアウト例)を示す図である。 本発明の集積回路のレイアウト設計方法の第1実施形態で実行される第1工程(S1)を更に詳しく説明するための図である。 本発明の集積回路のレイアウト設計方法の第1実施形態で実行される第2工程(S2)を更に詳しく説明するための図である。 本発明の集積回路のレイアウト設計方法の第1実施形態で実行される第3工程(S3)を更に詳しく説明するための図である。 本発明の集積回路のレイアウト設計方法の第1実施形態で実行される第4工程(S4)を更に詳しく説明するための図である。 本発明の集積回路のレイアウト設計方法の第1実施形態を実行するためのコンピュータの概念図である。 本発明の集積回路のレイアウト設計方法の第2実施形態を示す流れ図である。 本発明の集積回路のレイアウト設計方法の第2実施形態で実行される第1工程(Q1)の結果例(トップレベルのフロアプラン後の初期配置例)を示す図である。 本発明の集積回路のレイアウト設計方法の第2実施形態で実行される第2工程(Q2)の結果例(レイアウト階層ブロックのレイアウト例)を示す図である。 本発明の集積回路のレイアウト設計方法の第2実施形態で実行される第3工程(Q3)の結果例(レイアウト階層ブロックの配置情報をトップレベルに戻した状態)を示す図である。 本発明の集積回路のレイアウト設計方法の第2実施形態で実行される第4工程(Q4)の結果例(トップレベルのレイアウト例)を示す図である。 本発明の集積回路のレイアウト設計方法の第2実施形態を実行するためのコンピュータの概念図である。 本発明の集積回路のレイアウト設計方法の第3実施形態を示す流れ図である。 本発明の集積回路のレイアウト設計方法の第3実施形態で実行される第4工程(W4)中の初期配置(W4−1)およびクロック合成(W4−2)の結果例を示す図である。 本発明の集積回路のレイアウト設計方法の第3実施形態で実行される第4工程(W4)中の階層ブロック化(W4−3)の結果例を示す図である。 本発明の集積回路のレイアウト設計方法の第3実施形態で実行される第4工程(W4)中のタイミング最適化(W4−4)の結果例を示す図である。 本発明の集積回路のレイアウト設計方法の第3実施形態で実行される第4工程(W4)中の階層展開(W4−5)およびセルオーバーラップ解除(W4−6)の結果例を示す図である。 本発明の集積回路のレイアウト設計方法の第3実施形態を実行するためのコンピュータの概念図である。 フラットレイアウト設計方法と階層レイアウト設計方法の設計手法の違いを示す図である。 階層レイアウト設計方法を示す流れ図である。 階層レイアウト設計方法で実行される第1工程(P1)の結果例(トップレベルのフロアプラン例)を示す図である。 階層レイアウト設計方法で実行される第2工程(P2)の結果例(レイアウト階層ブロックのレイアウト例)を示す図である。 階層レイアウト設計方法で実行される第3工程(P3)の結果例(トップレベルのフロアプラン更新例)を示す図である。 階層レイアウト設計方法で実行される第4工程(P4)の結果例(トップレベルでのレイアウト例)を示す図である。
(図1)
45…トップレベルでのレイアウト設計処理の流れ、46…レイアウト階層ブロックでのレイアウト設計処理の流れ、47…フリップフロップ間のタイミング制約、48…配置情報、49…トップレベルのタイミング制約、50…タイミング最適化対象・非対象制約
(図2)
51…チップ、52…トップレベル、53〜55…フリップフロップ、56〜58…組合せ回路、59…レイアウト階層ブロック、60〜62…入力端子、63〜66…出力端子、67〜72…フリップフロップ、73〜78…組合せ回路、79…パス
(図3〜図6)
80…チップ、81…トップレベル、82〜84…擬似レイアウト階層ブロック、85〜87…マクロセルの配置位置、88…ユニットセル領域、89〜91…レイアウト階層ブロック、92〜95…マクロセル、96〜98…ユニットセルが配置された領域、99〜101…トップレベルのマクロセル、102…トップレベルのユニットセルを配置した領域、103…クロックツリー
(図7〜図10)
104…チップ、105…トップレベル、106、107…擬似レイアウト階層ブロック、108、109…外部端子、110、111…組合せ回路、112、113…フリップフロップ、114、115…レイアウト階層ブロック、116、117…フリップフロップ、118〜121…組合せ回路
(図11)
122…CPU、123…メモリ、124…入力装置、125…表示装置、126…ハードディスク装置(HDD)、127〜135…プログラム
(図12)
140…トップレベルでのレイアウト設計処理の流れ、141…レイアウト階層ブロックでのレイアウト設計処理の流れ、142…フリップフロップ間のタイミング制約、143…配置情報、144…トップレベルのタイミング制約、145…タイミング最適化対象・非対象制約
(図13〜図16)
150…チップ、151…トップレベル、152〜154…擬似レイアウト階層ブロック、155〜161…マクロセル、162〜165…ユニットセルが配置された領域、166〜168…レイアウト階層ブロック、169〜171…クロックツリー、172…クロックツリー
(図17)
122…CPU、123…メモリ、124…入力装置、125…表示装置、126…ハードディスク装置(HDD)、175〜182…プログラム
(図18)
185…トップレベルでのレイアウト設計処理の流れ、186…レイアウト階層ブロックでのレイアウト設計処理の流れ、187…フリップフロップ間のタイミング制約、188…配置情報、189…トップレベルのタイミング制約、190…階層ブロックセル情報、191…タイミングモデル
(図19〜図22)
195…チップ、196…トップレベル、197、198…レイアウト階層ブロック、199、200…マクロセル、201〜204…ユニットセルが配置された領域、205、206…階層端子、207、208…ユニットセル領域、209…タイミング調整用バッファセル、210…セルを配置可能な場所
(図23)
122…CPU、123…メモリ、124…入力装置、125…表示装置、126…ハードディスク装置(HDD)、215〜226…プログラム
(図24)
1…チップ、2…トップレベル、3〜8…マクロセル、9…ユニットセル領域、10…チップ、11…トップレベル、12〜14…レイアウト階層ブロック、15〜17…マクロセル、18…ユニットセル領域
(図25)
19…トップレベルでのレイアウト設計処理の流れ、20…レイアウト階層ブロックでのレイアウト設計処理の流れ
(図26〜図29)
21…チップ、22…トップレベル、23〜25…レイアウト階層ブロック、26〜28…マクロセルの配置位置、29…ユニットセル領域、30〜32…レイアウト階層ブロックセル、33〜36…マクロセル、37〜39…ユニットセルが配置された領域、40〜42…マクロセル、43…ユニットセルを配置した領域、44…クロックツリー

Claims (4)

  1. コンピュータが、集積回路の論理階層の一部をレイアウト階層ブロックの領域としてトップレベルのフロアプランを行う工程と、
    前記コンピュータが、前記レイアウト階層ブロックにおいて初期配置と理想クロックでのタイミング最適化合成を前記トップレベルとは独立に行う工程と、
    前記コンピュータが、前記レイアウト階層ブロック内の前記トップレベルとの境界部の組合せ回路の配置属性を未配置とし、前記レイアウト階層ブロック内の配置情報を前記トップレベルに戻して同一フラットでレイアウト設計処理を行う工程と
    を有する集積回路のレイアウト設計方法において、
    前記レイアウト階層ブロック内の配置情報を前記トップレベルに戻して同一フラットでレイアウト設計処理を行う工程は、
    前記レイアウト階層ブロック内の前記トップレベルとの境界部の組合せ回路の初期配置を行う工程と、
    クロック合成を行う工程と、
    前記レイアウト階層ブロックを面積がゼロの階層ブロックとする工程と、
    タイミング最適化を行う工程と、
    前記レイアウト階層ブロックの領域に前記タイミング最適化後の前記レイアウト階層ブロック内の配置情報をフィードバックする工程と、
    前記タイミング最適化を行う工程で挿入したセルと前記フィードバックにより復元した前記レイアウト階層ブロック内のセルが重なって配置されている場合は、前記タイミング最適化を行う工程で挿入したセルを移動させることによりセルの重なりを解除する工程とを順に行う工程であること
    を特徴とする集積回路のレイアウト設計方法。
  2. 前記トップレベルでのタイミング最適化合成時に、前記レイアウト階層ブロックの領域内部で閉じるパスをタイミング最適化の非対象とするタイミング制約を与えて処理を行うこと
    を特徴とする請求項1に記載の集積回路のレイアウト設計方法。
  3. 集積回路の論理階層の一部をレイアウト階層ブロックの領域としてトップレベルのフロアプランを行う工程と、
    前記レイアウト階層ブロックにおいて初期配置と理想クロックでのタイミング最適化合成を前記トップレベルとは独立に行う工程と、
    前記レイアウト階層ブロック内の前記トップレベルとの境界部の組合せ回路の配置属性を未配置とし、前記レイアウト階層ブロック内の配置情報を前記トップレベルに戻して同一フラットでレイアウト設計処理を行う工程と
    をコンピュータに実行させる集積回路のレイアウト設計プログラムにおいて、
    前記レイアウト階層ブロック内の配置情報を前記トップレベルに戻して同一フラットでレイアウト設計処理を行う工程は、
    前記レイアウト階層ブロック内の前記トップレベルとの境界部の組合せ回路の初期配置を行う工程と、
    クロック合成を行う工程と、
    前記レイアウト階層ブロックを面積がゼロの階層ブロックとする工程と、
    タイミング最適化を行う工程と、
    前記レイアウト階層ブロックの領域に前記タイミング最適化後の前記レイアウト階層ブロック内の配置情報をフィードバックする工程と、
    前記タイミング最適化を行う工程で挿入したセルと前記フィードバックにより復元した前記レイアウト階層ブロック内のセルが重なって配置されている場合は、前記タイミング最適化を行う工程で挿入したセルを移動させることによりセルの重なりを解除する工程とを順に行う工程であること
    を特徴とする集積回路のレイアウト設計プログラム。
  4. 前記トップレベルでのタイミング最適化合成時に、前記レイアウト階層ブロックの領域内部で閉じるパスをタイミング最適化の非対象とするタイミング制約を与えて処理を行うこと
    を特徴とする請求項に記載の集積回路のレイアウト設計プログラム。
JP2006220851A 2005-08-15 2006-08-14 集積回路のレイアウト設計方法および集積回路のレイアウト設計プログラム Expired - Fee Related JP4876770B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2006220851A JP4876770B2 (ja) 2005-08-15 2006-08-14 集積回路のレイアウト設計方法および集積回路のレイアウト設計プログラム

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2005235122 2005-08-15
JP2005235122 2005-08-15
JP2006220851A JP4876770B2 (ja) 2005-08-15 2006-08-14 集積回路のレイアウト設計方法および集積回路のレイアウト設計プログラム

Publications (2)

Publication Number Publication Date
JP2007080256A JP2007080256A (ja) 2007-03-29
JP4876770B2 true JP4876770B2 (ja) 2012-02-15

Family

ID=37940455

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006220851A Expired - Fee Related JP4876770B2 (ja) 2005-08-15 2006-08-14 集積回路のレイアウト設計方法および集積回路のレイアウト設計プログラム

Country Status (1)

Country Link
JP (1) JP4876770B2 (ja)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8286115B2 (en) 2008-12-09 2012-10-09 International Business Machines Corporation Fast routing of custom macros
JP2010257164A (ja) * 2009-04-24 2010-11-11 Renesas Electronics Corp 半導体集積回路装置の設計方法およびプログラム
JP2011238163A (ja) 2010-05-13 2011-11-24 Renesas Electronics Corp 半導体集積回路のレイアウト方法、レイアウトシステム及びレイアウトプログラム

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05181929A (ja) * 1991-12-29 1993-07-23 Hokuriku Nippon Denki Software Kk 遅延時間検証方式
JP4071507B2 (ja) * 2002-02-14 2008-04-02 株式会社東芝 半導体集積回路の階層レイアウト方法
JP4131119B2 (ja) * 2002-04-19 2008-08-13 富士通株式会社 半導体集積回路設計方法及び半導体集積回路設計プログラム
JP2004186257A (ja) * 2002-11-29 2004-07-02 Matsushita Electric Ind Co Ltd 半導体集積回路および遅延計算方法
JP4261172B2 (ja) * 2002-12-10 2009-04-30 富士通マイクロエレクトロニクス株式会社 半導体集積回路のレイアウトプログラムおよび半導体集積回路のレイアウトシステム
JP4139236B2 (ja) * 2003-01-29 2008-08-27 川崎マイクロエレクトロニクス株式会社 タイミング解析プログラム

Also Published As

Publication number Publication date
JP2007080256A (ja) 2007-03-29

Similar Documents

Publication Publication Date Title
US8745565B2 (en) Satisfying routing rules during circuit design
KR102514044B1 (ko) 집적 회로 및 집적 회로의 설계 방법
KR102434991B1 (ko) 집적 회로 및 집적 회로의 설계 방법
US20140123086A1 (en) Parasitic extraction in an integrated circuit with multi-patterning requirements
JP2010079737A (ja) タイミング解析支援装置
JP2006301961A (ja) 半導体集積回路の自動フロアプラン手法
US11853680B2 (en) Incremental routing based pin assignment
US11681842B2 (en) Latency offset in pre-clock tree synthesis modeling
US6425115B1 (en) Area efficient delay circuits
JP4876770B2 (ja) 集積回路のレイアウト設計方法および集積回路のレイアウト設計プログラム
Kahng et al. RosettaStone: connecting the past, present, and future of physical design research
JP2010257164A (ja) 半導体集積回路装置の設計方法およびプログラム
KR20230065976A (ko) 셀 설계를 위한 혼합 확산 브레이크
JP5444985B2 (ja) 情報処理装置
US12079558B2 (en) On-the-fly multi-bit flip flop generation
US11704467B2 (en) Automated balanced global clock tree synthesis in multi level physical hierarchy
US12032894B2 (en) System and method for synchronizing net text across hierarchical levels
US20040003363A1 (en) Integrated circuit design and manufacture utilizing layers having a predetermined layout
JP2007072995A (ja) レイアウト装置、自動配置配線方法および半導体集積回路製造方法
TW202131218A (zh) 提高佈局設計的設計效能的方法
JP2008217642A (ja) 半導体集積回路のレイアウト設計方法およびレイアウト設計用プログラム
JP2012227256A (ja) 半導体集積回路のレイアウト装置、レイアウト方法及びそれらに用いられるセルデータ
US11526642B1 (en) Clock network power estimation for logical designs
US20170061063A1 (en) Integrated circuit with reduced routing congestion
US11836000B1 (en) Automatic global clock tree synthesis

Legal Events

Date Code Title Description
A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A712

Effective date: 20080730

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20090427

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20101228

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110111

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110311

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20110524

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110816

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20110824

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

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

R150 Certificate of patent or registration of utility model

Ref document number: 4876770

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20141209

Year of fee payment: 3

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313111

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

LAPS Cancellation because of no payment of annual fees