(57)【要約】【課題】ソフトウェアによる部分的電源制御を行う半導体集積回路において、検証不足による不具合の発生を抑止することが出来るための半導体集積回路設計支援システム及び半導体集積回路を提供する。【解決手段】部分的電源制御機構を有する半導体集積回路の設計支援システム１は、半導体集積回路２１の回路記述４１と電源仕様記述４３に基づいて部分的電源制御シミュレーションを実行する部分的電源制御シミュレーションプログラム（PCS）と、部分的電源制御シミュレーション実行中に実行されたパワーモードを検出して、検査済みパワーモードのパワーモード情報を記録するパワーモード遷移検出プログラム（PTDP）と、部分的電源制御実行時に記録された検査済みパワーモードが使われているか否かを確認し、確認結果を出力するパワーモード遷移確認プログラム（PTCP）とを有する。【選択図】図１
2010271783.tif 000002
【特許請求の範囲】
【請求項１】
部分的電源制御機構を有する半導体集積回路の設計支援システムであって、
前記半導体集積回路の回路記述と電源仕様記述に基づいて部分的電源制御シミュレーションを実行する部分的電源制御シミュレーション部と、
前記部分的電源制御シミュレーション実行中に実行されたパワーモードを検出して、検査済みパワーモードのパワーモード情報を記録するパワーモード検出部と、
部分的電源制御実行時に前記パワーモード検出部により記録された前記検査済みパワーモードが使われているか否かを確認し、確認結果を出力するパワーモード確認部と、
を有することを特徴とする半導体集積回路設計支援システム。
【請求項２】
部分的電源制御機構を有する半導体集積回路であって、
前記半導体集積回路の検査済みパワーモードのパワーモード情報を記憶可能な記憶部と、
部分的電源制御の実行時に前記記憶された前記検査済みパワーモードが使われたか否かを確認し、確認された前記検査済みパワーモード以外のパワーモードが実行される場合に、前記半導体集積回路のCPUに所定の割り込み信号を出力するパワーモード確認部と、
を有することを特徴とする半導体集積回路。
【請求項３】
部分的電源制御機構を有する半導体集積回路であって、
前記半導体集積回路の検査済みパワーモードのパワーモード情報を記憶可能な記憶部と、
部分的電源制御の実行時に前記記憶された前記検査済みパワーモードが使われたか否かを確認し、確認された前記検査済みパワーモード以外のパワーモードが実行されるときに、前記検査済みパワーモード以外のパワーモードを前記検査済みパワーモードに変更して実行するパワーモード確認部と、
を有することを特徴とする半導体集積回路。
【請求項４】
前記パワーモード確認部は、前記部分的電源制御実行時における各パワードメインへのアイソレーション信号と電源制御信号とに基づいて前記パワーモードを検出し、検出された前記パワーモードと記録された前記検査済みパワーモードとを比較することによって、前記検査済みパワーモードが使われているか否かを確認することを特徴とする請求項２又は請求項３に記載の半導体集積回路。
【請求項５】
前記検査済みパワーモード以外のパワーモードを前記検査済みパワーモードに変更する場合に、前記パワーモード確認部は、電源オンするパワードメイン数が最も少ない検査済みパワーモードを選択することを特徴とする請求項３に記載の半導体集積回路。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、半導体集積回路設計支援システム及び半導体集積回路に関し、特に、ソフトウェアにより部分的電源制御を行う半導体集積回路の設計支援システム及び半導体集積回路に関する。
【背景技術】
【０００２】
近年、半導体集積回路の低消費電力化への要求が高まっている。そのため、半導体集積回路の内部において使用しない回路部分は、使用しない期間、電源を遮断する、部分的電源遮断技術が、半導体集積回路に広く採用されるようになっている。
【０００３】
従来、遮断する回路部分すなわち回路範囲（以下、パワードメインともいう）の数、及びその遮断するパワードメインの組み合わせ（以下、パワーモードともいう）の数は、少なかったため、電源制御部は論理回路で実現されるように設計され、検証され、そして半導体集積回路内部に実装されていた。
【０００４】
しかし、最近、半導体集積回路の大規模化と低消費電力要求への多様化によって、論理回路による実装では、異なる低消費電力要求に対応出来なくなるという問題があるため、電力制御は論理回路による方式ではなく、組み込みマイクロプロセッサを利用したソフトウェアによって行う、ソフトウェア電源制御方式が導入されつつある（例えば、特許文献１及び非特許文献１参照）。
【０００５】
このソフトウェアによる電源制御方式の場合であっても、電源制御のパワーモード数（すなわち複数のパワードメインのオンオフの組み合わせの数）は、膨大な数になる場合がある。パワーモード数は、２のパワードメイン数乗分の組み合わせが存在するので、例えば、パワードメイン数が２０の場合にはその組み合わせは１０４万通りになる。そのため、組み合わせの全てについて、網羅的に半導体集積回路の動作を検証することは、物理的に極めて困難となっている。
【０００６】
しかし、半導体集積回路のパワーモードの検証が、ユーザからの当初の要求範囲内だけにしか行われないと、実際に半導体集積回路において使用されるパワーモードが変更され、その当初の要求範囲に含まれていないパワーモードが実行される場合には、そのパワーモードは当初の要求範囲外であり検証されていないので、半導体集積回路の動作不良の発生の虞がある。
【０００７】
すなわち、パワーモードに関して、当初の予定と実際との間に不一致があった場合、検証不足による、半導体集積回路の動作不良等の不具合が発生する虞がある。
【先行技術文献】
【特許文献】
【０００８】
【特許文献１】米国特許公開２００８／０１２７０１５Ａ１公報
【非特許文献】
【０００９】
【非特許文献１】中村宏著「革新的電源制御により次世代超低電力高性能システムLSIの研究」独立行政法人科学技術振興機構、平成２０年９月、[平成２１年５月１８日検索]、インターネット（URL:http//www.jst.gp.jp/kisoken/crest/report/heisei19/pdf/pdf09/09_01/008.pdf）
【発明の概要】
【発明が解決しようとする課題】
【００１０】
そこで、本発明は、ソフトウェアによる部分的電源制御を行う半導体集積回路において、検証不足による不具合の発生を抑止することが出来るための半導体集積回路設計支援システム及び半導体集積回路を提供することを目的とする。
【課題を解決するための手段】
【００１１】
本発明の一態様によれば、部分的電源制御機構を有する半導体集積回路の設計支援システムであって、前記半導体集積回路の回路記述と電源仕様記述に基づいて部分的電源制御シミュレーションを実行する部分的電源制御シミュレーション部と、前記部分的電源制御シミュレーション実行中に実行されたパワーモードを検出して、検査済みパワーモードのパワーモード情報を記録するパワーモード検出部と、部分的電源制御実行時に前記パワーモード検出部により記録された前記検査済みパワーモードが使われているか否かを確認し、確認結果を出力するパワーモード確認部とを有する半導体集積回路設計支援システムを提供することができる。
【００１２】
本発明の一態様によれば、部分的電源制御機構を有する半導体集積回路であって、前記半導体集積回路の検査済みパワーモードのパワーモード情報を記憶可能な記憶部と、部分的電源制御の実行時に前記記憶された前記検査済みパワーモードが使われたか否かを確認し、確認された前記検査済みパワーモード以外のパワーモードが実行される場合に、前記半導体集積回路のCPUに所定の割り込み信号を出力するパワーモード確認部とを有する半導体集積回路を提供することができる。
【００１３】
本発明の一態様によれば、部分的電源制御機構を有する半導体集積回路であって、前記半導体集積回路の検査済みパワーモードのパワーモード情報を記憶可能な記憶部と、部分的電源制御の実行時に前記記憶された前記検査済みパワーモードが使われたか否かを確認し、確認された前記検査済みパワーモード以外のパワーモードが実行されるときに、前記検査済みパワーモード以外のパワーモードを前記検査済みパワーモードに変更して実行するパワーモード確認部とを有する半導体集積回路を提供することができる。
【発明の効果】
【００１４】
本発明によれば、ソフトウェアによる部分的電源制御を行う半導体集積回路において、検証不足による不具合の発生を抑止することが出来るための半導体集積回路設計支援システム及び半導体集積回路を提供することができる。
【図面の簡単な説明】
【００１５】
【図１】本発明の第１の実施の形態に係わる半導体集積回路設計支援システムの構成を示す構成図である。
【図２】本発明の第１の実施の形態に係わる部分的電源制御を行う半導体集積回路の構成例を説明するための図である。
【図３】本発明の第１の実施の形態に係わる、半導体装置メーカーにおけるパワーモード遷移検出処理の流れを説明するためのフローチャートである。
【図４】本発明の第１の実施の形態に係わるパワーモード遷移検出プログラム（PTDP）の内容の例を示すフローチャートである。
【図５】本発明の第１の実施の形態に係わるパワーモード遷移検出プログラム（PTDP）の動作を説明するための波形図である。
【図６】本発明の第１の実施の形態に係わる、セットメーカーにおけるパワーモード遷移確認処理の流れを説明するためのフローチャートである。
【図７】本発明の第１の実施の形態に係わるパワーモード遷移確認プログラム（PTCP）の処理内容の例を示すフローチャートである。
【図８】本発明の第１の実施の形態に係わる電源制御プログラム（PCP）の例を説明するための図である。
【図９】本発明の第１の実施の形態に係わる確認結果の例を説明するための図である。
【図１０】本発明の第２の実施の形態に係る半導体集積回路の構成を示すブロック図である。
【図１１】本発明の第２の実施の形態に係る、半導体集積回路上のCPU上で実行される電源制御プログラム（PCP）と検査済みパワーモード遷移情報のメモリ空間ＭＳ上の配置を示す図である。
【図１２】本発明の第３の実施の形態に関わる半導体集積回路の構成を示すブロック図である。
【図１３】本発明の第３の実施の形態の変形例の半導体集積回路の構成を示すブロック図である。
【発明を実施するための形態】
【００１６】
以下、図面を参照して本発明の実施の形態を説明する。  
（第１の実施の形態）
（システム構成）
まず、図１は、本発明の第１の実施の形態に係わる半導体集積回路設計支援システムの構成を示す構成図である。本実施の形態は、例えば、半導体装置のメーカーが、半導体装置のユーザからの電源制御仕様に基づき、部分的電源制御機構を有する半導体集積回路の設計をし、ユーザは、設計された半導体集積回路を組み込んだ機器を製造する場合の例である。その場合、いわゆるセットメーカーであるユーザは、その半導体集積回路を、所定の部分的電源制御のパワーモードで動作させるように機器を設計するが、仕様の提示ミス、仕様変更等により、当初の電源制御仕様と、作成された電源制御プログラムとの間に不一致が生じる場合が有る。本実施の形態の半導体集積回路設計支援システム１は、そのような不一致を解消するものである。すなわち、第１の実施の形態は、半導体集積回路のハードウェアと、電源制御プログラムのソフトウェアとが、個別に開発される場合に、そのような不一致を解消する場合の例である。
【００１７】
半導体集積回路設計支援システム１は、ユーザ（セットメーカー）側のシステム１１と、メーカー（半導体集積回路のメーカー）側のシステム１２とを含む。
【００１８】
システム１１は、例えばパーソナルコンピュータ（PC）であり、中央処理装置（CPU）、主メモリ等を含む装置本体１３と、装置本体１３に接続され、各種プログラム及びデータを記憶する記憶装置１４と、装置本体１３に接続され、電源制御プログラムの作成者に各種情報を表示するモニタ１５とを含んで構成されている。システム１２も、例えばPCであり、CPU、主メモリ等を含む装置本体１６と、装置本体１６に接続され、各種プログラム及びデータを記憶する記憶装置１７と、装置本体１６に接続され、半導体集積回路の設計者に各種情報を表示するモニタ１８とを含んで構成されている。  
そして、２つのシステム１１と１２は、インターネット等のネットワーク１９を介して、接続されている。
【００１９】
なお、本実施の形態では、半導体集積回路設計システム（以下、単にシステムともいう）１は、２つのPCからなるシステムであるが、複数の端末装置とサーバ装置とを含むクライアントサーバシステムであってもよく、さらに他の形態のシステムであってもよい。  
さらになお、２つのシステム１１と１２は、ネットワークで接続されていなくてもよい。
【００２０】
ユーザ側のシステム１１の記憶装置１４には、パワーモード遷移確認プログラム（PTCP）と電源制御プログラム（PCP）と各種データ（DATA）が記憶されている。メーカー側のシステム１２の記憶装置１７には、部分的電源制御シミュレーションプログラム（PCS）とパワーモード遷移検出プログラム（PTDP）と各種データ（DATA）が記憶されている。
【００２１】
半導体集積回路設計者は、システム１２を操作することによって、半導体集積回路の設計、シミュレーション等を行うことができる。特に、ここでは、電源制御についてのシミュレーションを行い、パワーモードの遷移検出を行う。  
一方、ユーザは、開発した電源制御プログラム（PCP）を、システム１１を用いて、後述するパワーモードの遷移確認を行う。
【００２２】
（半導体装置の構成）
図２は、部分的電源制御を行う半導体集積回路の構成例を説明するための図である。所望の機能を実現するための各種回路を含む半導体集積回路２１は、半導体チップ２２上に最終的には形成される。その半導体チップ２２上に形成される半導体集積回路２１は、複数の回路部分を有し、かつ、部分的電源遮断範囲、すなわちパワードメイン、を複数有している。
【００２３】
図２は、説明を簡単にするために、電源供給を遮断可能な回路範囲として、３つのパワードメインを有する半導体集積回路２１を示している。半導体集積回路２１は、３つのパワードメイン３１，３２，３３と、組み込みマイクロプロセッサとしてのCPU３４と、メモリ３５とを含む。
【００２４】
半導体チップ２２上の半導体集積回路２１のメモリ３５には、電源制御プログラム（PCP）が記憶され、CPU３４は、電源制御プログラム（PCP）を実行することにより、半導体集積回路２１の部分的電源制御を行う。部分的電源制御は、CPU３４が、各パワードメインに対して、電源制御信号Pi（iは、１から３）とアイソレーション信号Ii（iは、１から３）を所定のタイミングで出力することによって、行われる。
【００２５】
図２では、パワードメイン３１には、電源制御信号P1が入力され、パワードメイン３１の出力信号は、論理回路（ここではAND（論理積）回路）３１ａの一方の入力端子に供給される。AND回路３１ａの他方の入力端子には、アイソレーション信号I1が入力され、AND回路３１ａの出力は、隣のパワードメイン３２に供給されている。ここでは、電源制御信号P1は、パワードメイン３１に接続された電源供給を制御するスイッチSW1への制御信号である。  
同様に、パワードメイン３２と３３の各スイッチSW2,SW3には、それぞれ、CPU３４から電源制御信号P2,P3が入力され、出力信号は、AND回路３２ａ、３３ａの一方の入力端子に供給されている。AND回路３２ａ、３３ａの他方の入力端子には、それぞれアイソレーション信号I2,I3が入力され、AND回路３２ａの出力は、隣のパワードメイン３２に供給され、AND回路３３ａの出力は、図示しない回路に供給されている。
【００２６】
各電源制御信号及び各アイソレーション信号の出力指示は、半導体集積回路２１上の対応するレジスタに、所定のデータを書き込むことによって、行われる。よって、ユーザは、対応するレジスタに所定のデータを書き込む命令を、電源制御プログラム（PCP）に含ませることによって、半導体集積回路２１に部分的電源制御を行わせることができる。
【００２７】
（半導体装置メーカーにおけるパワーモード遷移検出処理）
図２の半導体集積回路２１を設計するメーカーでは、部分的電源制御機構を有する半導体集積回路２１の設計の段階で、シミュレーション技術を用いて、電源制御をシミュレーションする。その結果、シミュレーションで実行され、検証されたパワーモードの遷移が検出される。
【００２８】
図３は、半導体装置メーカーにおけるパワーモード遷移検出処理の流れを説明するためのフローチャートである。図３の処理は、メーカー側のシステム１２において、本体装置１６のCPUによって、記憶装置１７に記憶された部分的電源制御シミュレーションプログラム（PCS）とパワーモード遷移検出プログラム（PTDP）を実行することにより行われる。
【００２９】
図３に示すように、部分的電源制御シミュレーションプログラム（以下、単にシミュレーションプログラムともいう）（PCS）は、半導体集積回路２１の構成を記述したRTL記述４１と、テストパターン情報４２と、ユーザからの電源仕様記述４３とに基づいて、部分的電源制御シミュレーションを実行する（ステップS1）。RTL記述４１と、テストパターン情報４２と、ユーザからの電源仕様記述４３は、各種データ（DATA）の一部として記憶装置１７に記憶されている。
【００３０】
テスト環境情報４２は、テストパターン情報を含む。電源仕様記述４３は、ユーザ（セットメーカー）の電源制御仕様の情報である。ステップS1において、部分的電源制御シミュレーション部を構成するシミュレーションプログラム（PCS）は、ユーザの想定するテスト環境下で、ユーザの想定する電源制御仕様に沿って、部分的電源制御シミュレーションを行う。
【００３１】
シミュレーションプログラム（PCS）は、半導体集積回路の回路記述であるRTL記述４１と、テストパターン情報４２と、電源仕様記述４３とを入力として、電源仕様の正当性を検証するために、部分的電源制御状態のシミュレーションを実行し、半導体集積回路２１の動作が期待通りの動作であるかを確認する処理を行う。
【００３２】
また、パワーモード検出部であるパワーモード遷移検出プログラム（PTDP）は、シミュレーションプログラム（PCS）の動作及び処理結果を監視し、パワーモード遷移を検出する（ステップS2）。
【００３３】
上述したように、部分的電源制御は半導体チップ２２上の所定のレジスタに所定のデータを書き込むことによって行われるが、シミュレーションにおいても、同様に、所定のレジスタに所定のデータを書き込むことによって、部分的電源制御が実行される。シミュレーション時にも、パワーモードの設定あるいは変更が指示されるが、パワーモードの設定あるいは変更は、上述したように所定のレジスタへデータの書き込みを監視することによって検出をすることができる。
【００３４】
よって、パワーモード検出部であるパワーモード遷移検出プログラム（PTDP）は、シミュレーションプログラム（PCS）の実行を監視し、所定のレジスタへの所定のデータの書き込みをチェックする。パワーモード遷移検出プログラム（PTDP）は、ステップS2において、適切な動作が確認されたパワーモードの情報を生成し、検査済みパワーモード遷移情報４４として記憶装置１７に出力する。以上のように、パワーモード遷移検出プログラム（PTDP）は、部分的電源制御シミュレーション実行中に実行されたパワーモードを検出して、検査済みパワーモードのパワーモード情報を記録する。
【００３５】
検出されたパワーモードの情報の変化は、部分的電源制御シミュレーション実行中に遷移した検査済みパワーモードの遷移情報を含む。すなわち、時間の経過とともに出力されるパワーモードの情報は、そのパワーモードを検査済みのパワーモードであり、パワーモードが時間の経過とともに変更されながら、動作確認が行われるので、動作確認がされたパワーモードの遷移の情報も含む。検査済みパワーモード遷移情報４４は、ファイルデータとして、ネットワーク１９あるいは別途記憶媒体を介して、ユーザに供給される。
【００３６】
パワーモード遷移検出プログラム（PTDP）の処理内容について説明する。図４は、パワーモード遷移検出プログラム（PTDP）の内容の例を示すフローチャートである。  
まず、パワーモード変化点の検出が行われる（ステップS11）。パワーモード遷移検出プログラム（PTDP）は、全アイソレーション信号を観測し、一つでも変化した時点をパワーモード変化点として検出する。  
次に、パワーモード変化点が検出されると、パワーモードを検出する（ステップS12）。このパワーモードの検出では、電源遮断をする場合はパワーモード変化点より後の全電源制御信号の変化点の値が検出される。電源遮断から復帰する場合にはパワーモード変化点時点における全電源制御信号の値が検出される。従って、パワーモードの検出は、部分的電源制御シミュレーション実行中における各パワードメインへのアイソレーション信号と電源制御信号とに基づいて、行われる。
【００３７】
そして、パワーモードが検出されると、次にパワーモードが記録される（ステップS13）。ステップS12で検出されたパワーモード、すなわち複数のパワードメインのオンオフの組み合わせの情報が、記憶装置１７の所定の記憶領域に出力されて記憶される。
【００３８】
パワーモード遷移検出プログラム（PTDP）は、パワーモード変化点が検出される度に、ステップS11からS13の処理が行われる。  
次に、図面を用いて、上述したパワーモード遷移検出プログラム（PTDP）の処理の内容を説明する。図５は、パワーモード遷移検出プログラム（PTDP）の動作を説明するための波形図である。
【００３９】
図５は、半導体集積回路２１の電源制御動作に関わる波形を示し、リセット信号、３つのパワードメインへのアイソレーション信号とパワー制御信号の波形が示されている。リセット信号は、半導体集積回路２１のリセットを行うための信号である。アイソレーション信号AND_ISO、AR_ISO、RR_ISOは、それぞれ、パワードメイン３１，３２、３３へのアイソレーション信号I1,I2,I3である。電源制御信号AND_PSO、AR_PSO、RR_PSOは、パワードメイン３１，３２、３３への電源制御信号P1,P2,P3である。なお、図５は、LOWアクティブの動作を示す。
【００４０】
各信号の状態は、シミュレーションにおいて、所定のレジスタへのデータの書き込み内容によって決定される。  
図５において、クロック信号CLKに対して、リセット信号（RESET）は、時点t1で、HIGHになる。リセット直後、３つの電源制御信号（AND_PSO、AR_PSO、RR_PSO）の状態は、HIGH（すなわち「１」）である（すなわち電源はオフ情報である）。
【００４１】
その後、時点t2で、アイソレーション信号AR_ISOが、LOW（すなわち「０」）になり、パワーモード変化点が検出される。パワーモード変化点より前に、対応するパワードメイン３２の電源がオフからオンになる。電源遮断から復帰すなわちオンする場合なので、パワーモード変化点の時点t2における全電源制御信号の値をパワーモードとして記録する。
【００４２】
パワーモードをPM（AND_PSO、AR_PSO、RR_PSO）で表現すると、リセット直後、３つの電源制御信号（AND_PSO、AR_PSO、RR_PSO）の初期状態は、SS1で示す通りであるので、パワーモードは、PM(1,1,1)である。時点t2においてパワーモード変化点が検出され、パワーモードは、この初期状態のPM(1,1,1)から、SS2で示すように、PM(1,0,1)になり、記憶される。
【００４３】
さらに、時間が経過して、アイソレーション信号AND_ISO、RR_ISOが、LOW（すなわち「０」）になり、パワーモード変化点が検出される。パワーモード変化点より前に、対応するパワードメイン３１と３３の電源がオフからオンになる。電源遮断から復帰すなわちオンする場合なので、パワーモード変化点の時点t3における全電源制御信号の値をパワーモードとして記録する。パワーモードは、SS3で示すように、PM(0,0,0)になり、記憶される。
【００４４】
さらに、時間が経過して、アイソレーション信号AND_ISO、RR_ISOが、HIGH（すなわち「１」）になり、パワーモード変化点が検出される。パワーモード変化点の後に、対応するパワードメイン３１と３３の電源がオンからオフになる。電源遮断すなわちオフする場合なので、パワーモード変化点より後の全電源制御信号の変化点の時点t4における、電源制御信号変化後の全電源制御信号の値をパワーモードとして記録する。パワーモードは、SS4で示すように、PM(1,0,1)になり、記憶される。
【００４５】
図５の場合、記憶装置１７に記憶されるパワーモードは、PM(1,1,1)、PM(1,0,1)、PM(0,0,0)、PM(1,0,1)である。さらに、これら４つのパワーモードの記録される順番は、時間経過に応じたパワーモードの遷移を示すので、記憶装置１７には、パワーモードの遷移も記録されていることを意味する。
【００４６】
以上のように、パワーモード遷移検出プログラム（PTDP）は、検出されたパワーモードに関し、２つのパワーモード間の遷移と、ユーザの定義した段数（言い換えればモード変化回数。図５の場合は３段）までのパワーモードの遷移を、検査済みパワーモード遷移情報４４として出力する。
【００４７】
この記録されたパワーモードの情報すなわち検査済みパワーモード遷移情報４４は、セットメーカーであるユーザに、データとして、例えば、ネットワーク１９経由で供給される。
【００４８】
（セットメーカーにおけるパワーモード遷移確認処理）
ユーザは、開発機器に組み込まれる半導体集積回路２１の電源制御プログラム（PCP）を作成する。そして、半導体集積回路２１のメーカーからの検査済みパワーモード遷移情報４４と、電源制御プログラム（PCP）を用いて、パワーモード確認部であるパワーモード遷移確認プログラム（PTCP）によって、パワーモードの遷移確認が実行される。
【００４９】
図６は、セットメーカーにおけるパワーモード遷移確認処理の流れを説明するためのフローチャートである。図６の処理は、セットメーカー側のシステム１１において、本体装置１３のCPUによって、記憶装置１４に記憶されたパワーモード遷移検出プログラム（PTDP）を実行することにより行われる。
【００５０】
図６に示すように、パワーモード遷移確認プログラム（PTCP）は、検査済みパワーモード遷移情報４４と、電源制御レジスタ情報５１と、電源制御プログラム（PCP）とに基づいて、パワーモード遷移を確認する処理を実行する（ステップS21）。  
なお、パワーモード遷移確認プログラム（PTCP）は、ソフトウェアプログラムにより構成されているので、電源制御ソフトウェア検査用プログラム（すなわちチェッカプログラム）として、半導体装置メーカーからセットメーカーに提供されてもよい。
【００５１】
検査済みパワーモード遷移情報４４は、半導体装置メーカーにおいて検査されたパワーモードの情報と、その遷移情報である。電源制御レジスタ情報５１は、部分的電源制御において用いられる半導体集積回路２１内の所定のレジスタの情報である。電源制御プログラム（PCP）は、セットメーカーのユーザが、作成した部分的電源制御プログラムである。
【００５２】
ステップS21のパワーモード遷移確認処理の結果、電源制御プログラム（PCP）が、検査済みのパワーモードのみが使われたか否か、さらに、検査済みのパワーモード遷移のみが使われているかどうかを確認し、未検査のパワーモード、さらに未検査のパワーモード遷移が使われている場合は、その旨を示すチェック結果を出力する。チェック結果の出力は、ユーザに知らせるために出力される。例えば、未検査のパワーモードと未検査のパワーモード遷移の情報が、例えば記憶装置１４の所定の領域への記憶され、モニタ１５の画面上に表示される。
【００５３】
次に、ステップS21のパワーモード遷移確認プログラム（PTCP）の処理内容について説明する。図７は、パワーモード遷移確認プログラム（PTCP）の処理内容の例を示すフローチャートである。  
まず、電源制御プログラム（PCP）におけるパワーモード変化点の検出が行われる（ステップS31）。パワーモード遷移確認プログラム（PTCP）は、電源制御プログラム（PCP）からアイソレーション信号Iiを実行順に抽出し、パワーモード変化点を検出する（ステップS31）。
【００５４】
パワーモード変化点が検出されると、パワーモードが検出される（ステップS32）。このパワーモードの検出は、上述したように、電源遮断をする場合はパワーモード変化点より後の全電源制御信号Piの変化点の値を検出し、電源遮断から復帰する場合にはパワーモード変化点時点における全電源制御信号Piの値を検出することによって、行われる。
【００５５】
そして、パワーモードの遷移が確認される（ステップS33）。パワーモードの遷移は、検出されたパワーモードの順序によって判定され、検査済みパワーモード遷移情報４４とを比較することによって、パワーモードの遷移が確認される。このパワーモードの遷移確認では、検査済みのパワーモードが実行されたか否かだけでなく、検査済みのパワーモードの遷移であるか否かも確認もされる。
【００５６】
以上のように、パワーモード確認部であるパワーモード遷移確認プログラム（PTCP）は、部分的電源制御実行時における各パワードメインへのアイソレーション信号と電源制御信号とに基づいてパワーモードを検出し、検出されたパワーモードと記録された検査済みパワーモードとを比較することによって、検査済みパワーモードが使われているか否かを確認する。
【００５７】
そして、最後に、その確認結果が、出力される（ステップS34）。この出力は、例えば、記憶装置１４の所定の記憶領域への確認結果の書き込み、モニタ１５への確認結果の表示、等である。確認結果は、未検査のパワーモード（すなわち検査済みパワーモード以外のパワーモード）の情報及びその遷移を含むが、検査済みのパワーモードの情報及びその遷移の情報を、含んでもよい。  
以上のように、パワーモード確認部であるパワーモード遷移確認プログラム（PTCP）は、電源制御実行時にパワーモード検出部により記録された検査済みパワーモードが使われているか否かを確認し、確認結果を出力する。
【００５８】
図８は、電源制御プログラム（PCP）の例を説明するための図である。図８に示すように、電源制御プログラム（PCP）中には、電源制御用の所定のレジスタへの、所定のデータの書き込み命令が含まれている。図８は、図５に示す電源制御が行われる場合のプログラムの例を示す。パワーモード確認部であるパワーモード遷移確認プログラム（PTCP）の動作を、図８を用いて説明する。
【００５９】
リセットのコマンドCM1後、アイソレーション信号Iiの検出が行われる。電源制御プログラム（PCP）は、電源制御レジスタ情報より、アイソレーション制御と電源制御を行う。よって、パワーモード遷移確認プログラム（PTCP）は、それらのレジスタへのWRITE命令を抽出する。
【００６０】
次に、アイソレーション制御命令をパワーモード変化点として検出し、パワーモード変化点間の電源制御命令の内容を解釈し、パワーモードの状態を算出する。電源遮断をする場合はパワーモード変化点とその後の変化点間にある電源制御命令に基づいて、パワーモードを算出、記録する。電源遮断から復帰する場合には、パワーモード変化点とその前の変化点間にある電源制御命令に基づいて、パワーモードの算出、記録を行う。
【００６１】
図８では、アイソレーション信号I2に対応するWRITE命令（write(AR_ISO,OFF)）に応じて、その変化点より前の電源制御信号P2に対応するWRITE命令（write(AR_PSO,ON)）に基づいて、パワーモードがPM(1,0,1)が判定される。その後、アイソレーション信号I1,I3に対応するWRITE命令（write(AND_ISO,OFF)、write(RR_ISO,OFF)）に応じて、その変化点より前の電源制御信号P1,P3に対応するWRITE命令（write(AND_PSO,ON)、write(RR_PSO,ON)）に基づいて、パワーモードがPM(0,0,0)が判定される。さらに。その後、アイソレーション信号I1,I3に対応するWRITE命令（write(AND_ISO,ON)、write(RR_ISO,ON)）に応じて、その変化点より後の電源制御信号P1,P3に対応するWRITE命令（write(AND_PSO,OFF)、write(RR_PSO,OFF)）に基づいて、パワーモードがPM(1,0,1)と判定される。  
図９は、ステップS34の確認結果の例を説明するための図である。判定されたパワーモードの情報は、図９に示すようなパワーモード情報として、出力される。
【００６２】
以上のように、判定されて検出されたパワーモードに関し、２パワーモード間の遷移とユーザの定義したn段までのパワーモードを抽出し、検査済みパワーモード遷移情報４４に記録されている情報と比較を行い、検査済みであるかどうかの確認をすることができる。そして、電源制御ソフトウェア（PCP）内で発生した遷移が、検査済みパワーモード遷移情報４４の中に存在しない場合は、未検査のパワーモード遷移が使用されている旨、通知あるいは出力がされる。
【００６３】
従って、上述した半導体集積回路設計支援システム１によれば、パワーモード遷移検出プログラム（PTDP）により生成された検査済みパワーモード遷移情報に基づいて、電源制御プログラム（PCP）内で検査済みのパワーモードのみが使われているか、及び検査済みのパワーモード遷移のみが使われているかどうかを確認し、未検査のパワーモードあるいは未検査の遷移が使用されている場合はその旨がチェック結果として出力される。
【００６４】
その結果、セットメーカーであるユーザにおいて、チェック結果の内容を精査し、電源制御プログラム（PCP）の修正が必要な場合は、ソフトウェアプログラムの修正を行い、電源制御仕様に不備がある場合は電源制御仕様を修正し、LSIメーカーにその変更を通知する。あるいは、半導体装置メーカーにおいて、未検査のパワーモード及び遷移を検査するようにしてもよい。以上のようにして、半導体集積回路のハードウェアと、電源制御プログラムのソフトウェアとが、個別に開発される場合に、上記の不一致を解消して、未検査のパワーモードが使われることを事前に防止することができる。
【００６５】
（第２の実施の形態）
次に、本発明の第２の実施の形態について説明する。上述した第１の実施の形態では、部分的電源制御機構を有する半導体集積回路と電源制御プログラムの開発が、個別に開発される場合に、部分電源制御の仕様と電源制御プログラムの不一致を解消するためのシステムに関するものであったが、第２の実施の形態は、半導体集積回路と電源制御プログラムの開発が協調して開発される場合に、例えば有る程度半導体集積回路を搭載した半導体チップが出来ている場合に、未検査のパワーモードが実行されたときに、半導体集積回路内でCPUへの割り込み信号を発生させるようにして、部分電源制御の仕様と電源制御プログラムの不一致を解消して、未検査のパワーモード及びパワーモード遷移が実行されるのを防ぐものである。このような場合としては、例えば、シミュレータによる、半導体集積回路のハードウェアと電源制御プログラムのソフトウェアの協調設計環境、FPGAあるいはエミュレータを用いたラピッドプロトタイピングを使用したソフトウェア開発環境、ハードウェア設計終了後の実チップを用いたソフトウェア開発環境等がある。
【００６６】
本実施の形態におけるパワーモード遷移検出部は、第１の実施の形態と同じであるので、説明は省略する。  
図１０は、第２の実施の形態に係る半導体集積回路の構成を示すブロック図である。なお、第１の実施の形態における構成要素と同じ構成要素については、同じ符号を付して説明は省略する。
【００６７】
図１０に示すように、パワーモード遷移確認部６１が、アサーション記述あるいは論理回路により半導体集積回路２１A内に設けられる。パワーモード遷移確認部６１における機能のうち、パワーモード変化点の検出機能（ステップS31）と、パワーモードの検出機能（ステップS32）と、パワーモードの遷移記録機能（ステップS33）は、図４で説明した処理と同じである。また、電源制御プログラム（PCP）と検査済みパワーモード遷移情報４４は、メモリ３５に記憶される。すなわち、メモリ３５は、半導体集積回路２１Ａの検査済みパワーモードのパワーモード情報を記憶可能な記憶部を構成する。
【００６８】
図１１は、部分的電源制御機構を有する半導体集積回路２１A上のCPU上で実行される電源制御プログラム（PCP）と検査済みパワーモード遷移情報４４のメモリ空間ＭＳ上の配置を示す図である。CPU３４は、電源制御プログラム（PCP）を実行することができる。パワーモード遷移確認部６１は、検査済みパワーモード遷移情報４４を参照しながら、電源制御プログラム（PCP）の実行を監視する。
【００６９】
すなわち、パワーモード遷移確認部６１は、部分的電源制御の実行中に全アイソレーション信号を監視し、一つでも変化した時点をパワーモード変化点として検出する。第１の実施の形態のパワーモード遷移確認プログラム（PTCP）と同様に、パワーモード遷移確認部６１は、電源遮断をする場合はパワーモード変化点より後の全電源制御信号の変化点を検出し、電源制御信号の変化後の全電源制御信号の値をパワーモードとして所定のメモリ領域あるいはレジスタに記憶する。パワーモード遷移確認部６１は、電源遮断から復帰する場合には前記パワーモード変化点時点の全電源制御信号の値をパワーモードとして同様に記憶する。
【００７０】
検出されたパワーモードの記憶に基づいて、パワーモード遷移確認部６１は、２つのパワーモード間の遷移とユーザの定義したn段までのパワーモード遷移を、検査済みパワーモード遷移情報４４と比較し、記憶されたパワーモードが検査済みパワーモード遷移情報４４と一致するか否かをチェックする。
【００７１】
パワーモード遷移確認部６１は、検査済みパワーモード遷移情報４４の中に検出されたパワーモード遷移が含まれていない場合は、半導体集積回路２１A内のCPU等への割り込み信号ISを生成して出力する。
【００７２】
以上のように、パワーモード確認部であるパワーモード遷移確認部６１は、部分的電源制御の実行時に記憶された検査済みパワーモードが使われたか否かさらにはパワーモードの遷移が検査済みパワーモード遷移であったかを確認し、確認された検査済みパワーモード以外のパワーモードあるいは検査済みパワーモード遷移が実行される場合には、半導体集積回路２１ＡのCPU３４に所定の割り込み信号を出力する。
【００７３】
よって、割り込み信号ISの出力という情報を得ることができるので、半導体集積回路の設計者は、半導体集積回路のハードウェアの修正がまだ可能な段階であれば、電源仕様の正当性を検証するためのテスト環境、検出された未検査パワーモードを発生させるためのテスト環境等をテストパターン４２に追加し、追加の検証を実施する。
【００７４】
また、半導体集積回路２１Aのハードウェア修正が不可能な段階の場合では、ソフトウェアでその未検査パワーモード検出の割り込み信号ISを観測し、その割り込み信号ISが発生した場合は、その未検査パワーモードへの変更は実行しないようにする等のソフトウェアの修正、もしくは対策プログラムの追加を実施する。
【００７５】
以上のように、本実施の形態によれば、半導体集積回路において未検査パワーモードへの変更を検出することができるので、未検査のパワーモードへの変更が行われないようにソフトウェアによる対策をとることができる。
【００７６】
（第３の実施の形態）
次に、本発明の第３の実施の形態について説明する。上述した第２の実施の形態は、半導体集積回路と電源制御プログラムの開発が協調して開発される場合に、未検査のパワーモードが実行されたときに、半導体集積回路内でCPUへの割り込み信号を発生させるようにして、部分電源制御の仕様と電源制御プログラムの不一致を解消するものである。これに対して、本実施の形態は、部分的電源制御機構を有する半導体集積回路を搭載した半導体チップが、製品に搭載されて市場に製品として出荷された場合に部分電源制御の仕様と電源制御プログラムの不一致を解消して、未検査のパワーモード及びパワーモード遷移が実行されるのを防ぐものである。
【００７７】
図１２は、第３の実施の形態に関わる半導体集積回路の構成を示すブロック図である。なお、第１及び第２の実施の形態における構成要素と同じ構成要素については、同じ符号を付して説明は省略する。
【００７８】
本実施の形態におけるパワーモード遷移検出部は、第１の実施の形態と同じであるので、説明は省略する。  
図１２に示すように、パワーモード遷移確認部６１Ａが、アサーション記述あるいは論理回路により半導体集積回路２１Ｂ内に設けられる。パワーモード遷移確認部６１Ａにおける機能のうち、パワーモード変化点の検出機能（ステップS31）と、パワーモードの検出機能（ステップS32）と、パワーモードの遷移記録機能（ステップS33）は、図４で説明した処理と同じである。また、電源制御プログラム（PCP）と検査済みパワーモード遷移情報４４は、メモリ３５に記憶される。すなわち、メモリ３５は、半導体集積回路２１Ｂの検査済みパワーモードのパワーモード情報を記憶可能な記憶部を構成する。
【００７９】
図１２に示すように、パワーモード遷移確認部６１Ａは、パワードメイン毎に設けられたセレクタへの選択信号と電源制御信号を出力する。具体的には、パワーモード遷移確認部６１Aは、パワードメイン３１に対応して設けられたセレクタ７１へ、選択信号SS1と電源制御信号SP1を出力する。同様に、パワーモード遷移確認部６１Aは、パワードメイン３２と３３にそれぞれ対応して設けられたセレクタ７２，７３へ、選択信号SS2,SS3と電源制御信号SP2,SP3を出力する。
【００８０】
各セレクタは、選択信号に応じて、CPU３４からの電源制御信号Piあるいはパワーモード遷移確認部６１Aからの電源制御信号SPiを選択して、パワードメインへの電源供給を制御する電源制御信号P11を出力する。すなわち、第１及び第２の実施の形態では、各パワードメインへの電源供給を制御する電源制御信号は、CPU３４から電源制御信号をそのままスイッチSWiへ供給しているが、本実施の形態では、各セレクタで選択された電源制御信号がスイッチSWiへ供給される。
【００８１】
本実施の形態では、パワーモード遷移確認部６１Aは、半導体集積回路２１B内部で実行される電源制御プログラム（PCP）の実行を監視し、電源制御プログラム（PCP）により変更されるパワーモードを動的に観測し、変更されるパワーモードが検査済みパワーモード遷移情報４４と比較して、変更されるパワーモードが未検査のパワーモードであることあるいはパワーモード遷移が未検査のパワーモード遷移であることを検出した場合は、パワーモード遷移確認部６１Aは、電源遮断する予定のパワードメインをオフにしないようにする電源制御信号SPiを生成して出力し、かつ対応するセレクタへ電源制御信号SPiを選択するように選択信号SSiを出力する。
【００８２】
これにより、パワーモード遷移確認部６１Aは、対応するパワードメインに対してオフにしないようにすることにより、未検査のパワーモードへの変更及び未検査のパワーモードへの遷移が生じないようにすることができる。  
以上のように、パワーモード確認部であるパワーモード遷移確認部６１Aは、部分的電源制御の実行時に記憶された検査済みパワーモードが使われたか否か及び検査済みのパワーモード遷移が使われたか否かを確認し、確認された検査済みパワーモード以外のパワーモードが実行されるときあるいは未検査のパワーモード遷移が実行されるときに、検査済みパワーモード以外のパワーモードを検査済みパワーモードに変更して実行する。よって、未検査のパワーモードへの変更及び未検査のパワーモード遷移を生じないようにすることができる。
【００８３】
なお、パワーモードを単に変更させないようにするだけでなく、パワーモード遷移確認部６１Aが、変更すべきパワーモードを、検査済みパワーモード遷移情報と照会して、最も少ない変更で適合する検査済みパワーモード遷移を探索して特定する。そして、パワーモード遷移確認部６１Aは、その特定されたパワーモードとなるように電源制御信号SPiと選択信号SSiを生成して、その特定されたパワーモードに強制的に変更するようにしてもよい。
【００８４】
例えば、パワーモードPM(1,0,0)、PM(0,0,0) 、PM(1,1,1)が検査済みである場合に、パワーモードがPM(1,1,0)への変更がされようしたことを検出すると、検査済みのパワーモードPM(1,0,0)、PM(0,0,0) 、PM(1,1,1)の中のいずれか１つに変更することができる。
【００８５】
しかし、この場合、PM(1,1,0)と比べて電源オンするパワードメインの数が最も少ない検査済みパワーモードを選択するようにする。逆に言えば、オフの数が多いパワーモードが選択される。すなわち、パワーモード遷移確認部６１Aは、上記の場合であれば、検査済みパワーモード遷移情報と照会し、PM(1,0,0)がPM(1,1,0)と間でオンする（すなわち0にする）パワードメインが最も少ないと判定する。その結果、PM(1,0,0)が、選択される。以上のように、パワーモード遷移確認部６１Aがこのパワーモード選択処理を行う。
【００８６】
なお、図１２は、パワーモード選択確認部６１Aが、CPU３４の出力をスイッチへ供給されないように、セレクタを制御しているが、パワーモード遷移確認部が、CPU３４からの電源制御信号を入力して、その入力に基づいて、各スイッチへの電源制御信号P1iを供給するようにしてもよい。
【００８７】
図１３は、図１２の本実施の形態の変形例の半導体集積回路の構成を示すブロック図である。図１３では、パワーモード遷移確認部６１Bが、CPU３４からの電源制御信号Piを入力し、図１２と同様に未検査のパワーモードへの変更を生じないようにする。
【００８８】
以上のように、本実施の形態によれば、半導体集積回路において未検査パワーモードへの変更を検出して、未検査のパワーモードを検査済みのパワーモードへ強制変更するので、検証不足による不具合の発生を抑止することが出来る。
【００８９】
以上のように、上述した各実施の形態によれば、組み込みマイクロプロセッサを用いてソフトウェアによる部分的電源制御を行う半導体集積回路において、検証不足による不具合の発生を抑止することが出来るための半導体集積回路設計支援システムあるいは半導体集積回路を実現することができる。
【００９０】
本明細書における各「部」は、実施の形態の各機能に対応する概念的なもので、必ずしも特定のハードウェアやソフトウェア・ルーチンに１対１には対応しない。従って、本明細書では、以下、実施の形態の各機能を有する仮想的回路ブロック（部）を想定して実施の形態を説明した。また、本実施の形態における各手順の各ステップは、その性質に反しない限り、実行順序を変更し、複数同時に実行し、あるいは実行毎に異なった順序で実行してもよい。
【００９１】
なお、以上説明した動作を実行するプログラムは、コンピュータプログラム製品として、フレキシブルディスク、ＣＤ−ＲＯＭ等の可搬媒体や、ハードディスク等の記憶媒体に、その全体あるいは一部のプログラムコードが記録され、あるいは記憶されている。そのプログラムがコンピュータにより読み取られて、動作の全部あるいは一部が実行される。あるいは、そのプログラムのコードの全体あるいは一部を通信ネットワークを介して流通または提供することができる。利用者は、通信ネットワークを介してそのプログラムをダウンロードしてコンピュータにインストールしたり、あるいは記録媒体からコンピュータにインストールすることで、容易に本発明の半導体集積回路設計支援システムを実現することができる。  
本発明は、上述した実施の形態に限定されるものではなく、本発明の要旨を変えない範囲において、種々の変更、改変等が可能である。
【符号の説明】
【００９２】
１  半導体集積回路設計支援システム、１１，１２  システム、１３，１６  装置本体、１４，１７  記憶装置、１５，１８  モニタ、１９  ネットワーク、２１、２１A、２１B、２１C  半導体集積回路、２２  半導体チップ、３１，３２，３３  パワードメイン、３１ａ、３２ａ、３３ａ  ＡＮＤ回路、３４  ＣＰＵ、３５  記憶装置、６１，６１Ａ、６１Ｂ  パワーモード遷移確認部
【図１】
2010271783.tif 000003
【図２】
2010271783.tif 000004
【図３】
2010271783.tif 000005
【図４】
2010271783.tif 000006
【図５】
2010271783.tif 000007
【図６】
2010271783.tif 000008
【図７】
2010271783.tif 000009
【図８】
2010271783.tif 000010
【図９】
2010271783.tif 000011
【図１０】
2010271783.tif 000012
【図１１】
2010271783.tif 000013
【図１２】
2010271783.tif 000014
【図１３】
2010271783.tif 000015