JP2010003162A - 半導体集積回路設計装置および半導体集積回路設計プログラム - Google Patents

半導体集積回路設計装置および半導体集積回路設計プログラム Download PDF

Info

Publication number
JP2010003162A
JP2010003162A JP2008162282A JP2008162282A JP2010003162A JP 2010003162 A JP2010003162 A JP 2010003162A JP 2008162282 A JP2008162282 A JP 2008162282A JP 2008162282 A JP2008162282 A JP 2008162282A JP 2010003162 A JP2010003162 A JP 2010003162A
Authority
JP
Japan
Prior art keywords
integrated circuit
semiconductor integrated
power control
model
power
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.)
Pending
Application number
JP2008162282A
Other languages
English (en)
Inventor
Takao Osada
貴夫 長田
Hiroaki Nishi
宏晃 西
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Toshiba Corp
Original Assignee
Toshiba Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Toshiba Corp filed Critical Toshiba Corp
Priority to JP2008162282A priority Critical patent/JP2010003162A/ja
Publication of JP2010003162A publication Critical patent/JP2010003162A/ja
Pending legal-status Critical Current

Links

Images

Abstract

【課題】抽象度の高い設計段階において省電力化を考慮した半導体集積回路を効率よく設計することができる半導体集積回路設計装置を提供する。
【解決手段】各動作モードにおける各ハードウェア構成要素モデルのコードカバレッジを測定するコードカバレッジ測定機能部12と、該測定結果に基づいて動作モード毎に複数のハードウェア構成要素モデルを使用ブロックと未使用ブロックにそれぞれ分割する第1の分割処理を実行し、該第1の分割処理結果に基づき複数のハードウェア構成要素モデルを電源制御の最小単位である電源制御単位ブロックにそれぞれ分割する第2の分割処理を実行するブロック分割機能部13と、を備える。
【選択図】 図5

Description

この発明は、省電力化を考慮した半導体集積回路の設計を行う半導体集積回路設計装置および半導体集積回路設計プログラムに関する。
近年の半導体集積回路の高集積化に伴い、その設計にかかる労力が増加する傾向にある。また、高消費電力化も進み、効率的に電源制御を行うように工夫することが望まれる。
半導体集積回路の設計現場においては、要求仕様を分析した後、ソフトウェアの仕様分析、機能抽出、タスク設計を行うとともに、ハードウェア(電子回路)に関しては、アルゴリズム設計、アーキテクチャ設計、ビヘイビア設計、RTL(レジスタトランスファーレベル)設計というように、抽象度の高い設計レベルから徐々に抽象度を下げ、詳細化していく手法がある。
一般的に、設計の抽象度が低いほど消費電力の見積もりを含めた検証にかかる時間と労力とが増大する。したがって、より抽象度の高い設計段階で電源制御を考慮した設計を行うことができる技術が要望されている。
特許文献1によれば、半導体集積回路の設計時に論理回路を用いて消費電力測定を行い、最適な消費電力を求めるようにしているが、RTL設計よりも抽象度の高い早期の設計段階では消費電力を考慮した設計はなされていない。また、特許文献2によれば、RTL設計以上の設計段階において消費電力の測定が可能となるが、配線の最適化により消費電力を低減しており、電源制御については記載がない。また、特許文献3によれば、専用の命令でプロセッサ単位の電源制御を行っており、効率的な電源制御ではない。
特開平11−161692号公報 特開2005−242642号公報 特開2003−345775号公報
本発明は、抽象度の高い設計段階において省電力化を考慮した半導体集積回路を効率よく設計することができる半導体集積回路設計装置および半導体集積回路設計プログラムを提供することを目的とする。
本願発明の一態様によれば、複数のハードウェア構成要素を含む半導体集積回路の設計を行う半導体集積回路設計装置であって、前記夫々のハードウェア構成要素に夫々対応する複数のハードウェア構成要素モデルを含む半導体集積回路モデルと、該半導体集積回路モデルの動作モード毎に用意される動作プログラムと、に基づいてシミュレーションを実行して各動作モードにおける各ハードウェア構成要素モデルのコードカバレッジを測定するコードカバレッジ測定機能部と、該測定結果に基づいて動作モード毎に複数のハードウェア構成要素モデルを使用ブロックと未使用ブロックにそれぞれ分割する第1の分割処理を実行し、該第1の分割処理結果に基づき複数のハードウェア構成要素モデルを電源制御の最小単位である電源制御単位ブロックにそれぞれ分割する第2の分割処理を実行するブロック分割機能部と、を備えることを特徴とする半導体集積回路設計装置が提供される。
また、本願発明の一態様によれば、複数のハードウェア構成要素を含む半導体集積回路の設計を行う半導体集積回路設計プログラムであって、前記夫々のハードウェア構成要素に夫々対応する複数のハードウェア構成要素モデルを含む半導体集積回路モデルと、該半導体集積回路モデルの動作モード毎に用意される動作プログラムと、に基づいてシミュレーションを実行して各動作モードにおける各ハードウェア構成要素モデルのコードカバレッジを測定するコードカバレッジ測定手順と、該測定結果に基づいて動作モード毎に複数のハードウェア構成要素モデルを使用ブロックと未使用ブロックにそれぞれ分割する第1の分割処理を実行し、該第1の分割処理結果に基づき複数のハードウェア構成要素モデルを電源制御の最小単位である電源制御単位ブロックにそれぞれ分割する第2の分割処理を実行するブロック分割手順と、前記第1および第2の分割処理結果に基づき、各動作モードにおいて使用ブロックに電源を供給し未使用ブロックに電源を供給しない電源制御を前記電源制御単位ブロックを単位として実行する電源制御モデルを生成する電源制御モデル生成手順と、をコンピュータに実行させることを特徴とする半導体集積回路設計プログラムが提供される。
本発明によれば、抽象度の高い設計段階において省電力化を考慮した半導体集積回路を効率よく設計することができる半導体集積回路設計装置および半導体集積回路設計プログラムを提供することができるという効果を奏する。
以下に添付図面を参照して、この発明にかかる半導体集積回路設計装置および半導体集積回路設計方法の最良な実施の形態を詳細に説明する。
(実施の形態)
まず、本発明の実施の形態にかかる半導体集積回路設計装置の概要を述べる。本発明の実施の形態の半導体集積回路設計装置は、プロセッサ・コア、周辺回路ブロック、オンチップ・バスなど構成要素毎に記述されるモデル(ハードウェア構成要素モデル)の組み合わせによって構成されている半導体集積回路モデルを対象とし、効率よく電源制御を行うことができるように、各ハードウェア構成要素モデルをさらに小さい電源制御単位ブロックに分割する。
例えば、図1に示すような、プロセッサ1(p1)、プロセッサ(p2)、周辺モデル(s1)、バス(bus)、およびメモリ(mem)の各ハードウェア構成要素モデルから構成され、ModeA〜ModeDの動作モードを実現することが要求される半導体集積回路モデルを考える。各ハードウェア構成要素モデルは、RTL設計以上の記述レベルで記述されるものであって、例えばビヘイビア設計レベルで記述されているとする。周辺モデルとは、要求される機能を実現するために対象の半導体集積回路に組み込まれるハードウェアモデルであり、例えばメモリコントローラの記述モデルや各種I/Oの記述モデルなどであってよい。また、動作モードとは、対象の半導体集積回路に要求される動作のモードであって、該半導体集積回路が例えばビデオ用LSIである場合、早送り、停止、および再生などの各動作のモードを指す。
対象の半導体集積回路モデルに含まれるハードウェア構成要素モデルは、全ての動作モードの動作中に全ての部分が常時使用されるとは限らない。つまり、夫々のハードウェア構成要素モデルの各動作モード用に特化された部分および動作モードによらず使用される部分のみに電源供給を行うことによって、半導体集積回路モデルの省電力化を図ることができる。本実施の形態の半導体集積回路設計装置は、使用される部分と使用されない部分とを動作モード毎に割り出し、各動作モードにおいて電源を供給する部分が小さくなるように、夫々のハードウェア構成要素モデルをさらに小さな単位である電源制御単位プロックにブロック分割する。
そして、本発明の実施の形態の半導体集積回路設計装置は、このように分割された電源制御単位ブロック毎に、電源供給、電源停止、および状態を保持したまま電源停止する制御を、動作モードに応じて実行する電源制御モデルを生成する。
例えば図2のModeA〜ModeDの列に示すように各動作モードにおいて使用される部分(使用ブロック)と使用されない部分(未使用ブロック)とを割り出したとすると、本実施の形態の半導体集積回路設計装置は、図2の最右列に示す分割結果のように電源制御単位ブロックにブロック分割する。メモリモデルおよびバスモデルは常に全て使用されるものであり、分割対象とはならないので、図2には表示していない。
すなわち、図1に示す半導体集積回路モデルは、効率のよい電源制御を行うことができるように、図3に示す半導体集積回路モデルのように夫々のハードウェア構成要素モデルが分割される。
このように電源制御の単位に分割し、夫々の電源制御単位ブロックに電源を供給するか否かの制御を行うことによって、使用される部分にのみ電源を供給することができるようになる。一例を挙げると、ModeDの動作モードのときはp1_block1、p1_block2、s1_block1およびs1_block2の電源制御単位ブロックに電源を供給するだけでよいようになる。
次に、本実施の形態の半導体集積回路設計装置の詳細を説明する。図4は、本発明の実施の形態にかかる半導体集積回路設計装置のハードウェア構成を示すブロック図である。図4に示すように、本実施の形態の半導体集積回路設計装置1は、CPUなどの制御装置2と、ROM(Read Only Memory)やRAMなどの記憶装置3と、HDD、CDドライブ装置などの外部記憶装置4と、ディスプレイ装置などの表示装置5と、キーボードやマウスなどの入力装置6とを備えており、通常のコンピュータを利用したハードウェア構成となっている。半導体集積回路設計装置1は、このようなコンピュータにおいて所定のプログラムを実行することにより、図5に示すような半導体集積回路設計装置1の各機能部を生成する。
本実施の形態の半導体集積回路設計装置1の機能部の構成を示す機能構成図を図5に示す。図5において、半導体集積回路設計装置1は、入力機能部10、電源制御モデル作成機能部11、コードカバレッジ測定機能部12、ブロック分割機能部13、および処理時間計測機能部14を備える。
入力機能部10は、本半導体集積回路設計装置1が備える各機能部を操作する種々の操作命令や、電源制御モデルを生成するためのパラメータの入力を受け付ける。
電源制御モデル作成機能部11は、入力機能部10から入力されるパラメータ、すなわち、ハードウェア構成要素モデルおよび電源制御単位ブロックなど、設計対象の半導体集積回路モデルを構成する各構成ブロックについて電源制御方式を識別するための情報である構成ブロック情報と、生成される電源制御モデルが動作モードを判別するためのフラグ(電源制御用フラグ)の参照先アドレスと、に基づいて、夫々の構成ブロックに対する電源制御を行う電源制御モデルを生成する。
ここで、電源制御方式には、電源を常時供給する第1の電源制御方式と、使用時には電源を供給し、不使用時には電源供給を停止する第2の電源制御方式と、使用時には電源を供給し、不使用時は待機電源を供給し、速やか復帰できるようにする第3の電源制御方式とが選択可能であり、構成ブロック情報においては、夫々、「電源オン」、「電源オフ」、「状態保持」と設定される。
作成された電源制御モデルは、パラメータに設定された参照先アドレスに記憶されている動作モードごとに変化する電源制御用フラグ(動作モードフラグ)を監視し、動作モードが変化したとき使用状態から不使用状態または不使用状態から使用状態に変化する電源制御単位ブロックに対して、予め構成ブロック情報に設定されている第2または第3の電源制御方式の電源制御を行う。
コードカバレッジ測定機能部12は、半導体集積回路モデルと、該半導体集積回路モデルの動作モード毎に用意される動作プログラムと、該半導体集積回路モデルに対して電源制御モデル作成機能部11が作成した電源制御モデルと、を使用してシミュレータを構築し、シミュレーションを実行し、動作モード毎にコードカバレッジを測定する。これにより、動作モード毎に半導体集積回路モデルの使用される部分と使用されない部分とが明らかとなる。
ブロック分割機能部13は、動作モード毎に使用される部分と使用されない部分とが明らかになった各ハードウェア構成要素モデルを、全ての動作モードにおいて電源供給する部分を最小にできるようにブロック分割する。
処理時間計測機能部14は、電源制御モデルと、電源制御単位ブロックからなる半導体集積回路モデルと、要求仕様に基づいて動作モードの遷移である状態遷移毎に用意されたファームウェアと、を用いてシミュレータを構築してシミュレーションを行い、状態遷移にかかる処理時間を状態遷移毎に計測する。
ここで、状態遷移とは、ビデオ用LSIの場合、ビデオを再生するモードから停止するモードに移る変化や、早送りモードから再生モードの移る変化などが挙げられる。なお、これらの状態遷移にかかる時間の上限は予め要求仕様により決められているとする。
設計者は、計測した夫々の処理時間と、要求仕様により要求される処理時間(要求時間)と、を比較し、要求される処理時間を越える状態遷移の動作を抽出し、該抽出した状態遷移において、電源オフ状態から電源オン状態に移行する電源制御ブロックの電源制御方式の設定を、第2の電源制御方式を示す「電源オフ」ではなく第3の電源制御方式を示す「状態保持」に設定するようにする。そして、「状態保持」に設定する電源制御単位ブロックおよび常時電源供給を行う「電源オン」に設定する電源制御単位ブロック以外の電源制御ブロックについて、第2の電源制御方式である「電源オフ」と設定するようにする。
なお、RTL設計以上の抽象度の設計においては電源を記述するフォーマットがない。このため、本実施の形態の半導体集積回路設計装置1が生成する電力制御モデルにおいては、第1、第2、および第3の電源制御方式の記述を、夫々、常時クロック供給する記述、使用時はクロック供給し、不使用時はクロックを停止するとともにリセット信号を送信する記述、および使用時はクロック供給し、不使用時はクロック供給停止する記述、で置き換えることとする。
すなわち、第2の電源制御方式の記述によれば、不使用時から使用時に変化したとき、リセット状態からの復帰になるので、復帰に時間がかかるが、不使用時には電源供給を完全に停止することができる。第3の電源制御方式の記述によれば、使用時から不使用時に変化したときにリセットはされず、状態が保持されているので、不使用時から使用時に変化するとき、速やかに復帰することができる。この記述によれば、不使用時において状態を保持するために電源が供給される必要があるが、クロック供給が停止される分、第1の電源制御方式に比べて電力消費は少ない。電源制御モデルにおけるこれらの電源制御方式の具体的な記述例については後述する。
次に、以上のように構成される本実施の形態の半導体集積回路設計装置の動作を説明する。図6は、半導体集積回路設計装置1による設計動作の概略を説明するフローチャートである。
図6において、まず、設計者は、接続されるハードウェア構成要素モデルを構成ブロックとし、各構成ブロックの電源制御方式を第1の電源制御方式とした構成ブロック情報と、電源制御用フラグの参照先と、からパラメータを作成して半導体集積回路設計装置1に入力する。電源制御モデル作成機能部11は、入力されたパラメータに基づいて電源制御モデルを生成する(ステップS1)。
次に、コードカバレッジ測定機能部12は、生成された電源制御モデルと、接続される各ハードウェア構成要素モデルと、動作モード毎に用意されるファームウェアと、に基づいてシミュレータを構築してシミュレーションを実行し、動作モード毎にコードカバレッジを測定する(ステップS2)。
続いて、ブロック分割機能部13は、コードカバレッジ測定結果に基づいて、電源制御単位ブロックにブロック分割する(ステップS3)。
続いて、設計者は、接続される電源制御単位ブロック毎に電源制御方式を設定する構成ブロック情報と、電源制御用フラグのアドレスと、を用いてパラメータを作成し、入力する。設計者は、コードカバレッジ測定の結果、未使用な動作モードが存在する電源制御単位ブロックについては、電源制御方式を「電源オフ」と設定しておく。電源制御モデル作成機能部11は、この入力されたパラメータに基づき、再度電源制御モデルを作成する(ステップS4)。
次に、処理時間計測機能部14は、この作成された電源制御モデルと、電源制御単位ブロックに分割された半導体集積回路モデルと、動作モードの状態遷移毎に用意される状態遷移ファームウェアとに基づいてシミュレータを構築してシミュレーションを実行し、状態遷移にかかる処理時間を状態遷移毎に計測する(ステップS5)。
最後に、設計者は、計測された処理時間が設定された要求時間を越える状態遷移を抽出し、該抽出した状態遷移の際に未使用ブロックから使用ブロックに変化する電源制御単位ブロックを選択し、選択した電源制御単位ブロックについて、パラメータにおける電源制御方式の設定を「電源オフ」から「状態保持」に変更する。電源制御モデル作成機能部11は、この変更されたパラメータに基づいて最終的な電源制御モデルを生成する(ステップS6)。
例えば、図1に示す半導体集積回路モデルは、要求仕様により、図7に示すようにModeAからModeB、ModeAからModeC、ModeBからModeD、ModeDからModeB、ModeDからModeC、ModeCからModeDの状態遷移を行うことが要求されているとすると、設計者は、計測された処理時間ab、処理時間ac、処理時間bd、処理時間db、処理時間dcおよび処理時間cdを、要求時間である処理時間AB、処理時間AC、処理時間BD、処理時間DB、処理時間DCおよび処理時間CDと比較する。処理時間dcが処理時間DC以上の値であったとする。ModeDからModeCへの状態遷移において、電源制御単位ブロックp2_block3が不使用状態から使用状態に変化している。すなわち、p2_block3が不使用状態から使用状態に復帰する時間(以下、復帰時間という)が長くかかるために、この状態遷移にかかる処理時間が要求時間を越える原因となっていることがわかる。そこで、設計者は、p2_block3に関しては、不使用時には電源供給を停止する第2の電源制御方式ではなく、復帰時間を短縮できる第3の電源制御方式を設定するようにする。
このようにパラメータが決定され、該パラメータにより生成される電源制御モデルは、各動作モードにおいて、電源を供給する部分を最小にし、かつ復帰時間が長くかかる電源制御単位ブロックに対しては不使用時には状態保持できる待機電源を供給することによって、状態遷移にかかる処理時間を要求時間以内に実行させる。すなわち、この電源制御モデルは、効率のよい電源制御を行うことができる。
次に、このような半導体集積回路設計装置1を用いた設計動作を、具体例を用いてより詳細に説明する。以降の説明においても、図7に示した状態遷移を行う図1に示した半導体設計モデルについて説明する。図8は、半導体集積回路設計装置1によってこの半導体集積回路モデルを設計する動作を説明するフロー図である。
図8において、まず、設計者は、電源制御モデル作成機能部11に使用させるパラメータD1を作成する。設計者は、5つの構成ブロック(プロセッサ1、プロセッサ2、周辺モデル、メモリおよびバス)について電源制御方式を全て「電源オン」と設定し、電源制御用フラグをメモリの「0x50_0000」に記憶させるとし、パラメータD1を作成する。
図9は作成されたパラメータの一例である。図9のパラメータの例において、「POWER」というカテゴリが用意され、このカテゴリ内で、接続される構成ブロック数が「BLOCK」で指定されている。モード変化を示すフラグが格納されているアドレスが「ADDRESS」において設定されている。そして、接続される構成ブロックの電源制御方式(POWER_MODE)において、すべての構成ブロックが第1の電源制御方式を示す「ON」と設定されている。
図8に戻り、電源制御モデル作成機能部11は、パラメータD1に基づいて電源制御モデルを生成する(ステップS10)。続いて、コードカバレッジ測定機能部12は、ステップS10にて生成された電源制御モデルと、動作モード毎に用意されたファームウェアD2と、5つの構成ブロックとに基づいてシミュレータを構築してシミュレーションを実行し(ステップS11)、コードカバレッジを測定する(ステップS12)。コードカバレッジは、全ての動作モードにおいて測定される。
続いて、ブロック分割機能部13は、計測したコードカバレッジに基づいて、各ハードウェア構成要素モデルを電源制御単位ブロックに分割する(ステップS13)。これにより、図1に示す半導体集積回路モデルの各ハードウェア構成要素モデルは、図3に示すように、電源制御単位ブロックに分割される。
図8に戻り、設計者は、このような分割結果に基づいて、再度パラメータD3を作成する。すなわち、p1_block1、p1_block2、p2_block1、p2_block2、p2_block3、s1_block1、s1_block2、およびメモリ、バスの、合計9個の電源制御単位ブロックを構成ブロックとする図3の半導体集積回路モデルについて、動作モードによっては不使用時が存在するp1_block2、p2_block1、p2_block2、p2_block3、およびs1_block2を「電源オフ」としたパラメータD3を作成する。図10は作成されたパラメータD3の例を示す図である。図10において、p1_block2、P2_Block1、p2_block2、p2_block3、およびs1_block2の電源制御の方式が第2の電源制御方式を示す「OFF」に設定されている。
図8に戻り、電源制御モデル作成機能部11は、パラメータD3に基づいて電源制御モデルを作成する(ステップS14)。処理時間計測機能部14は、パラメータD3に基づいて作成された電源制御モデルと、p1_block1、p1_block2、p2_block1、P2_Block2、p2_block3、s1_block1、s1_block2、およびメモリ、バスのモデルと、状態遷移のファームウェアD4とに基づいてシミュレータを構築し、シミュレーションを行い、処理時間を計測する(ステップS15)。
設計者は、処理時間の計測結果と要求時間とを比較し(ステップS16)、計測時間が要求時間以内であった場合(ステップS16、Yes)、別の遷移状態について処理時間を計測するために、別の遷移状態のファームウェアを選び、再度ステップS15に移行する。ステップS16において、計測時間が要求時間を越えた場合(ステップS16、No)、設計者は、その状態遷移において電源が停止されている状態から電源供給状態に復帰する電源制御単位ブロックの設定を「電源オフ」から「状態保持」に変更する。図11は、処理時間cdおよび処理時間dcが夫々要求時間である処理時間CDおよび処理時間DCを越えた場合に変更されたパラメータD5の例を示す図である。ModeCからModeDへの状態遷移においてはp1_block2およびs1_block2が不使用状態から使用状態に変化し、ModeDからModeCへの状態遷移においてはp2_block3が不使用状態から使用状態に変化するので、図11において、p1_block2、p2_block3およびs1_block2の電源制御方式は、第3の電源制御方式を示す「KEEP」に設定されている。
電源制御モデル作成機能部11は、該変更されたパラメータD5を用いて電源制御モデルを再度生成する(ステップS14)。そして、ステップS15に移行し、処理時間計測機能部14は、生成された電源制御モデルと、電源制御単位ブロックにより構成される半導体集積回路モデルと、次の状態遷移のファームウェアと、を用いてシミュレーションを行い、処理時間を計測する。
全ての状態遷移において、ステップS14〜ステップS16の動作を終了すると、最終的なパラメータが決定され、該パラメータに基づき、電源制御モデルが完成される。
完成した電源制御モデルの一部を図12に示す。図12においては、p2_block2およびp2_block3の部分について記述されている。電源制御モデルは、電源制御モデルのクロックに同期した動作を行う関数procClock()において、モード変化を示すフラグが格納先の値に基づいて当該ブロックの値(p2_b2_flag、p2_b3_flag)を変化させ、クロックを供給するかしないか判断する。
この電源制御モデルにおいて、電源制御方式が「OFF」に設定されているp2_block2に対しては、不使用時はクロック停止およびリセットするような記述となっている(図12中(1))。そして、「KEEP」に設定されているp2_block3に対しては、不使用時にはクロック停止をするように記述されている(図12中(2))。
このように生成された電源制御モデルと接続されるp2_block2の記述例を図13に示す。図13において、コードカバレッジ計測の結果から、「funcA()」という関数が抽出され、p2_block2に割り当てられたとしている。電源制御はクロックを供給するか否かで判断される為、クロックポートを追加されている(図13中(1))。そして、クロック信号がtrueの時に動作するように記述されている(図13中(2))。
このように、本実施の形態の半導体集積回路設計装置によれば、各動作モードにおいて電源を供給する部分が最小になるように、半導体集積回路モデルを構成するハードウェア構成要素モデルを分割するようにしたので、抽象度の高い設計段階において省電力化を考慮した半導体集積回路を効率よく設計することができる。また、各動作モードにおいて使用ブロックに電源を供給し使用されないブロックに電源を供給しない電源制御を前記電源制御単位ブロックを単位として実行する電源制御モデルを生成するようにしたので、作成された半導体集積回路モデルは電力消費を低減されたものとなる。また、生成された電源制御モデルを含む半導体集積回路モデルについて状態遷移にかかる処理時間を計測し、計測結果に基づき選択された一部の電源制御単位ブロックを、電源供給状態になったとき短時間で復帰できるように、不使用時には待機電源を供給する電源制御方式(省電力モード)で電源制御するようにしたので、電力消費を低減し、かつ状態遷移にかかる処理時間を所望の時間以内に行う半導体集積回路を設計できる。また、生成された電源制御モデルは、動作モード毎に変化するフラグを監視することによって電源制御を行うようにしたので、特別なハードウェアを追加することなく、簡単に電源制御を行う半導体集積回路を設計することができる。
なお、本実施の形態の半導体集積回路設計装置で実行される前記する所定のプログラムは、インストール可能な形式又は実行可能な形式のファイルでCD−ROM、フレキシブルディスク(FD)、CD−R、DVD(Digital Versatile Disk)等のコンピュータで読み取り可能な記録媒体に記録されて提供されるようにしてもよい。
また、本実施の形態の半導体集積回路設計装置で実行される前記する所定のプログラムを、インターネット等のネットワークに接続されたコンピュータ上に格納し、ネットワーク経由でダウンロードさせることにより提供するように構成しても良い。また、本実施の形態の半導体集積回路設計装置1で実行される前記する所定のプログラムをインターネット等のネットワーク経由で提供または配布するように構成しても良い。また、前記する所定のプログラムを、ROM等に予め組み込んで提供するように構成してもよい。
本実施の形態の半導体集積回路設計装置で実行される前記する所定のプログラムは、上述した各機能部(入力機能部、電源制御モデル作成機能部、ブロック分割機能部および処理時間計測機能部)を含むモジュール構成とし、実際のハードウェアとしてはCPU(プロセッサ)が上記記憶媒体から該プログラムを読み出して実行することにより上記各部が主記憶装置上にロードされ、入力機能部、電源制御モデル作成機能部、ブロック分割機能部および処理時間計測機能部が主記憶装置上に生成されるようにしてよい。
また、本実施の形態の半導体集積回路設計装置による一連の設計動作の説明において、パラメータ作成動作や各種判断動作など、設計者による動作が行われるように説明したが、該動作は、半導体集積回路設計装置により自動的に行われるように構成してもよい。
なお、本実施の形態の半導体集積回路設計装置の説明においては、RTL設計以上の抽象度の設計においては電源を記述するフォーマットがないので、第1、第2、および第3の電源制御方式の記述を、夫々、常時クロック供給する記述、使用時はクロック供給し、不使用時はクロックを停止するとともにリセット信号を送信する記述、および使用時はクロック供給し、不使用時はクロック供給停止する記述、で置き換えることとして説明した。クロック供給/停止して省電力化する制御はクロックゲーティング制御とよばれ、電源を直接オン/オフする制御以外の非常に有効な省電力化技術でもある。したがって、本実施の形態の半導体集積回路設計装置による電源制御技術は、クロックゲーティング技術にそのまま適用できるものでもある。
設計対象の半導体集積回路モデルの具体例を示す図。 電源制御単位ブロックに分割した分割例を示す図。 ブロック分割された半導体集積回路モデルを示す図。 本発明の実施の形態に従った半導体集積回路設計装置のハードウェア構成を示す図。 本発明の実施の形態の半導体集積回路設計装置の機能構成を示す図。 本発明の実施の形態の半導体集積回路設計装置による設計動作の概略を説明するフローチャート。 状態遷移を具体的に説明する図。 本発明の実施の形態の半導体集積回路設計装置による設計動作を説明する図。 作成されたパラメータの一例を示す図。 作成されたパラメータの一例を示す図。 生成されたパラメータの一例を示す図。 完成した電源制御モデルの一部を示す図。 電源制御モデルと接続されるp2_block2のプログラム例を示す図。
符号の説明
1 半導体集積回路設計装置、10 入力機能部、11 電源制御モデル作成機能部、12 コードカバレッジ測定機能部、13 ブロック分割機能部、14 処理時間計測機能部

Claims (5)

  1. 複数のハードウェア構成要素を含む半導体集積回路の設計を行う半導体集積回路設計装置であって、
    前記夫々のハードウェア構成要素に夫々対応する複数のハードウェア構成要素モデルを含む半導体集積回路モデルと、該半導体集積回路モデルの動作モード毎に用意される動作プログラムと、に基づいてシミュレーションを実行して各動作モードにおける各ハードウェア構成要素モデルのコードカバレッジを測定するコードカバレッジ測定機能部と、
    該測定結果に基づいて動作モード毎に複数のハードウェア構成要素モデルを使用ブロックと未使用ブロックにそれぞれ分割する第1の分割処理を実行し、該第1の分割処理結果に基づき複数のハードウェア構成要素モデルを電源制御の最小単位である電源制御単位ブロックにそれぞれ分割する第2の分割処理を実行するブロック分割機能部と、
    を備えることを特徴とする半導体集積回路設計装置。
  2. 前記ブロック分割機能部における第1および第2の分割処理結果に基づき、各動作モードにおいて使用ブロックに電源を供給し未使用ブロックに電源を供給しない電源制御を前記電源制御単位ブロックを単位として実行する電源制御モデルを生成する電源制御モデル作成機能部をさらに備えることを特徴とする請求項1に記載の半導体集積回路設計装置。
  3. 前記全ての電源制御単位ブロックおよび前記電源制御モデルを含む半導体集積回路モデルと、動作モードを遷移させる状態遷移毎に用意される状態遷移プログラムと、に基づいてシミュレーションを実行して動作モードの遷移にかかる処理時間を状態遷移毎に測定する処理時間計測機能部をさらに備え、
    前記電源制御モデル作成機能部は、前記処理時間に基づき選択された一部の電源制御単位ブロックに対し省電力モードで電源供給を行う電源制御をさらに実行する電源制御モデルを生成する、
    ことを特徴とする請求項2に記載の半導体集積回路設計装置。
  4. 前記半導体集積回路モデルを構成するハードウェア構成要素モデルは、動作モードを示す動作モードフラグが記憶されたメモリモデルを含み、
    前記電源制御モデル作成機能部は、前記動作モードフラグを監視することによって前記電源制御を行う、
    ことを特徴とする請求項2または3に記載の半導体集積回路設計装置。
  5. 複数のハードウェア構成要素を含む半導体集積回路の設計を行う半導体集積回路設計プログラムであって、
    前記夫々のハードウェア構成要素に夫々対応する複数のハードウェア構成要素モデルを含む半導体集積回路モデルと、該半導体集積回路モデルの動作モード毎に用意される動作プログラムと、に基づいてシミュレーションを実行して各動作モードにおける各ハードウェア構成要素モデルのコードカバレッジを測定するコードカバレッジ測定手順と、
    該測定結果に基づいて動作モード毎に複数のハードウェア構成要素モデルを使用ブロックと未使用ブロックにそれぞれ分割する第1の分割処理を実行し、該第1の分割処理結果に基づき複数のハードウェア構成要素モデルを電源制御の最小単位である電源制御単位ブロックにそれぞれ分割する第2の分割処理を実行するブロック分割手順と、
    前記第1および第2の分割処理結果に基づき、各動作モードにおいて使用ブロックに電源を供給し未使用ブロックに電源を供給しない電源制御を前記電源制御単位ブロックを単位として実行する電源制御モデルを生成する電源制御モデル生成手順と、
    をコンピュータに実行させることを特徴とする半導体集積回路設計プログラム。
JP2008162282A 2008-06-20 2008-06-20 半導体集積回路設計装置および半導体集積回路設計プログラム Pending JP2010003162A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2008162282A JP2010003162A (ja) 2008-06-20 2008-06-20 半導体集積回路設計装置および半導体集積回路設計プログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2008162282A JP2010003162A (ja) 2008-06-20 2008-06-20 半導体集積回路設計装置および半導体集積回路設計プログラム

Publications (1)

Publication Number Publication Date
JP2010003162A true JP2010003162A (ja) 2010-01-07

Family

ID=41584817

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008162282A Pending JP2010003162A (ja) 2008-06-20 2008-06-20 半導体集積回路設計装置および半導体集積回路設計プログラム

Country Status (1)

Country Link
JP (1) JP2010003162A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101832583B1 (ko) 2015-10-05 2018-02-26 타이완 세미콘덕터 매뉴팩쳐링 컴퍼니 리미티드 전력 상태 커버리지 메트릭 및 이의 추정 방법

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101832583B1 (ko) 2015-10-05 2018-02-26 타이완 세미콘덕터 매뉴팩쳐링 컴퍼니 리미티드 전력 상태 커버리지 메트릭 및 이의 추정 방법

Similar Documents

Publication Publication Date Title
CN101833460B (zh) 用于配置多个软件简档的系统和方法
US7844840B2 (en) Arrangements for integrated circuit power management
JP2016058083A (ja) 複数のbiosデフォルト設定を管理するシステムと方法
JPH10283381A (ja) ゲーテッドクロック設計支援方法、ゲーテッドクロック設計支援装置及びゲーテッドクロック設計支援プログラムを格納したコンピュータ読み取り可能な記録媒体
US10255403B1 (en) Method and apparatus for concurrently extracting and validating timing models for different views in multi-mode multi-corner designs
US20090217059A1 (en) Utilizing Networked Three Dimensional Voltage Regulation Modules (VRM) to Optimize Power and Performance of a Device
JP4946573B2 (ja) デカップリングセル配置方法及びデカップリングセル配置装置
US8806254B2 (en) System and method for creating and dynamically maintaining system power inventories
US20080270783A1 (en) Method for determining a rebooting action of a computer system and related computer system
US20120084550A1 (en) Information processing system and startup control method
JP2007004563A (ja) ライブラリ作成装置、ライブラリ作成プログラムおよびライブラリ作成方法
JP2010003162A (ja) 半導体集積回路設計装置および半導体集積回路設計プログラム
JP5151712B2 (ja) ノイズ解析装置
JP7073654B2 (ja) 情報処理システム、情報処理装置およびプログラム
JP2016018269A (ja) 情報処理装置、情報処理方法及びプログラム
JP4881769B2 (ja) 半導体集積回路設計支援装置、半導体集積回路設計支援方法、半導体集積回路設計支援プログラム
JP2006268165A (ja) 集積回路のタイミング解析装置、集積回路のタイミング最適化装置、集積回路のタイミング解析方法、集積回路のタイミング最適化方法、集積回路基板の製造方法、制御プログラムおよび可読記録媒体
JP6291992B2 (ja) スマート端末、消費電力の状態の制御方法、および、消費電力状態制御プログラム
JP2009038273A (ja) 半導体装置、半導体装置の設計方法および半導体装置設計プログラム
US11175708B2 (en) Thermal simulation for management controller development projects
US20150193259A1 (en) Boosting the operating point of a processing device for new user activities
JP2010055206A (ja) 回路設計装置及び回路設計方法
CN117391002B (zh) 一种ip核扩展描述方法及ip核生成方法
JP6482362B2 (ja) ソースコード生成システム、ソースコード生成装置、ソースコード生成方法及びプログラム
JP5310378B2 (ja) テストベンチの作成方法、テストベンチ作成装置