JP3150122B2 - 低電力vlsiデザインのための制限付きレジスタ共用方法及びそのシステム - Google Patents

低電力vlsiデザインのための制限付きレジスタ共用方法及びそのシステム

Info

Publication number
JP3150122B2
JP3150122B2 JP37681398A JP37681398A JP3150122B2 JP 3150122 B2 JP3150122 B2 JP 3150122B2 JP 37681398 A JP37681398 A JP 37681398A JP 37681398 A JP37681398 A JP 37681398A JP 3150122 B2 JP3150122 B2 JP 3150122B2
Authority
JP
Japan
Prior art keywords
input
variables
variable
functional unit
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.)
Expired - Lifetime
Application number
JP37681398A
Other languages
English (en)
Other versions
JP2000057201A (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.)
NEC Corp
Princeton University
Original Assignee
NEC Corp
Princeton University
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 NEC Corp, Princeton University filed Critical NEC Corp
Publication of JP2000057201A publication Critical patent/JP2000057201A/ja
Application granted granted Critical
Publication of JP3150122B2 publication Critical patent/JP3150122B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • 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)
  • Theoretical Computer Science (AREA)
  • Evolutionary Computation (AREA)
  • Geometry (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Design And Manufacture Of Integrated Circuits (AREA)
  • Power Sources (AREA)
  • Logic Circuits (AREA)

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】この発明は、ディジタルVL
SIシーケンス回路の電力消費低減技術に関するもので
ある。特に、本発明は、制限付きレジスタ共用技術(co
nstrained register sharing technology)を用いて電
力消費を低減するシステム及び方法に関するものであ
る。本発明は、制限付きのレジスタ共用を用いたシーケ
ンス回路において電力消費を低減するための制限付きレ
ジスタ共用システム及び方法において実施される。
【0002】
【従来の技術】回路中の信号に論理的遷移が生じた場合
に常に生じる動的要素は、しばしばVLSI回路におけ
るワット損の原因となる。実際上、普通に使用される回
路の動作中に生じるこうした遷移の大部分は、不必要で
ある。こうした遷移は、回路の演算結果には影響を与え
ない。
【0003】各クロックサイクルにおいて、回路の全て
の部分が機能する必要がないことは、合理的に断定する
ことができる。あるクロックサイクルにおいては、いく
つかの構成部材は、何らの機能も行っていない状態(以
下、アイドル状態と称す)とすることができる。こうし
た認識にもとづいて、不必要な信号の遷移を抑制しもし
くは排除することによるいくつかの低電力デザイン技術
が提案されている。パワーマネージメントの語は、一般
にこうした技術を指すものとして用いられる。デザイン
に対するパワーマネージメントの適用は、一般的に以下
の二つのステップで行われる。
【0004】回路中の種々の部分についてアイドル状態
を特定し、アイドル状態の構成部材のスイッチ動作を排
除するために回路を再設計して、こうした部分における
不要な電力消費を防止する。
【0005】パワーマネージメントは、しばしば、電力
が制限されたシステム(power-constrained systems)
の設計者によって開発され、おそらくは、最も一般的に
使用される低電力デザイン技術の1つであろう(ジェ
イ. ラーベイ(J. Rabaey)及びエム.ペドラム(M.
Pedram (編集者) )の、低電力デザイン技術、クルワ
ー・アカデミック・パブリッシャー(Kluwer Academic
Publisher)、アメリカ合衆国、マサチューセッツ州、
ノエル(1996)参照)。自動合成ツールにもパワー
マネージメントが含まれていることが望ましい。
【0006】多くの近代的なマイクロプロセッサは、検
討中の回路ブロックと同様に、レジスタ及び他の回路ブ
ロックへのクロック入力をゲーティングしてクロック信
号の不要な遷移を抑制する方法を採用している(エイ.
コーリアル(M. Correale),「IBMパワーPC4xx
埋め込みプロセッサにおいて用いられる電力最小化技術
の概観」、Proc. Int. Symp. Low Power Design、75
ー80頁(1995年4月)、参照)。クロックのゲー
ティングの適用とその最大効率化のための自動合成技術
は公知である(ジイ.テルツ(G. Tellez)、エイ.フ
ァラヒ(A. Farrahi)、エム.サーラフザデ(M. Sarra
fzadeh)、「低電力回路のための動作駆動クロックデザ
イン」、Proc. Int. Conf. Computer-Aided Design、6
2−65頁(1995年11月)及びエル.ベニニ(L.
Benini)、ピイ.シーゲル(P.Siegel)、ジイ.デ
ミッチュリ(G. De Micheli)、「シーケンス回路のた
めのゲーティングされたクロックの合成による節電」、
IEEEコンピュータのデザイン及びテスト(IEEE Design
& Test Computers)、32−41頁(1994年冬)参
照)。
【0007】近年、パワーマネージメントのための高レ
ベル合成技術が提案されている(イー.ムーソル(E. M
usoll)、ジェイ.コータデラ(J. Cortadella)、「機
能ユニットの活動を低減するための高レベル合成技
術」、Proc. Int. Symp. Low Power Design、99−1
04頁(1995年4月);ジェイ.モンテイロ(J. M
onteiro)、エス.デバダス(S. Devadas)、ピイ.ア
シャー(P. Ashar)、エイ.マウスカー(A. Mauska
r)、「パワーマネージメントを可能とするスケジュー
リング技術」、Proc. Design Automation Conf.、34
9−352頁(1996年6月)及びエイ.ラーフナサ
ン(A. Raghunathan)、エス.デイ(S. Dey)、エヌ.
ケイ.ジャー(N. K. Jha)、ケイ.ワカバヤシ(K. Wa
kabayashi)、「制御フロー集中デザインのためのパワ
ーマネージメント技術」、Proc. Design Automation Co
nf.、429ー434頁(1997年6月)参照)。機
能ユニットのためのアイドル時間を最小化することを目
的とするスケジューリングアルゴリズムが、ジェイ.モ
ンテイロ(J. Monteiro)、エス.デバダス(S. Devada
s)、ピイ.アシャー(P. Ashar)、エイ.マウスカー
(A. Mauskar)、「パワーマネージメントを可能とする
スケジューリング技術」、Proc. Design Automation Co
nf.、349−352頁(1996年6月)に示されて
いる。
【0008】データパスの構成要素における活動を低減
するための制御論理の再デザインに基づく、制御再仕様
技術が、エイ.ラーフナサン(A. Raghunathan)、エ
ス.デイ(S. Dey)、エヌ.ケイ.ジャー(N. K. Jh
a)、ケイ.ワカバヤシ(K. Wakabayashi)、「制御フ
ロー集中デザインのためのパワーマネージメント技
術」、Proc. Design Automation Conf.、429ー43
4頁(1997年6月)に示されている。レジスタ、メ
モリ等の記憶要素の「スリープタイム」を最大化するこ
とに適合された技術は、エイ.ファラヒ(A. Farrah
i)、ジイ.テルツ(G. Tellez)、エム.サーラフザデ
(M. Sarrafzadeh)、「スリープモード動作開発のため
のメモリのセグメント化」、Proc. Design Automation
Conf.、36−41頁(1995年6月)に示されてい
る。論理レベルにおいて、保護された評価(guarded ev
aluation)及び事前計算(precomputation)に基づく二
つの成功したパワーマネージメント技術がある(ブイ.
チワリ(V. Tiwari)、エス.マリク(S. Malik)、
「保護された評価:パワーマネージメントの論理レベル
合成デザインへの活性化(Pushing power management t
o logic level synthesis design)」、Proc. Int. Sym
p. Low Power Design 、221ー226頁(1995年
4月)及びエム.アルディナ(A. Aldina)、ジェイ.
モンテイロ(J. Monteiro)、エス.デバダス(S. Deva
das)、エイ.ゴーシュ(A. Ghosh)、エム.パパエフ
シミオウ(M. Papaefthymiou)、「事前計算に基づく低
電力のためのシーケンス論理の最適化」、IEEE Trans.
VLSI Systens, Vol. 2、426ー436頁参照)保護さ
れた評価は、ある入力状態において休止可能な論理要素
(logic cones)を特定する。これらの論理要素は、当
該要素の出力が回路出力に影響を与えない場合に、ラッ
チにより「保護」され、動作不能とされて、電力の消費
が防止される。また、事前計算においては、事前計算回
路と呼ばれる単純な組み合わせ回路が、元の回路に付加
される。ある入力状態において、事前計算論理(precom
putation logic)は、元の回路を休止させ、事前計算回
路自体により出力演算を行う。
【0009】いくつかの従来技術が、回路中の種々の信
号の不必要な論理遷移(logic transition)を排除する
ことによって、回路の消費を低減させるために用いられ
ている。「パワーマネージメント」の用語は、これらの
技術を指すために統合的に使用される。
【0010】高レベルな合成(または動作の合成(beha
vioral synthesis)とも称す)は、VLSIの動作の記
述を、マクロブロック(例えば、機能ユニット、レジス
タ、マルチプレクサ、バス、メモリブロック等)とラン
ダム論理の相互接続として構成される構造的、かつレジ
スタ転送レベル(register-transfer level) (RTL)
の回路に変換される。
【0011】シーケンス回路の動作の記述は、その機能
性のアルゴリズム的仕様を含んでいる。こうした記述
は、回路のサイクル毎のタイミングまたはその構造に関
する情報はほとんど含んでいない。動作合成ツールは、
一般に、動作の記述を、制御データフローグラフ(Cont
rol-Data Flow Graph (CDFG))等の適当な中間フォー
マットにコンパイルする。CDFGの各頂点は、動作の
記述の種々の動作を示す。データおよび制御のエッジ部
は、動作と制御のフロー間のデータの依存性を示す。
【0012】高レベル合成ツールは、主に、一乃至複数
の以下のタスクを行う:変換、モジュールの選択、クロ
ックの選択、スケジューリング、資源配置(resource a
llocation)または資源の割り当て(resource assignme
nt)(資源共用(resource sharing)又はハードウエア
共用(hardware sharing)とも称す)。スケジューリン
グは、各動作を一乃至複数のクロックサイクルまたは制
御ステップに割り当てることにより、デザインのサイク
ル毎の動作を決定する。配置(allocation)は、動作の
仕様を実行するために用いられる各タイプのハードウエ
ア資源の数を決定する。割り当て(assignment)は、配
置されたレジスタ(及び対応する機能ユニット)の一つ
に各変数(及びこれに対応する動作)を拘束することを
示す。
【0013】レジスタ共用又は割り当ては、RTLの実
行における、シーケンス回路の動作記述中の各変数のレ
ジスタへのマッピング処理を示す。高レベル合成におけ
る広範囲にわたる調査は、アール.カンポサノ(R. Cam
posano)、ダブリュー.ウォルフ(W. Wolf)、高レベ
ルVLSI合成、クルワー・アカデミック・パブリッシ
ャー(Kluwer Academic Publisher)、アメリカ合衆
国、マサチューセッツ州、ノエル(1991)およびデ
イ.デイ.ガジャスキー(D. D. Gajski)、エヌ.デ
イ.ダット(N. D. Dutt)、エイ.シイ.−エイチ.ウ
ー(A. C.-H. Wu)、エス.ワイ.−エル.リン(S. Y.-L.
Lin)、高レベル合成:チップ及びシステムデザインの
紹介、クルワー・アカデミック・パブリッシャー(Kluw
er Academic Publisher)、アメリカ合衆国、マサチュ
ーセッツ州、ノエル(1992)に見ることができる。
【0014】以下の技術を用いるシーケンス回路の自動
パワーマネージメント方法が提案されている。
【0015】クロックのゲーティング:クロックネット
ワーク及びレジスタ中の電力消費を抑制するためのクロ
ック信号のゲーティング(エル.ベニニ(L. Benini)、
ピイ.シーゲル(P. Siegel)、ジイ.デミッチェリ
(G. DeMicheli)、「シーケンス回路のゲーティングさ
れたクロックの合成による省電力」、IEEE Design & Te
st of Computers、32−41頁(1994年冬)及び
エル.ベニニ、ジイ.デミッチェリ、「ゲーティングさ
れたクロックのシーケンス回路の自動合成」、IEEE Tra
ns. Computer-Aided Design、Vol. 15、630ー643
頁(1996年6月))。
【0016】事前計算:レジスタ及びレジスタにより入
力される組み合わせ論理における電力消費を低減するた
めに、レジスタに対するロードを不能とする(エム.ア
ルディナ(A. Aldina)、ジェイ.モンテイロ(J. Mont
eiro)、エス.デバダス(S.Devadas)、エイ.ゴーシ
ュ(A. Ghosh)、エム.パパエフシミオウ(M. Papaeft
hymiou)、「事前計算に基づく低電力のためのシーケン
ス論理の最適化」、IEEE Trans. VLSI Systens, Vol.
2、426ー436頁参照、(1994年12月)。
【0017】オペランドの分離(operand isolatio
n):埋め込まれた組み合わせ論理ブロックの入力に透
明ラッチ及び付加的制御回路を挿入して論理ブロック
[16,7,8]のアイドル状態を検出する。制御回路
の出力は、論理ブロックの入力におけるラッチの値の変
更を不能とするために適当に用いられる。従って、前サ
イクルの入力値は、問題の論理ブロックの入力に保持さ
れ、不要な電力消費を防止する。
【0018】コントローラによるパワーマネージメン
ト:データパスにおける不要なスイッチ動作による電力
消費を最小化するように、回路の制御論理を再デザイン
する(エイ.ラーフナサン(A. Raghunathan)、エス.
デイ(S. Dey)、エヌ.ケイ.ジャー(N. K. Jha)、
ケイ.ワカバヤシ(K. Wakabayashi)、「制御フロー集
中デザインのためのパワーマネージメント技術」、Pro
c. Design Automation Conf.、429ー434頁(19
97年6月))
【発明が解決しようとする課題】従来のパワーマネージ
メント技術における問題点クロックのゲーティング及び
事前計算の上述の最初の二つの技術は、クロック網及び
入力にレジスタを有する論理ブロックのみに適用可能で
ある。従って、それらは、埋め込まれた論理ブロック、
すなわち入力が他の組み合わせ論理ブロックの出力に接
続された論理ブロックにおける省電力化に使用すること
はできない。
【0019】第3及び第4の技術であるオペランドの分
離及びコントローラによるパワーマネージメント技術
は、任意の埋め込まれた論理ブロックに適用可能であ
る。しかしながら、上述の他の従来技術と比較して本発
明に近いオペランドの分離及びコントローラによるパワ
ーマネージメント技術の使用に際しては、いくつかの問
題がある。
【0020】オペランドの分離は、以下の理由により実
際上非効率的である。
【0021】機能ユニットは全電力消費のうちの小さな
部分を消費するのにも拘わらず、多数のマルチプレクサ
等の小さな構成部材が電力消費において支配的である。
(エイ.ラーフナサン(A. Raghunathan)、エス.デイ
(S. Dey)、エヌ.ケイ.ジャー(N. K. Jha)、「レ
ジスタ転送レベルの電力最適化における不調分析及び削
減」、Proc. Design Automation Conf.、331ー33
6頁、1996年6月、参照)透明ラッチの挿入による
電力オーバーヘッドは、パワーマネージメントがマルチ
プレクサ網等のサブ回路に適用される時に得られる電力
削減と同等である。
【0022】種々のサブ回路のアイドル条件を検出する
信号は、一般的に遅れて到来する(例えば、各コントロ
ーラの状態内の縮小された条件節の存在によって、アイ
ドル状態は、データパスからの比較器の出力に依存す
る)。従って、従来のパワーマネージメント技術の適用
に課されるべきタイミングの制約(透明ラッチへのイネ
ーブル信号は、そのデータ入力の変化が可能となる前
に、収束させなければならない)は、しばしば満足され
ない。
【0023】データパス信号同様制御時における重大な
不調動作の存在は、最大の省電力を得るために把握しな
ければならない。(エイ.ラーフナサン(A. Raghunath
an)、エス.デイ(S. Dey)、エヌ.ケイ.ジャー(N.
K. Jha)、「レジスタ転送レベルの電力最適化におけ
る不調分析及び削減」、Proc. Design Automation Con
f.、331ー336頁、1996年6月、参照)。
【0024】コントローラによるパワーマネージメント
は、デザインに対する透明ラッチ等の付加的回路の追加
(回路のコントローラ部のみが再デザインされる)を避
けるとともにパワーマネージメント処理中の回路の遅延
や電力不調による消費電力の増加等の潜在的な負の効果
を把握することによって、上記の問題をある程度解消す
ることができる (エイ.ラーフナサン(A. Raghunatha
n)、エス.デイ(S.Dey)、エヌ.ケイ.ジャー(N.
K. Jha)、ケイ.ワカバヤシ(K. Wakabayashi)、「制
御フロー集中デザインのためのパワーマネージメント技
術」、Proc. Design Automation Conf.、429ー43
4頁(1997年6月)参照)。
【0025】しかしながら、コントローラによるパワー
マネージメント(ほとんどの他の公知のパワーマネージ
メント技術と同様に)は、構造的説明が与えられ又は仮
定される回路のみに適用可能である。従って、回路の既
存の構造により、電力の削減の程度が制限される。(パ
ワーマネージメントを考慮せずに)高レベル合成を通し
て手動で固定又は決定されるべき回路の構造は、パワー
マネージメントの観点からは、不十分なものである。
【0026】また、データに支配された動作の記述は、
信号及び画像処理アプリケーションにおいて共通に生
じ、演算操作の優位性に特徴付けられる。この場合、機
能ユニットの電力消費はそれらの回路の全電力消費を支
配し、この電力の大部分が機能ユニットが有用な出力を
発生しない場合に消費されることが分かった。多くが機
能ユニット入力における透明ラッチの配置を含んでいる
従来のパワーマネージメント技術は、臨界経路に沿った
回路遅延を増加させる。従って、大幅に性能を制限され
たデザインのための解決方法として許容できない。
【0027】そこで、本発明の目的は、上記の問題を解
消することにある。特に、本発明の目的は、RTLの実
行において高レベル合成におけるレジスタ共用タスクと
機能ユニットにより実行される不要な(偽の)動作との
間の関係を利用する新規な技術を提供することにある。
【0028】
【課題を解決するための手段】本発明は、動作記述の高
レベルの合成中に、パワーマネージメントの機会を増強
することに向けられている。高レベル合成は、回路の制
御データフローグラフ(CDFG)記述をレジスタ転送
レベル(RTL)の実行にコンパイルするプロセスであ
る。
【0029】
【0030】本発明の目的を達成するために 本発明の
第1の構成によれば、動作仕様からシーケンス回路を合
成する方法であって、前記シーケンス回路は、複数の変
数を有している方法において、複数の変数のうちの一乃
至複数の変数の寿命を伸長し、当該ステップの結果に基
づいてシーケンス回路内のマルチプレクサを再配置し
さらに、複数の変数のサブセットによって生起される不
必要なスイッチ動作を防止するためにレジスタを動的に
再拘束すること及びレジスタを二重化することの一方を
実行し、前記複数の変数のサブセットの値が複数の反復
サイクルで必要とされることを特徴とする方法が提供さ
れる。
【0031】本発明の第2の構成によれば、複数の機能
ユニットで構成されたシーケンス回路を合成する方法で
あって、前記機能ユニットそれぞれに複数の動作がマッ
プされ、複数の動作のそれぞれが複数の入力変数に連関
される方法であって、後続の動作の左側入力の生成時間
を計算し、前記後続動作の右側入力の生成時間を計算
し、前記の結果の最大値を変数の消滅時間として設定
し、動作に関連する前記複数の入力変数のそれぞれに対
して計算を反復し、機能ユニットにマップされた前記複
数の動作のそれぞれに対して計算を反復し、さらに、前
記機能ユニットのそれぞれに対して計算を反復する方法
が提供される。
【0032】さらに、現反復サイクルがアイドル状態で
ある場合に、現反復サイクルに関して前反復サイクルと
同一の入力を選択するためにマルチプレクサを配置する
ことができる。またさらに、前記機能ユニットにマップ
された最後の動作を特定し、前記機能ユニットにマップ
された第1の動作を特定し、前記第1の動作に対する入
力変数を選択し、最後の動作の左側入力の生成時間を特
定し、最後の動作の右側入力の生成時間を特定し、前記
生成時間の最大値が、入力変数の生成時間よりも大きい
か否かを判定し、交換により生じるオーバーヘッドが予
め選択された閾値よりも小さく、前ステップが真である
場合に、変数の割り当てを交換し、前記オーバーヘッド
が予め選択された閾値よりも大きい場合に、入力変数の
値を追加のレジスタに記憶し、前記第1の動作の全ての
入力変数のためのステップを反復し、すべての機能ユニ
ットにおいて上記の手順を反復することを特徴とする方
法が提供される。
【0033】本発明の第3の構成によれば、複数の変数
を有するシーケンス回路を合成するシステムであって、
前記システムが複数の変数の少なくとも一つの寿命を延
長させて、延長された寿命を得、前記延長された寿命に
基づいてマルチプレクサを再配置し さらに システム
が、複数の変数のサブセットによって発生される不必要
なスイッチ動作を防止するためにレジスタの動的再拘束
及びレジスタの二重化のいずれかを実行し、前記複数の
変数のサブセットの値が複数の反復サイクルで必要とさ
れることを特徴とするシステムが提供される。
【0034】
【発明の実施の形態】RTL実行を発生するための高レ
ベル合成ツールによってスケジューリング及び資源共用
が行われる回路の動作記述(behavioral description)
を考える。また、こうしたRTL実行における機能ユニ
ットを考える。機能ユニットは、これが動作記述からあ
る演算を行うために使用される制御ステップ(クロック
サイクル)中は、活性であるとされる。機能ユニット
は、他の制御ステップにおいては、アイドル状態とな
る。
【0035】機能ユニットは、アイドル状態の制御ステ
ップ中において何らの演算も行う必要がないが、RTL
実行中に機能ユニットへの入力の値が変化して、不要な
電力消費を生じる可能性がある。レジスタが共用される
要領は、機能ユニットのアイドル状態のクロックサイク
ルにおける、当該機能ユニットの不必要な電力消費に大
きく影響する。
【0036】上記の観察に対する自然で追加的な検討課
題は、機能ユニットに対するより良いパワーマネージメ
ントを可能とするために、レジスタ共用が過剰なオーバ
ーヘッドを生じることなく制限することができるか否か
である。
【0037】本発明は、レジスタの共用が電力消費に影
響を与えることの知見に基づくものである。本発明によ
る技術は、広義には、機能ユニットの古いオペランドが
十分な時間を確実に生かすために変数の寿命を伸長する
ステップと、異なるCDFGの反復における同一の変数
のコピー間の相互反復寿命の抵触を解消するように変数
を動的に再拘束するステップの二つのキーステップで構
成される。この場合、反復は、動作記述又はCDFGに
よる一組の入力の処理を示す。
【0038】機能ユニットが電力を無駄に消費しないア
ーキテクチャを生成するために、既存の高レベル合成シ
ステムに統合することができる制限されたレジスタ共用
技術が提供される。この技術は、多サイクル化、連鎖
化、構造的パイプライン機能ユニット及びCDFG中の
ループの取り扱いが可能であり、機能ユニットの選択
(動作のための機能ユニットのタイプの選択)、スケジ
ューリング、クロックの選択(クロックサイクルの選
択)、資源配置(各タイプの足源の数を決定)、資源共
用及び供給電圧のスケーリング等のいくつかの動作合成
タスクの効果の動的交換が可能な既存の電力最適化高レ
ベル合成システムのフレームワークに組み込まれる。
【0039】実験結果は、電力最適化技術と比較して、
性能の低下を生じることなく、オーバーヘッドが6.4
%未満の部分において2倍までの電力削減がなされたこ
とを示している・本発明は、動作中のクロックサイクル
においてレジスタの出力におけるスイッチ動作の最小化
を試みるエイ.ラーフナサン(A. Raghunathan)、エ
ヌ.ケイ.ジャー(N. K. Jha)、「低電力のための動
作合成(Behavioral synthesis for low power)」、Pr
oc. Int. Conf.., Computer Design、255ー270
頁、1994年10月、ジェイ.チャン(J. Chang)、
エム.ペドラム(M.Pedram)、「低電力のためのレジス
タ配置及び拘束」、Proc. DesignAutomation Conf.、2
9−35頁、1995年6月、シイ.エイチ.ゲボタイ
ス(C. H. Gebotys)、「低エネルギメモリ及びネット
ワークフローを用いたレジスタ配置」、Proc. Design,
Automation Cont.、435ー440頁に記載されている
ような低電力のための公知のレジスタ共用技術を補完す
る。
【0040】本発明は、(パワーマネージメントを考慮
していない)いかなる既存のレジスタ共用手順とともに
用いることができる。
【0041】本発明は、RTL実行における機能ユニッ
トのオペランド分離を用いる必要を置換する。データパ
ス中のマルチプレクサは、コントローラによるパワーマ
ネージメント等の手順を用いる後処理ステップとして適
当に構成されるものとする(エイ.ラーフナサン(A. R
aghunathan)、エス.デイ(S. Dey)、エヌ.ケイ.ジ
ャー(N. K. Jha)、ケイ.ワカバヤシ(K. Wakabayash
i)、「制御フロー集中デザインのためのパワーマネー
ジメント技術」、Proc. Design Automation Conf.、4
29ー434頁(1997年6月)参照)。
【0042】残りの部分の説明は、以下のように構成さ
れる。以下の「機能ユニットの電力消費におけるレジス
タ共用の効果」章は、レジスタの拘束(レジスタに対す
る変数の割り当て)がパワーマネージメント機会に対し
て多大な効果を持つことができ、どのように、多くのレ
ジスタの小さなオーバーヘッドに対して、大幅な電力の
低減または機能ユニットにおける偽のスイッチ動作を防
止できるかを示している。「完全なパワーマネージメン
ト」の章は、完全に電源管理されたアーキテクチャを規
定しており、完全なパワーマネージメントのために満足
する必要があるスケジュール及び変数の割り当てにおけ
る条件を決定する。さらに、本発明の方法及び好適実施
例について説明する。次の章は、パワーマネージメント
を容易とするために既存の高レベル合成システムに本発
明の技術を組み込む好適実施例を説明している。さら
に、次の章では、実験結果を示し、最後の章では結論が
示されている。
【0043】機能ユニットの電力消費におけるレジスタ
共用の効果 本発明の重要な構成は、より適切なレジスタの共用によ
り電力消費の低減が可能であるということである。レジ
スタ共用の効果を、以下に例を用いて説明する。ここ
で、レジスタ配置及びレジスタの拘束を行う要領は、回
路中の不要なスイッチ動作に対して大きな影響を有して
いる。さらに、不要なスイッチ動作の防止は、多数のレ
ジスタの小さなオーバーヘッドとともに、技術の組み合
わせを通じて回路のデザインから達成される。合成され
たアーキテクチャにおいてレジスタの数を増加させるこ
となく不要なスイッチ動作を防止できることを示す例を
示す。
【0044】例1: 図1に示すスケジュールされたC
DFGを考える。CDFG中の各動作は、その名称(動
作を示す各円内に示す)によって注釈をつけ、また、機
能ユニットの名称が例示され(動作を示す各円の外側に
示す)、マップされる。CDFGの各変数は、名称によ
り注釈される。クロックサイクルの境界は、破線により
示される。スケジュールは、5つの制御ステップS1〜
S5を有している。制御ステップS5は、レジスタ中の
出力値を保持するために使用され、デザインが相互作用
する環境とレジスタ間を接続して、次の反復サイクルの
ために各レジスタに対する入力値をロードする。
【0045】電力消費に対する変数の割り当ての影響を
評価するために、表1中に示される割り当て1及び割り
当て2の二つの割り当て候補を考える。これらの割り当
てを用いて得られたアーキテクチャは、論理合成最適化
(logic synthesis optimizations)が行われ、1.2
ミクロン規格コイルライブラリ(1.2 ( standard coill
ibrary)を用いて配置及び経路設定が成される。レイア
ウトから抽出されるトランジスタレベルのネットリスト
は、スイッチレベルシミュレータを用いて電力を測定す
るために標準的入力軌跡をシミュレートする。割り当て
1から合成される回路デザイン1に関して、電力消費は
30.71mWであり、割り当て2から合成される回路
デザイン2に関して、電力消費は18.96mWであ
る。
【0046】
【表1】
【0047】二つのデザインの電力消費における重要な
相違を説明するために、デザイン1及びデザイン2を構
成する機能ユニットにおけるスイッチ動作を、図2及び
図3を用いてそれぞれ分析する。これらの図において、
各機能ユニットは、ラベリングを施したボックスで示さ
れている。ボックスから延びる垂線は、CDFGの実行
の一つの反復サイクルの期間に等しい。各制御ステップ
は、(i)機能ユニットの入力側に示された記号値と
(ii)機能ユニットによって実行される演算に対応す
る動作がある場合の動作によって示される。
【0048】例えば、図2の機能ユニットMUL1は、
制御ステップs1において、変数v1及びv2が左側及
び右側の入力に示されている。制御ステップs1におい
てMUL1により実行される演算は、CDFGの動作*
1に対応している。機能ユニットの一方又は双方の入力
が変化し、電力が消費されるサイクルは、図中にシェー
ディングで示されている。各変数の変化は、新しい動作
の実行に関連している。CDFGの動作に対応していな
い不要な入力遷移が生じるサイクルは、Xで示されてい
る。
【0049】これらの動作に関連する電力消費は、デザ
インの機能性を変化させることなく防止することができ
る。機能ユニットは、両入力のいずれもが変化されない
場合には、不要な動作を行わない。機能ユニットの入力
が変化しないサイクルは、変数によりマークされていな
い。例えば、図3において、機能ユニットMUL1の入
力は制御ステップs1から制御ステップs2で変化しな
い。従って、MUL1の入力は、制御ステップs2では
マークされていない。
【0050】図2及び図3の検討から、デザイン1の構
成する機能ユニットは8つの不要な動作を実行するが、
デザイン2を構成する機能ユニットは、ただ一つの不要
な動作を実行する。これにより、二つのデザイン間の電
力消費の差が説明される。
【0051】例2:前記の例は、制限されたレジスタ共
用が不要な動作の数mを大幅に減少させることを示して
いる。この例は、変数の割り当てとの組み合わせにより
さらに不要な動作を防止する、動的レジスタの再拘束と
呼ばれる他の技術を示している。
【0052】デザイン2の機能ユニットSUB1を考え
る。図3の検討から、各反復サイクルの制御ステップs
1において不要な動作を実行する。これは、入力におい
てマルチプレクサが、現在の反復サイクルの制御ステッ
プs3から次の反復サイクルの制御ステップs1への遷
移において、変数v12が割り当てられるレジスタR5
を選択するためである。v12は、各反復サイクルの制
御ステップs1において新しい値を取得するので、SU
B1は、制御ステップs1において、v11ーv12を
計算する。ここで、v11の値は、前回の反復サイクル
の値に対応しており、v12は現在の反復サイクルの値
に対応しているので、制御ステップs1は不要な動作で
ある。ここで、v12ではなくSOB1の入力において
v3を選択したとしても、この問題は残る。これは、制
御ステップs1の最後でv3が発生され、SUB1はv
3の古い値によりv11−v3を評価するためである。
なお、不要な動作を防止するために、現在の反復サイク
ルで、v3の新しい値が生じるまで、SUB1の入力に
おいて、(前回の反復サイクルからの)v12の古い値
を保持しておく必要がある。
【0053】この場合、交互の反復サイクルにおいて、
レジスタR5及びR6への変数の割り当てを交換するこ
とによって、使用するレジスタの数を増加させることな
く、不要な動作を防止することができる。偶数番目の反
復サイクルにおいては、v3がR6にマップされ、v1
2がR5にマップされ、奇数番目の反復サイクルでは、
変数の割り当てが逆になる。
【0054】図4は、デザインにより実行される三つの
反復サイクルにわたるこの変換を示している。図4にお
いて、SUB1の右側入力を示す線は、選択された変数
を持つレジスタにより注釈される。図4に示すように、
レジスタR6は、反復サイクルiにおいて変数v12を
格納し、反復サイクルi+1ではv3を格納する等を行
う。反復サイクルi+1においてレジスタR6はv3を
格納するので、v3が発生するまで、古いv12の値が
SUB1の入力に保持され、図3に示すように、Xでマ
ークされた不要な動作を防止する。
【0055】上記の例1,2において、レジスタの数が
わずかに増加するため、不要な動作を大幅に減少し又は
防止することが可能である。しかしながら、ときとし
て、以下の例に示すように、レジスタを増加させること
なく、不要な動作を防止することが可能となる。
【0056】例3: 図5に示すスケジュールされたC
DFGを考える。以下の表2は、同数のレジスタの持
つ、割り当て1及び割り当て2の二つの割り当て候補を
示している。合成時において、2つのデザインに対応す
るアーキテクチャは、電力消費を決定するために標準的
な入力によりシミュレートされる。
【0057】
【表2】
【0058】割り当て1の変数割り当てを用いて構成さ
れたアーキテクチャは、42.86mWの電力を消費
し、割り当て2の変数割り当てを用いて構成されたアー
キテクチャは、34.05mWの電力を消費する。割り
当て1から得られたデザインは、機能ユニットMUL1
がサイクルs2及びs3において不要な動作を実行し、
機能ユニットADD1はサイクルs4において不要な動
作を実行する。割り当て2から得られたデザインは、不
要な動作を行わないように、変数の割り当てが選択され
る。
【0059】上記の例は、慎重な変数の割り当てが、不
要な動作の防止における重要な要素であることを示して
いる。本発明は、機能ユニットの不要な動作の防止を目
的とするものである。本発明による技術を適用して形成
されるアーキテクチャは、アーキテクチャの機能ユニッ
トが、不要な動作を実行しないので、すなわち機能ユニ
ットにおいて実行される動作は、CDFGにおいて必要
な有効なものであるので、完全に電源管理されたものと
なる。
【0060】以下の章においては、スケジューリング及
び変数割り当ての条件が得られる。この条件が満足され
ると、これらの条件により、完全に電源管理されたアー
キテクチャが得られる。これらの条件の、既存の電力最
適化高レベル合成システムへの組み込みも示される。
【0061】完全なパワーマネージメント 本発明のもう一つの重要な特徴は、それが満足されたと
きに完全なパワーマネージメントを確実に得ることがで
きる条件を特定することである。この章では、こうした
条件が導出される。
【0062】それぞれの時間ステップt1、t
2....t(i−1)及びtiにスケジュールされた
動作op1、op2、....op(i−1)及びop
iを実行するタイプopの動作を行う機能ユニットfu
を考える。動作opjには、その左側及び右側入力に変
数vj_1及びvj_2が供給され、変数vj_out
が発生される。fuは、いずれかの入力に変化が生じた
場合に、電力を消費する。全電力消費は、fuのポート
の変数の一方または双方変化するサイクルにおいては、
以下の式(1)により表現される。
【0063】
【数1】
【0064】ここで、vj'_1 (vj'_2)は、変化前のf
uの左側(右側)入力における変数であり、v(j+1)'_
1 (v(j+1)'_2)は、新しい変数であり、P(vj'_1, v
(j+1)'_1, vj'_2, v(j+1)'_2)は、変数の変化に関
連する電力消費である。
【0065】従って、機能ユニットの入力における変数
は、ダッシュ付きで示されており、動作を行わせる変数
はダッシュなしで示されている。機能ユニットを操作さ
せる変数は、マップされた動作を行わせる変数に置き換
えられる。例えば、機能ユニットfulの入力に現れる
変数が、左側及び右側入力を供給するレジスタR1及び
R2に応じて動作op1(入力v1_1及びv1_2)を行うも
のと仮定する。v1_1及びv3_1がR1にマップさ
れ、v1_2及びv2_2がR2にマップされると仮定
すると、v1_1,v3_1,v1_2,v2_2が機
能ユニットの入力に現れる。これらの変数は、ダッシュ
付きの変数を示す、それらのサブセットは、v1_1及
びv1_2に対応している。一般に、P(vj'_1, v(j+
1)'_1, vj_2, v(j+1)'_2)は、機能ユニットの実行
及び変数vj'_1, v(j+1)'_1, vj_2, v(j+1)'_2に関
連する信号統合に依存する。例えば、op(vj’_
1,vJ’_2)がCDFGにおいては必要とされない
等のfuの左側及び右側入力に同時に生じる変数のいず
れかのペアー{vj_1,vj’_2}は、不要な動作
を構成し、この変化によって生じる動作は、回路の機能
性を変更することなく排除することができる。全てのこ
うした不要な動作が排除されると、例4に示すように、
アーキテクチャは、完全に電源管理されたものとなる。
【0066】例4: 図6は、左側に、不完全に電源管
理されたアーキテクチャの機能ユニットを示し、右側
に、本発明による完全に電源管理されたアーキテクチャ
の機能ユニットを示している。機能ユニットの左右の入
力の線は、時間軸を示しており、入力変数及びその発生
サイクルによって注釈されている。各バーは、入力値の
変化に対応し、電力が消費されるサイクルを示してい
る。図6に示すように、完全に電源管理されたアーキテ
クチャの場合、全ての電力消費をともなう入力の変化
は、CDFGにおいて必要な動作に対応している。
【0067】完全なパワーマネージメントのための条件 以下の3つの条件は、完全なパワーマネージメントを保
証するために十分である。
【0068】全ての反復サイクルにおいてfuの左側入
力に現れる一連の値は、v1_1,v2_1、...,
vi_1に対応する。
【0069】全ての反復サイクルにおいてfuの右側入
力に現れる一連の値は、v1_2,v2_2、...,
vi_2に対応する。
【0070】全てのクロックサイクルにおいて、fuの
入力における値が、いくつかの対(vj_1,vj_
2)、1≦j≦iに対応する。
【0071】上述の状態において、機能ユニットにおい
て実行される全ての動作は有用な出力を発生し、不要な
動作が導入されず、しかして確実に完全なパワーマネー
ジメントを達成する。満足されるべき三つの条件に関し
て、機能ユニットの左右の入力のマルチプレクサは、そ
れぞれ変数vj_1及びvj_2をv(j+1)_1及
びv(j+1)_2が使用可能となるまで選択する。な
お、ここで、1≦j≦iである。これは、vj_1及び
vj_2の値が、レジスタにおいて使用可能であり、そ
れらが最大(birth(v(j+1)_1),bir
th(vj+1)_2)となるまで割り当てられる。こ
こで、birth(vi_k)は、vi_kの生成時間
である。
【0072】しかしながら、ある場合、この要領による
変数の寿命(変数の発生から消滅までの間隔)の伸張
は、以下の章において説明するように、満足されない結
果となる場合がある。
【0073】レジスタの動的再拘束 図7は、CDFG実行中の2つの反復サイクルに亘って
機能ユニットfuにより実行される動作を示している。
反復サイクルにおいてfuによって実行される一連の動
作は、op1、op2,...,opiである。変数v
i_1は、サイクルmで生成され、変数v1_1はサイ
クルnにおいて生成される。ここで、m<nである。こ
の場合、不要な動作の実行を防止するために、v1_1
の新しい値が、fuの左側入力のvi_1に続いて発生
される。従って、vi_1が、サイクルnまで、左側入
力において選択されなければならない。
【0074】しかしながら,vi_1は、サイクルmに
おいて新しい値を獲得するので、機能ユニットは、サイ
クルmにおいて、不必要なスイッチ電力を消費する。従
って、完全なパワーマネージメントのために、vi_1
の新しい値は、古い値を不要になるまで保持するため
に、別のレジスタに格納されることが必要となる。従っ
て、CDFGの実行の異なる反復サイクルにおいて発生
された同一の変数の異なる値は、別のレジスタにマッピ
ングしなければならない。これは、vi_1の新しい値
をfuへの供給が可能となるまで、スペアのレジスタに
バッファすることにより、余分なレジスタを設けること
により容易に行うことができる。本発明のもう一つの特
徴は、この問題に対して、レジスタのオーバーヘッドの
ない、レジスタの動的再拘束と呼ばれる解決策を提供す
るもので、以下にこれを説明する。
【0075】R1及びR8は、v1_1及びV1_1が
マッピングされたレジスタを示している。CDFGの交
互の反復サイクルにおいて、レジスタR1及びR8の変
数の割り当てを交換する。すなわち、偶数番目の反復サ
イクルにおいて、S1がR1にマッピングされた変数の
組であり、S8がR2にマッピングされた変数の組であ
る。他方、奇数番目の反復サイクルにおいて、S1(S
8)の変数は、R2(R1)にマッピングされる。この
シナリオにおいて、vi_1の古い値は、v1_1が生
成されるまで、R2内に保持される。これによって、f
uにおける不要なスイッチ動作が行われないことが保証
される。しかしながら、初期にR1(R,)を動作させ
る全ての機能ユニットがR2(R1)をも動作させるも
ので、初期にR1(R8)により動作される全ての機能
ユニットがR2(R1)によっても動作させられるの
で、この解決策には、余分なデータパスを相互接続する
必要がある。
【0076】実際上、4の閾値までの相互接続のオーバ
ーヘッド(付加される複数の2対1マルチプレクサの数
で測定される)に対して、上記の方法が適合している。
4を越える相互接続におけるオーバーヘッドに対して
は、レジスタの二重化のほうが望ましい。この閾値は、
電力予測実験に基づくものである。
【0077】アルゴリズム 前述の制限されたレジスタ共用の技術、レジスタの動的
再拘束及びレジスタの二重化は、いかなる高レベル合成
システムにも組み込むことができる。この章において
は、電源を最適化された高レベル合成システムとの関係
における完全なパワーマネージメントのアルゴリズムが
提供される(エイ.ラーフナサン(A. Raghunathan)、
エヌ.ケイ.ジャー(N. K. Jha)、「低電力データパ
ス合成のための反復性改善アルゴリズム」、Proc. Int.
Conf. Computer Aided Design、597−602頁、1
995年11月参照)。システムの概略を説明し、次い
で完全に電源管理されたアーキテクチャの生成に必要な
変更について説明する。
【0078】図8は、高レベル合成システムの基本ステ
ップを示し、局部最小(local minima)を回避する反復
性改善技術に基づいている。システムは、CDFGの動
作としてコンパイルされる動作記述、地域(area)、日
及び電力に対して予め特徴づけられたモジュールのライ
ブラリ、電力予測を容易とする一般的入力軌跡(input
trace)及びサンプリング期間(連続する入力の反復サ
イクル間の時間間隔)等の入力を許容する。
【0079】合成は、適正なクロック期間の組及び供給
電圧の特定により810で開始される。こうした組に対
して、820において初期の解の偏差によって合成が開
始される。完全なスケジューリング、配置及び拘束され
た情報が、一連の動作の適用によって変換される(個別
の動作は、負のゲインを持つことができる)。
【0080】830−860中の「動き」は、データパ
ス中の機能ユニットの状態を異なるタイプのものに置き
換え、一対の機能ユニットまたはレジスタを一つに併合
し、又は一つの機能ユニットまたはレジスタを複数の機
能ユニットまたはレジスタに分割する。これらの動きの
電力に対する影響が評価され、サンプリングの制限を阻
害しない最も電力効率の高い一連の動きが行われる。
【0081】図8において ステップ830、840、
880は、完全なパワーマネージメントを組み込むため
に変更する必要のある合成ステップを示している。パワ
ーマネージメント技術は、これらのステップに適用され
る。最初の二つのステップ830,840は、動き選択
手順(move-selection procedures)に属し、三番目の
ステップ880は、反復性改善(iterative improvemen
t)の後に生じる。最初の二つのステップは、CDFG
の各反復サイクルにおいて完全なパワーマネージメント
を確実にするが、前章において説明した反復サイクル内
部を無視する。合成ステップの後の第3番目のステップ
は、反復サイクル内部の問題を是正することを意図する
ものである。
【0082】完全なスケジュール及びデータパスは、ア
ルゴリズムの各ステップに存在する即ち各動きの適用の
前後に存在する。モジュールの選択、資源の共用または
資源の分割の動きを考える場合、結果として構成される
アーキテクチャは、有効なスケジュールが確実に存在す
るようにするために、最初にスケジュールされる。アー
キテクチャがスケジュールされた後に、可変寿命は、不
要な動作が確実に排除されていることを必要とする反復
サイクル内部の延長が可変寿命においてなんらかの抵触
を生じるか否かを判別するために、チェックされる。
【0083】各変数は別のレジスタにマップされている
ので、初期の解決方法は、不要な動作が存在しないこと
に特徴づけられる。不要な動作を示すアーキテクチャ
は、拒絶される。一般に、不要な動作は、異なるレジス
タを一つに併合しようとするときにのみ生じる。従っ
て、この制限は、実際上、機能ユニットの共用や分離又
はモジュール選択のための動きには影響を与えない。こ
こで、機能ユニットにマップされた前回の動作の入力変
数(生成順で昇順)は、次の反復サイクルにおいて、も
との反復サイクルで機能ユニットにマップされた全ての
変数が生成されるまで、生きた状態に保持されるか否か
は決定されない。これは、この問題がこの段階で検出さ
れ、解決されたとしても、反復サイクルの改善の一つの
動きの間に、レジスタの追加や反復サイクル内の割り当
ての交換によって問題を解消したとしても、移行の動き
があるため不十分になったり、重複したりすることとな
るためである。
【0084】チェック手順のための疑似コードが、図9
に示されている。外側ループは、データパスを構成する
機能ユニットの遷移(traversal of functional unit)
を示している。機能ユニットにマップされた動作は、生
成順位の増加に従って遷移する。動作opの各入力変数
vは、確実にopの直後の動作の最も新しく到来した入
力の生成時まで消滅時期(death time)を延長できるよ
うにチェックされる。その場合、当該機能ユニットの入
力に設けられたマルチプレクサはopの最も新しく到来
する入力が生成されるまで、適当な入力に現れるように
変数vを選択する。さもなくば、アーキテクチャは、完
全に電源管理可能ではないと見なされ、他のアーキテク
チャが検討される。初期のアーキテクチャは、このサブ
ルーチンがチャックする種類の不要な動作が行われない
ことを保証するので、本発明の合成アルゴリズムは、常
に有効な解決方法を得ることができるものとなる。
【0085】反復サイクル内部の依存性によって生じる
問題は、反復性改善が終了すれば解消する。反復サイク
ル内部の依存性を取り扱うための手順のための疑似コー
ドは、図10に示されており、合成サイクルの最後から
2番目のステップに対応する図8のシェーディングを施
したステップに対応する。前述のように、出力ループ
は、データパス中の機能ユニットの遷移(traversals)
を示している。この場合、機能ユニットにマップされた
最初及び最後に生成される動作が注目される。最後に生
成された動作に対する入力変数が最初に生成された動作
に対して最後に到来した入力の生成時間よりも少ない生
成時間(birth time less than)を有している場合、ア
ーキテクチャは、完全には電源管理されない。この問題
は、レジスタの二重化または反復サイクル内部の変数の
交換によって取り扱われる。
【0086】図11に示すフローチャートは、本発明の
実施例を示している。このフローチャートは、それ自体
で理解可能である。
【0087】実験結果 本発明の好適実施例は、電源を最適化する高レベル合成
システムSCALPのフレームワーク内で実行される
(エイ.ラーフナサン(A. Raghunathan)、エヌ.ケ
イ.ジャー(N. K. Jha)、「低電力データ通路合成の
ための反復性改善アルゴリズム」、Proc. Int. Conf. C
omputer Aided Design、597−602頁、1995年
11月参照)。信号及び画像処理アプリケーションのい
くつかの動作記述を用いた実験により、本発明の技術を
評価する。
【0088】変更されたSCALPは、CDFGの原文
の記述を読み込み、Vddの選択(Vddsection)、クロッ
ク選択、機能ユニットの選択、スケジューリング、資源
配置、拘束(binding)を行い、最終的に、データパス
のネットリスト及びコントローラの有限状態機械記述
(finite-state machine description of the controll
er)で構成される電源を最適化された完全に電源管理さ
れたアーキテクチャが得られる。コントローラ及びデー
タパスネットリストは、SIS論理合成システムを用い
てMSU標準セルライブラリに併合され、マップされ
る。配置及び経路形成は、OCTTOOLSスィート
(suite)からのツールを用いて行われる。
【0089】レイアウトから抽出されたスイッチレベル
回路は、スイッチレベルシミュレータ、IRSIM−C
APを用いてシミュレートされ、切り替えられた容量が
記録され、電力消費の予測に用いられる。レイアウトに
基づくシミュレーションから電源消費が予測されるの
で、コントローラの電源、故障電源(glitching powe
r)、相互接続電源、クロック電源等の高レベルでは容
易に考慮することができないものを正確に予測すること
ができる。シミュレーションに用いる入力シーケンス
は、まず、ゼロ平均ガウス形シーケンス(zero-mean Ga
ussian sequence)を発生し、自己回帰型フィルタを介
してその結果を通過させて、一時的な相関の所望レベル
を導入する。
【0090】表3は、得られた実験結果を示している。
第1欄は、回路名を示している。ベンチマークとして、
ポーリン・ツング及びドットプロッド(Paulin Tseng,
andDot prod)は、公知の高レベル合成ベンチマークで
ある。ラット及びフィアー(Lat and Fir)は、ハイパ
ー分配(HYPER distribution)の一部である(ジェイ.
ラバエイ(J. Rabaey)、シイ.チュー(C. Chu)、ピ
イ.ホアン(P. Hoang)、エム.ポットコンジャク(M.
Potkonjak)、「データ経路集約型アーキテクチャのし
っかりしたプロトタイプ化(Fast prototyping of data
path intensive architectures)」、IEEE Design 4 T
est of Computers、40−51頁、1991年2月参
照)。テスト1は例3に示すCDFGである。
【0091】
【0092】
【表3】
【0093】主欄P及びAは、完全なパワーマネージメ
ントなしにまたは完全なパワーマネージメントを用いて
合成された電力消費及び回路面積を示している。なお、
回路中のマルチプレクサ及びレジスタへの制御信号は、
171に存在する技術を用いてデザインの電力消費の最
適化するために特定される。副欄SCALP及びPPM
は、それぞれ(パワーマネージメントの補助なしに)変
更されないSCALP及び本発明の技術によって最適化
されたアーキテクチャを示している。P.S.及びA.
O.の欄は、変更されないSCALPから得られる電源
を最適化されたデザインに対する完全に電源管理された
デザインの省電力及び面積のオーバーヘッドを示してい
る。合成されたデザインのサイクル時間は、25nsに
固定され、SCALPのサンプル時間及び完全に電源管
理されたデザインは、同一に制限される。得られた結果
は、同一の遅れに対して、わずか1.89%の平均面積
オーバーヘッドを達成する既存の電力を最適化された回
路に対して、本発明は、26.045%の平均電力削減
を達成する。
【0094】結論 本発明において、データに支配された回路を構成する機
能ユニットの不要なスイッチ動作を防止するように構成
された完全なパワーマネージメントの概念が提供され
る。変数がレジスタに割り当てられる領域が不要な動作
の存在に対して重大な影響を与えうることが実証されて
いる。その満足が、データパスを構成する機能ユニット
内の不要な動作がないことを保証する変数割り当て条件
が決定される。機能ユニット内の不要なスイッチ動作を
防止するために既存の高レベル合成システムに併合する
ことが可能なこれらの条件に基づくアルゴリズムがもう
けられる。既存の高レベル合成システムのフレームワー
ク内で本発明を実施することにより、合成アーキテクチ
ャの性能を低下させることなく、6.4%を越えない面
積オーバーヘッドにおける2倍までの省電力を実証する
電力の最適化が図られている。
【0095】本発明の他の変更及び変数は、前記の開示
内容及び技術から当業者において明らかである。従っ
て、本発明のいくつかの実施例について具体的に説明し
たが、本発明の要旨を逸脱することなく種々の変更が可
能である。
【0096】
【発明の効果】以上説明したように、本発明によれば、
RTLの実行において高レベル合成におけるレジスタ共
用タスクと機能ユニットにより実行される不要な(偽
の)動作との間の関係を利用することにより、データに
支配された回路を構成する機能ユニットの不要なスイッ
チ動作を防止するように構成された完全なパワーマネー
ジメントの概念が提供される。
【図面の簡単な説明】
【図1】 スケジュールされたCDFGを示す図であ
る。
【図2】 従来技術を用いたデザインのためのスイッチ
動作の概略を示す図である。
【図3】 本発明を用いたデザインのためのスイッチ動
作の概略を示す図である。
【図4】 シーケンスのデザインを実行する3回の反復
にわたる変換を示す図である。
【図5】 本発明の他の実施態様によるスケジュールさ
れたCDFGを示す図である。
【図6】 左側に不完全に電源管理がなされたアーキテ
クチャを持つ機能ユニットを示し、右側に完全に電源管
理されたアーキテクチャを持つ機能ユニットを示す図で
ある。
【図7】 CDFGの実行の2回の反復にわたって機能
ユニットfuによって実行される動作を示す図である。
【図8】 本発明の技術を用いる高レベル合成の基本ス
テップを示す図である。
【図9】 本発明によるチェック手順のための疑似コー
ドを示す図である。
【図10】 本発明による相互反復依存性を取り扱う手
順のための疑似コードを示す図である。
【図11】 本発明の見かけの実施例を示すフローチャ
ートである。
フロントページの続き (72)発明者 アナンド ラグナサン アメリカ合衆国,ニュージャージー 08540,プリンストン,4 インディペ ンデンス ウェイ エヌ・イー・シー・ ユー・エス・エー・インク内 (72)発明者 スジット デイ アメリカ合衆国,ニュージャージー 08540,プリンストン,4 インディペ ンデンス ウェイ エヌ・イー・シー・ ユー・エス・エー・インク内 (72)発明者 ガネッシュ ラクシュ USA 08544 ニュージャージ州プリ ンストンピーオーボックス36 ニューサ ウスビルディング プリンストン ユニ バーシティ内 (72)発明者 ニラージュ ジャー USA 08544 ニュージャージ州プリ ンストンピーオーボックス36 ニューサ ウスビルディング プリンストン ユニ バーシティ内 (56)参考文献 特開 平5−197774(JP,A) 特開 平10−283380(JP,A) 特開 平10−154172(JP,A) 特開 平10−63713(JP,A) 特開 平3−137774(JP,A) 本間啓道、今井正治、武内良典,”特 定用途向き集積化プロセッサのレジスタ 数最適化アルゴリズム”,情報処理学会 研究報告(96−ARC−121),平成8 年12月,第96巻,第121号,p.33−40 (58)調査した分野(Int.Cl.7,DB名) G06F 17/50 H01L 21/82

Claims (4)

    (57)【特許請求の範囲】
  1. 【請求項1】 複数の変数を有しているシーケンス回路
    を動作仕様から合成する方法であって、 a)複数の変数のうちの一乃至複数の変数の寿命を伸長
    し、 b)前記のステップaの結果に基づいてシーケンス回路
    内のマルチプレクサを再配置し、 前記複数の変数のサブセットによって生起される不必要
    なスイッチ動作を防止するためにレジスタを動的に再拘
    束すること及びレジスタを二重化することの一方を実行
    し、前記複数の変数のサブセットの値が複数の反復サイ
    クルで必要とされることを特徴とする方法。
  2. 【請求項2】 複数の機能ユニットで構成されたシーケ
    ンス回路を合成する方法であって、前記機能ユニットそ
    れぞれに複数の動作がマップされ、複数の動作のそれぞ
    れが複数の入力変数に連関される方法であって、 a)機能ユニットを選択し、 b)ステップaの機能ユニットにマップされた動作を選
    択し、 c)ステップbの前記動作に連関された変数を選択し、 d)ステップbの前記動作の後続の動作の左側入力の第
    1の生成時間を計算し、 e)ステップdの前記後続動作の右側入力の第2の生成
    時間を計算し、 f)前記第1の生成時間と前記第2の生成時間を最大と
    する変数の消滅時間を設定し、 g)ステップbの前記動作に関連する前記複数の入力変
    数のそれぞれに対してステップc乃至fを反復し、 h)ステップaの機能ユニットにマップされた前記複数
    の動作のそれぞれに対してステップb乃至gを反復し、 i)前記機能ユニットのそれぞれに対してステップa乃
    至hを反復し、 j)現反復サイクルがアイドル状態である場合に、現反
    復サイクルに関して前反復サイクルと同一の入力を選択
    するためにマルチプレクサを配置することを特徴とする
    方法。
  3. 【請求項3】 複数の機能ユニットで構成されたシーケ
    ンス回路を合成する方法であって、前記機能ユニットそ
    れぞれに複数の動作がマップされ、複数の動作のそれぞ
    れが複数の入力変数に連関される方法であって、 a)機能ユニットを選択し、 b)ステップaの機能ユニットにマップされた動作を選
    択し、 c)ステップbの前記動作に連関された変数を選択し、 d)前記第2の機能ユニットにマップされた最後の動作
    を特定し、 e)前記第2の機能ユニットにマップされた第1の動作
    を特定し、 f)前記第1の動作に対する入力変数を選択し、 g)最後の動作の左側入力の第3の生成時間を特定し、 h)最後の動作の右側入力の第4の生成時間を特定し、 i)前記第3の生成時間及び前記第4の生成時間の最大
    値が、ステップfの入力変数の生成時間よりも大きいか
    否かを判定し、 j)交換により生じるオーバーヘッドが予め選択された
    閾値よりも小さく、ステップiが真である場合(すなわ
    ち、入力変数の生成時間よりも大きい場合)に、変数の
    割り当てを交換し、 k)前記オーバーヘッドが予め選択された閾値よりも大
    きく、ステップiが真である場合(すなわち、入力変数
    の生成時間よりも大きい場合)に、ステップnの入力変
    数の値を追加のレジスタに記憶し、 l)前記最後の動作に対応するすべての入力変数に対し
    てステップf−kを反復し、 m)すべての機能ユニットに対してステップa−lを反
    復し、 n)現反復サイクルがアイドル状態である場合に、現反
    復サイクルに関して前反復サイクルと同一の入力を選択
    するためにマルチプレクサを配置することを特徴とする
    方法。
  4. 【請求項4】 複数の変数を有するシーケンス回路を合
    成するシステムであって、前記システムが複数の変数の
    少なくとも一つの寿命を延長させて、延長された寿命を
    得、前記延長された寿命に基づいてマルチプレクサを再
    配置し、 かつ、前記システムが、複数の変数のサブセットによっ
    て発生される不必要なスイッチ動作を防止するためにレ
    ジスタの動的再拘束及びレジスタの二重化のいずれかを
    実行し、前記複数の変数のサブセットの値が複数の反復
    サイクルで必要とされることを特徴とするシステム。
JP37681398A 1997-12-23 1998-12-24 低電力vlsiデザインのための制限付きレジスタ共用方法及びそのシステム Expired - Lifetime JP3150122B2 (ja)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US6856697P 1997-12-23 1997-12-23
US09/089,388 US6195786B1 (en) 1997-12-23 1998-06-03 Constrained register sharing technique for low power VLSI design
US09/089,388 1998-06-03
US60/068,566 1998-06-03

Publications (2)

Publication Number Publication Date
JP2000057201A JP2000057201A (ja) 2000-02-25
JP3150122B2 true JP3150122B2 (ja) 2001-03-26

Family

ID=26749099

Family Applications (1)

Application Number Title Priority Date Filing Date
JP37681398A Expired - Lifetime JP3150122B2 (ja) 1997-12-23 1998-12-24 低電力vlsiデザインのための制限付きレジスタ共用方法及びそのシステム

Country Status (3)

Country Link
US (1) US6195786B1 (ja)
JP (1) JP3150122B2 (ja)
DE (1) DE19860062A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10684862B2 (en) 2016-01-08 2020-06-16 Mitsubishi Electric Corporation Processor synthesis device, processor synthesis method, and computer readable medium

Families Citing this family (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6275969B1 (en) * 1999-06-09 2001-08-14 Nec Usa, Inc. Common case optimized circuit structure for high-performance and low-power VLSI designs
JP2001014368A (ja) * 1999-06-30 2001-01-19 Mitsubishi Electric Corp クロック解析装置およびクロック解析方法
JP3370304B2 (ja) * 2000-01-28 2003-01-27 シャープ株式会社 高位合成システム、高位合成方法、および、高位合成方法の実施に使用される記録媒体
JP3386427B2 (ja) * 2000-01-28 2003-03-17 シャープ株式会社 高位合成方法並びに高位合成方法の実施に使用される記録媒体
US6611952B1 (en) * 2000-12-21 2003-08-26 Shiv Prakash Interactive memory allocation in a behavioral synthesis tool
US7302670B2 (en) * 2000-12-21 2007-11-27 Bryan Darrell Bowyer Interactive interface resource allocation in a behavioral synthesis tool
JP2002366596A (ja) * 2001-06-11 2002-12-20 Sharp Corp 高位合成装置および高位合成方法、高位合成方法による論理回路の製造方法、記録媒体
JP4007483B2 (ja) * 2001-07-16 2007-11-14 シャープ株式会社 高位合成装置および高位合成方法
JP4082653B2 (ja) * 2001-11-15 2008-04-30 松下電器産業株式会社 高位合成方法および高位合成装置
WO2003077184A1 (en) * 2002-03-08 2003-09-18 Mentor Graphics Corporation Array transformation in a behavioral synthesis tool
GB0210624D0 (en) * 2002-05-09 2002-06-19 Paradigm Design Systems Method of designing and making an integrated circuit
JP4153732B2 (ja) * 2002-06-19 2008-09-24 株式会社東芝 ハードウェア動作記述変換方法及びそのためのプログラム
US6754878B1 (en) * 2003-03-27 2004-06-22 Xilinx, Inc. Recognizing structure information from a netlist
US7725848B2 (en) * 2005-01-27 2010-05-25 Wolfgang Nebel Predictable design of low power systems by pre-implementation estimation and optimization
WO2005114499A1 (en) * 2004-05-24 2005-12-01 Matsushita Electric Industrial Co., Ltd Method and apparatus for allocating data paths
US7275232B2 (en) * 2005-04-01 2007-09-25 Altera Corporation Methods for producing equivalent field-programmable gate arrays and structured application specific integrated circuits
KR100650866B1 (ko) * 2005-12-27 2006-11-28 동부일렉트로닉스 주식회사 논리 셀 라이브러리 검증 시스템 및 방법
US7735050B2 (en) * 2006-02-09 2010-06-08 Henry Yu Managing and controlling the use of hardware resources on integrated circuits
US7509606B2 (en) * 2006-04-25 2009-03-24 International Business Machines Corporation Method for optimizing power in a very large scale integration (VLSI) design by detecting clock gating opportunities
JP5023652B2 (ja) * 2006-10-17 2012-09-12 日本電気株式会社 回路生成システム、回路生成方法及び回路生成プログラム
US7882461B2 (en) 2007-05-29 2011-02-01 Magma Design Automation, Inc. Method for optimized automatic clock gating
US7958476B1 (en) * 2007-07-10 2011-06-07 Magma Design Automation, Inc. Method for multi-cycle path and false path clock gating
JP2010205084A (ja) * 2009-03-04 2010-09-16 Renesas Electronics Corp 動作合成システム、動作合成方法、動作合成プログラム
US8161434B2 (en) 2009-03-06 2012-04-17 Synopsys, Inc. Statistical formal activity analysis with consideration of temporal and spatial correlations
SG188112A1 (en) 2009-10-30 2013-03-28 Semiconductor Energy Lab Logic circuit and semiconductor device
KR101506304B1 (ko) 2009-11-27 2015-03-26 가부시키가이샤 한도오따이 에네루기 켄큐쇼 반도체 장치 및 반도체 장치의 제작방법

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5696692A (en) * 1995-04-24 1997-12-09 Cadence Design Systems, Inc. Conditional selection method for reducing power consumption in a circuit
US5649166A (en) * 1995-04-24 1997-07-15 Cadence Design Systems, Inc. Dominator selection method for reducing power consumption in a circuit
US5682519A (en) * 1995-04-24 1997-10-28 Cadence Design Systems, Inc. Method for reducing power consumption of switching nodes in a circuit
US5831864A (en) * 1996-10-31 1998-11-03 Trustees Of Princeton University Design tools for high-level synthesis of a low-power data path
US6038381A (en) * 1997-11-25 2000-03-14 Synopsys, Inc. Method and system for determining a signal that controls the application of operands to a circuit-implemented function for power savings

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
本間啓道、今井正治、武内良典,"特定用途向き集積化プロセッサのレジスタ数最適化アルゴリズム",情報処理学会研究報告(96−ARC−121),平成8年12月,第96巻,第121号,p.33−40

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10684862B2 (en) 2016-01-08 2020-06-16 Mitsubishi Electric Corporation Processor synthesis device, processor synthesis method, and computer readable medium

Also Published As

Publication number Publication date
US6195786B1 (en) 2001-02-27
JP2000057201A (ja) 2000-02-25
DE19860062A1 (de) 1999-07-01

Similar Documents

Publication Publication Date Title
JP3150122B2 (ja) 低電力vlsiデザインのための制限付きレジスタ共用方法及びそのシステム
Coussy et al. GAUT: A High-Level Synthesis Tool for DSP Applications: From C Algorithm to RTL Architecture
Cong et al. A fully pipelined and dynamically composable architecture of CGRA
US7162704B2 (en) Method and apparatus for circuit design and retiming
Piccolboni et al. COSMOS: Coordination of high-level synthesis and memory optimization for hardware accelerators
US7530047B2 (en) Optimized mapping of an integrated circuit design to multiple cell libraries during a single synthesis pass
US6496972B1 (en) Method and system for circuit design top level and block optimization
JP3331968B2 (ja) グリッチ分析と低減に重点をおいたレジスタトランスファレベルの電力消費最適化回路、方法、及び記録媒体
US20070219771A1 (en) Branching and Behavioral Partitioning for a VLIW Processor
Gschwind et al. FPGA prototyping of a RISC processor core for embedded applications
Pelkonen et al. System-level modeling of dynamically reconfigurable hardware with SystemC
US20130179142A1 (en) Distributed parallel simulation method and recording medium for storing the method
US20050268268A1 (en) Methods and systems for structured ASIC electronic design automation
Kapadia et al. Reducing switching activity on datapath buses with control-signal gating
JP2007034887A (ja) ハイレベル合成コンパイラ用のシフトレジスタファイルを自動生成するための方法および装置
Lakshminarayana et al. Power management in high-level synthesis
Cortadella et al. RTL synthesis: From logic synthesis to automatic pipelining
Vahid et al. Functional partitioning improvements over structural partitioning for packaging constraints and synthesis: tool performance
Schliebusch et al. A framework for automated and optimized ASIP implementation supporting multiple hardware description languages
Lakshminarayana et al. A power management methodology for high-level synthesis
US11308025B1 (en) State machine block for high-level synthesis
Chu et al. A New Design Methodology for Composing Complex Digital Systems
Hyun et al. Allocation of multibit retention flip-flops for power gated circuits: Algorithm-design unified approach
Fanni Power and Energy Management in Coarse-Grained Reconfigurable Systems: methodologies, automation and assessments
Lloyd et al. Asynchronous microprocessors: From high level model to FPGA implementation

Legal Events

Date Code Title Description
FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20080119

Year of fee payment: 7

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

Free format text: PAYMENT UNTIL: 20090119

Year of fee payment: 8

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

Free format text: PAYMENT UNTIL: 20100119

Year of fee payment: 9

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

Free format text: PAYMENT UNTIL: 20110119

Year of fee payment: 10

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

Free format text: PAYMENT UNTIL: 20110119

Year of fee payment: 10

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

Free format text: PAYMENT UNTIL: 20120119

Year of fee payment: 11

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

Free format text: PAYMENT UNTIL: 20130119

Year of fee payment: 12

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

Free format text: PAYMENT UNTIL: 20130119

Year of fee payment: 12

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

EXPY Cancellation because of completion of term