JP2010218441A - 半導体回路装置の設計方法 - Google Patents
半導体回路装置の設計方法 Download PDFInfo
- Publication number
- JP2010218441A JP2010218441A JP2009066856A JP2009066856A JP2010218441A JP 2010218441 A JP2010218441 A JP 2010218441A JP 2009066856 A JP2009066856 A JP 2009066856A JP 2009066856 A JP2009066856 A JP 2009066856A JP 2010218441 A JP2010218441 A JP 2010218441A
- Authority
- JP
- Japan
- Prior art keywords
- cell
- power supply
- power
- output
- power source
- 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
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/30—Circuit design
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2111/00—Details relating to CAD techniques
- G06F2111/12—Symbolic schematics
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2119/00—Details relating to the type or aim of the analysis or the optimisation
- G06F2119/06—Power analysis or power optimisation
Landscapes
- Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Evolutionary Computation (AREA)
- Geometry (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Design And Manufacture Of Integrated Circuits (AREA)
- Semiconductor Integrated Circuits (AREA)
Abstract
【課題】チップ面積の増大を抑制し、且つ、電源がオフ状態である領域から電源がオンである領域に不定信号が伝播されることを防止すること。
【解決手段】本発明では、第1電源分離領域の出力が第2電源分離領域の入力に接続されているときに、第1電源分離領域に供給される第1電源をオフする場合、第1電源分離領域の出力に最も近いリテンションフリップフロップを表す第1検索セルを検索し(S10、S11−Yes)、第1検索セルと第1電源分離領域の出力との間の第2検索セルを検索する(S13、S11−No)。この場合、第1検索セルの出力に供給される電源を、第1電源から、第1電源と同じ電圧であり、且つ、常にオンしている第2電源に置き換え(S16)、第2検索セルに供給される電源を第1電源から第2電源に置き換える(S17)。
【選択図】図7
【解決手段】本発明では、第1電源分離領域の出力が第2電源分離領域の入力に接続されているときに、第1電源分離領域に供給される第1電源をオフする場合、第1電源分離領域の出力に最も近いリテンションフリップフロップを表す第1検索セルを検索し(S10、S11−Yes)、第1検索セルと第1電源分離領域の出力との間の第2検索セルを検索する(S13、S11−No)。この場合、第1検索セルの出力に供給される電源を、第1電源から、第1電源と同じ電圧であり、且つ、常にオンしている第2電源に置き換え(S16)、第2検索セルに供給される電源を第1電源から第2電源に置き換える(S17)。
【選択図】図7
Description
本発明は、半導体回路装置を設計する設計方法に関する。
半導体加工技術の微細化により、1チップに搭載できるトランジスタ数は近年飛躍的に増加している。トランジスタの微細化により、トランジスタに印加できる電源電圧を低く抑える必要がある。また、搭載できるトランジスタ数が増加することで消費電力が増加するので、消費電力増加を抑制するためにも電源電圧を低くする必要がある。
一方、電源電圧を低くすると、トランジスタのオン電流が減少するため遅延が大きくなる。高速動作の要求に対応するためには、トランジスタの閾値電圧を低くする必要がある。しかし、トランジスタの閾値電圧を低くするとリーク電流が大きくなるという問題が生じる。
リーク電流を削減するには、電源をオフする対策が最も有効である。従って、電源が供給される領域を複数用意して、複数の領域のうちの、待機状態にある領域の電源をオフするという設計手法を採用することで、リーク電流削減が進められている。複数の領域を使用し、必要のない領域の電源をオフした場合でも、電源がオンしている領域での消費電力を下げた最適な設計が望まれている。
従来技術として、特開2004−335843号公報に記載された「半導体回路装置の設計方法」を紹介する。
図1は、従来の半導体回路装置100の概略構成を示すチップ・イメージ図である。半導体回路装置100は、異なる電源系によって電圧を供給される複数の領域を備えている。複数の領域のうちの、第1の電源系において動作する第1の領域を領域101とし、第2の電源系で動作する第2の領域を領域102とする。
領域101には、第1の電源電圧として電源電圧VDD1が供給され、領域102には、第2の電源電圧として電源電圧VDD2が供給される。これら2つの電圧は別個に制御される。半導体回路装置100は、更に、領域101と領域102との間に設けられた境界回路131、132、133、134を備えている。
図2Aは、境界回路131、132、133、134として、不定伝播防止回路200の回路構成を示している。不定伝播防止回路200を領域101と領域102との間に設けることによって、電源がオフ状態である領域から、電源がオンである領域へ不定信号が伝播されることを防止することができる。
図2Aに示されるように、電源がオフ状態である領域101をオフ領域とし(領域101に電源電圧VDD1が供給されない)、電源がオン状態である領域102をオン領域とする(領域102に電源電圧VDD2が供給される)。不定伝播防止回路200は、入力端子201、インバータ202、NANDゲート203、イネーブル端子204、出力端子205を備えている。入力端子201には、領域101からの信号が供給される。インバータ202は、電源電圧VDD1により動作し、入力端子201に供給された信号を入力する。イネーブル端子204には、オン状態の領域102からのイネーブル信号が供給される。NANDゲート203は、電源電圧VDD2により動作し、インバータ202の出力と、イネーブル端子204に供給されたイネーブル信号とを入力する。NANDゲート203の出力は出力端子205に接続されている。出力端子205は、オン状態にある領域102へ出力される。
図2Bは、不定伝播防止回路200の真理値表であり、入力端子201に供給される入力信号「input」と、イネーブル端子204に供給されるイネーブル信号「enable」と、出力端子205から出力される出力信号「output」との関係を示している。図2Bに示される「X」、「1」、「0」は信号レベルであり、信号レベル「X」は、不定であることを示している。また、信号レベル「0」は、出力電圧が「Low」レベルであり、信号レベル「1」は、出力電圧が「High」レベルであることを示している。領域101がオフ状態にある場合、入力端子201には不定信号が供給される。
つまり、領域101がオフ状態にある場合、領域101から領域102への出力信号はHighかLowか確定していない。このため、領域102へ中間電圧的な信号が入力される。これは、領域102内への貫通電流を発生させる。これを抑制するため、領域101がオフ状態にあるとき、NANDゲート203へ入力されるイネーブル信号は「0」つまり「Low」になるように制御する。イネーブル信号が「0」であることによって、出力端子205からの出力信号を「1」、即ち、出力電圧を「High」に確定し、維持することができる。これにより、オフ状態の領域からの不定信号によるオン領域における貫通電流を抑制することができる。
領域101がオン状態にある場合、イネーブル信号として「1」が供給されるように不定伝播防止回路200は制御される。これによって、領域101から入力端子201への入力信号が「0」の場合は、出力端子205から領域102への出力信号が「0」に確定され、入力信号が「1」の場合は、出力信号は「1」に確定される。尚、入力信号が不定であり、イネーブル信号が「1」もしくは不定である場合、出力信号は不定である。
他の従来技術として、特開2006−344640号公報に記載された半導体集積回路装置を簡単に紹介する。この半導体集積回路装置は、第1の電源と、それぞれ第1の電源および他の機能ブロックで使用される電源とは異なる第2〜第M+1の電源とで動作する第1〜第Mの機能ブロックを備え、第1〜第Mの機能ブロックがひとつのチップ上に集積されている。第2〜第M+1の電源は、互いに独立して電源が供給される。第1〜第Mの機能ブロックは、それぞれ独立して電源遮断の制御が可能で、それぞれ電源遮断の優先度が付与され、優先度は信号結線の関係を基に関係付けられ、信号結線は階層化されて実施される。第1〜第Mの機能ブロックのうち、下位の階層にある第Jおよび第Kの機能ブロックと、第Jおよび第Kの機能ブロックの上位の階層にある第Lの機能ブロックとの間において、第Jの機能ブロックから第Kの機能ブロックへの信号の授受を実施する際には第Lの機能ブロックの内部に設けられた信号中継用のバッファ回路を経由して伝達される。第Jの機能ブロックから第Lの機能ブロックへ信号を伝達する際には不定伝播防止回路を経由する。
従来技術では、不定伝播防止回路やイネーブル信号を出力するための回路も必要とする。このため、それらを領域間に設けることによって、チップ面積が増大してしまう。従って、チップ面積の増大を抑制し、且つ、電源がオフ状態である領域から電源がオンである領域に不定信号が伝播されることを防止することが望まれる。
以下に、発明を実施するための形態で使用される符号を括弧付きで用いて、課題を解決するための手段を記載する。この符号は、特許請求の範囲の記載と発明を実施するための形態の記載との対応を明らかにするために付加されたものであり、特許請求の範囲に記載されている発明の技術的範囲の解釈に用いてはならない。
本発明の半導体回路装置の設計方法では、複数の電源分離領域(21、22、…)を備えた半導体回路装置(20)を表す回路図データ(71)を生成する(S1)。複数の電源分離領域(21、22、…)の各々には、リテンションフリップフロップを含む複数のセルが設けられている。次に、回路図データ(71)に基づいて、複数の電源分離領域(21、22、…)の各々とそれに接続されるノード間の配線を表すネットリスト(72)を生成する(S2)。複数の電源分離領域(21、22、…)のうちの第1電源分離領域(21)の出力(28、29)が第2電源分離領域(22)の入力に接続されているときに、第1電源分離領域(21)に供給される第1電源(30)をオフするものとする(S3−Yes)。この場合、ネットリスト(72)に基づいて、第1電源分離領域(21)の複数のセル(23〜27)の中から、第1電源分離領域(21)の出力(28、29)に最も近いリテンションフリップフロップを表す第1検索セル(23、27)を検索する(S10、S11−Yes)(S13、S11−Yes)。ネットリスト(72)に基づいて、第1電源分離領域(21)の複数のセル(23〜27)の中から、第1検索セル(23)と第1電源分離領域(21)の出力(28)との間の第2検索セル(24)を検索する(S10、S11−No)(S13、S11−No)。第1検索セル(23、27)の出力に供給される電源を、第1電源(30)から、第1電源(30)と同じ電圧であり、且つ、常にオンしている第2電源(31)に置き換える(S16)。第2検索セル(24)に供給される電源を第1電源(30)から第2電源(31)に置き換える(S17)。
本発明の半導体集積回路装置の設計方法では、複数の電源分離領域(21、22、…)の各々にリテンションフリップフロップを含む複数のセルを設けておく。そこで、第1電源分離領域(21)の出力(28、29)が第2電源分離領域(22)の入力に接続されているときに、第1電源分離領域(21)に供給される第1電源(30)をオフする場合、第1電源分離領域(21)内の第1検索セル(23、27)が表すリテンションフリップフロップの出力を確定させることにより、電源がオフ状態である領域(第1電源分離領域(21))から電源がオンである領域(第2電源分離領域(22))に不定信号が伝播されることを防止することができる。また、不定伝播防止回路やイネーブル信号を出力するための回路も領域間に必要としないため、チップ面積の増大を抑制することができる。
以下に添付図面を参照して、本発明の実施形態による半導体回路装置の設計方法について詳細に説明する。
(第1実施形態)
図3は、本発明の第1実施形態による半導体集積回路装置の設計方法が適用される設計システムの構成を示している。その設計システムは、コンピュータ1と、利用者に操作される入力部2と、レイアウトデータ8を表示するための表示部3とを具備している。入力部2と表示部3は、コンピュータ1に接続されている。
図3は、本発明の第1実施形態による半導体集積回路装置の設計方法が適用される設計システムの構成を示している。その設計システムは、コンピュータ1と、利用者に操作される入力部2と、レイアウトデータ8を表示するための表示部3とを具備している。入力部2と表示部3は、コンピュータ1に接続されている。
コンピュータ1は、コンピュータプログラムを格納する記憶部5と、コンピュータプログラムを実行する実行部であるCPU(Central Processing Unit)4とを備えている。
設計システムは、更に、ソフトウェアである設計ツール6を具備している。設計ツール6は、記憶部5にインストールされる。この設計ツール6は、コンピュータプログラム10と、ライブラリ(ファイル)7とを含んでいる。
コンピュータプログラム10は、回路図データ生成部11、ネットリスト生成部12、不定伝播防止部13、レイアウトデータ生成部14を含んでいる。
図4は、本発明の第1実施形態による半導体集積回路装置の設計方法を示し、コンピュータ1の動作を示すフローチャートである。
まず、利用者は、入力部2を用いて設計ツール呼出指示を行い、設計ツール6は、その設計ツール呼出指示に応じて起動する。
設計者は、半導体集積回路を設計する前に、入力部2を用いて、ライブラリ7を構築しておく。この場合、回路図データ生成部11は、設計者の入力部2の操作に応じて、セルを表すデータを生成する。次に、設計者は、入力部2を用いて、格納指示をコンピュータ1に与える。回路図データ生成部11は、格納指示に応じて、セルを表すデータをライブラリ7に格納する。
次に、設計者は、入力部2を用いて、半導体集積回路を設計する(ステップS1;回路図データ生成処理)。この場合、回路図データ生成部11は、設計者の入力部2の操作に応じて、回路図データ生成用画面を表示部3に表示する。利用者は、入力部2を用いて、所望の回路図を回路図データ生成用画面上に描く。回路図データ生成部11は、利用者による入力部2の操作に応じて、その回路図を回路図データとして生成する。
図5は、上記の回路図データである回路図データ71を示している。回路図データ71は、複数の電源分離領域21、22、…を備えた半導体回路装置20を表している。複数の電源分離領域21、22、…は、各々異なる電源が供給される。複数の電源分離領域21、22、…の各々には、複数のセルが設けられている。ここで、複数の電源分離領域21、22、…のうちの第1電源分離領域21の出力が第2電源分離領域22の入力に接続されているものとする。この場合、第1電源分離領域21には、上記の複数のセルとして複数のセル23〜27が設けられている。セル23の出力はセル24の入力に接続されている。セル24の出力は出力端子28を介して第2電源分離領域22の入力に接続されている。セル25の出力はセル26の入力に接続されている。セル26の出力はセル27の入力に接続されている。セル27の出力は出力端子29を介して第2電源分離領域22の入力に接続されている。セル23、25、27は、リテンションフリップフロップを表している。セル24、26は、バッファを表している。
図8Aに示されるように、セル23、25、27(リテンションフリップフロップ)は、データを入力する入力回路50と、データを保持する保持回路と、内部クロック信号Cとその反転信号CBとに応じてデータを出力する出力回路53とを備えている。入力回路50は、インバータである。保持回路は、インバータ51、52、トランスファーゲート54、55を含んでいる。出力回路53は、インバータである。インバータ51の出力はインバータ52の入力に接続されている。入力回路50の出力とインバータ51の入力との間には、トランスファーゲート54が接続されている。インバータ52の出力とインバータ51の入力との間には、トランスファーゲート55が接続されている。インバータ53の入力は、インバータ51の入力に接続されている。インバータ53の出力は、バッファ又は出力端子に接続されている。
また、入力回路50と保持回路とを含む回路が複数存在し、それらが直列に接続されていてもよい。この場合、インバータ53の入力は、複数の回路のうちの最後尾の回路内のインバータ51の入力に接続されている。
入力回路50と出力回路53は第1電源30に接続されている。第1電源30は、仕様によってはオン又はオフされる。保持回路のインバータ51、52は第2電源31に接続されている。第2電源31は、第1電源30と同じ電圧であり、且つ、常にオンしている。
内部クロック信号Cとその反転信号CBは、NAND回路56とインバータ57により実現できる。NAND回路56の出力はインバータ57の入力が接続されている。NAND回路56は第2電源31に接続され、インバータ57は第1電源30に接続されている。NAND回路56の入力には、制御信号CTRとクロック信号CLKが供給され、インバータ57の出力は、上記の内部クロック信号Cとして使用される。インバータ57の入力は、上記の反転信号CBとして使用される。トランスファーゲート54、55は、内部クロック信号Cとその反転信号CBに応じてオンする。
図9Aに示されるように、セル24、26(バッファ)は、複数の回路として、直列接続された第1、2のインバータを備えている。第1のインバータは、Pチャネルトランジスタ60とNチャネルトランジスタ61とを備えている。Pチャネルトランジスタ60及びNチャネルトランジスタ61のゲートは、第1のインバータの入力として使用される。即ち、第1のインバータの入力は、バッファの入力端子として使用される。Pチャネルトランジスタ60のドレインとNチャネルトランジスタ61のソースは、第1のインバータの出力として使用される。第2のインバータは、Pチャネルトランジスタ62とNチャネルトランジスタ63とを備えている。Pチャネルトランジスタ62及びNチャネルトランジスタ63のゲートは、第2のインバータの入力として使用される。第2のインバータの入力は、第1のインバータの出力に接続されている。Pチャネルトランジスタ62のドレインとNチャネルトランジスタ63のソースは、第2のインバータの出力として使用される。即ち、第2のインバータの出力は、バッファの出力端子として使用される。
Nチャネルトランジスタ61、63のソースは接地されている。Pチャネルトランジスタ60、62のソースは第1電源30に接続されている。Pチャネルトランジスタ60、62のバックゲートは第2電源31に接続されている。
次に、ネットリスト生成部12は、回路図データ71に基づいて、図6に示されるようなネットリスト72を生成する(ステップS2;ネットリスト生成処理)。ネットリスト72は、複数の電源分離領域21、22、…の各々とそれに接続されるノード間の配線を表している。
図6に示されるように、ネットリスト72において、セル23〜27の名称であるセル名は、それぞれ、RFF23、CEL24、RFF25、CEL26、RFF27であるものとする。出力端子28、29の名称である端子名は、それぞれOUT28、OUT29であるものとする。
ネットリスト72のn行目には、セル24のセル名CEL24と、セル24のインスタンス名としてINS24とが記載されている。インスタンス名INS24は、セル24の入力とセル23の出力との接続を示すネット情報A(NET2324)と、セル24の出力と出力端子28との接続を示すネット情報Y(OUT28)とを含んでいる。
ネットリスト72のn+1行目には、セル23のセル名RFF23と、セル23のインスタンス名としてINS23とが記載されている。インスタンス名INS23は、セル24の入力とセル23の出力との接続を示すネット情報Q(NET2324)を含んでいる。
ネットリスト72のm行目には、セル27のセル名RFF27と、セル27のインスタンス名としてINS27とが記載されている。インスタンス名INS27は、セル27の出力と出力端子29との接続を示すネット情報Q(OUT29)と、セル27の入力とセル26の出力との接続を示すネット情報D(NET2627)とを含んでいる。
ネットリスト72のm+1行目には、セル26のセル名CEL26と、セル26のインスタンス名としてINS26とが記載されている。インスタンス名INS26は、セル25の出力とセル26の入力との接続を示すネット情報A(NET2526)と、セル26の出力とセル27の入力との接続を示すネット情報Y(NET2627)とを含んでいる。
ネットリスト72のm+2行目には、セル25のセル名RFF25と、セル25のインスタンス名としてINS25とが記載されている。インスタンス名INS25は、セル25の出力とセル26の入力との接続を示すネット情報Q(NET2526)を含んでいる。
ここで、仕様により、複数の電源分離領域21、22、…の各々に供給される第1電源30がオフされないものとする(ステップS3−No)。この場合、レイアウトデータ生成部14は、回路図データ71とネットリスト72とに基づいて、レイアウト形状を表すレイアウトデータ8を生成し、表示部3に表示する(ステップS5)。
一方、仕様により、複数の電源分離領域21、22、…のうちの第1電源分離領域21に供給される第1電源30がオフされるものとする(ステップS3−Yes)。この場合、第1電源分離領域21から第2電源分離領域22へ不定信号が伝播されることを防止しなければならない。
図7は、本発明の第1実施形態による半導体集積回路装置の設計方法の不定信号伝播防止処理(ステップS4)を示すフローチャートである。
不定伝播防止部13は、ネットリスト72に基づいて、第1電源分離領域21の複数のセル23〜27の中から、第1電源分離領域21の出力(出力端子28)に最も近いセルを検索セルとして検索する。ここで、インスタンス名を用いて、検索セルを検索する(ステップS10;インスタンス検索処理)。
出力端子28に最も近い検索セルは、バッファを表すセル24である(ステップS11−No)。この場合、不定伝播防止部13は、図10Bに示されるような常時オンセル置換リスト74を生成し、セル24のインスタンス名INS24及びセル名CEL24と、セル24(バッファ)に供給される電源が第2電源31であることを表す常時オンセル34(図9B参照)の名称であるセル名CON34とを対応付けて、常時オンセル置換リスト74に記述する(ステップS12;常時オン置換リスト生成処理)。
不定伝播防止部13は、ネットリスト72に基づいて、第1電源分離領域21の複数のセル23〜27の中から、セル24に最も近いセルを検索する。ここで、インスタンス名を用いて、検索セルを検索する(ステップS13;インスタンス検索処理)。
セル24に最も近い検索セルは、リテンションフリップフロップを表すセル23である(ステップS11−Yes)。この場合、不定伝播防止部13は、図10Aに示されるようなリテンションフリップフロップ置換リスト73を生成し、セル23のインスタンス名INS23及びセル名RFF23と、セル23(リテンションフリップフロップ)の出力に供給される電源が第2電源31であることを表す電源オフ時出力確定セル33(図9A参照)の名称であるセル名RFF33とを対応付けてリテンションフリップフロップ置換リスト73に記述する(ステップS14;リテンションフリップフロップ置換リスト生成処理)。
不定伝播防止部13は、ネットリスト72に基づいて、第1電源分離領域21の複数のセル23〜27の中から、第1電源分離領域21の出力(出力端子29)に最も近いセルを検索セルとして検索する。ここで、インスタンス名を用いて、検索セルを検索する(ステップS15−No、S10)。
出力端子29に最も近い検索セルは、リテンションフリップフロップを表すセル27である(ステップS11−Yes)。この場合、不定伝播防止部13は、図10Aに示されるように、更に、セル27のインスタンス名INS27及びセル名RFF27と、セル27(リテンションフリップフロップ)の出力に供給される電源が第2電源31であることを表す電源オフ時出力確定セル37(図9A参照)の名称であるセル名RFF37とを対応付けてリテンションフリップフロップ置換リスト73に記述する(ステップS14)。
すべての出力端子28、29に対して上述の処理が終了した場合(ステップS15−Yes)、第1電源分離領域21の複数のセル23〜27の中から、第1電源分離領域21の出力(出力端子28、29)に最も近いリテンションフリップフロップを表すセル23、27が第1検索セルとして検索されていて、その結果、上述のリテンションフリップフロップ置換リスト73が生成されている。また、第1電源分離領域21の複数のセル23〜27の中から、第1検索セル23と出力端子29との間のセル24が第2検索セルとして検索されていて、上述の常時オンセル置換リスト74が生成されている。
不定伝播防止部13は、リテンションフリップフロップ置換リスト73を参照して、第1検索セル23、27の出力に第2電源31を接続し、その出力を確定させることにより、それぞれ電源オフ時出力確定セル33、37を生成する。具体的には、図8Bに示されるように、第1検索セル23、27の出力回路53に接続される電源を第1電源30から第2電源31に置き換える。これにより、第1検索セル23、27は、それぞれ電源オフ時出力確定セル33、37に置き換えられる(ステップS16;リテンションフリップフロップ変換処理)。
また、ステップS16において、不定伝播防止部13は、リテンションフリップフロップ置換リスト73を参照して、ネットリスト72に含まれる第1検索セル23、27のセル名RFF23、RFF27を、それぞれ電源オフ時出力確定セル33、37のセル名RFF33、RFF37に置き換える。
不定伝播防止部13は、常時オンセル置換リスト74を参照して、第2検索セル24に第2電源31を接続することにより、常時オンセル34を生成する。具体的には、図9Bに示されるように、第2検索セル24に接続される電源を第1電源30から第2電源31に置き換える。これにより、第2検索セル24は、常時オンセル34に置き換えられる(ステップS17;常時オンセル変換処理)。
また、ステップS17において、不定伝播防止部13は、常時オンセル置換リスト74を参照して、ネットリスト72に含まれる第2検索セル24のセル名CEL24を常時オンセル34のセル名CON34に置き換える。
これにより、不定信号伝播防止処理(ステップS4)が終了する。このとき、上述の回路図データ71は、図11に示されるような回路図データ75に置き換えられている。即ち、セル23、24、27がセル33、34、37に置き換えられている。
その後、レイアウトデータ生成部14は、回路図データ71とネットリスト72とに基づいて、レイアウト形状を表すレイアウトデータ8を生成し、表示部3に表示する(ステップS5)。
以上の説明により、本発明の第1実施形態による半導体集積回路装置の設計方法では、複数の電源分離領域21、22、…の各々にリテンションフリップフロップを含む複数のセルを設けておく。そこで、第1電源分離領域21の出力(出力端子28、29)が第2電源分離領域22の入力に接続されているときに、第1電源分離領域21に供給される第1電源30をオフする場合、第1電源分離領域21の出力(出力端子28、29)に最も近いリテンションフリップフロップを表す第1検索セル23、27を検索し、第1検索セル23と第1電源分離領域21の出力(出力端子28)との間の第2検索セル24を検索する。この場合、第1検索セル23、27の出力に供給される電源を、第1電源30から、第1電源30と同じ電圧であり、且つ、常にオンしている第2電源31に置き換え、第2検索セル24に供給される電源を第1電源30から第2電源31に置き換える。このように、本発明の第1実施形態による半導体集積回路装置の設計方法では、第1電源分離領域21内の第1検索セル23、27(リテンションフリップフロップ)の出力に第2電源31を接続して、第1検索セル23、27の出力を確定させることにより、電源がオフ状態である領域(第1電源分離領域21)から電源がオンである領域(第2電源分離領域22)に不定信号が伝播されることを防止することができる。また、不定伝播防止回路やイネーブル信号を出力するための回路も領域間に必要としないため、チップ面積の増大を抑制することができる。
(第2実施形態)
上述のように、第1実施形態において、第1電源分離領域21の出力(出力端子)からリテンションフリップフロップを検索する際、出力端子28、29とリテンションフリップフロップ間に多数のセルが存在する場合、置換時に常時オン電源(第2電源31)に置換されるセルが増加することから、リーク電流が増加する可能性が考えられる。第2実施形態では、この場合を考慮している。第2実施形態では、第1実施形態と重複する説明については省略する。
上述のように、第1実施形態において、第1電源分離領域21の出力(出力端子)からリテンションフリップフロップを検索する際、出力端子28、29とリテンションフリップフロップ間に多数のセルが存在する場合、置換時に常時オン電源(第2電源31)に置換されるセルが増加することから、リーク電流が増加する可能性が考えられる。第2実施形態では、この場合を考慮している。第2実施形態では、第1実施形態と重複する説明については省略する。
図12は、本発明の第2実施形態による半導体集積回路装置の設計方法の不定信号伝播防止処理(ステップS4)を示すフローチャートである。
不定伝播防止部13は、ステップS14を実行した後、第1検索セル23、27の出力に供給される電源を第1電源30から第2電源31に置き換えたときに増加するリーク電流の値、即ち、第1検索セル23、27をそれぞれ電源オフ時出力確定セル33、37に置き換えたときに増加するリーク電流の値を第1リーク電流値としてシミュレーションにより算出する。また、第2検索セル24に供給される電源を第1電源30から第2電源31に置き換えたときに増加するリーク電流の値、即ち、第2検索セル24を常時オンセル34に置き換えたときに増加するリーク電流の値を第2リーク電流値としてシミュレーションにより算出する(ステップS91)。
第1、2リーク電流値がリーク電流許容値より小さい場合(ステップS92−Yes)、上述のステップS15以降が実行される。リーク電流許容値は、あらかじめ設定されたものである。
一方、第1、2リーク電流値のうちの少なくとも1つの値がリーク電流許容値以上である場合(ステップS92−No)、不定伝播防止部13は、リテンションフリップフロップ置換リスト73に記述された第1検索セルに関する内容の中から、該当する第1検索セルに関する内容を削除する。ここで、該当する第1検索セルは第1検索セル23であるものとする。また、不定伝播防止部13は、常時オンセル置換リスト74に記述された第2検索セルに関する内容の中から、該当する第2検索セルに関する内容を削除する。ここで、該当する第1検索セルを第1検索セル23とした場合、該当する第2検索セルは、第1検索セル23の出力に接続された第2検索セル24であるものとする。これにより、該当する第1検索セル(第1検索セル23)、該当する第2検索セル(第2検索セル24)についてステップS16、S17は実行されない。この場合、第1電源分離領域21から第2電源分離領域22へ不定信号が伝播されてしまうため、不定伝播防止部13は、第1電源分離領域21に供給される第1電源30をオフしているときに第1電源分離領域21から第2電源分離領域22へ不定信号が伝播されることを防止するために、第1電源分離領域21の出力(出力端子28、29)と第2電源分離領域22の入力との間に前述の不定伝播防止回路200を設ける(ステップS93)。その後、上述のステップS15以降が実行される。
以上の説明により、本発明の第2実施形態による半導体集積回路装置の設計方法では、第1検索セル23、27をそれぞれ電源オフ時出力確定セル33、37に置き換えたときに増加するリーク電流の値や、第2検索セル24に供給される電源を第1電源30から第2電源31に置き換えたときに増加するリーク電流の値を算出し、それらの値がリーク電流許容値以上の場合だけ領域21、22間に前述の不定伝播防止回路を設ける。これにより、リーク電流が増加することを防止することができる。
1 コンピュータ、
2 入力部、
3 表示部、
4 CPU、
5 記憶部、
6 設計ツール、
7 ライブラリ、
8 レイアウトデータ、
10 コンピュータプログラム、
11 回路図データ生成部、
12 ネットリスト生成部、
13 不定伝播防止部、
14 レイアウトデータ生成部、
20 半導体回路装置、
21 電源分離領域、
22 電源分離領域、
23 セル(リテンションフリップフロップ;検索セル)、
24 セル(検索セル)、
25 セル(リテンションフリップフロップ)、
26 セル、
27 セル(リテンションフリップフロップ;検索セル)、
28 出力端子、
29 出力端子、
30 電源、
31 電源、
33 電源オフ時出力確定セル(リテンションフリップフロップ)、
34 常時オンセル、
37 電源オフ時出力確定セル(リテンションフリップフロップ)、
50 インバータ(入力回路)、
51 インバータ(保持回路内)、
52 インバータ(保持回路内)、
53 インバータ(出力回路)、
54 トランスファーゲート(保持回路内)、
55 トランスファーゲート(保持回路内)、
56 NAND回路(クロック回路)、
57 インバータ(クロック回路)、
58 インバータ(出力回路)、
60 Pチャネルトランジスタ(第1のインバータ内)、
61 Nチャネルトランジスタ(第1のインバータ内)、
62 Pチャネルトランジスタ(第2のインバータ内)、
63 Nチャネルトランジスタ(第2のインバータ内)、
64 Pチャネルトランジスタ(第1のインバータ内)、
65 Pチャネルトランジスタ(第2のインバータ内)、
71 回路図データ、
72 ネットリスト、
73 リテンションフリップフロップ置換リスト、
74 常時オンセル置換リスト、
75 回路図データ、
100 半導体回路装置、
101 第1の領域、
102 第2の領域、
131、132、133、134 境界回路、
200 不定伝播防止回路、
201 入力端子、
202 インバータ、
203 NANDゲート、
204 イネーブル端子、
205 出力端子
2 入力部、
3 表示部、
4 CPU、
5 記憶部、
6 設計ツール、
7 ライブラリ、
8 レイアウトデータ、
10 コンピュータプログラム、
11 回路図データ生成部、
12 ネットリスト生成部、
13 不定伝播防止部、
14 レイアウトデータ生成部、
20 半導体回路装置、
21 電源分離領域、
22 電源分離領域、
23 セル(リテンションフリップフロップ;検索セル)、
24 セル(検索セル)、
25 セル(リテンションフリップフロップ)、
26 セル、
27 セル(リテンションフリップフロップ;検索セル)、
28 出力端子、
29 出力端子、
30 電源、
31 電源、
33 電源オフ時出力確定セル(リテンションフリップフロップ)、
34 常時オンセル、
37 電源オフ時出力確定セル(リテンションフリップフロップ)、
50 インバータ(入力回路)、
51 インバータ(保持回路内)、
52 インバータ(保持回路内)、
53 インバータ(出力回路)、
54 トランスファーゲート(保持回路内)、
55 トランスファーゲート(保持回路内)、
56 NAND回路(クロック回路)、
57 インバータ(クロック回路)、
58 インバータ(出力回路)、
60 Pチャネルトランジスタ(第1のインバータ内)、
61 Nチャネルトランジスタ(第1のインバータ内)、
62 Pチャネルトランジスタ(第2のインバータ内)、
63 Nチャネルトランジスタ(第2のインバータ内)、
64 Pチャネルトランジスタ(第1のインバータ内)、
65 Pチャネルトランジスタ(第2のインバータ内)、
71 回路図データ、
72 ネットリスト、
73 リテンションフリップフロップ置換リスト、
74 常時オンセル置換リスト、
75 回路図データ、
100 半導体回路装置、
101 第1の領域、
102 第2の領域、
131、132、133、134 境界回路、
200 不定伝播防止回路、
201 入力端子、
202 インバータ、
203 NANDゲート、
204 イネーブル端子、
205 出力端子
Claims (13)
- 複数の電源分離領域を備えた半導体回路装置を表す回路図データを生成するステップと、前記複数の電源分離領域の各々には、リテンションフリップフロップを含む複数のセルが設けられ、
前記回路図データに基づいて、前記複数の電源分離領域の各々とそれに接続されるノード間の配線を表すネットリストを生成するステップと、
前記複数の電源分離領域のうちの第1電源分離領域の出力が第2電源分離領域の入力に接続されているときに、前記第1電源分離領域に供給される第1電源をオフする場合、
前記ネットリストに基づいて、前記第1電源分離領域の前記複数のセルの中から、前記第1電源分離領域の出力に最も近い前記リテンションフリップフロップを表す第1検索セルを検索するステップと、
前記ネットリストに基づいて、前記第1電源分離領域の前記複数のセルの中から、前記第1検索セルと前記第1電源分離領域の出力との間の第2検索セルを検索するステップと、
前記第1検索セルの出力に供給される電源を、前記第1電源から、前記第1電源と同じ電圧であり、且つ、常にオンしている第2電源に置き換えるステップと、
前記第2検索セルに供給される電源を前記第1電源から前記第2電源に置き換えるステップと
を具備する半導体回路装置の設計方法。 - 前記ネットリストは、前記第1検索セルのインスタンス名と、前記第1検索セルの名称であるセル名と、前記第2検索セルのインスタンス名と、前記第2検索セルの名称であるセル名とを含み、
前記第1検索セルのインスタンス名及びセル名と、前記第1検索セルの出力に供給される電源が前記第2電源であることを表す電源オフ時出力確定セルの名称であるセル名とを対応付けるリテンションフリップフロップ置換リストを生成するステップと、
前記第2検索セルのインスタンス名及びセル名と、前記第2検索セルに供給される電源が前記第2電源であることを表す常時オンセルの名称であるセル名とを対応付ける常時オンセル置換リストを生成するステップと
を更に具備し、
前記第1検索セルの出力に供給される電源を前記第1電源から前記第2電源に置き換えるステップは、
前記リテンションフリップフロップ置換リストを参照して、前記第1検索セルの出力に前記第2電源を接続し、その出力を確定させることにより、前記電源オフ時出力確定セルを生成するステップ
を含み、
前記第2検索セルに供給される電源を前記第1電源から前記第2電源に置き換えるステップは、
前記常時オンセル置換リストを参照して、前記第2検索セルに前記第2電源を接続することにより、前記常時オンセルを生成するステップ
を含む請求項1に記載の半導体回路装置の設計方法。 - 前記第1検索セルの出力に供給される電源を前記第1電源から前記第2電源に置き換えるステップは、
前記リテンションフリップフロップ置換リストを参照して、前記ネットリストに含まれる前記第1検索セルのセル名を、前記電源オフ時出力確定セルのセル名に置き換えるステップ
を更に含み、
前記第2検索セルに供給される電源を前記第1電源から前記第2電源に置き換えるステップは、
前記常時オンセル置換リストを参照して、前記ネットリストに含まれる前記第2検索セルのセル名を前記常時オンセルのセル名に置き換えるステップ
を更に含む請求項2に記載の半導体回路装置の設計方法。 - 前記第1検索セルが表す前記リテンションフリップフロップは、データを入力する入力回路と、前記データを保持する保持回路と、クロックに応じて前記データを出力する出力回路とを備え、
前記入力回路と前記出力回路は前記第1電源に接続され、前記保持回路は前記第2電源に接続され、
前記第1検索セルの出力に供給される電源を前記第1電源から前記第2電源に置き換えるステップが実行されたとき、前記出力回路は前記第2電源に接続される
請求項1〜3のいずれかに記載の半導体回路装置の設計方法。 - 前記第2検索セルは、複数の回路を備え、
前記複数の回路は前記第1電源に接続され、
前記第2検索セルに供給される電源を前記第1電源から前記第2電源に置き換えるステップが実行されたとき、前記複数の回路は前記第2電源に接続される
請求項1〜4のいずれかに記載の半導体回路装置の設計方法。 - 前記第1検索セルの出力に供給される電源を前記第1電源から前記第2電源に置き換えたときに増加するリーク電流の値を第1リーク電流値としてシミュレーションにより算出するステップと、
前記第2検索セルに供給される電源を前記第1電源から前記第2電源に置き換えたときに増加するリーク電流の値を第2リーク電流値としてシミュレーションにより算出するステップと、
前記第1、2リーク電流値のうちの少なくとも1つの値がリーク電流許容値以上である場合、前記第1電源分離領域の出力と前記第2電源分離領域の入力との間に、前記第1電源分離領域に供給される前記第1電源をオフしているときに前記第1電源分離領域から前記第2電源分離領域へ不定信号が伝播されることを防止するための不定伝播防止回路を設けるステップと
を更に具備する請求項1〜5のいずれかに記載の半導体回路装置の設計方法。 - 請求項1〜6のいずれかに記載の設計方法によって設計された半導体回路装置。
- 複数の電源分離領域を備えた半導体回路装置を表す回路図データを生成する回路図データ生成部と、前記複数の電源分離領域の各々には、リテンションフリップフロップを含む複数のセルが設けられ、
前記回路図データに基づいて、前記複数の電源分離領域の各々とそれに接続されるノード間の配線を表すネットリストを生成するネットリスト生成部と、
不定伝播防止部と
を具備し、
前記複数の電源分離領域のうちの第1電源分離領域の出力が第2電源分離領域の入力に接続されているときに、前記第1電源分離領域に供給される第1電源をオフする場合、前記不定伝播防止部は、
前記ネットリストに基づいて、前記第1電源分離領域の前記複数のセルの中から、前記第1電源分離領域の出力に最も近い前記リテンションフリップフロップを表す第1検索セルを検索し、
前記ネットリストに基づいて、前記第1電源分離領域の前記複数のセルの中から、前記第1検索セルと前記第1電源分離領域の出力との間の第2検索セルを検索し、
前記第1検索セルの出力に供給される電源を、前記第1電源から、前記第1電源と同じ電圧であり、且つ、常にオンしている第2電源に置き換え、
前記第2検索セルに供給される電源を前記第1電源から前記第2電源に置き換える
半導体回路装置の設計システム。 - 前記ネットリストは、前記第1検索セルのインスタンス名と、前記第1検索セルの名称であるセル名と、前記第2検索セルのインスタンス名と、前記第2検索セルの名称であるセル名とを含み、
前記不定伝播防止部は、
前記第1検索セルのインスタンス名及びセル名と、前記第1検索セルの出力に供給される電源が前記第2電源であることを表す電源オフ時出力確定セルの名称であるセル名とを対応付けるリテンションフリップフロップ置換リストを生成し、
前記第2検索セルのインスタンス名及びセル名と、前記第2検索セルに供給される電源が前記第2電源であることを表す常時オンセルの名称であるセル名とを対応付ける常時オンセル置換リストを生成し、
前記第1検索セルの出力に供給される電源を前記第1電源から前記第2電源に置き換えるとき、前記リテンションフリップフロップ置換リストを参照して、前記第1検索セルの出力に前記第2電源を接続し、その出力を確定させることにより、前記電源オフ時出力確定セルを生成し、
前記第2検索セルに供給される電源を前記第1電源から前記第2電源に置き換えるとき、前記常時オンセル置換リストを参照して、前記第2検索セルに前記第2電源を接続することにより、前記常時オンセルを生成する
請求項8に記載の半導体回路装置の設計システム。 - 前記不定伝播防止部は、
前記第1検索セルの出力に供給される電源を前記第1電源から前記第2電源に置き換えるとき、前記リテンションフリップフロップ置換リストを参照して、前記ネットリストに含まれる前記第1検索セルのセル名を、前記電源オフ時出力確定セルのセル名に置き換え、
前記第2検索セルに供給される電源を前記第1電源から前記第2電源に置き換えるとき、
前記常時オンセル置換リストを参照して、前記ネットリストに含まれる前記第2検索セルのセル名を前記常時オンセルのセル名に置き換える
請求項9に記載の半導体回路装置の設計システム。 - 前記第1検索セルが表す前記リテンションフリップフロップは、データを入力する入力回路と、前記データを保持する保持回路と、クロックに応じて前記データを出力する出力回路とを備え、
前記入力回路と前記出力回路は前記第1電源に接続され、前記保持回路は前記第2電源に接続され、
前記不定伝播防止部は、前記第1検索セルの出力に供給される電源を前記第1電源から前記第2電源に置き換えるとき、前記出力回路に接続される電源を前記第1電源から前記第2電源に変更する
請求項8〜10のいずれかに記載の半導体回路装置の設計システム。 - 前記第2検索セルは、複数の回路を備え、
前記複数の回路は前記第1電源に接続され、
前記不定伝播防止部は、前記第2検索セルに供給される電源を前記第1電源から前記第2電源に置き換えるとき、前記複数の回路に接続される電源を前記第1電源から前記第2電源に変更する
請求項8〜11のいずれかに記載の半導体回路装置の設計システム。 - 前記不定伝播防止部は、
前記第1検索セルの出力に供給される電源を前記第1電源から前記第2電源に置き換えたときに増加するリーク電流の値を第1リーク電流値としてシミュレーションにより算出し、
前記第2検索セルに供給される電源を前記第1電源から前記第2電源に置き換えたときに増加するリーク電流の値を第2リーク電流値としてシミュレーションにより算出し、
前記第1、2リーク電流値のうちの少なくとも1つの値がリーク電流許容値以上である場合、前記第1電源分離領域の出力と前記第2電源分離領域の入力との間に、前記第1電源分離領域に供給される前記第1電源をオフしているときに前記第1電源分離領域から前記第2電源分離領域へ不定信号が伝播されることを防止するための不定伝播防止回路を設ける
請求項8〜12のいずれかに記載の半導体回路装置の設計システム。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2009066856A JP2010218441A (ja) | 2009-03-18 | 2009-03-18 | 半導体回路装置の設計方法 |
US12/726,010 US20100242004A1 (en) | 2009-03-18 | 2010-03-17 | Method of semiconductor circuit device |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2009066856A JP2010218441A (ja) | 2009-03-18 | 2009-03-18 | 半導体回路装置の設計方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2010218441A true JP2010218441A (ja) | 2010-09-30 |
Family
ID=42738742
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2009066856A Withdrawn JP2010218441A (ja) | 2009-03-18 | 2009-03-18 | 半導体回路装置の設計方法 |
Country Status (2)
Country | Link |
---|---|
US (1) | US20100242004A1 (ja) |
JP (1) | JP2010218441A (ja) |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6185726B1 (en) * | 1998-06-03 | 2001-02-06 | Sony Corporation | System and method for efficiently designing integrated circuit devices |
US6594799B1 (en) * | 2000-02-28 | 2003-07-15 | Cadence Design Systems, Inc. | Method and system for facilitating electronic circuit and chip design using remotely located resources |
JP4738719B2 (ja) * | 2003-05-09 | 2011-08-03 | ルネサスエレクトロニクス株式会社 | 半導体回路装置の設計方法、設計された半導体回路装置、設計システム、及び記録媒体 |
US7739629B2 (en) * | 2006-04-14 | 2010-06-15 | Cadence Design Systems, Inc. | Method and mechanism for implementing electronic designs having power information specifications background |
US7694251B2 (en) * | 2006-10-30 | 2010-04-06 | Cadence Design Systems, Inc. | Method and system for verifying power specifications of a low power design |
EP1980964B1 (en) * | 2007-04-13 | 2016-03-23 | Yogitech Spa | Method and computer program product for performing failure mode and effects analysis of an integrated circuit |
-
2009
- 2009-03-18 JP JP2009066856A patent/JP2010218441A/ja not_active Withdrawn
-
2010
- 2010-03-17 US US12/726,010 patent/US20100242004A1/en not_active Abandoned
Also Published As
Publication number | Publication date |
---|---|
US20100242004A1 (en) | 2010-09-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4637512B2 (ja) | 半導体集積回路装置 | |
JP3117910B2 (ja) | 組み合わせ論理回路及びその設計方法 | |
US20110260764A1 (en) | Semiconductor integrated circuit, method for designing semiconductor integrated circuit, and computer readable recording medium | |
US8810280B2 (en) | Low leakage spare gates for integrated circuits | |
US20180367142A1 (en) | Apparatus and methods for leakage current reduction in integrated circuits | |
JP2011054980A (ja) | 半導体集積回路装置 | |
US20160154902A1 (en) | Selective Annotation Of Circuits For Efficient Formal Verification With Low Power Design Considerations | |
JP2007081338A (ja) | 半導体集積回路および半導体集積回路の設計方法 | |
KR100636059B1 (ko) | 반도체 회로 장치의 설계 방법, 반도체 회로 장치, 설계시스템, 및 기록 매체 | |
JP4999379B2 (ja) | 半導体集積回路設計方法、半導体集積回路設計装置 | |
Liu et al. | Asynchronous computing in sense amplifier-based pass transistor logic | |
US7693701B2 (en) | Structure for a configurable low power high fan-in multiplexer | |
JP2010218441A (ja) | 半導体回路装置の設計方法 | |
US7861202B2 (en) | Cell arrangement method for designing semiconductor integrated circuit | |
US10164524B1 (en) | Methods and devices for charge pump level translation in high-speed memory drivers | |
JPH10187786A (ja) | Lsi設計支援装置 | |
JP2011164988A (ja) | 設計装置 | |
JP2009038273A (ja) | 半導体装置、半導体装置の設計方法および半導体装置設計プログラム | |
US9698795B1 (en) | Supporting pseudo open drain input/output standards in a programmable logic device | |
US20230418556A1 (en) | Static cmos-based full adder circuits | |
JP5445346B2 (ja) | Lsiの電源遮断領域拡張方法及びそのプログラム | |
Hu | Process-variation-resistant dynamic power optimization for VLSI circuits | |
US20160217227A1 (en) | Adaptive low power and high performance logic design and physical design techniques | |
Paločko et al. | Decoder with the dynamic CMOS matrix | |
JP2011134072A (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: 20120605 |