JP2014026406A - Ic基板上にセルを配置して配線を最適化した論理回路の設計を支援する方法、該方法を用いて論理回路の設計を支援する装置及び該装置で実行することが可能なコンピュータプログラム - Google Patents

Ic基板上にセルを配置して配線を最適化した論理回路の設計を支援する方法、該方法を用いて論理回路の設計を支援する装置及び該装置で実行することが可能なコンピュータプログラム Download PDF

Info

Publication number
JP2014026406A
JP2014026406A JP2012165312A JP2012165312A JP2014026406A JP 2014026406 A JP2014026406 A JP 2014026406A JP 2012165312 A JP2012165312 A JP 2012165312A JP 2012165312 A JP2012165312 A JP 2012165312A JP 2014026406 A JP2014026406 A JP 2014026406A
Authority
JP
Japan
Prior art keywords
cells
cell
wiring
arrangement
logic 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.)
Ceased
Application number
JP2012165312A
Other languages
English (en)
Inventor
Yoshitaka Kato
美孝 加藤
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.)
International Business Machines Corp
Original Assignee
International Business Machines 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 International Business Machines Corp filed Critical International Business Machines Corp
Priority to JP2012165312A priority Critical patent/JP2014026406A/ja
Priority to US13/951,693 priority patent/US8904327B2/en
Publication of JP2014026406A publication Critical patent/JP2014026406A/ja
Ceased legal-status Critical Current

Links

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
    • G06F30/392Floor-planning or layout, e.g. partitioning or placement
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/30Circuit design
    • G06F30/39Circuit design at the physical level
    • G06F30/394Routing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/30Circuit design
    • G06F30/39Circuit design at the physical level
    • G06F30/398Design verification or optimisation, e.g. using design rule check [DRC], layout versus schematics [LVS] or finite element methods [FEM]

Abstract

【課題】論理回路を階層化した場合であっても、短時間でIC基板上にセル(論理演算素子)を配置して配線を最適化することができる論理回路の設計を支援する方法、該方法を用いて論理回路の設計を支援する装置及び該装置で実行することが可能なコンピュータプログラムを提供する。
【解決手段】すべての階層のセルを、格子状に形成された配置領域に配置し、既にセルが配置されている配置領域と、新たにセルを配置することが可能な配置領域との境界部分に、他の階層のセルと接続することが可能なポートを配置する。同じ階層のセルについてはセルとセルとの間を、他の階層のセルについてはセルとポートとの間を、配線長の総和が最短となるよう配線する。
【選択図】図7

Description

本発明は、IC基板上にセルを配置して配線を最適化した論理回路の設計を支援する方法、該方法を用いて論理回路の設計を支援する装置及び該装置で実行することが可能なコンピュータプログラムに関する。
複雑な半導体集積回路を設計する場合、論理回路を階層化して、下位階層の論理回路をブラックボックス化することにより、最上位階層において論理設計を簡略化することができる。この場合、論理設計時には階層を展開することなく設計し、配線を検証する時点では階層を展開して単層構造の論理回路として検証することが多い。典型的な従来の設計方法が、特許文献1に開示されている。図11は、従来の論理回路の設計方法を示す例示図である。
図11(a)に示すように、論理演算素子(以下、セルという)が配置され、配線が最適化された論理回路を、IC基板上で具現化する。そのために、まず図11(b)に示すような格子状に分割されたセルを配置する配置領域(以下、ブロックという)を設定し、各格子部分に相当するブロックに1つずつセルを配置する。セルを配置するアルゴリズムは特に限定されるものではなく、例えば「Min−Cut法」を用いてセルを配置すれば良い。
そして、図11(c)に示すように、配置したセル間を配線し、配線長の総和である総配線長が最短になるようにセルの位置を調整する。複雑な半導体集積回路を設計する場合には、論理回路を階層化して下位階層の論理回路をブラックボックス化することにより論理設計を簡略化する。図12は、階層化された論理回路の一の階層を示す例示図である。
図12(a)に示す論理回路MacAについて、図11の設計方法と同様の手法で、図12(b)に示すようなセルを配置する配置領域(ブロック)を設定し、各ブロックに1つずつセルを配置する。そして、配置したセル間を配線して、総配線長が最短になるようにセルの位置を調整しておく。
次に、論理回路MacAをブラックボックス化し、1つのセルと同様に取り扱うことで、上位階層の論理回路を設計する。図13は、論理回路MacAをブラックボックス化した場合の上位階層の論理回路の設計方法を示す例示図である。
図13(a)に示すように、論理回路MacAをブラックボックス化して1つのセルと同様に取り扱い、図13(b)に示すように、ブロックごとに1つずつ配置する。このようにすることで、論理設計時に扱う論理演算素子(セル)の種類、数を減ずることができ、セルの配置・セル間の配線に必要なリソースが少なくて済み、効率的に論理回路を設計することができる。
特許第4679029号公報 特開平06−309397号公報 特許第3424997号公報 特許第2648528号公報 特許第4090118号公報 特許第3562975号公報 特表2005−502133号公報
論理設計を簡略化するべく論理回路を階層化して下位階層の論理回路をブラックボックス化する場合であっても、階層を意識することなく論理回路を設計することができる。しかし、物理的な制約は大きくなり、セルの配置の自由度は低下するため、IC基板のサイズが大きくなるおそれがあるという問題点があった。
また、ブラックボックス化された論理回路の構成を、設計時に確認することができないので、セル間の配線が正しいか否かを検証することは困難である。そこで、論理設計が完了した時点で階層を展開して単層構造の論理回路に戻して検証することが多い。この場合、論理圧縮やタイミング設計が容易になるのに対し、論理設計が完了した時点ですべてのセルについてセル間の配線を検証する必要が生じ、検証工程に相当の時間を要するという問題点もあった。
本発明は斯かる事情に鑑みてなされたものであり、論理回路を階層化した場合であっても、短時間でIC基板上にセル(論理演算素子)を配置して配線を最適化することができる論理回路の設計を支援する方法、該方法を用いて論理回路の設計を支援する装置及び該装置で実行することが可能なコンピュータプログラムを提供することを目的とする。
上記目的を達成するために第1発明に係る方法は、複数の階層を有する論理回路の設計を支援する装置で実行することが可能な方法において、すべての階層のセルを、格子状に形成された配置領域に配置する工程と、既にセルが配置されている配置領域と、新たにセルを配置することが可能な配置領域との境界部分に、他の階層のセルと接続することが可能なポートを配置する工程と、同じ階層のセルについてはセルとセルとの間を、他の階層のセルについてはセルとポートとの間を、それぞれ配線する工程とを含み、配線長の総和が最短となるよう配線する。
また、第2発明に係る方法は、第1発明において、既にセルが配置されている配置領域は、新たにセルを配置することができない領域として記憶することが好ましい。
また、第3発明に係る方法は、第1又は第2発明において、階層ごとにセル及びポートを配置して配線するプロセスは、プロセス間通信により互いにデータ通信することが可能としてあり、所定の階層においてセルを配置する配置領域が新たにセルを配置することが可能な配置領域であるか否かを、同一の配置領域にセルを配置するプロセスが存在するか否かにより判断することが好ましい。
次に、上記目的を達成するために第4発明に係る装置は、複数の階層を有する論理回路の設計を支援する装置において、すべての階層のセルを、格子状に形成された配置領域に配置する配置手段と、既にセルが配置されている配置領域と、新たにセルを配置することが可能な配置領域との境界部分に、他の階層のセルと接続することが可能なポートを配置するポート配置手段と、同じ階層のセルについてはセルとセルとの間を、他の階層のセルについてはセルとポートとの間を、それぞれ配線する配線手段とを備え、前記配線手段は、配線長の総和が最短となるよう配線する。
また、第5発明に係る装置は、第4発明において、既にセルが配置されている配置領域は、新たにセルを配置することができない領域として記憶することが好ましい。
また、第6発明に係る装置は、第4又は第5発明において、階層ごとにセル及びポートを配置して配線するプロセスは、プロセス間通信により互いにデータ通信することが可能としてあり、所定の階層においてセルを配置する配置領域が新たにセルを配置することが可能な配置領域であるか否かを、同一の配置領域にセルを配置するプロセスが存在するか否かにより判断することが好ましい。
次に、上記目的を達成するために第7発明に係るコンピュータプログラムは、複数の階層を有する論理回路の設計を支援する装置で実行することが可能なコンピュータプログラムにおいて、前記装置を、すべての階層のセルを、格子状に形成された配置領域に配置する配置手段、既にセルが配置されている配置領域と、新たにセルを配置することが可能な配置領域との境界部分に、他の階層のセルと接続することが可能なポートを配置するポート配置手段、及び同じ階層のセルについてはセルとセルとの間を、他の階層のセルについてはセルとポートとの間を、それぞれ配線する配線手段として機能させ、前記配線手段を、配線長の総和が最短となるよう配線する手段として機能させる。
また、第8発明に係るコンピュータプログラムは、第7発明において、前記装置を、既にセルが配置されている配置領域は、新たにセルを配置することができない領域として記憶する手段として機能させることが好ましい。
また、第9発明に係るコンピュータプログラムは、第7又は第8発明において、前記装置は、階層ごとにセル及びポートを配置して配線するプロセスは、プロセス間通信により互いにデータ通信することが可能としてあり、前記装置を、所定の階層においてセルを配置する配置領域が新たにセルを配置することが可能な配置領域であるか否かを、同一の配置領域にセルを配置するプロセスが存在するか否かにより判断する手段として機能させることが好ましい。
本発明によれば、論理設計を簡略化するべく論理回路を階層化して下位階層の論理回路をブラックボックス化した場合であっても、すべての階層におけるセルの配置を把握する必要はなく、一の階層におけるセルの配置と他の階層のセルと接続することが可能なポートの配置とを把握しておくことにより、配線長の総和である総配線長が最短になるよう設計することができるので、物理的な制約によりIC基板のサイズが大きくなることがなく、しかもすべてのセルについてセル間の配線を検証する必要がないので検証工程に要する時間を短縮することができ、比較的短時間で論理回路を設計することが可能となる。
本発明の実施の形態1に係る論理回路設計支援装置の構成を模式的に示すブロック図である。 本発明の実施の形態1に係る論理回路設計支援装置の機能ブロック図である。 本発明の実施の形態1に係る論理回路設計支援装置のネットリストの例示図である。 本発明の実施の形態1に係る論理回路設計支援装置のブロックアウト領域の例示図である。 本発明の実施の形態1に係る論理回路設計支援装置の論理回路の配線の例示図である。 本発明の実施の形態1に係る論理回路設計支援装置の最上位階層における配線決定後に生成されたネットリストの例示図である。 本発明の実施の形態1に係る論理回路設計支援装置のCPUの処理手順を示すフローチャートである。 本発明の実施の形態2に係る論理回路設計支援装置の機能ブロック図である。 本発明の実施の形態2に係る論理回路設計支援装置のプロセス間通信によるセルの配置検証処理の例示図である。 本発明の実施の形態2に係る論理回路設計支援装置のCPUの処理手順を示すフローチャートである。 従来の論理回路の設計方法を示す例示図である。 階層化された論理回路の一の階層を示す例示図である。 論理回路MacAをブラックボックス化した場合の上位階層の論理回路の設計方法を示す例示図である。
以下、本発明の実施の形態に係る、論理回路の設計を支援する論理回路設計支援装置について、図面に基づいて具体的に説明する。以下の実施の形態は、特許請求の範囲に記載された発明を限定するものではなく、実施の形態の中で説明されている特徴的事項の組み合わせの全てが解決手段の必須事項であるとは限らないことは言うまでもない。
また、本発明は多くの異なる態様にて実施することが可能であり、実施の形態の記載内容に限定して解釈されるべきものではない。実施の形態を通じて同じ要素には同一の符号を付している。
以下の実施の形態では、コンピュータシステムにコンピュータプログラムを導入した装置について説明するが、当業者であれば明らかな通り、本発明はその一部をコンピュータで実行することが可能なコンピュータプログラムとして実施することができる。したがって、本発明は、論理回路の設計を支援する論理回路設計支援装置というハードウェアとしての実施の形態、ソフトウェアとしての実施の形態、又はソフトウェアとハードウェアとの組み合わせの実施の形態をとることができる。コンピュータプログラムは、ハードディスク、DVD、CD、光記憶装置、磁気記憶装置等の任意のコンピュータで読み取ることが可能な記録媒体に記録することができる。
本発明の実施の形態によれば、論理設計を簡略化するべく論理回路を階層化して下位階層の論理回路をブラックボックス化した場合であっても、すべての階層におけるセルの配置を把握する必要はなく、一の階層におけるセルの配置と他の階層のセルと接続することが可能なポートの配置とを把握しておくことにより、配線長の総和である総配線長が最短になるよう設計することができるので、物理的な制約によりIC基板のサイズが大きくなることがなく、しかもすべてのセルについてセル間の配線を検証する必要がないので検証工程に要する時間を短縮することができ、比較的短時間で論理回路を設計することが可能となる。
(実施の形態1)
図1は、本発明の実施の形態1に係る論理回路設計支援装置の構成を模式的に示すブロック図である。本発明の実施の形態1に係る論理回路設計支援装置1は、少なくともCPU(中央演算装置)11、メモリ12、記憶装置13、I/Oインタフェース14、ビデオインタフェース15、可搬型ディスクドライブ16、通信インタフェース17及び上述したハードウェアを接続する内部バス18で構成されている。
CPU11は、内部バス18を介して論理回路設計支援装置1の上述したようなハードウェア各部と接続されており、上述したハードウェア各部の動作を制御するとともに、記憶装置13に記憶されたコンピュータプログラム100に従って、種々のソフトウェア的機能を実行する。メモリ12は、SRAM、SDRAM等の揮発性メモリで構成され、コンピュータプログラム100の実行時にロードモジュールが展開され、コンピュータプログラム100の実行時に発生する一時的なデータ等を記憶する。
記憶装置13は、内蔵される固定型記憶装置(ハードディスク)、ROM等で構成されている。記憶装置13に記憶されたコンピュータプログラム100は、プログラム及びデータ等の情報を記録したDVD、CD−ROM等の可搬型記録媒体90から、可搬型ディスクドライブ16によりダウンロードされ、実行時には記憶装置13からメモリ12へ展開して実行される。もちろん、通信インタフェース17を介して接続されている外部コンピュータからダウンロードされたコンピュータプログラムであっても良い。
記憶装置13は、セル(論理演算素子)の配置条件に関する情報を記憶してある配置条件情報記憶部131、セルの配置領域に関する情報を記憶してある配置領域情報記憶部132、配線に関する情報を含むネットリストを記憶してあるネットリスト記憶部133を備えている。配置条件情報記憶部131には、例えばAND回路、OR回路等のセルの種類や、他の階層のセルと接続することが可能なポートの座標値、セルの大きさ(サイズ:矩形であればx×y)等をセルの配置条件に関する情報として記憶する。
また、配置領域情報記憶部132には、セルの配置領域(例えばIC基板の表面において格子状に形成された領域)に関する情報を記憶する。さらに、ネットリスト記憶部133には、配線に関する情報を含むネットリストを記憶する。もちろん、ネットリストには、配線に関する情報だけでなく、セル及びポートの配置に関する情報を含めても良い。
通信インタフェース17は内部バス18に接続されており、インターネット、LAN、WAN等の外部のネットワークに接続されることにより、外部コンピュータ等とデータ送受信を行うことが可能となっている。
I/Oインタフェース14は、キーボード21、マウス22等の入力装置と接続され、データの入力を受け付ける。ビデオインタフェース15は、CRTディスプレイ、液晶ディスプレイ等の表示装置23と接続され、所定の画像を表示する。
図2は、本発明の実施の形態1に係る論理回路設計支援装置1の機能ブロック図である。図2において、論理回路設計支援装置1の配置条件情報取得部201は、セルの配置条件に関する情報を取得する。具体的には、配置対象となるセルについて配置条件情報記憶部131を照会して、配置対象となるセルの種類(例えばAND回路、OR回路等)や、他の階層のセルと接続することが可能なポートの座標値、セルの大きさ(サイズ:矩形であればx×y)等を読み出して取得する。
配置領域情報取得部202は、セルの配置領域に関する情報を取得する。セルの配置領域とは、例えばIC基板の表面において格子状に形成された領域を意味しており、セルの配置先の候補となる。本実施の形態1では、他の階層において、既にセルが配置されている配置領域を新たにセルを配置することができない領域(ブロックアウト領域)として配置領域情報記憶部132に記憶してある。同じ領域に重複してセルが配置されることを防ぐためである。
ネットリスト取得部203は、配線に関する情報を含むネットリストを取得する。図3は、本発明の実施の形態1に係る論理回路設計支援装置1のネットリストの例示図である。図3(a)に示すネットリストは、図3(b)に示す論理回路のセル間の接続状態を示す接続情報部301と、図3(c)に示すセルの配置を示す配置部302とで構成されている。もちろん、1つ目のセルを配置する前は、接続情報部301だけで構成されていることは言うまでもない。
図3(a)に示すネットリストでは、u0〜u7によりセルのIDを表している。接続情報部301において、セルのIDの前に記載されているBUFFER,INVERT、・・・はセルの種類を表している。また、セル間の配線については、入力側及び出力側の接続先を記載してあり、例えばセルu2/u0の配線は、入力側が.A(net1)、.B(net2)、出力側が.Y(net3)のように、端子(配線)の形式で表す。また、配置部302において、セルのIDの次に記載された数字は、セルを配置した配置領域の座標値を表している。例えば‘u0 100、100’と記載されている場合、セルu0は座標値(100、100)の配置領域に配置されている。
図2に戻って、セル/ポート配置部(配置手段、ポート配置手段)204は、階層ごとに、例えば格子状に形成された配置領域(セルの配置領域)にセルを配置し、他の階層に配置されたセルと接続することが可能なポートを配置する。従来はセルのみを配置していたので、論理回路を階層化する場合、総配線長を最短にするためにすべての階層におけるセルの配置を把握しておく必要があった。しかし、本実施の形態1では、一の階層におけるセルの配置と、ポートの配置とを把握しておけば良い。ポートは、既にセルが配置されている配置領域と新たにセルを配置することが可能な配置領域との境界部分に、面積を有さない仮想物として配置されるので、ポートがセルの配置をさまたげることなく、また、ポートの配置を把握しておくことにより、すべての階層におけるセルの配置を把握することなく、論理回路を設計することができる。
また、他の階層において、既にセルが配置されている配置領域は、新たにセルを配置することができない領域(ブロックアウト領域)として、配置領域情報記憶部132に記憶される。したがって、例えば最上位階層から順次セルを配置していく場合、下位階層になればなるほどブロックアウト領域が多くなり、セルの配置の自由度が低下する。
図4は、本発明の実施の形態1に係る論理回路設計支援装置1のブロックアウト領域の例示図である。図4(a)に示すような2層の論理回路を設計する場合、上位階層の論理設計時には、下位階層の論理回路MAC0、MAC1を、それぞれセルu2、u5として区別して取り扱う。
図4(b)では、下位階層において既にセルが配置されている配置領域(論理回路MAC0と論理回路MAC1とを構成するセルが配置されている配置領域)をブロックアウト領域としてハッチング表示している。上位階層の論理設計時には、該領域に新たなセルを配置することはできない。そして、論理回路MAC0と論理回路MAC1とのそれぞれについて、他の階層のセルと接続することが可能なポートを、ポートP1〜P8としてブロックアウト領域と新たにセルを配置することが可能な配置領域との境界部分に配置する。
図2に戻って、配線決定部205は、セルとセルとの間、及びセルとポートとの間の配線を決定する。なお、配線の組み合わせのうち、総配線長が最短となるような組み合わせを採用する。本実施の形態1では、同じ階層のセルについてはセルとセルとの間を、他の階層のセルについてはセルとポートとの間を、それぞれ接続する。これにより、他の階層におけるセルの配置を把握する必要もなく、従来の単一階層における配線と同様の方法で配線を決定することができる。
ネットリスト生成部206は、配線に関する情報及び配置に関する情報を含むネットリストを生成する。本実施の形態1では、ネットリストは、配線に関する情報及び配置に関する情報が更新される都度生成される。図5は、本発明の実施の形態1に係る論理回路設計支援装置1の論理回路の配線の例示図である。図6は、本発明の実施の形態1に係る論理回路設計支援装置1の最上位階層における配線決定後に生成されたネットリストの例示図である。
図5に示す論理回路は、2つの階層を有しており、図5(a)は上位階層の論理回路図を、図5(b)、図5(c)は、下位階層のセルである論理回路MAC0、論理回路MAC1の論理回路図を、それぞれ示している。論理回路MAC0、MAC1を構成するセルは、図5(d)に示すハッチング部分にそれぞれ配置されている。
図6に示すネットリストには、図3とは異なり、3つの階層の配線に関する情報及び配置に関する情報が含まれている。つまり、最上位階層におけるセル間の接続状態及び1つ下位の階層のポートとの接続状態を示す接続情報部601と、最上位階層におけるセル及びポートの配置を示す配置部602に加えて、2つの下位階層についても階層ごとに接続情報部603、605、配置部604、606が生成されている。
そして、各階層の配置部602、604、606には、配置したポートの座標値も記載されている。例えば最上位階層の配置部602には、それぞれセルu2のポートIN1、IN2の座標値がポート部610に、セルu5のポートIN1の座標値がポート部612に記載されている。
同様に、下位の階層の配置部604では、ポートであることを示すパラメータ「Port」とともに、セルu2のポートIN1、IN2の座標値がポート部611に、配置部606では、セルu5のポートIN1の座標値がポート部613に、それぞれ記載されている。ネットリストに記載されているポートの座標値は、同一のポートについてはすべて同じであることは言うまでもない。
ネットリスト出力部207は、生成したネットリストを出力する。これにより、すべてのセルについてセル間の配線を検証する必要がなく、検証工程に要する時間を短縮することができる。
図7は、本発明の実施の形態1に係る論理回路設計支援装置1のCPU11の処理手順を示すフローチャートである。論理回路設計支援装置1のCPU11は、セルの配置条件に関する情報を取得し(ステップS701)、セルの配置領域に関する情報を取得する(ステップS702)。セルの配置条件に関する情報としては、例えば配置対象となるセルの種類、他の階層のセルと接続することが可能なポートの座標値(セルとの相対位置であって、絶対座標値ではない)、セルの大きさ(サイズ:矩形であればx×y)等を読み出して取得する。セルの配置領域に関する情報には、新たにセルを配置することができない領域(ブロックアウト領域)に関する情報も含む。
CPU11は、配線に関する情報及び配置に関する情報を含むネットリストを取得し(ステップS703)、最上位階層において、例えば格子状に形成された配置領域にセルを配置し、他の階層のセルと接続することが可能なポートを配置する(ステップS704)。CPU11は、最上位階層において、セルとセルとの間の配線を決定する(ステップS705)。なお、配線の組み合わせのうち、総配線長が最短となる組み合わせを採用する。
CPU11は、最上位階層における配線に関する情報及び配置に関する情報を含む新たなネットリストを生成する(ステップS706)。ネットリストは、例えば図6に示すネットリストと同様の構成で生成される。CPU11は、配置領域情報記憶部132に記憶されているセルの配置領域に関する情報を更新する(ステップS707)。具体的には、最上位階層において既にセルを配置した配置領域を、新たにセルを配置することができない領域(ブロックアウト領域)として記憶する。
CPU11は、下位階層が存在するか否かを判断する(ステップS708)。CPU11が、下位階層が存在すると判断した場合(ステップS708:YES)、CPU11は、次に下位の階層を選択し(ステップS709)、最上位階層と同様に選択した階層においてセル及びポートを配置し(ステップS710)、配線を決定する(ステップS711)。本実施の形態1では、同じ階層においてはセルとセルとの間を、他の階層との間ではセルとポートとの間を、それぞれ接続する。これにより、他の階層におけるセルの配置を把握する必要もなく、従来の単一階層における配線と同様の方法で配線を決定することができる。CPU11は、選択した階層における配線に関する情報及び配置に関する情報を含むネットリストを生成して(ステップS712)、配置領域情報記憶部132に記憶されているセルの配置領域に関する情報を更新し(ステップS713)、処理をステップS708へ戻して、さらに下位の階層へと処理を進める。
CPU11が、下位階層が存在しないと判断した場合(ステップS708:NO)、CPU11は、最下位階層の論理設計が終了したと判断し、ネットリストを出力して(ステップS714)、処理を終了する。これにより、すべてのセルについてセル間の配線を検証することができる。
以上のように本実施の形態1によれば、論理設計を簡略化するべく論理回路を階層化して下位階層の論理回路をブラックボックス化した場合であっても、すべての階層におけるセルの配置を把握する必要はなく、一の階層におけるセルの配置と他の階層のセルと接続することが可能なポートの配置とを把握しておくことにより、配線長の総和である総配線長が最短になるよう設計することができるので、物理的な制約によりIC基板のサイズが大きくなることがなく、しかもすべてのセルについてセル間の配線を検証する必要がないので検証工程に要する時間を短縮することができ、比較的短時間で論理回路を設計することが可能となる。
なお、上述した実施例では、最上位階層から順次論理設計を行う場合について説明しているが、特に最上位階層から順次論理設計することに限定されるものではなく、最下位階層から順次論理設計を行っても良いことは言うまでもない。
(実施の形態2)
本発明の実施の形態2に係る論理回路設計支援装置1の構成は、実施の形態1と同様であることから、同一の符号を付することにより詳細な説明は省略する。本実施の形態2では、階層ごとにセル及びポートを配置して配線するプロセスを、それぞれ独立して並列に実行する点で実施の形態1とは相違する。
図8は、本発明の実施の形態2に係る論理回路設計支援装置1の機能ブロック図である。図8において、論理回路設計支援装置1の配置条件情報取得部201、配置領域情報取得部202、ネットリスト取得部203は、実施の形態1と同様であるので、詳細な説明は省略する。
セル/ポート配置部(配置手段、ポート配置手段)801は、階層ごとに、例えば格子状に形成された配置領域にセルを配置し、他の階層に配置されたセルと接続することが可能なポートを配置する。従来はセルのみを配置していたので、論理回路を階層化する場合、総配線長を最短にするためにすべての階層におけるセルの配置を把握しておく必要があった。しかし、実施の形態1と同様、本実施の形態2でも、一の階層におけるセルの配置と、ポートの配置とを把握しておけば良い。ポートは、既にセルが配置されている配置領域と新たにセルを配置することが可能な配置領域との境界部分に、面積を有さない仮想物として配置されるので、ポートがセルの配置をさまたげることなく、また、ポートの配置を把握しておくことにより、すべての階層におけるセルの配置を把握することなく、論理回路を設計することができる。
そして、配線仮決定部802は、セルとセルとの間、及びセルとポートとの間の配線を仮決定する。本実施の形態2では、ブロックアウト領域は不明である。したがって、配線を仮決定した時点で、セルの配置を検証する必要がある。
プロセス確認部803は、階層ごとにセル及びポートを配置して配線するプロセス間でデータ通信し、所定の階層においてセルを配置する配置領域が、新たにセルを配置することが可能な配置領域であるか否かを判断する。具体的には、プロセス間でデータ通信を行い、同一の配置領域にセルを配置するプロセスが存在するか否かにより判断する。
同一の配置領域にセルを配置するプロセスが存在する場合、総配線長が短くなるセルの配置を優先する。具体的には、配線仮決定部802で配線を仮決定した時点で、総配線長を算出しておき、存在を確認したプロセスによる配置を優先した場合の総配線長と比較することにより、セルの配置を変更するか否かを判断する。
配線長判断部804は、仮決定した配線の総配線長と、存在を確認したプロセスによる配置を優先した場合の総配線長とを比較し、いずれが短いかを判断する。存在を確認したプロセスによる配置を優先した場合の総配線長の方が短いと判断した場合、セル/ポート配置部(配置手段、ポート配置手段)801によりセルの配置を変更して、今一度プロセス間通信によりセルの配置を検証する。
仮決定した配線の総配線長の方が短いと判断した場合、配置及び配線を現在の状態で決定し、ネットリスト生成部206で配線に関する情報及び配置に関する情報を含むネットリストを生成して、ネットリスト出力部207で生成されたネットリストを出力する。
図9は、本発明の実施の形態2に係る論理回路設計支援装置1のプロセス間通信によるセルの配置検証の例示図である。図9(a)はプロセス0によるセルの配置を、図9(b)はプロセス2によるセルの配置を、それぞれ示している。
ここで、図9(a)の座標(400、300)に配置されているセルを、座標(300、300)に移動する場合、プロセス0は、すべてのプロセスに対して座標(300、300)に配置するセルを所有しているか否かを確認する。図9(b)に示すように、プロセス2が座標(300、300)に配置するセルを所有しているので、応答する。
座標(300、300)にプロセス0によりセルを配置した場合の総配線長と、プロセス2によりセルを配置した場合の総配線長とを比較する。プロセス2による配置の方が総配線長が短くなる場合、プロセス2はセルの配置変更を拒絶する。一方、プロセス0による配置の方が総配線長が短くなる場合、プロセス2は座標(300、300)を明け渡し、プロセス0は座標(400、300)に配置されているセルを座標(300、300)に移動する。
図10は、本発明の実施の形態2に係る論理回路設計支援装置1のCPU11の処理手順を示すフローチャートである。論理回路設計支援装置1のCPU11は、ステップS703までの処理は実施の形態1と同様であることから、詳細な説明は省略する。CPU11は、配線に関する情報及び配置に関する情報を含むネットリストを取得し(ステップS703)、階層ごとに、例えば格子状に形成された配置領域にセルを配置し、他の階層に配置されたセルと接続することが可能なポートを配置する(ステップS1001)。
CPU11は、セルとセルとの間、及びセルとポートとの間の配線を仮決定し(ステップS1002)、同一の配置領域に、セルを配置するプロセスが存在するか否かを判断する(ステップS1003)。具体的には、階層ごとにセル及びポートを配置して配線するプロセス間でプロセス間通信し、同一の座標位置にセルを配置するプロセスからの応答を待つ。
CPU11が、同一の配置領域に、セルを配置するプロセスが存在すると判断した場合(ステップS1003:YES)、CPU11は、仮決定した配線の総配線長が、存在を確認したプロセスによる配置を優先した場合の総配線長と比較して最短であるか否かを判断する(ステップS1004)。CPU11が、同一の配置領域に、セルを配置するプロセスが存在しないと判断した場合(ステップS1003:NO)、又は仮決定した配線の総配線長が最短ではない、すなわち総配線長がさらに短くなるプロセスが存在すると判断した場合(ステップS1004:NO)、CPU11は、セルの配置を変更し、配線を仮決定し(ステップS1005)、配置領域情報記憶部132に記憶されているセルの配置領域に関する情報を更新して(ステップS1006)、処理をステップS1003に戻して上述した処理を繰り返す。
CPU11が、仮決定した配線の総配線長が最短である、すなわち総配線長がさらに短くなるプロセスは存在しないと判断した場合(ステップS1004:YES)、CPU11は、配置及び配線を現在の状態で決定し(ステップS1007)、配線に関する情報及び配置に関する情報を含むネットリストを生成する(ステップS1008)。ネットリストとしては、例えば図6に示すネットリストと同様の構成で生成される。CPU11は、配置領域情報記憶部132に記憶されているセルの配置領域に関する情報を更新して(ステップS1009)、ネットリストを出力する(ステップS1010)。
以上のように本実施の形態2によれば、論理設計を簡略化するべく論理回路を階層化して下位階層の論理回路をブラックボックス化した場合であっても、すべての階層におけるセルの配置を把握する必要はなく、一の階層におけるセルの配置と他の階層のセルと接続することが可能なポートの配置とを把握しておくことにより、配線長の総和である総配線長が最短になるよう設計することができるので、物理的な制約によりIC基板のサイズが大きくなることがなく、しかもすべてのセルについてセル間の配線を検証する必要がないので検証工程に要する時間を短縮することができ、比較的短時間で論理回路を設計することが可能となる。
なお、実施の形態2においては、特に最上位階層から、又は最下位階層からという制約条件を設けていないが、実施の形態1と同様にいずれかから順次論理設計を行っても良いことは言うまでもない。
また、本発明は上記実施例に限定されるものではなく、本発明の趣旨の範囲内であれば多種の変更、改良等が可能である。
1 論理回路設計支援装置
11 CPU
12 メモリ
13 記憶装置
14 I/Oインタフェース
15 ビデオインタフェース
16 可搬型ディスクドライブ
17 通信インタフェース
18 内部バス
90 可搬型記録媒体
100 コンピュータプログラム

Claims (9)

  1. 複数の階層を有する論理回路の設計を支援する装置で実行することが可能な方法において、
    すべての階層のセルを、格子状に形成された配置領域に配置する工程と、
    既にセルが配置されている配置領域と、新たにセルを配置することが可能な配置領域との境界部分に、他の階層のセルと接続することが可能なポートを配置する工程と、
    同じ階層のセルについてはセルとセルとの間を、他の階層のセルについてはセルとポートとの間を、それぞれ配線する工程と
    を含み、配線長の総和が最短となるよう配線する方法。
  2. 既にセルが配置されている配置領域は、新たにセルを配置することができない領域として記憶する請求項1に記載の方法。
  3. 階層ごとにセル及びポートを配置して配線するプロセスは、プロセス間通信により互いにデータ通信することが可能としてあり、
    所定の階層においてセルを配置する配置領域が新たにセルを配置することが可能な配置領域であるか否かを、同一の配置領域にセルを配置するプロセスが存在するか否かにより判断する請求項1又は2に記載の方法。
  4. 複数の階層を有する論理回路の設計を支援する装置において、
    すべての階層のセルを、格子状に形成された配置領域に配置する配置手段と、
    既にセルが配置されている配置領域と、新たにセルを配置することが可能な配置領域との境界部分に、他の階層のセルと接続することが可能なポートを配置するポート配置手段と、
    同じ階層のセルについてはセルとセルとの間を、他の階層のセルについてはセルとポートとの間を、それぞれ配線する配線手段と
    を備え、前記配線手段は、配線長の総和が最短となるよう配線する装置。
  5. 既にセルが配置されている配置領域は、新たにセルを配置することができない領域として記憶する請求項4に記載の装置。
  6. 階層ごとにセル及びポートを配置して配線するプロセスは、プロセス間通信により互いにデータ通信することが可能としてあり、
    所定の階層においてセルを配置する配置領域が新たにセルを配置することが可能な配置領域であるか否かを、同一の配置領域にセルを配置するプロセスが存在するか否かにより判断する請求項4又は5に記載の装置。
  7. 複数の階層を有する論理回路の設計を支援する装置で実行することが可能なコンピュータプログラムにおいて、
    前記装置を、
    すべての階層のセルを、格子状に形成された配置領域に配置する配置手段、
    既にセルが配置されている配置領域と、新たにセルを配置することが可能な配置領域との境界部分に、他の階層のセルと接続することが可能なポートを配置するポート配置手段、及び
    同じ階層のセルについてはセルとセルとの間を、他の階層のセルについてはセルとポートとの間を、それぞれ配線する配線手段
    として機能させ、前記配線手段を、配線長の総和が最短となるよう配線する手段として機能させるコンピュータプログラム。
  8. 前記装置を、既にセルが配置されている配置領域は、新たにセルを配置することができない領域として記憶する手段として機能させる請求項7に記載のコンピュータプログラム。
  9. 前記装置は、階層ごとにセル及びポートを配置して配線するプロセスは、プロセス間通信により互いにデータ通信することが可能としてあり、
    前記装置を、所定の階層においてセルを配置する配置領域が新たにセルを配置することが可能な配置領域であるか否かを、同一の配置領域にセルを配置するプロセスが存在するか否かにより判断する手段として機能させる請求項7又は8に記載のコンピュータプログラム。
JP2012165312A 2012-07-26 2012-07-26 Ic基板上にセルを配置して配線を最適化した論理回路の設計を支援する方法、該方法を用いて論理回路の設計を支援する装置及び該装置で実行することが可能なコンピュータプログラム Ceased JP2014026406A (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2012165312A JP2014026406A (ja) 2012-07-26 2012-07-26 Ic基板上にセルを配置して配線を最適化した論理回路の設計を支援する方法、該方法を用いて論理回路の設計を支援する装置及び該装置で実行することが可能なコンピュータプログラム
US13/951,693 US8904327B2 (en) 2012-07-26 2013-07-26 Assisting in logic circuit design to place cells on an IC substrate and optimize wiring

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2012165312A JP2014026406A (ja) 2012-07-26 2012-07-26 Ic基板上にセルを配置して配線を最適化した論理回路の設計を支援する方法、該方法を用いて論理回路の設計を支援する装置及び該装置で実行することが可能なコンピュータプログラム

Publications (1)

Publication Number Publication Date
JP2014026406A true JP2014026406A (ja) 2014-02-06

Family

ID=49996269

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2012165312A Ceased JP2014026406A (ja) 2012-07-26 2012-07-26 Ic基板上にセルを配置して配線を最適化した論理回路の設計を支援する方法、該方法を用いて論理回路の設計を支援する装置及び該装置で実行することが可能なコンピュータプログラム

Country Status (2)

Country Link
US (1) US8904327B2 (ja)
JP (1) JP2014026406A (ja)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05159025A (ja) * 1991-12-04 1993-06-25 Fujitsu Ltd エリア分割配線方式
JPH08274177A (ja) * 1995-03-30 1996-10-18 Hitachi Ltd 半導体集積回路の論理素子配置処理方法
JPH09129735A (ja) * 1995-10-31 1997-05-16 Toshiba Corp 半導体集積回路のレイアウト生成方法
JPH10335473A (ja) * 1997-05-30 1998-12-18 Nec Corp 階層レイアウト設計方法および階層レイアウト設計装置
JP2012227376A (ja) * 2011-04-20 2012-11-15 Fujitsu Semiconductor Ltd レイアウト設計方法、および、レイアウト設計プログラム

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2648528B2 (ja) 1990-08-03 1997-09-03 松下電器産業株式会社 Lsi設計方法
JPH06309397A (ja) 1993-04-23 1994-11-04 Nec Ic Microcomput Syst Ltd 回路の階層構造を操作する方法
JP3424997B2 (ja) 1995-01-31 2003-07-07 富士通株式会社 回路設計装置
US6209123B1 (en) * 1996-11-01 2001-03-27 Motorola, Inc. Methods of placing transistors in a circuit layout and semiconductor device with automatically placed transistors
US6519749B1 (en) 1998-01-09 2003-02-11 Silicon Perspective Corporation Integrated circuit partitioning placement and routing system
JP4090118B2 (ja) 1998-06-19 2008-05-28 富士通株式会社 Lsiの製造方法及びレイアウト用プログラムを記録した記録媒体
JP3562975B2 (ja) 1998-09-29 2004-09-08 株式会社東芝 集積回路設計方法及び集積回路設計装置
US6567967B2 (en) * 2000-09-06 2003-05-20 Monterey Design Systems, Inc. Method for designing large standard-cell base integrated circuits
CN100378734C (zh) 2001-08-29 2008-04-02 英芬能技术公司 集成电路芯片设计
US6912704B1 (en) * 2002-12-31 2005-06-28 Adence Design Systems, Inc. Method and system for floor planning non Manhattan semiconductor integrated circuits
US20050097485A1 (en) * 2003-10-29 2005-05-05 Guenthner Russell W. Method for improving performance of critical path in field programmable gate arrays
US6958545B2 (en) * 2004-01-12 2005-10-25 International Business Machines Corporation Method for reducing wiring congestion in a VLSI chip design
US7305641B2 (en) * 2005-01-12 2007-12-04 International Business Machines Corporation Method and system to redistribute white space for minimizing wire length
US8234615B2 (en) * 2010-08-04 2012-07-31 International Business Machines Corporation Constraint programming based method for bus-aware macro-block pin placement in a hierarchical integrated circuit layout

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05159025A (ja) * 1991-12-04 1993-06-25 Fujitsu Ltd エリア分割配線方式
JPH08274177A (ja) * 1995-03-30 1996-10-18 Hitachi Ltd 半導体集積回路の論理素子配置処理方法
JPH09129735A (ja) * 1995-10-31 1997-05-16 Toshiba Corp 半導体集積回路のレイアウト生成方法
JPH10335473A (ja) * 1997-05-30 1998-12-18 Nec Corp 階層レイアウト設計方法および階層レイアウト設計装置
JP2012227376A (ja) * 2011-04-20 2012-11-15 Fujitsu Semiconductor Ltd レイアウト設計方法、および、レイアウト設計プログラム

Also Published As

Publication number Publication date
US8904327B2 (en) 2014-12-02
US20140033153A1 (en) 2014-01-30

Similar Documents

Publication Publication Date Title
JP4455359B2 (ja) 半導体装置設計プログラム
US8479136B2 (en) Decoupling capacitor insertion using hypergraph connectivity analysis
US8234612B2 (en) Cone-aware spare cell placement using hypergraph connectivity analysis
US8418110B2 (en) Using port obscurity factors to improve routing
US8356267B2 (en) Statistical method for hierarchically routing layout utilizing flat route information
CN103930891B (zh) 利用已有预布线算法,使用直线斯坦纳最小树(rsmt)确定节点之间的线路长度的方法
US8701064B2 (en) Timing error removing method and design support apparatus
JP2006323643A (ja) 半導体集積回路のフロアプラン設計プログラム、フロアプラン設計装置、および設計方法
CN111597768B (zh) 用于构建版图图案集的方法、设备和计算机可读存储介质
US20080097738A1 (en) Redundant Micro-Loop Structure For Use In An Integrated Circuit Physical Design Process And Method Of Forming The Same
JP5533119B2 (ja) レイアウト設計装置、レイアウト設計方法、及びレイアウト設計プログラム
US8972916B1 (en) Method and system for checking the inter-chip connectivity of a three-dimensional integrated circuit
JP5772990B2 (ja) 設計支援装置,設計支援方法および設計支援プログラム
JP4410088B2 (ja) 半導体装置の設計支援方法、プログラム及び装置
JP2014026406A (ja) Ic基板上にセルを配置して配線を最適化した論理回路の設計を支援する方法、該方法を用いて論理回路の設計を支援する装置及び該装置で実行することが可能なコンピュータプログラム
JP2005235804A (ja) 半導体装置の設計方法及びプログラム
JP4803078B2 (ja) 半導体集積回路のレイアウト設計方法およびレイアウト設計用プログラム
JP4983068B2 (ja) 半導体装置の設計支援装置、半導体装置の設計支援方法及び半導体装置の設計支援プログラム
JP6316311B2 (ja) パターンベースの電源グランド(pg)ルーティングおよびビア生成
JP5609302B2 (ja) 接触定義装置、接触定義プログラム及び接触定義方法
JP5194461B2 (ja) 電流密度制限チェック方法及び電流密度制限チェック装置
JP6754174B2 (ja) 設計レイアウトデータの不良検出方法及び設計レイアウトデータの不良検出プログラム
US8966418B2 (en) Priority based layout versus schematic (LVS)
JP6051548B2 (ja) 自動配置配線装置および自動配置配線方法
JP5187217B2 (ja) 半導体レイアウトシステム、方法、及び、プログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20150610

RD14 Notification of resignation of power of sub attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7434

Effective date: 20160519

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20160526

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

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20160608

A045 Written measure of dismissal of application [lapsed due to lack of payment]

Free format text: JAPANESE INTERMEDIATE CODE: A045

Effective date: 20161025