JP2011134084A - 半導体集積回路の設計方法、及びプログラム - Google Patents

半導体集積回路の設計方法、及びプログラム Download PDF

Info

Publication number
JP2011134084A
JP2011134084A JP2009292712A JP2009292712A JP2011134084A JP 2011134084 A JP2011134084 A JP 2011134084A JP 2009292712 A JP2009292712 A JP 2009292712A JP 2009292712 A JP2009292712 A JP 2009292712A JP 2011134084 A JP2011134084 A JP 2011134084A
Authority
JP
Japan
Prior art keywords
repeater
logic cell
point logic
start point
boundary
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
JP2009292712A
Other languages
English (en)
Inventor
Keiichiro Kondo
敬一朗 近藤
Hiroyuki Tsuchiya
裕幸 土屋
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.)
Renesas Electronics Corp
Original Assignee
Renesas Electronics Corp
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 Renesas Electronics Corp filed Critical Renesas Electronics Corp
Priority to JP2009292712A priority Critical patent/JP2011134084A/ja
Priority to US12/978,307 priority patent/US8381159B2/en
Publication of JP2011134084A publication Critical patent/JP2011134084A/ja
Pending legal-status Critical Current

Links

Images

Classifications

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

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Evolutionary Computation (AREA)
  • Geometry (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Design And Manufacture Of Integrated Circuits (AREA)

Abstract

【課題】配線遅延の増大、タイミング違反の発生を抑制することができる半導体集積回路の設計方法を提供することである。
【解決手段】本発明にかかる半導体集積回路の設計方法は、始点論理セル20の位置と終点論理セル21の位置を対角の頂点とする領域をリピータ検索範囲として設定し、リピータを配置可能な空き領域情報をリピータ検索範囲に付加し、始点論理セル20の駆動能力に基づき駆動境界をリピータ検索範囲内に設定し、空き領域情報に基づき駆動境界の範囲内に配置可能なリピータ候補を検索し、検索されたリピータ候補の座標および遅延時間情報に基づき、始点論理セル20から終点論理セル21までの遅延時間を算出し、算出された遅延時間に基づき、リピータ候補の中から始点論理セル20と終点論理セル21との間に配置するリピータを決定する。
【選択図】図1

Description

本発明は半導体集積回路の設計方法、及びプログラムに関し、特に半導体集積回路のレイアウトを最適化する半導体集積回路の設計方法、及びプログラムに関する。
近年、システムオンチップ(SoC)を含む半導体集積回路において、機能の複雑化によるマクロ規模の増大や実装されるシステムの高速化による半導体集積回路の高速化の要求が高まり、さまざまな高速回路技術を利用した論理合成手法や配置・配線設計手法が開発されてきた。
半導体集積回路内の機能マクロが増えると半導体集積回路の面積も増加し、機能マクロ上を通過する信号配線が長くなるため配線遅延が増加し、半導体集積回路の高速動作を実現することが難しくなる。信号配線が長くなったことに起因する配線容量成分の影響を低減するために、十分に駆動する事ができるバッファ論理セルや偶数段で構成されるインバータ論理セル(以降、リピータと称す)を半導体集積回路に挿入し、配線遅延を低減する方法が一般的に用いられている。しかし、リピータ配置位置の変更を行う場合に迂回配線を修正するための作業時間が必要となるため、作業の効率化が望まれている。
特許文献1には、1回の自動配置配線で適切なタイミングのレイアウト設計を行うことができる自動配置配線装置に関する技術が開示されている。特許文献1にかかる自動配置配線装置では、ブロックや機能マクロセル間の配線長をマンハッタン距離などの既存技術を用いて算出し、求めた配線長と転送レートとの相関から要求される転送レートに応じて使用する配線層を選択し、この配線層を使用しても転送レートが要求値を満たさない場合にリピータを挿入する処理を実施している。
図13は、特許文献1にかかる自動配置配線装置の構成を示すブロック図である。図13に示すように、特許文献1にかかる自動配置配線装置は、転送レート・リピータ間距離決定部112、配置処理部113、配線長見積もり部114、配線長判定部115、転送レート計算部116、配線層割付部117、リピータ挿入部118、配線処理部119、タイミング検証部120及び描画部121を備える。
転送レート・リピータ間距離決定部112は、予め用意した各配線層についてのリピータ間距離と遅延時間の関係に基づいて、各配線層のリピータ間距離と転送レートの関係を求め、各配線層の時定数別に最速となる転送レートを算出する。なお、転送レートとは、リピータ間をつなぐ配線層の単位距離あたりの信号の転送時間である。また、この場合、転送レートが速いとは、このリピータ間をつなぐ配線層の単位距離あたりの信号の転送時間が短いことを示しており、転送レートが遅いとは上記転送時間が長いことを示している。
遅延時間は、リピータ間の配線層における信号の伝搬時間である。また、リピータ間距離は、リピータ間の配線層の配線長である。特許文献1では、リピータ自身の遅延を無視し、遅延時間をリピータ間距離で除算したものを当該リピータ間距離における転送レートとして求める。
図14は、特許文献1にかかる自動配置配線装置の動作を示すフローチャートであり、この図に沿って背景技術を説明する。先ず、配置配線の実行前に、転送レート・リピータ間距離決定部112は、ハードディスク装置に予め格納していた配線層ごとのリピータ間距離と遅延時間の関係を示す電子データをRAMに読み出して、この電子データ中のリピータ間距離とその遅延時間から配線層ごとに転送レートを算出し、配線層ごとのリピータ間距離と転送レートの関係を求める。次に、転送レート・リピータ間距離決定部112は、各配線層のリピータ間距離と転送レートの関係から各配線層の時定数別に最速となる転送レートを算出する。ここまでの処理が図14のS101に相当する。
次に、配置処理部113は、所望の論理回路におけるブロックやマクロセルの接続関係を定義したネットリストを用いて、ブロックやマクロセルの配置を実行する(図14のS102)。この配置の手法としては、既存の各種の配置技術のいずれかを用いるようにしてもよい。
ブロックやマクロセルの配置が完了すると、配線長見積もり部114が、この配置結果に基づいてブロックやマクロセル間に設けるべき各配線経路の配線長を予測する(図14のS103)。配線長の予測方法としては、マンハッタン距離などを用いた既存の各種技術を用い、配置結果に応じた配線の混雑度や困難度を考慮して配線経路の配線長(以降、見積もり配線長と適宜称する)を予測する。
配線長判定部115は、配線長見積もり部114から見積もり配線長に関する情報を入力すると、ユーザ指定の配線長に関する情報と比較して、見積もり配線長がユーザ指定の配線長以上の距離であるか否かを判定する(図14のS104)。ユーザ指定の配線長とは、回路設計仕様に基づいて許容できる最上限の遅延時間を与える配線長の閾値である。この配線長の指定情報は、例えばキーボードやマウスなどの入力装置を用いて自動配置配線装置に入力される。
図14のS104において、配線長見積もり部114により予測された見積もり配線長がユーザ指定の配線長未満である場合、図14のS108の配線処理に移行する。一方、見積もり配線長がユーザ指定の配線長以上である判定すると、その旨及び当該見積もり配線に関する情報を転送レート計算部116に出力する。これにより、転送レート計算部116は、ユーザから指定された各配線経路の配線長でのタイミング値に基づいて必要な遅延時間を見積もって転送レートを算出する(図14のS105)。
ユーザ指定の各配線経路の配線長でのタイミング値とは、回路設計仕様に基づいてユーザが指定した各配線経路の配線長でのタイミング制約値であって、例えば実配線容量値などが考えられる。このタイミング値は、例えばキーボードやマウスなどの入力装置を用いて自動配置配線装置に入力される。ユーザ指定の配線長以上の見積もり配線について求めた転送レートと遅延時間に関する情報は、転送レート計算部116から配線層割付部117に出力される。
配線層割付部117では、転送レート計算部116が算出した転送レートと、予め求めておいた各配線層の時定数別の最速となる転送レートとを比較し、転送レート計算部116が算出した転送レートを超えない範囲で抽出した配線層のうち、最も転送レートが遅い配線層を割り付ける(図14のS106)。
次に、リピータ挿入部118は、転送レート・リピータ間距離決定部112により予め求められた転送レートとリピータ間距離との相関関係を用いて、配線層割付部117により割り付けられた配線層の転送レートが最速となるリピータ間距離を求める。そして、当該配線層の配線長と上述のようにして求めたリピータ間距離とを比較し、上記配線層の配線長がリピータ間距離より長い場合、当該配線層の配線経路中のリピータ間距離で規定される位置にバッファなどのリピータを挿入する(図14のS107)。
配線処理部119は、図14のS104で見積もり配線がユーザ指定の配線長未満であると判定された場合や、上述した図14のS107までの処理が完了すると、見積もり配線長の配線経路に対する配線処理や、配線層割付部117により割り付けられた配線層についての配線処理を実行する(図14のS108)。このとき、各配線層に要求される転送レートが遅い順に処理を実行する。これにより、高時定数で転送レートが遅いが、最も配線リソースの多い微細配線から順に配線されることになり、配線リソースを考慮した効率の良い自動配線を実現することができる。
次に、タイミング検証部120は、上述のようにして自動配置配線されたレイアウトに対してタイミング検証を実行して(図14のS109)、タイミングエラー箇所が存在するか否かを判定する(図14のS110)。このとき、タイミングエラー箇所が存在すると判定されると、図14のS106の処理に戻って配線層の割り付けを再度実行する。
例えば、各配線層と転送レートとの相関関係に基づいて抽出した、転送レート計算部116が算出した転送レートを超えない配線のうち、次に転送レートが遅い配線を割り付ける。このようにして、最も配線リソースの多い高時定数で転送レートが遅い微細配線から順に配線していく。一方、タイミングエラー箇所が存在しないと判定されると、タイミング検証部120は、その旨を描画部121に通知する。これにより、描画部121は、上述のようにして作成された半導体レイアウトをコンピュータ装置の表示画面に表示してユーザに提示する。
特許文献1に開示されている自動配置配線装置では、転送レート・リピータ間距離決定部112が配線層ごとにリピータ間距離と転送レートの関係を求める際、実際に理想位置にリピータが配置できないことを考慮して、予め与えた理想位置からの配置マージンとなるずれ量を与えることもできる(図14のS101)。これにより、実際にリピータを配置する際に理想位置に配置できない場合、このずれ量を目安に配置位置を調整することができる。
また、ある配線層の配線経路において、例えばリピータ間距離が転送レート最速であると算出されても、配置スペースの関係上そのリピータ間距離で規定される理想位置にリピータを配置できない場合がある。この場合、転送レート・リピータ間距離決定部112は、グラフィックディスプレイ装置などを介してユーザからずれ量の指定を受け付け、ユーザから入力されたユーザ指定のずれ量を上記リピータ間距離に付加することができる。この場合、リピータ間距離が延びて理想位置からずれた分だけ遅延時間がかかってしまうので、理想位置からのずれに応じて転送レートがより速い配線層を予め選択する。例えば、配線長見積もり部114が理想位置からずれた分を考慮して配線長を再度見積もるか、あるいは、配線層割付部117が配線層を変更することができる。
特開2006−65669号公報
特許文献1にかかる自動配置配線装置は、配線層の割付(図14のS106)によってブロックやマクロセル間の転送レートが要求値を満たさないと判断(図14のS110)された場合、ブロックやマクロセル間の距離から理想とされる配線経路にリピータを挿入し(図14のS107)配置する手順になっている。
ここで、特許文献1にかかる自動配置配線装置では、挿入したリピータを配置する場所に大きなマクロセルが既に配置されている場合、挿入したリピータが配置できないことを考慮して、リピータを配置する時に配置ずれ量を予め設定している(図14のS102)。これにより、ブロックやマクロセル間の距離から理想とされる配線経路上で、リピータの配置可能場所を同心円状に検索して配置している。
この場合、ブロックやマクロセル間の距離から理想とされる配線経路上から離れた場所にリピータが配置され配線が迂回される。このため、要求されている転送レートを満足させることができず、タイミング検証(図14のS109)においてタイミング違反が発生してしまう。この場合、配線層の割付(図14のS106)に戻って処理をやり直す必要がある。
つまり、特許文献1にかかる自動配置配線装置では、信号配線時に始点から終点に向かって最短に配置されないため、信号配線が冗長な迂回経路が発生して信号配線が長くなり、配線遅延が増大する。これにより、要求されている転送レート内に配線遅延を収めることができず、タイミング違反が発生して配線層の割付やリピータ挿入の工程を繰り返さなければならないという問題があった。
本発明にかかる半導体集積回路の設計方法は、始点論理セルと終点論理セルとの間にリピータを配置する半導体集積回路の設計方法であって、前記始点論理セルの位置と前記終点論理セルの位置を対角の頂点とする領域をリピータ検索範囲として設定し、リピータを配置可能な空き領域情報を前記リピータ検索範囲に付加し、前記始点論理セルの駆動能力に基づき、前記始点論理セルが配線負荷を駆動できる領域の境界である駆動境界を前記リピータ検索範囲内に設定し、前記空き領域情報に基づき、前記駆動境界の範囲内に配置可能なリピータ候補を検索し、検索された前記リピータ候補の座標および遅延時間情報に基づき、前記始点論理セルから前記終点論理セルまでの遅延時間を算出し、算出された前記遅延時間に基づき、前記リピータ候補の中から前記始点論理セルと前記終点論理セルとの間に配置するリピータを決定する。
本発明にかかる半導体集積回路の設計方法では、始点論理セルの位置と終点論理セルの位置を対角の頂点とする領域をリピータ検索範囲として設定し、これらの範囲内でリピータ候補を検索している。よって、始点論理セルと終点論理セルとの間の信号配線経路が最短となるような位置にリピータを配置することができるため、配線遅延の増大、タイミング違反の発生を抑制することができる。
本発明にかかる回路設計プログラムは、始点論理セルと終点論理セルとの間にリピータを配置する処理をコンピュータに実行させるためのプログラムであって、前記始点論理セルの位置と前記終点論理セルの位置を対角の頂点とする領域をリピータ検索範囲として設定し、リピータを配置可能な空き領域情報を前記リピータ検索範囲に付加し、前記始点論理セルの駆動能力に基づき、前記始点論理セルが配線負荷を駆動できる領域の境界である駆動境界を前記リピータ検索範囲内に設定し、前記空き領域情報に基づき、前記駆動境界の範囲内に配置可能なリピータ候補を検索し、検索された前記リピータ候補の座標および遅延時間情報に基づき、前記始点論理セルから前記終点論理セルまでの遅延時間を算出し、算出された前記遅延時間に基づき、前記リピータ候補の中から前記始点論理セルと前記終点論理セルとの間に配置するリピータを決定する、処理をコンピュータに実行させるための回路設計プログラムである。
本発明にかかる回路設計プログラムでは、始点論理セルの位置と終点論理セルの位置を対角の頂点とする領域をリピータ検索範囲として設定し、始点論理セルの駆動能力に基づき駆動境界を設定し、これらの範囲内でリピータ候補を検索している。よって、始点論理セルと終点論理セルとの間の信号配線経路が最短となるような位置にリピータを配置することができるため、配線遅延の増大、タイミング違反の発生を抑制することができる。
本発明により、配線遅延の増大、タイミング違反の発生を抑制することができる半導体集積回路の設計方法及びプログラムを提供することが可能となる。
実施の形態1にかかる半導体集積回路の設計方法を説明するためのフローチャートである。 実施の形態1にかかる半導体集積回路の設計方法を説明するための図である。 実施の形態1にかかる半導体集積回路の設計方法を用いてリピータ配置可能領域を抽出した場合を説明するための図である。 実施の形態1にかかる半導体集積回路の設計方法を用いてリピータ配置可能領域を抽出した場合を説明するための図である。 実施の形態1にかかる半導体集積回路の設計方法を用いてリピータ配置可能領域を抽出した場合を説明するための図である。 実施の形態1にかかる半導体集積回路の設計方法を用いてリピータ配置可能領域を抽出した場合を説明するための図である。 実施の形態1にかかる半導体集積回路の設計方法を用いてリピータ配置可能領域を抽出した場合を説明するための図である。 実施の形態1にかかる半導体集積回路の設計方法に用いる論理情報テーブルの一例を示す図である。 実施の形態1にかかる半導体集積回路の設計方法を実施するためのシステム構成を説明するための図である。 実施の形態2にかかる半導体集積回路の設計方法を説明するためのフローチャートである。 実施の形態2にかかる半導体集積回路の設計方法を用いてリピータ配置可能領域を抽出した場合を説明するための図である。 実施の形態2にかかる半導体集積回路の設計方法を用いてリピータ配置可能領域を抽出した場合を説明するための図である。 背景技術にかかる自動配置配線装置の構成を示すブロック図である。 背景技術にかかる自動配置配線装置の動作を説明するためのフローチャートである。
実施の形態1
以下、図面を参照して発明の実施の形態1について説明する。
図2は、本実施の形態にかかる半導体集積回路の設計方法を説明するための図である。図2は、始点論理セル20と終点論理セル21を接続する信号配線イメージ26が機能マクロ27および配置禁止領域22、23上を通過する際、信号配線イメージ26が最短になるようにリピータ24、25を初期配置している状態を示している。
図3は、本実施の形態にかかる半導体集積回路の設計方法を用いて、リピータ配置可能領域を抽出した場合を説明するための図である。図3は、図2に示す始点論理セル20と終点論理セル21と機能マクロ27と配置禁止領域22、23の配置状態からリピータ配置可能領域を示している。
すなわち、本実施の形態にかかる半導体集積回路の設計方法では、図3に示すように、縦がA〜K、横がa〜jの升目を格子状に作成し、図8に示す論理情報テーブル10の中のリピータ候補が配置できる空き領域情報を升目毎に数字で表している。
ここで、図8に示す論理情報テーブル10について説明する。図8に示す論理情報テーブル10は、論理セルの種類である論理セル種類60と、駆動能力61と、サイズ62と、論理セルかリピータかを区別するための論理セル/リピータ判別子63と、配線距離に対応した遅延時間64とで構成されている。
論理セル種類60は、ネットリストで使用されて論理を構成するセルの一覧であり、ネットリストから抽出された論理セルの駆動能力61、サイズ62、論理セル/リピータ判別子63、遅延時間64に基づきリピータを配置する位置を抽出する際のインデックスとして使用する。
駆動能力61は、配線負荷(配線容量負荷)を駆動する能力の最小値を1と定義し、この駆動能力の最小値の何個分の配線負荷を駆動できるかを示したものである。サイズ62は、論理セルやリピータを配置する際に必要とされる面積を示している。例えば、論理セル種類REP02は、駆動能力が"4"でサイズが"2"であることを示している。論理セル/リピータ判別子63は、ネットリストから抽出された論理セルが、始終点論理セルかリピータであるかを判定するための情報である。遅延時間64は、配線距離に応じた配線容量を駆動する時に必要とする遅延時間を数値化した値である。
本実施の形態にかかる半導体集積回路の設計方法では、論理情報テーブル10に格納された情報に基づいて、始点論理セルと終点論理セルの対角を頂点として囲んだ領域内でリピータ配置が可能でかつ終点までの配線が最適となるようなリピータ位置を抽出している。
再び図3に示すリピータ配置可能領域について説明する。図2に示した機能マクロ27と配置禁止領域22にはリピータを配置できないので、図3に示すリピータ配置可能領域では升目の空き領域情報は"0"となる。また、図3に示す格子状に分割された升目の1升目のサイズは、最大サイズのリピータ候補を配置できるサイズとしている。
また、各升目の空き領域情報を示す数字の設定は、論理情報テーブル10の論理セル/リピータ判別子63のリピータ候補を配置可能か升目領域内で検索して、配置可能であるリピータ候補のサイズを升目の空き領域情報として設定する。矩形状のリピータ検索範囲(リピータ検索矩形範囲、破線で示す)30は、始点論理セル20と終点論理セル21を対角の頂点とした座標(a、K)から座標(j、A)に囲まれた領域である。このリピータ検索範囲30は、始点論理セル20から終点論理セル21までの範囲でリピータ候補配置位置を検索するために用いる。
駆動境界40(点線で示す)は、始点論理セル20が配線負荷を駆動できる範囲を示している。駆動境界40は、次のような方法で設定することができる。例えば、始点論理セル20に、論理情報テーブル10に示すFUN02という種類の論理が配置されているとする。この場合、論理情報テーブル10よりFUN02の駆動能力は"6"であるので、始点論理セル20に配置されているFUN02は升目6個分の配線負荷を駆動することができる。よって、始点論理セル20が配置されている座標(a、K)からリピータ検索範囲30の範囲内で横軸方向に升目6個分先の座標(g、K)と縦軸方向に升目6個分先の座標(a、E)を結ぶ境界を駆動境界40として設定することができる。
また、リピータ候補配置位置50はサイズ"2"のリピータが配置できることを示している。ここで、リピータ候補配置位置50は、始点論理セル20を起点として駆動境界40の範囲内に位置している。
図4は、本実施の形態にかかる半導体集積回路の設計方法を用いて、リピータ配置可能領域を抽出した場合を説明するための図であり、リピータ候補配置位置51が座標(g、J)にある状態を示している。図4に示すリピータ配置可能領域では、図3で説明した始点論理セル20が配線負荷を駆動できる範囲の境界である駆動境界40を、終点論理セル21側に1升分広げている。つまり、新たに座標(h、K)と座標(a、D)を結んだ駆動境界41(点線で示す)を再設定している。図4のように、駆動境界を広げて再設定する場合としては、広げる前の駆動境界内にリピータ候補が存在しない場合である。
図5は、本実施の形態にかかる半導体集積回路の設計方法を用いて、リピータ配置可能領域を抽出した場合を説明するための図であり、図3で求めたリピータ候補配置位置50を始点として、終点論理セル21までのリピータ検索範囲(破線で示す)31を抽出した図である。すなわち、リピータ検索範囲31はリピータ候補配置位置50と終点論理セル21を対角の頂点とした座標(f、J)から座標(j、A)で囲まれた領域である。リピータ検索範囲31は、始点のリピータ候補配置位置50から終点論理セル21まで到達する経路が最短となる範囲内を検索領域としている。
リピータ候補配置位置50には、論理情報テーブル10のサイズ62からサイズが"2"のREP02のリピータを選択して配置している。ここで、REP02のリピータの駆動能力は"4"であるので、リピータ候補配置位置50に配置しているREP02のリピータが配線負荷を駆動できる範囲の境界は、駆動境界42(点線で示す)で示すことができる。この場合、リピータ候補配置位置は、リピータ候補配置位置52とリピータ候補配置位置53である。
図6は、本実施の形態にかかる半導体集積回路の設計方法を用いて、リピータ配置可能領域を抽出した場合を説明するための図であり、図5で求めたリピータ候補配置位置52を始点として、終点論理セル21までのリピータ検索範囲(破線で示す)32を抽出した図である。すなわち、リピータ検索範囲32はリピータ候補配置位置52と終点論理セル21を対角の頂点とした座標(i、I)から座標(j、A)で囲まれた領域である。リピータ検索範囲32は、始点のリピータ候補配置位置52から終点論理セル21まで到達する経路が最短となる範囲内を検索領域としている。
リピータ候補配置位置52には、論理情報テーブル10のサイズ62からサイズが"5"のREP05のリピータを選択して配置している。ここで、REP05のリピータの駆動能力は"9"であるので、リピータ候補配置位置52に配置しているREP05のリピータが配線負荷を駆動できる範囲の境界は、駆動境界43(点線で示す)で示すことができる。この場合、REP05のリピータが終点論理セル21まで駆動できる。
図7は、本実施の形態にかかる半導体集積回路の設計方法を用いて、リピータ配置可能領域を抽出した場合を説明するための図であり、図5で求めたリピータ候補配置位置53を始点として、終点論理セル21までのリピータ検索範囲(破線で示す)33を抽出した図である。すなわち、リピータ検索範囲33はリピータ候補配置位置53と終点論理セル21を対角の頂点とした座標(j、J)から座標(j、A)で囲まれた領域である。リピータ検索範囲33は、始点のリピータ候補配置位置53から終点論理セル21まで到達する経路が最短となる範囲内を検索領域としている。
リピータ候補配置位置53には、論理情報テーブル10のサイズ62からサイズが"4"のREP04のリピータを選択して配置している。REP04のリピータは駆動能力が"7"である。よって、リピータ候補配置位置53に配置しているREP04のリピータが配線負荷を駆動できる範囲を2升目分終点論理セル21側に広げることで、REP04のリピータが配線負荷を駆動できる範囲の境界を駆動境界44(点線で示す)とすることができる。これにより、REP04のリピータが終点論理セル21まで駆動できる。
以上で説明したように、本実施の形態では、始点論理セル20と終点論理セル21との間にリピータを挿入する場合、リピータ候補配置位置50にREP02を、リピータ候補配置位置52にREP05を挿入することができる(図3、図5、図6参照)。また、始点論理セル20と終点論理セル21との間にリピータを挿入する場合、リピータ候補配置位置50にREP02を、リピータ候補配置位置53にREP04を挿入することもできる(図3、図5、図7参照)。
次に、本実施の形態にかかる半導体集積回路の設計方法のフローについて説明する。図1は、本実施の形態にかかる半導体集積回路の設計方法を説明するためのフローチャートである。
まず、図1に示すように、ネットリストを読込んだ後にネットリスト上に存在する論理セルのみを初期配置する(ステップS1)。初期配置後は、配置された論理セルの駆動能力を変更するリサイズ、論理の圧縮、論理セル間にリピータを挿入するなどの最適化処理を実施する(ステップS2)。図2に示すように、リピータ24、25は最適化処理が実施されると仮配置状態になる。
次に、配置チェック処理により機能マクロ27やブロックと重なることで配置エラーとなっている仮配置のリピータを検出する(ステップS3)。機能マクロ27やブロックと重なることで配置エラーとなっている仮配置のリピータを検出する場合は、例えば次のような方法を用いることができる。通常ネットリストで用いられているインスタンス名またはコンポーネント名と呼ばれる個別認識情報名をリピータセル挿入時に付加する。そして、ステップS3で配置エラーと検出されたインスタンス名またはコンポーネント名が、リピータセルの個別認識情報名と一致するかを確認することで配置エラーを容易に検出することができる。
ステップS3で検出された仮配置されたリピータの配置エラーが機能マクロ27との重なりに起因するものであるかを判断する(ステップS4)。機能マクロ27との重なりに起因する配置エラーが無い場合は、仮配置されている状態を本配置に決定して処理を終了する(ステップS5)。
一方、機能マクロ27との重なりに起因する配置エラーがある場合は、配置エラーとなっているリピータ24の入力端子に接続されている始点論理セル20およびリピータ25の出力端子に接続されている終点論理セル21の通常のネットリストで用いられている個別認識情報と論理セル情報を抽出して、一時的に記憶手段(RAM)に格納する(ステップS6)。そして、ネット名に接続している論理セルの論理セル情報と一致する論理セル種類60を、論理情報テーブル10から検索し、一致した論理セル種類60の論理セル/リピータ判別子63を読み出す。このとき、ネット名に接続している論理セルがリピータでなければ始点論理セル20と終点論理セル21であると判定することができる。
次に、機能マクロ27との重なりにより配置エラーが発生しているリピータ24、25を再配置するために、図3に示すリピータ検索範囲30を設定する(ステップS7)。リピータ検索範囲30は、論理情報テーブル10のサイズ62が最大となるリピータ候補が配置できるサイズを1升のサイズとして格子状に作成する。次に、配置可能である空き領域情報を升目に付加して図3に示すようなリピータ配置可能領域を作成する(ステップS8)。配置可能である空き領域情報は、升目内からブロックが仮配置されていない領域のサイズを抽出して各升目に付加する。
次に、論理情報テーブル10から始点論理セル20の駆動能力を読み出して、始点論理セル20が駆動できる領域の境界である駆動境界40を設定する(ステップS9)。始点論理セル20の駆動能力は、論理情報テーブル10から始点論理セル20と一致する論理セル種類60を検索し、検索された論理セル種類の駆動能力61から求めることができる。ここでは、1つの升目に対応する配線負荷を駆動することができる駆動能力を"1"と定義しており、論理情報テーブル10の駆動能力61に記載さている数字は、駆動することができる配線負荷(升目)の数を示している。
例えば、図3に示す始点論理セル20にFUN02という種類の論理が配置されている場合、論理情報テーブル10の論理セル種類60からFUN02を検索し、検索されたFUN02の駆動能力を参照することで、FUN02の駆動能力"6"を求めることができる。この場合、始点論理セル20に配置されているFUN02は升目6個分の配線負荷を駆動することができる。よって、始点論理セル20が配置されている座標(a、K)からリピータ検索範囲30の範囲内で横軸方向に升目6個分先の座標(g、K)と縦軸方向に升目6個分先の座標(a、E)を結ぶ境界を駆動境界40として設定することができる。
駆動境界40に接する升目は、既存技術のマンハッタン距離で見た場合、始点論理セル20が配置されている座標(a、K)から駆動境界40までは、同じ6個分の升目となる。例えば、座標(d、H)は、始点論理セル20が配置されている座標(a、K)から座標(d、K)までの升目3個分と、座標(d、K)から座標(d、H)までの升目3個分の経路となり、升目の合計は6個分となる。
リピータ候補の仮配置は次のようにして実施する。まず、始点論理セル20からステップS9で設定した駆動境界40の範囲内にある升目からステップS8で付加した空き領域情報を読み出し、空き領域が存在する升目に配置可能なリピータ候補を検索する(ステップS10)。そして、リピータ候補が検出された場合は(ステップS11)、検出された升目にリピータ候補を仮配置すると共に、配置位置情報11に、配置したリピータの座標とリピータの論理セル種類60の情報を格納する(ステップS13)。更に、他にリピータ候補が存在するかを判断し(ステップS14)、他にリピータ候補がある場合は再度リピータ候補を仮配置すると共に、配置位置情報11に、配置したリピータ候補の座標とリピータ候補の論理セル種類60の情報を格納する(ステップS13)。ステップ13とステップ14を、リピータ候補がなくなるまで繰り返す。
リピータ候補が無くなった場合は、駆動境界40が終点論理セル21に到達したかを判断する(ステップS15)。駆動境界40が終点論理セル21に到達したことは、図6に示すように終点論理セル21が配置されている座標(j、A)を、リピータ候補配置位置52と駆動境界43(点線で示す)に囲まれている範囲内で検索することができるか否かで判断することができる。駆動境界40が終点論理セル21に到達していない場合は、ステップS13で配置したリピータ候補を順次始点セルに設定し(ステップS16)、その後、ステップS7からステップS15までの処理を、駆動境界が終点論理セル21に到達するまで繰り返す。
また、ステップS11でリピータ候補が検出されない場合、つまりリピータ候補が存在しない場合は、駆動境界40を図4に示すように終点論理セル21側に1升分広げる処理を行い、駆動境界41を新たに作成する(ステップS12)。そして、拡張した駆動境界41と始点論理セル20の範囲内で、再びリピータ候補を検索する(ステップS10)。リピータ候補が存在するまで、ステップS10、ステップS11、ステップS12を繰り返す。なお、駆動境界40を終点論理セル21側に1升分領域を拡張させるときは、リピータ検索範囲30の範囲内で行う。
ステップS15において、駆動境界40が終点論理セル21に到達した場合は、遅延時間の合計を計算する(ステップS17)。すなわち、ステップS13にて仮配置されたリピータ候補の位置を配置位置情報11から読み出し、始点論理セル20を起点として終点論理セル21までの遅延時間を算出し、リピータ候補の配置座標と遅延時間情報をリピータ候補データ記憶手段12に出力する(ステップS17)。始点論理セル20から終点論理セル21までの遅延時間は、始点論理セル20の出力に接続されているリピータの論理セル種類60と配置位置を配置位置情報11から読み出して、リピータが配置されている升目の距離から論理情報テーブル10の遅延時間64を用いて求めることができる。
次に、ステップS7からステップS15で抽出された、始点論理セル20から終点論理セル21までの経路が他にないか判断する(ステップS18)。他に経路がある場合は、ステップS17に戻り他の経路の場合の遅延時間を算出し、リピータ候補の配置座標と遅延時間情報をリピータ候補データ記憶手段12に出力する処理を繰り返す。
一方、他の経路がない場合は、リピータ候補データ記憶手段12に格納された各経路の遅延時間を読み出し、遅延時間が最速になる経路の選択を行い、リピータ配置を決定する(ステップS19)。ステップS19で算出された各経路の遅延時間は、リピータ候補データ記憶手段12に格納されており、それぞれの遅延時間を読み出して最速となる経路を選択し、処理を終了する。
次に、本実施の形態にかかる半導体集積回路の設計方法を実現するためのシステム構成について図9を用いて説明する。図9に示すように、本実施の形態にかかる半導体集積回路の設計方法を実現するためのシステムは、コンピュータ装置72とサーバ70と記録媒体71とネットワーク77とで構成される。
コンピュータ装置72は、プログラムを実行するCPU73と、コンピュータ装置を起動、制御するためのプリグラムが格納されているROM74と、ハードディスク装置等に保存されているプログラムをロードするRAM75と、ローカルにデータ類を格納するハードディスク装置76等で構成されている。サーバ70は、実行プログラムを格納した記録媒体71を備える。サーバ70は、インターネットなどのネットワーク77を介してエンジニアリングワークステーション等のコンピュータ装置72に接続される。
本実施の形態にかかる半導体装置の設計方法を実行するためのプログラムは、例えばサーバ70の記録媒体71に格納されている。そして、実行プログラムは、サーバ70からネットワーク77を介してコンピュータ装置72にダウンロードされる。ダウンロードされた実行プログラムは、コンピュータ装置72のローカルなハードディスク装置76或はRAM75などに格納されて実行処理を行う構成になっている。
以上で説明したように、本実施の形態にかかる半導体集積回路の設計方法では、マクロ上に仮配置されたリピータを再配置するにあたり、始点論理セルの位置と終点論理セルの位置を対角の頂点として囲んだ範囲をリピータ検索範囲としている。また、始点論理セルの駆動能力で駆動できる範囲の境界である駆動境界をリピータ検索範囲内に設定し、リピータ配置位置を検索している。これにより、始点論理セルと終点論理セルとの間の信号配線経路が最短となるような位置にリピータを配置することができるため、配線遅延の増大、タイミング違反の発生を抑制することができる。また、タイミング違反も発生しないので、タイミング違反を修正するための作業時間を省くことができる。
また、本実施の形態にかかる半導体集積回路の設計方法では、始点論理セルの駆動能力に応じて駆動境界を設定し、この駆動境界の範囲内でリピータ候補を検索している。そして、配置可能な空き領域が見つかった場合に、空き領域のサイズに合わせたリピータを配置する処理を、始点論理セルから終点論理セルに到達するまで続けている。このように、始点論理セルと終点論理セルとの間の遅延時間の最適化処理をリピータ配置時に実施しているため、リピータ配置後の遅延時間の最適化処理の時間を短縮することができる。
また、本実施の形態にかかる半導体集積回路の設計方法では、始点論理セルの位置と終点論理セルの位置を対角の頂点として囲んだリピータ検索範囲を拡張することもできる(ステップS12参照)。これにより、リピータ候補の検索範囲を広げることができるので、配線が混雑してリピータの配置が厳しい状況でも配置場所を柔軟に決定することができる。
次に、本実施の形態にかかる回路設計プログラムについて説明する。
本実施の形態にかかる回路設計プログラムは、始点論理セルと終点論理セルとの間にリピータを配置する処理をコンピュータに実行させるためのプログラムであって、次の工程を有する。
始点論理セルの位置と終点論理セルの位置を対角の頂点とする領域をリピータ検索範囲として設定する工程。リピータを配置可能な空き領域情報をリピータ検索範囲に付加する工程。始点論理セルの駆動能力に基づき、始点論理セルが配線負荷を駆動できる領域の境界である駆動境界をリピータ検索範囲内に設定する工程。空き領域情報に基づき、駆動境界の範囲内に配置可能なリピータ候補を検索する工程。検索されたリピータ候補の座標および遅延時間情報に基づき、始点論理セルから終点論理セルまでの遅延時間を算出する工程。算出された遅延時間に基づき、リピータ候補の中から始点論理セルと終点論理セルとの間に配置するリピータを決定する工程。
また、本実施の形態にかかる回路設計プログラムは、次の処理をコンピュータに実行させることもできる。
検索されたリピータ候補の位置を始点として、当該始点の位置と終点論理セルの位置を対角の頂点とする領域をリピータ検索範囲として再度設定する工程。リピータを配置可能な空き領域情報を再度設定されたリピータ検索範囲に再度付加する工程。始点であるリピータ候補の駆動能力に基づき、始点であるリピータ候補が配線負荷を駆動できる領域の境界である駆動境界を、再度設定されたリピータ検索範囲内に再度設定する工程。空き領域情報に基づき、再度設定された駆動境界の範囲内に配置可能なリピータ候補を再度検索する工程。
本実施の形態にかかる回路設計プログラムを用いることで、始点論理セルと終点論理セルとの間の信号配線経路が最短となるような位置にリピータを配置することができるため、配線遅延の増大、タイミング違反の発生を抑制することができる。
実施の形態2
以下、図面を参照して発明の実施の形態2について説明する。
図10は、本実施の形態にかかる半導体集積回路の設計方法を説明するためのフローチャートである。図10に示すフローチャートでは、図1に示すフローチャートのステップS7がステップS7'に変更されている。図10に示すフローチャートのステップS7'では、外部からサーチ領域拡張パラメータ13を入力することにより、リピータ検索範囲を拡張している。その他の処理に関しては、図1の場合と同様の処理なので説明を省略する。
図11は、本実施の形態にかかる半導体集積回路の設計方法を用いて、リピータ配置可能領域を抽出した場合を説明するための図である。図11は、図2に示す始点論理セル20と終点論理セル21と機能マクロ27と配置禁止領域22、23の配置状態からリピータ配置可能領域を示している。
すなわち、本実施の形態にかかる半導体集積回路の設計方法では、図11に示すように、縦がA〜M、横がa〜lの升目を格子状に作成し、升目毎に図8に示す論理情報テーブル10から機能がリピータとなっているリピータ候補が配置できる空き領域情報を数字で表している。なお、升目のサイズと各升目の空き領域情報を示す数字と駆動境界45の設定、及びリピータ候補配置位置56、57に配置可能なリピータの論理セル種類の選択方法は、実施の形態1の場合と同様であるので説明を省略する。
リピータ検索範囲(破線で示す)34は、始点論理セル20と終点論理セル21を対角の頂点とした座標(b、L)から座標(k、B)で囲まれた矩形に対して、外部から入力されるサーチ領域拡張パラメータ13で指定された升目分を拡張した範囲である。図11では、1升目分をサーチ領域拡張パラメータで指定しており、座標(a、M)から座標(l、A)の範囲をリピータ検索範囲34としている。
図12は、本実施の形態にかかる半導体集積回路の設計方法を用いて、リピータ配置可能領域を抽出した場合を説明するための図である。図12は、始点であるリピータ候補配置位置57から終点論理セル21までのリピータ検索範囲(破線で示す)35を抽出した図である。図12に示すリピータ検索範囲35は、リピータ候補配置位置57と終点論理セル21を対角の頂点とした座標(g、M)から座標(k、B)で囲まれたで矩形に対して、外部から入力されるサーチ領域拡張パラメータ13で指定された升目分を拡張している。図12に示すリピータ検索範囲35は、1升目分をサーチ領域拡張パラメータとしており、座標(f、N)から座標(l、A)の範囲で設定されている。リピータ検索範囲35は、始点のリピータ候補配置位置57から終点論理セル21まで到達する経路が最短経路となる範囲内を検索領域としている。
リピータ候補配置位置57には、論理情報テーブル10のサイズ62からサイズが"8"であるREP08のリピータが選択され、配置されている。駆動境界46(点線で示す)は、リピータ候補配置位置57に配置されているREP08のリピータが配線負荷を駆動できる範囲を示している。
次に、図10に示すフローチャートを用いて、本実施の形態にかかる半導体集積回路の設計方法のフローについて説明する。なお、ステップS1〜ステップS6及びステップS8以降の処理は、実施の形態1で説明した図1に示す処理と同様であるので、説明を省略する。
図10に示すステップ7'では、リピータ検索範囲を拡張するための情報である、サーチ領域拡張パラメータ13を外部から読み込み、図11に示す拡張されたリピータ検索範囲34を設定する。
図11に示すように、ステップ7'では、始点論理セル20と終点論理セル21を対角の頂点として、座標(b、L)から座標(k、B)で囲まれた領域に対して1升目分リピータ検索範囲を広げることで、座標(a、M)から座標(l、A)で囲まれた拡張されたリピータ検索範囲34を設定している。
本実施の形態にかかる半導体集積回路の設計方法では、図10に示すステップ7'において、外部から入力されるサーチ領域拡張パラメータを読み込んで、始点論理セルと終点論理セルを対角として囲んだリピータ検索範囲からサーチ領域拡張パラメータで指定された升目分だけリピータの配置検索領域を拡張している。これにより、リピータ候補の検索範囲を広げることができるので、配線が混雑してリピータの配置が厳しい状況でも配置場所を柔軟に決定することができる。なお、本実施の形態にかかる半導体集積回路の設計方法においても、実施の形態1と同様の効果を得ることができる。
以上、本発明を上記実施形態に即して説明したが、上記実施形態の構成にのみ限定されるものではなく、本願特許請求の範囲の請求項の発明の範囲内で当業者であればなし得る各種変形、修正、組み合わせを含むことは勿論である。
10 論理情報テーブル
11 配置位置情報
12 リピータ候補データ記憶手段
13 サーチ領域拡張パラメータ
20 始点論理セル
21 終点論理セル
22、23 配置禁止領域
24、25 リピータ
26 信号配線イメージ
27 機能マクロ
30、31、32、33、34、35 リピータ検索範囲
40、41、42、43、44、45、46 駆動境界
50、51、52、53、56、57 リピータ候補配置位置
60 論理セル種類
61 駆動能力
62 サイズ
63 論理セル/リピータ判別子
64 遅延時間
70 サーバ
71 記録媒体
72 コンピュータ装置
73 CPU
74 ROM
75 RAM
76 ハードディスク装置
77 ネットワーク

Claims (11)

  1. 始点論理セルと終点論理セルとの間にリピータを配置する半導体集積回路の設計方法であって、
    前記始点論理セルの位置と前記終点論理セルの位置を対角の頂点とする領域をリピータ検索範囲として設定し、
    リピータを配置可能な空き領域情報を前記リピータ検索範囲に付加し、
    前記始点論理セルの駆動能力に基づき、前記始点論理セルが配線負荷を駆動できる領域の境界である駆動境界を前記リピータ検索範囲内に設定し、
    前記空き領域情報に基づき、前記駆動境界の範囲内に配置可能なリピータ候補を検索し、
    検索された前記リピータ候補の座標および遅延時間情報に基づき、前記始点論理セルから前記終点論理セルまでの遅延時間を算出し、
    算出された前記遅延時間に基づき、前記リピータ候補の中から前記始点論理セルと前記終点論理セルとの間に配置するリピータを決定する、半導体集積回路の設計方法。
  2. 検索された前記リピータ候補の位置を始点として、
    前記始点の位置と前記終点論理セルの位置を対角の頂点とする領域をリピータ検索範囲として再度設定し、
    リピータを配置可能な空き領域情報を再度設定された前記リピータ検索範囲に再度付加し、
    前記始点である前記リピータ候補の駆動能力に基づき、前記始点である前記リピータ候補が配線負荷を駆動できる領域の境界である駆動境界を、再度設定された前記リピータ検索範囲内に再度設定し、
    前記空き領域情報に基づき、再度設定された前記駆動境界の範囲内に配置可能なリピータ候補を再度検索する、請求項1に記載の半導体集積回路の設計方法。
  3. 前記リピータ検索範囲は格子状に分割された升目を有し、当該升目には配置可能な前記リピータ候補のサイズが空き領域情報として設定されている、請求項1または2に記載の半導体集積回路の設計方法。
  4. 前記升目は、前記リピータ候補のうち最大のサイズを有するリピータ候補を配置できるように形成されている、請求項3に記載の半導体集積回路の設計方法。
  5. 前記リピータ検索範囲を拡張パラメータに基づき拡張する、請求項1乃至4のいずれか一項に記載の半導体集積回路の設計方法。
  6. 前記駆動境界を前記終点論理セルが位置する側に広げて前記駆動境界を再設定する、請求項1乃至5のいずれか一項に記載の半導体集積回路の設計方法。
  7. 前記駆動境界の設定後に、前記駆動境界が前記終点論理セルに到達したかを判断する、請求項1乃至6のいずれか一項に記載の半導体集積回路の設計方法。
  8. 前記算出された遅延時間と前記リピータ候補の配置座標を記憶手段に格納し、格納された前記遅延時間の組み合わせが最小となる経路を構成するリピータを、前記始点論理セルと前記終点論理セルとの間に配置するリピータとする、請求項1乃至7のいずれか一項に記載の半導体集積回路の設計方法。
  9. 前記リピータ候補の駆動能力、前記リピータ候補のサイズ、前記リピータ候補の遅延時間情報を論理情報テーブルに格納する、請求項1乃至8のいずれか一項に記載の半導体集積回路の設計方法。
  10. 始点論理セルと終点論理セルとの間にリピータを配置する処理をコンピュータに実行させるためのプログラムであって、
    前記始点論理セルの位置と前記終点論理セルの位置を対角の頂点とする領域をリピータ検索範囲として設定し、
    リピータを配置可能な空き領域情報を前記リピータ検索範囲に付加し、
    前記始点論理セルの駆動能力に基づき、前記始点論理セルが配線負荷を駆動できる領域の境界である駆動境界を前記リピータ検索範囲内に設定し、
    前記空き領域情報に基づき、前記駆動境界の範囲内に配置可能なリピータ候補を検索し、
    検索された前記リピータ候補の座標および遅延時間情報に基づき、前記始点論理セルから前記終点論理セルまでの遅延時間を算出し、
    算出された前記遅延時間に基づき、前記リピータ候補の中から前記始点論理セルと前記終点論理セルとの間に配置するリピータを決定する、処理をコンピュータに実行させるための回路設計プログラム。
  11. 検索された前記リピータ候補の位置を始点として、
    前記始点の位置と前記終点論理セルの位置を対角の頂点とする領域をリピータ検索範囲として再度設定し、
    リピータを配置可能な空き領域情報を再度設定された前記リピータ検索範囲に再度付加し、
    前記始点である前記リピータ候補の駆動能力に基づき、前記始点である前記リピータ候補が配線負荷を駆動できる領域の境界である駆動境界を、再度設定された前記リピータ検索範囲内に再度設定し、
    前記空き領域情報に基づき、再度設定された前記駆動境界の範囲内に配置可能なリピータ候補を再度検索する、請求項10に記載の回路設計プログラム。
JP2009292712A 2009-12-24 2009-12-24 半導体集積回路の設計方法、及びプログラム Pending JP2011134084A (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2009292712A JP2011134084A (ja) 2009-12-24 2009-12-24 半導体集積回路の設計方法、及びプログラム
US12/978,307 US8381159B2 (en) 2009-12-24 2010-12-23 Method of semiconductor integrated circuit, and computer readable medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2009292712A JP2011134084A (ja) 2009-12-24 2009-12-24 半導体集積回路の設計方法、及びプログラム

Publications (1)

Publication Number Publication Date
JP2011134084A true JP2011134084A (ja) 2011-07-07

Family

ID=44189052

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009292712A Pending JP2011134084A (ja) 2009-12-24 2009-12-24 半導体集積回路の設計方法、及びプログラム

Country Status (2)

Country Link
US (1) US8381159B2 (ja)
JP (1) JP2011134084A (ja)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8443324B2 (en) * 2011-03-14 2013-05-14 International Business Machines Corporation Routing and timing using layer ranges
US9659133B2 (en) * 2013-10-17 2017-05-23 Taiwan Semiconductor Manufacturing Company, Ltd. Method, system and computer program product for generating layout for semiconductor device
US10223489B2 (en) * 2016-11-30 2019-03-05 International Business Machines Corporation Placement clustering-based white space reservation
US10860764B1 (en) * 2019-12-31 2020-12-08 Cadence Design Systems, Inc. Layer assignment technique to improve timing in integrated circuit design

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5638291A (en) * 1994-10-14 1997-06-10 Vlsi Technology, Inc. Method and apparatus for making integrated circuits by inserting buffers into a netlist to control clock skew
US6367051B1 (en) * 1998-06-12 2002-04-02 Monterey Design Systems, Inc. System and method for concurrent buffer insertion and placement of logic gates
US6510542B1 (en) * 1998-10-08 2003-01-21 Kabushiki Kaisha Toshiba Method of placing a repeater cell in an electricalcircuit
US6532580B1 (en) * 2000-02-18 2003-03-11 Hewlett-Packard Company In-place method for inserting repeater buffers in an integrated circuit
US6505336B1 (en) * 2001-03-13 2003-01-07 Lsi Logic Corporation Channel router with buffer insertion
US6487697B1 (en) * 2001-03-28 2002-11-26 Lsi Logic Corporation Distribution dependent clustering in buffer insertion of high fanout nets
US6615401B1 (en) * 2002-03-06 2003-09-02 Lsi Logic Corporation Blocked net buffer insertion
US6826740B2 (en) * 2002-05-07 2004-11-30 International Business Machines Corporation Automated buffer insertion incorporating congestion relief for use in connection with physical design of integrated circuit
US6665850B1 (en) * 2002-05-22 2003-12-16 Lsi Logic Corporation Spanning tree method for K-dimensional space
US7127696B2 (en) * 2003-12-17 2006-10-24 International Business Machines Corporation Method and apparatus for generating steiner trees using simultaneous blockage avoidance, delay optimization and design density management
JP2006065669A (ja) 2004-08-27 2006-03-09 Renesas Technology Corp 自動配置配線装置及びプログラム
US7392493B2 (en) * 2004-11-22 2008-06-24 International Business Machines Corporation Techniques for super fast buffer insertion
US7827513B2 (en) * 2007-10-11 2010-11-02 International Business Machines Corporation Buffer placement with respect to data flow direction and placement area geometry in hierarchical VLS designs
US8612917B2 (en) * 2009-05-07 2013-12-17 Oracle America, Inc. Method and system for selecting gate sizes, repeater locations, and repeater sizes of an integrated circuit

Also Published As

Publication number Publication date
US20110161904A1 (en) 2011-06-30
US8381159B2 (en) 2013-02-19

Similar Documents

Publication Publication Date Title
Pan et al. FastRoute 2.0: A high-quality and efficient global router
Taghavi et al. Dragon2005: Large-scale mixed-size placement tool
US8015522B2 (en) System for implementing post-silicon IC design changes
Pan et al. FastRoute: A step to integrate global routing into placement
CN107066681B (zh) 集成电路和制造集成电路的计算机实现方法
US10713410B2 (en) Method for legalizing mixed-cell height standard cells of IC
JP2009140495A (ja) 確率的相互接続構造設計のためのシステムおよび方法
US8701064B2 (en) Timing error removing method and design support apparatus
US10997352B1 (en) Routing congestion based on layer-assigned net and placement blockage
JP2007027290A (ja) 半導体集積回路のレイアウト設計方法
US8572541B2 (en) Method and system for adaptive physical design
JP2011134084A (ja) 半導体集積回路の設計方法、及びプログラム
Li et al. Guiding a physical design closure system to produce easier-to-route designs with more predictable timing
Hu et al. A timing-constrained simultaneous global routing algorithm
US9940422B2 (en) Methods for reducing congestion region in layout area of IC
US20030217338A1 (en) Congestion mitigation with logic order preservation
JP2009020575A (ja) 半導体集積回路の設計方法および設計装置
US11983477B2 (en) Routing layer re-optimization in physical synthesis
JP5510280B2 (ja) 設計支援装置、設計支援方法および設計支援プログラム
US8132141B2 (en) Method and apparatus for generating a centerline connectivity representation
JP2009134439A (ja) ソフトマクロを用いたレイアウト設計方法、ソフトマクロのデータ構造及びソフトマクロライブラリの作成方法
US10831971B1 (en) Net layer promotion with swap capability in electronic design
Chang et al. Interconnect-driven floorplanning with fast global wiring planning and optimization
JP4806535B2 (ja) スペアセルセットの配置方法
US11734485B1 (en) Routing congestion based on fractional via cost and via density