特許第6236589号(P6236589)IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ シノプシス、インコーポレーテッドの特許一覧

<>
  • 特許6236589-低電力設計のための階層的電源マップ 図000002
  • 特許6236589-低電力設計のための階層的電源マップ 図000003
  • 特許6236589-低電力設計のための階層的電源マップ 図000004
  • 特許6236589-低電力設計のための階層的電源マップ 図000005
  • 特許6236589-低電力設計のための階層的電源マップ 図000006
  • 特許6236589-低電力設計のための階層的電源マップ 図000007
  • 特許6236589-低電力設計のための階層的電源マップ 図000008
  • 特許6236589-低電力設計のための階層的電源マップ 図000009
  • 特許6236589-低電力設計のための階層的電源マップ 図000010
  • 特許6236589-低電力設計のための階層的電源マップ 図000011
  • 特許6236589-低電力設計のための階層的電源マップ 図000012
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】6236589
(24)【登録日】2017年11月10日
(45)【発行日】2017年11月29日
(54)【発明の名称】低電力設計のための階層的電源マップ
(51)【国際特許分類】
   G06F 17/50 20060101AFI20171120BHJP
【FI】
   G06F17/50 658K
   G06F17/50 652A
   G06F17/50 672A
【請求項の数】13
【全頁数】18
(21)【出願番号】特願2015-548066(P2015-548066)
(86)(22)【出願日】2013年12月18日
(65)【公表番号】特表2016-502206(P2016-502206A)
(43)【公表日】2016年1月21日
(86)【国際出願番号】US2013076247
(87)【国際公開番号】WO2014100246
(87)【国際公開日】20140626
【審査請求日】2015年8月14日
(31)【優先権主張番号】13/718,979
(32)【優先日】2012年12月18日
(33)【優先権主張国】US
(73)【特許権者】
【識別番号】515163357
【氏名又は名称】シノプシス、インコーポレーテッド
(74)【代理人】
【識別番号】110000877
【氏名又は名称】龍華国際特許業務法人
(72)【発明者】
【氏名】シュー、チー−ネン
(72)【発明者】
【氏名】リン、イ−リャン
(72)【発明者】
【氏名】フェン、ウェン−チ
【審査官】 合田 幸裕
(56)【参考文献】
【文献】 米国特許出願公開第2011/0320991(US,A1)
【文献】 特開2010−049646(JP,A)
【文献】 特開2005−190442(JP,A)
【文献】 特開2012−173832(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06F 17/50
IEEE Xplore
CiNii
JSTPlus(JDreamIII)
(57)【特許請求の範囲】
【請求項1】
電源仕様フォーマットで記述される、IC設計の源側を、源仕様とその対応する回路設計とを統合する電源マップを表示することによってデバックするためのコンピュータ実装方法であり、前記方法は、
a.コンピュータが、前記IC設計をデバッグすべく前記コンピュータが起動されるとき、前記回路設計から知識データベースを生成する段階と、
b.前記コンピュータが、前記電源仕様および前記知識データベースに従って電源データベースを生成する段階と、
c.前記コンピュータが、前記電源データベースを用いて前記電源マップを生成および表示する段階であり、前記電源マップは、それぞれが前記回路設計の異なる部分に関連付けられる複数の電源ドメインを含む段階と、の複数の段階を実行すべく前記コンピュータを用いる段階を含み、前記電源マップは、なくとも1つの前記複数の電源ドメインの間の接続ネットをさらに含み、
前記電源データベースは、前記知識データベース中の元の前記回路設計を、前記電源仕様によって定められる階層に従って分割することによって生成され、前記電源マップは、前記複数の電源ドメイン間の複数の境界および複数の親−子関係を示す第1の表現を含み、前記複数の電源ドメインのうち少なくとも1つは、少なくとも1つの子電源ドメイン含む
コンピュータ実装方法。
【請求項2】
d.前記コンピュータが、前記複数の電源ドメインを接続する号に対する、前記電源仕様と前記回路設計とに従う数の不一致または複数のエラーをチェックおよび表示する段階をさらに備える
請求項1に記載のコンピュータ実装方法。
【請求項3】
前記複数の電源ドメインのそれぞれは、前記回路設計の、前記異なる部分にリンクするシンボルを含む
請求項1又は2に記載のコンピュータ実装方法。
【請求項4】
段階dは、
d1.任意の2つの電源ドメインの間に複数のHDL信号があり、それらの間に1つもアイソレーション接続がない場合、前記電源マップは、前記2つの電源ドメインの間に名前付きの仮想アイソレーション接続ネットを表示する段階と、
d2.任意の2つの電源ドメインの間に複数のHDL信号があり、それらの間に1つもレベルシフタ接続がない場合、前記電源マップは、前記2つの電源ドメインの間に名前付きの仮想レベルシフタ接続ネットを表示する段階と、のサブステップをさらに含む
請求項2に記載のコンピュータ実装方法。
【請求項5】
前記電源マップはシミュレーション結果と併せて用いられ、
d.前記コンピュータが、前記電源マップに、複数の信号に対するシミュレーション結果の複数の現在値を表示する段階をさらに含む
請求項1から4のいずれか一項に記載のコンピュータ実装方法。
【請求項6】
前記電源マップは、レベルシフタコマンドを表わす少なくとも1つのレベルシフタセルをさらに含み、前記レベルシフタセルは複数の電源ドメインを接続する複数のレベルシフタネットを備える
請求項1から5のいずれか一項に記載のコンピュータ実装方法。
【請求項7】
前記電源マップは、電源スイッチを表わす少なくとも1つの電源スイッチセルをさらに含み、前記電源スイッチセルは、電源、複数の電源ドメイン、または他の複数の電源スイッチセルを接続する複数の電源スイッチネットを備える
請求項1から6のいずれか一項に記載のコンピュータ実装方法。
【請求項8】
前記電源マップはシミュレーション結果と併せて用いられ、
d.前記コンピュータが、前記電源マップにおいて、複数の選択される信号に対して波形ウインドウにシミュレーション結果の数の波形を表示する段階をさらに含む
請求項1から7のいずれか一項に記載のコンピュータ実装方法。
【請求項9】
前記電源マップは、イソレーション状態表現を提示するアイソレーション状態ネットをさらに含む
請求項1から8のいずれか一項に記載のコンピュータ実装方法。
【請求項10】
前記電源スイッチセルは、状態ピンおよびアクティブアノテーションメカニズムをさらに含み、前記状態ピン上に状態値をアノテートする
請求項に記載のコンピュータ実装方法。
【請求項11】
サブステップd1およびd2は、前記電源マップが作成されるとき自動的に起動される
請求項に記載のコンピュータ実装方法。
【請求項12】
前記複数の電源ドメインのうち少なくとも1つは、前記電源ドメインを制御するための電源制御に関連付けられ、前記電源制御のステータスは、前記電源マップ上に表示される
請求項1から11のいずれか一項に記載のコンピュータ実装方法。
【請求項13】
前記複数の電源ドメインの少なくとも1つのサブセットは、関連付けられる親電源ドメイン、および関連付けられる子電源ドメインを有する
請求項1から12のいずれか一項に記載のコンピュータ実装方法。
【発明の詳細な説明】
【背景技術】
【0001】
[関連出願の相互参照]
本出願は、2010年6月24日に出願された、「Method and system for displaying IC design intent with power domain intent」という発明の名称の、米国特許仮出願第61/358,002号の優先権の利益を主張する、2011年6月13日に出願された、「Hierarchical power map for low power design」という発明の名称の、米国出願第13/158,471号の一部継続である、2012年12月18日に出願された、「Hierarchical power map for low power design」という発明の名称の、米国特許出願第13/718,979号に対する優先権を主張するものであり、それら全ての内容は、参照することによりその全体が本明細書に組み込まれる。
【0002】
本願発明は低電力集積回路(IC)設計をデバックするためのコンピュータ実装方法に関し、特に、IC設計をデバッグし、その電力使用のマップを提供すべく、統合されたグラフィックユーザインターフェースを作成するための方法に関する。
【0003】
パーソナルモバイルコンピュータ、MP3オーディオプレーヤ、ノートブック、およびデジタルカメラというような、モバイルで消費者向けの複数の電子装置は広く使われている。ますます薄く軽くなる製品における低消費電力化の流れは、IC上での多数のコンポーネントの集積を必要とする。例えば、低電力で、ますます複雑化する複数の機能を実行すべく、システムオンチップ(SoC)IC上により多くの回路が集積されるにつれて、ICはデバッグするのがより困難になる。多くの低電力設計において、回路は電源ドメインと呼ばれる多くの部分に分割され、それらのうちのそれぞれは電源に関連付けられうる。電源ドメインは、同一の配電ネットワーク(電圧)を共有できる、複数のインスタンス、複数のピン、および複数のポートの集まりである。複数の電源ドメインのうちのいくつかは、電源スイッチによってオンまたはオフにされうる。複数の電源スイッチは、電力消費量を保存すべく、設計上の、使用されない複数の部分をオフにすべく用いられる。
【0004】
アイソレーションセルは、1つはオンに切り替えられ、1つはオフに切り替えられている2つの電源ドメインの間で複数の信号を絶縁すべく用いられる。複数のそのようなセルは、オフに切り替得られている電源ドメインにおいて発生する複数の信号を絶縁すべく用いられる。アイソレーションセルは、電源ドメインがオフにされる場合、その出力が予め定められた、またはラッチされた値を有し、その結果、他の複数のアクティブなドメインが影響を受けないままにすることを確実にする。
【0005】
レベルシフタは、一般的には、複数の異なる電源ドメインの間で一電圧レベルを別の電圧レベルへと変化させるために必要とされる。それゆえ、低電力SoC ICは、多数のデジタル回路に加えて、多数の電力コンポーネントを有する電力ネットワーク回路を含むことがしばしばある。
【0006】
図1を参照すると、従来のやり方では、デジタル回路設計はVerilogコード1などのように、ハードウェア記述言語(HDL)で実装される。「電源仕様」という用語は、回路設計の電源のインテント(意図される電源のふるまい)の記述として、本明細書において定義される。低電力ネットワークを実装すべく、設計者らが、Verilogコード1を変更することなく別個のファイルにおいて低電力なネットワーク設計を実装することを可能にするよう電源情報を取り込むために、Cadence Common Power Format(CPF)またはUnified Power Format(UPF)などの電源フォーマットで記述される電源記述2が通常用いられる。電源フォーマットは、設計の実装、分析、および検証のための低電力のインテントを記述する。
【0007】
エネルギー消費量を最小化するよう低電力設計の複数の制約を指定すべく、電力の分配を制御するために電力ネットワークが指定される。UPFを用いて、抽象レベルでネットワークを指定することができる。そのようなネットワークは、複数の供給ポート、複数の供給ネット、複数の電源スイッチを含み、チップの電源側の電気回路ネットワークの高レベルの抽象である。複数の供給ポートは複数の電源ドメインおよび複数の電源スイッチに複数の供給インターフェースを提供し、一方で複数の供給ネットは複数の供給ポートを接続する。供給ネットワークはロジック設計とは別個に指定されるので、ロジック設計仕様は複数の電源ネットワーク仕様とは無関係なままである。
【0008】
従来のハードウェア記述言語(HDL)は電力設計情報を指定するのに十分ではないので、UPFなどの電源フォーマットは既存のHDLコードを変更することなくフォーマットを提供する。例えば、UPFは、電源ドメインの作成および電源ドメインに関連付けられる複数の設計インスタンスのグループ化のために、create_power_domainというコマンドを提供する。複数の電源スイッチ、複数のアイソレーションセル、および複数のレベルシフタなどの、他の複数の電力コンポーネントは、複数の電源フォーマットによって定義される、対応する複数のコマンドを用いて作成されうる。
【0009】
電源フォーマットに基づくVerilog設計および電力設計が考慮されると、IC設計は分析され、デバックされうる。しかしながら、従来の回路設計のファイルが電力ネットワーク設計と別個である限り、回路をデバッグするには、設計者はこれら2つのファイルの間の関係を確立する必要がある。
【0010】
さらに、回路設計者らは、回路設計の複数の機能に集中させられ、設計の機能的および論理的見地に基づいて複数の階層を作成すべく集中させられる。しかしながら、電力設計者らは電力ネットワーク設計内に多数の電源ドメインを有する電源フォーマットによって定められうる物理的形態の複数の設計階層を有する方を好む。結果として、低電力なネットワーク設計がトップレベルに見えず、電力設計者と対話しない場合、設計者らがチップ全体をデバッグすることは、非効率的でありエラーが起こりやすい。複数の低電力回路を設計するためのより効率的で信頼性のある技術に対する必要性が存在しつづける。
【発明の概要】
【課題を解決するための手段】
【0011】
本願発明の複数の実施形態によれば、容易なデバックを可能にすべく、電源マップと呼ばれる電源情報がグラフィックウインドウに表示されて、電源構造、および電力ネットワーク設計と回路設計との間の関係を、複数のユーザが迅速に理解するのを支援する。電源マップは複数の電源ドメイン、複数のアイソレーションセル、複数のレベルシフタ、複数の電源スイッチ、および複数の電源を含む。
【0012】
本願発明の一実施形態は、電源マップを生成および表示するためのコンピュータ実装方法を提供する。電源マップは、設計者らが低電力なネットワーク設計と、その関連付けられる回路設計とをデバッグすることを可能にすべく、電源フォーマットで定められる低電力の情報に基づく低電力なネットワーク設計をトップレベルで示す、グラフィックウインドウにおける電力の概略図であり、それらの設計において、電源マップは、複数の電源ドメインを表し、回路設計の複数の関連付けられる部分にリンクする、複数の電源ドメインシンボルを備える。
【0013】
本願発明の一実施形態において、以下の複数の段階によって電源マップを生成および表示するための方法を提供する。まず、いくつかのテキストファイルである複数の元の回路設計のHDLコードが、通常、回路設計階層と呼ばれる階層的構造である内部構造に変換され、HDLパーサによって生成される知識データベースに格納されて、知識データベースの複数の元の回路設計階層は、電源仕様によって定められる複数の新たな階層に再グループ化される。複数の新たな階層において、同一の電源ドメインを共有する複数のインスタンスは一緒にグループ化される。その後、複数の電源ドメイン回路設計階層と呼ばれる複数の新たな階層が電源データベースに格納される。最後に、電源マップが電源データベースから作成される。それはまた、複数の電源ドメインを接続するそれらの不適切に処理される複数の信号に対する、電源仕様と回路設計との間の複数の不一致または複数のエラーも表示しうる。
【0014】
本願発明は、電源マップが、複数の電源ドメインシンボル、複数のアイソレーションセル、複数のレベルシフタセル、および複数の電源スイッチセルなどの複数の低電力シンボルを備えることを開示する。さらに、設計者らにデバック情報を提供すべく、電源マップは、特定のシミュレーション時間における電源マップ中の複数の信号に対するシミュレーション結果の複数の現在値を表示すること、または、電源マップ中の複数の選択される信号を波形ウインドウにドラッグアンドドロップすることによって、シミュレーション期間のシミュレーション結果の複数の波形を波形ウインドウに表示すること、などのシミュレーション結果と併せて用いられる。さらには、電源マップはまた、どの複数のHDL信号がアイソレーション接続およびレベルシフタ接続によって網羅されていないかを検出するための方法論を提供し、電源マップが作成されるときこの機能を自動的に起動する。
【0015】
グラフィックウインドウ中に表示される電源マップの特徴は、それが複数のユーザと容易に通信および対話すべく、何らかのアクティブアノテーションを提供することである。従って、対話型インターフェースにおいて複数のユーザに、デジタル回路設計と共に電力ネットワークをデバッグさせることは、よりユーザフレンドリである。
【0016】
本発明の別の目的は、複数の電源ドメインの間の複数の親−子関係を見る直観的手法を提供すべく、グラフィックウインドウにおいて複数の電源ドメインの階層的表現で低電力の情報を表示するための解決法を提供することである。
【0017】
本願発明における一実施形態は、階層的表現で電源マップを生成および表示するための方法を提供する。当該電源マップは、複数の電源ドメインを含み、複数の電源ドメインのそれぞれは、電源ドメインに属する回路設計の一部に関連付けられ、複数の電源ドメインは、複数の電源ドメインの間の複数の境界および複数の親−子関係を示す表現で複数セットの電源ドメインへグループ化される。階層的電源マップを提示すべく、少なくとも1セットの電源ドメインが、親電源ドメインと、その親電源ドメインの内部の少なくとも1つの子電源ドメインと、が存在する、少なくとも2つの電源ドメインを含むことが必要であり、複数の電源ドメインのそれぞれは、電源ドメインを制御するための対応する電源制御に関連付けられ、電源制御のステータスは電源マップ上に表示される。
【0018】
電源マップの一実施形態は、異なる複数の動作モードを有するIC設計をデバックするために生成され、電源マップはIC設計の現在のモードを設定および表示するためのトークンを備える。現在のモードが新たなモードに変更されると、電源マップの複数の電源ドメインは、低電力の仕様において指定されるように、IC設計の新たなモード下で再描画される。
【0019】
本願発明のために実装される詳細な技術および上記好適な実施形態は、当業者がクレームされる発明の複数の特徴をよく理解すべく、添付の複数の図面を伴いながら、以下の複数の段落において説明される。
【図面の簡単な説明】
【0020】
本発明の、前述の複数の態様および付随する複数の利点の多くは、それらが、添付の複数の図面と併せて、以下の詳細な説明を参照することによってより良く理解されるにつれて、より容易に理解されるようになるであろう。
【0021】
図1】従来の低電力デジタル回路設計の方法論を示す。
【0022】
図2】本願発明の一実施形態による、電源マップを作成すべく実行される複数の段階のフローチャートである。
【0023】
図3】本願発明の一実施形態による、元の回路設計階層を再グループ化した後の、電源仕様によって定義される階層的回路設計を示す。
【0024】
図4A】本願発明の一実施形態による、電源マップを示す概略図である。
【0025】
図4B】本願発明の一実施形態による、アイソレーションルールを示す概略図である。
【0026】
図4C】本願発明の一実施形態による、レベルシフタルールを示す概略図である。
【0027】
図4D】本願発明の一実施形態による、電源スイッチルールを示す概略図である。
【0028】
図5】本願発明の一実施形態による、信号値リストウインドウである。
【0029】
図6】本願発明の一実施形態による、波形ウインドウである。
【0030】
図7】本願発明の一実施形態による、電源制御と、複数の電源ドメインの間の複数の親−子関係と、に従って回路設計の複数の電源ドメインをグループ化することによる、電源マップの階層的表現を示す。
【0031】
図8】本願発明の一実施形態による、電源マップの階層的表現の作成において実行される複数の段階のフローチャートである。
【発明を実施するための形態】
【0032】
図2は、本願発明の一実施形態による、集積回路(IC)の電源マップを作成するためのフローチャートである。3において、元のテキストベースの回路設計HDLコードは、構文解析されて内部構造に変換され、知識データベースに格納される。HDLパーサによって生成されうる知識データベースは、回路設計の(階層的またはフラットな構造を有しうる)内部のコンピュータ可読データ構造であり、ソフトウェアによって操作または制御されうる。4において、CPFまたはUPFで記述される複数の電力設計は、CPFまたはUPFパーサによって構文解析されて内部構造に変換される。次に、知識データベース中の元の回路設計階層は、多数の電源ドメインを有する電源仕様によって定められる複数の新たな設計階層に再グループ化される。複数の新たな階層において、同一の電源ドメインを共有する複数のインスタンスは一緒にグループ化される。元の設計は階層的またはフラットな設計に限定されないことを理解されたい。元の回路設計がフラットにされて知識データベースに格納される場合、それは複数の電源ドメインに分割されうる。5において、複数の新たな設計階層が電源データベースに格納されて、回路設計および電力設計のコンピュータ可読データ構造である内部構造に変換される。電源データベースはソフトウェアによって操作、制御、または変更されうる。
【0033】
6において、電源マップが電源データベースに基づいて作成されて、ユーザフレンドリなGUI(グラフィカルユーザインターフェース)ウインドウによって表示される。電源マップは、以下で詳細に説明されるように、複数の電源ドメインシンボルおよび複数のアイソレーションセルなどの多くのオブジェクトを含みうる。電源マップ中の電源ドメインが、例えば、ユーザがクリックすることによって、ユーザフレンドリなGUIウインドウ中で起動される場合、電源ドメインに関連付けられる回路設計が起動される。それゆえ、電力ネットワーク設計および関連するHDLコードを有するチップ全体のデバックは、従来の複数の技術に比べてより効率的かつより簡単である。
【0034】
7において、複数の電源ドメインを接続する不適切に処理された複数の信号に対する、電源仕様と回路設計との間の複数の不一致または複数のエラーを特定すべく、静的チェックが実行されうる。8において示されるように、そのような複数の不一致または複数のエラーは、複数の点線、複数のシンボル、または複数の色付きのハイライトなどの複数のアノテーションによって複数のユーザに示されうる。
【0035】
図3を参照すると、枠9は電源マップを示しており、電源マップにおいて、HDLの元の回路設計階層11は、電源仕様によって定められ、多数の電源ドメインを有する新たな階層10に再グループ化される。各電源ドメインは同一の電源ドメインを共有する、回路設計からの多数のインスタンスを含む。元の設計階層11は、3つのインスタンス、PD_制御_1、PD_制御_2、PD_制御_3を備えるモジュール電源_制御を含む多数のインスタンスを含むトップレベルを有する。電源マップにおいて再グループ化を行った後、PM_トップと呼ばれるトップレベルが作成される。インスタンスPD_制御_1は、電源ドメインPD1に関連付けられ、電源ドメインPD1下に配置され、インスタンスPD_制御_2は、電源ドメインPD2に関連付けられ、電源ドメインPD2下に配置され、インスタンスPD_制御_3は、電源ドメインPD3に関連付けられ、電源ドメインPD3下に配置される。
【0036】
複数の新たな階層が、多数の電源ドメインを有する電源仕様によって定められた後、それらは、回路設計および電力ネットワーク設計の情報を統合する内部のコンピュータ可読データ構造である電源データベースに格納されうる。電源データベースはソフトウェアによって操作または制御されうる。
【0037】
電源データベースが生成された後、図4Aにおいて示されるように、電源マップは電力ネットワーク設計を表示すべく用いられうる。電源マップ12は、複数のグランド19bに接続される多数の電源ドメインシンボル13、14および15、少なくとも1つのアイソレーションセル16、少なくとも1つのレベルシフタセル17、少なくとも1つの電源スイッチセル18、および少なくとも1つの電源19a、を含むように示される。
【0038】
アイソレーションコマンドを表わすアイソレーションセル16は、複数の電源ドメインとの接続のための多数のアイソレーションネット20と、アイソレーション状態表現を提示するためのアイソレーション状態ネット21を含む。アイソレーションセル16は、アイソレーションセル16の左上に配置されるトリガステータスシンボルを表示するように示される。関連付けられる状態の値が「1」の場合、トリガステータスは成功であり、トリガステータスシンボルは上矢印22aを表示し、そうでなければ、トリガステータスシンボルは下矢印22bを表示する。
【0039】
レベルシフタコマンドを表わすレベルシフタセル17は、複数の電源ドメインと接続すべく多数のレベルシフタネット23を含みうる。
【0040】
電源スイッチを表わす電源スイッチセル18は、電源19aと、または1または複数の電源ドメインと、または他の複数の電源スイッチセルと、の接続のための多数の電源スイッチネット24を含みうる。さらに、電源スイッチセル18はまた、状態ピン26も含む。ユーザがアクティブアノテーションをオンにする場合、状態値25が状態ピン26上にアノテートされる。アクティブアノテーションは電源マップとの対話および容易な通信を提供する。アクティブアノテーションは「アクティブアノテーションメカニズム」によってオンにされうる。例えば、それは、状態ピン26上に状態値25をアノテートすべく、ハイライト表示されるアイコンまたはシンボルをクリックすることによって、またはマウスのボタンを用いてアイテムを選択することによってオンにされうる。
【0041】
さらに、一実施形態において、電源マップは、適切なアイソレーションのない信号を表示すべく、「iso」27のマークを有する赤色の点線、および、レベルシフタのない信号を表示すべく「lvs」28のマークを有する赤色の点線を使用する。
【0042】
電源マップにおいて用いられる各電力コンポーネントに対する複数のルールは以下のようなものである。
アイソレーションルール(CPF/UPF)。
【0043】
図4Bを参照すると、電源マップは電源仕様でアイソレーションコマンドを表わすアイソレーションセル16を使用する。アイソレーションセル16は、アイソレーション状態表現を提示すべくアイソレーション状態ネット21を含む。アイソレーションセル16は、アイソレーションセルの左上にアイソレーショントリガステータスシンボルを表示する。関連付けられる状態の値が「1」の場合、トリガステータスは成功であり、トリガステータスシンボルは上矢印を表示し、そうでなければ、トリガステータスは下矢印22bを表示する。
レベルシフタルール(CPF/UPF)。
【0044】
図4Cを参照すると、電源マップは、レベルシフタコマンドを表わすべくレベルシフタセル17を使用する。
電源スイッチ(CPF/UPF)。
図4Dを参照すると、電源マップは、電源スイッチを表わすべく電源スイッチセル18を使用し、これにより、ユーザがアクティブアノテーションをオンにする(電源スイッチセル18をクリックするなどによって)場合、状態ピン26上に電源スイッチ状態値25を示す。
網羅されない接続。
【0045】
複数の電源ドメインと接続するが、電源仕様で複数のアイソレーションルールおよび/またはレベルシフタルールによって指定されない信号接続は、網羅されない接続と呼ばれる。図4Aを参照すると、電源マップ12は、どの複数のHDL信号が複数の複数のアイソレーションルールまたは複数のレベルシフタルールによって適切に網羅されないかを検出するための方法論を提供し、これにより、電源マップ12が作成されるときこの機能を自動的に起動する。一実施形態において、電源マップ12は、適切なアイソレーションのない信号を表示すべく、「iso」27のマークを有する赤色の点線、および、レベルシフタのない信号を表示すべく「lvs」28のマークを有する赤色の点線を使用する。
【0046】
電源マップが生成された後、電源仕様と回路設計との間の複数の不一致または複数のエラーを検出すべく静的チェックが実行され、ユーザにどこでそのような複数の不一致または複数のエラーが起こっているのかを知らせることができる。複数の不一致または複数のエラーの起こり方は多数ありうる。例えば、アイソレーション/レベルシフタのセル接続において接続が間違っていることがあり、電源スイッチに接続される電源制御信号において制御信号が失われる、または一致しないことがあり、複数のアイソレーションセルが、複数の不一致、または失われた複数の制御信号に起因して無駄になることがあり、または、複数の電源ドメインに接続する複数のネットに対する失われたアイソレーションセルおよび/またはレベルシフタセルに起因する不適切に網羅される複数のアイソレーション接続、または不適切に網羅されるレベルシフタ接続があることがある。さらに、複数のHDL信号を有する2つの電源ドメイン間にアイソレーション接続およびレベルシフタ接続の両方があることを確実にすべく、電源マップは、設計者らに警告を与えるために、それらの間に複数の仮想ネット(本明細書において代替的に複数の仮想電源ルールネットと呼ばれる)を作成できる。例えば、2つの電源ドメインがそれらの間にアイソレーション接続および/またはレベルシフタ接続を有さない場合、電源マップはそれらの間に仮想レベルシフタ電源ルールネット、および/または仮想アイソレーション電源ルールネットを作成する。2つの仮想電源ルールネットのそれぞれの過密な複数の信号は、全て2つの電源ドメイン間のHDL信号である。
【0047】
図4Aを参照すると、各電源ドメインシンボルは、電源ドメインに関連付けられる回路設計の一部にリンクすべく起動されうる。一実施形態において、ユーザが電源ドメインシンボル13を、それをクリックすることによって起動する場合、その電源ドメインに関連付けられる回路設計の一部は、電力ネットワーク設計および元のHDLコードを含むチップ全体をデバッグすべく、ユーザが回路設計を見ることを可能にするように起動されうる。
【0048】
電源マップはさらに、任意のシミュレーション時間における複数のシミュレートされる信号の複数の現在値を表示すべく適合される。一実施形態において、電源マップは、デバックをより容易にすべく、図5において示すように、信号値リストウインドウ29を含む。ユーザが、ハイライト表示されるアイコンまたはシンボルをクリックする、または、マウスを用いてアイテムを選択する、などにより、アクティブアノテーションをオンにする場合、信号値リストウインドウ29は、その特定のシミュレーション時間について、電源マップ中の対応する複数のシミュレートされる信号の複数の値を表示する。さらに、一実施形態において、図6において示されるように、波形ウインドウ30を用いる電源マップは、ユーザが電源マップ中の複数の選択される信号をドラッグアンドドロップする場合、複数のシミュレーション波形(任意のシミュレーション期間の)を表示する。例えば、ユーザがアイソレーションセルをドラッグし、波形ウインドウ30にそれをドロップすると、そのアイソレーションレベルを接続する―および複数の変数(VB)と見做される―複数のネットが波形ウインドウ30に自動的に追加され、その結果、図6において示されるように、シミュレーション期間のそれらの波形の表示を自動的にもたらす。同様に、電力コンポーネント(例えば、電源ドメイン、PD)の複数の信号の波形もまた、波形ウインドウ30に表示されうる。更に別の実施形態において、ユーザが波形ウインドウ30中のカーソルをあるシミュレーション時間に移動させる場合、電源マップ中の複数のネットは、その特定の時間におけるそれらの関連付けられる信号の値がアノテートされる。それゆえ、本願発明の複数の実施形態によれば、電力ネットワークおよびデジタル回路設計のデバックのプロセスは、従来の複数の技術に比べてより容易に、より効率的に成される。
【0049】
図7は、回路設計の複数の電源ドメインが、電源ドメインの複数の境界、ならびに複数の電源ドメイン内の複数の親−子関係の表現を含む仕様に従ってグループ化される階層的電源マップを示す。各電源マップは、その電源ドメインを制御するための電源制御に関連付けられる。図7から分かるように、PD_TOP700と称される電源マップのトップレベルは、3セットの親電源ドメイン、すなわち、PD_CPU710、PD_FSM721、およびPD_RAM731を含むように示されている。電源ドメインPD_CPU710は、3つの子電源ドメイン、すなわち、PD_ALUB711、PD_PCU712、およびPD_CCU713を、親電源ドメインPD_CPU700を表わす長方形の内部に含むように示されている。PD_ALUB711内に、一電源ドメインPD_alu714が示されており、それは、親電源ドメインPD_ALUB711と、子電源ドメインPD_alu714との間の親−子関係があることを示している。図7は3つのレベルの階層の電源マップを示しているが、電源マップの階層はより多くのレベルを含みうることを理解されたい。トップレベルの階層はまた、第2の電源ドメインセットPD_FSM721、および第3の電源ドメインセットPD_RAM731を含むように示されている。電源ドメインPD_FSM721、またはPD_RAM731内には、子電源ドメインは示されていない。階層的電源マップを提示すべく、少なくとも1セットの電源ドメインは、少なくとも2つの電源ドメイン、すなわち、親電源ドメインと、その親電源ドメインの内部の少なくとも1つの子電源ドメインと、を含む。複数の電源ドメインのそれぞれは、その電源ドメインを制御するための対応する電源制御に関連付けられる。電源制御のステータスは電源マップに表示される。親電源ドメインの電源制御は、その子電源ドメインも同様に制御すべく用いられうる。例えば、一実施形態において、親電源ドメインの電源がオフにされると、その親電源ドメインの内部の複数の子ドメインの全ては同様にオフにされる。しかしながら、親電源ドメインの電源がオンにされる場合、複数の子電源ドメインのそれぞれは自動的にオンにされうるか、または、必要ならば、その子電源ドメインに関連付けられる追加的なローカル電源制御を受けてよい。
【0050】
第1のセットの電源ドメインPD_CPU710の第1の電源制御のステータス701は、第1の長方形の形状に沿って表示される。例えば、第1の電源制御PD_CPUのステータス701は、第1のセットの電源ドメインが1.2Vの電圧レベルでONであることを示している。同様に、電源ドメインPD_ALUB711、PD_PCU712、PD_CCU713、PD_FSM721、およびPD_RAM731の電源制御のステータスは、それぞれ702、704、703、705、および706として表示される。別の例において、電源ドメインPD_FSM721の電源制御のステータス705は、PD_FSM721の電源がONからOFFに変更されることを示している。電源ドメインPD_RAM731の電源制御706のステータスは、PD_RAM731の電源が0.8Vの電圧レベルでONであることを示している。回路のデバッグを支援すべく、静的チェックはまた、複数の電源ドメインを接続する不適切に処理された複数の信号に対する、電源仕様と回路設計との間の複数の不一致または複数のエラーを特定するために実行されうる。図7において示されるように、そのような複数の不一致または複数のエラーは、複数の点線、複数のシンボル、または複数の色付きのハイライトなどの1または複数のアノテーションによって複数のユーザに示されうる。アイソレーションセルまたはレベルシフタセルを有さない、複数の電源ドメインの間、または複数の電源ドメインの階層的ブロックの間、の複数の接続である、電源ドメインPD_CPU710とPD_FSM721との間の接続731、電源ドメインPD_ALUB711とPD_FSM721との間の接続732、電源ドメインPD_alu714とPD_CCU713との間の接続734、および電源ドメインPD_PCU712とPD_CCU713との間の接続733などは、複数の点線でハイライト表示されうる。
【0051】
アイソレーションセル754は、電源ドメインPD_ALUB711をPD_FSM721に接続し、論理「ハイ」のクランプ値を有するように示されている。同様に、アイソレーションセル755は、電源ドメインPD_alu714をPD_FSM721に接続し、論理「ハイ」のクランプ値を有するように示されている。アイソレーションセル756は、電源ドメインPD_ALUB711をPD_RAM731に接続するように示されている。しかしながら、アイソレーションセル756のクランプ値は定められず、電源マップに示されていない。同様、アイソレーションセル751、752および753のクランプ値は定められず、図7に示されていない。それゆえ、複数の電源ドメイン間の複数の状態または複数のエラーが、IC設計のデバックを支援すべく階層的電源マップにおいて見られうる。
【0052】
複数の動作モードを有する複数の回路について、全ての動作モードをただ1つの電源マップに併合することで、表示が複雑になり、デバックが困難になりうることを避けるべく、各動作モードはそれ自身の電源マップを有しうる。結果として、各モードにつき、対応する階層的電源マップが独立して生成され表示されうる。例えば、図7において示されるように、現在の動作モードは電源マップのトップレベル上にmode_1 708として表示される。
【0053】
一実施形態において、本願発明による、電源マップを作成するためのコンピュータ実装方法は以下のようになる。図8に示されるように、760において、複数の元のテキストベースの回路設計HDLコードが構文解析されて内部構造に変換され、知識データベースに格納される。HDLパーサによって生成されうる知識データベースは、回路設計の内部のコンピュータ可読データ構造であり、ソフトウェアによって容易に操作または制御されうる。知識データベースは概して階層的だが、フラットな構造を有してよい。761において、CPFまたはUPFで記述される複数の電力設計は、CPFまたはUPFパーサによって構文解析されて内部構造に変換される。その後、知識データベース中の元の回路設計階層は、多数の電源ドメインを有する、電源仕様によって定められる複数の電源ドメイン階層に再グループ化される。762において、複数の電源ドメイン階層が電源データベースに格納され、回路設計および電力設計のコンピュータ可読データ構造であり、かつソフトウェアによって制御されうる内部構造に変換される。763において、電源マップが電源データベースの電源ドメイン階層に従って作成され、GUIウインドウにおいて表示される。電源マップは、多数の電源ドメインを含み、それらのうちのそれぞれは、回路の一部に関連付けられる。電源マップは、複数の電源ドメインの間の複数の境界および複数の親−子関係を示す第1の表現を含み、複数の電源ドメインのうち少なくとも1つは少なくとも1つの子電源ドメインを含む。各電源ドメインは、電源ドメインを制御するための電源制御を有し、電源制御のステータスは電源マップ上に表示される。親電源ドメインの電源制御は、その子電源ドメインも同様に制御すべく用いられうる。例えば、一実施形態において、親電源ドメインの電源がオフにされると、親電源ドメインの内部の複数の子ドメインの全ては同様にオフにされうる。しかしながら、親電源ドメインの電源がオンにされる場合、複数の子電源ドメインのそれぞれは自動的にオンにされうるか、または、必要ならば、その子電源ドメインに関連付けられる追加的なローカル電源制御を受けるようにされうる。
【0054】
764において、複数の電源ドメインを接続する不適切に処理された複数の信号に対する、電源仕様と回路設計との間の複数の不一致または複数のエラーを検出すべく、静的チェックが実行されうる。765において示されるように、複数の不一致または複数のエラーは、複数の点線、複数のシンボル、または複数の色付きのハイライトなどの1または複数のアノテーションによって複数のユーザに表示されうる。
【0055】
本願発明の上記複数の実施形態は例示的なものであり、限定的なものではない。本開示を考慮すると、他の複数の追加、削除または変更が明らかであり、添付の特許請求の範囲内に含まれることが意図される。
(項目1)
電源仕様フォーマットで記述される、回路設計の上記電源側を、上記電源仕様と上記回路設計とを統合する電源マップを表示することによってデバックするためのコンピュータ実装方法であり、上記方法は、
上記回路設計をデバッグすべく上記コンピュータが起動されるとき、上記回路設計から知識データベースを生成する段階と、
上記電源仕様および上記知識データベースに従って電源データベースを生成する段階と、
上記コンピュータを用いて上記電源データベースに従って上記電源マップを生成および表示する段階であり、上記電源マップは、それぞれが上記回路設計の異なる部分に関連付けられる複数の電源ドメインを含む段階と、
上記複数の電源ドメインを接続する複数の信号に対する、上記電源仕様と上記回路設計との間の複数の不一致または複数のエラーをチェックおよび表示する段階と、を備え、
上記電源マップは、上記複数の電源ドメインの間の複数の境界および複数の親−子関係を示す第1の表現を含み、上記複数の電源ドメインのうち少なくとも1つは、少なくとも1つの子電源ドメインを含み、上記複数の電源ドメインのうち少なくとも1つは、上記電源ドメインを制御するための電源制御に関連付けられ、上記電源制御のステータスは、上記電源マップ上に表示される
コンピュータ実装方法。
(項目2)
上記複数の電源ドメインの少なくとも1つのサブセットは、関連付けられる親電源ドメイン、および関連付けられる子電源ドメインを有する
請求項1に記載のコンピュータ実装方法。
(項目3)
上記チェックおよび表示する段階は、
少なくとも2つの電源ドメインの間にハードウェア記述言語(HDL)の複数の信号があり、上記少なくとも2つの電源ドメインの間に1つもアイソレーション接続がない場合、上記少なくとも2つの電源ドメインの間に仮想アイソレーション接続ネットを表示する段階と、
上記少なくとも2つの電源ドメインの間にハードウェア記述言語(HDL)の複数の信号があり、上記少なくとも2つの電源ドメインの間に1つもレベルシフタ接続がない場合、上記少なくとも2つの電源ドメインの間に仮想レベルシフタ接続ネットを表示する段階と、をさらに含む
請求項2に記載のコンピュータ実装方法。
(項目4)
上記電源マップはシミュレーション結果と共に用いられ、
上記コンピュータ実装方法は、
上記電源マップにおいて複数の信号の複数の現在のシミュレーション値を表示する段階と、
上記関連付けられる電源ドメインが現在電源を投入されているのか、または電源を切られているのかを示すべく、ONまたはOFFのシンボルを用いて各電源制御のステータスを表示する段階であり、電源制御の上記ステータスは、上記関連付けられる電源ドメインが電源を投入されている場合、電圧レベルを含む段階と、をさらに備える
請求項2に記載のコンピュータ実装方法。
(項目5)
上記電源マップは、アイソレーションコマンドを表わす、少なくとも1つのアイソレーションセルをさらに含み、上記少なくとも1つのアイソレーションセルは、上記複数の電源ドメインへの接続のための複数のアイソレーションネットを含む
請求項1に記載のコンピュータ実装方法。
(項目6)
上記電源マップは、レベルシフタコマンドを表わす、少なくとも1つのレベルシフタセルをさらに含み、上記少なくとも1つのレベルシフタセルは、上記複数の電源ドメインへの接続のための複数のレベルシフタネットを含む
請求項1に記載のコンピュータ実装方法。
(項目7)
上記電源マップは、電源スイッチを表わす、少なくとも1つの電源スイッチセルをさらに含み、上記少なくとも1つの電源スイッチセルは、電源、または複数の電源ドメイン、または少なくとも1つの電源スイッチセルへの接続のための複数の電源スイッチネットを含む
請求項1に記載のコンピュータ実装方法。
(項目8)
上記仮想アイソレーション接続ネット、または上記仮想レベルシフタ接続ネットは、点線または色付きの線のいずれかで表される
請求項5に記載のコンピュータ実装方法。
(項目9)
電源仕様フォーマットで記述される、回路設計の上記電源側を、上記電源仕様とその対応する回路設計とを統合する電源マップを表示することによってデバッグするように適合されたコンピュータシステムであり、上記コンピュータシステムは、プロセッサと、命令を格納するように適合されたコンピュータ可読記憶媒体と、を備え、上記複数の命令は上記プロセッサによって実行されると上記プロセッサに、
上記回路設計から知識データベースを生成させ、
上記電源仕様および上記知識データベースに従って電源データベースを生成させ、
それぞれが上記回路設計の異なる部分に関連付けられる複数の電源ドメインを含む上記電源マップを、上記電源データベースに従って生成および表示させ、
上記複数の電源ドメインを接続する複数の信号に対する、上記電源仕様と上記回路設計との間の複数の不一致または複数のエラーをチェックおよび表示させ、
上記電源マップは、上記複数の電源ドメインの少なくとも1つのサブセットの間の複数の境界および複数の親−子関係を示す第1の表現を含み、上記複数の電源ドメインのうち少なくとも1つは、少なくとも1つの子電源ドメインを含み、上記複数の電源ドメインのうち少なくとも1つは、上記少なくとも1つの電源ドメインを制御するための電源制御に関連付けられ、上記電源制御の上記ステータスは、上記電源マップ上に表示される
コンピュータシステム。
(項目10)
上記複数の電源ドメインの少なくとも1つのサブセットは、関連付けられる親電源ドメイン、および関連付けられる子電源ドメインを有する
請求項9に記載のコンピュータシステム。
(項目11)
上記チェックおよび表示は、
少なくとも2つの電源ドメインの間にハードウェア記述言語(HDL)の複数の信号があり、上記少なくとも2つの電源ドメインの間に1つもアイソレーション接続がない場合、上記少なくとも2つの電源ドメインの間に仮想アイソレーション接続ネットを表示することと、
上記少なくとも2つの電源ドメインの間にハードウェア記述言語(HDL)の複数の信号があり、上記少なくとも2つの電源ドメインの間に1つもレベルシフタ接続がない場合、上記少なくとも2つの電源ドメインの間に仮想レベルシフタ接続ネットを表示することと、をさらに含む
請求項10に記載のコンピュータシステム。
(項目12)
上記電源マップはシミュレーション結果と共に用いられ、
上記複数の命令は上記プロセッサによって実行されると上記プロセッサにさらに、
上記電源マップにおいて複数の信号の複数の現在のシミュレーション値を表示させ、
上記関連付けられる電源ドメインが現在電源を投入されているのか、または電源を切られているのかを示すべく、ONまたはOFFのシンボルを用いて各電源制御のステータスを表示させ、電源制御の上記ステータスは、上記関連付けられる電源ドメインが電源を投入されている場合、電圧レベルを含む
請求項10に記載のコンピュータシステム。
(項目13)
上記電源マップは、アイソレーションコマンドを表わす、少なくとも1つのアイソレーションセルをさらに含み、上記少なくとも1つのアイソレーションセルは、上記複数の電源ドメインへの接続のための複数のアイソレーションネットを含む
請求項9に記載のコンピュータシステム。
(項目14)
上記電源マップは、レベルシフタコマンドを表わす、少なくとも1つのレベルシフタセルをさらに含み、上記少なくとも1つのレベルシフタセルは、上記複数の電源ドメインへの接続のための複数のレベルシフタネットを含む
請求項9に記載のコンピュータシステム。
(項目15)
上記電源マップは、電源スイッチを表わす、少なくとも1つの電源スイッチセルをさらに含み、上記少なくとも1つの電源スイッチセルは、電源、上記複数の電源ドメイン、または少なくとも1つの電源スイッチセルへの接続のための複数の電源スイッチネットを含む
請求項9に記載のコンピュータシステム。
(項目16)
上記仮想アイソレーション接続ネット、または上記仮想レベルシフタ接続ネットは、点線または色付きの線のいずれかで表される
請求項13に記載のコンピュータシステム。
(項目17)
プロセッサによって実行されると上記プロセッサに、電源仕様フォーマットで記述される、回路設計の電源側を、上記電源仕様とその対応する回路設計とを統合する電源マップを表示することによってデバッグさせる複数の命令を備えるコンピュータ可読記憶媒体であり、上記コンピュータ可読記憶媒体は、上記プロセッサによって実行されると上記プロセッサにさらに、
上記回路設計から知識データベースを生成させ、
上記電源仕様および上記知識データベースに従って電源データベースを生成させ、
それぞれが上記回路設計の異なる部分に関連付けられる複数の電源ドメインを含む上記電源マップを、上記電源データベースに従って生成および表示させ、
上記複数の電源ドメインを接続する複数の信号に対する、上記電源仕様と上記回路設計との間の複数の不一致または複数のエラーをチェックおよび表示させる複数の命令をさらに備え、
上記電源マップは、上記複数の電源ドメインの少なくとも1つのサブセットの間の複数の境界および複数の親−子関係を示す第1の表現を含み、上記複数の電源ドメインのうち少なくとも1つは、少なくとも1つの子電源ドメインを含み、上記複数の電源ドメインのうち少なくとも1つは、上記少なくとも1つの電源ドメインを制御するための電源制御に関連付けられ、上記電源制御の上記ステータスは、上記電源マップ上に表示される
コンピュータ可読記憶媒体。
(項目18)
上記複数の電源ドメインの少なくとも1つのサブセットは、関連付けられる親電源ドメイン、および関連付けられる子電源ドメインを有する
請求項17に記載のコンピュータ可読記憶媒体。
(項目19)
上記チェックおよび表示は、
少なくとも2つの電源ドメインの間にハードウェア記述言語(HDL)の複数の信号があり、上記少なくとも2つの電源ドメインの間に1つもアイソレーション接続がない場合、上記少なくとも2つの電源ドメインの間に仮想アイソレーション接続ネットを表示することと、
上記少なくとも2つの電源ドメインの間にハードウェア記述言語(HDL)の複数の信号があり、上記少なくとも2つの電源ドメインの間に1つもレベルシフタ接続がない場合、上記少なくとも2つの電源ドメインの間に仮想レベルシフタ接続ネットを表示することと、をさらに含む
請求項18に記載のコンピュータ可読記憶媒体。
(項目20)
上記電源マップはシミュレーション結果と共に用いられ、
上記複数の命令は上記プロセッサによって実行されると上記プロセッサにさらに、
上記電源マップにおいて複数の信号の複数の現在のシミュレーション値を表示させ、
上記関連付けられる電源ドメインが現在電源を投入されているのか、または電源を切られているのかを示すべく、ONまたはOFFのシンボルを用いて各電源制御のステータスを表示させ、電源制御の上記ステータスは、上記関連付けられる電源ドメインが電源を投入されている場合、電圧レベルを含む
請求項18に記載のコンピュータ可読記憶媒体。
(項目21)
上記電源マップは、アイソレーションコマンドを表わす、少なくとも1つのアイソレーションセルをさらに含み、上記少なくとも1つのアイソレーションセルは、上記複数の電源ドメインへの接続のための複数のアイソレーションネットを含む
請求項17に記載のコンピュータ可読記憶媒体。
(項目22)
上記電源マップは、レベルシフタコマンドを表わす、少なくとも1つのレベルシフタセルをさらに含み、上記少なくとも1つのレベルシフタセルは、上記複数の電源ドメインへの接続のための複数のレベルシフタネットを含む
請求項17に記載のコンピュータ可読記憶媒体。
(項目23)
上記電源マップは、電源スイッチを表わす、少なくとも1つの電源スイッチセルをさらに含み、上記少なくとも1つの電源スイッチセルは、電源、上記複数の電源ドメイン、または少なくとも1つの電源スイッチセルへの接続のための複数の電源スイッチネットを含む
請求項17に記載のコンピュータ可読記憶媒体。
(項目24)
上記仮想アイソレーション接続ネット、または上記名前付きの仮想レベルシフタ接続ネットは、点線または色付きの線のいずれかで表される
請求項21に記載のコンピュータ可読記憶媒体。
図1
図2
図3
図4A
図4B
図4C
図4D
図5
図6
図7
図8