JP4983609B2 - 半導体設計方法、装置、およびプログラム - Google Patents
半導体設計方法、装置、およびプログラム Download PDFInfo
- Publication number
- JP4983609B2 JP4983609B2 JP2008002689A JP2008002689A JP4983609B2 JP 4983609 B2 JP4983609 B2 JP 4983609B2 JP 2008002689 A JP2008002689 A JP 2008002689A JP 2008002689 A JP2008002689 A JP 2008002689A JP 4983609 B2 JP4983609 B2 JP 4983609B2
- Authority
- JP
- Japan
- Prior art keywords
- circuit
- node
- stage
- flip
- power domain
- 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.)
- Expired - Fee Related
Links
Images
Landscapes
- Design And Manufacture Of Integrated Circuits (AREA)
- Logic Circuits (AREA)
Description
図1は、実施の形態に係る半導体設計装置の機能を示すブロック図である。
図1に示す半導体設計装置は、LSIなどの半導体装置の設計情報を基に、その回路内の適切な位置に、電源再投入時における不定な信号Xの伝播を防止するためのX伝播対策回路を挿入する処理を行う装置である。この半導体設計装置は、回路データ入力部11、FF置換処理部12、回路挿入位置抽出部13、回路挿入処理部14、および出力判定部15を備えている。
図1に示した半導体設計装置の各機能は、例えば、パーソナルコンピュータ(PC)などのコンピュータ装置によって、上記各機能の処理手順を記述したプログラムが実行されることで実現される。このようなコンピュータ装置は、例えば、図2に示すように、CPU(Central Processing Unit)21、RAM(Random Access Memory)22、HDD(Hard Disk Drive)23、グラフィック処理部24、入力I/F(インタフェース)25、および通信I/F26を備え、これらはバス27を介して相互に接続されている。
図3に示す半導体装置の回路構成例において、変数nは、パワードメインの出力段から(すなわち、このパワードメインの出力側の境界から)数えたFFの段数を示している。この半導体装置では、パワードメインの出力段から1段目にはFF101が配置され、(n−1)段目にはFF102が配置されている。n段目には4つのFF111〜114が配置され、(n+1)段目にも4つのFF121〜124が配置されている。
回路挿入位置抽出部13は、FF置換処理部12によって更新された回路接続情報に基づく回路ネットワークを、ノードモデルによって簡略化する(ステップS11)。後述するように、ノードは、多出力となっているセルまたはネットに対して割り当てられ、X伝播対策回路を挿入する場所の候補となる。
図5の左側に示した回路構成例は、回路挿入位置抽出部13に入力された回路接続情報に基づくものである。この回路において、FF141〜144は、パワードメインの出力段からN段目のFFであって、FF置換処理部12によって、ステートリテンションFFからノーマルFFに置換されたものである。また、FF141,142の出力はゲート回路151に入力され、FF143,144の出力はゲート回路152に入力され、ゲート回路151,152の出力はゲート回路153に入力される。そして、ゲート回路153の出力はゲート回路154の一方の入力端子に入力され、ゲート回路154の出力は、3つの経路に分岐される。
図4のステップS12では、回路挿入位置抽出部13は、ノードモデル上のN段目のFFから(N−1)段目のFFまでの経路上の必要な位置にダミーノードを挿入することで、ノードをレベライズする。図6の左側の例では、FF171がN段目のFF(ノーマルFF)である。そして、ノードN11からノードN13に至る経路として、ノードN12を経由する経路と、ノードN12を経由せずに直接ノードN13に至る経路とが存在する。そこで、図6の右側に示すように、ノードN11から直接ノードN13に至る経路上にダミーノードN14を挿入して、ノードN11からノードN13への経路上のノード数を合わせる。
図7のノードモデルにおいて、ノードN111〜N113,N121〜N124,N131〜N133,N141〜N144は、ステップS11の処理により生成されたノードである。また、ステップS12の処理により、N段目の2つのFF181,182からノードN121への2つの経路上にはそれぞれダミーノードN151,N152が挿入され、ノードN113からノードN133への経路上にはダミーノードN153が挿入され、ノードN131,N132から(N−1)段目の1つのFF183への経路上にはダミーノードN154が挿入されている。
回路挿入処理部14は、以下の処理により、回路接続情報に基づく回路ネットワークに対してX伝播対策回路を挿入して、その回路接続情報を更新する。図4のステップS13の処理により、レベライズされたノードモデルにおいて、ノード数が最小であるノードレベルが判定されると、回路挿入処理部14は、判定されたノードレベルからノードを1つ抽出する(ステップS21)。そして、そのノードの出力側に、X伝播対策回路を挿入する(ステップS22)。次に、判定されたノードレベルに含まれるすべてのノードに対する処理が終了したか否かを判定し(ステップS23)、終了していない場合には、ステップS21に戻って、次のノードを抽出してX伝播対策回路の挿入処理を行う。以後、判定されたノードレベルに含まれるすべてのノードの出力側にX伝播対策回路が挿入するまで、ステップS21〜S23の処理ループが繰り返される。
図7に示したノードモデルでは、ノードレベル3に含まれるノード数が最小となる。従って、図9に示すように、ノードレベル3に含まれるノードN131〜N133の出力側に、X伝播対策回路191〜193がそれぞれ挿入される。
図10に示すX伝播対策回路210は、スイッチ211、およびインバータ212〜214を備えている。スイッチ211は、外部からのコントロール信号に応じて、X伝播対策回路への入力信号を受け入れるか否かを切り替える。このコントロール信号は、例えば、パワードメイン200が搭載された半導体装置の外部に設置された電源制御装置(PMU:Power Management Unit)などから供給される。インバータ212の入力端子は、スイッチ211およびインバータ213の各出力端子に接続され、インバータ212からの出力信号は、インバータ213,214にそれぞれ出力される。また、インバータ214の出力端子は、X伝播対策回路210の出力端子となっている。
上記の処理によって回路ネットワーク内にX伝播対策回路が挿入されると、出力判定部15は、その回路ネットワークの回路接続情報を基に、回路規模や消費電力などの抑制効果があるか否かを判定し、効果を奏する場合にのみ、X伝播対策回路が挿入された回路についての設計情報を作成して出力する。
図13に示した回路構成例では、パワードメインの出力段からN段目のFF311,312からの出力信号が、セレクタ回路313の各入力端子に入力され、セレクタ回路313からの出力信号は分岐して、(N−1)段目のFF314,315の各データ入力端子に入力されている。また、セレクタ回路313の制御端子には、図13の回路が形成された半導体装置の外部ポートからセレクト信号が入力されて、このセレクト信号に応じてセレクタ回路313の選択出力動作が制御される。
図14に示した回路構成例では、パワードメインの出力段からN段目のFF321からの出力信号が、セレクタ回路322の一方の入力端子に入力され、セレクタ回路323からの出力信号は分岐して、その一方がセレクタ回路322の他方の入力端子に入力されている。
まず、処理例1について、図15〜図17を用いて説明する。図15は、処理例1において適用する回路構成例を示す図である。
図15のような構成の回路に対して、図4のステップS11におけるノードモデル化処理を適用すると、N段目のFF401〜408と(N−1)段目のFF421〜423との間においては、ゲート回路414の出力側に信号経路の分岐点が1つのみ存在することから、図16に示すように、この分岐点に1つのノードN301が生成される。
図16のノードモデルではノードが1つであることから、図4のステップS12においてダミーノードは生成されず、図4のステップS13では、ノードN301に対応するノードレベルが選定される。従って、図17に示すように、ノードN301の出力側に、X伝播対策回路430が挿入される。
図18のような構成の回路に対して、図4のステップS11におけるノードモデル化処理を適用すると、図19のようなノードモデルが生成される。なお、この図19(後の図20、図21も同様)では、N段目のFFからの出力信号の経路について、4つのFFを単位としてまとめて示している。
図19に示したノードモデルでは、N段目のFFから(N−1)段目のFFまでの信号経路のうち、最大で3つのノード(ノードN313,N314,N315)を通過する経路が存在する。このため、図4のステップS12におけるレベライズ処理では、N段目のFFから(N−1)段目のFFまでのすべての信号経路が3つのノードを通過するように、図19のノードモデル上にダミーノードを挿入する。この結果、図20に示すように、9個のダミーノードN321〜N329が挿入される。
図20に示したレベライズ処理後のノードモデルでは、ノードN311〜N313およびダミーノードN321がノードレベル1に属しており、図4のステップS13のレベル判定処理では、このノードレベル1のノード数が他のノードレベルと比較して最も小さいと判定される。従って、X伝播対策回路は、基本的に、ノードレベル1に属するノードN311〜N313およびダミーノードN321の各出力側の位置に挿入されればよい。図21において、X伝播対策回路561〜563は、このような基本原則に従って、それぞれノードN51〜N53の出力側に挿入されている。
ノードモデル生成部が、前記パワードメインの回路設計情報に基づき、前記パワードメインの出力側境界から数えてN段目(ただし、Nは2以上の整数)のフリップフロップ回路と、(N−1)段目のフリップフロップ回路との間の信号経路において、出力の分岐点をノードとして定義したノードモデルを生成するノードモデル生成ステップと、
ノード数調整部が、生成された前記ノードモデルにおいて、N段目の各フリップフロップ回路から(N−1)段目の各フリップフロップ回路までのすべての信号経路上の前記ノードの数が同じになるように、前記ノードを追加して前記ノードモデルを更新するノード数調整ステップと、
回路挿入位置抽出部が、更新された前記ノードモデルにおいて、N段目または(N−1)段目の各フリップフロップ回路から見て同じノード段数となる位置に配置された前記ノードをカウントし、前記ノードの数が最も少ない前記ノード段数に対応する前記ノードの出力側を、前記パワードメインの電源遮断時にその直前の入力データをラッチするデータラッチ回路を挿入する位置として抽出する回路挿入位置抽出ステップと、
を含むことを特徴とする半導体設計方法。
前記回路設計情報生成ステップで挿入される前記データラッチ回路は、
入力データを選択的に遮断する入力遮断回路と、
前記入力遮断回路の出力側に直列に接続された第1および第2のインバータ回路と、
前記第1のインバータ回路から信号の入力を受けて、出力データを前記第1のインバータ回路の入力端子に供給する第3のインバータ回路と、
を有することを特徴とする付記1〜4のいずれか1つに記載の半導体設計方法。
前記出力判定部が、前記データラッチ回路を挿入した回路の方が好適な回路特性である場合にのみ、当該データラッチ回路が挿入された半導体集積装置の回路設計情報を出力する出力ステップと、
をさらに含むことを特徴とする付記1〜5のいずれか1つに記載の半導体設計方法。
(付記8) 回路置換処理部が、前記パワードメイン内のN段目のフリップフロップ回路が、前記パワードメインの電源遮断時にその直前の入力データをラッチする機能を備えたフリップフロップ回路とされた半導体集積装置の回路設計情報の入力を受けて、当該パワードメインにおけるN段目のフリップフロップ回路を電源遮断時の入力データのラッチ機能を持たないフリップフロップ回路に置換する回路置換処理ステップをさらに含み、
前記ノードモデル生成ステップでは、前記回路置換処理ステップにおいてフリップフロップ回路の置換が行われた半導体集積回路の回路設計情報に基づき、前記ノードモデルを生成することを特徴とする付記1〜6のいずれか1つに記載の半導体設計方法。
前記パワードメインの回路設計情報に基づき、前記パワードメインの出力側境界から数えてN段目(ただし、Nは2以上の整数)のフリップフロップ回路と、(N−1)段目のフリップフロップ回路との間の信号経路において、出力の分岐点をノードとして定義したノードモデルを生成するノードモデル生成部と、
前記ノードモデル生成部により生成された前記ノードモデルにおいて、N段目の各フリップフロップ回路から(N−1)段目の各フリップフロップ回路までのすべての信号経路上の前記ノードの数が同じになるように、前記ノードを追加して前記ノードモデルを更新するノード数調整部と、
前記ノード数調整部により更新された前記ノードモデルにおいて、N段目または(N−1)段目の各フリップフロップ回路から見て同じノード段数となる位置に配置された前記ノードをカウントし、前記ノードの数が最も少ない前記ノード段数に対応する前記ノードの出力側を、前記パワードメインの電源遮断時にその直前の入力データをラッチするデータラッチ回路を挿入する位置として抽出する回路挿入位置抽出部と、
を有することを特徴とする半導体設計装置。
コンピュータを、
前記パワードメインの回路設計情報に基づき、前記パワードメインの出力側境界から数えてN段目(ただし、Nは2以上の整数)のフリップフロップ回路と、(N−1)段目のフリップフロップ回路との間の信号経路において、出力の分岐点をノードとして定義したノードモデルを生成するノードモデル生成部、
前記ノードモデル生成部により生成された前記ノードモデルにおいて、N段目の各フリップフロップ回路から(N−1)段目の各フリップフロップ回路までのすべての信号経路上の前記ノードの数が同じになるように、前記ノードを追加して前記ノードモデルを更新するノード数調整部、
前記ノード数調整部により更新された前記ノードモデルにおいて、N段目または(N−1)段目の各フリップフロップ回路から見て同じノード段数となる位置に配置された前記ノードをカウントし、前記ノードの数が最も少ない前記ノード段数に対応する前記ノードの出力側を、前記パワードメインの電源遮断時にその直前の入力データをラッチするデータラッチ回路を挿入する位置として抽出する回路挿入位置抽出部、
として機能させることを特徴とする半導体設計プログラム。
12 FF置換処理部
13 回路挿入位置抽出部
14 回路挿入処理部
15 出力判定部
Claims (7)
- 半導体集積装置内のパワードメインにおける回路配置を適正化するための半導体設計方法において、
ノードモデル生成部が、前記パワードメインの回路設計情報に基づき、前記パワードメインの出力側境界から数えてN段目(ただし、Nは2以上の整数)のフリップフロップ回路と、(N−1)段目のフリップフロップ回路との間の信号経路において、出力の分岐点をノードとして定義したノードモデルを生成するノードモデル生成ステップと、
ノード数調整部が、生成された前記ノードモデルにおいて、N段目の各フリップフロップ回路から(N−1)段目の各フリップフロップ回路までのすべての信号経路上の前記ノードの数が同じになるように、前記ノードを追加して前記ノードモデルを更新するノード数調整ステップと、
回路挿入位置抽出部が、更新された前記ノードモデルにおいて、N段目または(N−1)段目の各フリップフロップ回路から見て同じノード段数となる位置に配置された前記ノードをカウントし、前記ノードの数が最も少ない前記ノード段数に対応する前記ノードの出力側を、前記パワードメインの電源遮断時にその直前の入力データをラッチするデータラッチ回路を挿入する位置として抽出する回路挿入位置抽出ステップと、
を含むことを特徴とする半導体設計方法。 - 前記回路挿入位置抽出ステップでは、前記ノードの数が最も少ない前記ノード段数に対応する前記ノードの中に、前記ノード数調整ステップで追加された前記ノードが含まれていた場合には、当該ノードの出力側に配置された次の前記ノードの出力側を、前記データラッチ回路の挿入位置として抽出することを特徴とする請求項1記載の半導体設計方法。
- 前記ノードモデル生成ステップでは、前記パワードメインにおいて、N段目のフリップフロップ回路の出力端子から続く信号経路とは別に、前記半導体集積装置の外部ポートから入力された信号を受ける回路要素が存在する場合には、当該外部ポートからの信号経路を無視して前記ノードモデルを生成することを特徴とする請求項1または2に記載の半導体設計方法。
- 前記ノードモデル生成ステップでは、前記パワードメインにおいて、その出力側の信号経路の一部からフィードバックされた信号の入力を受ける回路要素が存在する場合には、当該回路にフィードバックされる信号の経路が分岐される分岐点に対して前記ノードを定義しないことを特徴とする請求項1〜3のいずれか1項に記載の半導体設計方法。
- 回路設計情報生成部が、前記パワードメイン内の前記回路挿入位置抽出ステップで抽出された位置に前記データラッチ回路を挿入した半導体集積装置の回路設計情報を生成する回路設計情報生成ステップをさらに含み、
前記回路設計情報生成ステップで挿入される前記データラッチ回路は、
入力データを選択的に遮断する入力遮断回路と、
前記入力遮断回路の出力側に直列に接続された第1および第2のインバータ回路と、
前記第1のインバータ回路から信号の入力を受けて、出力データを前記第1のインバータ回路の入力端子に供給する第3のインバータ回路と、
を有することを特徴とする請求項1〜4のいずれか1項に記載の半導体設計方法。 - 半導体集積装置内のパワードメインにおける回路配置を適正化する半導体設計装置において、
前記パワードメインの回路設計情報に基づき、前記パワードメインの出力側境界から数えてN段目(ただし、Nは2以上の整数)のフリップフロップ回路と、(N−1)段目のフリップフロップ回路との間の信号経路において、出力の分岐点をノードとして定義したノードモデルを生成するノードモデル生成部と、
前記ノードモデル生成部により生成された前記ノードモデルにおいて、N段目の各フリップフロップ回路から(N−1)段目の各フリップフロップ回路までのすべての信号経路上の前記ノードの数が同じになるように、前記ノードを追加して前記ノードモデルを更新するノード数調整部と、
前記ノード数調整部により更新された前記ノードモデルにおいて、N段目または(N−1)段目の各フリップフロップ回路から見て同じノード段数となる位置に配置された前記ノードをカウントし、前記ノードの数が最も少ない前記ノード段数に対応する前記ノードの出力側を、前記パワードメインの電源遮断時にその直前の入力データをラッチするデータラッチ回路を挿入する位置として抽出する回路挿入位置抽出部と、
を有することを特徴とする半導体設計装置。 - 半導体集積装置内のパワードメインにおける回路配置を適正化するための半導体設計プログラムにおいて、
コンピュータを、
前記パワードメインの回路設計情報に基づき、前記パワードメインの出力側境界から数えてN段目(ただし、Nは2以上の整数)のフリップフロップ回路と、(N−1)段目のフリップフロップ回路との間の信号経路において、出力の分岐点をノードとして定義したノードモデルを生成するノードモデル生成部、
前記ノードモデル生成部により生成された前記ノードモデルにおいて、N段目の各フリップフロップ回路から(N−1)段目の各フリップフロップ回路までのすべての信号経路上の前記ノードの数が同じになるように、前記ノードを追加して前記ノードモデルを更新するノード数調整部、
前記ノード数調整部により更新された前記ノードモデルにおいて、N段目または(N−1)段目の各フリップフロップ回路から見て同じノード段数となる位置に配置された前記ノードをカウントし、前記ノードの数が最も少ない前記ノード段数に対応する前記ノードの出力側を、前記パワードメインの電源遮断時にその直前の入力データをラッチするデータラッチ回路を挿入する位置として抽出する回路挿入位置抽出部、
として機能させることを特徴とする半導体設計プログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2008002689A JP4983609B2 (ja) | 2008-01-10 | 2008-01-10 | 半導体設計方法、装置、およびプログラム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2008002689A JP4983609B2 (ja) | 2008-01-10 | 2008-01-10 | 半導体設計方法、装置、およびプログラム |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2009163645A JP2009163645A (ja) | 2009-07-23 |
JP4983609B2 true JP4983609B2 (ja) | 2012-07-25 |
Family
ID=40966163
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2008002689A Expired - Fee Related JP4983609B2 (ja) | 2008-01-10 | 2008-01-10 | 半導体設計方法、装置、およびプログラム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP4983609B2 (ja) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2010282411A (ja) * | 2009-06-04 | 2010-12-16 | Renesas Electronics Corp | 半導体集積回路、半導体集積回路の内部状態退避回復方法 |
JP5445346B2 (ja) * | 2010-06-17 | 2014-03-19 | 富士通セミコンダクター株式会社 | Lsiの電源遮断領域拡張方法及びそのプログラム |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3024566B2 (ja) * | 1996-09-20 | 2000-03-21 | 日本電気株式会社 | 半導体集積回路設計方法 |
JP2005033637A (ja) * | 2003-07-09 | 2005-02-03 | Matsushita Electric Ind Co Ltd | 電源遮断対策ケア回路、電源遮断対策ケア回路挿入方法/装置および挿入検証方法/装置 |
-
2008
- 2008-01-10 JP JP2008002689A patent/JP4983609B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2009163645A (ja) | 2009-07-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7882461B2 (en) | Method for optimized automatic clock gating | |
US6272667B1 (en) | Method and apparatus for clock gated logic circuits to reduce electric power consumption | |
KR100992025B1 (ko) | 멀티-사이클 클록 게이팅 방법 | |
US20140165022A1 (en) | Relative timing architecture | |
US10275553B2 (en) | Custom circuit power analysis | |
US8443034B2 (en) | Input vector selection for reducing current leakage in integrated circuits | |
TW201738789A (zh) | 電腦可讀存儲介質及積體電路的電壓降和電遷移的分析方法 | |
JP5120785B2 (ja) | 非同期式論理回路の論理回路設計装置、論理回路設計方法および論理回路設計プログラム | |
US8522187B2 (en) | Method and data processing system to optimize performance of an electric circuit design, data processing program and computer program product | |
JP4983609B2 (ja) | 半導体設計方法、装置、およびプログラム | |
US8418119B2 (en) | Logical circuit netlist reduction and model simplification using simulation results containing symbolic values | |
US20170357746A1 (en) | Context aware clock tree synthesis | |
JP2015095786A (ja) | 論理回路及び論理回路設計支援装置及び論理回路設計支援方法及びプログラム | |
Saurabh et al. | Timing closure problem: Review of challenges at advanced process nodes and solutions | |
Shin et al. | Aggressive voltage scaling through fast correction of multiple errors with seamless pipeline operation | |
JP2007213274A (ja) | シミュレーション方法及びシミュレーションプログラム | |
Albrecht et al. | On the skew-bounded minimum-buffer routing tree problem | |
Lu et al. | Clock tree synthesis with XOR gates for polarity assignment | |
US8407642B2 (en) | Leak current calculation apparatus and method for calculating leak current | |
US8365121B2 (en) | Supporting method, design supporting device, computer product, and semiconductor integrated circuit | |
Lin et al. | NBTI and leakage reduction using ILP-based approach | |
Kamal et al. | Design of NBTI-resilient extensible processors | |
JP2005277909A (ja) | 論理回路設計システム、論理回路、論理回路設計方法およびそのプログラム | |
Park et al. | A soft error mitigation technique for constrained gate-level designs | |
JP5445346B2 (ja) | Lsiの電源遮断領域拡張方法及びそのプログラム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20100930 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20120321 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20120327 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20120409 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20150511 Year of fee payment: 3 |
|
S111 | Request for change of ownership or part of ownership |
Free format text: JAPANESE INTERMEDIATE CODE: R313111 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
LAPS | Cancellation because of no payment of annual fees |