(57)【特許請求の範囲】
【請求項１】
複数のセルと、複数の機能ブロックと、複数の入力回路と、複数の出力回路と、複数の入力端子と、複数の出力端子と、複数の電源端子と、複数の接地端子と、それらを接続する配線とを備え、前記入力端子から入力されるデータが、前記入力回路を経て、前記セルまたは前記機能ブロックにて処理されて、前記出力回路を経て前記出力端子から出力される構成のＬＳＩの端子配置を決定するために用いられるＬＳＩ設計支援システムであって、
前記ＬＳＩの論理設計に対応した回路図情報であるネットリストに基づいて論理シミュレーションを実行する論理シミュレーション実行部と、
該論理シミュレーション実行部にて実行された論理シミュレーションによって、出力が同時変化する出力端子を検出する出力の同時変化抽出部と、
該同時変化抽出部によって検出された同時変化する出力端子と、端子配置のリストとに基づいて、検出された出力端子の同時変化が回路動作に与える影響を判定する判定部と、
該判定部おいて、検出された出力端子の同時変化が回路動作に影響を与えると判定された場合に、回路の誤動作を防ぐために必要な電源端子および接地端子の追加端子数を抽出する追加端子数の抽出部と、
該抽出部によって抽出された電源端子および接地端子の追加端子数に基づいて、追加する電源端子および接地端子を、前記複数の出力端子の配置を変更することなくそれぞれ配置して前記端子配置のリストを修正する修正部とを備え、
前記判定部は、該修正部によって修正された端子配置において、前記同時変化抽出部によって検出された出力端子の同時変化が回路動作に与える影響を、再度、判定することを特徴とするＬＳＩ設計支援システム。
【請求項２】
前記判定部は、予め条件が記述されたルールファイルに基づいて、出力端子の同時変化による影響を判定する請求項１に記載のＬＳＩ設計支援システム。
【請求項３】
複数のセルと、複数の機能ブロックと、複数の入力回路と、複数の出力回路と、複数の入力端子と、複数の出力端子と、複数の電源端子と、複数の接地端子と、それらを接続する配線とを備え、前記入力端子から入力されるデータが、前記入力回路を経て、前記セルまたは前記機能ブロックにて処理されて、前記の出力回路を経て前記出力端子から出力される構成のＬＳＩを設計する方法において、
前記ＬＳＩの論理設計に対応した回路図情報であるネットリストに基づいて論理シミュレーションを実行する工程と、
該論理シミュレーションの実行によって、出力が同時変化する出力端子を検出する検出工程と、
該検出工程において検出された同時変化する出力端子と、端子配置のリストとに基づいて、検出された同時変化する出力端子が回路動作に与える影響を判定する判定工程と、
該判定工程において、検出された出力端子の同時変化が回路動作に影響を与えると判定された場合に、回路の誤動作を防ぐために必要な電源端子および接地端子の追加端子数を抽出する抽出工程と、
該抽出工程にて抽出された電源端子および接地端子の追加端子数に基づいて、追加する電源端子および接地端子を、前記複数の出力端子の配置を変更することなくそれぞれ配置することによって、前記端子配置のリストを修正する修正工程と、
該修正工程によって修正された端子配置において、前記同時変化抽出部によって検出された出力端子の同時変化が回路動作に与える影響を、再度、判定する工程とを含むＬＳＩ設計方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、複数の出力端子の出力が同時変化した場合の影響を改善することができるＬＳＩ設計支援システムおよびＬＳＩ設計方法に関する。
【０００２】
【従来の技術】
ＬＳＩにおいては、入力端子、出力端子、ＬＳＩ内部に電源電圧を供給するための電源端子、接地端子等が複数設けられる。そして、入力端子から入力されたデータが、入力回路を経てセルやカウンタ、レジスタ、エンコーダ、デコーダ、マルチプレクサ等の機能ブロックに送られ、データ処理が行われた後、出力回路を経て出力端子から出力される。
【０００３】
このＬＳＩにおいて、複数の出力端子の出力が同時に変化した場合、ＬＳＩ内部で電源端子に接続された電源配線や接地端子に接続された接地配線にノイズが発生したり、電源電圧に瞬間的な電圧降下が生じる。その結果、ＬＳＩがシミュレーション通りに動作せずに動作不良の原因となる。以下に、この問題について、図１を参照しながら説明する。
【０００４】
図１は、ＣＭＯＳ  ＬＳＩにおける出力回路の構成を示す回路図である。この出力回路は、出力コントロール回路７と、ＰＣＨ（Ｐチャネル）  ＭＯＳ（Ｍｅｔａｌ  Ｏｘｉｄｅ  Ｓｅｍｉｃｏｎｄｕｃｔｏｒ）トランジスタ（ｐｔｒ１）およびＮＣＨ（Ｎチャネル）  ＭＯＳトランジスタ（ｎｔｒ１）を備えている。
【０００５】
この出力回路において、入力端子１にデータ”０”が入力されると、出力コントロール回路７によってＰＣＨ  ＭＯＳトランジスタのゲート入力２は”１”となり、ＮＣＨ  ＭＯＳトランジスタのゲート入力３は”１”となる。よって、ＰＣＨ  ＭＯＳトランジスタはＯＦＦ状態となり、ＮＣＨ  ＭＯＳトランジスタはＯＮ状態となって、出力端子６からはデータ”０”が出力される。一方、入力端子１にデータ”１”が入力されると、出力コントロール回路７によってＰＣＨ  ＭＯＳトランジスタのゲート入力２は”０”となり、ＮＣＨ  ＭＯＳトランジスタのゲート入力３は”０”となる。よって、ＰＣＨ  ＭＯＳトランジスタはＯＮ状態となり、ＮＣＨ  ＭＯＳトランジスタはＯＦＦ状態となって、出力端子６からはデータ”１”が出力される。
【０００６】
ここで、入力端子１からの入力が”０”から”１”に変化したときと、入力端子１からの入力が”１”から”０”に変化したときには、一時的にＰＣＨ  ＭＯＳトランジスタおよびＮＣＨ  ＭＯＳトランジスタが共にＯＮ状態になり、電源端子４から接地端子５に貫通電流が流れる。さらに、ｎ個の出力端子において出力が同時に変化した場合には、貫通電流はｎ倍となるため、ＬＳＩ内部の電源配線や接地配線にノイズが発生したり、電源電圧に瞬間的な電圧降下が生じ、回路の誤動作の原因となる。特に、ＬＳＩが高い周波数で動作する場合には、これらの影響は大きなものとなる。さらに、このような誤動作は、デバイスの完成後にしか判明しないため、デバイスを試作する前に原因を修正する方法が求められている。
【０００７】
このような出力端子の同時変化に起因する問題を解決するための従来技術としては、特開平５−１６０２６３号公報に記載されている「ＬＳＩの外部端子の信号配置決定方法」が挙げられる。この方法では、乱数で選んだ任意の２つの信号端子の端子位置を交換し、交換前と交換後のエネルギーからシミュレーティッド・アニーリング法により交換の可否を判定して、端子位置を決定する。これにより、人手による試行を行わなくても、同時変化する出力端子を分散配置して、出力端子の同時変化に起因する回路の誤動作を回避することができる。なお、シミュレーティッド・アニーリング法（特開平１−２７３１７９号公報等を参照）では、適当にモジュールの初期配置を定め、２個のモジュール対を選んでその位置を交換した場合と交換しない場合とについて評価値を算出する。そして、両者の関係がある評価条件を満足すれば位置を交換し、満足しなければ位置を交換しないという処理を、全モジュールにわたって繰り返すことにより、端子の配置位置を逐次改善することができる。
【０００８】
【発明が解決しようとする課題】
しかしながら、上述した従来技術を用いて出力端子の同時変化に起因する問題を解決するためには、以下のような問題があった。
【０００９】
まず、同時変化する出力端子を分散配置する際に、実際には外部制約によって端子配置の自由度があまり無い。このため、端子位置の交換による分散配置は困難である。
【００１０】
さらに、同時変化する出力端子を分散配置した結果、当初の分散配置前の端子配置と分散配置後の端子配置とが大きく異なった場合、それに伴って回路外部の設計を大幅に修正する必要がある。
【００１１】
本発明は、このような従来技術の課題を解決するためになされたものであり、入力端子および出力端子の配置を変更することなく、出力端子の同時変化に起因する回路の誤動作を防ぐことができるＬＳＩ設計支援システムおよびＬＳＩ設計方法を提供することを目的とする。
【００１２】
【課題を解決するための手段】
本発明のＬＳＩ設計支援システムは、複数のセルと、複数の機能ブロックと、複数の入力回路と、複数の出力回路と、複数の入力端子と、複数の出力端子と、複数の電源端子と、複数の接地端子と、それらを接続する配線とを備え、前記入力端子から入力されるデータが、前記入力回路を経て、前記セルまたは前記機能ブロックにて処理されて、前記出力回路を経て前記出力端子から出力される構成のＬＳＩの端子配置を決定するために用いられるＬＳＩ設計支援システムであって、前記ＬＳＩの論理設計に対応した回路図情報であるネットリストに基づいて論理シミュレーションを実行する論理シミュレーション実行部と、該論理シミュレーション実行部にて実行された論理シミュレーションによって、出力が同時変化する出力端子を検出する出力の同時変化抽出部と、該同時変化抽出部によって検出された同時変化する出力端子と、端子配置のリストとに基づいて、検出された出力端子の同時変化が回路動作に与える影響を判定する判定部と、該判定部おいて、検出された出力端子の同時変化が回路動作に影響を与えると判定された場合に、回路の誤動作を防ぐために必要な電源端子および接地端子の追加端子数を抽出する追加端子数の抽出部と、該抽出部によって抽出された電源端子および接地端子の追加端子数に基づいて、追加する電源端子および接地端子を、前記複数の出力端子の配置を変更することなくそれぞれ配置して前記端子配置のリストを修正する修正部とを備え、前記判定部は、該修正部によって修正された端子配置において、前記同時変化抽出部によって検出された出力端子の同時変化が回路動作に与える影響を、再度、判定することを特徴とし、そのことにより上記目的が達成される。
【００１３】
前記判定部は、予め条件が記述されたルールファイルに基づいて、出力端子の同時変化による影響を判定してもよい。
【００１５】
本発明のＬＳＩ設計方法は、複数のセルと、複数の機能ブロックと、複数の入力回路と、複数の出力回路と、複数の入力端子と、複数の出力端子と、複数の電源端子と、複数の接地端子と、それらを接続する配線とを備え、前記入力端子から入力されるデータが、前記入力回路を経て、前記セルまたは前記機能ブロックにて処理されて、前記の出力回路を経て前記出力端子から出力される構成のＬＳＩを設計する方法において、前記ＬＳＩの論理設計に対応した回路図情報であるネットリストに基づいて論理シミュレーションを実行する工程と、該論理シミュレーションの実行によって、出力が同時変化する出力端子を検出する検出工程と、該検出工程において検出された同時変化する出力端子と、端子配置のリストとに基づいて、検出された同時変化する出力端子が回路動作に与える影響を判定する判定工程と、該判定工程において、検出された出力端子の同時変化が回路動作に影響を与えると判定された場合に、回路の誤動作を防ぐために必要な電源端子および接地端子の追加端子数を抽出する抽出工程と、該抽出工程にて抽出された電源端子および接地端子の追加端子数に基づいて、追加する電源端子および接地端子を、前記複数の出力端子の配置を変更することなくそれぞれ配置することによって、前記端子配置のリストを修正する修正工程と、該修正工程によって修正された端子配置において、前記同時変化抽出部によって検出された出力端子の同時変化が回路動作に与える影響を、再度、判定する工程とを含み、そのことにより上記目的が達成される。
【００１６】
以下、本発明の作用について説明する。
【００１７】
本発明にあっては、図２に示すように、論理シミュレーション実行部３２で、回路のネットリスト３０に基づいて論理シミュレーションを実行する。このネットリスト３０は、論理設計に対応した回路図情報であり、ＬＳＩを構成するセル、機能ブロック、入力回路、出力回路、入出力端子等を示す情報や、それらを接続する配線を示す情報で構成された表である。そして、出力の同時変化抽出部３３で出力端子の同時変化を検出し、その結果と、回路の端子配置のリスト３１を入力として、同時変化の結果判定部３４で出力端子の同時変化が回路動作に与える影響を判定する。出力端子の同時変化による影響が問題無い（ＧＯＯＤ）と判定された場合には、結果表示部３７でエラーが無いことを表示して処理を終了する。なお、結果表示部３７は設けなくてもよいが、処理状況を確認することができるので、設けるのが好ましい。
【００１８】
一方、問題がある（ＮＧ）と判定された場合には、その結果を追加端子数の抽出部３５に送り、必要な電源端子および接地端子の追加端子数を抽出する。このとき、結果表示部３７では、追加する端子数やエラーとなる端子番号、信号名等を表示する。そして、その結果を端子配置の修正部３６に送り、必要な電源端子および接地端子を追加して端子配置のリスト３１を修正する。修正された端子配置のリスト３１は、再度、同時変化の結果判定部３４に送られ、出力端子の同時変化による影響が問題無いレベルであると判定されるまで、修正を行うことができる。
【００１９】
図３に示すように、出力端子２０〜２９の配置を変更することなく、接地端子１７、１８や電源端子１９を追加して電源を強化し、回路の誤動作を防ぐことが可能である。なお、図３において、１３および１４は当初から含まれていた電源端子を示し、１５および１６は当初から含まれていた接地端子を示す。
【００２０】
同時変化の結果判定部３４では、図４に示すように、入力された端子配置のリスト３１と、出力の同時変化抽出部３３で抽出された出力端子の同時変化についての情報とから、ルールファイル３８に基づいて出力端子の同時変化による影響を判定することができる。このルールファイル３８は、例えば、「同時変化出力端子４本につき、接地端子を１本追加する」等の端子追加条件を記述したものであるが、その記述内容は特に限定されない。さらに、必ずしもルールファイルを使用する必要はなく、入力された端子配置のリストと、抽出された出力端子の同時変化についての情報とから、出力端子の同時変化による影響を判定することができるものであれば、いずれも用いることができる。例えば、同時変化の結果判定プログラムに含まれていたり、ユーザーが入力装置から入力することも可能である。そして、出力端子の同時変化による影響があると判定された場合には、出力端子の同時変化が回路動作に与える影響が問題無いレベルであると判定されるように、必要な電源端子および接地端子の追加端子数を抽出する。
【００２１】
【発明の実施の形態】
以下に、本発明の実施の形態について、図面を参照しながら説明する。
【００２２】
図５は、本発明の一実施形態であるＬＳＩ設計支援システム４６の構成を示す図である。
【００２３】
このＬＳＩ設計支援システム４６は、出力端子の同時変化が回路動作に与える影響を判定する等、所定の演算を行うＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）３９と、同時変化の結果判定プログラム等が格納されたＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）４０と、ＣＰＵ３９が演算時に使用する作業記憶領域として用いられるＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）４１と、端子配置や出力結果等の必要な情報を蓄えるための外部記憶装置４２と、端子配置等の必要な情報を入力するための入力装置４３と、処理状況等を表示するための表示装置４４とを備えている。そして、ＣＰＵ３９、ＲＯＭ４０、ＲＡＭ４１、外部記憶装置４２、入力装置４３および表示装置４４は、バスライン４５で相互に接続されている。
【００２４】
図６は、同期式８−６４（８入力６４出力）デコーダ回路５４の構成を示すブロック図である。
【００２５】
このデコーダ回路５４は、データ入力端子４７と、データ入力回路４８と、クロック入力端子４９と、クロック入力回路５０と、機能ブロックとしてのデコード部（データデコード回路）５１と、データ出力回路５２と、データ出力端子５３とから構成されている。このデコーダ回路５４において、データ入力端子４７から入力されたデータ信号は、データ入力回路４８を経て、デコード部５１に送られる。また、クロック入力端子４９から入力されたクロック信号は、クロック入力回路５０を経て、デコード部５１に送られる。デコード部５１に入力されたデータ信号およびクロック信号は、デコード処理および同期処理が施され、データ出力回路５２を経てデータ出力端子５３に送られる。
【００２６】
このデコーダ回路５４は、例えば図８に示すように、「０００００００００」を入力してデコード処理を実行すると、ＯＵＴ６３〜ＯＵＴ１６、ＯＵＴ５には「０」が出力され、ＯＵＴ１５〜ＯＵＴ６、ＯＵＴ４〜ＯＵＴ０には「１」が出力される。そして、デコーダ回路５４への入力が「０００００００００」から「００００００００１」に変化した場合、ＯＵＴ１５〜ＯＵＴ６、ＯＵＴ４〜ＯＵＴ０のみ、出力が「０」から「１」に同時変化することになる。
【００２７】
さらに、複数のトランジスタが集まってＡＮＤ、ＮＡＮＤ等のセルを構成し、複数のセルが集まって機能ブロックを構成している。
【００２８】
このような同期式８−６４デコーダ回路５４を備えたＬＳＩの設計に、本実施形態のＬＳＩ設計支援システム４６を用いた例について、上述した図２および図５に沿って説明する。
【００２９】
まず、論理シミュレーション実行部３２で、回路のネットリスト３０に基づいて論理シミュレーションを実行する。本実施形態では、ＣＰＵ３９が入力装置４３から入力されたネットリスト３０を用いて論理シミュレーションを実行し、論理シミュレーションの実行結果を外部記憶装置４２に格納する。ここで、論理シミュレーションの実行結果とは、論理シミュレーションを実行した際に生じる出力端子の信号変化についての情報を含んだファイルを意味する。
【００３０】
次に、論理シミュレーション結果から、出力の同時変化抽出部３３で出力端子の同時変化を検出する。本実施形態では、ＣＰＵ３９が外部記憶装置４２から論理シミュレーションの実行結果をＲＡＭ４１に読み出し、読み出した論理シミュレーションの実行結果から、出力が同時変化している出力端子を抽出する。そして、同時変化している信号名を抽出結果として外部記憶装置４２に格納する。
【００３１】
次に、出力の同時変化の情報と、回路の端子配置のリスト３１を入力として、同時変化の結果判定部３４で出力端子の同時変化が回路動作に与える影響を判定する。本実施形態では、ＣＰＵ３９が外部記憶装置４２から出力の同時変化の抽出結果をＲＡＭ４１に読み出す。そして、読み出した出力の同時変化の抽出結果と、入力装置４３から入力された図７（ａ）に示すような当初の端子配置のリスト３１とから、出力の同時変化が回路に与える影響を判定する。
【００３２】
本実施形態では、図４のルールファイル３８に基づいて出力端子の同時変化による影響を判定した。ここでは、判定の基準は、「同時変化する出力端子５本につき、電源端子を１本以上設ける」と、「同時変化する出力端子３本につき、接地端子を１本以上設ける」とした。この基準で判定することにより、同時変化している信号出力端子は１５本なので、電源端子を１本、接地端子を３本追加することになる。
【００３３】
判定の結果、出力端子の同時変化による影響がある（ＮＧ）と判定された場合には、その結果を追加端子数の抽出部３５に送り、出力端子の同時変化による影響が問題無い（ＧＯＯＤ）と判定された場合には、結果表示部３７にその結果を送る。
【００３４】
追加端子数の抽出部３５では、必要な電源端子および接地端子の追加端子数を抽出し、その結果を端子配置の修正部３６に送る。本実施形態では、ＣＰＵ３９が外部記憶装置４２から出力の同時変化の抽出結果をＲＡＭ４１に読み出す。そして、読み出した出力の同時変化の抽出結果と、入力装置４３から入力された端子配置のリスト３１から、出力の同時変化が回路に与える影響が問題無いレベルになるように、追加すべき電源端子および接地端子の端子数を抽出する。抽出結果は、外部記憶装置４２に格納する。このとき、結果表示部３７では、図７（ｂ）に示すように、追加される電源端子および接地端子の端子数、エラーとなる端子番号や信号名等を表示する。
【００３５】
端子配置の修正部３６では、必要な電源端子および接地端子を追加し、追加端子の配置を決定して、端子配置のリスト３１を修正する。本実施形態では、ＣＰＵ３９が外部記憶装置４２から端子配置のリスト３１と、追加すべき電源端子および接地端子の端子数をＲＡＭ４１に読み出す。そして、追加すべき電源端子および接地端子の抽出結果を元にして、図７（ｃ）に示すように、端子配置のリスト３１を修正する。本実施形態では、入力装置４３から人手により、電源端子や接地端子を当初の端子配置のリストに追加して、端子配置のリストを修正する。修正された端子配置は、外部記憶装置４２に格納する。
【００３６】
修正された端子配置のリスト３１は、再度、同時変化の結果判定部３４に送られる。そして、出力の同時変化の情報と、修正された端子配置のリスト３１を入力として、同時変化の結果判定部３４で出力端子の同時変化が回路動作に与える影響を判定する。
【００３７】
判定の結果、出力端子の同時変化による影響が問題無い（ＧＯＯＤ）と判定された場合には、結果表示部３７でエラーが無いことを表示して処理を終了する。本実施形態では、ＣＰＵ３９が表示装置４４をコントロールして、図７（ｄ）に示すように、同時タイミング動作のための電源端子や接地端子の追加が必要無いことを表示する。
【００３８】
その結果、図３に示したように、出力端子２０〜２９の配置を変更することなく、接地端子１７、１８や電源端子１９を追加して電源を強化し、回路の誤動作を防ぐことができる。
【００３９】
【発明の効果】
以上詳述したように、本発明によれば、ＬＳＩの設計において、信号端子の配置を修正することなく、電源端子および接地端子を追加することによって電源を強化し、出力端子の出力の同時変化による回路の誤動作を防ぐことができる。従来技術のように信号端子の位置交換を行わないので、端子配置の自由度により制約されることはなく、回路外部の設計を修正する必要が無いので、効率良くＬＳＩの設計を行うことができる。
【図面の簡単な説明】
【図１】ＣＭＯＳ  ＬＳＩにおける出力回路の構成を示す回路図である。
【図２】本発明のＬＳＩ設計支援システムの機能を説明するための図である。
【図３】本発明により得られるＬＳＩの端子配置の例を示す図である。
【図４】本発明のＬＳＩ設計支援システムにおける同時変化の結果判定部を説明するための図である。
【図５】本発明の一実施形態であるＬＳＩ設計支援システムの構成を示す図である。
【図６】同期式８−６４デコーダ回路の構成を示すブロック図である。
【図７】（ａ）は実施形態における当初の端子配置のリストを示す図であり、（ｂ）および（ｄ）は結果表示部に表示された追加端子数の抽出結果を示す図であり、（ｃ）は修正された端子配置のリストを示す図である。
【図８】図６のデコーダ回路の処理を説明するための図である。
【符号の説明】
１  入力端子１
２  ＰＣＨ  ＭＯＳトランジスタのゲート入力
３  ＮＣＨ  ＭＯＳトランジスタのゲート入力
４  電源端子
５  接地端子
６  出力端子
７  出力コントロール回路
１３、１４  電源端子、
１５、１６  接地端子
１７、１８  追加された接地端子
１９  追加された電源端子
２０、２１、２２、２３、２４、２５、２６、２７、２８、２９  出力端子
３０  ネットリスト
３１  端子配置のリスト
３２  論理シミュレーション実行部
３３  出力の同時変化抽出部
３４  同時変化の結果判定部
３５  追加端子数の抽出部
３６  端子配置の修正部
３７  結果表示部
３８  ルールファイル
３９  ＣＰＵ
４０  ＲＯＭ
４１  ＲＡＭ
４２  外部記憶装置
４３  入力装置
４４  表示装置
４５  バスライン
４６  ＬＳＩ設計支援システム
４７  データ入力端子
４８  データ入力回路
４９  クロック入力端子
５０  クロック入力回路
５１  デコード部（データデコード回路）
５２  データ出力回路
５３  データ出力端子
５４  ８−６４デコーダ回路
【図１】
0003727217.tif 000002
【図２】
0003727217.tif 000003
【図３】
0003727217.tif 000004
【図４】
0003727217.tif 000005
【図５】
0003727217.tif 000006
【図６】
0003727217.tif 000007
【図７】
0003727217.tif 000008
【図８】
0003727217.tif 000009