JP5012890B2 - 半導体集積回路の設計方法 - Google Patents

半導体集積回路の設計方法 Download PDF

Info

Publication number
JP5012890B2
JP5012890B2 JP2009508758A JP2009508758A JP5012890B2 JP 5012890 B2 JP5012890 B2 JP 5012890B2 JP 2009508758 A JP2009508758 A JP 2009508758A JP 2009508758 A JP2009508758 A JP 2009508758A JP 5012890 B2 JP5012890 B2 JP 5012890B2
Authority
JP
Japan
Prior art keywords
circuit
signal
logic
control signal
clamp
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
Application number
JP2009508758A
Other languages
English (en)
Other versions
JPWO2008126207A1 (ja
Inventor
孝 四方
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.)
Fujitsu Semiconductor Ltd
Original Assignee
Fujitsu Semiconductor Ltd
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 Fujitsu Semiconductor Ltd filed Critical Fujitsu Semiconductor Ltd
Publication of JPWO2008126207A1 publication Critical patent/JPWO2008126207A1/ja
Application granted granted Critical
Publication of JP5012890B2 publication Critical patent/JP5012890B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H01ELECTRIC ELEMENTS
    • H01LSEMICONDUCTOR DEVICES NOT COVERED BY CLASS H10
    • H01L27/00Devices consisting of a plurality of semiconductor or other solid-state components formed in or on a common substrate
    • H01L27/02Devices consisting of a plurality of semiconductor or other solid-state components formed in or on a common substrate including semiconductor components specially adapted for rectifying, oscillating, amplifying or switching and having potential barriers; including integrated passive circuit elements having potential barriers
    • H01L27/0203Particular design considerations for integrated circuits
    • H01L27/0207Geometrical layout of the components, e.g. computer aided design; custom LSI, semi-custom LSI, standard cell technique
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/30Circuit design
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2119/00Details relating to the type or aim of the analysis or the optimisation
    • G06F2119/06Power analysis or power optimisation

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • Power Engineering (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Geometry (AREA)
  • Condensed Matter Physics & Semiconductors (AREA)
  • Evolutionary Computation (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Design And Manufacture Of Integrated Circuits (AREA)
  • Semiconductor Integrated Circuits (AREA)
  • Logic Circuits (AREA)

Description

本発明は、半導体集積回路の設計方法に関し、特に複数の電源ブロックに分けられたLSIの電源制御をハードウェアエミュレータやFPGAを用いて検証するための設計データを生成する設計方法に関する。
近年、複数の電源ブロックに分けられたLSI(半導体集積回路)が開発されている。特定の電源ブロックの電源オン/オフ制御や、DVFS(Dynamic Voltage and Frequency Scaling)制御を行うことによりLSIの低消費電力化を図ることができる。DVFS制御は、電源電圧及び動作周波数を動的に制御する。
しかし、電源電圧の変更や電源電圧のオン/オフ制御に伴う製品不具合も多く発生しており、検証技術の強化が望まれている。これらのLSIにおける障害の多くは、ソフトウェアとハードウェアの両方の動作がからみあった動作が原因となる場合が多いことが分かってきている。
ところが、現時点において、電源管理制御に関する検証はソフトウェアシミュレータによってなされる場合がほとんどであり、シミュレーション実行時間の観点から、実際の電源管理アプリケーション等のソフトウェアのデバッグが適切に行えないという問題がある。
そのため、シミュレーションよりも高速で検証可能なハードウェアエミュレータやFPGA(Field Programmable Gate Array)で電源管理制御を検証する手法が必要となってくる。既存のハードウェアエミュレータは、FPGAや専用のプロセッサにより構成されており、特定の論理ブロックの電源電圧のオン/オフや、電源電圧の動的変更を行うことはできず、ハードウェアエミュレータやFPGAによる電源管理制御の高速検証手法が確立されていないという問題がある。
このような問題を解決しようとするエミュレータによる検証手法について、下記の特許文献1が開示されている。しかし、電源電圧をモニタすることができるエミュレータが存在することを前提としたものであり、現時点でこのようなエミュレータやFPGAが存在しなければ、直接的な解決策とはなっていないと考えられる。
特開2006−31408号公報
本発明の目的は、電源電圧のオン/オフ制御又は動的変更の際の動作をハードウェアエミュレータ又はFPGAにより検証することができる半導体集積回路の設計方法を提供することである。
本発明の半導体集積回路の設計方法は、パワーゲーティング制御信号に応じて論理回路に電源電圧を供給するためのパワーゲーティング回路及びクランプ制御信号に応じて前記論理回路の出力信号をクランプするための第1のクランプ回路を有する設計データを準備する準備ステップと、前記設計データを検証するために、前記設計データに対して、前記パワーゲーティング回路の代わりに、前記パワーゲーティング制御信号に応じて前記論理回路の出力信号をマスクするための第1のマスク回路を追加した設計データを生成する生成ステップとを有することを特徴とする。
また、本発明の半導体集積回路の設計方法は、パワーゲーティング制御信号に応じて論理回路に供給する電源電圧値を制御するためのパワーゲーティング回路及び前記論理回路の出力信号をレベルシフトすることにより前記論理回路の出力信号のレベルとは異なるレベルの信号を出力する第1のレベルシフト回路を有する設計データを準備する準備ステップと、前記設計データを検証するために、前記設計データに対して、前記パワーゲーティング回路の代わりに、前記パワーゲーティング制御信号に応じた前記電源電圧値が動作可能電圧であるか否かを比較するための比較回路及び前記比較回路の比較結果に応じて前記論理回路の出力信号をマスクするための第1のマスク回路を追加した設計データを生成する生成ステップとを有することを特徴とする。
図1は、本発明の第1の実施形態の半導体集積回路の設計方法により設計するLSIの構成例を示すブロック図である。 図2は、図1の各回路ブロックの構成例を示す回路図である。 図3は、図2の回路ブロックの正常動作を説明するためのタイミングチャートである。 図4は、図2の回路ブロックの誤動作を説明するためのタイミングチャートである。 図5は、ハードウェアエミュレータ又はFPGAで検証可能にするために、図2の回路ブロックを修正した回路ブロックの構成例を示す回路図である。 図6は、図5の回路ブロックの正常動作を説明するためのタイミングチャートである。 図7は、図5の回路ブロックの誤動作を説明するためのタイミングチャートである。 図8は、本発明の第2の実施形態による回路ブロックの構成例を示す回路図である。 図9は、図8の回路ブロックの誤動作を説明するためのタイミングチャートである。 図10は、本発明の第3の実施形態による各回路ブロックの構成例を示す回路図である。 図11は、図10の回路ブロックの誤動作を説明するためのタイミングチャートである。 図12は、ハードウェアエミュレータ又はFPGAで検証可能にするために、図10の回路ブロックを修正した回路ブロックの構成例を示す回路図である。 図13は、図12の回路ブロックの誤動作を説明するためのタイミングチャートである。 図14は、本発明の第4の実施形態による回路ブロックの構成例を示す回路図である。 図15は、本発明の第5の実施形態による設計方法を実現するためのコンピュータのハードウェア構成例を示すブロック図である。 図16は、図15のコンピュータに実行させるためのプログラムの処理例を示すフローチャートである。 図17は、図15のコンピュータに実行させるためのプログラムの他の処理例を示すフローチャートである。
(第1の実施形態)
図1は、本発明の第1の実施形態の半導体集積回路の設計方法により設計するLSI(大規模集積回路)100の構成例を示すブロック図である。LSI100は、第1のCPU(中央処理ユニット)101、第2のCPU102、バスコンポーネント又は周辺モジュール103、オーディオ回路104、ビデオ回路105、カードインターフェース106、ボイスコーデック回路107、及び電源管理(パワーマネージメント)ユニット110を有する。バスコンポーネント又は周辺モジュール103は、オンチップバス(OCB)、メモリコントローラ又はクロックジェネレータ等である。回路ブロック101〜107は、それぞれ論理回路を有する。電源管理ユニット110は、回路ブロック101〜107毎に電源電圧のオン/オフを制御し、CPU101及び102毎にDVFS(Dynamic Voltage and Frequency Scaling)制御を行うことにより、LSI100の低消費電力化を図ることができる。DVFS制御は、電源電圧及び動作周波数を動的に制御する。
図2は、図1の各回路ブロック101〜107の構成例を示す回路図である。電源管理ユニット110は、回路ブロック101〜107毎にパワーゲーティング制御信号PGC及びクランプ制御信号CCSを出力する。パワーゲーティング回路(セル)201は、nチャネル電界効果トランジスタであり、ゲートがパワーゲーティング制御信号PGCに接続され、ドレインが電源電圧Vddに接続され、ソースが論理回路(ロジックブロック)202に接続される。パワーゲーティング回路201は、パワーゲーティング制御信号PGCに応じて論理回路202に電源電圧を供給する。なお、パワーゲーティング回路201は、pチャネル電界効果トランジスタで構成してもよい。
クランプ回路(セル)203は、クランプ制御信号CCSに応じて論理信号SAをクランプし、論理信号SBを論理回路202に出力する。具体的には、クランプ回路203は、論理信号SA及びクランプ制御信号CCSの論理積信号SBを論理回路202に出力する論理積(AND)回路を有する。
クランプ回路(セル)204は、クランプ制御信号CCSに応じて論理回路202の出力論理信号SCをクランプし、論理信号SDを出力する。具体的には、クランプ回路204は、論理回路202の出力論理信号SC及びクランプ制御信号CCSの論理積信号SDを出力する。
図3は、図2の回路ブロックの正常動作を説明するためのタイミングチャートである。パワーゲーティング制御信号PGCがハイレベルになると、パワーゲーティング回路201がオンし、電源電圧Vddが論理回路202に供給され、論理回路202が動作可能になる。これに対し、パワーゲーティング制御信号PGCがローレベルになると、パワーゲーティング回路201がオフし、電源電圧Vddが論理回路202に供給されず、論理回路202は動作停止状態となり、消費電力を低減することができる。
クランプ制御信号CCSは、パワーゲーティング制御信号PGCに応じて制御される。最初、クランプ制御信号CCS及びパワーゲーティング制御信号PGCはハイレベルである。
まず、電源電圧をオンからオフに制御する場合を説明する。まず、クランプ制御信号CCSがハイレベルからローレベルに変化し、その後に、パワーゲーティング制御信号PGCがハイレベルからローレベルに変化する。
次に、電源電圧をオフからオンに制御する場合を説明する。まず、パワーゲーティング制御信号PGCがローレベルからハイレベルに変化し、その後に、クランプ制御信号CCSがローレベルからハイレベルに変化する。
論理信号SBは、クランプ制御信号CCSがローレベルのときにはローレベルになり、クランプ制御信号CCSがハイレベルのときには論理信号SAと同じ信号になる。
論理信号SCは、パワーゲーティング制御信号PGCがローレベルのときには論理回路202に電源電圧Vddが供給されないので、ハイインピーダンス状態HZになる。
論理信号SDは、クランプ制御信号CCSがローレベルのときにはローレベルになり、クランプ制御信号CCSがハイレベルのときには論理信号SCと同じ信号になる。制御信号SCがハイインピーダンス状態HZのときには、クランプ制御信号CCSがローレベルであるので、制御信号SDはハイインピーダンス状態HZにはならずにローレベルにクランプされる。すなわち、クランプ制御CCSに応じて論理信号SCをクランプすることにより、論理信号SCのハイインピーダンス状態HZは後段の論理信号SDに伝播されない。
以上のように、回路ブロックの電源をオフにする場合には、電源をオフする前に、入力信号SA及び出力信号SCについて、クランプ回路203及び204でクランプしてから電源オフを行う。そして、電源オフ状態から電源オン状態にする際には、その逆の手順を踏んで、まず電源をオンにしてからクランプセル203及び204によるクランプを解除する。こうすることで、論理回路202が電源オフとなっている場合に、その回路ブロックから出力されるハイインピーダンス状態(中間電位又は0V)HZの不定値伝播による誤動作及び意図しないリーク電流が流れることを防止できる。なお、論理回路202をCMOSで構成し、全入力信号を通常のバッファやインバータ等で受けている場合には、論理信号SAをクランプするクランプ回路203は省略しても問題ない。また、クランプ回路203及び204は、論理積回路に限定されず、論理和(OR)回路又はラッチ回路であってもよい。
図4は、図2の回路ブロックの誤動作を説明するためのタイミングチャートであり、回路ブロックの電源供給のオン/オフ制御する際に、クランプ制御信号CCSとパワーゲーティング制御信号PGCとの関係を誤った場合に生じる障害事例を示す。本来、図3のように、パワーゲーティング制御信号PGCがローレベルからハイレベルに変化した後、クランプ制御信号CCSをローレベルからハイレベルに変化させなければならない。しかし、図4のように、誤って、パワーゲーティング制御信号PGCがローレベルからハイレベルに変化する前に、クランプ制御信号CCSをローレベルからハイレベルに変化させてしまった場合を説明する。論理信号SCは、パワーゲーティング制御信号PGCがローレベルのときにはハイインピーダンス状態HZとなる。ここで、論理信号SDのタイミング401では、論理信号SCがハイインピーダンス状態HZであり、かつクランプ制御信号CCSがハイレベルであるので、論理信号SDがハイインピーダンス状態HZになってしまう。論理信号SDにハイインピーダンス状態HZが伝播されてしまうと、論理信号SDを使用する後段の回路で誤動作を引き起こしてしまう。
以上のように、回路ミスやソフトウェアによるミスで、電源オフ状態から電源オン状態にする際に、電源をオンする前にクランプ回路203及び204によるクランプを解除してしまうと、論理信号SDに現れるハイインピーダンス状態HZ(中間電位又は0V)の信号が伝播し、これが誤動作を引き起こしてしまうという障害が発生し得る。
しかし、このようなハイインピーダンス状態HZはハードウェアエミュレータ及びFPGAでは表現できないため、このような信号による誤動作をハードウェアエミュレータ又はFPGAにより検出できないという問題がある。
図5は、ハードウェアエミュレータ又はFPGAで検証可能にするために、図2の回路ブロックを修正した回路ブロックの構成例を示す回路図である。図5は、図2の回路ブロックに対して、パワーゲーティング回路201を削除し、パワーゲーティング回路201の代わりにマスク論理回路501,503及びセレクタ502,504を追加したものである。以下、図5が図2と異なる点を説明する。マスク論理回路501及び503は、例えばハイレベル固定のマスクデータを出力する。
セレクタ502は、パワーゲーティング制御信号PGCに応じてマスク論理回路501が出力するマスクデータ又はクランプ回路203が出力する論理信号SBを選択して論理回路202に出力する。すなわち、セレクタ502は、パワーゲーティング制御信号PGCに応じて論理回路202の入力信号をマスクするためのマスク回路である。
セレクタ504は、パワーゲーティング制御信号PGCに応じてマスク論理回路503が出力するマスクデータ又は論理回路202が出力する論理信号を選択して論理信号SCとしてクランプ回路204に出力する。すなわち、セレクタ504は、パワーゲーティング制御信号PGCに応じて論理回路202の出力信号をマスクするためのマスク回路である。
図6は、図5の回路ブロックの正常動作を説明するためのタイミングチャートである。セレクタ502は、パワーゲーティング制御信号PGCがハイレベルのときにはクランプ回路203の出力論理信号SBを選択し、パワーゲーティング制御信号PGCがローレベルのときにはマスク論理回路501の出力マスクデータ(例えばハイレベル)を選択し、論理回路202に出力する。セレクタ504は、パワーゲーティング制御信号PGCがハイレベルのときには論理回路202の出力論理信号を選択し、パワーゲーティング制御信号PGCがローレベルのときにはマスク論理回路503の出力マスクデータ(例えばハイレベル)を選択し、クランプ回路204に出力する。
クランプ制御信号CCS、パワーゲーティング制御信号PGC及び論理信号SBは、図3と同じである。
論理信号SCは、パワーゲーティング制御信号PGCがハイレベルのときには論理回路202の出力論理信号と同じ信号になり、パワーゲーティング制御信号PGCがローレベルのときにはマスクデータ(例えばハイレベル)と同じ信号になる。すなわち、図3のハイインピーダンス状態HZは、図6ではマスクデータ(例えばハイレベル)として表現される。
論理信号SDは、クランプ制御信号CCSがローレベルのときにはローレベルになり、クランプ制御信号CCSがハイレベルのときには論理信号SCと同じ信号になる。制御信号SCがマスクデータ(例えばハイレベル)のときには、クランプ制御信号CCSがローレベルであるので、制御信号SDはマスクデータ(例えばハイレベル)にはならずにローレベルにクランプされる。すなわち、クランプ制御CCSに応じて論理信号SCをクランプすることにより、論理信号SCのマスクデータ(例えばハイレベル)は後段の論理信号SDに伝播されない。
図7は、図5の回路ブロックの誤動作を説明するためのタイミングチャートであり、回路ブロックの電源供給のオン/オフ制御する際に、クランプ制御信号CCSとパワーゲーティング制御信号PGCとの関係を誤った場合に生じる障害事例を示す。クランプ制御信号CCS、パワーゲーティング制御信号PGC及び論理信号SBは、図4と同じである。
論理信号SCは、パワーゲーティング制御信号PGCがローレベルのときにはマスクデータ(例えばハイレベル)となり、パワーゲーティング制御信号PGCがハイレベルのときには論理回路202の出力論理信号と同じ信号になる。
論理信号SDのタイミング701では、論理信号SCがマスクデータ(例えばハイレベル)であり、かつクランプ制御信号CCSがハイレベルであるので、論理信号SDがマスクデータ(例えばハイレベル)と同じ信号になる。この状態をハードウェアエミュレータ又はFPGAが検出することにより、回路ブロックの誤動作(設計ミス)を検出可能になる。
以上のように、ハードウェアエミュレータ及びFPGAでは、実際に図2のパワーゲーティング回路201を実現することはできないので、論理回路202の電源遮断(オフ)状態というのを、その論理回路202からの出力信号(又は入出力信号)を特定の値のマスクデータでマスクすることにより模擬する。セレクタ502及び504が、パワーゲーティング制御信号PGCに応じて、論理回路202への入出力信号をそのまま通過させるか、マスクデータでマスクした値にするかを選択する。電源遮断時には、マスクデータでマスクした値が選択されるようにする。もちろん、パワーゲーティング制御信号PGCをセレクト信号としてではなく、直接マスクデータとして使用することも可能である。これにより、図7のように、たとえクランプ制御信号CCSに制御ミスがあったとしても、論理回路202の出力信号ではなく、マスクデータを論理信号SCとして出力するので、ハードウェアエミュレータ又はFPGAにおいても誤動作を検出可能となる。
なお、論理回路202への入力信号側のマスク回路(マスク論理回路501及びセレクタ502を含む)については、省略可能である。また、マスク論理回路501及び503が出力するマスクデータは、ハイレベルに限定されず、ローレベル又は特定の変化する値でもよい。
本実施形態によれば、検証のための回路ブロックの設計データを生成することにより、電源電圧のオン/オフ制御の際の動作が検証可能になる。また、ハードウェアエミュレータ又はFPGAにより検証することができるので、高速な検証が可能である。
(第2の実施形態)
図8は、本発明の第2の実施形態による回路ブロックの構成例を示す回路図であり、ハードウェアエミュレータ又はFPGAで検証可能にするために、図2の回路ブロックを修正した回路ブロックの構成例を示す。図8は、図2の回路ブロックに対して、パワーゲーティング回路201を削除し、パワーゲーティング回路201の代わりにエラー条件検出回路801〜803、論理和(OR)回路811及びエラー記憶部812を追加したものである。以下、図8が図2と異なる点を説明する。
第1のエラー条件検出回路801は、パワーゲーティング制御信号PGC及びクランプ制御信号CCSを基に第1のエラー条件を満たすときにエラーを検出して出力する。第2のエラー条件検出回路802は、第2のエラー条件を満たすときにエラーを検出して出力する。第3のエラー条件検出回路803は、第3のエラー条件を満たすときにエラーを検出して出力する。論理和回路811は、エラー条件検出回路801〜803の出力信号の論理和信号をエラー検出信号ER1としてエラー記憶部812に出力する。エラー記憶部812は、エラー検出信号ER1がエラーを示すハイレベルになると、そのエラー状態をハイレベルとして保持してエラー検出信号ER2を出力する。
図9は、図8の回路ブロックの誤動作を説明するためのタイミングチャートであり、回路ブロックの電源供給のオン/オフ制御する際に、クランプ制御信号CCSとパワーゲーティング制御信号PGCとの関係を誤った場合に生じる障害事例を示す。クランプ制御信号CCS、パワーゲーティング制御信号PGC及び論理信号SB,SC,SDは、図4と同じである。
第1のエラー条件検出回路801は、パワーゲーティング制御信号PGC及びクランプ制御信号CCSを基にエラーを検出する。具体的には、第1のエラー条件検出回路801は、タイミング401のように、クランプ制御信号CCSがハイレベルであり、かつパワーゲーティング制御信号PGCがローレベルであるときにエラーを検出してハイレベルを出力し、それ以外のときにはローレベルを出力する。第1のエラー条件検出回路801の出力信号がエラー検出信号ER1となる。エラー検出信号ER2は、初期状態がローレベルであり、エラー検出信号ER1が一度ハイレベルになると、それ以後はエラー状態を示すハイレベルとなる。
以上のように、本実施形態は、図2のクランプ回路203,204及び論理回路202の論理構成はそのままにして、パワーゲーティング制御信号PGC及びクランプ制御信号CCS等の特定の制御信号を用いて、エラー条件検出回路801〜803を追加するものである。エラー条件検出回路801〜803は、回路ブロックが誤動作を引き起こす可能性のある条件を検出する回路であればよい。例えば、エラー条件検出回路801は、クランプ制御信号CCSがハイレベルかつパワーゲーティング制御信号PGCがローレベルという条件をエラーとして検出する。そして、エラー条件検出回路801〜803が複数ある場合に、それらの検出結果を個別に、又は論理和回路811により集約したエラー検出信号ER1をエラー記憶部812に保持し、後に、エラーが発生したことを確認できるようにする。
エラー条件検出回路801〜803及びエラー記憶部812は、予め回路中に冗長なテスト回路として設けておいてもよいし、ハードウェアエミュレータ又はFPGAに移植して検証する際に追加しても良い。また、エラー記憶部812の結果を読み出す方法としては、この結果を半導体チップ内のバスを介してCPU等により読み出せるようにしてもよいし、ハードウェアエミュレータ又はFPGA向けにコンパイルする際に、エラー結果の読み出し用のインターフェース信号を追加してもよい。
本実施形態によれば、検証のための回路ブロックの設計データを生成することにより、電源電圧のオン/オフ制御の際の動作が検証可能になる。また、ハードウェアエミュレータ又はFPGAにより検証することができるので、高速な検証が可能である。
(第3の実施形態)
図10は、本発明の第3の実施形態による各回路ブロック101〜107(図1)の構成例を示す回路図であり、図11は図10の回路ブロックの誤動作を説明するためのタイミングチャートである。図10は、図2に対して、クランプ回路203及び204の代わりにレベルシフト機能付きクランプ回路1003及び1004を設けたものである。以下、図10が図2と異なる点を説明する。
パワーゲーティング回路201は、パワーゲーティング制御信号PGCに応じて論理回路202に供給する電源電圧値を制御する。例えば、パワーゲーティング回路201は、パワーゲーティング制御信号PGCが電圧V1になると論理回路202に1.2Vの電源電圧を供給し、パワーゲーティング制御信号PGCが電圧V2になると論理回路202に0.8Vの電源電圧を供給する。ここで、電圧V2は、電圧V1より低い電圧である。電圧V1及びV2は、0Vより高い電圧である。
レベルシフト機能付きクランプ回路1003は、クランプ回路及びレベルシフト回路を含む。クランプ回路1003は、クランプ制御信号CCSに応じて論理信号SAをクランプし、論理信号SBを論理回路202に出力する。具体的には、クランプ回路1003は、論理信号SA及びクランプ制御信号CCSの論理積信号SBを論理回路202に出力する論理積回路を有する。また、クランプ回路(レベルシフト回路)1003は、論理信号SAをレベルシフトすることにより論理信号SAのレベルとは異なるレベルの論理信号SBを論理回路202に出力する。例えば、パワーゲーティング回路201が0.8Vの電源電圧を論理回路202に供給する場合、論理信号SAはハイレベルが1.2V、ローレベルが0Vであり、論理信号SBはハイレベルが0.8V、ローレベルが0Vである。この場合、クランプ回路1003は、1.2Vから0.8Vへのレベルシフトを行う。
レベルシフト機能付きクランプ回路1004は、クランプ回路及びレベルシフト回路を含む。クランプ回路1004は、クランプ制御信号CCSに応じて論理回路202の出力論理信号SCをクランプして論理信号SDを出力する。具体的には、クランプ回路1004は、論理回路202の出力論理信号SC及びクランプ制御信号CCSの論理積信号SDを出力する論理積回路を有する。また、クランプ回路(レベルシフト回路)1004は、論理回路202の出力論理信号SCをレベルシフトすることにより論理回路202の出力論理信号SCのレベルとは異なるレベルの論理信号SDを出力する。例えば、パワーゲーティング回路201が0.8Vの電源電圧を論理回路202に供給する場合、論理信号SCはハイレベルが0.8V、ローレベルが0Vであり、論理信号SDはハイレベルが1.2V、ローレベルが0Vである。この場合、クランプ回路1004は、0.8Vから1.2Vへのレベルシフトを行う。
図11の誤動作を説明する。パワーゲーティング制御信号PGCが電圧V1のとき、パワーゲーティング回路201は1.2Vの電源電圧を論理回路202に供給する。また、パワーゲーティング制御信号PGCが電圧V2のとき、パワーゲーティング回路201は例えば0.6Vの電源電圧を論理回路202に供給するとする。ここで、論理回路202は、動作可能電圧が例えば0.8V以上であり、0.6Vの電源電圧では正常動作が保証されないとする。
電圧V1及びV2は0Vより高い電圧であり、パワーゲーティング回路201は論理回路202に電源電圧を供給しているときには、クランプ制御信号CCSはハイレベルとなる。論理信号SBは、クランプ制御信号CCSがハイレベルであるときには論理信号SAと同じ信号になる。
パワーゲーティング制御信号PGCが電圧V1であるときには、1.2Vの電源電圧が論理回路202に供給されるので、論理回路202は、正常な論理信号SCを出力する。これに対し、パワーゲーティング制御信号PGCが電圧V2であるときには、0.6Vの電源電圧が論理回路202に供給されるので、正常な動作をせず、タイミング1101において論理回路202は不定値の論理信号SCを出力する。論理信号SDは、クランプ制御信号CCSがハイレベルのときには論理信号SCと同じ信号になる。
論理信号SCの不定値が論理信号SDに伝播してしまい、論理信号SDを使用する後段の回路が誤動作を引き起こしてしまう問題が生ずる。ハードウェアエミュレータ及びFPGAは、このような不定値を表現できないので、上記の誤動作を検出できないという問題が生ずる。
以上のように、回路ブロックの電源電圧値を変更する場合に、論理回路202が動作可能な電圧範囲から外れた電圧値に電源電圧を設定してしまった場合に誤動作が生じる。この場合、論理回路202に供給する電源電圧値を、電源管理ユニット110の指示により変更できる場合、例えば、論理回路202を構成する回路素子(組み合わせ回路、フリップフロップ等の順序回路、SRAM等のメモリ回路、その他アナログ回路等)が動作可能な電源電圧よりも供給電源電圧値を下げてしまった場合、論理回路202から出力される論理信号SCは不定値となり、実際の回路では誤動作を生ずることとなる。
しかし、ハードウェアエミュレータ及びFPGAは、論理回路202を実現する回路に常に一定の電源電圧を印加し続けるので、このような電源電圧低下による不定値を認識できず、誤動作を検出できないという問題がある。
図12は、ハードウェアエミュレータ又はFPGAで検証可能にするために、図10の回路ブロックを修正した回路ブロックの構成例を示す回路図である。図12は、図10の回路ブロックに対して、パワーゲーティング回路201を削除し、パワーゲーティング回路201の代わりに電源電圧記憶部1201、動作可能電圧記憶部1202、比較回路1203、マスク論理回路1204,1206及びセレクタ1205,1207を追加したものである。以下、図12が図10と異なる点を説明する。
電源電圧記憶部1201は、パワーゲーティング制御信号PGCに応じた電源電圧値を記憶する。例えば、パワーゲーティング制御信号PGCが電圧V1であれば電源電圧は1.2V、パワーゲーティング制御信号PGCが電圧V2であれば電源電圧は0.6Vである。動作可能電圧記憶部1202は、論理回路202の動作可能電圧を記憶する。例えば、論理回路202の動作可能電圧は、0.8V〜1.2Vである。比較回路1203は、電源電圧記憶部1201が記憶する電源電圧値が動作可能電圧記憶部1202が記憶する動作可能電圧であるか否かを比較し、比較結果を出力する。
マスク論理回路1204及び1206は、例えばハイレベル固定のマスクデータを出力する。
セレクタ1205は、比較回路1203の比較結果に応じてマスク論理回路1204が出力するマスクデータ又はクランプ回路1003が出力する論理信号SBを選択して論理回路202に出力する。すなわち、セレクタ1205は、比較回路1203の比較結果に応じて論理回路202の入力信号をマスクするためのマスク回路である。
セレクタ1207は、比較回路1203の比較結果に応じてマスク論理回路1206が出力するマスクデータ又は論理回路202が出力する論理信号を選択して論理信号SCとしてクランプ回路1004に出力する。すなわち、セレクタ1207は、比較回路1203の比較結果に応じて論理回路202の出力信号をマスクするためのマスク回路である。
図13は、図12の回路ブロックの誤動作を説明するためのタイミングチャートである。セレクタ1205は、電源電圧値が動作可能電圧であるときにはクランプ回路1003の出力論理信号SBを選択し、電源電圧値が動作可能電圧でないときにはマスク論理回路1204の出力マスクデータ(例えばハイレベル)を選択し、論理回路202に出力する。セレクタ1207は、電源電圧値が動作可能電圧であるときには論理回路202の出力論理信号を選択し、電源電圧値が動作可能電圧でないときにはマスク論理回路1206の出力マスクデータ(例えばハイレベル)を選択し、クランプ回路1004に出力する。
クランプ制御信号CCS、パワーゲーティング制御信号PGC及び論理信号SA,SBは、図11と同じである。
論理信号SCは、電源電圧値が動作可能電圧であるときには論理回路202の出力論理信号と同じ信号になり、電源電圧値が動作可能電圧でないときにはマスクデータ(例えばハイレベル)と同じ信号になる。すなわち、図11のタイミング1101の不定値は、図13のタイミング1301ではマスクデータ(例えばハイレベル)として表現される。
論理信号SDは、クランプ制御信号CCSがハイレベルのときには論理信号SCと同じ信号になる。電源電圧値が動作可能電圧でないために生じる不定値をマスクデータとして表現し、マスクデータが論理信号SCから論理信号SDに伝播することにより、ハードウェアエミュレータ又はFPGAで誤動作を検出可能になる。
以上のように、電源管理ユニット110から指示される供給電源電圧値を電源電圧記憶部(フリップ又はメモリ等)1201で記憶し、論理回路202が動作可能な電圧(最低電圧値及び/又は最高電圧値)を動作可能電圧記憶部(フリップフロップ又はメモリ等)1202で記憶する。比較回路1203は、供給電源電圧値と動作可能電圧とを比較する。この比較した結果、供給電源電圧が動作可能電圧でない場合には、セレクタ1205はマスクデータを論理回路202に出力し、セレクタ1206はマスクデータをクランプ回路1004に出力する。もちろん、比較回路1203の比較結果出力信号をセレクト信号ではなく、直接マスクデータとして使用することも可能である。
これにより、半導体チップ内の回路ブロックへの供給電源電圧値が不適切な値(動作不可能な電圧値)になった場合には、その論理回路202からの出力信号(又は入出力信号)をマスクデータでマスクすることにより、ハードウェアエミュレータ又はFPGAでこのような場合の誤動作を検出可能となる。
なお、レベルシフト機能付きクランプ回路1003及び1004は、単にレベルシフト回路(クランプ機能なし)でもよい。
本実施形態によれば、検証のための回路ブロックの設計データを生成することにより、電源電圧の動的変更の際の動作が検証可能になる。また、ハードウェアエミュレータ又はFPGAにより検証することができるので、高速な検証が可能である。
(第4の実施形態)
図14は、本発明の第4の実施形態による回路ブロックの構成例を示す回路図であり、ハードウェアエミュレータ又はFPGAで検証可能にするために、図10の回路ブロックを修正した回路ブロックの構成例を示す。本実施形態は、第1〜第3の実施形態を組み合わせたものである。以下、図14が図12と異なる点を説明する。
論理積回路1403は、比較回路1203の比較結果信号の論理反転信号とパワーゲーティング制御信号PGCとの論理積信号を出力する。セレクタ1205及び1207は、論理積回路1403の出力信号に応じて選択する。これにより、第1及び第3の実施形態による制御が可能である。
また、エラー条件検出回路801〜803、論理和回路811及びエラー記憶部812の構成は、第2の実施形態(図8)と同じである。これにより、第2の実施形態による制御が可能である。
以上のように、本実施形態は、第1〜第3の実施形態を組み合わせたものである。この場合、パワーゲーティング制御信号PGCがローレベルとなって電源オフとなった場合、又は供給電源電圧が動作可能電圧範囲外になって、比較回路1203の比較結果信号がハイレベルになった場合に、論理回路202の出力信号(又は入出力信号)をマスクする。
これにより、論理回路202の電源がオフになった場合や、供給電源電圧値が動作不可能な電圧値に設定された場合に、論理信号SDにマスクデータを伝播させるとともに、エラー条件検出回路801〜803により誤動作が発生したことを知ることができ、電源管理制御の検証をハードウェアエミュレータ又はFPGAで行うことが可能となる。
なお、クランプ回路1003及び1004は、レベルシフト回路及びクランプ回路の各個別回路をシリアルに接続する構成であってもよい。
本実施形態によれば、検証のための回路ブロックの設計データを生成することにより、電源電圧のオン/オフ制御及び動的変更の際の動作が検証可能になる。また、ハードウェアエミュレータ又はFPGAにより検証することができるので、高速な検証が可能である。
(第5の実施形態)
図15は、本発明の第5の実施形態による設計方法を実現するためのコンピュータ(設計装置)1510のハードウェア構成例を示すブロック図である。コンピュータ1510により、第1〜第4の実施形態の検証用回路ブロックの設計データを生成することができる。
バス1501には、CPU1502、ROM1503、RAM1504、ネットワークインターフェース1505、入力装置1506、出力装置1507及び外部記憶装置1508が接続されている。
CPU1502は、データの処理又は演算を行うと共に、バス1501を介して接続された各種構成要素を制御するものである。ROM1503には、予めCPU1502の制御手順(コンピュータプログラム)を記憶させておき、このコンピュータプログラムをCPU1502が実行することにより、起動する。外部記憶装置1508にコンピュータプログラムが記憶されており、そのコンピュータプログラムがRAM1504にコピーされてCPU1502により実行される。RAM1504は、データの入出力、送受信のためのワークメモリ、各構成要素の制御のための一時記憶として用いられる。外部記憶装置1508は、例えばハードディスク記憶装置やCD−ROM等であり、電源を切っても記憶内容が消えない。CPU1502は、RAM1504内のコンピュータプログラムを実行することにより、後に説明する図16又は図17の処理を行い、第1〜第4の実施形態の回路ブロックの設計データを生成する。
ネットワークインターフェース1505は、ネットワークに接続するためのインターフェースであり、ハードウェアエミュレータ又はFPGA1520に接続される。コンピュータ1510は、ネットワークインターフェース1505を介して、ハードウェアエミュレータ又はFPGA1520に設計データを送信することができる。入力装置1506は、例えばキーボード及びマウス等であり、各種指定又は入力等を行うことができる。出力装置1507は、ディスプレイ及びプリンタ等である。
図16は、図15のコンピュータ1510に実行させるためのプログラムの処理例を示すフローチャートである。コンピュータ1510は、プログラムを実行することにより、以下の処理を行う。
まず、ステップ1601では、コンピュータ1510は、クランプ回路203,204又はレベルシフト機能付きクランプ回路1003,1004を含む回路ブロックのRTL(Register Transfer Level)設計データを準備し、外部記憶装置1508に記憶させる。第1及び第2の実施形態では、図2の回路ブロックを有する設計データを準備する。第3及び第4の実施形態では、図10の回路ブロックを有する設計データを準備する。
次に、ステップ1602では、コンピュータ1510は、前記RTL設計データを検証するために、CAD(Computer-Aided Design)ツール、ライブラリ1603及びマスク回路情報1604を用いて、前記RTL設計データを基に、検証のための回路ブロックのRTL設計データを生成する。ライブラリ1603及びマスク回路情報1604は、外部記憶装置1508に記憶されている。第1の実施形態では、前記RTL設計データを検証するために、前記RTL設計データに対して、パワーゲーティング回路201の代わりに、マスク回路(マスク論理回路501,503及びセレクタ502,504を含む)を追加したRTL設計データを生成する。第2の実施形態では、前記RTL設計データを検証するために、前記RTL設計データに対して、エラー検出回路(エラー条件検出回路801〜803、論理和回路811及びエラー記憶部812を含む)を追加したRTL設計データを生成する。第3の実施形態では、前記RTL設計データを検証するために、前記RTL設計データに対して、パワーゲーティング回路201の代わりに、電源電圧記憶部1201、動作可能電圧記憶部1202、比較回路1203及びマスク回路(マスク論理回路1204,1206及びセレクタ1205,1207を含む)を追加したRTL設計データを生成する。
次に、ステップ1605では、コンピュータ1510は、ステップ1602で生成されたRTL設計データを外部記憶装置1508に書き込む。
次に、ステップ1606では、コンピュータ1510は、ハードウェアエミュレータ又はFPGA1520用のネットリスト合成ツール及びライブラリ1607を用いて、ステップ1602で生成されたRTL設計データを基に、ハードウェアエミュレータ又はFPGA1520のためのネットリスト設計データを生成する。ライブラリ1607は、外部記憶装置1508に記憶されている。
次に、ステップ1608では、コンピュータ1510は、ステップ1606で生成されたネットリスト設計データを外部記憶装置1508に書き込み、ネットワークインターフェース1505を介してハードウェアエミュレータ又はFPGA1520に送信する。
次に、ステップ1609では、ハードウェアエミュレータ又はFPGA1520は、コンピュータ1510からネットリスト設計データを受信し、動作検証を行う。ネットリスト設計データは、第1〜第4の実施形態で説明したように、誤動作が検証可能になっているので、ハードウェアエミュレータ又はFPGA1520は、第1〜4の実施形態で示したような設計ミスによる誤動作を検証可能である。
図17は、図15のコンピュータ1510に実行させるためのプログラムの他の処理例を示すフローチャートである。コンピュータ1510は、プログラムを実行することにより、以下の処理を行う。図16では、RTL設計データの段階で検証用の回路ブロックの設計データを生成する例を示した。図17では、ネットリスト設計データの段階で検証用の回路ブロックの設計データを生成する例を説明する。
まず、ステップ1701では、コンピュータ1510は、クランプ回路203,204又はレベルシフト機能付きクランプ回路1003,1004を設ける前の回路ブロックのRTL設計データを準備し、外部記憶装置1508に記憶させる。この回路ブロックのRTL設計データは、クランプ回路203,204又はレベルシフト機能付きクランプ回路1003,1004がない点を除き、ステップ1601と同じである。
次に、ステップ1702では、コンピュータ1510は、論理合成ツール、ライブラリ1703及びクランプ回路又はレベルシフト回路情報1704を用いて、上記のRTL設計データに対して、クランプ回路203,204又はレベルシフト機能付きクランプ回路1003,1004を追加したネットリスト設計データを生成する。ライブラリ1703及びクランプ回路又はレベルシフト回路情報1704は、外部記憶装置1508に記憶されている。
次に、ステップ1705では、コンピュータ1510は、ステップ1702で生成されたネットリスト設計データを外部記憶装置1508に書き込む。
次に、ステップ1706では、コンピュータ1510は、前記ネットリスト設計データを検証するために、CADツール、ライブラリ1707及びマスク回路情報1708を用いて、前記ネットリスト設計データを基に、検証のための回路ブロックのネットリスト設計データを生成する。ライブラリ1707及びマスク回路情報1708は、外部記憶装置1508に記憶されている。ステップ1706は、ステップ1602に対して、RTL設計データの代わりにネットリスト設計データを生成する点を除き、同じである。
次に、ステップ1709では、コンピュータ1510は、ステップ1706で生成されたネットリスト設計データを外部記憶装置1508に書き込む。
次に、ステップ1710では、コンピュータ1510は、ハードウェアエミュレータ又はFPGA1520用のネットリスト合成ツール及びライブラリ1711を用いて、ステップ1706で生成されたネットリスト設計データを基に、ハードウェアエミュレータ又はFPGA1520のためのネットリスト設計データを生成する。ライブラリ1711は、外部記憶装置1508に記憶されている。
次に、ステップ1712では、コンピュータ1510は、ステップ1710で生成されたネットリスト設計データを外部記憶装置1508に書き込み、ネットワークインターフェース1505を介してハードウェアエミュレータ又はFPGA1520に送信する。
次に、ステップ1713では、ハードウェアエミュレータ又はFPGA1520は、コンピュータ1510からネットリスト設計データを受信し、動作検証を行う。ネットリスト設計データは、第1〜第4の実施形態で説明したように、誤動作が検証可能になっているので、ハードウェアエミュレータ又はFPGA1520は、第1〜4の実施形態で示したような設計ミスによる誤動作を検証可能である。
本実施形態は、コンピュータ1510がプログラムを実行することによって実現することができる。また、プログラムをコンピュータに供給するための手段、例えばかかるプログラムを記録したCD−ROM等のコンピュータ読み取り可能な記録媒体又はかかるプログラムを伝送するインターネット等の伝送媒体も本発明の実施形態として適用することができる。また、上記のプログラムを記録したコンピュータ読み取り可能な記録媒体等のコンピュータプログラムプロダクトも本発明の実施形態として適用することができる。上記のプログラム、記録媒体、伝送媒体及びコンピュータプログラムプロダクトは、本発明の範疇に含まれる。記録媒体としては、例えばフレキシブルディスク、ハードディスク、光ディスク、光磁気ディスク、CD−ROM、磁気テープ、不揮発性のメモリカード、ROM等を用いることができる。
以上のように、本実施形態では、回路ブロックの入出力信号に接続されているクランプ回路203,204又はレベルシフト機能付きクランプ回路1003,1004を例えば図14の回路1401及び1402に自動的に回路変更するCAD処理を行う。これにより、より簡便かつ確実にハードウェアエミュレータ又はFPGA1520で電源管理検証を行うことが可能となる。また、ステップ1602又はステップ1706により、マスク回路等を自動挿入することにより、簡便にハードウェアエミュレータ又はFPGAでの検証が可能となる。
電源管理制御を行なった際の誤動作(制御信号の制御ミス、論理回路が動作可能な電圧よりも電源電圧を誤って下げてしまった場合の誤動作、等)を、ハードウェアエミュレータ又はFPGAで高速に検証可能となる。
なお、上記実施形態は、何れも本発明を実施するにあたっての具体化の例を示したものに過ぎず、これらによって本発明の技術的範囲が限定的に解釈されてはならないものである。すなわち、本発明はその技術思想、またはその主要な特徴から逸脱することなく、様々な形で実施することができる。
検証のための設計データを生成することにより、電源電圧のオン/オフ制御又は動的変更の際の動作が検証可能になる。また、ハードウェアエミュレータ又はFPGAにより検証することができるので、高速な検証が可能である。

Claims (9)

  1. パワーゲーティング制御信号に応じて論理回路に電源電圧を供給するためのパワーゲーティング回路及びクランプ制御信号に応じて前記論理回路の出力信号をクランプするための第1のクランプ回路を有する設計データを準備する準備ステップと、
    前記設計データを検証するために、前記設計データに対して、前記パワーゲーティング回路の代わりに、前記パワーゲーティング制御信号に応じて前記論理回路の出力信号をマスクするための第1のマスク回路を追加した設計データを生成する生成ステップと
    を有することを特徴とする半導体集積回路の設計方法。
  2. 前記第1のマスク回路は、前記パワーゲーティング制御信号に応じて前記論理回路の出力信号又はマスクデータを選択して前記第1のクランプ回路に出力する第1のセレクタを有することを特徴とする請求項1記載の半導体集積回路の設計方法。
  3. 前記第1のクランプ回路は、前記論理回路の出力信号及び前記クランプ制御信号の論理積信号を出力する第1の論理積回路を有することを特徴とする請求項1記載の半導体集積回路の設計方法。
  4. 前記準備ステップは、さらに前記クランプ制御信号に応じて第1の論理信号をクランプして前記論理回路に出力するための第2のクランプ回路を有する設計データを準備することを特徴とする請求項1記載の半導体集積回路の設計方法。
  5. 前記生成ステップは、さらに前記パワーゲーティング制御信号に応じて前記論理回路の入力信号をマスクするための第2のマスク回路を追加した設計データを生成することを特徴とする請求項4記載の半導体集積回路の設計方法。
  6. 前記第2のマスク回路は、前記パワーゲーティング制御信号に応じて前記第2のクランプ回路の出力信号又はマスクデータを選択して前記論理回路に出力する第2のセレクタを有することを特徴とする請求項5記載の半導体集積回路の設計方法。
  7. さらに、前記生成ステップにより生成された設計データを基にハードウェアエミュレータ又はFPGA(FieldProgrammableGateArray)により動作検証する検証ステップを有することを特徴とする請求項1記載の半導体集積回路の設計方法。
  8. パワーゲーティング制御信号に応じて論理回路に供給する電源電圧値を制御するためのパワーゲーティング回路及び前記論理回路の出力信号をレベルシフトすることにより前記論理回路の出力信号のレベルとは異なるレベルの信号を出力する第1のレベルシフト回路を有する設計データを準備する準備ステップと、
    前記設計データを検証するために、前記設計データに対して、前記パワーゲーティング回路の代わりに、前記パワーゲーティング制御信号に応じた前記電源電圧値が動作可能電圧であるか否かを比較するための比較回路及び前記比較回路の比較結果に応じて前記論理回路の出力信号をマスクするための第1のマスク回路を追加した設計データを生成する生成ステップと
    を有することを特徴とする半導体集積回路の設計方法。
  9. 前記準備ステップは、さらにクランプ制御信号に応じて前記論理回路の出力信号をクランプするための第1のクランプ回路を有する設計データを準備することを特徴とする請求項記載の半導体集積回路の設計方法。
JP2009508758A 2007-03-27 2007-03-27 半導体集積回路の設計方法 Expired - Fee Related JP5012890B2 (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2007/056381 WO2008126207A1 (ja) 2007-03-27 2007-03-27 半導体集積回路の設計方法

Publications (2)

Publication Number Publication Date
JPWO2008126207A1 JPWO2008126207A1 (ja) 2010-07-22
JP5012890B2 true JP5012890B2 (ja) 2012-08-29

Family

ID=39863390

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009508758A Expired - Fee Related JP5012890B2 (ja) 2007-03-27 2007-03-27 半導体集積回路の設計方法

Country Status (3)

Country Link
US (1) US8250504B2 (ja)
JP (1) JP5012890B2 (ja)
WO (1) WO2008126207A1 (ja)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5591621B2 (ja) * 2010-08-04 2014-09-17 ピーエスフォー ルクスコ エスエイアールエル 半導体装置及びその制御方法
TWI489444B (zh) 2012-07-17 2015-06-21 Etron Technology Inc 應用於嵌入式顯示埠的動態隨機存取記憶體
US10601217B2 (en) * 2017-04-27 2020-03-24 Qualcomm Incorporated Methods for detecting an imminent power failure in time to protect local design state
WO2019018304A1 (en) 2017-07-17 2019-01-24 Johnson Controls Technology Company SYSTEMS AND METHODS FOR BUILDING SIMULATION ON THE BASIS OF AN AGENT FOR OPTIMAL CONTROL
US10535394B2 (en) 2017-07-20 2020-01-14 Samsung Electronics Co., Ltd. Memory device including dynamic voltage and frequency scaling switch and method of operating the same
KR102558422B1 (ko) * 2018-11-07 2023-07-24 에스케이하이닉스 주식회사 파워 게이팅 시스템

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006031408A (ja) * 2004-07-16 2006-02-02 Renesas Technology Corp エミュレータおよび半導体集積回路装置
JP2006209162A (ja) * 2005-01-25 2006-08-10 Renesas Technology Corp 論理検証装置

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4217618A (en) * 1977-10-25 1980-08-12 Boney George R Thyristor firing circuit module with integral optical isolation, dv/dt limitation, and bidirectional voltage transient suppression
US5051572A (en) * 1990-04-06 1991-09-24 Mcdonnell Douglas Corporation Photomultiplier gating circuit
US7112773B2 (en) * 2004-08-24 2006-09-26 Burle Technologies, Inc. Bleeder powered gating amplifier
US20090315399A1 (en) * 2008-06-20 2009-12-24 Fujitsu Microelectronics Limited Semiconductor device

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006031408A (ja) * 2004-07-16 2006-02-02 Renesas Technology Corp エミュレータおよび半導体集積回路装置
JP2006209162A (ja) * 2005-01-25 2006-08-10 Renesas Technology Corp 論理検証装置

Also Published As

Publication number Publication date
JPWO2008126207A1 (ja) 2010-07-22
US8250504B2 (en) 2012-08-21
US20100005439A1 (en) 2010-01-07
WO2008126207A1 (ja) 2008-10-23

Similar Documents

Publication Publication Date Title
US8832615B2 (en) Method for detecting and debugging design errors in low power IC design
JP5012890B2 (ja) 半導体集積回路の設計方法
US8042010B2 (en) Two-phase clock-stalling technique for error detection and error correction
US8407638B2 (en) Methods and apparatus for boolean equivalency checking in the presence of voting logic
JP5969284B2 (ja) 電子回路網の信頼性を向上させるための装置および関連する方法
JP2012248194A (ja) 状態保持回路における状態保全性の検証
US7886244B2 (en) Driving values to DC adjusted/untimed nets to identify timing problems
JP2006048525A (ja) シミュレーション方法
US8856556B2 (en) System and method for verifying and maintaining consistency between an intended power mode and an actual power mode in a semiconductor integrated circuit
US8255859B2 (en) Method and system for verification of multi-voltage circuit design
US7930662B1 (en) Methods for automatically generating fault mitigation strategies for electronic system designs
US8413102B2 (en) Vectorless IVD analysis prior to tapeout to prevent scan test failure due to voltage drop
JP7069608B2 (ja) 半導体設計支援装置、半導体設計支援方法及びプログラム
JP2008107872A (ja) 半導体集積回路
US11892504B1 (en) Method and system for debugging metastability in digital circuits
US11442108B1 (en) Isolation logic test circuit and associated test method
JP5625241B2 (ja) 半導体装置及びその試験方法
JP2013061229A (ja) 半導体集積回路、半導体集積回路の設計支援方法、及び設計支援プログラム
JP2008165320A (ja) 半導体集積回路の論理検証方法
JP2009128977A (ja) 再収斂パス検出方法、プログラム、及びシステム
BREZEANU et al. Improved Serial Peripheral Interface Controller Based on Scan Architecture
Lang et al. New challenges in verification of mixed-signal ip and soc design
JP2004348406A (ja) 半導体回路の検証方法および検証装置
JP2006163600A (ja) 内部信号監視方法及び論理シミュレーション装置
Lang Case Study: Power-aware IP and Mixed-Signal Verification

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120214

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120412

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: 20120508

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: 20120521

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20150615

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

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