図面 (/)

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

出願人 インターナショナル・ビジネス・マシーンズ・コーポレーション
発明者 加藤美孝
出願日 2012年7月26日 (8年4ヶ月経過) 出願番号 2012-165312
公開日 2014年2月6日 (6年10ヶ月経過) 公開番号 2014-026406
状態 未登録
技術分野 CAD ICの設計・製造(配線設計等)
主要キーワード ブロックアウト ポート配置 特徴的事項 ハッチング表示 論理演算素子 配置領域情報 ブラックボックス化 論理圧縮
関連する未来課題
重要な関連分野

この項目の情報は公開日時点(2014年2月6日)のものです。
また、この項目は機械的に抽出しているため、正しく解析できていない場合があります

図面 (14)

課題

論理回路階層化した場合であっても、短時間で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つずつ配置する。このようにすることで、論理設計時に扱う論理演算素子(セル)の種類、数を減ずることができ、セルの配置・セル間の配線に必要なリソースが少なくて済み、効率的に論理回路を設計することができる。

概要

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

目的

本発明は斯かる事情に鑑みてなされたものであり、論理回路を階層化した場合であっても、短時間でIC基板上にセル(論理演算素子)を配置して配線を最適化することができる論理回路の設計を支援する方法、該方法を用いて論理回路の設計を支援する装置及び該装置で実行することが可能なコンピュータプログラムを提供する

効果

実績

技術文献被引用数
0件
牽制数
0件

この技術が所属する分野

ライセンス契約や譲渡などの可能性がある特許掲載中! 開放特許随時追加・更新中 詳しくはこちら

請求項1

複数の階層を有する論理回路の設計を支援する装置で実行することが可能な方法において、すべての階層のセルを、格子状に形成された配置領域に配置する工程と、既にセルが配置されている配置領域と、新たにセルを配置することが可能な配置領域との境界部分に、他の階層のセルと接続することが可能なポートを配置する工程と、同じ階層のセルについてはセルとセルとの間を、他の階層のセルについてはセルとポートとの間を、それぞれ配線する工程とを含み、配線長の総和が最短となるよう配線する方法。

請求項2

既にセルが配置されている配置領域は、新たにセルを配置することができない領域として記憶する請求項1に記載の方法。

請求項3

階層ごとにセル及びポートを配置して配線するプロセスは、プロセス間通信により互いにデータ通信することが可能としてあり、所定の階層においてセルを配置する配置領域が新たにセルを配置することが可能な配置領域であるか否かを、同一の配置領域にセルを配置するプロセスが存在するか否かにより判断する請求項1又は2に記載の方法。

請求項4

複数の階層を有する論理回路の設計を支援する装置において、すべての階層のセルを、格子状に形成された配置領域に配置する配置手段と、既にセルが配置されている配置領域と、新たにセルを配置することが可能な配置領域との境界部分に、他の階層のセルと接続することが可能なポートを配置するポート配置手段と、同じ階層のセルについてはセルとセルとの間を、他の階層のセルについてはセルとポートとの間を、それぞれ配線する配線手段とを備え、前記配線手段は、配線長の総和が最短となるよう配線する装置。

請求項5

既にセルが配置されている配置領域は、新たにセルを配置することができない領域として記憶する請求項4に記載の装置。

請求項6

階層ごとにセル及びポートを配置して配線するプロセスは、プロセス間通信により互いにデータ通信することが可能としてあり、所定の階層においてセルを配置する配置領域が新たにセルを配置することが可能な配置領域であるか否かを、同一の配置領域にセルを配置するプロセスが存在するか否かにより判断する請求項4又は5に記載の装置。

請求項7

複数の階層を有する論理回路の設計を支援する装置で実行することが可能なコンピュータプログラムにおいて、前記装置を、すべての階層のセルを、格子状に形成された配置領域に配置する配置手段、既にセルが配置されている配置領域と、新たにセルを配置することが可能な配置領域との境界部分に、他の階層のセルと接続することが可能なポートを配置するポート配置手段、及び同じ階層のセルについてはセルとセルとの間を、他の階層のセルについてはセルとポートとの間を、それぞれ配線する配線手段として機能させ、前記配線手段を、配線長の総和が最短となるよう配線する手段として機能させるコンピュータプログラム。

請求項8

前記装置を、既にセルが配置されている配置領域は、新たにセルを配置することができない領域として記憶する手段として機能させる請求項7に記載のコンピュータプログラム。

請求項9

前記装置は、階層ごとにセル及びポートを配置して配線するプロセスは、プロセス間通信により互いにデータ通信することが可能としてあり、前記装置を、所定の階層においてセルを配置する配置領域が新たにセルを配置することが可能な配置領域であるか否かを、同一の配置領域にセルを配置するプロセスが存在するか否かにより判断する手段として機能させる請求項7又は8に記載のコンピュータプログラム。

技術分野

0001

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

背景技術

0002

複雑な半導体集積回路を設計する場合、論理回路を階層化して、下位階層の論理回路をブラックボックス化することにより、最上位階層において論理設計を簡略化することができる。この場合、論理設計時には階層を展開することなく設計し、配線を検証する時点では階層を展開して単層構造の論理回路として検証することが多い。典型的な従来の設計方法が、特許文献1に開示されている。図11は、従来の論理回路の設計方法を示す例示図である。

0003

図11(a)に示すように、論理演算素子(以下、セルという)が配置され、配線が最適化された論理回路を、IC基板上で具現化する。そのために、まず図11(b)に示すような格子状に分割されたセルを配置する配置領域(以下、ブロックという)を設定し、各格子部分に相当するブロックに1つずつセルを配置する。セルを配置するアルゴリズムは特に限定されるものではなく、例えば「Min−Cut法」を用いてセルを配置すれば良い。

0004

そして、図11(c)に示すように、配置したセル間を配線し、配線長の総和である総配線長最短になるようにセルの位置を調整する。複雑な半導体集積回路を設計する場合には、論理回路を階層化して下位階層の論理回路をブラックボックス化することにより論理設計を簡略化する。図12は、階層化された論理回路の一の階層を示す例示図である。

0005

図12(a)に示す論理回路MacAについて、図11の設計方法と同様の手法で、図12(b)に示すようなセルを配置する配置領域(ブロック)を設定し、各ブロックに1つずつセルを配置する。そして、配置したセル間を配線して、総配線長が最短になるようにセルの位置を調整しておく。

0006

次に、論理回路MacAをブラックボックス化し、1つのセルと同様に取り扱うことで、上位階層の論理回路を設計する。図13は、論理回路MacAをブラックボックス化した場合の上位階層の論理回路の設計方法を示す例示図である。

0007

図13(a)に示すように、論理回路MacAをブラックボックス化して1つのセルと同様に取り扱い、図13(b)に示すように、ブロックごとに1つずつ配置する。このようにすることで、論理設計時に扱う論理演算素子(セル)の種類、数を減ずることができ、セルの配置・セル間の配線に必要なリソースが少なくて済み、効率的に論理回路を設計することができる。

先行技術

0008

特許第4679029号公報
特開平06−309397号公報
特許第3424997号公報
特許第2648528号公報
特許第4090118号公報
特許第3562975号公報
特表2005−502133号公報

発明が解決しようとする課題

0009

論理設計を簡略化するべく論理回路を階層化して下位階層の論理回路をブラックボックス化する場合であっても、階層を意識することなく論理回路を設計することができる。しかし、物理的な制約は大きくなり、セルの配置の自由度は低下するため、IC基板のサイズが大きくなるおそれがあるという問題点があった。

0010

また、ブラックボックス化された論理回路の構成を、設計時に確認することができないので、セル間の配線が正しいか否かを検証することは困難である。そこで、論理設計が完了した時点で階層を展開して単層構造の論理回路に戻して検証することが多い。この場合、論理圧縮タイミング設計が容易になるのに対し、論理設計が完了した時点ですべてのセルについてセル間の配線を検証する必要が生じ、検証工程に相当の時間を要するという問題点もあった。

0011

本発明は斯かる事情に鑑みてなされたものであり、論理回路を階層化した場合であっても、短時間でIC基板上にセル(論理演算素子)を配置して配線を最適化することができる論理回路の設計を支援する方法、該方法を用いて論理回路の設計を支援する装置及び該装置で実行することが可能なコンピュータプログラムを提供することを目的とする。

課題を解決するための手段

0012

上記目的を達成するために第1発明に係る方法は、複数の階層を有する論理回路の設計を支援する装置で実行することが可能な方法において、すべての階層のセルを、格子状に形成された配置領域に配置する工程と、既にセルが配置されている配置領域と、新たにセルを配置することが可能な配置領域との境界部分に、他の階層のセルと接続することが可能なポートを配置する工程と、同じ階層のセルについてはセルとセルとの間を、他の階層のセルについてはセルとポートとの間を、それぞれ配線する工程とを含み、配線長の総和が最短となるよう配線する。

0013

また、第2発明に係る方法は、第1発明において、既にセルが配置されている配置領域は、新たにセルを配置することができない領域として記憶することが好ましい。

0014

また、第3発明に係る方法は、第1又は第2発明において、階層ごとにセル及びポートを配置して配線するプロセスは、プロセス間通信により互いにデータ通信することが可能としてあり、所定の階層においてセルを配置する配置領域が新たにセルを配置することが可能な配置領域であるか否かを、同一の配置領域にセルを配置するプロセスが存在するか否かにより判断することが好ましい。

0015

次に、上記目的を達成するために第4発明に係る装置は、複数の階層を有する論理回路の設計を支援する装置において、すべての階層のセルを、格子状に形成された配置領域に配置する配置手段と、既にセルが配置されている配置領域と、新たにセルを配置することが可能な配置領域との境界部分に、他の階層のセルと接続することが可能なポートを配置するポート配置手段と、同じ階層のセルについてはセルとセルとの間を、他の階層のセルについてはセルとポートとの間を、それぞれ配線する配線手段とを備え、前記配線手段は、配線長の総和が最短となるよう配線する。

0016

また、第5発明に係る装置は、第4発明において、既にセルが配置されている配置領域は、新たにセルを配置することができない領域として記憶することが好ましい。

0017

また、第6発明に係る装置は、第4又は第5発明において、階層ごとにセル及びポートを配置して配線するプロセスは、プロセス間通信により互いにデータ通信することが可能としてあり、所定の階層においてセルを配置する配置領域が新たにセルを配置することが可能な配置領域であるか否かを、同一の配置領域にセルを配置するプロセスが存在するか否かにより判断することが好ましい。

0018

次に、上記目的を達成するために第7発明に係るコンピュータプログラムは、複数の階層を有する論理回路の設計を支援する装置で実行することが可能なコンピュータプログラムにおいて、前記装置を、すべての階層のセルを、格子状に形成された配置領域に配置する配置手段、既にセルが配置されている配置領域と、新たにセルを配置することが可能な配置領域との境界部分に、他の階層のセルと接続することが可能なポートを配置するポート配置手段、及び同じ階層のセルについてはセルとセルとの間を、他の階層のセルについてはセルとポートとの間を、それぞれ配線する配線手段として機能させ、前記配線手段を、配線長の総和が最短となるよう配線する手段として機能させる。

0019

また、第8発明に係るコンピュータプログラムは、第7発明において、前記装置を、既にセルが配置されている配置領域は、新たにセルを配置することができない領域として記憶する手段として機能させることが好ましい。

0020

また、第9発明に係るコンピュータプログラムは、第7又は第8発明において、前記装置は、階層ごとにセル及びポートを配置して配線するプロセスは、プロセス間通信により互いにデータ通信することが可能としてあり、前記装置を、所定の階層においてセルを配置する配置領域が新たにセルを配置することが可能な配置領域であるか否かを、同一の配置領域にセルを配置するプロセスが存在するか否かにより判断する手段として機能させることが好ましい。

発明の効果

0021

本発明によれば、論理設計を簡略化するべく論理回路を階層化して下位階層の論理回路をブラックボックス化した場合であっても、すべての階層におけるセルの配置を把握する必要はなく、一の階層におけるセルの配置と他の階層のセルと接続することが可能なポートの配置とを把握しておくことにより、配線長の総和である総配線長が最短になるよう設計することができるので、物理的な制約によりIC基板のサイズが大きくなることがなく、しかもすべてのセルについてセル間の配線を検証する必要がないので検証工程に要する時間を短縮することができ、比較的短時間で論理回路を設計することが可能となる。

図面の簡単な説明

0022

本発明の実施の形態1に係る論理回路設計支援装置の構成を模式的に示すブロック図である。
本発明の実施の形態1に係る論理回路設計支援装置の機能ブロック図である。
本発明の実施の形態1に係る論理回路設計支援装置のネットリストの例示図である。
本発明の実施の形態1に係る論理回路設計支援装置のブロックアウト領域の例示図である。
本発明の実施の形態1に係る論理回路設計支援装置の論理回路の配線の例示図である。
本発明の実施の形態1に係る論理回路設計支援装置の最上位階層における配線決定後に生成されたネットリストの例示図である。
本発明の実施の形態1に係る論理回路設計支援装置のCPUの処理手順を示すフローチャートである。
本発明の実施の形態2に係る論理回路設計支援装置の機能ブロック図である。
本発明の実施の形態2に係る論理回路設計支援装置のプロセス間通信によるセルの配置検証処理の例示図である。
本発明の実施の形態2に係る論理回路設計支援装置のCPUの処理手順を示すフローチャートである。
従来の論理回路の設計方法を示す例示図である。
階層化された論理回路の一の階層を示す例示図である。
論理回路MacAをブラックボックス化した場合の上位階層の論理回路の設計方法を示す例示図である。

実施例

0023

以下、本発明の実施の形態に係る、論理回路の設計を支援する論理回路設計支援装置について、図面に基づいて具体的に説明する。以下の実施の形態は、特許請求の範囲に記載された発明を限定するものではなく、実施の形態の中で説明されている特徴的事項の組み合わせの全てが解決手段の必須事項であるとは限らないことは言うまでもない。

0024

また、本発明は多くの異なる態様にて実施することが可能であり、実施の形態の記載内容に限定して解釈されるべきものではない。実施の形態を通じて同じ要素には同一の符号を付している。

0025

以下の実施の形態では、コンピュータシステムにコンピュータプログラムを導入した装置について説明するが、当業者であれば明らかな通り、本発明はその一部をコンピュータで実行することが可能なコンピュータプログラムとして実施することができる。したがって、本発明は、論理回路の設計を支援する論理回路設計支援装置というハードウェアとしての実施の形態、ソフトウェアとしての実施の形態、又はソフトウェアとハードウェアとの組み合わせの実施の形態をとることができる。コンピュータプログラムは、ハードディスク、DVD、CD、光記憶装置磁気記憶装置等の任意のコンピュータで読み取ることが可能な記録媒体に記録することができる。

0026

本発明の実施の形態によれば、論理設計を簡略化するべく論理回路を階層化して下位階層の論理回路をブラックボックス化した場合であっても、すべての階層におけるセルの配置を把握する必要はなく、一の階層におけるセルの配置と他の階層のセルと接続することが可能なポートの配置とを把握しておくことにより、配線長の総和である総配線長が最短になるよう設計することができるので、物理的な制約によりIC基板のサイズが大きくなることがなく、しかもすべてのセルについてセル間の配線を検証する必要がないので検証工程に要する時間を短縮することができ、比較的短時間で論理回路を設計することが可能となる。

0027

(実施の形態1)
図1は、本発明の実施の形態1に係る論理回路設計支援装置の構成を模式的に示すブロック図である。本発明の実施の形態1に係る論理回路設計支援装置1は、少なくともCPU(中央演算装置)11、メモリ12、記憶装置13、I/Oインタフェース14、ビデオインタフェース15、可搬型ディスクドライブ16、通信インタフェース17及び上述したハードウェアを接続する内部バス18で構成されている。

0028

CPU11は、内部バス18を介して論理回路設計支援装置1の上述したようなハードウェア各部と接続されており、上述したハードウェア各部の動作を制御するとともに、記憶装置13に記憶されたコンピュータプログラム100に従って、種々のソフトウェア的機能を実行する。メモリ12は、SRAM、SDRAM等の揮発性メモリで構成され、コンピュータプログラム100の実行時にロードモジュールが展開され、コンピュータプログラム100の実行時に発生する一時的なデータ等を記憶する。

0029

記憶装置13は、内蔵される固定型記憶装置(ハードディスク)、ROM等で構成されている。記憶装置13に記憶されたコンピュータプログラム100は、プログラム及びデータ等の情報を記録したDVD、CD−ROM等の可搬型記録媒体90から、可搬型ディスクドライブ16によりダウンロードされ、実行時には記憶装置13からメモリ12へ展開して実行される。もちろん、通信インタフェース17を介して接続されている外部コンピュータからダウンロードされたコンピュータプログラムであっても良い。

0030

記憶装置13は、セル(論理演算素子)の配置条件に関する情報を記憶してある配置条件情報記憶部131、セルの配置領域に関する情報を記憶してある配置領域情報記憶部132、配線に関する情報を含むネットリストを記憶してあるネットリスト記憶部133を備えている。配置条件情報記憶部131には、例えばAND回路OR回路等のセルの種類や、他の階層のセルと接続することが可能なポートの座標値、セルの大きさ(サイズ:矩形であればx×y)等をセルの配置条件に関する情報として記憶する。

0031

また、配置領域情報記憶部132には、セルの配置領域(例えばIC基板の表面において格子状に形成された領域)に関する情報を記憶する。さらに、ネットリスト記憶部133には、配線に関する情報を含むネットリストを記憶する。もちろん、ネットリストには、配線に関する情報だけでなく、セル及びポートの配置に関する情報を含めても良い。

0032

通信インタフェース17は内部バス18に接続されており、インターネット、LAN、WAN等の外部のネットワークに接続されることにより、外部コンピュータ等とデータ送受信を行うことが可能となっている。

0033

I/Oインタフェース14は、キーボード21、マウス22等の入力装置と接続され、データの入力を受け付ける。ビデオインタフェース15は、CRTディスプレイ液晶ディスプレイ等の表示装置23と接続され、所定の画像を表示する。

0034

図2は、本発明の実施の形態1に係る論理回路設計支援装置1の機能ブロック図である。図2において、論理回路設計支援装置1の配置条件情報取得部201は、セルの配置条件に関する情報を取得する。具体的には、配置対象となるセルについて配置条件情報記憶部131を照会して、配置対象となるセルの種類(例えばAND回路、OR回路等)や、他の階層のセルと接続することが可能なポートの座標値、セルの大きさ(サイズ:矩形であればx×y)等を読み出して取得する。

0035

配置領域情報取得部202は、セルの配置領域に関する情報を取得する。セルの配置領域とは、例えばIC基板の表面において格子状に形成された領域を意味しており、セルの配置先の候補となる。本実施の形態1では、他の階層において、既にセルが配置されている配置領域を新たにセルを配置することができない領域(ブロックアウト領域)として配置領域情報記憶部132に記憶してある。同じ領域に重複してセルが配置されることを防ぐためである。

0036

ネットリスト取得部203は、配線に関する情報を含むネットリストを取得する。図3は、本発明の実施の形態1に係る論理回路設計支援装置1のネットリストの例示図である。図3(a)に示すネットリストは、図3(b)に示す論理回路のセル間の接続状態を示す接続情報部301と、図3(c)に示すセルの配置を示す配置部302とで構成されている。もちろん、1つ目のセルを配置する前は、接続情報部301だけで構成されていることは言うまでもない。

0037

図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)の配置領域に配置されている。

0038

図2に戻って、セル/ポート配置部(配置手段、ポート配置手段)204は、階層ごとに、例えば格子状に形成された配置領域(セルの配置領域)にセルを配置し、他の階層に配置されたセルと接続することが可能なポートを配置する。従来はセルのみを配置していたので、論理回路を階層化する場合、総配線長を最短にするためにすべての階層におけるセルの配置を把握しておく必要があった。しかし、本実施の形態1では、一の階層におけるセルの配置と、ポートの配置とを把握しておけば良い。ポートは、既にセルが配置されている配置領域と新たにセルを配置することが可能な配置領域との境界部分に、面積を有さない仮想物として配置されるので、ポートがセルの配置をさまたげることなく、また、ポートの配置を把握しておくことにより、すべての階層におけるセルの配置を把握することなく、論理回路を設計することができる。

0039

また、他の階層において、既にセルが配置されている配置領域は、新たにセルを配置することができない領域(ブロックアウト領域)として、配置領域情報記憶部132に記憶される。したがって、例えば最上位階層から順次セルを配置していく場合、下位階層になればなるほどブロックアウト領域が多くなり、セルの配置の自由度が低下する。

0040

図4は、本発明の実施の形態1に係る論理回路設計支援装置1のブロックアウト領域の例示図である。図4(a)に示すような2層の論理回路を設計する場合、上位階層の論理設計時には、下位階層の論理回路MAC0、MAC1を、それぞれセルu2、u5として区別して取り扱う。

0041

図4(b)では、下位階層において既にセルが配置されている配置領域(論理回路MAC0と論理回路MAC1とを構成するセルが配置されている配置領域)をブロックアウト領域としてハッチング表示している。上位階層の論理設計時には、該領域に新たなセルを配置することはできない。そして、論理回路MAC0と論理回路MAC1とのそれぞれについて、他の階層のセルと接続することが可能なポートを、ポートP1〜P8としてブロックアウト領域と新たにセルを配置することが可能な配置領域との境界部分に配置する。

0042

図2に戻って、配線決定部205は、セルとセルとの間、及びセルとポートとの間の配線を決定する。なお、配線の組み合わせのうち、総配線長が最短となるような組み合わせを採用する。本実施の形態1では、同じ階層のセルについてはセルとセルとの間を、他の階層のセルについてはセルとポートとの間を、それぞれ接続する。これにより、他の階層におけるセルの配置を把握する必要もなく、従来の単一階層における配線と同様の方法で配線を決定することができる。

0043

ネットリスト生成部206は、配線に関する情報及び配置に関する情報を含むネットリストを生成する。本実施の形態1では、ネットリストは、配線に関する情報及び配置に関する情報が更新される都度生成される。図5は、本発明の実施の形態1に係る論理回路設計支援装置1の論理回路の配線の例示図である。図6は、本発明の実施の形態1に係る論理回路設計支援装置1の最上位階層における配線決定後に生成されたネットリストの例示図である。

0044

図5に示す論理回路は、2つの階層を有しており、図5(a)は上位階層の論理回路図を、図5(b)、図5(c)は、下位階層のセルである論理回路MAC0、論理回路MAC1の論理回路図を、それぞれ示している。論理回路MAC0、MAC1を構成するセルは、図5(d)に示すハッチング部分にそれぞれ配置されている。

0045

図6に示すネットリストには、図3とは異なり、3つの階層の配線に関する情報及び配置に関する情報が含まれている。つまり、最上位階層におけるセル間の接続状態及び1つ下位の階層のポートとの接続状態を示す接続情報部601と、最上位階層におけるセル及びポートの配置を示す配置部602に加えて、2つの下位階層についても階層ごとに接続情報部603、605、配置部604、606が生成されている。

0046

そして、各階層の配置部602、604、606には、配置したポートの座標値も記載されている。例えば最上位階層の配置部602には、それぞれセルu2のポートIN1、IN2の座標値がポート部610に、セルu5のポートIN1の座標値がポート部612に記載されている。

0047

同様に、下位の階層の配置部604では、ポートであることを示すパラメータ「Port」とともに、セルu2のポートIN1、IN2の座標値がポート部611に、配置部606では、セルu5のポートIN1の座標値がポート部613に、それぞれ記載されている。ネットリストに記載されているポートの座標値は、同一のポートについてはすべて同じであることは言うまでもない。

0048

ネットリスト出力部207は、生成したネットリストを出力する。これにより、すべてのセルについてセル間の配線を検証する必要がなく、検証工程に要する時間を短縮することができる。

0049

図7は、本発明の実施の形態1に係る論理回路設計支援装置1のCPU11の処理手順を示すフローチャートである。論理回路設計支援装置1のCPU11は、セルの配置条件に関する情報を取得し(ステップS701)、セルの配置領域に関する情報を取得する(ステップS702)。セルの配置条件に関する情報としては、例えば配置対象となるセルの種類、他の階層のセルと接続することが可能なポートの座標値(セルとの相対位置であって、絶対座標値ではない)、セルの大きさ(サイズ:矩形であればx×y)等を読み出して取得する。セルの配置領域に関する情報には、新たにセルを配置することができない領域(ブロックアウト領域)に関する情報も含む。

0050

CPU11は、配線に関する情報及び配置に関する情報を含むネットリストを取得し(ステップS703)、最上位階層において、例えば格子状に形成された配置領域にセルを配置し、他の階層のセルと接続することが可能なポートを配置する(ステップS704)。CPU11は、最上位階層において、セルとセルとの間の配線を決定する(ステップS705)。なお、配線の組み合わせのうち、総配線長が最短となる組み合わせを採用する。

0051

CPU11は、最上位階層における配線に関する情報及び配置に関する情報を含む新たなネットリストを生成する(ステップS706)。ネットリストは、例えば図6に示すネットリストと同様の構成で生成される。CPU11は、配置領域情報記憶部132に記憶されているセルの配置領域に関する情報を更新する(ステップS707)。具体的には、最上位階層において既にセルを配置した配置領域を、新たにセルを配置することができない領域(ブロックアウト領域)として記憶する。

0052

CPU11は、下位階層が存在するか否かを判断する(ステップS708)。CPU11が、下位階層が存在すると判断した場合(ステップS708:YES)、CPU11は、次に下位の階層を選択し(ステップS709)、最上位階層と同様に選択した階層においてセル及びポートを配置し(ステップS710)、配線を決定する(ステップS711)。本実施の形態1では、同じ階層においてはセルとセルとの間を、他の階層との間ではセルとポートとの間を、それぞれ接続する。これにより、他の階層におけるセルの配置を把握する必要もなく、従来の単一階層における配線と同様の方法で配線を決定することができる。CPU11は、選択した階層における配線に関する情報及び配置に関する情報を含むネットリストを生成して(ステップS712)、配置領域情報記憶部132に記憶されているセルの配置領域に関する情報を更新し(ステップS713)、処理をステップS708へ戻して、さらに下位の階層へと処理を進める。

0053

CPU11が、下位階層が存在しないと判断した場合(ステップS708:NO)、CPU11は、最下位階層の論理設計が終了したと判断し、ネットリストを出力して(ステップS714)、処理を終了する。これにより、すべてのセルについてセル間の配線を検証することができる。

0054

以上のように本実施の形態1によれば、論理設計を簡略化するべく論理回路を階層化して下位階層の論理回路をブラックボックス化した場合であっても、すべての階層におけるセルの配置を把握する必要はなく、一の階層におけるセルの配置と他の階層のセルと接続することが可能なポートの配置とを把握しておくことにより、配線長の総和である総配線長が最短になるよう設計することができるので、物理的な制約によりIC基板のサイズが大きくなることがなく、しかもすべてのセルについてセル間の配線を検証する必要がないので検証工程に要する時間を短縮することができ、比較的短時間で論理回路を設計することが可能となる。

0055

なお、上述した実施例では、最上位階層から順次論理設計を行う場合について説明しているが、特に最上位階層から順次論理設計することに限定されるものではなく、最下位階層から順次論理設計を行っても良いことは言うまでもない。

0056

(実施の形態2)
本発明の実施の形態2に係る論理回路設計支援装置1の構成は、実施の形態1と同様であることから、同一の符号を付することにより詳細な説明は省略する。本実施の形態2では、階層ごとにセル及びポートを配置して配線するプロセスを、それぞれ独立して並列に実行する点で実施の形態1とは相違する。

0057

図8は、本発明の実施の形態2に係る論理回路設計支援装置1の機能ブロック図である。図8において、論理回路設計支援装置1の配置条件情報取得部201、配置領域情報取得部202、ネットリスト取得部203は、実施の形態1と同様であるので、詳細な説明は省略する。

0058

セル/ポート配置部(配置手段、ポート配置手段)801は、階層ごとに、例えば格子状に形成された配置領域にセルを配置し、他の階層に配置されたセルと接続することが可能なポートを配置する。従来はセルのみを配置していたので、論理回路を階層化する場合、総配線長を最短にするためにすべての階層におけるセルの配置を把握しておく必要があった。しかし、実施の形態1と同様、本実施の形態2でも、一の階層におけるセルの配置と、ポートの配置とを把握しておけば良い。ポートは、既にセルが配置されている配置領域と新たにセルを配置することが可能な配置領域との境界部分に、面積を有さない仮想物として配置されるので、ポートがセルの配置をさまたげることなく、また、ポートの配置を把握しておくことにより、すべての階層におけるセルの配置を把握することなく、論理回路を設計することができる。

0059

そして、配線仮決定部802は、セルとセルとの間、及びセルとポートとの間の配線を仮決定する。本実施の形態2では、ブロックアウト領域は不明である。したがって、配線を仮決定した時点で、セルの配置を検証する必要がある。

0060

プロセス確認部803は、階層ごとにセル及びポートを配置して配線するプロセス間でデータ通信し、所定の階層においてセルを配置する配置領域が、新たにセルを配置することが可能な配置領域であるか否かを判断する。具体的には、プロセス間でデータ通信を行い、同一の配置領域にセルを配置するプロセスが存在するか否かにより判断する。

0061

同一の配置領域にセルを配置するプロセスが存在する場合、総配線長が短くなるセルの配置を優先する。具体的には、配線仮決定部802で配線を仮決定した時点で、総配線長を算出しておき、存在を確認したプロセスによる配置を優先した場合の総配線長と比較することにより、セルの配置を変更するか否かを判断する。

0062

配線長判断部804は、仮決定した配線の総配線長と、存在を確認したプロセスによる配置を優先した場合の総配線長とを比較し、いずれが短いかを判断する。存在を確認したプロセスによる配置を優先した場合の総配線長の方が短いと判断した場合、セル/ポート配置部(配置手段、ポート配置手段)801によりセルの配置を変更して、今一度プロセス間通信によりセルの配置を検証する。

0063

仮決定した配線の総配線長の方が短いと判断した場合、配置及び配線を現在の状態で決定し、ネットリスト生成部206で配線に関する情報及び配置に関する情報を含むネットリストを生成して、ネットリスト出力部207で生成されたネットリストを出力する。

0064

図9は、本発明の実施の形態2に係る論理回路設計支援装置1のプロセス間通信によるセルの配置検証の例示図である。図9(a)はプロセス0によるセルの配置を、図9(b)はプロセス2によるセルの配置を、それぞれ示している。

0065

ここで、図9(a)の座標(400、300)に配置されているセルを、座標(300、300)に移動する場合、プロセス0は、すべてのプロセスに対して座標(300、300)に配置するセルを所有しているか否かを確認する。図9(b)に示すように、プロセス2が座標(300、300)に配置するセルを所有しているので、応答する。

0066

座標(300、300)にプロセス0によりセルを配置した場合の総配線長と、プロセス2によりセルを配置した場合の総配線長とを比較する。プロセス2による配置の方が総配線長が短くなる場合、プロセス2はセルの配置変更拒絶する。一方、プロセス0による配置の方が総配線長が短くなる場合、プロセス2は座標(300、300)を明け渡し、プロセス0は座標(400、300)に配置されているセルを座標(300、300)に移動する。

0067

図10は、本発明の実施の形態2に係る論理回路設計支援装置1のCPU11の処理手順を示すフローチャートである。論理回路設計支援装置1のCPU11は、ステップS703までの処理は実施の形態1と同様であることから、詳細な説明は省略する。CPU11は、配線に関する情報及び配置に関する情報を含むネットリストを取得し(ステップS703)、階層ごとに、例えば格子状に形成された配置領域にセルを配置し、他の階層に配置されたセルと接続することが可能なポートを配置する(ステップS1001)。

0068

CPU11は、セルとセルとの間、及びセルとポートとの間の配線を仮決定し(ステップS1002)、同一の配置領域に、セルを配置するプロセスが存在するか否かを判断する(ステップS1003)。具体的には、階層ごとにセル及びポートを配置して配線するプロセス間でプロセス間通信し、同一の座標位置にセルを配置するプロセスからの応答を待つ。

0069

CPU11が、同一の配置領域に、セルを配置するプロセスが存在すると判断した場合(ステップS1003:YES)、CPU11は、仮決定した配線の総配線長が、存在を確認したプロセスによる配置を優先した場合の総配線長と比較して最短であるか否かを判断する(ステップS1004)。CPU11が、同一の配置領域に、セルを配置するプロセスが存在しないと判断した場合(ステップS1003:NO)、又は仮決定した配線の総配線長が最短ではない、すなわち総配線長がさらに短くなるプロセスが存在すると判断した場合(ステップS1004:NO)、CPU11は、セルの配置を変更し、配線を仮決定し(ステップS1005)、配置領域情報記憶部132に記憶されているセルの配置領域に関する情報を更新して(ステップS1006)、処理をステップS1003に戻して上述した処理を繰り返す。

0070

CPU11が、仮決定した配線の総配線長が最短である、すなわち総配線長がさらに短くなるプロセスは存在しないと判断した場合(ステップS1004:YES)、CPU11は、配置及び配線を現在の状態で決定し(ステップS1007)、配線に関する情報及び配置に関する情報を含むネットリストを生成する(ステップS1008)。ネットリストとしては、例えば図6に示すネットリストと同様の構成で生成される。CPU11は、配置領域情報記憶部132に記憶されているセルの配置領域に関する情報を更新して(ステップS1009)、ネットリストを出力する(ステップS1010)。

0071

以上のように本実施の形態2によれば、論理設計を簡略化するべく論理回路を階層化して下位階層の論理回路をブラックボックス化した場合であっても、すべての階層におけるセルの配置を把握する必要はなく、一の階層におけるセルの配置と他の階層のセルと接続することが可能なポートの配置とを把握しておくことにより、配線長の総和である総配線長が最短になるよう設計することができるので、物理的な制約によりIC基板のサイズが大きくなることがなく、しかもすべてのセルについてセル間の配線を検証する必要がないので検証工程に要する時間を短縮することができ、比較的短時間で論理回路を設計することが可能となる。

0072

なお、実施の形態2においては、特に最上位階層から、又は最下位階層からという制約条件を設けていないが、実施の形態1と同様にいずれかから順次論理設計を行っても良いことは言うまでもない。

0073

また、本発明は上記実施例に限定されるものではなく、本発明の趣旨の範囲内であれば多種の変更、改良等が可能である。

0074

1論理回路設計支援装置
11 CPU
12メモリ
13記憶装置
14 I/Oインタフェース
15ビデオインタフェース
16可搬型ディスクドライブ
17通信インタフェース
18内部バス
90可搬型記録媒体
100 コンピュータプログラム

ページトップへ

この技術を出願した法人

この技術を発明した人物

ページトップへ

関連する挑戦したい社会課題

関連する公募課題

ページトップへ

技術視点だけで見ていませんか?

この技術の活用可能性がある分野

分野別動向を把握したい方- 事業化視点で見る -

ページトップへ

おススメ サービス

おススメ astavisionコンテンツ

新着 最近 公開された関連が強い技術

この 技術と関連性が強い人物

関連性が強い人物一覧

この 技術と関連する社会課題

関連する挑戦したい社会課題一覧

この 技術と関連する公募課題

関連する公募課題一覧

astavision 新着記事

サイト情報について

本サービスは、国が公開している情報(公開特許公報、特許整理標準化データ等)を元に構成されています。出典元のデータには一部間違いやノイズがあり、情報の正確さについては保証致しかねます。また一時的に、各データの収録範囲や更新周期によって、一部の情報が正しく表示されないことがございます。当サイトの情報を元にした諸問題、不利益等について当方は何ら責任を負いかねることを予めご承知おきのほど宜しくお願い申し上げます。

主たる情報の出典

特許情報…特許整理標準化データ(XML編)、公開特許公報、特許公報、審決公報、Patent Map Guidance System データ