JP2005228124A - 半導体集積回路設計における階層ブロック生成方法及び生成装置、並びに半導体集積回路設計における階層ブロック生成プログラム - Google Patents

半導体集積回路設計における階層ブロック生成方法及び生成装置、並びに半導体集積回路設計における階層ブロック生成プログラム Download PDF

Info

Publication number
JP2005228124A
JP2005228124A JP2004036941A JP2004036941A JP2005228124A JP 2005228124 A JP2005228124 A JP 2005228124A JP 2004036941 A JP2004036941 A JP 2004036941A JP 2004036941 A JP2004036941 A JP 2004036941A JP 2005228124 A JP2005228124 A JP 2005228124A
Authority
JP
Japan
Prior art keywords
logical
hierarchical block
semiconductor integrated
integrated circuit
hierarchical
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
JP2004036941A
Other languages
English (en)
Inventor
Hirofumi Miyashita
裕文 宮下
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.)
Panasonic Holdings Corp
Original Assignee
Matsushita Electric Industrial 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 Matsushita Electric Industrial Co Ltd filed Critical Matsushita Electric Industrial Co Ltd
Priority to JP2004036941A priority Critical patent/JP2005228124A/ja
Publication of JP2005228124A publication Critical patent/JP2005228124A/ja
Pending legal-status Critical Current

Links

Images

Landscapes

  • Design And Manufacture Of Integrated Circuits (AREA)

Abstract

【課題】 半導体集積回路の階層設計において、タイミング収束性や配線容易性を考慮しながら論理階層を併合して、最適な階層ブロックを自動で生成する。
【解決手段】 データベース入力手段101は、半導体集積回路の論理階層情報を保持した回路情報106を入力する。回路構造抽出手段102は、前記回路情報から半導体集積回路の各論理階層の回路構造、例えば各論理階層間の信号接続本数、各論理階層間の入出力数、その各入出力間の論理セル段数、遅延値、備えるフリップフロップ回路数やセル数などを抽出する。階層ブロック生成手段103は、前記抽出された各論理階層の回路構造に基づいて、各論理階層の併合処理を行って、複数の階層ブロックを生成する。データベース出力手段104は、前記階層ブロック生成手段103により生成された各階層ブロックの構造を出力する。
【選択図】 図1

Description

本発明は、半導体集積回路の階層レイアウト設計において、階層ブロックの生成方法に関するものである。
従来、半導体集積回路のレイアウト設計方式としては、ゲートアレイ方式やスタンダードセル方式がある。これ等のレイアウト設計方式は、予めライブラリとして用意されているAND回路やNOR回路等の論理セル、又はそれ等を組合せた複合セルをアレイ状にLSI半導体基板上に配置し、その後、所望の回路接続に従って各セル上の端子間を配線することにより、LSI半導体装置を作成するものである。
ここで、近年は、システム・オン・シリコン時代と言われるように、1つの半導体集積回路にシステムを搭載するほどに半導体集積回路の大規模化が進んでいる。そのため、レイアウト設計においても、従来の半導体集積回路の全体を一度にレイアウトするフラットレイアウト手法では設計期間が膨大なものとなる。このため、現在のゲートアレイ方式やスタンダードセル方式でレイアウト設計を行う際に、多数の論理階層を複数の階層ブロックに分割し、各階層ブロックを個別にレイアウトした後に、トップ階層でこれ等の階層ブロック間を配線する階層レイアウト手法が取られることが多い。ここで、階層的に複数の階層ブロックを組み上げてレイアウト設計を行ったLSI半導体装置をビルディングブロック方式LSIと呼んでいる。
図7は、従来のビルディングブロック方式による半導体集積回路のレイアウト装置のビルディングブロックレイアウトを示すフローチャート図である。同図では、先ず、回路入力ステップ701において、レイアウト装置に半導体集積回路の回路情報を入力し、階層ブロック生成ステップ702において、半導体集積回路を機能単位に分割し、機能ブロック毎に階層ブロックを生成する。このとき生成される階層ブロックは半導体集積回路を機能単位に分割しているため、大きさ及び形状は種々の状態である。次に、フロアプラン(階層ブロックの配置)ステップ703において、分割した階層ブロックを、階層ブロック間の接続関係を考慮しながらトップ階層上に人手で配置(フロアプラン)し、トップ階層配線ステップ704において各階層ブロック間の配線を行う。また、各階層ブロック内は、階層ブロックの配置配線ステップ705において、階層ブロック毎にコンカレント配置配線を行う。最終的に、面積及びタイミング判定ステップ706において、トップ階層及び各階層ブロックのレイアウト結果の面積及びタイミングを判定し、問題のない場合には、配置配線結果マージステップ707において、トップ階層及び各階層ブロックのレイアウト結果をマージ(統合)し、フラットレイアウト結果を作成する。
以上により、レイアウトにおいて多くの処理時間を要する配置処理を、小規模な階層ブロック別に独立して行うことにより、処理時間の大幅な減少を実現している。また、このような階層設計によれば、過去に既に一度設計を行ったことがある階層ブロックについては、過去の設計実績を流用することができ、設計期間の短縮や設計コストを低減することができる。
このような階層レイアウト設計における階層ブロックの配線容易性やタイミング収束性に関しては、階層ブロック分割の品質に依存する点が大きい。従来、階層ブロックの生成は大きく分けて2つの方法により行われてきた。つまり、半導体集積回路を機能単位に分割し、機能ブロック毎に階層ブロックを生成する方法と、論理回路の接続及び図形情報を元に論理回路の階層構造に対して会話的に併合、削除処理を行うことにより、階層ブロックを生成する方法である(特許文献1参照)。
特開平5−190666号公報
しかしながら、前記従来の階層レイアウト設計における階層ブロックの生成方法では、以下に説明するように種々の問題点を有していた。
先ず、半導体集積回路を機能単位に分割し、機能ブロック毎に階層ブロックを生成する方法では、ブロックサイズに応じて自由に階層ブロックの併合及び分割を実施することができず、機能的な繋がりやまとまりを元に階層ブロックを生成するため、階層ブロックの配線容易性やタイミング収束性が最適な構成になっていないことが多い。レイアウト設計における配線容易性やタイミング収束性に関しては、階層ブロック分割の品質に依存する点が大きく、最適でない階層ブロックを用いた場合には、設計期間やチップサイズの増大を引き起こすことがある。例えば、階層ブロックの形状が種々であるために、各階層ブロック間の配線領域(チャネル)の形状が複雑になり、更に、トップ階層で階層ブロック間の配線を行うために、トップ階層上での階層ブロックの配置位置に依存して配線が一部に偏り、一部の配線領域に対して配線の混雑が生じて、迂回配線が発生し、配線領域自体の面積が増加する。また、階層ブロックの数に比例して配線領域の数も増加するため、各配線領域の配線混雑も生じ易くなる。更に、クリティカルパスが階層ブロックをまたぐパスになるため、タイミングを収束させるために階層ブロック間でデータや情報のやり取りが発生し、多大な反復作業が必要となる。加えて、配線容易性やタイミング収束性を考慮して階層ブロックの形状や配置位置を最適化するために、フロアプラン作業の反復実行が必要となる。このような要因により、要求される仕様を満たすためには多大な配置配線処理時間が必要になり、設計期間が増大してしまうという問題がある。
一方、階層ブロック間のタイミング収束性や配線容易性を踏まえて、会話的に階層ブロックの併合又は分離処理により階層ブロックを生成する方法では、近年の半導体集積回路の大規模化に伴い、階層ブロックの全てを最適化するためには多大な作業量が必要となる。また、最終的な階層ブロック分割の良し悪しは、設計者の経験とスキルに依存することとなる。更に、半導体集積回路の大規模化に伴い、階層ブロックの数も増加し、複数の設計者により機能設計やレイアウト設計が行われるため、回路全体を把握するのが難しく、階層ブロック全体の最適化を会話的に行うことは困難という問題もある。
本発明の目的は、前記問題点を踏まえて、設計者の経験とスキルに依存することなく、最適な階層ブロックを自動で生成できるようにして、設計期間の短縮とチップ性能の向上を実現することにある。
前記の目的を達成するため、本発明では、大規模半導体集積回路の階層設計の際に、論理階層に捉われず、階層ブロック間のタイミング収束性や配線容易性を定量的に評価できるように、半導体集積回路の各論理階層の回路構造に基づいて、それ等の論理階層を適宜併合することとする。
具体的に、請求項1記載の発明の半導体集積回路設計における階層ブロック生成方法は、コンピュータを用いて、半導体集積回路の論理階層情報を保持した回路情報から複数の階層ブロックを生成する半導体集積回路設計における階層ブロック生成方法であって、前記半導体集積回路の論理階層情報を保持した回路情報を入力し、この入力した回路情報から前記半導体集積回路の各論理階層について回路構造を抽出する回路構造抽出工程と、前記抽出された各論理階層の回路構造に基づいて前記各論理階層を併合して複数の階層ブロックを生成し、この生成した階層ブロックの構造を出力する階層ブロック生成工程とを有することを特徴とする。
請求項2記載の発明は、前記請求項1記載の半導体集積回路設計における階層ブロック生成方法において、前記回路構造抽出工程は、各論理階層間の各入出力間に位置する論理セル段数と、1つのセルの遅延値とに基づいて、各入出力間の遅延値を算出する遅延値算出工程と、前記遅延値算出工程で算出された遅延値を、前記半導体集積回路の目標周期に基づいて補正する補正工程とを有して、前記各論理階層の回路構造として、前記補正工程により補正された遅延値を抽出することを特徴とする。
請求項3記載の発明は、前記請求項1記載の半導体集積回路設計における階層ブロック生成方法において、前記回路構造抽出工程は、前記各論理階層の回路構造として、各論理階層間の信号接続本数を抽出し、前記階層ブロック生成工程は、前記回路構造抽出工程で抽出された各論理階層間の信号接続本数に基づいて、併合すべき論理階層を決定することを特徴とする。
請求項4記載の発明は、前記請求項2記載の半導体集積回路設計における階層ブロック生成方法において、前記階層ブロック生成工程は、前記回路構造抽出工程が有する補正工程で得られた各論理階層間の各入出力間の遅延値のうち、前記半導体集積回路の目標周期を満足しない遅延値を持つ入出力数に基づいて、併合すべき論理階層を決定することを特徴とする。
請求項5記載の発明は、前記請求項2記載の半導体集積回路設計における階層ブロック生成方法において、前記階層ブロック生成工程は、前記回路構造抽出工程が有する補正工程で得られた各論理階層間の各入出力間の遅延値の最大値に基づいて、併合すべき論理階層を決定することを特徴とする。
請求項6記載の発明は、前記請求項2記載の半導体集積回路設計における階層ブロック生成方法において、前記階層ブロック生成工程は、前記回路構造抽出工程が有する補正工程で得られた各論理階層間の各入出力間の遅延値の平均値に基づいて、併合すべき論理階層を決定することを特徴とする。
請求項7記載の発明は、前記請求項2記載の半導体集積回路設計における階層ブロック生成方法において、前記階層ブロック生成工程は、前記回路構造抽出工程が有する補正工程で得られた各論理階層間の各入出力間の遅延値のうち、前記半導体集積回路の目標周期を満足しない遅延値の平均値に基づいて、併合すべき論理階層を決定することを特徴とする。
請求項8記載の発明は、前記請求項2記載の半導体集積回路設計における階層ブロック生成方法において、前記階層ブロック生成工程は、前記回路構造抽出工程が有する補正工程で得られた各論理階層間の各入出力間の遅延値をその論理階層間で総和した総和値に基づいて、併合すべき論理階層を決定することを特徴とする。
請求項9記載の発明は、前記請求項2記載の半導体集積回路設計における階層ブロック生成方法において、前記階層ブロック生成工程は、前記回路構造抽出工程が有する補正工程で得られた各論理階層間の各入出力間の遅延値のうち、前記半導体集積回路の目標周期を満足しない遅延値をその論理階層間で総和した総和値に基づいて、併合すべき論理階層を決定することを特徴とする。
請求項10記載の発明は、前記請求項2記載の半導体集積回路設計における階層ブロック生成方法において、前記階層ブロック生成工程は、前記回路構造抽出工程が有する補正工程で得られた各論理階層間の各入出力間の遅延値の総和が、全ての論理階層間での各入出力間の遅延値の総和の1/2値以上である論理階層を、併合すべき論理階層に決定することを特徴とする。
請求項11記載の発明は、前記請求項2記載の半導体集積回路設計における階層ブロック生成方法において、前記階層ブロック生成工程は、前記回路構造抽出工程が有する補正工程で得られた各論理階層間の各入出力間の遅延値のうち、前記半導体集積回路の目標周期を満足しない遅延値の総和が、全ての論理階層間での前記目標周期を満足しない遅延値の総和の1/2値以上である論理階層を、併合すべき論理階層に決定することを特徴とする。
請求項12記載の発明は、前記請求項1記載の半導体集積回路設計における階層ブロック生成方法において、前記階層ブロック生成工程は、各階層ブロックが内部に有するフリップフロップ回路の数の最大値を設定する最大値設定工程を有して、前記最大値設定工程で設定された最大値に基づいて、併合すべき論理階層を決定することを特徴とする。
請求項13記載の発明は、前記請求項1記載の半導体集積回路設計における階層ブロック生成方法において、前記階層ブロック生成工程は、各階層ブロックが内部に有するフリップフロップ回路の数の最小値を設定する最小値設定工程を有して、前記最小値設定工程で設定された最小値に基づいて、併合すべき論理階層を決定することを特徴とする。
請求項14記載の発明は、前記請求項13記載の半導体集積回路設計における階層ブロック生成方法において、前記階層ブロック生成工程は、前記最小値設定工程で設定された最小値を満足しない論理階層と、この論理階層以外の論理階層であって最小の数のフリップフロップ回路を持つ論理階層とを併合することを特徴とする。
請求項15記載の発明は、前記請求項1記載の半導体集積回路設計における階層ブロック生成方法において、前記階層ブロック生成工程は、各階層ブロックが内部に有するセルの数の最大値を設定する最大値設定工程を有して、前記最大値設定工程で設定された最大値に基づいて、併合すべき論理階層を決定することを特徴とする。
請求項16記載の発明は、前記請求項1記載の半導体集積回路設計における階層ブロック生成方法において、前記階層ブロック生成工程は、各階層ブロックが内部に有するセルの数の最小値を設定する最小値設定工程を有して、前記最小値設定工程で設定された最小値に基づいて、併合すべき論理階層を決定することを特徴とする。
請求項17記載の発明は、前記請求項16記載の半導体集積回路設計における階層ブロック生成方法において、前記階層ブロック生成工程は、前記最小値設定工程で設定された最小値を満足しない論理階層と、この論理階層以外の論理階層であって最小の数のセルを持つ論理階層とを併合することを特徴とする。
請求項18記載の発明は、前記請求項1記載の半導体集積回路設計における階層ブロック生成方法において、前記階層ブロック生成工程は、 各階層ブロックが内部に有するフリップフロップ回路又はセルの数の最大値及び最小値を設定する閾値設定工程と、各論理階層を併合し、その併合後のフリップフロップ回路又はセルの数を計算し、その計算した数が前記閾値設定工程の最大値を越えるか否かを判定する第1判定工程と、前記第1判定工程において最大値を越える併合となる論理階層以外の論理階層を併合対象として、論理階層の併合を行う第1併合工程と、前記第1併合工程後の論理階層について回路構造を更新する第1更新工程と、前記第1判定工程において最大値を越える論理階層の併合を併合対象として併合し、その併合後のフリップフロップ回路又はセルの数を計算し、その計算した数が前記閾値設定工程の最小値を越えるか否かを判定する第2判定工程と、前記第2判定工程において最小値未満の併合となる論理階層以外の論理階層を併合対象として、論理階層の併合を行う第2併合工程と、前記第2併合工程後の論理階層について回路構造を更新する第2更新工程とを有することを特徴とする。
請求項19記載の発明の半導体集積回路設計における階層ブロック生成装置は、コンピュータを用いて、半導体集積回路の論理階層情報を保持した回路情報から複数の階層ブロックを生成する半導体集積回路設計における階層ブロック生成装置であって、前記半導体集積回路の論理階層情報を保持した回路情報を入力するデータベース入力手段と、前記データベース入力手段により入力された回路情報から前記半導体集積回路の各論理階層について回路構造を抽出する回路構造抽出手段と、前記回路構造抽出手段により抽出された各論理階層の回路構造に基づいて前記各論理階層を併合して複数の階層ブロックを生成する階層ブロック生成手段と、前記階層ブロック生成手段により生成された階層ブロックの構造を出力するデータベース出力手段とを備えたことを特徴とする。
請求項20記載の発明の半導体集積回路設計における階層ブロック生成プログラムは、コンピュータを用いて、半導体集積回路の論理階層情報を保持した回路情報から複数の階層ブロックを生成するための半導体集積回路設計における階層ブロック生成プログラムであって、前記コンピュータに、半導体集積回路の論理階層情報を保持した回路情報を入力させる手順と、前記入力された回路情報から前記半導体集積回路の各論理階層について回路構造を抽出させる手順と、前記抽出された各論理階層の回路構造に基づいて前記各論理階層を併合して複数の階層ブロックを生成させる手順と、前記生成された階層ブロックの構造を出力させる手順とを実行させることを特徴とする。
以上により、請求項1〜20記載の発明の階層ブロック生成方法では、入力された回路情報から各論理階層の回路構造を抽出する。この回路構造は、例えば、各論理階層間の入出力数、その各入出力間の論理セル段数、各論理階層が内部に備えるフリップフロップ回路の数やセル数である。そして、この回路構造に基づいて論理階層を併合し、階層ブロックを最適化するので、階層ブロックの配線容易性やタイミング収束性が向上し、設計期間の短縮及びチップサイズの削減が実現される。
また、請求項2記載の発明では、得られた論理セル段数にセルの平均遅延値を乗算し、これにより、論理階層間の各入出力における遅延値が求められる。この方法は、従来のセルライブラリを参照して遅延値を算出する方法に比べて、遅延値の算出が高速に行われる。この方法は、従来の方法に比べて簡易的に算出するために精度は劣化するが、階層ブロックの形状や配置も決まっていない状況であるので、タイミング収束性の傾向を判断するには十分な精度であると考えられる。この方法により算出された遅延値のみを基準に論理階層の併合を行うと、半導体集積回路の目標周期に関係なく評価してしまうため、絶対値の大きい遅延値の論理階層を併合の対象に選択してしまうという問題がある。例えば、半導体集積回路の目標周期が10nsで遅延値が8nsの入力を持つ論理階層Aと、目標周期が100nsで遅延値が12nsの入力を持つ論理階層Bでは、遅延値の絶対値の大きい論理階層を選択すると、論理階層Bの方が選択されてしまう。そこで、遅延値/目標周期の演算式により遅延値を補正することにより、前記問題を解決する。これにより、前記例では、論理階層Aの遅延値は0.8、論理階層Bの遅延値は0.12となり、論理階層Aが選択されることになり、目標周期を考慮して最適な論理階層の選択を行うことが可能である。
請求項3記載の発明では、次の作用を奏する。すなわち、論理階層間の信号接続本数が大きくなると、階層ブロック間の配線数が増加し、多くの配線領域が必要になるため、チップサイズが大きくなるという問題がある。そこで、信号接続本数の多い順に論理階層を併合して行くことにより、最上位階層の配線数を削減できる。例えば、3つの階層ブロックA、B、Cがある場合に、各階層ブロック間の信号接続本数が、各々、AB間が10本、BC間が20本、AC間が100本とすると、階層ブロックA、Cを併合することにより、論理階層間の信号接続本数が130本から30本に削減される。このように、信号接続本数が削減されることにより、最上位階層の配線領域が削減されるので、チップサイズを削減することが可能である。
請求項4記載の発明では、次の作用を奏する。すなわち、例えば2つの論理階層間の遅延値が大きい場合、その両論理階層が別の階層ブロックになると、長距離配線が発生するために、半導体集積回路の目標仕様を満たせない可能性が高い。また、階層ブロック間に目標周期を満足しない信号パスが存在すると、両方の階層ブロックでタイミングを収束させる必要があり、データや情報のやり取りや反復作業が増加し、設計期間の増加の要因になる。そこで、これ等の論理階層を同一階層ブロックに併合することにより、論理階層同士が近くに配置されたり、再合成による論理階層間の論理圧縮が行われたり、配線長が削減されたりして、タイミング収束性の向上が図れる。また、データや情報のやり取りが削減できるため、設計期間の短縮も実現できる。そこで、本請求項では、目標周期を満足しない入出力数の多い論理階層順に論理階層を併合対象とすることにより、タイミング的に厳しい論理階層から併合され、タイミング収束性の良い階層ブロックの生成が可能となる。例えば、3つの階層ブロックA、B、Cがある場合に、目標周期を満足しない入出力数を、各々、論理階層A、B間が3、論理階層B、C間が5、論理階層A、C間が0であるとすると、2つの階層ブロックB、Cを併合することにより、階層ブロック間の目標周期を満足しない信号パスは、8本から3本に削減されるので、タイミング収束性の向上が図れる。
請求項5記載の発明では、次の作用を奏する。すなわち、前記請求項4記載の発明では、実際の遅延値で評価しない関係上、論理階層A、B間のクリティカルパスの遅延値が1.5、論理階層B、C間のクリティカルパスが1.05だった場合にも、論理階層B、Cが併合されてしまい、タイミング収束を行い難い論理階層A、B間の信号パスが残ってしまう。そこで、本請求項では、遅延値の最大値が大きな論理階層を選択して併合して行くことにより、論理階層間に分断されているクリティカルパスを同一階層ブロックに併合することが可能になって、前記問題を解決することが可能となる。即ち、本請求項記載の発明では、前記例では、階層ブロックA、Bが併合されることになり、よりタイミングの厳しい論理階層から順に併合されるので、タイミング収束性の向上が図れる。
ここで、請求項6記載の発明のように、論理階層間の遅延値の平均値の大きな論理階層同士を選択して併合して行くことにより、相対的にタイミングの厳しい組合せの論理階層同士を同一階層ブロックにすることが可能であり、チップ全体から見たタイミング収束性を向上することができる。例えば、階層ブロック間の平均値を、各々、論理階層A、B間が0.8、論理階層B、C間が0.95、論理階層A、C間が0.5であるとすると、階層ブロックB、Cが併合されて、階層ブロック間のタイミング収束性の向上が図れる。
また、請求項7記載の発明では、目標周期を満足しない入出力間のみの遅延値の平均値が大きな論理階層同士を選択して併合して行くことにより、タイミングがクリティカルな論理階層の情報を反映した階層ブロックの生成が可能である。
請求項8記載の発明では、次の作用を奏する。すなわち、以上説明した階層ブロック生成方法では、接続容易性とタイミング収束性とを共に評価して行くのは困難と考えられる。例えば、3つの階層ブロックA、B、Cがある場合に、各階層ブロック間の遅延値の平均値を、階層ブロックA、B間が0.8、階層ブロックB、C間が0.75、階層ブロックA、C間が0.5であるとすると、遅延値の平均値で見ると、階層ブロックA、Bが併合されるが、各階層ブロック間の信号接続本数を見ると、階層ブロックA、B間が10本、階層ブロックB、C間が50本、階層ブロックA、C間が20本となっているときには、信号接続本数で考えると、階層ブロックB、C同士を併合した方が信号接続本数の削減が図れることになる。前記例で見ると、遅延値を見るとほとんど相違がなく、信号接続本数には大きな違いが見られるため、階層ブロックB、C同士を併合した方が最適と考えられる。しかし、遅延値に基づいて併合処理を行うと、前記例の場合には階層ブロックA、B同士が併合されてしまい、最適な階層ブロックが生成できない可能性がある。このような問題を解決するため、本請求項8記載の発明では、2つの論理階層毎に、その論理階層間の各入出力間の遅延値の総和を算出し、その総和値を評価して論理階層を併合の対象に選択することにより、各階層ブロック間の信号接続本数及び遅延値を同時に評価する。従って、本請求項8記載の発明では、タイミング収束性と配線容易性とを共に考慮して論理階層を選択し併合することが可能である。前記例では、遅延値の総和は、階層ブロックA、B間では8.0、階層ブロックB、C間では37.5、階層ブロックA、C間では10.0となって、階層ブロックB、C同士が併合されるので、階層ブロック間の配線数の削減とタイミング収束性の向上との両立を図ることができる。
また、この際に、請求項9記載の発明のように、目標周期を満足しない入出力のみの遅延値の総和を評価することにより、特にタイミングがクリティカルな部分の情報を反映した階層ブロックの生成が可能である。
次に、請求項12及び13記載の発明では、次の作用を奏する。すなわち、階層ブロック内に備えられるフリップフロップ回路の数にばらつきがあると、階層ブロック毎にクロックスキューのばらつきが大きくなったり、消費電力のピーク値にばらつきが発生してしまい、クロックスキューの調整や電圧降下の対策作業に多くの工数が必要となる。そこで、請求項12及び13記載の発明では、各階層ブロック内のフリップフロップ回路の数に最大値及び最小値の閾値を設定する。これにより、各階層ブロック間のフリップフロップ回路数のばらつきを抑えて、クロックスキュー及び消費電力のばらつきを抑えることが可能である。
更に、請求項15及び16記載の発明では、次の作用を奏する。すなわち、一般に、自動レイアウト設計ツールの処理時間はセル数に依存し、セル数が所定の一定値を超えると、指数関数的に設計処理時間が増加する傾向がある。また、論理階層を細かく分割すると、設計処理時間を削減することができるが、階層ブロック数が増えるために、設計人員が増加するという問題がある。そこで、本請求項15及び16記載の発明では、各論理階層に備えるセル数に最大値及び最小値の閾値を設定する。これにより、階層ブロック間のセル数のばらつきが抑えられて、自動レイアウト設計ツールの現実的な処理可能範囲内で最小の階層ブロック数を実現できて、レイアウト設計者も必要最小限となり、設計人員の効率化を図ることができ、更には自動レイアウト設計ツールの性能を最大限活用できる。
加えて、請求項18記載の発明では、次の作用を奏する。すなわち、階層ブロックの生成に際しては、各論理階層内のフリップフロップ回路数又はセル数に最大値を設定する。次に、全ての論理階層に対して、併合後の論理階層のフリップフロップ回路数又はセル数を算出して、最大値を越える論理階層を併合対象外とし、最大値以下の論理階層を併合対象として併合する。そして、最終的に全ての論理階層が併合対象外となった時点で、最大値以下の論理階層が生成されたことになる。その後は、各論理階層内のフリップフロップ回路数又はセル数に今度は最小値を設定し、前記生成された最大値以下の全ての論理階層に対して、併合後の論理階層内に含まれるフリップフロップ回路数又はセル数を算出して、最小値以上の論理階層を併合対象外とし、最小値未満の論理階層を併合対象として併合する。
前記最小値未満の論理階層の併合に際しては、請求項10記載の発明では、特にタイミングが厳しい階層ブロック同士のみの併合処理を許可する。例えば、3つの階層ブロックA、B、Cがある場合に、階層ブロック間の遅延値の総和値を、各々、階層ブロックA、B間が300、階層ブロックB、C間が600、階層ブロックA、C間が100となるときには、階層ブロックB、C同士の併合を行う。一方、遅延値の総和値が各々例えば階層ブロックA、B間が250、階層ブロックB、C間が300、階層ブロックA、C間が200であるときには、階層ブロックB、C間が最大となるが、遅延値の総和値は相互間でさほど差がない(これ等3つの遅延総和値の合計値750の1/2値未満である)ため、併合は行わない。
この際、請求項11記載の発明では、タイミングのクリティカルな入出力間のみの遅延値の総和値で評価することも可能である。
前記請求項10又は11記載の発明において、各階層ブロック間の遅延値の総和値が相互間でさほど差がない場合には、請求項14又は17記載の発明のように、併合後のセル数又はフリップフロップ回路数が最小となるように併合処理が行われる。
そして、最終的に全ての論理階層が併合対象外となった時点で、最大値以下で且つ最小値以上のフリップフロップ回路数又はセル数を持つ複数の階層ブロックが生成されたことになる。この一連の処理により、配線容易性及びタイミング収束性を考慮した最適な階層ブロックが生成される。
以上により、請求項1〜20記載の発明では、次の4つの効果を奏する。
すなわち、第1に、階層ブロック間の配線数を削減して、トップ階層の配線領域を削減できるので、半導体集積回路の面積を縮小できる。また、論理階層間の遅延値が大きい論理階層同士を1つの階層ブロックに併合して、セル同士を近くに配置できるので、セルサイズの縮小及び無駄なバッファの挿入の削減が可能となって、より一層に半導体集積回路の面積を縮小できる。
第2に、階層ブロック間の信号接続数が削減されて、半導体集積回路全体のタイミング収束を行うことが容易になると共に、タイミングがクリティカルになっている部分が同一の階層ブロックに存在して、階層ブロックという部分的な範囲でタイミングの最適化を行い得るので、半導体集積回路のタイミング収束性を向上することができる。
第3に、階層ブロック内のセル数を自動配置配線ツール自体の扱えるデータ規模の制限以内に抑えることができて、配置配線処理の実行時間を削減できるので、階層ブロックの自動配置配線の処理時間を削減できる。
第4に、階層ブロック内のフリップフロップ回路数のばらつきを抑えることができるので、クロックスキューのばらつきや、消費電力のピーク値のばらつきを抑えることが可能である。
以下、本発明の階層ブロック生成方法及び生成装置の実施形態を説明する。尚、本発明に係る階層ブロック生成プログラムの実施形態についても、合わせて説明する。
図1は、本発明の実施形態の階層ブロック生成装置の構成を示すブロック図である。同図において、101は、半導体集積回路の論理階層情報を保持した回路情報を入力するデータベース入力手段、102は前記データベース入力手段101が入力した回路情報に基づいて半導体集積回路の回路構造パラメータを抽出する回路構造抽出手段、103は前記回路構造抽出手段102が抽出した回路構造パラメータに基づいて論理階層の併合を行って複数の階層ブロックを生成する階層ブロック生成手段、104は前記階層ブロック生成手段103で生成された各階層ブロックの構造を出力するデータベース出力手段である。尚、図中、105は前記回路構造抽出手段102が抽出した回路パラメータを示す。
図2は、図1に示した回路構造抽出手段102の詳細な構成を示すブロック図である。図2において、201は前記回路情報106より各論理階層間の入出力数、その各入出力間の論理セル段数、内部に備えるフリップフロップ回路数(FF数)及びセル数を算出する回路情報解析手段、202は論理階層間の各入出力間の論理セル段数とセル遅延値情報とを元に各入出力間の遅延値を算出する遅延値算出手段、203はクロック情報を元に各入出力間の遅延値の補正を行う遅延値補正手段、204は各論理階層間のタイミング情報である最大遅延値、平均遅延値、遅延値の総和、半導体集積回路の目標周期を満足しない入出力間の遅延値の総和、前記目標周期を満足しない入出力間の平均遅延値を算出するタイミング情報算出手段である。
図3は、前記図1に示した階層ブロック生成手段103の詳細な構成を示すブロック図である。同図において、301は、与えられたフリップフロップ回路数又はセル数の目標値から、最大値及び最小値を閾値として設定する閾値選択手段、302は全ての論理階層の中から2つの論理階層を併合対象として組合せることを繰り返す対象論理階層選択手段、303は、前記組合された2つの論理階層を併合した後の階層ブロックが有するフリップフロップ回路数又はセル数が前記最大値を越えるか否かを判定し、越える場合は、それらの論理階層を併合の対象外とする最大閾値判定手段、304は併合対象の論理階層から実際に併合する論理階層を選択して併合する最大閾値論理階層併合手段、305は併合後の論理階層の回路パラメータの再計算を行い、情報の更新を行う回路パラメータ更新手段である。
また、図3において、306は、全ての論理階層又は階層ブロックが前記最小値を満足するか否かを判定し、最小値未満の場合は、それらの論理階層を併合の対象とする最小閾値判定手段、307は併合対象の論理階層から実際に併合する論理階層を選択して併合する最小閾値論理階層併合手段、308は併合後の論理階層の回路パラメータの再計算を行い、情報の更新を行う回路パラメータ更新手段である。
図4は、図3の階層ブロック生成手段の動作を示すフローチャートを示す。前記のように構成した階層ブロック生成装置について、以下、図1、図2、図3、及び図4の動作フローチャートに基づいて説明する。
先ず、データベース入力手段101により、設計対象となる半導体集積回路の階層構造を保持した回路情報106を入力する。ここで、半導体集積回路の階層構造について説明する。図5は、階層構造を説明するためのデータ構造図である。図5に示すように、階層構造はツリー上のデータ構造で表される。各符号A、B1〜B3及びC1〜C5のA、B、Cは各階層を示しており、ツリーの根となる符号Aは最上位階層のブロックを表し、葉となる各符号B2、C1、C2、C3、C4及びC5は最下位階層ブロックを表している。また、最下位階層ブロックB2、C1、C2、C3、C4及びC5は、複数のマクロセル及び複数のスタンダードセルからなる論理階層である。入力された階層構造に対し、図5に示すように、中間階層B1、B3を削除して、最上位階層Aには最下位階層ブロックB2、C1、C2、C3、C4及びC5のみが存在するように、データの変換を行う。
次に、回路構造抽出手段102により、入力された回路情報のパラメータ抽出を行う。ここで、回路構造抽出手段102について詳細に説明する。先ず、図2において、回路情報解析手段201により抽出される回路構造データは、各最下層の論理階層B2、C1、C2、C3、C4及びC5間の入出力数、その各入出力における次のフリップフロップ回路までの論理セル段数、備えるセル数及びフリップフロップ回路数である。次に、遅延値算出手段202により、1つのセルの遅延値情報と前記論理セル段数とから、各入出力別の遅延値を算出する。この際に用いられる演算式は、遅延値=論理セル段数×セル遅延値である。続いて、遅延値補正手段203により、クロック情報に基づいて遅延値補正を行う。ここで用いられる補正式は、遅延値´=遅延値÷半導体集積回路の目標周期である。以下で用いられる遅延値は、前記補正式を用いて算出された遅延値´を言う。
最後に、タイミング情報算出手段204により、論理階層間の最大遅延値、平均遅延値、論理階層間の各入出力間の遅延値の総和、半導体集積回路の目標周期を満足しない入出力数、前記目標周期を満足しない入出力間の遅延値の総和及び平均遅延値を算出する。ここで、最大遅延値とは、2つの論理階層間に複数の入出力がある場合に、各入出力間の遅延値のうち最大値をいう。また、平均遅延値とは、それ等の各入出力間の遅延値の平均値をいう。更に、目標周期を満足しない入出力数とは、2つの論理階層間の複数の入出力のうち、入出力間の遅延値が半導体集積回路の目標周期を越える入出力の数を言う。
次に、階層ブロック生成手段103により、論理階層を併合することにより階層ブロックを生成する。ここで、階層ブロック生成手段103について図3及び図4を用いて詳細に説明する。先ず、図4の閾値設定工程401では、最大閾値選択手段301により、階層ブロックを生成する際の閾値を決定する。つまり、論理階層に含まれるフリップフロップ回路数又はセル数の目標値に基づいて、これらフリップフロップ回路数又はセル数の最大値及び最小値を、閾値として定める。
続いて、図4の対象論理階層選択工程402では、対象論理階層選択手段302により、論理階層の併合対象として2つの論理階層の選択を行う。その後、第1判定工程403では、最大閾値判定手段303により、全ての論理階層に対して論理階層併合後の閾値を計算し、最大閾値を超える組合せとなる論理階層を併合対象外にする。
次に、第1併合工程404では、最大閾値論理階層併合手段304により、併合対象となる論理階層の中から、併合する論理階層を選択し、併合処理を行う。この際、併合する論理階層の選択は、適用する半導体集積回路の特性や所望する階層ブロックを踏まえて、以下のように行う。すなわち、第1に、各論理階層間の信号接続本数が最大となる組合せの論理階層同士又は階層ブロック同士を選択する。第2に、各論理階層間の各入出力間の遅延値のうち、目標周期を満足しない入出力の数が最大となる組合せの論理階層同士又は階層ブロック同士を選択する。第3に、各論理階層間の各入出力間の遅延値が最大となる組合せの論理階層同士又は階層ブロック同士を選択する。第4に、各論理階層間の各入出力間の平均遅延値が最大となる組合せの論理階層同士又は階層ブロック同士を選択する。第5に、各論理階層間の各入出力間の遅延値のうち、目標周期を満足しない入出力の遅延値のみの平均値が最大となる論理階層同士又は階層ブロック同士を選択する。第6に、各論理階層間の各入出力間の遅延値の総和が最大となる組合せの論理階層同士又は階層ブロック同士を選択する。第7に、各論理階層間の各入出力間の遅延値のうち、目標周期を満足しない入出力の遅延値のみの総和が最大となる組合せの論理階層同士又は階層ブロック同士を選択する。以上の7種の選択方法のうち何れかの選択方法で選択された2つ論理階層に対し、論理階層の併合処理を行い、新たな階層ブロックを生成する。
次に、図4に示した第1更新工程405では、回路パラメータ更新手段305により、併合された階層ブロックの回路パラメータを再計算して、情報の更新を行う。具体的には、併合後の階層ブロックについて、備えるフリップフロップ回路数、セル数、入出力数、及びタイミング情報について再計算を行って、その情報を元に回路パラメータの更新を行う。
その後は、図4の対象論理階層選択工程402から第1更新工程405までの工程を全ての論理階層又は階層ブロックが併合対象外になるまで繰り返し、実行する。
全ての論理階層又は階層ブロックが併合対象外になった時点で、図4の第2判定工程406において、全ての論理階層又は階層ブロックについて、そのフリップフロップ回路数又はセル数が最小閾値を満足しているか否かを判定する。全ての論理階層又は階層ブロックについて最小閾値を満足している場合には、階層ブロック生成手段103の動作を終了して、図1のデータベース出力手段104の動作に移行するが、全ての論理階層又は階層ブロックについて最小閾値を満足していない場合には、第2併合工程407において、最小閾値論理階層併合手段307により、最小閾値を満足しない論理階層又は階層ブロックについて併合処理を行う。
前記最小閾値論理階層併合手段307による併合処理は、次のように行う。すなわち、第1に、論理階層間の各入出力間の遅延値の総和が、全ての論理階層間の各入出力間の遅延値の総和の1/2値以上である論理階層同士又は階層ブロック同士を併合する。第2に、論理階層間の各入出力間の遅延値のうち、目標周期を満足しない遅延値の総和が、全ての論理階層間の各入出力間のうち目標周期を満足しない遅延値の総和の1/2値以上である論理階層同士又は階層ブロック同士を併合する。前記の第1又は第2の選択方法により、タイミングの厳しい階層ブロック同士の併合を行う。この際、前記第1又は第2の選択方法での判断基準で満足する階層ブロックがない場合には、最小閾値を満足しない階層ブロックと、残る階層ブロックのうちフリップフロップ回路数又はセル数が最小の階層ブロックとを併合対象として併合する。
階層ブロックの併合後は、図4の第2更新工程408において、回路パラメータ更新手段308により、回路情報の再計算及び更新を行う。この一連の処理を全ての論理階層又は階層ブロックが最小閾値を満足するまで繰り返し実行する。そして、最終的に全ての論理階層又は階層ブロックが最小閾値を満足した時点で、階層ブロック生成手段103による階層ブロックの生成動作を終了する。
そして、最後に、図1に示したデータベース出力手段104では、前記階層ブロック生成手段103で生成された階層ブロックの構成を持つ回路情報の出力を行う。
以上のような方法により、タイミング収束性及び配線容易性を考慮した階層ブロックの生成が最適に自動で行われるので、設計期間の短縮やチップサイズの削減が実現できる。
以上説明したように、本発明は、半導体集積回路の階層レイアウト設計において、タイミング収束性及び配線容易性を考慮して、最適な階層ブロックを自動で生成できるので、階層ブロック間の配線数やトップ階層の配線領域を削減できると共に、セルサイズの縮小等が可能となって、設計された半導体集積回路の面積の縮小を図ることができ、半導体集積回路設計における階層ブロック生成方法などとして、有用である。
本発明の実施形態の階層ブロック生成装置の構成を示すブロック図である。 同階層ブロック生成装置に備える回路構造抽出手段の詳細な構成を示すブロック図である。 同階層ブロック生成装置に備える階層ブロック生成手段の詳細な構成を示すブロック図である。 同階層ブロック生成手段を動作を説明するフローチャート図である。 半導体集積回路の階層構造を説明するためのデータ構造図である。 データベース入力手段により変換された階層構造を示すデータ構造図である。 従来技術のビルディングブロック方式による半導体集積回路のレイアウト設計を示すフローチャート図である。
符号の説明
101 データベース入力手段
102 回路構造抽出手段
103 階層ブロック生成手段
104 データベース出力手段
201 回路情報解析手段
202 遅延値算出手段
203 遅延値補正手段
204 タイミング情報算出手段
301 閾値選択手段
302 対象論理階層選択手段
303 最大閾値判定手段
304 最大閾値論理階層選択手段
305 回路パラメータ更新手段
306 最小閾値判定手段
307 最小閾値論理階層併合手段
401 閾値設定工程
403 第1判定工程
404 第1併合工程
405 第1更新工程
406 第2判定工程
407 第2併合工程
408 第2更新工程

Claims (20)

  1. コンピュータを用いて、半導体集積回路の論理階層情報を保持した回路情報から複数の階層ブロックを生成する半導体集積回路設計における階層ブロック生成方法であって、
    前記半導体集積回路の論理階層情報を保持した回路情報を入力し、この入力した回路情報から前記半導体集積回路の各論理階層について回路構造を抽出する回路構造抽出工程と、
    前記抽出された各論理階層の回路構造に基づいて前記各論理階層を併合して複数の階層ブロックを生成し、この生成した階層ブロックの構造を出力する階層ブロック生成工程と
    を有することを特徴とする半導体集積回路設計における階層ブロック生成方法。
  2. 前記回路構造抽出工程は、
    各論理階層間の各入出力間に位置する論理セル段数と、1つのセルの遅延値とに基づいて、各入出力間の遅延値を算出する遅延値算出工程と、
    前記遅延値算出工程で算出された遅延値を、前記半導体集積回路の目標周期に基づいて補正する補正工程とを有して、
    前記各論理階層の回路構造として、前記補正工程により補正された遅延値を抽出する
    ことを特徴とする請求項1記載の半導体集積回路設計における階層ブロック生成方法。
  3. 前記回路構造抽出工程は、
    前記各論理階層の回路構造として、各論理階層間の信号接続本数を抽出し、
    前記階層ブロック生成工程は、
    前記回路構造抽出工程で抽出された各論理階層間の信号接続本数に基づいて、併合すべき論理階層を決定する
    ことを特徴とする請求項1記載の半導体集積回路設計における階層ブロック生成方法。
  4. 前記階層ブロック生成工程は、
    前記回路構造抽出工程が有する補正工程で得られた各論理階層間の各入出力間の遅延値のうち、前記半導体集積回路の目標周期を満足しない遅延値を持つ入出力数に基づいて、併合すべき論理階層を決定する
    ことを特徴とする請求項2記載の半導体集積回路設計における階層ブロック生成方法。
  5. 前記階層ブロック生成工程は、
    前記回路構造抽出工程が有する補正工程で得られた各論理階層間の各入出力間の遅延値の最大値に基づいて、併合すべき論理階層を決定する
    ことを特徴とする請求項2記載の半導体集積回路設計における階層ブロック生成方法。
  6. 前記階層ブロック生成工程は、
    前記回路構造抽出工程が有する補正工程で得られた各論理階層間の各入出力間の遅延値の平均値に基づいて、併合すべき論理階層を決定する
    ことを特徴とする請求項2記載の半導体集積回路設計における階層ブロック生成方法。
  7. 前記階層ブロック生成工程は、
    前記回路構造抽出工程が有する補正工程で得られた各論理階層間の各入出力間の遅延値のうち、前記半導体集積回路の目標周期を満足しない遅延値の平均値に基づいて、併合すべき論理階層を決定する
    ことを特徴とする請求項2記載の半導体集積回路設計における階層ブロック生成方法。
  8. 前記階層ブロック生成工程は、
    前記回路構造抽出工程が有する補正工程で得られた各論理階層間の各入出力間の遅延値をその論理階層間で総和した総和値に基づいて、併合すべき論理階層を決定する
    ことを特徴とする請求項2記載の半導体集積回路設計における階層ブロック生成方法。
  9. 前記階層ブロック生成工程は、
    前記回路構造抽出工程が有する補正工程で得られた各論理階層間の各入出力間の遅延値のうち、前記半導体集積回路の目標周期を満足しない遅延値をその論理階層間で総和した総和値に基づいて、併合すべき論理階層を決定する
    ことを特徴とする請求項2記載の半導体集積回路設計における階層ブロック生成方法。
  10. 前記階層ブロック生成工程は、
    前記回路構造抽出工程が有する補正工程で得られた各論理階層間の各入出力間の遅延値の総和が、全ての論理階層間での各入出力間の遅延値の総和の1/2値以上である論理階層を、併合すべき論理階層に決定する
    ことを特徴とする請求項2記載の半導体集積回路設計における階層ブロック生成方法。
  11. 前記階層ブロック生成工程は、
    前記回路構造抽出工程が有する補正工程で得られた各論理階層間の各入出力間の遅延値のうち、前記半導体集積回路の目標周期を満足しない遅延値の総和が、全ての論理階層間での前記目標周期を満足しない遅延値の総和の1/2値以上である論理階層を、併合すべき論理階層に決定する
    ことを特徴とする請求項2記載の半導体集積回路設計における階層ブロック生成方法。
  12. 前記階層ブロック生成工程は、
    各階層ブロックが内部に有するフリップフロップ回路の数の最大値を設定する最大値設定工程を有して、
    前記最大値設定工程で設定された最大値に基づいて、併合すべき論理階層を決定する
    ことを特徴とする請求項1記載の半導体集積回路設計における階層ブロック生成方法。
  13. 前記階層ブロック生成工程は、
    各階層ブロックが内部に有するフリップフロップ回路の数の最小値を設定する最小値設定工程を有して、
    前記最小値設定工程で設定された最小値に基づいて、併合すべき論理階層を決定する
    ことを特徴とする請求項1記載の半導体集積回路設計における階層ブロック生成方法。
  14. 前記階層ブロック生成工程は、
    前記最小値設定工程で設定された最小値を満足しない論理階層と、この論理階層以外の論理階層であって最小の数のフリップフロップ回路を持つ論理階層とを併合する
    ことを特徴とする請求項13記載の半導体集積回路設計における階層ブロック生成方法。
  15. 前記階層ブロック生成工程は、
    各階層ブロックが内部に有するセルの数の最大値を設定する最大値設定工程を有して、
    前記最大値設定工程で設定された最大値に基づいて、併合すべき論理階層を決定する
    ことを特徴とする請求項1記載の半導体集積回路設計における階層ブロック生成方法。
  16. 前記階層ブロック生成工程は、
    各階層ブロックが内部に有するセルの数の最小値を設定する最小値設定工程を有して、
    前記最小値設定工程で設定された最小値に基づいて、併合すべき論理階層を決定する
    ことを特徴とする請求項1記載の半導体集積回路設計における階層ブロック生成方法。
  17. 前記階層ブロック生成工程は、
    前記最小値設定工程で設定された最小値を満足しない論理階層と、この論理階層以外の論理階層であって最小の数のセルを持つ論理階層とを併合する
    ことを特徴とする請求項16記載の半導体集積回路設計における階層ブロック生成方法。
  18. 前記階層ブロック生成工程は、
    各階層ブロックが内部に有するフリップフロップ回路又はセルの数の最大値及び最小値を設定する閾値設定工程と、
    各論理階層を併合し、その併合後のフリップフロップ回路又はセルの数を計算し、その計算した数が前記閾値設定工程の最大値を越えるか否かを判定する第1判定工程と、
    前記第1判定工程において最大値を越える併合となる論理階層以外の論理階層を併合対象として、論理階層の併合を行う第1併合工程と、
    前記第1併合工程後の論理階層について回路構造を更新する第1更新工程と、
    前記第1判定工程において最大値を越える論理階層の併合を併合対象として併合し、その併合後のフリップフロップ回路又はセルの数を計算し、その計算した数が前記閾値設定工程の最小値を越えるか否かを判定する第2判定工程と、
    前記第2判定工程において最小値未満の併合となる論理階層以外の論理階層を併合対象として、論理階層の併合を行う第2併合工程と、
    前記第2併合工程後の論理階層について回路構造を更新する第2更新工程とを有する
    ことを特徴とする請求項1記載の半導体集積回路設計における階層ブロック生成方法。
  19. コンピュータを用いて、半導体集積回路の論理階層情報を保持した回路情報から複数の階層ブロックを生成する半導体集積回路設計における階層ブロック生成装置であって、
    前記半導体集積回路の論理階層情報を保持した回路情報を入力するデータベース入力手段と、
    前記データベース入力手段により入力された回路情報から前記半導体集積回路の各論理階層について回路構造を抽出する回路構造抽出手段と、
    前記回路構造抽出手段により抽出された各論理階層の回路構造に基づいて前記各論理階層を併合して複数の階層ブロックを生成する階層ブロック生成手段と、
    前記階層ブロック生成手段により生成された階層ブロックの構造を出力するデータベース出力手段と
    を備えたことを特徴とする半導体集積回路設計における階層ブロック生成装置。
  20. コンピュータを用いて、半導体集積回路の論理階層情報を保持した回路情報から複数の階層ブロックを生成するための半導体集積回路設計における階層ブロック生成プログラムであって、
    前記コンピュータに、
    半導体集積回路の論理階層情報を保持した回路情報を入力させる手順と、
    前記入力された回路情報から前記半導体集積回路の各論理階層について回路構造を抽出させる手順と、
    前記抽出された各論理階層の回路構造に基づいて前記各論理階層を併合して複数の階層ブロックを生成させる手順と、
    前記生成された階層ブロックの構造を出力させる手順と
    を実行させることを特徴とする半導体集積回路設計における階層ブロック生成プログラム。
JP2004036941A 2004-02-13 2004-02-13 半導体集積回路設計における階層ブロック生成方法及び生成装置、並びに半導体集積回路設計における階層ブロック生成プログラム Pending JP2005228124A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2004036941A JP2005228124A (ja) 2004-02-13 2004-02-13 半導体集積回路設計における階層ブロック生成方法及び生成装置、並びに半導体集積回路設計における階層ブロック生成プログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2004036941A JP2005228124A (ja) 2004-02-13 2004-02-13 半導体集積回路設計における階層ブロック生成方法及び生成装置、並びに半導体集積回路設計における階層ブロック生成プログラム

Publications (1)

Publication Number Publication Date
JP2005228124A true JP2005228124A (ja) 2005-08-25

Family

ID=35002789

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004036941A Pending JP2005228124A (ja) 2004-02-13 2004-02-13 半導体集積回路設計における階層ブロック生成方法及び生成装置、並びに半導体集積回路設計における階層ブロック生成プログラム

Country Status (1)

Country Link
JP (1) JP2005228124A (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8074198B2 (en) 2007-08-29 2011-12-06 Nec Corporation Apparatus and method for circuit layout using longest path and shortest path search elements
CN102880733A (zh) * 2011-07-13 2013-01-16 台湾积体电路制造股份有限公司 由展平的图形数据库系统布局进行层次重建的系统和方法
US8875085B2 (en) 2013-03-25 2014-10-28 Fujitsu Limited Wiring inspection apparatus and wiring inspection method

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8074198B2 (en) 2007-08-29 2011-12-06 Nec Corporation Apparatus and method for circuit layout using longest path and shortest path search elements
CN102880733A (zh) * 2011-07-13 2013-01-16 台湾积体电路制造股份有限公司 由展平的图形数据库系统布局进行层次重建的系统和方法
US8875085B2 (en) 2013-03-25 2014-10-28 Fujitsu Limited Wiring inspection apparatus and wiring inspection method

Similar Documents

Publication Publication Date Title
US7676780B2 (en) Techniques for super fast buffer insertion
US9552454B2 (en) Concurrent timing-driven topology construction and buffering for VLSI routing
US9092591B2 (en) Automatic generation of wire tag lists for a metal stack
US8782591B1 (en) Physically aware logic synthesis of integrated circuit designs
US7795943B2 (en) Integrated circuit device and layout design method therefor
US6066178A (en) Automated design method and system for synthesizing digital multipliers
US8701059B2 (en) Method and system for repartitioning a hierarchical circuit design
Lee et al. Contango: Integrated optimization of SoC clock networks
US6480996B1 (en) System and method for transposing wires in a circuit design
US9262359B1 (en) Method and system for implementing pipeline flip-flops
CN113779924A (zh) 超导集成电路的布线优化方法和装置、存储介质和终端
US7814452B1 (en) Function symmetry-based optimization for physical synthesis of programmable integrated circuits
US20060190848A1 (en) Low power consumption designing method of semiconductor integrated circuit
JP4969416B2 (ja) 動作タイミング検証装置及びプログラム
JP2013045318A (ja) フロアプラン作成情報生成方法、フロアプラン作成情報生成プログラム、フロアプラン作成情報生成装置、フロアプラン最適化方法、フロアプラン最適化プログラム及びフロアプラン最適化装置。
JP2001338006A (ja) 論理自動設計支援方法および装置
JPH10308450A (ja) 半導体集積回路及びその設計方法
JP2005228124A (ja) 半導体集積回路設計における階層ブロック生成方法及び生成装置、並びに半導体集積回路設計における階層ブロック生成プログラム
US6516453B1 (en) Method for timing analysis during automatic scheduling of operations in the high-level synthesis of digital systems
Kundu et al. Rectilinear Steiner Tree construction techniques using PB-SAT-based methodology
Shelar Routing with constraints for post-grid clock distribution in microprocessors
JP2009276822A (ja) 半導体デバイス設計支援装置及び半導体デバイス設計支援方法
JP2001267429A (ja) レイアウト設計装置およびレイアウト設計方法
Rafiq et al. Integrated floorplanning with buffer/channel insertion for bus-based designs
JP3182244B2 (ja) 半導体集積回路における信号伝播遅延時間の最適化方法