JP2004193260A - 回路設計装置および方法、素子、製造装置、並びにプログラム - Google Patents
回路設計装置および方法、素子、製造装置、並びにプログラム Download PDFInfo
- Publication number
- JP2004193260A JP2004193260A JP2002358137A JP2002358137A JP2004193260A JP 2004193260 A JP2004193260 A JP 2004193260A JP 2002358137 A JP2002358137 A JP 2002358137A JP 2002358137 A JP2002358137 A JP 2002358137A JP 2004193260 A JP2004193260 A JP 2004193260A
- Authority
- JP
- Japan
- Prior art keywords
- circuit
- cell
- processing
- elements
- operation speed
- 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.)
- Withdrawn
Links
Images
Landscapes
- Design And Manufacture Of Integrated Circuits (AREA)
Abstract
【課題】低スタンバイ電力、高速動作、および低消費電力を満足する回路を容易に設計することができるようにする。
【解決手段】条件設定部211には、回路の設計情報、記憶部212には、セルライブラリ213がそれぞれ入力される。セルライブラリ213には、閾値電圧Vth、セルの幅、およびそれぞれの端子の位置と機能が同じで、セルの高さを変えることにより駆動能力が異なる2種類のセルが記憶される。レイアウト部215によるセルの配置およびセル間の配線の後、動作速度算出部216は、回路の動作速度を算出する。置換部217は、動作速度を満足しないセルがある場合には、記憶部212に記憶された他の動作速度の速いセルと置き換えて回路を出力する。本発明は、回路設計装置に適用できる。
【選択図】 図7
【解決手段】条件設定部211には、回路の設計情報、記憶部212には、セルライブラリ213がそれぞれ入力される。セルライブラリ213には、閾値電圧Vth、セルの幅、およびそれぞれの端子の位置と機能が同じで、セルの高さを変えることにより駆動能力が異なる2種類のセルが記憶される。レイアウト部215によるセルの配置およびセル間の配線の後、動作速度算出部216は、回路の動作速度を算出する。置換部217は、動作速度を満足しないセルがある場合には、記憶部212に記憶された他の動作速度の速いセルと置き換えて回路を出力する。本発明は、回路設計装置に適用できる。
【選択図】 図7
Description
【0001】
【発明の属する技術分野】
本発明は、回路設計装置および方法、記録媒体、並びにプログラムに関し、特に、低スタンバイ電力、高速動作、および低消費電力を満足する回路を容易に設計することができるようにした回路設計装置および方法、記録媒体、並びにプログラムに関する。
【0002】
【従来の技術】
図1は、セルベースのシステムLSIを設計するための従来の回路設計装置1の一例の構成を示すブロック図である。
【0003】
条件設定部11には、ユーザ(設計者)がこれから設計する回路(以下、設計対象回路と称する)の設計情報が入力される。入力される設計情報としては、例えば、セルとセル間の配線から成るパスのタイミング要求仕様や、回路が駆動したときの消費電力の仕様値などである。条件設定部11は、入力された情報を回路を駆動するための条件として設定し、レイアウト部15に出力する。
【0004】
一方、記憶部12には、設計対象回路を作成するために使用するセルライブラリ13が入力され、記憶される(ユーザにより登録される)。スタンダードセルのライブラリを使用する場合、そのライブラリは、プロセス等の違いにより「通常ライブラリ」または「高速ライブラリ」などが複数用意されているのが一般的である。ユーザは、設計する回路の要求仕様(条件設定部11に入力した条件)に応じてどちらかのライブラリを選択して入力する。例えば、高速のLSIを設計する場合、ユーザは、高速なセル14を備えるセルライブラリ13を選択して入力する。
【0005】
「高速ライブラリ」と「通常ライブラリ」の違いは、例えば、閾値電圧Vthの違いであり、「高速ライブラリ」は、閾値電圧Vthの低いトランジスタを用いて作成されており、「通常ライブラリ」は、閾値電圧Vthが高く、スタンバイ電力の低いトランジスタを用いて作成されている。
【0006】
レイアウト部15は、入力された設計対象回路の条件に基づいて、記憶部12に登録されたセルを利用して、セルの配置およびセル間の配線を行い、その結果を動作速度算出部16に出力する。
【0007】
動作速度算出部16は、レイアウト部15により設計された回路の動作速度を算出し、その結果を出力する。
【0008】
次に、図2のフローチャートを参照して、モバイル用のシステムLSIを設計する場合の回路設計装置1のLSI設計処理について説明する。
【0009】
ステップS1において、条件設定部11は、ユーザ(設計者)により入力された設計情報に基づいて回路を駆動するための条件を設定し、レイアウト部15に出力する。
【0010】
ステップS2において、記憶部12は、入力されたセルライブラリ13を記憶する。モバイル用のシステムLSIを設計する場合、消費電力を抑えるため、「通常ライブラリ」が入力される。「通常ライブラリ」は、閾値電圧Vthが高く、動作速度が遅いが、リーク電流が小さく、スタンバイ電力が低いという特徴を有している。一方、「高速ライブラリ」は、閾値電圧Vthが低く、動作速度が速いが、リーク電流が大きく、スタンバイ電力が高いという特徴を有している。
【0011】
ステップS3において、レイアウト部15は、条件設定部11より入力された設計対象回路の条件に基づいて、記憶部12に記憶されたセルライブラリ13を利用して、セルの配置およびセル間の配線を行う。
【0012】
図3は、設計対象回路となるLSIチップ31を示しており、その一部のブロック32について、上述のステップS3の処理により、図4で示されるようなセルの配置およびセル間の配線がなされたものとする。
【0013】
図4のブロック32には、3つのセル列51−1乃至51−3が配置されている。セル列51−1は、セル61−1乃至61−4とセル間の配線62で構成されている。また、セル列51−2および51−3も同様に、セル61−5乃至61−8およびセル61−9乃至61−11とセル間の配線62でそれぞれ構成されている。
【0014】
ステップS4において、動作速度算出部16は、レイアウト部15により設計された回路の動作速度を算出する。
【0015】
ステップS5において、動作速度算出部16は、駆動能力が過大なまたは不足するセルがあるか否かをチェックして処理を終了する。
【0016】
例えば、特許文献1には、上述のような配線遅延などによるタイミングチェックおよびクリティカルなパスを考慮し、セルライブラリを使用したLSIの設計方法が開示されている。
【0017】
図4で示されるブロック32の回路において、図2のLSI設計処理により、セル61−7が、駆動能力が不足している、すなわち、動作速度が満足されていないセルであるとして検出されたとする。
【0018】
図5は、フリップ・フロップのセル61−7の例を示している。
【0019】
セル61−7は、セルの幅Wと8グリッド分のセルの高さH1の大きさを有している。セル61−7の上側と下側に、電源配線71とグランド配線72が配置されており、電源配線71とグランド配線72の間にそれぞれの端子が配置されている。
【0020】
セル61−7の最も左側に設けられた端子は、クロック入力端子(以下、CK端子と称する)81であり、CK端子81の右隣に、データ入力端子(以下、D端子と称する)82、D端子82の右隣に、シリアル入力端子(以下、SI端子と称する)83、SI端子83より右側の少し離れた位置にQ出力端子(以下、Q端子と称する)84が、それぞれ配置されている。D端子82とSI端子83の間の下方には、セット入力端子(以下、S端子と称する)85が配置され、S端子85と同じ高さの右側にシリアル出力端子(以下、SO端子と称する)86がそれぞれ配置されている。
【0021】
図6は、図4のセル61−7に要求される駆動能力を満足する高速のセル101の例を示している。なお、図5と対応する部分については、同一の符号を付してあり、以下では、その説明は、適宜省略する。
【0022】
セル101は、図5のセル61−7と比べて、セルの幅Wは同じであるが、セルの高さH2は14グリッド分とされている。すなわち、セル61−7のセル高さH1(8グリッド分)より高くすることにより、駆動能力が速くされており、閾値電圧Vthは同じとされている。
【0023】
また、それぞれの端子の配置がセル61−7と異なっている。すなわち、セル101の最も左側に、CK端子81が設けられており、CK端子81の右隣にS端子85が配置され、そのさらに右隣にSI端子83が配置されている。また、S端子85の下側にD端子82が配置され、D端子82と同じ高さの右側にQ端子84、さらにQ端子84の右側にSO端子86が、それぞれ配置されている。
【0024】
従来、駆動能力が不足しているセルが検出された場合、ユーザは、記憶部12に記憶されているセルライブラリ13を、駆動能力を満足する高速のセルを有する「高速ライブラリ」に変え、全てのセルが高速セルで構成されるように設計をやり直したり、あるいは、セル61−7のみを高速のセル(例えば、図6のセル101)に変えたりしていた。
【0025】
また、駆動能力が過大なセルが検出された場合、同様に駆動能力の小さいセルセルライブラリに変えたり、そのままセルを置き換えないで、回路設計を終了することもあった。
【0026】
【特許文献1】
特開2002−141471号公報
【0027】
【発明が解決しようとする課題】
しかしながら、全てのセルを「高速ライブラリ」のセルに変えた場合、一般的に動作速度を満足しないクリティカルなパスは、回路全体の10%以下であることが多く、この10%のために全てのセルを「高速ライブラリ」のセルに変えると、動作速度を満足している残りのセルについてもリーク電流の大きい高速セルを使用することとなり、回路全体として消費電力が大きくなるという問題がある。
【0028】
駆動能力が過大なセルが検出された場合についても、動作条件を満足していないわけではないが、不要な電力を使用しているという課題が残される。最近のLSI設計においては、1つのLSIに様々なIP(Intellectual Property)や機能が入ってくるため、所定のブロックでは、高速な動作速度が必要だが、他のブロックでは、高速な動作速度が必要ではないということが多くなっており、そのような場合において、上述の課題は、より顕著なものとなる。
【0029】
また、動作速度を満足しないセル61−7を高速のセルに変えた場合、図5のセル61−7と図6のセル101の例のように、それぞれの端子の配置と機能が異なるため、再度、図2のLSI設計処理を行わなければならなくなるため、設計に手間と時間がかかるという問題があった。
【0030】
このような問題を解決する手段として、所定のブロックには高速のセル(低閾値電圧Vth)を使用し、他のブロックには、通常のセル(高閾値電圧Vth)を使用したマルチVthのLSI回路も存在するが、そのような方法は、製作過程においてマスクの枚数が増加し、製造コストが高くなるという問題があった。
【0031】
本発明は、このような状況に鑑みてなされたものであり、低スタンバイ電力、高速動作、および低消費電力を満足する回路を容易に設計することができるようにするものである。
【0032】
【課題を解決するための手段】
本発明の回路設計装置は、回路の駆動の条件を設定する設定手段と、複数の種類の素子を記憶する記憶手段と、条件設定手段により設定された条件に基づき記憶手段に記憶されている素子を用いて回路を設計する設計手段と、設計手段により設計された回路の動作速度を算出する算出手段と、算出手段により算出された動作速度が所望の動作速度であるか否かを判定する判定手段と、判定手段により、算出手段により算出された動作速度が所望の動作速度ではないと判断された場合、回路内の所定の素子を、記憶手段に記憶されている複数の素子のうちの1つの素子と置換し、再設計する再設計手段とを備え、再設計手段により置換され、記憶手段に記憶されている複数の素子は、素子が備える端子が、互いに互換性のある位置に配置され、その互換性のある位置に配置される端子の機能は、同一の機能とされていることを特徴とする。
【0033】
前記記憶手段に記憶されている複数の素子は、その素子の幅が同一の大きさとされているようにすることができる。
【0034】
前記記憶手段に記憶されている複数の素子は、その素子の高さが異なり、駆動能力が異なる素子であるようにすることができる。
【0035】
前記記憶手段に記憶されている複数の素子は、その素子の高さが同じで、コンデンサの搭載の有無が異なる素子であるようにすることができる。
【0036】
本発明の回路設計方法は、回路の駆動の条件を設定する設定ステップと、複数の種類の素子の記憶を制御する記憶制御ステップと、条件設定ステップの処理で設定された条件に基づき記憶制御ステップの処理で記憶が制御された素子を用いて回路を設計する設計ステップと、設計ステップの処理で設計された回路の動作速度を算出する算出ステップと、算出ステップの処理で算出された動作速度が所望の動作速度であるか否かを判定する判定ステップと、判定ステップの処理で、算出ステップの処理により算出された動作速度が所望の動作速度ではないと判断された場合、回路内の所定の素子を、記憶制御ステップの処理で記憶が制御された複数の素子のうちの1つの素子と置換し、再設計する再設計ステップとを含み、再設計ステップの処理で置換され、記憶制御ステップの処理で記憶が制御された複数の素子は、素子が備える端子が、互いに互換性のある位置に配置され、その互換性のある位置に配置される端子の機能は、同一の機能とされていることを特徴とする。
【0037】
本発明のプログラムは、回路の駆動の条件を設定する設定ステップと、複数の種類の素子の記憶を制御する記憶制御ステップと、条件設定ステップの処理で設定された条件に基づき記憶制御ステップの処理で記憶が制御された素子を用いて回路を設計する設計ステップと、設計ステップの処理で設計された回路の動作速度を算出する算出ステップと、算出ステップの処理で算出された動作速度が所望の動作速度であるか否かを判定する判定ステップと、判定ステップの処理で、算出ステップの処理により算出された動作速度が所望の動作速度ではないと判断された場合、回路内の所定の素子を、記憶制御ステップの処理で記憶が制御された複数の素子のうちの1つの素子と置換し、再設計する再設計ステップとを含み、再設計ステップの処理で置換され、記憶制御ステップの処理で記憶が制御された複数の素子は、素子が備える端子が、互いに互換性のある位置に配置され、その互換性のある位置に配置される端子の機能は、同一の機能とされているを含む処理をコンピュータに実行させることを特徴とする。
【0038】
本発明の素子は、回路を構成する素子であって、素子が備える端子が、複数の端子間で互換性のある位置に配置され、互換性のある位置に配置された端子同士は、同一の機能を有することを特徴とする。
【0039】
本発明の製造装置は、上記記載の素子を製造することを特徴とする。
【0040】
本発明においては、互換性のある素子が用いられて回路設計が行われる。
【0041】
【発明の実施の形態】
以下に、本発明について、図面を参照して説明する。図7は、本発明を適用した回路設計装置201の一実施の形態の構成を示すブロック図である。
【0042】
条件設定部211には、ユーザ(設計者)がこれから設計する回路の設計情報が入力される。入力される設計情報としては、従来と同様に、セルとセル間の配線から成るパスのタイミング要求仕様や、回路が駆動したときの消費電力の仕様値などである。条件設定部211は、入力された情報を回路を駆動するための条件として設定し、レイアウト部215に出力する。
【0043】
一方、記憶部212には、設計対象回路を作成するために使用するセルライブラリ213が入力され、記憶される(ユーザにより登録されるか、あるいは、予め登録されている)。セルライブラリ213には、少なくとも2種類のセル214−1と214−2(セル自体でも良いし、セルの情報でも良い)が入っている。なお、ここでは、2種類として説明するが、さらに多くのセルが入っていても良い。また、セルとは、回路(例えば、LSI)を構成する素子のことである。
【0044】
セルライブラリ213に入っているセル214−1と214−2は、閾値電圧Vth、セルの幅、それぞれの端子のセル内での位置、および、それぞれの端子の機能が同じであるが、セルの高さが異なる。セルの高さが異なることにより、セル214―1と214−2は、駆動能力が異なるセルとされる。
【0045】
2種類のセル214−1と214−2の例として、図8および図9に示されるようなセル101とセル231が考えられる。
【0046】
図8のセル101は、従来の図6のセル101と同様のものであるので、対応する部分には同一の符号を付してあり、その説明は省略する。
【0047】
一方、図9のセル231は、図8のセル101に対して、上述したように、閾値電圧Vth、セルの幅W、およびセルのそれぞれの端子の位置と機能が同じで、セルの高さH1(8グリッド分)だけが異なり(セル101の高さH2は14グリッド分)、駆動能力は小さい(動作速度は遅い)が、リーク電流が小さく、低スタンバイ電力、低消費電力であるという特徴を備えている。
【0048】
すなわち、セル101(図8)とセル231(図9)を重ね合わせたと仮定したとき、それぞれの端子(CK端子81、D端子82、SI端子83、Q端子84、S端子85、および、SO端子86)は、同一の機能を有する端子同士が(例えば、セル101のCK端子81とセル231のCK端子81が)、重なり合う位置に(同一の位置に)位置するように設計されている。さらに換言するに、異なるセル間においても、互換性のある位置に、それぞれの端子が設けられており、その互換性のある位置に設けられている端子同士は、同一の機能を有する。
【0049】
図7の説明に戻り、レイアウト部215は、入力された設計対象回路(LSI)の条件に基づいて、記憶部212に登録されているセルを利用して、セルの配置およびセル間の配線を行い、その結果を動作速度算出部216に出力する。
【0050】
動作速度算出部216は、レイアウト部215により設計された回路の動作速度を算出し、その結果を置換部217に出力する。置換部217は、回路のセルの中で動作速度を満足していないセルがある場合には、記憶部212に記憶された他のセルと入れ替えて、低スタンバイ電力、高速動作、および低消費電力を満足する回路を出力する。
【0051】
次に、図10のフローチャートを参照して、システムLSIを設計する場合の回路設計装置201のLSI設計処理について説明する。
【0052】
ステップS21において、条件設定部211は、ユーザ(設計者)により入力された設計情報に基づいて回路を駆動するための条件を設定し、レイアウト部215に出力する。
【0053】
ステップS22において、記憶部212は、入力されたセルライブラリ213を記憶部212に記憶する。上述したように、セルライブラリ213の中には、セルの幅Wと、それぞれのセルの端子の位置と機能が同じで、セルの高さが異なることにより駆動能力が異なるセルが所定の数だけ用意されている。すでに記憶されている場合には、この処理は省略することができる。
【0054】
ステップS23において、レイアウト部215は、条件設定部211より入力された設計対象回路の条件に基づいて、記憶部212に記憶されているセルライブラリ213を利用して、セルの配置およびセル間の配線を行う。ここでは、例えば、図8に示されるセル101を使用してセルの配置およびセル間の配線が行われる。
【0055】
ステップS24において、動作速度算出部216は、レイアウト部215により設計された回路の動作速度を算出し、算出結果を置換部217に出力する。
【0056】
ステップS25で、駆動能力が過大であるか、または不足するセルがあると判定された場合、置換部217は、処理をステップS26に進め、そのセルを、セルの幅と端子の位置と機能が同じで、駆動能力だけが異なるセルと置換して、出力する。すなわち、再設計が行なわれる。
【0057】
例えば、図8のセル101を用いて設計していた場合、低インピーダンス、または誘導性・容量性不可でない場合などの配線負荷がそれ程大きくなく、駆動能力が必要以上に大きすぎるセルであると判定されたとき、図9に示されるようなセル231と置換することが可能である。セルの幅、およびそれぞれの端子の位置と機能が同じであるため、容易に置換が可能となる。また、このような場合、セルの高さが低いセルに置き換えることになるので、配線の混雑度を和らげたり、配線密度を上げることができ、配線後のタイミングの収束も容易となる。
【0058】
一方、図10のLSI設計処理で、初めに図9のセル231を使用して回路を設計した場合、例えば、クロックに同期して逐次動作を行うデジタル回路のような、タイミングがずれると動作に支障がある回路において、ステップS25で、駆動能力が不足、すなわち、動作速度を満足していないセルであると判定されたとき、図9のセル231より駆動能力が大きく、要求を満足する図8のセル101に置き換えることにより、回路全体としては電流リークを抑制した回路設計を行うことが可能となる。
【0059】
なお、駆動能力が過大であるか、又は、不足するセルがあるか否かの判定における判定基準は、設計の段階で、予め演算されている数値や、実験的に測定された測定値などが元に設定されるものであり、設計において異なってくる基準である。
【0060】
ステップS25において、置換部217は、駆動能力が過大であるか、または不足するセルがあるか否かを判定する。駆動能力が過大であるか、または不足するセルがないと判定された場合、ステップS26の置換処理はスキップされる。
【0061】
このような図10に示したようなフローチャートの処理は、所望の動作速度が得られるまで、繰り返し行われる。なお、記憶部212に、物としてのセル214を記憶(保持)するようにした場合、実際の物としてのLSIが作成され、その物としてのLSIを用いて動作速度算出部216による動作速度の算出が行われる。また、記憶部212に、セル214の情報を記憶するようにした場合、上述した処理は、シミュレーションとして行われることになり、動作速度算出部216は、データ上で作成されたLSIに対して動作速度の算出を行う。
【0062】
以上のように、セルの高さは異なるが、セルの幅、およびそれぞれの端子の位置と機能が同じで駆動能力の異なる2種類のセルを組み合わせて設計することにより、低スタンバイ電力、低消費電力、および高速動作を満足する回路を設計することができる。
【0063】
なお、セルの高さが異なるセルを上述したように置き換えることにより、電源配線71とグランド配線72の距離が異なるといった状況が発生する場合が考えられるが、予めその高さを考慮したセルの配置および配線をすることによって解決することが可能である。
【0064】
次に、第2の実施の形態として、図11で示されるような電源配線とグランド配線の間にコンデンサ領域を備えたセル241を使用する場合を考える。これは、例えば、電源インピーダンスが高周波的に無視できない可能性がある箇所が予想される場合などに適用することができる。
【0065】
セル241は、駆動能力は図9に示したセル231と同じで、動作速度は遅く、リーク電流は小さいという特徴をもつが、セルの幅Wおよび高さH2と、それぞれの端子の位置と機能は、図8のセル101と合わせてあるセルとする。また、セルの高さが高くされることにより電源配線71とグランド配線72の間のスペースが発生し、そのスペースに、コンデンサを持つ領域242が設けられ、ここにバイパスコンデンサ(図示せず)が形成されるようになされている。なお、図8と対応する部分については、同一の符号を付してあり、以下では、その説明は省略する。
【0066】
ここでは、図8に示したセル101と図11に示したセル241が、セルライブラリ213に記憶されているとして説明する。勿論、図9に示したセル231もセルライブラリ213に記憶されていても良い。
【0067】
このように、図11に示したセル241が記憶されている場合においても、図7に示した回路設計装置201の動作は、図10に示したフローチャートに従って行われる。ただし、ステップS25における判定が以下のようにして行われる。すなわち、要求されている動作速度を満足しないセルが検出された場合、そのセルが、電源インピーダンスが高周波的に無視できる箇所であるか否かがさらに判定される。換言すれば、ノイズの発生に対して無視(許容)できるセルであるか否かがさらに判定される。
【0068】
この判定において、ノイズの発生に対して無視できるセルであると判断された場合には、ステップS26に進み、置換部217は、図8の高速のセル101と置き換える。また、無視できないセルであると判断された場合も、ステップS26に進むが、例えば、図示はしていないが、コンデンサを有するセル241とは異なる高さのセルなどに置き換えるといった処理が実行される。
【0069】
このような置き換えを行うことにより、ノイズを考慮し、かつ、動作速度を高速にすることを考慮した回路設計を行うことが可能となる。
【0070】
このような場合においても、図11のセル241と図8のセル101の置き換えは、セルの幅と端子の位置と機能がそれぞれ同じであるので、セルの配置およびセル間の配線の設計を再考することなく容易に置き換えることができる。
【0071】
以上のように、セルの幅、およびセルの端子の位置と機能が等しく、駆動能力が異なる2種類のセルを用いて回路を設計することにより、低スタンバイ電力、低消費電力、および高速動作を満足し、電源ノイズに対してマージンの大きい回路を容易に設計することができる。
【0072】
また、シミュレーションした後に作成される製造過程におけるマスクの枚数の増加もないため、生産時のコストアップもおさえることができ、スタンバイ電流が抑えられるため、IDDQ(Quiescent Power Supply Current)試験も容易に行うことができる。
【0073】
従って、タイミング的な特性、電流特性のバランスの良いLSIを設計することが可能となり、チップ面積、信頼性等に関してさらに有利なLSIを開発することが可能となる。
【0074】
また、事前に、条件設定部211に入力する条件を、予め正確に、演算などにより設定しておかなくても良い。例えば、物としてのセルを用いて上述した処理を実行する際、最初、図8に示したセル101だけで回路を構成させ、その後、実際にできた回路を用いて、測定などを行い、所望の動作速度など、所望の値に近づくようにセル101を図9に示したセル231に置き換えていくといったようなことも、本発明を適用することにより容易に行うことが可能となる。
【0075】
すなわち、回路設計の段階において、実際に作成された回路により、所望の回路を作りあげるといったことが容易に行うことが可能となる。
【0076】
このような、閾値電圧Vth、セルの幅W、およびセルのそれぞれの端子の位置と機能が同じで、セルの高さHのみが異なる複数のセルを製造する段階においても、このようなセルを用いる利点がある。
【0077】
例えば、従来においては、セル同士に互換性はなく、換言すれば、異なるセルは、異なる端子の配置をしていた。そのために、セルを製造する段階においても、それらのセル毎に製造ラインを設けたり、製造装置や、その製造装置のプログラムを、それぞれのセル毎に設けたりといったことが必要であった。
【0078】
しかしながら、本発明においては、端子の配置などは同一に構成されているため、そのセルの端子の配置に関わる部分においては、1つの製造ライン(装置やプログラム)により製造することが可能となる。すなわち、異なるセル(高さの異なるセル)で合っても、同一の製造ライン(装置やプログラム)で製造することが可能となる。このために、セルの製造にかかるコストを低減させることが可能となる。
【0079】
なお、上述した実施の形態においては、異なるセル同士でも、セルの幅は同一で、高さは異なるとしたが、幅も必要に応じ異なるようにしても良い。また、高さを同一とし、幅を異なる幅とするようにしても良い。
【0080】
上述した一連の処理は、ハードウエアにより実行させることもできるし、ソフトウエアにより実行させることもできる。この場合、例えば、回路設計装置は、図12に示されるようなパーソナルコンピュータにより構成される。
【0081】
図12において、CPU(Central Processing Unit)301は、ROM(Read Only Memory)302に記憶されているプログラム、または記憶部308からRAM(Random Access Memory)303にロードされたプログラムに従って各種の処理を実行する。RAM303にはまた、CPU301が各種の処理を実行する上において必要なデータなども適宜記憶される。
【0082】
CPU301、ROM302、およびRAM303は、バス304を介して相互に接続されている。このバス304にはまた、入出力インタフェース305も接続されている。
【0083】
入出力インタフェース305には、キーボード、マウスなどよりなる入力部306、CRT(Cathode Ray Tube)、LCD(Liquid Crystal display)などよりなるディスプレイ、並びにスピーカなどよりなる出力部307、ハードディスクなどより構成される記憶部308、モデム、ターミナルアダプタなどより構成される通信部309が接続されている。通信部309は、インターネットを含むネットワークを介しての通信処理を行う。
【0084】
入出力インタフェース305にはまた、必要に応じてドライブ310が接続され、磁気ディスク321、光ディスク322、光磁気ディスク323、或いは半導体メモリ324などが適宜装着され、それらから読み出されたコンピュータプログラムが、必要に応じて記憶部308にインストールされる。
【0085】
なお、本明細書において、記録媒体に記録されるプログラムを記述するステップは、記載された順序に沿って時系列的に行われる処理はもちろん、必ずしも時系列的に処理されなくとも、並列的あるいは個別に実行される処理をも含むものである。
【0086】
【発明の効果】
以上のごとく本発明によれば、回路設計を容易に行うことが可能となる。
【0087】
また、本発明によれば、低スタンバイ電力、高速動作、および低消費電力を満足する回路をより容易に設計することが可能となる。
【図面の簡単な説明】
【図1】従来の回路設計装置の構成を示すブロック図である。
【図2】図1の回路設計装置のLSI設計処理を説明するフローチャートである。
【図3】LSIチップの例を示す図である。
【図4】LSIチップのブロックの回路の構成を示す図である。
【図5】セルの例を示す図である。
【図6】セルの例を示す図である。
【図7】本発明を適用した回路設計装置の構成を示すブロック図である。
【図8】セルの例を示す図である。
【図9】セルの例を示す図である。
【図10】図7の回路設計装置のLSI設計処理を説明するフローチャートである。
【図11】セルの例を示す図である。
【図12】本発明を適用したコンピュータの一実施の形態の構成例を示すブロック図である。
【符号の説明】
201 回路設計装置, 211 条件設定部, 212 記憶部, 213セルライブラリ, 214−1,214−2 セル, 215 レイアウト部, 216 動作速度算出部, 217 置換部
【発明の属する技術分野】
本発明は、回路設計装置および方法、記録媒体、並びにプログラムに関し、特に、低スタンバイ電力、高速動作、および低消費電力を満足する回路を容易に設計することができるようにした回路設計装置および方法、記録媒体、並びにプログラムに関する。
【0002】
【従来の技術】
図1は、セルベースのシステムLSIを設計するための従来の回路設計装置1の一例の構成を示すブロック図である。
【0003】
条件設定部11には、ユーザ(設計者)がこれから設計する回路(以下、設計対象回路と称する)の設計情報が入力される。入力される設計情報としては、例えば、セルとセル間の配線から成るパスのタイミング要求仕様や、回路が駆動したときの消費電力の仕様値などである。条件設定部11は、入力された情報を回路を駆動するための条件として設定し、レイアウト部15に出力する。
【0004】
一方、記憶部12には、設計対象回路を作成するために使用するセルライブラリ13が入力され、記憶される(ユーザにより登録される)。スタンダードセルのライブラリを使用する場合、そのライブラリは、プロセス等の違いにより「通常ライブラリ」または「高速ライブラリ」などが複数用意されているのが一般的である。ユーザは、設計する回路の要求仕様(条件設定部11に入力した条件)に応じてどちらかのライブラリを選択して入力する。例えば、高速のLSIを設計する場合、ユーザは、高速なセル14を備えるセルライブラリ13を選択して入力する。
【0005】
「高速ライブラリ」と「通常ライブラリ」の違いは、例えば、閾値電圧Vthの違いであり、「高速ライブラリ」は、閾値電圧Vthの低いトランジスタを用いて作成されており、「通常ライブラリ」は、閾値電圧Vthが高く、スタンバイ電力の低いトランジスタを用いて作成されている。
【0006】
レイアウト部15は、入力された設計対象回路の条件に基づいて、記憶部12に登録されたセルを利用して、セルの配置およびセル間の配線を行い、その結果を動作速度算出部16に出力する。
【0007】
動作速度算出部16は、レイアウト部15により設計された回路の動作速度を算出し、その結果を出力する。
【0008】
次に、図2のフローチャートを参照して、モバイル用のシステムLSIを設計する場合の回路設計装置1のLSI設計処理について説明する。
【0009】
ステップS1において、条件設定部11は、ユーザ(設計者)により入力された設計情報に基づいて回路を駆動するための条件を設定し、レイアウト部15に出力する。
【0010】
ステップS2において、記憶部12は、入力されたセルライブラリ13を記憶する。モバイル用のシステムLSIを設計する場合、消費電力を抑えるため、「通常ライブラリ」が入力される。「通常ライブラリ」は、閾値電圧Vthが高く、動作速度が遅いが、リーク電流が小さく、スタンバイ電力が低いという特徴を有している。一方、「高速ライブラリ」は、閾値電圧Vthが低く、動作速度が速いが、リーク電流が大きく、スタンバイ電力が高いという特徴を有している。
【0011】
ステップS3において、レイアウト部15は、条件設定部11より入力された設計対象回路の条件に基づいて、記憶部12に記憶されたセルライブラリ13を利用して、セルの配置およびセル間の配線を行う。
【0012】
図3は、設計対象回路となるLSIチップ31を示しており、その一部のブロック32について、上述のステップS3の処理により、図4で示されるようなセルの配置およびセル間の配線がなされたものとする。
【0013】
図4のブロック32には、3つのセル列51−1乃至51−3が配置されている。セル列51−1は、セル61−1乃至61−4とセル間の配線62で構成されている。また、セル列51−2および51−3も同様に、セル61−5乃至61−8およびセル61−9乃至61−11とセル間の配線62でそれぞれ構成されている。
【0014】
ステップS4において、動作速度算出部16は、レイアウト部15により設計された回路の動作速度を算出する。
【0015】
ステップS5において、動作速度算出部16は、駆動能力が過大なまたは不足するセルがあるか否かをチェックして処理を終了する。
【0016】
例えば、特許文献1には、上述のような配線遅延などによるタイミングチェックおよびクリティカルなパスを考慮し、セルライブラリを使用したLSIの設計方法が開示されている。
【0017】
図4で示されるブロック32の回路において、図2のLSI設計処理により、セル61−7が、駆動能力が不足している、すなわち、動作速度が満足されていないセルであるとして検出されたとする。
【0018】
図5は、フリップ・フロップのセル61−7の例を示している。
【0019】
セル61−7は、セルの幅Wと8グリッド分のセルの高さH1の大きさを有している。セル61−7の上側と下側に、電源配線71とグランド配線72が配置されており、電源配線71とグランド配線72の間にそれぞれの端子が配置されている。
【0020】
セル61−7の最も左側に設けられた端子は、クロック入力端子(以下、CK端子と称する)81であり、CK端子81の右隣に、データ入力端子(以下、D端子と称する)82、D端子82の右隣に、シリアル入力端子(以下、SI端子と称する)83、SI端子83より右側の少し離れた位置にQ出力端子(以下、Q端子と称する)84が、それぞれ配置されている。D端子82とSI端子83の間の下方には、セット入力端子(以下、S端子と称する)85が配置され、S端子85と同じ高さの右側にシリアル出力端子(以下、SO端子と称する)86がそれぞれ配置されている。
【0021】
図6は、図4のセル61−7に要求される駆動能力を満足する高速のセル101の例を示している。なお、図5と対応する部分については、同一の符号を付してあり、以下では、その説明は、適宜省略する。
【0022】
セル101は、図5のセル61−7と比べて、セルの幅Wは同じであるが、セルの高さH2は14グリッド分とされている。すなわち、セル61−7のセル高さH1(8グリッド分)より高くすることにより、駆動能力が速くされており、閾値電圧Vthは同じとされている。
【0023】
また、それぞれの端子の配置がセル61−7と異なっている。すなわち、セル101の最も左側に、CK端子81が設けられており、CK端子81の右隣にS端子85が配置され、そのさらに右隣にSI端子83が配置されている。また、S端子85の下側にD端子82が配置され、D端子82と同じ高さの右側にQ端子84、さらにQ端子84の右側にSO端子86が、それぞれ配置されている。
【0024】
従来、駆動能力が不足しているセルが検出された場合、ユーザは、記憶部12に記憶されているセルライブラリ13を、駆動能力を満足する高速のセルを有する「高速ライブラリ」に変え、全てのセルが高速セルで構成されるように設計をやり直したり、あるいは、セル61−7のみを高速のセル(例えば、図6のセル101)に変えたりしていた。
【0025】
また、駆動能力が過大なセルが検出された場合、同様に駆動能力の小さいセルセルライブラリに変えたり、そのままセルを置き換えないで、回路設計を終了することもあった。
【0026】
【特許文献1】
特開2002−141471号公報
【0027】
【発明が解決しようとする課題】
しかしながら、全てのセルを「高速ライブラリ」のセルに変えた場合、一般的に動作速度を満足しないクリティカルなパスは、回路全体の10%以下であることが多く、この10%のために全てのセルを「高速ライブラリ」のセルに変えると、動作速度を満足している残りのセルについてもリーク電流の大きい高速セルを使用することとなり、回路全体として消費電力が大きくなるという問題がある。
【0028】
駆動能力が過大なセルが検出された場合についても、動作条件を満足していないわけではないが、不要な電力を使用しているという課題が残される。最近のLSI設計においては、1つのLSIに様々なIP(Intellectual Property)や機能が入ってくるため、所定のブロックでは、高速な動作速度が必要だが、他のブロックでは、高速な動作速度が必要ではないということが多くなっており、そのような場合において、上述の課題は、より顕著なものとなる。
【0029】
また、動作速度を満足しないセル61−7を高速のセルに変えた場合、図5のセル61−7と図6のセル101の例のように、それぞれの端子の配置と機能が異なるため、再度、図2のLSI設計処理を行わなければならなくなるため、設計に手間と時間がかかるという問題があった。
【0030】
このような問題を解決する手段として、所定のブロックには高速のセル(低閾値電圧Vth)を使用し、他のブロックには、通常のセル(高閾値電圧Vth)を使用したマルチVthのLSI回路も存在するが、そのような方法は、製作過程においてマスクの枚数が増加し、製造コストが高くなるという問題があった。
【0031】
本発明は、このような状況に鑑みてなされたものであり、低スタンバイ電力、高速動作、および低消費電力を満足する回路を容易に設計することができるようにするものである。
【0032】
【課題を解決するための手段】
本発明の回路設計装置は、回路の駆動の条件を設定する設定手段と、複数の種類の素子を記憶する記憶手段と、条件設定手段により設定された条件に基づき記憶手段に記憶されている素子を用いて回路を設計する設計手段と、設計手段により設計された回路の動作速度を算出する算出手段と、算出手段により算出された動作速度が所望の動作速度であるか否かを判定する判定手段と、判定手段により、算出手段により算出された動作速度が所望の動作速度ではないと判断された場合、回路内の所定の素子を、記憶手段に記憶されている複数の素子のうちの1つの素子と置換し、再設計する再設計手段とを備え、再設計手段により置換され、記憶手段に記憶されている複数の素子は、素子が備える端子が、互いに互換性のある位置に配置され、その互換性のある位置に配置される端子の機能は、同一の機能とされていることを特徴とする。
【0033】
前記記憶手段に記憶されている複数の素子は、その素子の幅が同一の大きさとされているようにすることができる。
【0034】
前記記憶手段に記憶されている複数の素子は、その素子の高さが異なり、駆動能力が異なる素子であるようにすることができる。
【0035】
前記記憶手段に記憶されている複数の素子は、その素子の高さが同じで、コンデンサの搭載の有無が異なる素子であるようにすることができる。
【0036】
本発明の回路設計方法は、回路の駆動の条件を設定する設定ステップと、複数の種類の素子の記憶を制御する記憶制御ステップと、条件設定ステップの処理で設定された条件に基づき記憶制御ステップの処理で記憶が制御された素子を用いて回路を設計する設計ステップと、設計ステップの処理で設計された回路の動作速度を算出する算出ステップと、算出ステップの処理で算出された動作速度が所望の動作速度であるか否かを判定する判定ステップと、判定ステップの処理で、算出ステップの処理により算出された動作速度が所望の動作速度ではないと判断された場合、回路内の所定の素子を、記憶制御ステップの処理で記憶が制御された複数の素子のうちの1つの素子と置換し、再設計する再設計ステップとを含み、再設計ステップの処理で置換され、記憶制御ステップの処理で記憶が制御された複数の素子は、素子が備える端子が、互いに互換性のある位置に配置され、その互換性のある位置に配置される端子の機能は、同一の機能とされていることを特徴とする。
【0037】
本発明のプログラムは、回路の駆動の条件を設定する設定ステップと、複数の種類の素子の記憶を制御する記憶制御ステップと、条件設定ステップの処理で設定された条件に基づき記憶制御ステップの処理で記憶が制御された素子を用いて回路を設計する設計ステップと、設計ステップの処理で設計された回路の動作速度を算出する算出ステップと、算出ステップの処理で算出された動作速度が所望の動作速度であるか否かを判定する判定ステップと、判定ステップの処理で、算出ステップの処理により算出された動作速度が所望の動作速度ではないと判断された場合、回路内の所定の素子を、記憶制御ステップの処理で記憶が制御された複数の素子のうちの1つの素子と置換し、再設計する再設計ステップとを含み、再設計ステップの処理で置換され、記憶制御ステップの処理で記憶が制御された複数の素子は、素子が備える端子が、互いに互換性のある位置に配置され、その互換性のある位置に配置される端子の機能は、同一の機能とされているを含む処理をコンピュータに実行させることを特徴とする。
【0038】
本発明の素子は、回路を構成する素子であって、素子が備える端子が、複数の端子間で互換性のある位置に配置され、互換性のある位置に配置された端子同士は、同一の機能を有することを特徴とする。
【0039】
本発明の製造装置は、上記記載の素子を製造することを特徴とする。
【0040】
本発明においては、互換性のある素子が用いられて回路設計が行われる。
【0041】
【発明の実施の形態】
以下に、本発明について、図面を参照して説明する。図7は、本発明を適用した回路設計装置201の一実施の形態の構成を示すブロック図である。
【0042】
条件設定部211には、ユーザ(設計者)がこれから設計する回路の設計情報が入力される。入力される設計情報としては、従来と同様に、セルとセル間の配線から成るパスのタイミング要求仕様や、回路が駆動したときの消費電力の仕様値などである。条件設定部211は、入力された情報を回路を駆動するための条件として設定し、レイアウト部215に出力する。
【0043】
一方、記憶部212には、設計対象回路を作成するために使用するセルライブラリ213が入力され、記憶される(ユーザにより登録されるか、あるいは、予め登録されている)。セルライブラリ213には、少なくとも2種類のセル214−1と214−2(セル自体でも良いし、セルの情報でも良い)が入っている。なお、ここでは、2種類として説明するが、さらに多くのセルが入っていても良い。また、セルとは、回路(例えば、LSI)を構成する素子のことである。
【0044】
セルライブラリ213に入っているセル214−1と214−2は、閾値電圧Vth、セルの幅、それぞれの端子のセル内での位置、および、それぞれの端子の機能が同じであるが、セルの高さが異なる。セルの高さが異なることにより、セル214―1と214−2は、駆動能力が異なるセルとされる。
【0045】
2種類のセル214−1と214−2の例として、図8および図9に示されるようなセル101とセル231が考えられる。
【0046】
図8のセル101は、従来の図6のセル101と同様のものであるので、対応する部分には同一の符号を付してあり、その説明は省略する。
【0047】
一方、図9のセル231は、図8のセル101に対して、上述したように、閾値電圧Vth、セルの幅W、およびセルのそれぞれの端子の位置と機能が同じで、セルの高さH1(8グリッド分)だけが異なり(セル101の高さH2は14グリッド分)、駆動能力は小さい(動作速度は遅い)が、リーク電流が小さく、低スタンバイ電力、低消費電力であるという特徴を備えている。
【0048】
すなわち、セル101(図8)とセル231(図9)を重ね合わせたと仮定したとき、それぞれの端子(CK端子81、D端子82、SI端子83、Q端子84、S端子85、および、SO端子86)は、同一の機能を有する端子同士が(例えば、セル101のCK端子81とセル231のCK端子81が)、重なり合う位置に(同一の位置に)位置するように設計されている。さらに換言するに、異なるセル間においても、互換性のある位置に、それぞれの端子が設けられており、その互換性のある位置に設けられている端子同士は、同一の機能を有する。
【0049】
図7の説明に戻り、レイアウト部215は、入力された設計対象回路(LSI)の条件に基づいて、記憶部212に登録されているセルを利用して、セルの配置およびセル間の配線を行い、その結果を動作速度算出部216に出力する。
【0050】
動作速度算出部216は、レイアウト部215により設計された回路の動作速度を算出し、その結果を置換部217に出力する。置換部217は、回路のセルの中で動作速度を満足していないセルがある場合には、記憶部212に記憶された他のセルと入れ替えて、低スタンバイ電力、高速動作、および低消費電力を満足する回路を出力する。
【0051】
次に、図10のフローチャートを参照して、システムLSIを設計する場合の回路設計装置201のLSI設計処理について説明する。
【0052】
ステップS21において、条件設定部211は、ユーザ(設計者)により入力された設計情報に基づいて回路を駆動するための条件を設定し、レイアウト部215に出力する。
【0053】
ステップS22において、記憶部212は、入力されたセルライブラリ213を記憶部212に記憶する。上述したように、セルライブラリ213の中には、セルの幅Wと、それぞれのセルの端子の位置と機能が同じで、セルの高さが異なることにより駆動能力が異なるセルが所定の数だけ用意されている。すでに記憶されている場合には、この処理は省略することができる。
【0054】
ステップS23において、レイアウト部215は、条件設定部211より入力された設計対象回路の条件に基づいて、記憶部212に記憶されているセルライブラリ213を利用して、セルの配置およびセル間の配線を行う。ここでは、例えば、図8に示されるセル101を使用してセルの配置およびセル間の配線が行われる。
【0055】
ステップS24において、動作速度算出部216は、レイアウト部215により設計された回路の動作速度を算出し、算出結果を置換部217に出力する。
【0056】
ステップS25で、駆動能力が過大であるか、または不足するセルがあると判定された場合、置換部217は、処理をステップS26に進め、そのセルを、セルの幅と端子の位置と機能が同じで、駆動能力だけが異なるセルと置換して、出力する。すなわち、再設計が行なわれる。
【0057】
例えば、図8のセル101を用いて設計していた場合、低インピーダンス、または誘導性・容量性不可でない場合などの配線負荷がそれ程大きくなく、駆動能力が必要以上に大きすぎるセルであると判定されたとき、図9に示されるようなセル231と置換することが可能である。セルの幅、およびそれぞれの端子の位置と機能が同じであるため、容易に置換が可能となる。また、このような場合、セルの高さが低いセルに置き換えることになるので、配線の混雑度を和らげたり、配線密度を上げることができ、配線後のタイミングの収束も容易となる。
【0058】
一方、図10のLSI設計処理で、初めに図9のセル231を使用して回路を設計した場合、例えば、クロックに同期して逐次動作を行うデジタル回路のような、タイミングがずれると動作に支障がある回路において、ステップS25で、駆動能力が不足、すなわち、動作速度を満足していないセルであると判定されたとき、図9のセル231より駆動能力が大きく、要求を満足する図8のセル101に置き換えることにより、回路全体としては電流リークを抑制した回路設計を行うことが可能となる。
【0059】
なお、駆動能力が過大であるか、又は、不足するセルがあるか否かの判定における判定基準は、設計の段階で、予め演算されている数値や、実験的に測定された測定値などが元に設定されるものであり、設計において異なってくる基準である。
【0060】
ステップS25において、置換部217は、駆動能力が過大であるか、または不足するセルがあるか否かを判定する。駆動能力が過大であるか、または不足するセルがないと判定された場合、ステップS26の置換処理はスキップされる。
【0061】
このような図10に示したようなフローチャートの処理は、所望の動作速度が得られるまで、繰り返し行われる。なお、記憶部212に、物としてのセル214を記憶(保持)するようにした場合、実際の物としてのLSIが作成され、その物としてのLSIを用いて動作速度算出部216による動作速度の算出が行われる。また、記憶部212に、セル214の情報を記憶するようにした場合、上述した処理は、シミュレーションとして行われることになり、動作速度算出部216は、データ上で作成されたLSIに対して動作速度の算出を行う。
【0062】
以上のように、セルの高さは異なるが、セルの幅、およびそれぞれの端子の位置と機能が同じで駆動能力の異なる2種類のセルを組み合わせて設計することにより、低スタンバイ電力、低消費電力、および高速動作を満足する回路を設計することができる。
【0063】
なお、セルの高さが異なるセルを上述したように置き換えることにより、電源配線71とグランド配線72の距離が異なるといった状況が発生する場合が考えられるが、予めその高さを考慮したセルの配置および配線をすることによって解決することが可能である。
【0064】
次に、第2の実施の形態として、図11で示されるような電源配線とグランド配線の間にコンデンサ領域を備えたセル241を使用する場合を考える。これは、例えば、電源インピーダンスが高周波的に無視できない可能性がある箇所が予想される場合などに適用することができる。
【0065】
セル241は、駆動能力は図9に示したセル231と同じで、動作速度は遅く、リーク電流は小さいという特徴をもつが、セルの幅Wおよび高さH2と、それぞれの端子の位置と機能は、図8のセル101と合わせてあるセルとする。また、セルの高さが高くされることにより電源配線71とグランド配線72の間のスペースが発生し、そのスペースに、コンデンサを持つ領域242が設けられ、ここにバイパスコンデンサ(図示せず)が形成されるようになされている。なお、図8と対応する部分については、同一の符号を付してあり、以下では、その説明は省略する。
【0066】
ここでは、図8に示したセル101と図11に示したセル241が、セルライブラリ213に記憶されているとして説明する。勿論、図9に示したセル231もセルライブラリ213に記憶されていても良い。
【0067】
このように、図11に示したセル241が記憶されている場合においても、図7に示した回路設計装置201の動作は、図10に示したフローチャートに従って行われる。ただし、ステップS25における判定が以下のようにして行われる。すなわち、要求されている動作速度を満足しないセルが検出された場合、そのセルが、電源インピーダンスが高周波的に無視できる箇所であるか否かがさらに判定される。換言すれば、ノイズの発生に対して無視(許容)できるセルであるか否かがさらに判定される。
【0068】
この判定において、ノイズの発生に対して無視できるセルであると判断された場合には、ステップS26に進み、置換部217は、図8の高速のセル101と置き換える。また、無視できないセルであると判断された場合も、ステップS26に進むが、例えば、図示はしていないが、コンデンサを有するセル241とは異なる高さのセルなどに置き換えるといった処理が実行される。
【0069】
このような置き換えを行うことにより、ノイズを考慮し、かつ、動作速度を高速にすることを考慮した回路設計を行うことが可能となる。
【0070】
このような場合においても、図11のセル241と図8のセル101の置き換えは、セルの幅と端子の位置と機能がそれぞれ同じであるので、セルの配置およびセル間の配線の設計を再考することなく容易に置き換えることができる。
【0071】
以上のように、セルの幅、およびセルの端子の位置と機能が等しく、駆動能力が異なる2種類のセルを用いて回路を設計することにより、低スタンバイ電力、低消費電力、および高速動作を満足し、電源ノイズに対してマージンの大きい回路を容易に設計することができる。
【0072】
また、シミュレーションした後に作成される製造過程におけるマスクの枚数の増加もないため、生産時のコストアップもおさえることができ、スタンバイ電流が抑えられるため、IDDQ(Quiescent Power Supply Current)試験も容易に行うことができる。
【0073】
従って、タイミング的な特性、電流特性のバランスの良いLSIを設計することが可能となり、チップ面積、信頼性等に関してさらに有利なLSIを開発することが可能となる。
【0074】
また、事前に、条件設定部211に入力する条件を、予め正確に、演算などにより設定しておかなくても良い。例えば、物としてのセルを用いて上述した処理を実行する際、最初、図8に示したセル101だけで回路を構成させ、その後、実際にできた回路を用いて、測定などを行い、所望の動作速度など、所望の値に近づくようにセル101を図9に示したセル231に置き換えていくといったようなことも、本発明を適用することにより容易に行うことが可能となる。
【0075】
すなわち、回路設計の段階において、実際に作成された回路により、所望の回路を作りあげるといったことが容易に行うことが可能となる。
【0076】
このような、閾値電圧Vth、セルの幅W、およびセルのそれぞれの端子の位置と機能が同じで、セルの高さHのみが異なる複数のセルを製造する段階においても、このようなセルを用いる利点がある。
【0077】
例えば、従来においては、セル同士に互換性はなく、換言すれば、異なるセルは、異なる端子の配置をしていた。そのために、セルを製造する段階においても、それらのセル毎に製造ラインを設けたり、製造装置や、その製造装置のプログラムを、それぞれのセル毎に設けたりといったことが必要であった。
【0078】
しかしながら、本発明においては、端子の配置などは同一に構成されているため、そのセルの端子の配置に関わる部分においては、1つの製造ライン(装置やプログラム)により製造することが可能となる。すなわち、異なるセル(高さの異なるセル)で合っても、同一の製造ライン(装置やプログラム)で製造することが可能となる。このために、セルの製造にかかるコストを低減させることが可能となる。
【0079】
なお、上述した実施の形態においては、異なるセル同士でも、セルの幅は同一で、高さは異なるとしたが、幅も必要に応じ異なるようにしても良い。また、高さを同一とし、幅を異なる幅とするようにしても良い。
【0080】
上述した一連の処理は、ハードウエアにより実行させることもできるし、ソフトウエアにより実行させることもできる。この場合、例えば、回路設計装置は、図12に示されるようなパーソナルコンピュータにより構成される。
【0081】
図12において、CPU(Central Processing Unit)301は、ROM(Read Only Memory)302に記憶されているプログラム、または記憶部308からRAM(Random Access Memory)303にロードされたプログラムに従って各種の処理を実行する。RAM303にはまた、CPU301が各種の処理を実行する上において必要なデータなども適宜記憶される。
【0082】
CPU301、ROM302、およびRAM303は、バス304を介して相互に接続されている。このバス304にはまた、入出力インタフェース305も接続されている。
【0083】
入出力インタフェース305には、キーボード、マウスなどよりなる入力部306、CRT(Cathode Ray Tube)、LCD(Liquid Crystal display)などよりなるディスプレイ、並びにスピーカなどよりなる出力部307、ハードディスクなどより構成される記憶部308、モデム、ターミナルアダプタなどより構成される通信部309が接続されている。通信部309は、インターネットを含むネットワークを介しての通信処理を行う。
【0084】
入出力インタフェース305にはまた、必要に応じてドライブ310が接続され、磁気ディスク321、光ディスク322、光磁気ディスク323、或いは半導体メモリ324などが適宜装着され、それらから読み出されたコンピュータプログラムが、必要に応じて記憶部308にインストールされる。
【0085】
なお、本明細書において、記録媒体に記録されるプログラムを記述するステップは、記載された順序に沿って時系列的に行われる処理はもちろん、必ずしも時系列的に処理されなくとも、並列的あるいは個別に実行される処理をも含むものである。
【0086】
【発明の効果】
以上のごとく本発明によれば、回路設計を容易に行うことが可能となる。
【0087】
また、本発明によれば、低スタンバイ電力、高速動作、および低消費電力を満足する回路をより容易に設計することが可能となる。
【図面の簡単な説明】
【図1】従来の回路設計装置の構成を示すブロック図である。
【図2】図1の回路設計装置のLSI設計処理を説明するフローチャートである。
【図3】LSIチップの例を示す図である。
【図4】LSIチップのブロックの回路の構成を示す図である。
【図5】セルの例を示す図である。
【図6】セルの例を示す図である。
【図7】本発明を適用した回路設計装置の構成を示すブロック図である。
【図8】セルの例を示す図である。
【図9】セルの例を示す図である。
【図10】図7の回路設計装置のLSI設計処理を説明するフローチャートである。
【図11】セルの例を示す図である。
【図12】本発明を適用したコンピュータの一実施の形態の構成例を示すブロック図である。
【符号の説明】
201 回路設計装置, 211 条件設定部, 212 記憶部, 213セルライブラリ, 214−1,214−2 セル, 215 レイアウト部, 216 動作速度算出部, 217 置換部
Claims (8)
- 回路の駆動の条件を設定する設定手段と、
複数の種類の素子を記憶する記憶手段と、
前記条件設定手段により設定された前記条件に基づき前記記憶手段に記憶されている前記素子を用いて前記回路を設計する設計手段と、
前記設計手段により設計された前記回路の動作速度を算出する算出手段と、
前記算出手段により算出された前記動作速度が所望の動作速度であるか否かを判定する判定手段と、
前記判定手段により、前記算出手段により算出された前記動作速度が所望の動作速度ではないと判断された場合、前記回路内の所定の前記素子を、前記記憶手段に記憶されている前記複数の素子のうちの1つの素子と置換し、再設計する再設計手段と
を備え、
前記再設計手段により置換され、前記記憶手段に記憶されている前記複数の素子は、前記素子が備える端子が、互いに互換性のある位置に配置され、その互換性のある位置に配置される端子の機能は、同一の機能とされている
ことを特徴とする回路設計装置。 - 前記記憶手段に記憶されている前記複数の素子は、その素子の幅が同一の大きさとされている
ことを特徴とする請求項1に記載の回路設計装置。 - 前記記憶手段に記憶されている前記複数の素子は、その素子の高さが異なり、駆動能力が異なる素子である
ことを特徴とする請求項1に記載の回路設計装置。 - 前記記憶手段に記憶されている前記複数の素子は、その素子の高さが同じで、コンデンサの搭載の有無が異なる素子である
ことを特徴とする請求項1に記載の回路設計装置。 - 回路の駆動の条件を設定する設定ステップと、
複数の種類の素子の記憶を制御する記憶制御ステップと、
前記条件設定ステップの処理で設定された前記条件に基づき前記記憶制御ステップの処理で記憶が制御された前記素子を用いて前記回路を設計する設計ステップと、
前記設計ステップの処理で設計された前記回路の動作速度を算出する算出ステップと、
前記算出ステップの処理で算出された前記動作速度が所望の動作速度であるか否かを判定する判定ステップと、
前記判定ステップの処理で、前記算出ステップの処理により算出された前記動作速度が所望の動作速度ではないと判断された場合、前記回路内の所定の前記素子を、前記記憶制御ステップの処理で記憶が制御された前記複数の素子のうちの1つの素子と置換し、再設計する再設計ステップと
を含み、
前記再設計ステップの処理で置換され、前記記憶制御ステップの処理で記憶が制御された前記複数の素子は、前記素子が備える端子が、互いに互換性のある位置に配置され、その互換性のある位置に配置される端子の機能は、同一の機能とされている
ことを特徴とする回路設計方法。 - 回路の駆動の条件を設定する設定ステップと、
複数の種類の素子の記憶を制御する記憶制御ステップと、
前記条件設定ステップの処理で設定された前記条件に基づき前記記憶制御ステップの処理で記憶が制御された前記素子を用いて前記回路を設計する設計ステップと、
前記設計ステップの処理で設計された前記回路の動作速度を算出する算出ステップと、
前記算出ステップの処理で算出された前記動作速度が所望の動作速度であるか否かを判定する判定ステップと、
前記判定ステップの処理で、前記算出ステップの処理により算出された前記動作速度が所望の動作速度ではないと判断された場合、前記回路内の所定の前記素子を、前記記憶制御ステップの処理で記憶が制御された前記複数の素子のうちの1つの素子と置換し、再設計する再設計ステップと
を含み、
前記再設計ステップの処理で置換され、前記記憶制御ステップの処理で記憶が制御された前記複数の素子は、前記素子が備える端子が、互いに互換性のある位置に配置され、その互換性のある位置に配置される端子の機能は、同一の機能とされている
を含む処理をコンピュータに実行させることを特徴とするプログラム。 - 回路を構成する素子において、
前記素子が備える端子が、複数の端子間で互換性のある位置に配置され、
前記互換性のある位置に配置された端子同士は、同一の機能を有する
ことを特徴とする素子。 - 請求項7に記載の素子を製造する
ことを特徴とする製造装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002358137A JP2004193260A (ja) | 2002-12-10 | 2002-12-10 | 回路設計装置および方法、素子、製造装置、並びにプログラム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002358137A JP2004193260A (ja) | 2002-12-10 | 2002-12-10 | 回路設計装置および方法、素子、製造装置、並びにプログラム |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2004193260A true JP2004193260A (ja) | 2004-07-08 |
Family
ID=32757943
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2002358137A Withdrawn JP2004193260A (ja) | 2002-12-10 | 2002-12-10 | 回路設計装置および方法、素子、製造装置、並びにプログラム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2004193260A (ja) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2007066239A (ja) * | 2005-09-02 | 2007-03-15 | Fujitsu Ltd | 半導体集積回路のレイアウト設計方法 |
JP2009237972A (ja) * | 2008-03-27 | 2009-10-15 | Fujitsu Microelectronics Ltd | 半導体装置、その設計方法及び設計装置 |
-
2002
- 2002-12-10 JP JP2002358137A patent/JP2004193260A/ja not_active Withdrawn
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2007066239A (ja) * | 2005-09-02 | 2007-03-15 | Fujitsu Ltd | 半導体集積回路のレイアウト設計方法 |
JP4558612B2 (ja) * | 2005-09-02 | 2010-10-06 | 富士通セミコンダクター株式会社 | 半導体集積回路のレイアウト設計方法 |
JP2009237972A (ja) * | 2008-03-27 | 2009-10-15 | Fujitsu Microelectronics Ltd | 半導体装置、その設計方法及び設計装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6493856B2 (en) | Automatic circuit generation apparatus and method, and computer program product for executing the method | |
KR20120003927A (ko) | 적응형 전압 스케일링 | |
JP4528659B2 (ja) | クロックジッタ算出装置、クロックジッタ算出方法、およびクロックジッタ算出プログラム | |
US20070130552A1 (en) | Layout method and computer program product | |
US20060253823A1 (en) | Semiconductor integrated circuit and method for designing same | |
JP4629189B2 (ja) | レイアウト方法、レイアウト装置及び記録媒体 | |
US10943047B2 (en) | Circuit design method and associated computer program product | |
EP3239865A1 (en) | Method for analyzing ir drop and electromigration of ic | |
US6665843B2 (en) | Method and system for quantifying the integrity of an on-chip power supply network | |
JP2008112318A (ja) | 半導体集積回路の消費電力最適化方法及び半導体設計装置 | |
CN111898335A (zh) | 一种电路可靠性分析方法 | |
US8988139B2 (en) | Self-selected variable power integrated circuit | |
US20170024004A1 (en) | Designing apparatus, method and recording medium | |
JP2004193260A (ja) | 回路設計装置および方法、素子、製造装置、並びにプログラム | |
JP4999379B2 (ja) | 半導体集積回路設計方法、半導体集積回路設計装置 | |
US8621412B1 (en) | Micro-regions for auto place and route optimization | |
JP5332972B2 (ja) | デカップリング容量決定方法、デカップリング容量決定装置およびプログラム | |
JP5309538B2 (ja) | 半導体集積回路の設計方法 | |
JP2007323203A (ja) | 半導体集積回路の設計装置および設計方法 | |
JP4130117B2 (ja) | 半導体装置の設計方法 | |
EP4152201A1 (en) | Systems and methods for circuit design dependent programmable maximum junction temperatures | |
TWI701566B (zh) | 電路設計方法及相關的電腦程式產品 | |
JP2011077426A (ja) | 半導体装置の製造方法及び半導体装置 | |
JPH10321725A (ja) | 半導体集積回路の設計方法及び装置 | |
JP2009123832A (ja) | 半導体集積回路の回路設計方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A300 | Application deemed to be withdrawn because no request for examination was validly filed |
Free format text: JAPANESE INTERMEDIATE CODE: A300 Effective date: 20060307 |