説明

半導体集積回路の設計方法及び半導体集積回路の設計支援装置

【課題】論理回路の面積縮小化を実現しつつ、設計TATの短縮を可能とする技術を提供する。
【解決手段】複合論理マクロセルを、基本マクロセルに置き換えて面積の総和を抽出し、その面積の総和と複合論理マクロセルの面積とを比較して面積縮小化に有効となる複合論理マクロセルを選択する。その選択された複合論理マクロセルにフラグを設定する。フラグを設定したマクロセルと同等の論理を論理情報から検索する論理構造検索処理を行い、置換対象となる基本マクロセルにフラグを設定する。置換対象のフラグを設定した基本マクロセルを、フラグ設定した複合論理マクロセルに置き換える等価論理置換処理を行う。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、LSI(Large Scale Integration:半導体集積回路)を設計する技術に関する。
【背景技術】
【0002】
情報処理装置に対する処理の高速化や多様化の要求が高まってきている。そのため、情報処理装置に搭載されるLSIに対しても、多機能化や高性能化などの要求が高まってきている。多機能なLSIや高性能なLSIは、大規模なものとなってしまうことがある。LSIの大規模化は、製造コストの増大を引き起こす場合がある。そのため、多機能化や高性能化などの要求を満たしつつ、製造コストの増大を抑制する技術が求められている。
【0003】
製造コストの増大を抑えるために、LSIの大規模化を抑制する技術が知られている。例えば、論理合成ツールを利用するLSIの設計技術の分野において、論理回路における面積縮小化の技術が知られている(例えば、特許文献1〜5参照)。
【0004】
特許文献1には、LSI全体の面積縮小化を図るための技術が開示されている。特許文献1に記載の技術は、論理合成後の論理接続情報を入力として、等価論理抽出置換部により、面積縮小化を行って論理接続情報を出力している。
【0005】
図1は、特許文献1に記載の等価論理抽出置換装置の動作手順を示すフローチャートである。まず、等価論理抽出置換部105は、論理合成部(図示されず)からの論理合成によって得られた論理接続情報111を受け取る。その論理接続情報は、読み込まれた後メモリに格納される(ステップST1)。
【0006】
次に、入力仕様情報112としての“マクロセル名”,“抽出する論理パターン”、“置き換えを行う論理パターン”および“新規マクロセル名”を指定し(ステップST2)、入力された論理接続情報111に対して、2つのマクロセルの組み合わせを網羅的に抽出し、全ての組み合わせおよび使用されている数を抽出する(ステップST3)。この結果、設計者は、どのようなマクロセルの組み合わせの使用頻度が高い傾向にあるかを把握することができる。
【0007】
特許文献1に記載の技術において、ステップST2で“マクロセル名”が指定された場合は、指定されたマクロセルを含む2つのマクロセルで構成される論理パターンおよびその数を抽出するとともに、“抽出する論理パターン”が指定された場合は、指定された論理パターンの数を抽出し、等価論理パターン情報113として表示し、さらに、入力仕様情報112において、“置き換えを行う論理パターンおよび新規マクロセル名”が指定された場合、指定された論理パターンおよび数を抽出する(ステップST3)。ここでの“論理パターン”とは、2つのマクロセルの組み合わせである。
【0008】
次に、ステップST3で抽出された等価論理パターン情報を参照しながら、該当する論理パターンを新規マクロセルに置き換えを行い、論理接続情報111を更新する(ステップST4)。そして、マクロセルライブラリ114より置換前の論理接続情報の遅延・面積の算出および、新規マクロセルに置き換えた論理接続情報111の遅延・面積の見積りを行い、置換前後の面積および遅延の情報を、遅延面積見積り情報115として出力し(ステップST5)、この遅延面積見積り情報115に基づいて新規マクロセルを作成するために必要な新規マクロセル情報116を出力する(ステップST6)。最後に、新規マクロセル情報116を論理接続情報117に書き込み、出力する(ステップST7)。
【0009】
また、特許文献2には、低スタンバイ電力、高速動作、および低消費電力を満足する回路を容易に設計することができるようにするための技術が開示されている。特許文献2に記載の技術では、条件設定部には、回路の設計情報が入力されている。また、記憶部には、セルライブラリが格納されている。セルライブラリには、閾値電圧Vth、セルの幅、およびそれぞれの端子の位置と機能が同じで、セルの高さを変えることにより駆動能力が異なる2種類のセルが記憶されている。レイアウト部によるセルの配置およびセル間の配線の後、動作速度算出部は、回路の動作速度を算出する。置換部は、動作速度を満足しないセルがある場合には、記憶部に記憶された他の動作速度の速いセルと置き換えて回路を出力する。
【0010】
また、特許文献3には、マクロセルの配置や配線がタイミング解析の結果にもたらす影響を低減させた上で、配置配線後の回路がタイミング条件を満たすか否かを的確に判定できる技術が開示されている。その特許文献3に記載の技術では、供給されるネットリストに含まれる複数のセルの情報の中からマクロセルの情報が抽出部において抽出される。この抽出されたマクロセルの情報を、これと同等の機能を有するとともに面積が小さいセルの情報に置換したセルライブラリが、置換部において作成される。次いで、作成されたセルライブラリとネットリストに基づいて、セルの配置設計および配線設計が行なわれる。この配置配線処理がなされた回路情報に基づいて、回路中の各パスにおける伝播遅延時間が解析される。そして、解析された各パスの伝播遅延時間が所定の基準を満たしているかが判定される。
【0011】
また、特許文献4には、回路接続情報から論理情報を抽出し、この論理情報に最小の面積を有するブロックをマッピングすることにより、半導体集積回路の面積を縮小することが可能な半導体集積回路の設計方法に関する技術が開示されている。その特許文献4に記載の技術では、半導体集積回路に含まれる順序回路の出力端子を起点として、順序回路毎の論理グループを生成する。また、論理パス毎の論理情報を抽出する。そして、論理パス毎の論理情報に対応する面積情報付き論理情報を抽出し、この中から最小の面積を有するブロックを選択する。そのうえで、最小の面積を有するブロックを用いて回路接続情報を生成し、この回路接続情報を用いて自動レイアウトを行っている。
【0012】
また、特許文献5には、HDL記述を対象とした最適化処理において、回路の処理規模調整及び特定部分に着目した最適化処理調整の作業を自動化するための技術がかいじされている。その特許文献5に記載の技術では、部分回路抽出部が、最適化対象となる部分回路を、階層を持たない構造として抽出する。そして、属性情報を付加した後に回路構造変更部でセルの変換を実施する。このとき変換の対象となったセルがそれぞれ異なる階層に所属する場合は、各セルに所属が複数階層であることを示す新たな属性情報を付加する。部分回路復元部は、最適化された部分回路を前記新たに付加された属性情報に基づいて全体回路に戻すようにしている。
【先行技術文献】
【特許文献】
【0013】
【特許文献1】特開平10−232888号公報
【特許文献2】特開2004−193260号公報
【特許文献3】特開2003−330985号公報
【特許文献4】特開2003−076729号公報
【特許文献5】特開平10−320442号公報
【発明の概要】
【発明が解決しようとする課題】
【0014】
例えば、特許文献1に記載されているような技術では、論理接続情報のマクロセルにおいて、2つのマクロセルの組み合わせを網羅的に抽出し、全ての組み合わせおよび使用されている数を抽出している。そのため、2つのマクロセルの組み合わせを1つのマクロセルに置き換える事で論理回路の面積を縮小化することが可能である。しかしながら、特許文献1に記載の技術では、3つ以上のマクロセルの組み合わせ部分の面積縮小化を行う際は、2つのマクロセルの組み合わせを網羅的に抽出する処理を複数回実施する必要がある。そのため、設計TATが増大してしまう。近年のLSIの設計においては、回路の大規模化により設計TATが長くなっており、設計TAT短縮の要求(必要性)が高まってきている。本発明が解決しようとする課題は、論理回路の面積縮小化を実現しつつ、設計TATの短縮を可能とする技術を提供することにある。
【課題を解決するための手段】
【0015】
上記の課題を解決するために、2つ以上の論理構造を持つ複合論理マクロセルの論理情報(論理式)を、基本マクロセルの回路接続情報に置き換えて基本マクロセルの面積の総和を抽出し、基本マクロセルの面積の総和と複合論理マクロセルの面積とを比較して面積縮小化に有効となる複合論理マクロセルを選択する任意セル選択(等価論理抽出)処理を行う。そして、任意セル選択処理で選択された複合論理マクロセルにフラグを設定する任意セル選択フラグ設定出力処理を行う。
任意セル選択フラグ設定出力処理にてフラグを設定したマクロセルと同等の論理を論理情報から検索する論理構造検索処理を行う。論理情報の中から置換対象となる基本マクロセルにフラグを設定する置換対象セルフラグ設定出力処理を行う。置換対象セルフラグ設定出力処理にてフラグ設定した基本マクロセルを、任意セル選択フラグ設定出力処理でフラグ設定した複合論理マクロセルに置き換える等価論理置換処理を行う。
【発明の効果】
【0016】
本願において開示される発明のうち、代表的なものによって得られる効果を簡単に説明すれば、論理回路の面積縮小化を実現しつつ、設計TATの短縮を可能とする技術を提供することが可能となるという効果がある。
具体的には、3つ以上のマクロセルの組み合わせ部分の等価論理置換が可能になった事で、一度の処理で論理回路の面積縮小化が可能となり設計TATが短縮できるという効果がある。
【図面の簡単な説明】
【0017】
【図1】図1は、特許文献1に記載の等価論理抽出置換装置の動作手順を示すフローチャートである。
【図2】図2は、本実施形態の半導体装置設計支援システム85の構成を例示するシステム構成図である。
【図3】図3は、コンピュータ装置83の構成を例示するブロック図である。
【図4】図4は、任意セル選択ツール34の構成を例示するブロック図である。
【図5】図5は、ファイル格納部35の構成を例示するブロック図である。
【図6】図6は、本実施形態の任意セル選択部12の構成を例示するブロック図である。
【図7A】図7Aは、任意セル選択ツール34の全体的な動作を例示するフローチャートである。
【図7B】図7Bは、任意セル選択ツール34の全体的な動作を例示するフローチャートである。
【図8】図8は、選択情報2の構成を例示するリストである。
【図9A】図9Aは、任意セル選択部12の動作を例示するフローチャートである。
【図9B】図9Bは、任意セル選択部12の動作を例示するフローチャートである。
【図10】図10は、第2論理情報52の構成を例示するリストである。
【図11】図11は、面積情報53の構成を例示するリストである。
【図12】図12は、論理構造情報54の構成を例示するリストである。
【図13】図13は、本実施形態の判定結果情報4の構成を例示するリストである。
【図14A】図14Aは、任意セル選択部12の動作を例示するフローチャートである。
【図14B】図14Bは、任意セル選択部12の動作を例示するフローチャートである。
【図15】図15は、フラグ付マクロセルライブラリ5の構成を例示するリストである。
【図16】図16は、フラグ付論理接続情報7の構成を例示するリストである。
【図17】図17は、置換後の論理接続情報の構成を例示するリストである。
【図18】図18は、置換前の論理回路の回路構成を例示する回路図である。
【図19】図19は、置換後の論理回路の構成を例示する回路図である。
【図20】図20は、第2実施形態の任意セル選択部12の構成を例示するブロック図である。
【図21A】図21Aは、第2実施形態の任意セル選択部12の動作を例示するフローチャートである。
【図21B】図21Bは、第2実施形態の任意セル選択部12の動作を例示するフローチャートである。
【図21C】図21Cは、第2実施形態の任意セル選択部12の動作を例示するフローチャートである。
【図22】図22は、順序セル論理情報の構成を例示するリストである。
【図23】図23は、論理構造情報68の構成を例示するリストである。
【図24】図24は、第3実施形態の任意セル選択部12の構成を例示するブロック図である。
【図25A】図25Aは、第3実施形態の任意セル選択部12の動作を例示するフローチャートである。
【図25B】図25Bは、第3実施形態の任意セル選択部12の動作を例示するフローチャートである。
【図25C】図25Cは、第3実施形態の任意セル選択部12の動作を例示するフローチャートである。
【図25D】図25Dは、第3実施形態の任意セル選択部12の動作を例示するフローチャートである。
【図26】図26は、多ビットセル論理情報の構成を例示するリストである。
【図27】図27は、論理接続情報形式として出力される論理構造情報78の構成を例示するリストである。
【発明を実施するための形態】
【0018】
[第1実施形態]
以下、本発明の実施の形態を図面に基づいて説明する。なお、実施の形態を説明するための図において、同一の部材には原則として同一の符号を付し、その繰り返しの説明は省略する。
【0019】
図2は、本実施形態の半導体装置設計支援システム85の構成を例示するシステム構成図である。半導体装置設計支援システム85は、サーバ80と記録媒体81とネットワーク82とコンピュータ装置83を備えている。また、コンピュータ装置83は記憶装置を備えている。
【0020】
記録媒体81は、任意セル選択置換プログラムを格納する。その記録媒体81は、サーバ80に保持されている。サーバ80は、インターネットなどのネットワーク82を介して、エンジニアリングワークステーション等のコンピュータ装置83に接続される。記録媒体81に格納されている任意セル選択置換プログラムは、ネットワーク82を介してコンピュータ装置83にダウンロードされる。
【0021】
ダウンロードされた任意セル選択置換プログラムは、コンピュータ装置83のローカルなハードディスク、あるいは、メモリなどの記憶装置にストアされる。コンピュータ装置83は、任意セル選択置換プログラムに示される手順にしたがって情報処理を行う。具体的には、コンピュータ装置83は、記憶装置に格納されているマクロセルライブラリ、論理接続情報を元に、コンピュータ装置83に供給された選択情報及び制約条件にしたがって、実行処理を行う。
【0022】
コンピュータ装置83は、任意セル選択置換プログラムに示される手順にしたがって、中間データとなる論理構造/面積値判定結果情報と、置換情報付マクロセルライブラリと、置換情報付論理接続情報とを生成する。生成された置換情報付論理接続情報は、コンピュータ装置83の記憶装置に保持される。なお、本実施形態の半導体装置設計支援システム85において、コンピュータ装置83に外部記憶装置を接続し、その外部記憶装置に各ファイルを格納する構成であってもよい。
【0023】
図3は、コンピュータ装置83の構成を例示するブロック図である。図3に示されているように、コンピュータ装置83は、コンピュータ装置本体86と、入力装置87と、出力装置88とを備えている。
【0024】
コンピュータ装置本体86は、コンピュータプログラムに示される手順に従って情報処理を高速に行う。本実施形態のコンピュータ装置本体86は、任意セル選択ツール34(任意セル選択置換プログラム)に示される手順に従って動作することで、任意セルを選択し置換するためのツールとしての機能を提供する。コンピュータ装置本体86は、入力、記憶、演算、制御および出力の機能を備えている。入力装置87は、マウスやキーボードなどに代表されるマンマシンインターフェースである。入力装置87は、ユーザの操作に応答して、コンピュータ装置本体86へデータを入力する。出力装置88は、液晶ディスプレイやプリンターなどに代表されるマンマシンインターフェースである。出力装置88は、コンピュータ装置本体86の処理結果を、ユーザに認識できる形式で出力する。上述のコンピュータ装置本体86は、演算処理部31と、情報記憶部32とを備え、それらは、バス33を介して接続されている。
【0025】
演算処理部31は、コンピュータ装置本体86に備えられた各種装置の制御やデータ処理を実行する。演算処理部31は、コンピュータ装置本体86が入力装置87を介して受け取ったデータを解釈して演算し、その演算結果を出力装置88などで出力する。情報記憶部32は、RAMやハードディスクなどに代表されるデータを記憶するための装置である。コンピュータ装置本体86は、外部ネットワークを介して他の機器とデータ通信するための通信処理装置を備えていてもよい。
【0026】
情報記憶部32は、任意セル選択ツール34(任意セル選択置換プログラム)と、ファイル格納部35とを備えている。その任意セル選択ツール34は、半導体集積回路の設計を、コンピュータシステムを用いて自動的に行うためのソフトウェアである。その任意セル選択ツール34に示される手順に従ってコンピュータ装置本体86が動作する。ファイル格納部35は、半導体集積回路を設計するために必要な情報を保持している。
【0027】
図3に示されているように、その任意セル選択ツール34は、半導体集積回路の設計の第1段階を実行するための手順を示す第1段階実行部36と、第2段階を実行するための手順を示す第2段階実行部37とを含んでいる。
【0028】
図4は、任意セル選択ツール34の構成を例示するブロック図である。任意セル選択ツール34の第1段階実行部36は、選択仕様入力部11と任意セル選択部12と任意セル選択フラグ設定部13とを含んでいる。また、任意セル選択ツール34の第2段階実行部37は、論理接続情報入力部14と、判定結果情報入力部15と、論理構造検索部16と、置換対象セルフラグ設定部17と、置換情報入力部18と、等価論理置換部19と、論理接続情報生成部20とを含んでいる。
【0029】
図5は、ファイル格納部35の構成を例示するブロック図である。ファイル格納部35は、選択情報2と、マクロセルライブラリ3と、判定結果情報4と、フラグ付マクロセルライブラリ5と、論理接続情報6と、フラグ付論理接続情報7と、制約条件8と、置換後論理接続情報9とを保持している。本実施形態で述べるマクロセルとは、インバータ、AND、ORといった単純な論理のセルである。
【0030】
本実施形態の任意セル選択ツール34において、選択仕様入力部11は、選択仕様の入力処理を実行する。選択仕様入力部11は、論理回路の面積縮小化に有効となるマクロセル(以降、任意セルと称す)の選択情報2を、任意セル選択ツール34の入力として受け取る。また、任意セル選択部12は、等価論理の抽出に対応する処理を実行する。具体的には、任意セル選択部12は、マクロセルライブラリ3を受け取り、論理情報の抽出と、面積情報の抽出と、論理構造/面積値の判定と、最小論理構造の検索と、判定結果情報の抽出を行う。その任意セル選択部12は、上記の複数の処理を行うことで、判定結果情報4を生成する。任意セル選択フラグ設定部13は、フラグ付マクロセルライブラリ5を生成する。以上のように、選択仕様入力部11、任意セル選択部12および任意セル選択フラグ設定部13によって、任意セル選択ツール34の第1段階実行部36による第1段階の処理が行われる。
【0031】
論理接続情報入力部14は、論理回路の論理接続情報6を任意セル選択ツール34の入力として受け取る。判定結果情報入力部15は、第1段階の処理で生成された、判定結果情報4を任意セル選択ツール34の入力として受け取る。論理構造検索部16は、判定結果情報4の論理構造により、論理接続情報から該当する論理接続部の検索を行う。置換対象セルフラグ設定部17は、論理構造の検索処理により、該当した論理接続部をフラグ付論理接続情報7として出力する。
【0032】
置換情報入力部18は、フラグ付マクロセルライブラリ5とフラグ付論理接続情報7とを任意セル選択ツール34の入力として受け取る。等価論理置換部19は、遅延、タイミング、パワーなどの制約条件(論理合成に利用する最適化条件)を示す制約条件8を受け取り、任意セルフラグ情報と置換対象セルフラグ情報が一致する任意セルに置換する処理を実行する。論理接続情報生成部20は、最終的に面積縮小化が行われた論理回路の置換後論理接続情報9を生成する。以上のように、論理接続情報入力部14〜論理接続情報生成部20によって、任意セル選択ツール34の第2段階実行部37による第2段階の処理が行われる。
【0033】
図6は、本実施形態の任意セル選択部12の構成を例示するブロック図である。本実施形態の任意セル選択部12は、マクロセルライブラリ入力部38と、基本マクロセル論理式抽出部39と、複合論理マクロセル論理式抽出部40と、論理情報入力部41と、面積値抽出部42と、論理構造情報抽出部43と、面積情報入力部44と、論理構造情報入力部45と、論理構造/面積値判定部46と、最小論理構造検索部47と、判定結果情報抽出部48と、任意選択マクロセル論理式抽出部49とを備えている。
【0034】
マクロセルライブラリ入力部38は、論理合成ツールに利用されるテクノロジ情報が定義されたマクロセルライブラリ3を任意セル選択部12の入力として受け取る。
【0035】
基本マクロセル論理式抽出部39は、マクロセルライブラリ3に定義されている基本マクロセル(INVERTER、AND、NAND、OR、NOR、XOR、及びこれらの入力端子の反転論理をもつマクロセル、但しBUFFERセルは除く)の論理定義情報(論理式)を、第1論理情報51として抽出する。抽出された第1論理情報51は、ファイル格納部35に格納される。
【0036】
複合論理マクロセル論理式抽出部40は、基本マクロセルを除くマクロセル(複合論理マクロセル)の論理定義情報(論理式)を、先の第1論理情報51に追加した、第2論理情報52として抽出する。抽出された第2論理情報52は、ファイル格納部35に格納される。
【0037】
論理情報入力部41は、抽出された第2論理情報52を任意セル選択部12の入力として受け取る。
【0038】
面積値抽出部42は、第2論理情報52に定義されている基本マクロセル、及び、複合論理マクロセルの面積値情報を面積情報53として抽出する。抽出された面積情報53は、ファイル格納部35に格納される。
【0039】
論理構造情報抽出部43は、第2論理情報52で定義された複合論理マクロセルの論理式に基本マクロセルの論理式を当てはめて、論理構造情報54として抽出する。抽出された論理構造情報54は、ファイル格納部35に格納される。論理構造情報54には、第2論理情報52の複合論理マクロセルの論理式に対し、基本マクロセルの論理式で構成可能な論理の組み合わせ分が全て抽出されている
【0040】
面積情報入力部44は、面積情報53を任意セル選択部12の入力として受けとる。論理構造情報入力部45は、論理構造情報54を任意セル選択部12の入力として受けとる。
【0041】
論理構造/面積値判定部46は、複合論理マクロセルの面積値を面積情報53から取得する。また、基本マクロセルの面積値を面積情報53から取得し、複合論理マクロセルの論理を構成する論理を持つ基本マクロセルの面積値の総和を求める。その基本マクロセルの面積値の総和と、複合論理マクロセルの面積値との比較を行い、どちらが大きいかの判定を実行する。複合論理マクロセルの面積値の方が小さい場合は、このマクロセル名称を維持する。
【0042】
最小論理構造検索部47は、面積最小値と判定された複合論理マクロセルに対し、更に複合論理マクロセル同士で論理構造が最小となる複合論理マクロセルが含まれていないか検索を行う。
【0043】
判定結果情報抽出部48は、最終的に最小面積となる論理構造の複合論理マクロセルを、判定結果情報4として抽出する。抽出された判定結果情報4は、ファイル格納部35に格納される。
【0044】
任意選択マクロセル論理式抽出部49は、任意セル名称に該当する複合論理マクロセルのみ抽出し、第2論理情報52に保存する。
【0045】
図7A、図7Bは、本実施形態の半導体装置設計支援システム85における、任意セル選択ツール34の全体的な動作を例示するフローチャートである。任意セル選択ツール34の動作の第1段階では、ステップS101において、選択仕様の入力処理を実行する。選択仕様入力部11は、論理回路の面積縮小化に有効となるマクロセル(以降、任意セルと称す)の選択情報2を、任意セル選択ツール34の入力として受け取る。
【0046】
図8は、選択情報2の構成を例示するリストである。本実施形態の任意セル選択ツール34において、任意セルの選択を実行する場合、選択情報2に基づいて、
1)任意セルの自動選択
2)任意セルの任意選択
を切り替えることが可能である。
【0047】
ステップS101では、選択仕様入力部11において、任意セルの選択方法が、
1)任意セルの自動選択
2)任意セルの任意選択
の何れかであるかを認識する。図8に示されているように、選択情報2は、
AUTO:true | false
の選択を行うスイッチ設定を有している。trueに設定された場合は、後述する図9A、図9Bに例示される動作フローにしたがって面積縮小化に有効となる任意セルの判定結果情報4が出力される。
【0048】
また、falseに設定された場合で、かつ、CellName:に任意セルの任意選択対象のマクロセル名称が指定された場合は、図10に例示される動作フローにしたがって、任意選択されたマクロセルに関する判定結果情報4が出力される。尚、falseに設定された場合でかつ、CellName:に任意セルの任意選択対象のマクロセル名称が指定されない場合は、任意セルの設定が無い事を表示し、処理を終了させる。
【0049】
図7Aに戻り、ステップS102において、任意セル選択部12は、任意セル選択(等価論理抽出)処理を実行する。任意セル選択部12は、マクロセルライブラリ3を任意セル選択ツール34の入力として受け取る。任意セル選択部12は、マクロセルライブラリ3基づいて、論理情報の抽出と、面積情報の抽出と、論理構造/面積値の判定と、最小論理構造の検索と、判定結果情報の抽出とを行う。任意セル選択部12は、上記の処理を行うことで、判定結果情報4を生成する。
【0050】
ステップS103において、任意セル選択フラグ設定部13は、フラグ付マクロセルライブラリ5を生成する。フラグ付マクロセルライブラリ5を生成した後、処理は第2段階に移行する。
【0051】
図7Bに示されるように、任意セル選択ツール34の動作の第2段階では、ステップS104において、論理接続情報の入力処理を実行する。このとき、論理接続情報入力部14は、論理回路の論理接続情報6を、任意セル選択ツール34の入力として受け取る。
【0052】
ステップS105において、判定結果情報入力部15は、第1段階の処理によって生成された判定結果情報4を、任意セル選択ツール34の入力として受け取る。
【0053】
ステップS106において、論理構造検索部16は、判定結果情報4の論理構造により論理接続情報から該当する論理接続部の検索を行う。ステップS107において、置換対象セルフラグ設定部17は、論理構造の検索により該当した論理接続部を、フラグ付論理接続情報7として出力する。
【0054】
ステップS108において、置換情報入力部18は、フラグ付マクロセルライブラリ5とフラグ付論理接続情報7とを任意セル選択ツール34の入力として受け取る。ステップS109において、等価論理置換部19は、遅延、タイミング、パワーなど制約条件(論理合成に利用する最適化条件)である制約条件8に基づいて、フラグ付マクロセルライブラリ5の任意セルフラグ情報と、フラグ付論理接続情報7の置換対象セルフラグ情報が一致する任意セルに、置換処理を実行する。ステップS110において、論理接続情報生成部20により、最終的に面積縮小化が行われた論理回路の判定結果情報4が出力される。
【0055】
ここで、上述のステップS102における任意セル選択部12の動作の詳細について説明する。図9A、図9Bは、ステップS101で、AUTO:trueが選択された場合の任意セル選択部12の動作を例示するフローチャートである。
【0056】
ステップS201において、マクロセルライブラリ入力部38は、論理合成ツールに利用されるテクノロジ情報が定義されたマクロセルライブラリ3を、任意セル選択部12の入力として受け取る。
【0057】
ステップS202において、基本マクロセル論理式抽出部39は、マクロセルライブラリ3に定義されている基本マクロセルの論理定義情報(論理式)を、第1論理情報51として抽出する。ここで、その基本マクロセルとは、BUFFERセルを除く、INVERTER、AND、NAND、OR、NOR、XOR、及びこれらの入力端子の反転論理をもつマクロセルであるものとする。
【0058】
ステップS203において、複合論理マクロセル論理式抽出部40は、基本マクロセルを除くマクロセル(複合論理マクロセル)の論理定義情報(論理式)を、先の第1論理情報51に追加して第2論理情報52とし、その第2論理情報52を抽出する。
【0059】
図10は、その第2論理情報52の構成を例示するリストである。基本マクロセルの論理式は、
Base cell(…){ }
で示されたグループ内の、
function
という文字列で定義されている。また、複合論理マクロセルの論理式は、
Macro cell(…){ }
で示されたグループ内の、
function
という文字列で定義されている。
【0060】
図9Aに戻り、ステップS204において、論理情報入力部41は、抽出された第2論理情報52を任意セル選択部12の入力として受けとる。
【0061】
ステップS205において、面積値抽出部42は、第2論理情報52の、
Base cell(…){ }
で示された基本マクロセル、及び、
Macro cell(…){ }
で示された複合論理マクロセルを特定する。そして、マクロセルライブラリ3に定義されている基本マクロセルに対応する面積値情報と、マクロセルライブラリ3に定義されている複合論理マクロセルに対応する面積値情報とを、面積情報53として抽出する。
【0062】
図11は、面積情報53の構成を例示するリストである。図11を参照すると、基本マクロセルの面積値は、
Base cell(…){ }
で示されたグループの、
area
という文字列で定義されている。同様に、複合論理マクロセルの面積値は、
Macro cell(…){ }
で示されたグループの、
area
という文字列で定義されている。
【0063】
図9Aに戻り、ステップS206において、論理構造情報抽出部43は、第2論理情報52の
Macro cell(…){ }
で示されたグループの、
function
という文字列で定義された複合論理マクロセルの論理式に、
Base cell(…){ }
で示されたグループの、
function
という文字列で定義された基本マクロセルの論理式を当てはめる。これによって、基本マクロセルを用いて論理構造化を行った論理構造情報54を抽出する。このとき、第2論理情報52に定義された複合論理マクロセルの論理式に対し、基本マクロセルの論理式で構成可能な論理組み合わせ分を全て抽出する。
【0064】
ここで、上述の図10、図11に示されているMUX2Lの論理式を例に説明する。この場合、AND演算子*からAND2Lが論理組み合わせ分として抽出される。また、OR演算子+からOR2Lが論理組み合わせ分として抽出される。また、反転演算子!からINVLが論理組み合わせ分として抽出される。
【0065】
図12は、論理構造情報54の構成を例示するリストである。図12の論理構造情報54は、MUX2L、及び、MUX2Hの複合論理マクロセルを構成する論理の組み合わせ分を抽出した論理構造情報を例示している。
【0066】
図12を参照すると、その論理構造情報54の1行目、
MUX2L=
及び、6行目、
MUX2H=
は、第2論理情報52の
Macro cell(MUX2L)
及び
Macro cell(MUX2H)
に定義されている複合論理マクロセル名称を指している。
【0067】
また、2行目及び7行目、
INVL(.A(S),.X(NET1))
は、第2論理情報52の
Base cell(INVL){ }
グループ内で定義されている、論理式
pin(X){function:!(A)}
を論理接続情報で表現したものである。
【0068】
また、3行目及び8行目の、
AND2L(.A(D0),.B(NET1),.X(NET2))
4行目及び9行目の、
AND2L(.A(S),.B(D1),.X(NET3))
は、第2論理情報52の
Base cell(AND2L){ }
グループ内で定義されている、論理式
pin(X){function:(A*B)}
を論理接続情報で表現したものである。
【0069】
また、5行目及び10行目、
OR2L(.A(NET2),.B(NET3),.X(X))
は、第2論理情報52の
Base cell(OR2L){ }
グループ内で定義されている、論理式
pin(X){function:(A+B)}
を論理接続情報で表現したものである。
【0070】
図9Bを参照すると、ステップS207において、面積情報入力部44は、抽出された面積情報53を任意セル選択部12の入力として受け取る。ステップS208において、論理構造情報入力部45は、論理構造情報54を任意セル選択部12の入力として受け取る。
【0071】
ステップS209において、論理構造/面積値判定部46は、複合論理マクロセルの面積値を、入力された面積情報53から取得する。また、基本マクロセルの面積値を、その面積情報53から取得する。そして、複合論理マクロセルの論理を構成する基本マクロセルの面積値の総和を求める。このとき、論理構造/面積値判定部46は、求めた基本マクロセルの面積値の総和と、複合論理マクロセルの面積値とを比較する。その比較の結果に基づいて、どちらの面積が大きいかを判定する。論理構造/面積値判定部46は、複合論理マクロセルの面積値の方が、求めた基本マクロセルの面積値の総和よりも小さい場合は、このマクロセル名称を保持する。
【0072】
ステップS210において、最小論理構造検索部47は、面積最小値と判定された複合論理マクロセルに対し、更に複合論理マクロセル同士で論理構造が最小となる複合論理マクロセルが含まれているか否かの検索を実行する。ステップS211において、判定結果情報抽出部48は、最終的に最小面積となる論理構造の複合論理マクロセルを、判定結果情報4として抽出する。
【0073】
図13は、本実施形態の判定結果情報4の構成を例示するリストである。図13を参照すると、面積値の判定結果により、複合論理マクロセルの面積値が小さい複合論理マクロセル名称は、
Macro cell(MUX2L)
で定義されている。また、その面積値は、
area:4
として定義されている。複合論理マクロセルの論理を構成する基本マクロセルの情報は、
Base cell 1
で論理接続情報として定義されている。また、基本マクロセルの面積値の和は、
area:7
として定義されている。このように、基本マクロセルを使用した論理構造10が定義される。
【0074】
また、MUX2Lの複合論理マクロセルの論理を構成する他の組み合わせが存在する場合は、
Base cell 1…N(1から昇順でNまで)
として、論理接続情報で定義される。また、
Base cell 1…N
のそれぞれの面積値の和は、
Base cell 1…N
のそれぞれのareaに定義される。
【0075】
以上が、ステップS101において、AUTO:trueが選択された場合の任意セル選択部12の動作フローの説明である。以下に、ステップS101において、AUTO:falseが選択された場合の任意セル選択部12の動作について説明を行う。
【0076】
図14A、図14Bは、AUTO:falseが選択された場合の任意セル選択部12の動作を例示するフローチャートである。ステップS201、ステップS202の動作は、AUTO:trueが選択された時の動作と同様である。図14AのステップS212において、任意選択マクロセル論理式抽出部49は、任意セルを選択するための選択情報2を参照する。このとき任意選択マクロセル論理式抽出部49は、CellName:に指定された任意セル名称であるMUX2L、MUX2Hに該当する複合論理マクロセルのみを抽出する。任意選択マクロセル論理式抽出部49は、抽出した複合論理マクロセルを示す情報を、第2論理情報52に保持する。以降、ステップS204〜ステップS211までは、AUTO:trueが選択された時と同様に動作する。
【0077】
以下に、本実施形態の任意セル選択フラグ設定部13の動作について詳細に説明する。任意セル選択フラグ設定部13は、上述のステップS103において、任意セル選択フラグの設定を出力する処理を行う。任意セル選択フラグ設定部13は、判定結果情報4の
Macro cell( )
で示されたグループに定義された複合論理マクロセル名称に対して、マクロセルライブラリ3の
cell( )
で示されたグループに該当する複合論理マクロセルを特定する。そして、特定した複合論理マクロセルに、
use_it:true
で示されるフラグを設定する。任意セル選択フラグ設定部13は、
use_it:true
で示されるフラグを有するマクロセルライブラリ3を、フラグ付マクロセルライブラリ5として出力する。
【0078】
図15は、フラグ付マクロセルライブラリ5の構成を例示するリストである。図15に示されているように、フラグ付マクロセルライブラリ5は、一般的に論理合成ツールで利用されるマクロセルライブラリ3に対して、
cell( )
のグループ内のセル情報定義に、任意セルのフラグ定義を備えている。
【0079】
本実施形態の任意セル選択ツール34は、第1段階において、上述のような動作を行う。次に、任意セル選択ツール34の動作の第2段階について説明を行う。上述の図7AにおけるステップS104において、論理接続情報入力部14は、論理合成結果または作成済みの論理接続情報6を、任意セル選択ツール34の入力として受け取る。また、ステップS105において、判定結果情報入力部15は、第1段階で生成された判定結果情報4を任意セル選択ツール34の入力として受け取る。その判定結果情報4には、面積縮小化に有効となる任意セルに関する情報を、論理構造/面積値判定結果情報として保持している。
【0080】
ステップS106において、論理構造検索部16は、判定結果情報4に記述される論理構造10に該当する論理接続部を、論理接続情報6から検索する。
【0081】
ステップS107において、置換対象セルフラグ設定部17は、検索によって得られた論理接続部に対して、
//touch_it to (任意セル名称)
で示されるフラグを設定する。置換対象セルフラグ設定部17はそのフラグを有するフラグ付論理接続情報7を生成する。生成されたフラグ付論理接続情報7は、ファイル格納部35に保存される。
【0082】
図16は、フラグ付論理接続情報7の構成を例示するリストである。図16を参照すると、フラグ付論理接続情報7には、置換対象となる論理接続行に、
//touch_it to MUX2L,,,
で示されるフラグが設定されている。その“to MUX2L”とは、図13に例示されている判定結果情報4の
Macro cell(MUX2L)
の複合論理マクロセル名称である。なお、置換対象セルとなる複合論理マクロセルが複数存在することもある。そのため、置換対象セルが複数存在した場合は、”,”(カンマ)で区切って複数の複合論理マクロセルを指定することも可能である。
【0083】
上述の図7BにおけるステップS108において、置換情報入力部18は、フラグ付論理接続情報7と、上述の第1段階で生成されたフラグ付マクロセルライブラリ5とを任意セル選択ツール34の入力として受け取る。置換情報入力部18は、フラグ付論理接続情報7の
//touch_it to (任意セル名称)
の複合論理マクロセル名称と、フラグ付マクロセルライブラリ5の
use_it:true
で示されるフラグが付加された複合論理マクロセル名称とが一致するか否かの判断を実行する。その判断の結果、両者が一致することが認識された場合、置換対象セルが、任意セルフラグ付マクロセルライブラリ5に存在することが確認されたことになる。
【0084】
ステップS109において、等価論理置換部19は、制約条件8を任意セル選択ツール34の入力として受け取る。ここで、制約条件とは、論理合成ツールに利用する遅延・タイミングの制約条件が示されたファイルである。本実施形態において、置換対象セルのフラグが付属しているフラグ付論理接続情報7の該当セルの名称が、任意セルのフラグが付属しているフラグ付マクロセルライブラリ5から、この制約条件8を考慮した上で選択置換される。それによって、遅延・タイミングを満たした面積最小化マクロセルへの一括置換が可能となる。その後、ステップS110において、論理接続情報生成部20により、置換後論理接続情報9が出力される。出力された置換後論理接続情報9は、ファイル格納部35に保存される。
【0085】
図17は、置換後の論理接続情報の構成を例示するリストである。上述の図16に例示したフラグ付論理接続情報7には、置換対象フラグが設定されていた。図17を参照すると、置換後論理接続情報9では、図16のフラグ付論理接続情報7の置換対象フラグ
//touch_it to (任意セル名称)
が、面積最小化となるマクロセル
MUX2L
に置き換えられている。
【0086】
図18は、置換前の論理回路の回路構成を例示する回路図である。図18に例示されている置換前論理回路55は、モジュールC1を備えている。置換前論理回路55のモジュールC1は、“U1”というインスタンス名のインバータセル(INVL)と、“U2”、“U3”というインスタンス名の2入力ANDセル(AND2L)と、“U4”というインスタンス名の2入力ORセル(OR2L)を備えている。
【0087】
図19は、置換後の論理回路の構成を例示する回路図である。図19に例示されている置換後論理回路56は、モジュールC1を備えている。置換後論理回路56のモジュールC1は、“U5”というインスタンス名の2入力MUXセル(MUX2L)を備えている。本実施形態における任意セル選択ツール34では、複数回の処理を実施することなく、置換前論理回路55を置換後論理回路56へ置換することが可能である。
【0088】
本実施形態の任意セル選択ツール34のような機能を備えていない装置では、2つのマクロセルの組み合わせを網羅的に抽出する処理を複数回実施する必要がある。例えば、U4を起点とした場合は、U4→U3、U4→U2の2系統の論理構造において面積縮小化を行う。また、U2を起点にした場合は、U2→U1の1系統の論理構造において面積縮小化を行う。そして、U4→U3,U4→U2、U2→U1のそれぞれの面積縮小化の処理を実施する。その後、U4→U2→U1の論理構造において、面積縮小化の処理を実施する。このように、任意セル選択ツール34のような機能を備えていない装置では、複数の工程を実行する事で、置換後論理回路56のモジュールC1のような面積最小化が可能である。しかしながら、2つのマクロセルの組み合わせを網羅的に抽出する処理を複数回実施する必要があるため、設計TATが増大してしまっていた。
【0089】
本実施形態では、マクロセルライブラリから面積縮小化が可能となる等価論理の複合論理マクロセルを任意に選択し、最小面積化が可能な複合論理マクロセルに対して、マクロセルライブラリにフラグ設定を行っている。また、置換対象となる論理接続情報の論理回路構成から論理構造/面積値判定結果情報4を元に置換対象論理接続部を検索しフラグ設定を行っている。そして、マクロセルライブラリのフラグと論理接続情報のフラグの一致部分に対して、等価論理置換により一括置換を行う事で、一度の処理で論理回路の面積縮小化が可能となり、設計TATの短縮を実現することができる。
【0090】
[第2実施形態]
以下に、本願発明の第2実施形態について説明を行う。第2実施形態の半導体装置設計支援システム85は、任意セルを選択するときに、順序セルを含める場合に対応している。図20は、第2実施形態の任意セル選択部12の構成を例示するブロック図である。第2実施形態の任意セル選択部12は、第1実施形態の選択情報2に対し、さらに、順序セル検出部61と、順序セル論理式抽出部62と、順序セル論理情報入力部63と、順序セル面積値抽出部64と、順序セル論理構造情報抽出部65とを備えている。
【0091】
順序セル検出部61は、順序セルがあるか否かの判定を行う。順序セル論理式抽出部62は、全ての順序セルの論理情報を抽出し、順序セル論理情報66を生成する。順序セル論理情報入力部63は、第2論理情報52と順序セル論理情報66とを、任意セル選択部12の入力として受け取る。順序セル面積値抽出部64は、第1実施形態の面積情報53に、さらに、順序セルの面積値を追加した面積情報67を生成する。その面積情報67は、ファイル格納部35に保持される。順序セル論理構造情報抽出部65は、基本マクロセルと順序セルとの組み合わせに対して論理構造化を行った論理構造情報68を生成する。
【0092】
図21A、図21B、図21Cは、第2実施形態の任意セル選択部12の動作を例示するフローチャートである。第2実施形態では、ステップS301において、任意セル選択部12の順序セル検出部61が、順序セルが存在するか否かの判断を行う。その判断の結果、順序セルが存在しない場合、処理は、図21Cに示されるような、第1実施形態と同様の処理を行う。順序セルが存在すると判断された場合、第1実施形態のステップS202、ステップS203と同様の処理を行った後、ステップS302の処理を実行する。そのステップS302において、順序セル論理式抽出部62は、順序セル論理情報66として全ての順序セルの論理情報を抽出する。
【0093】
図22は、抽出した順序セル論理情報の構成を例示するリストである。
Sequential cell (MUX−N−DFFL)
は、順序回路における複合論理マクロセル名称を表している。
function:”IQ”
は、出力端子pin(Q)における論理である。
【0094】
この論理を形成する情報は、
ff(IQ、IQN){ }
で囲まれるグループ内で定義されている。
clocked_on:”!(CK)”
は、クロック端子CKの反転論理のエッジであることを示している
next_state:”(D*!(SE))+(SI*SE)”
は、クロックが動いた場合に、出力Qに出力される論理である。
【0095】
上述の
function:”IQ”
は、この
next_state
に定義された論理式が正転出力される事を意味している。仮に、
function:”IQN”
と定義された場合は、
next_state
に定義された論理式が反転出力される事を意味する。
【0096】
図21Aに戻り、ステップS303において、順序セル論理情報入力部63は、抽出済みの第2論理情報52と順序セル論理情報66とを、任意セル選択部12の入力として受け取る。
【0097】
図21Bを参照すると、ステップS304において、順序セル面積値抽出部64は、第1実施形態で抽出したような面積情報53に対して、さらに、順序セルの面積値を追加した面積情報67を生成する。その面積情報67は、ファイル格納部35に保持される。
【0098】
ステップS305において、順序セル論理構造情報抽出部65は、順序回路(D−FF)と組み合わせ論理構造とをばらした構造情報として、
clocked_on
で定義されている”!CK”の論理記述で示される論理構造を、インバータセルと順序回路(DFFL)の組み合わせとして処理を行う。
【0099】
次に、順序セル論理構造情報抽出部65は、
next_state
で定義されている”(D*!(SE))+(SI*SE)”の論理記述で示される論理構造を、第2論理情報52に基づいて、MUX2Lと順序回路(DFFL)の組み合わせの場合と、INVL、AND2L、AND2L、OR2Lと順序回路(DFFL)の組み合わせとして処理を行う。順序セル論理構造情報抽出部65は、これらを論理接続情報形式で表した論理構造情報68を生成する。論理構造情報68は、ファイル格納部35に保持される。
【0100】
図23は、論理構造情報68の構成を例示するリストである。論理構造情報68は、第1実施形態の抽出したような論理構造情報54のような情報に、さらに、順序セルにおける論理構造情報を備えている。以降、ステップS306からステップS310までは、第1実施形態と同様に動作する。
【0101】
上述のように、第2実施形態では、マクロセルライブラリに組み合わせ論理と順序回路論理構造を有する複合論理マクロセルが存在する場合においても、面積最小化に有効となる任意セルの選択と置換が可能である。
【0102】
[第3実施形態]
以下に、本願発明の第2実施形態について説明を行う。第3実施形態の半導体装置設計支援システム85は、任意セルを選択するときに、順序セルを含める場合に対応している。図24は、第3実施形態の任意セル選択部12の構成を例示するブロック図である。第3実施形態の任意セル選択部12は、第1、第2実施形態の選択情報2に対し、さらに、多ビットセル検出部71と、多ビットセル論理式抽出部72と、多ビットセル論理情報入力部73と、多ビットセル面積値抽出部74と、多ビットセル論理構造情報抽出部75とを備えている。
【0103】
多ビットセル検出部71は、多ビットセルがあるか否かの判定を行う。多ビットセル論理式抽出部72は、全ての多ビットセルの論理情報を抽出し、多ビットセル論理情報76を生成する。多ビットセル論理情報入力部73は、第2論理情報52と順序セル論理情報66と多ビットセル論理情報76とを、任意セル選択部12の入力として受け取る。多ビットセル面積値抽出部74は、第2実施形態の面積情報67に、さらに、多ビットセルの面積値を追加した面積情報77を生成する。その面積情報77は、ファイル格納部35に保持される。多ビットセル論理構造情報抽出部75は、基本マクロセルと順序セルと多ビットセルの組み合わせに対して論理構造化を行った論理構造情報78を生成する。
【0104】
図25A、図25B、図25C、図25Dは、第3実施形態の任意セル選択部12の動作を例示するフローチャートである。第3実施形態では、ステップS301において、第2実施形態と同様に、順序セルが存在するか否かの判断を行う。その判断の結果、順序セルが存在しない場合、図25Dに示されるように、第1実施形態と同様の処理を行う。その判断の結果、順序セルが存在する場合、処理はステップS401に進む。
【0105】
ステップS401において、任意セル選択部12の多ビットセル検出部71は、多ビットセルが存在するか否かの判断を行う。その判断の結果、多ビットセルが存在しない場合、図25Cに示されるように、第2実施形態と同様の処理を行う。
【0106】
多ビットセルが存在する場合、第1実施形態のステップS202、ステップS203と同様の処理を行った後、第2実施形態のステップS302と同様の処理を行って、順序セルの論理情報を抽出する。
【0107】
図25Aを参照すると、ステップS402において、多ビットセル論理式抽出部72は、多ビットセル論理情報76として全ての多ビット論理端子(bundle)を持つセルの論理情報と端子情報を抽出する。
【0108】
図26は、抽出した多ビットセル論理情報の構成を例示するリストである。
Multibit cell(DFFL−2B)
は、多ビットセルにおける複合論理マクロセル名称を表している。
bundle(Q)
及び、
bundle(D)
は、出力Q端子及び入力D端子が束ねられている事を表している。
members(Q0、Q1)
及び、
members(D0、D1)
は、それぞれ束ねられた端子をばらした際の端子名情報となる。
function:”IQ”
は、束ねられた出力端子bundle(Q)における論理である。
【0109】
更に、この論理を形成する情報は、
ff_bank(IQ、IQN、2) { }
で囲まれるグループ内で定義される。なお、
ff_bank( )
で囲まれるグループ内の数字“2”は、2ビットの幅を持つマクロセルであることを意味する。
clocked_on
及び、
next_state
の意味は、第2実施形態で説明した意味と同様である。
【0110】
図25Aに戻り、ステップS403において、多ビットセル論理情報入力部73は、既に抽出済みの第2論理情報52と、順序セル論理情報66と、多ビットセル論理情報76とを入力として受け取る。
図25Bを参照すると、ステップS404において、多ビットセル面積値抽出部74は、第2実施形態で抽出したような面積情報67に対して、多ビットセルの面積値を追加した面積情報77を生成する。その面積情報77は、ファイル格納部35に保持される。
【0111】
ステップS405において、多ビットセル論理構造情報抽出部75は、多ビットセル論理情報76の
ff_bank(IQ、IQN、2){ }
で囲まれるグループ内の、
clocked_on
及び、
next_state
に定義されている論理定義と同様な論理定義を持つ複合論理マクロセルが、順序セル論理情報66に含まれるか否かを検索する。該当する複合論理マクロセルがあった場合は、多ビットセル論理構造情報抽出部75は、該当する複合論理マクロセルが、
ff_bank( )
で囲まれるグループ内に定義されたビット幅(ここでは2であるため2ビット)構成であると判断する。そして、多ビットセルの端子情報である
member(Q0、Q1)
及び、
member(D0、D1)
から、論理構造情報78を生成する。図27は、論理接続情報形式として出力される論理構造情報78の構成を例示するリストである。図27に例示されている多ビットセルにおける論理構造情報78には、これらを論理接続情報形式で表した論理構造情報が含まれている。
【0112】
また同様に、複合論理マクロセルが多ビット化されたマクロセルにおいても対応は可能である。その場合は、順序セル論理情報66から該当セルを検索するのではなく、第2論理情報52から該当する複合論理マクロセルを検索し、ビット幅の確認には、多ビットセルの端子情報である
member(A0、A1、A2、A3)
で示される定義から、4ビット幅を持つセルと認識することができる。このように、順序セル同様に論理構造情報を導くことが可能であり、複合論理マクロセルの多ビット化にも対応可能である。これらを論理接続情報形式で表した論理構造情報は、面積情報77として追加出力され、ファイル格納部35に保持される。
【0113】
図25Bに戻り、以降のステップS406からステップS410の処理を実行する。これらの処理は、第1実施形態または第2実施形態での動作と同様である。第3実施形態では、マクロセルライブラリに多ビット論理構造を有する複合論理マクロセルが存在する場合においても、面積最小化に有効となる任意セルの選択と置換が可能である。
【0114】
以上、本願発明の実施の形態を具体的に説明した。本願発明は上述の実施の形態に限定されるものではなく、その要旨を逸脱しない範囲で種々変更可能である。
【符号の説明】
【0115】
2…選択情報
3…マクロセルライブラリ
4…判定結果情報
5…フラグ付マクロセルライブラリ
6…論理接続情報
7…フラグ付論理接続情報
8…制約条件
9…置換後論理接続情報
10…論理構造
11…選択仕様入力部
12…任意セル選択部
13…任意セル選択フラグ設定部
14…論理接続情報入力部
15…判定結果情報入力部
16…論理構造検索部
17…置換対象セルフラグ設定部
18…置換情報入力部
19…等価論理置換部
20…論理接続情報生成部
31…演算処理部
32…情報記憶部
33…バス
34…任意セル選択ツール
35…ファイル格納部
36…第1段階実行部
37…第2段階実行部
38…マクロセルライブラリ入力部
39…基本マクロセル論理式抽出部
40…複合論理マクロセル論理式抽出部
41…論理情報入力部
42…面積値抽出部
43…論理構造情報抽出部
44…面積情報入力部
45…論理構造情報入力部
46…論理構造/面積値判定部
47…最小論理構造検索部
48…判定結果情報抽出部
49…任意選択マクロセル論理式抽出部
51…第1論理情報
52…第2論理情報
53…面積情報
54…論理構造情報
55…置換前論理回路
56…置換後論理回路
61…順序セル検出部
62…順序セル論理式抽出部
63…順序セル論理情報入力部
64…順序セル面積値抽出部
65…順序セル論理構造情報抽出部
66…順序セル論理情報
67…面積情報
68…論理構造情報
71…多ビットセル検出部
72…多ビットセル論理式抽出部
73…多ビットセル論理情報入力部
74…多ビットセル面積値抽出部
75…多ビットセル論理構造情報抽出部
76…多ビットセル論理情報
77…面積情報
78…論理構造情報
80…サーバ
81…記録媒体
82…ネットワーク
83…コンピュータ装置
85…半導体装置設計支援システム
86…コンピュータ装置本体
87…入力装置
88…出力装置
105…等価論理抽出置換部
111…論理接続情報
112…入力仕様情報
113…等価論理パターン情報
114…マクロセルライブラリ
115…遅延面積見積り情報
116…新規マクロセル情報
117…論理接続情報

【特許請求の範囲】
【請求項1】
2つ以上の論理構造を持つ複合論理マクロセルの論理情報を、基本マクロセルの回路接続情報に置き換えて基本マクロセルの面積の総和を抽出し、前記基本マクロセルの面積の総和と前記複合論理マクロセルの面積とを比較して面積縮小化に有効となる複合論理マクロセルを選択する任意セル選択ステップと、
前記任意セル選択ステップで選択された前記複合論理マクロセルに、第1フラグを設定する任意セル選択フラグ設定出力ステップと、
前記任意セル選択フラグ設定出力ステップで、前記第1フラグを設定した前記複合論理マクロセルと同等の論理を、前記論理情報から検索する論理構造検索ステップと、
前記論理情報の中から前記検索によって得られた置換対象となる前記基本マクロセルに、第2フラグを設定する置換対象セルフラグ設定出力ステップと、
前記置換対象セルフラグ設定出力ステップで前記第2フラグを設定した前記基本マクロセルを、前記任意セル選択フラグ設定出力ステップで前記第1フラグを設定した前記複合論理マクロセルに置き換える等価論理置換ステップと
を有する
半導体装置の設計方法。
【請求項2】
請求項1に記載の半導体装置の設計方法において、
前記任意セル選択ステップは、
(a1)マクロセルライブラリに定義されている前記基本マクロセルの論理定義情報を、第1論理情報を生成するステップと、
(a2)前記マクロセルライブラリに定義されている前記複合論理マクロセルの論理定義情報を、前記第1論理情報に追加して第2論理情報を生成するステップと、
(a3)前記第2論理情報に定義されている前記基本マクロセルと前記複合論理マクロセルの面積値情報を含む面積情報を生成するステップと、
(a4)前記第2論理情報で定義された前記複合論理マクロセルの論理情報に、前記基本マクロセルの論理情報を当てはめて、論理構造情報を生成するステップと、
(a5)前記複合論理マクロセルの面積値と前記基本マクロセルの面積値とを前記面積情報から取得し、前記複合論理マクロセルの論理に対応する論理の前記基本マクロセルの面積値の総和を求め、前記総和と前記複合論理マクロセルの面積値とを比較するステップと、
(a6)前記比較の結果に基づいて、前記面積値が最小値となる論理構造の複合論理マクロセル示す判定結果情報を生成するステップと
を備える
半導体装置の設計方法。
【請求項3】
請求項2に記載の半導体装置の設計方法において、
前記任意セル選択フラグ設定出力ステップは、
(b1)前記判定結果情報に含まれる前記複合論理マクロセル名称を特定し、前記マクロセルライブラリに含まれる特定した前記名称に対応する複合論理マクロセルに、任意セルを表すフラグを設定するステップと、
(b2)前記任意セルを表すフラグを有するマクロセルライブラリを、フラグ付マクロセルライブラリとして出力するステップ
を備える
半導体装置の設計方法。
【請求項4】
請求項3に記載の半導体装置の設計方法において、
前記論理構造検索ステップは、
(c1)作成済みの論理接続情報を読み出すステップと、
(c2)前記判定結果情報を読み出すステップと、
(c3)前記判定結果情報に記述される論理構造に該当する論理接続部を、前記論理接続情報から検索するステップと
を備え、
前記置換対象セルフラグ設定出力ステップは、
(d1)検索によって得られた前記論理接続部に対して、置換対象のセルを表すフラグを設定するステップと、
(d2)前記置換対象のセルを表すフラグを有するフラグ付論理接続情報を生成するステップと
を備える
半導体装置の設計方法。
【請求項5】
請求項4に記載の半導体装置の設計方法において、
前記等価論理置換ステップは、
(e1)前記フラグ付論理接続情報と前記フラグ付マクロセルライブラリとを読み出すステップと、
(e2)前記フラグ付論理接続情報に含まれる複合論理マクロセルの名称と、前記フラグ付マクロセルライブラリで示されるフラグが付加された複合論理マクロセル名称とが一致するか否かの判断を実行するステップと、
(e3)その判断の結果に基づいて、前記フラグ付マクロセルライブラリに存在する置換対象セルを特定するステップと、
(e4)論理合成ツールに利用する遅延・タイミングの条件が示されたファイルである制約条件を読み出すステップと、
(e5)前記制約条件に基づいて、前記置換対象セルのフラグが付属しているフラグ付論理接続情報の該当セルを、フラグ付マクロセルライブラリの前記任意セルのフラグが付属している複合論理マクロセルに置換するステップ
を備える
半導体装置の設計方法。
【請求項6】
請求項1から5の何れか一項に記載の半導体装置の設計方法において、
前記基本マクロセルは、
NOT回路と、AND回路と、OR回路と、NAND回路と、NOR回路と、XOR回路と、前記NOT回路の入力端子の反転論理をもつ回路と、前記AND回路の入力端子の反転論理をもつ回路と、前記OR回路の入力端子の反転論理をもつ回路と、前記NAND回路の入力端子の反転論理をもつ回路と前記NOR回路の入力端子の反転論理をもつ回路と、前記XOR回路の入力端子の反転論理をもつ回路のマクロセルのうちの少なくとも一つを含む
半導体装置の設計方法。
【請求項7】
請求項1から6の何れか一項に記載の半導体装置の設計方法において、
前記複合論理マクロセルは、
前記基本マクロセルを複数有するマクロセルの機能を備える
半導体装置の設計方法。
【請求項8】
2つ以上の論理構造を持つ複合論理マクロセルの論理情報を、基本マクロセルの回路接続情報に置き換えて基本マクロセルの面積の総和を抽出し、前記基本マクロセルの面積の総和と前記複合論理マクロセルの面積とを比較して面積縮小化に有効となる複合論理マクロセルを選択する任意セル選択部と、
前記任意セル選択部で選択された前記複合論理マクロセルに、第1フラグを設定する任意セル選択フラグ設定出力部と、
前記任意セル選択フラグ設定出力部で、前記第1フラグを設定した前記複合論理マクロセルと同等の論理を、前記論理情報から検索する論理構造検索部と、
前記論理情報の中から前記検索によって得られた置換対象となる前記基本マクロセルに、第2フラグを設定する置換対象セルフラグ設定出力部と、
前記置換対象セルフラグ設定出力部で前記第2フラグを設定した前記基本マクロセルを、前記任意セル選択フラグ設定出力部で前記第1フラグを設定した前記複合論理マクロセルに置き換える等価論理置換部と
を有する
半導体装置の設計支援装置。
【請求項9】
請求項8に記載の半導体装置の設計支援装置において、
前記任意セル選択部は、さらに、
マクロセルライブラリに定義されている前記基本マクロセルの論理定義情報を、第1論理情報を生成する基本マクロセル論理式抽出部と、
前記マクロセルライブラリに定義されている前記複合論理マクロセルの論理定義情報を、前記第1論理情報に追加して第2論理情報を生成する複合論理マクロセル論理式抽出部と、
前記第2論理情報に定義されている前記基本マクロセルと前記複合論理マクロセルの面積値情報を含む面積情報を生成する面積値抽出部と、
前記第2論理情報で定義された前記複合論理マクロセルの論理情報に、前記基本マクロセルの論理情報を当てはめて、論理構造情報を生成する論理構造情報抽出部と、
前記複合論理マクロセルの面積値と前記基本マクロセルの面積値とを前記面積情報から取得し、前記複合論理マクロセルの論理に対応する論理の前記基本マクロセルの面積値の総和を求め、前記総和と前記複合論理マクロセルの面積値とを比較する論理構造/面積値判定部と、
前記比較の結果に基づいて、前記面積値が最小値となる論理構造の複合論理マクロセル示す判定結果情報を生成する判定結果情報抽出部と
を備える
半導体装置の設計支援装置。
【請求項10】
請求項9に記載の半導体装置の設計支援装置において、
前記任意セル選択フラグ設定出力部は、
前記判定結果情報に含まれる前記複合論理マクロセル名称を特定し、前記マクロセルライブラリに含まれる特定した前記名称に対応する複合論理マクロセルに、任意セルを表すフラグを設定し、
前記任意セルを表すフラグを有するマクロセルライブラリを、フラグ付マクロセルライブラリとして出力する
を備える
半導体装置の設計支援装置。
【請求項11】
請求項10に記載の半導体装置の設計支援装置において、
前記論理構造検索部は、
作成済みの論理接続情報と前記判定結果情報とを読み出し、前記判定結果情報に記述される論理構造に該当する論理接続部を、前記論理接続情報から検索し、
前記置換対象セルフラグ設定出力部は、
検索によって得られた前記論理接続部に対して、置換対象のセルを表すフラグを設定して記置換対象のセルを表すフラグを有するフラグ付論理接続情報を生成する
半導体装置の設計支援装置。
【請求項12】
請求項11に記載の半導体装置の設計支援装置において、
前記等価論理置換部は、
前記フラグ付論理接続情報に含まれる複合論理マクロセルの名称と、前記フラグ付マクロセルライブラリで示されるフラグが付加された複合論理マクロセル名称とが一致するか否かの判断を実行し、その判断の結果に基づいて、前記任意セルフラグ付マクロセルライブラリに存在する置換対象セルを特定し、
論理合成ツールに利用する遅延・タイミングの条件が示されたファイルである制約条件
に基づいて、前記置換対象セルのフラグが付属しているフラグ付論理接続情報の該当セルを、前記フラグ付マクロセルライブラリの前記任意セルのフラグが付属している複合論理マクロセルに置換する
半導体装置の設計支援装置。
【請求項13】
請求項8から12の何れか一項に記載の半導体装置の設計支援装置において、
前記基本マクロセルは、
NOT回路と、AND回路と、OR回路と、NAND回路と、NOR回路と、XOR回路と、前記NOT回路の入力端子の反転論理をもつ回路と、前記AND回路の入力端子の反転論理をもつ回路と、前記OR回路の入力端子の反転論理をもつ回路と、前記NAND回路の入力端子の反転論理をもつ回路と前記NOR回路の入力端子の反転論理をもつ回路と、前記XOR回路の入力端子の反転論理をもつ回路のマクロセルのうちの少なくとも一つを含む
半導体装置の設計支援装置。
【請求項14】
請求項8から13の何れか一項に記載の半導体装置の設計支援装置において、
前記複合論理マクロセルは、
前記基本マクロセルを複数有するマクロセルの機能を備える
半導体装置の設計支援装置。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7A】
image rotate

【図7B】
image rotate

【図8】
image rotate

【図9A】
image rotate

【図9B】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate

【図14A】
image rotate

【図14B】
image rotate

【図15】
image rotate

【図16】
image rotate

【図17】
image rotate

【図18】
image rotate

【図19】
image rotate

【図20】
image rotate

【図21A】
image rotate

【図21B】
image rotate

【図21C】
image rotate

【図22】
image rotate

【図23】
image rotate

【図24】
image rotate

【図25A】
image rotate

【図25B】
image rotate

【図25C】
image rotate

【図25D】
image rotate

【図26】
image rotate

【図27】
image rotate


【公開番号】特開2012−177967(P2012−177967A)
【公開日】平成24年9月13日(2012.9.13)
【国際特許分類】
【出願番号】特願2011−39236(P2011−39236)
【出願日】平成23年2月25日(2011.2.25)
【出願人】(302062931)ルネサスエレクトロニクス株式会社 (8,021)
【Fターム(参考)】