(57)【要約】【課題】小さいチップサイズで、ノイズを低減することできる半導体装置、及びその設計方法を提供すること。【解決手段】本発明の一態様に係る半導体装置は、入力に応じて容量が変化する素子１３を備え、所定の機能を有する機能マクロ１１と、機能マクロ１１の不使用時において、素子１３によって機能マクロ１１の容量を制御するものである。これにより、小さいチップサイズで、ノイズを低減することできる半導体装置、及びその設計方法を提供することができる。【選択図】図１
2011159816.tif 000002
【特許請求の範囲】
【請求項１】
入力に応じて容量が変化する素子を備え、所定の機能を有する機能マクロと、
前記機能マクロの不使用時において、前記素子によって前記機能マクロの容量を制御する容量制御回路と、を備える半導体装置。
【請求項２】
前記素子がトランジスタであり、前記トランジスタのゲートのオン／オフ動作を制御することで、前記機能マクロの容量を制御する請求項１に記載の半導体装置。
【請求項３】
前記制御回路からの入力信号によって、前記機能マクロの容量が最大になることを特徴とする請求項１、又は２に記載の半導体装置。
【請求項４】
前記制御回路が前記機能マクロを複数の容量状態に設定可能であることを特徴とする請求項１乃至３のいずれか１項に記載の半導体装置。
【請求項５】
入力に応じて容量が変化する素子を備えた機能マクロに対して、入力に対する容量を求め、
前記機能マクロの未使用時において、前記機能マクロの容量を所定の値とする制御回路を配置する半導体装置の設計方法。
【請求項６】
前記制御回路が、前記素子であるトランジスタのオン／オフ動作を制御する請求項５に記載の半導体装置の設計方法。
【請求項７】
前記制御回路から前記機能マクロに入力される入力信号によって、前記機能マクロの容量が最大になるように前記制御回路が設計されていることを特徴とする請求項５、又は６に記載の半導体装置の設計方法。
【請求項８】
前記制御回路が前記機能マクロを複数の容量状態に設定可能であることを特徴とする請求項５乃至７のいずれか１項に記載の半導体装置の設計方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、半導体装置、及びその設計方法に関し、特に詳しくは、機能マクロを有する半導体装置、及びその設計方法に関する。
【背景技術】
【０００２】
ＬＳＩ（Ｌａｒｇｅ  Ｓｃａｌｅ  Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔ）等の半導体回路装置は、所定の機能を有する機能マクロ（機能ブロック、又は機能回路ブロック等とも称す）を複数有している。そして、機能マクロが所定の配置となるように設計される。
【０００３】
このような半導体集積回路が特許文献１、２に開示されている。特許文献１の半導体集積回路では、ＥＭＩ（Ｅｌｅｃｔｒｏ−Ｍａｇｎｅｔｉｃ  Ｉｎｔｅｒｆｅｒｅｎｃｅ）ノイズを低減するための構成が開示されている。特許文献１の記載によれば、プリミティブセルにより機能ブロックを構成する半導体集積回路において、周期的な信号が入力されるゲート回路に隣接して、バイパスコンデンサを配置している。そして、容量によって、インピーダンスが小さくして、ノイズを低減している。
【０００４】
特許文献２には、高周波ノイズのレベルを低減する半導体回路装置が開示されている。特許文献２の記載によれば、複数の機能回路ブロックを集積して構成する半導体回路装置において、機能回路ブロックが電流を消費する変動周期の１回当たりに消費する電荷量を蓄積可能な容量のコンデンサを設けている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２０００−１８３２８６号公報
【特許文献２】特開平１０−１３５３３６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
上記のように、特許文献１、２の半導体集積回路では、ノイズを低減するためにコンデンサを追加している。しかしながら、特許文献１、２に記載された半導体集積回路では、以下に示す問題がある。特許文献１、２の半導体集積回路では、機能ブロックに、コンデンサを新たに設ける必要が生じてしまう。この結果、機能マクロの面積が増加してしまい、チップサイズが増大してしまう。
【０００７】
このように、特許文献１、２の半導体集積装置では、ノイズを低減する場合、チップサイズが増大してしまうという問題がある。
【課題を解決するための手段】
【０００８】
本発明の一態様による半導体装置は、入力に応じて容量が変化する素子を備え、所定の機能を有する機能マクロと、前記機能マクロの不使用時において、前記素子によって前記機能マクロの容量を制御する容量制御回路と、を備えるものである。この構成によって、未使用の機能マクロを利用して、容量を制御することができる。よって、小さいチップサイズで、ノイズを低減することができる。
【０００９】
本発明の一態様による半導体装置の設計方法は、入力に応じて容量が変化する素子を備えた機能マクロに対して、入力に対する容量を求め、前記機能マクロの未使用時において、前記機能マクロの容量を所定の値とする制御回路を配置するものである。これにより、小さいチップサイズでも、ノイズを低減することができる半導体装置を提供することができる。
【発明の効果】
【００１０】
本発明によれば、小さいチップサイズで、ノイズを低減することできる半導体装置、及びその設計方法を提供することができる。
【図面の簡単な説明】
【００１１】
【図１】本発明の実施形態にかかる半導体装置の構成を示す図である。
【図２】半導体装置の機能マクロにおいて、周波数によるインピーダンス変化の特性を示す図である。
【図３】機能マクロへの入力信号に応じた容量の変化を説明するためのテーブルである。
【図４】制御信号と入力信号との関係を示すテーブルである。
【発明を実施するための形態】
【００１２】
以下、本発明を適用した具体的な実施の形態について、図面を参照しながら詳細に説明する。ただし、本発明が以下の実施の形態に限定される訳ではない。また、説明を明確にするため、以下の記載及び図面は、適宜、簡略化されている。
【００１３】
本実施形態にかかる半導体装置は、複数の機能マクロが集積された半導体集積回路である。例えば、機能マクロとしては、ＲＯＭマクロ、ＲＡＭマクロ、ＦＬＡＳＨメモリマクロなどのメモリマクロや、Ｉ／Ｏマクロや、ＰＬＬ（Ｐｈａｓｅ  Ｌｏｃｋｅｄ  Ｌｏｏｐ）マクロや、ＣＰＵマクロが挙げられる。従って、機能マクロが複数設けられることで、ＬＳＩ等の半導体集積回路が構成される。このような、機能マクロが、所定の位置になるように設計される。もちろん、１つの機能の機能マクロが複数設けられていてもよい。機能マクロが機能ブロック回路として、集積されている。
【００１４】
例えば、ＲＯＭマクロ、ＲＡＭマクロ、ＦＬＡＳＨメモリマクロ等のメモリマクロは、データを記憶するメモリ機能を有する。ＰＬＬマクロは、ＰＬＬ動作を行って、所定の周波数のクロック信号を生成する。Ｉ／Ｆマクロは、外部のチップや装置と接続されるためのインターフェースとなる機能を有する。ＣＰＵマクロは、演算処理を行って、他の機能マクロを制御する。これにより、複数のマクロが集積された半導体集積回路が、設計された動作を行う。もちろん、これ以外の機能を有するマクロが設けられていてもよい。また、同じ機能の機能マクロが複数設けられていてもよい。
【００１５】
図１を用いて、本発明の実施形態にかかる半導体装置に付いて説明する。図１は、半導体装置の回路構成を説明するための図である。具体的には、図１は、ＬＳＩ等の半導体集積回路の一部の構成を示している。
【００１６】
本実施形態にかかる半導体装置は、機能マクロ１１と、制御回路１２と、を備えている。機能マクロ１１は、半導体集積回路内において、各機能を奏する。機能マクロ１１の具体例としては、上記のように、ＲＯＭマクロ、ＲＡＭマクロ、ＦＬＡＳＨメモリマクロなどのメモリマクロや、Ｉ／Ｏマクロや、ＰＬＬ（Ｐｈａｓｅ  Ｌｏｃｋｅｄ  Ｌｏｏｐ）マクロや、ＣＰＵマクロが挙げられる。従って、実際には、機能マクロ１１が複数設けられることで、半導体集積回路が構成される。このような、機能マクロ１１が、所定の位置になるように設計される。
【００１７】
機能マクロ１１には、入力信号が入力される入力端子Ｉ０〜Ｉ３が設けられている。機能マクロ１１は、入力信号に応じて、所定の処理を行う。例えば、機能マクロ１１がメモリマクロである場合、入力端子Ｉ０〜Ｉ３に入力されたデータを記憶する。
【００１８】
例えば、本実施形態に係る半導体装置が、汎用品やＡＳＳＰ（Ａｐｐｌｉｃａｔｉｏｎ  Ｓｐｅｃｉｆｉｃ  Ｓｔａｎｄａｒｄ  Ｐｒｏｄｕｃｔ）のＬＳＩである場合、一部の機能マクロ１１が使用されないことがある。すなわち、半導体装置の用途に応じて、一部の機能マクロ１１が使用されない状態となる。具体的には、６４（３２＋３２）ｂｉｔｓ＿ＬＶＤＳ（Ｌｏｗ  Ｖｏｌｔａｇｅ  Ｄｉｆｆｅｒｅｎｔｉａｌ  Ｓｉｇｎａｌ）のＩ／ＦがあるＡＳＳＰで、ユーザが３２ｂｉｔｓしかしないケースがある。この場合、一部のＩ／Ｆマクロが使用されなくなる。そして、機能マクロ１１が未使用の場合、その機能マクロ１１に対する外部からの入力がハイインピーダンスやプルダウンとなる。
【００１９】
機能マクロ１１の内部には、容量が変化するための素子１３が設けられている。なお、図１において、機能マクロ１１に１つの素子１３が設けられているが、実際には、複数の素子１３が設けられている。素子１３は、例えば、トランジスタである。従って、入力信号に応じて、トランジスタが動作する。素子１３がＭＯＳトランジスタである場合、入力信号に応じて、トランジスタのゲートがＯＮ／ＯＦＦ動作する。このように、入力信号に応じて、トランジスタが制御されることで、機能マクロ１１が動作する。
【００２０】
制御回路１２は、機能マクロ１１の容量を制御する。制御回路１２の制御端子Ｓ０，Ｓ１には、ＣＰＵや外部から制御信号が入力されている。制御回路１２は、この制御信号に基づいて、機能マクロ１１の容量を制御する。すなわち、制御回路１２は、制御信号に応じて、機能マクロ１１の入力端子Ｉ０〜Ｉ３に入力信号を出力する。具体的には、素子１３を制御することで、機能マクロ１１の容量を調整する。なお、機能マクロ１１の容量とは、機能マクロ１１における電源電位とグランド電位との間の容量とする。
【００２１】
素子１３による機能マクロ１１の容量の制御に付いて、図２を用いて説明する。図２は、周波数によるインピーダンス変化のシミュレーション結果を示すグラフである。図２において、実線は入力をオープンとした場合を示し、点線はハイ入力の場合を示す。図２では、入力端子にＨの信号を入力した場合と、オープンにした場合とで機能マクロの容量が異なっている。ハイ入力の容量は、入力オープンの容量の約２倍となる。このように、機能マクロ１１の容量は、入力状態に応じて変化する。すなわち、入力端子Ｉ０〜Ｉ３に対する入力に応じて、機能マクロ１１の容量が変化する。
【００２２】
使用されない可能性がある機能マクロ１１に制御回路１２を予め作成しておく。すなわち、機能マクロ１１に制御回路１２を組み込んでおく。もちろん、使用されない可能性がある全ての機能マクロ１１に対して制御回路１２を作成してもよいし、一部の機能マクロ１１に対してのみ制御回路１２を作成してもよい。そして、この制御回路１２で、インピーダンスを制御する。以下に、制御回路１２の設計フローに付いて説明する。
【００２３】
まず、使用されない可能性がある機能マクロ１１を対象として以下の処理を行う。対象となる機能マクロ１１に対して、シミュレーションによる容量を計算する。すなわち、入力端子Ｉ０〜Ｉ３への入力を変えていったときの、容量を計算する。これにより、図３に示すように、容量テーブルが得られる。すなわち、Ｉ０〜Ｉ３の値を変えていき、容量Ｃを求める。ここでは、４ビット入力の例が示されているため、容量ｃ０〜ｃ１５が算出される。すなわち、１６通りの容量ｃ０〜ｃ１５が得られる。換言すると、機能マクロ１１は１６個の容量状態を有している。入力信号によって、機能マクロ１１の容量状態が変化する。
【００２４】
次に、必要な容量を選んで、図４に示すような真理値表を作成する。図４は、３つの制御状態が制御できる例を示している。すなわち、２ビットの入力によって、機能マクロ１１の使用状態と３つの容量状態を設定することができる。この例では、図３に示す容量ｃ５、ｃ１１、ｃ１５を制御対象としている。制御端子Ｓ０，Ｓ１への入力値を１、１とすると、容量がｃ１５となり、制御端子Ｓ０，Ｓ１への入力値を１、０とすると、容量がｃ１１となり、制御端子Ｓ０，Ｓ１への入力値を０、１とすると、容量がｃ５となる。制御端子Ｓ０，Ｓ１の入力値が０、０のとき、制御回路の出力をハイインピーダンス状態として、制御回路１２による容量制御機能が無効になる。すなわち、外部や他の機能マクロからの入力信号が入力端子Ｉ０〜Ｉ３に入力されることになる。この場合、機能マクロ１１が使用状態となり、設計通りの機能を奏する。
【００２５】
次に、図４の真理値表に基づいて、制御回路１２を設計する。そして、制御回路１２を機能マクロ１１に組み込む。すなわち、制御回路１２は、機能マクロ１１の一部として、組み込んでもよい。制御回路１２には、制御端子Ｓ０、Ｓ１の入力に応じて、入力端子Ｉ０〜Ｉ３への出力が設定されている。すなわち、図４に示すような、出力となるように設定される。
【００２６】
例えば、機能マクロ１１の容量が最大になる入力と、最小になる入力と、最大と最小の中間になる入力を選択することが好ましい。このようにすることで、使用状態によらず、適切に容量を設定することができる。よって、ＥＭＩノイズを効果的に低減することができる。
【００２７】
通常動作を行う場合、制御回路１１の入力端子に制御端子Ｓ０、Ｓ１に０、０を入力する。すると、制御回路１２の出力がハイインピーダンスとなる。この結果、マクロ外部からの入力が、入力端子Ｉ０〜Ｉ３に入力される。そして、機能マクロ１１が通常動作を行う。
【００２８】
機能マクロ１１が使用されない場合、外部等からの入力をプルダウンやハイインピーダンスに設定する。従って、機能マクロ１１が未使用状態の場合、入力端子Ｉ０〜Ｉ３には、制御回路１２からの信号が入力される状態となる。そして、０、０以外の制御信号が制御回路１２に入力される。これにより、制御回路１２が動作して、指定された信号を入力端子Ｉ０〜Ｉ３に送信する。すなわち、入力端子Ｉ０〜Ｉ３の入力がオープンにならずに、制御回路１２から所定の値が入力される。これにより、素子１３が動作する。すなわち、トランジスタのＯＮ／ＯＦＦが設定される。制御回路１２からの出力に応じて、機能マクロ１１が表２に示す容量となる。例えば、制御端子Ｓ０、Ｓ１に０、１を入力すると、機能マクロ１１の容量がｃ５となる。
【００２９】
これにより、半導体装置のインピーダンスが小さくなるよう、機能マクロ１１の容量を調整することができる。制御回路１２から機能マクロ１１の入力端子Ｉ０〜Ｉ３に入力される入力信号によって、機能マクロ１１の容量状態が設定される。例えば、機能マクロ１１の容量を最大にすることができ、ＥＭＩノイズを低減することができる。また、キャパシタンスを追加することがないため、チップサイズの増大を防ぐことができる。すなわち、未使用の機能マクロ１１を有効に利用しているため、制御回路１２の追加のみでよい。したがって、チップサイズの増大を防ぐことができる。例えば、汎用品に上記の制御回路１２を追加することが好ましい。これにより、エンドユーザにおいて、容量を設定することができる。すなわち、エンドユーザでの使用用途に応じて、容量を設定することができる。例えば、エンドユーザにおいて使用される無線周波数で、共振しないように、容量を設定することができる。すなわち、共振周波数からずれるように、容量を設定することが好ましい。
【００３０】
また、設計段階で、制御端子Ｓ０，Ｓ１の入力に対する機能マクロ１１の容量を示すテーブルを作成する。このような真理値表を仕様書などに記載して、エンドユーザに開示する。そして、半導体装置を購入したエンドユーザにおいて、適切な容量になるように、制御端子Ｓ０、Ｓ１に制御信号を入力する。すなわち、エンドユーザが使用しない機能マクロ１１に対して、制御信号を供給する。これにより、機能マクロ１１の容量が適切な値に設定される。このようにすることで、小さいチップノイズで、ノイズを低減することができる。この場合、エンドユーザにおいて制御端子Ｓ０，Ｓ１への制御信号を制御できるよう、半導体装置に制御入力端子を設けることが好ましい。これにより、様々な用途に利用される汎用品において、ノイズを低減することができる。
【００３１】
なお、上記の説明では、制御回路１２が３つの容量を設定できるようにしたが、それ以外の容量を設定できるようにしてもよい。例えば、１つの容量しか設定しないようにすることも可能である。すなわち、制御信号によって設定できる容量を１つのみとする。この場合、制御信号を１ビットにすることができる。もちろん、４以上の容量を設定するようにしてもよい。この場合、制御信号を３ビット以上にする。制御回路１２が機能マクロ１１を複数の容量状態に設定可能とすることで、エンドユーザの選択肢が多くなる。よって、よりＥＭＩノイズを低減することができる。また、制御回路１２が未使用状態において、容量状態を変化させてもよい。すなわち、制御回路１２に入力される制御信号を変化させることで、未使用時における容量状態をダイナミックに変化させることができる。例えば、他の機能マクロに使用状態や半導体装置の使用モード等に応じて、容量状態を設定することができる。さらには、２以上に機能マクロ１１に対して、制御回路１２が設計されている場合、それぞれの機能マクロ１１の容量を調整するようにしてもよい。
【００３２】
本実施形態にかかる設計方法では、入力に応じて容量が変化する素子を備えた機能マクロに対して、入力に対する容量を求める。そして、機能マクロ１１の未使用時において、機能マクロ１１の容量を所定の値とする制御回路を設計、配置する。こうすることで、小さいチップサイズで、ＥＭＩノイズを低減することができる。なお、機能マクロ１１の使用時と未使用時とを判定する判定信号を制御回路１２に入力してもよい。
【符号の説明】
【００３３】
１１  機能マクロ
１２  制御回路
１３  素子
Ｉ０〜Ｉ３  入力端子
Ｓ０，Ｓ１  制御端子
【図１】
2011159816.tif 000003
【図２】
2011159816.tif 000004
【図３】
2011159816.tif 000005
【図４】
2011159816.tif 000006