JP3331968B2 - グリッチ分析と低減に重点をおいたレジスタトランスファレベルの電力消費最適化回路、方法、及び記録媒体 - Google Patents

グリッチ分析と低減に重点をおいたレジスタトランスファレベルの電力消費最適化回路、方法、及び記録媒体

Info

Publication number
JP3331968B2
JP3331968B2 JP15448998A JP15448998A JP3331968B2 JP 3331968 B2 JP3331968 B2 JP 3331968B2 JP 15448998 A JP15448998 A JP 15448998A JP 15448998 A JP15448998 A JP 15448998A JP 3331968 B2 JP3331968 B2 JP 3331968B2
Authority
JP
Japan
Prior art keywords
signal
logic
input
control signal
input control
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
JP15448998A
Other languages
English (en)
Other versions
JPH1173302A (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
Original Assignee
NEC 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 NEC Corp filed Critical NEC Corp
Publication of JPH1173302A publication Critical patent/JPH1173302A/ja
Application granted granted Critical
Publication of JP3331968B2 publication Critical patent/JP3331968B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03KPULSE TECHNIQUE
    • H03K5/00Manipulating of pulses not covered by one of the other main groups of this subclass
    • H03K5/125Discriminating pulses
    • H03K5/1252Suppression or limitation of noise or interference
    • 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)
  • Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Geometry (AREA)
  • Evolutionary Computation (AREA)
  • Nonlinear Science (AREA)
  • Complex Calculations (AREA)
  • Logic Circuits (AREA)
  • Manipulation Of Pulses (AREA)
  • Design And Manufacture Of Integrated Circuits (AREA)

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、半導体集積回路の
消費電力を低減させる方法に関し、より詳しくは、回路
内に発生するグリッチとその伝播を抑止する方法に関す
る。
【0002】
【従来の技術】近年、モバイルまたはポータブル電子機
器は、販売される電子機器製品の中で、既に、かなり大
きな部分を占めてきており、それらはバッテリーで駆動
できるように構成されている。従って、こうした製品内
で使用されるVLSIの電力消費を低減することは、バ
ッテリーの寿命を延ばし、結果的に消費者がバッテリー
によって製品を使用できる時間を増大させることにな
る。一方、過度の電力消費は、チップのパッケージング
及び冷却に関するコストを増大させ、結果的にシステム
全体のコストを引き上げることにもなる。
【0003】電力消費を低減させることによるもう1つ
の利点は、VLSIの信頼性が向上することである。ま
た、消費電力を平均的に低減することによって、バッテ
リーの寿命を延ばすことができ、消費電力のピークを低
減することによって、パッケージング及び冷却に関する
コストを抑えることができる。
【0004】消費電力を最も効果的に低減させるために
は、異なるレベルでの設計階層の技法をいくつか組み合
わせて用いることである。電力を最適化するために、以
下に示す、いくつかの設計及び合成技法が提案されてい
る。
【0005】即ち、A.P.Chandrakasan,S.Sheng,及びR.
W.Brodersenによる1992年4月発行のIEEE J.Solid-Stat
e Circuits、ページ473-484「Low-Power CMOS digital
design(以降、文献1と呼ぶ)」に記載された、設計階
層のうち技術レベルに相当する提案、S.Devadas及びS.M
alikによる1995年6月発行のProc. Design Automation
Conf.、ページ242-247「A survey of optimization tec
hniques targeting low power VLSI circuits」に記載
された、設計階層のうちトランジスタレベル及びロジッ
クレベルに相当する提案、H.Vaishnav及びM.Pedramによ
る1993年9月発行のProc. European Conf. Design Auto
mation、ページ72-77「PCUBE: A performance driven
placement algorithm for low power designs」に記載
された、設計階層のうち物理設計レベルに相当する提案
等がある。
【0006】アーキテクチャレベルでの電力評価に着目
すると、信号統計の均一ホワイトノイズモデルに基づく
方法が、S.R.Powell及びP.M.Chauによる1990年発行のPr
oc.VLSI Signal Processing IV、ページ250-259「Estim
ating power dissipation of VLSI signal processing
chips: the PFA technique」に提案されている。
【0007】更に、デュアルビットタイプモデルに基づ
く、より正確な評価方法が、P.E.Landman及びJ.M.Rabae
yによる1993年2月発行のProc. Europaen Conf. Design
Automation、ページ361-366「Power estimation for h
igh level synthesis」、及びP.E.Landman及びJ.M.Raba
eyによる1994年4月発行のProc. Int. Wkshp. Low Powe
r Design、ページ165-170「Black-box capacitance mod
els for architectural power analysis(以降、文献2
と呼ぶ)」に記載されている。
【0008】また、平均スイッチ動作の測定にエントロ
ピーを使用すること、及びエントロピーを高レベル電力
評価に使用することが、D.Marculescu、R.Marculescu、
及びM.Pedramによる1995年4月発行のProc. Int. Symp.
Low Power Design、ページ81-86「Information theore
tic measures for energy consumption at the registe
r-transfer level」、及びF.N.Najmによる1995年4月発
行のProc. Int. Symp.Low Power Design、ページ87-92
「Towards a high-level power estimation capabilit
y」に記載されている。
【0009】アーキテクチャレベルでの電力最適化に関
する初期の研究は、前述した文献1、及びA.P.Chandrak
asan、M.Potkonjak、R.Mehra、J.Rabaey、及びR.Broder
senによる1995年1月発行のIEEE Trans. Computer-Aide
d Design, Vol. 14、ページ12-31「Optimizing power u
sing transformations(以降、文献3と呼ぶ)」に記載
されている。
【0010】文献1には、電力を低減するために供給電
圧のスケーリングを可能にするデータパスの複写及びパ
イプライン処理に基づくアーキテクチャレベルでの並行
処理が提案されている。また、文献3では、消費電力を
抑えるために、アーキテクチャレベルでの様々な変形に
使用される方法が記載されている。
【0011】A.Chatterjee及びR.K.Royによる1994年1
月発行のProc. 7th Int. Conf. VLSIDesign、ページ265
-270「Synthesis of low power DSP circuits using ac
tivity metrics」においては、スイッチング動作の測定
が、ビットシリアルディジタルフィルタの消費電力を低
減するために用いられている。
【0012】S.Wytack、F.Catthoor、F.Franssen、L.Na
chtergaele、及びH.D.manによる1994年4月発行のProc.
Int. Wkshp. Low Power Design、ページ203-208「Glob
al communication and memory optimizing transformat
ion for low power systems」、及びD.Lidsky、及びJ.R
abaeyによる1994年10月発行のProc. Symp. Low Power E
lectronics、ページ16-17「Low-power design of memor
y intensitive functions」においては、電力消費のた
めにメモリに支配された計算を最適化することが記載さ
れている。つまり、計算を行う際はメモリを多用する
が、電力消費を最小にするような設計手法が述べられて
いる。
【0013】R.Mehra、及びJ.Rabaeyによる1994年10月
発行のProc. Int. Wkshp. Low PowerDesign、ページ197
-202「Behavioral level power estimation and explor
ation」においては、挙動レベル(behavioral level)で
電力評価と設計空間探索(様々な設計を検討すること)
を行うツールが記載されている。更に、L.Goodby、A.Or
ailoglu、及びP.M.Chauによる1994年10月発行のProc. I
nt. Conf. Computer Design、ページ323-326「Microarc
hitectural synthesis of performance-constrained」
においては、供給電圧を抑えた結果生じる性能劣化を防
ぐために、モジュール選択とパイプライン処理が使用さ
れている。
【0014】データパスにおいて、スイッチング動作と
スイッチキャパシタンスを最小化するための配置と割り
当てを実施する方法が、以下の4つの文献に示されてい
る。
【0015】A.Raghunathan、及びN.K.Jhaによる1994年
10月発行のProc. Int. Conf. Computer Design、318-32
2ページ「Behavioral synthesis for low power」。
【0016】A.Raghunathan、及びN.K.Jhaによる1995年
5月発行のProc. Int. Symp. Circuits & Systems、106
9-1073ページ「An ILP formulation for low power bas
ed on minimizing switched capacitance during datap
ath allocation」。
【0017】J.M.Chang、及びM.Pedramによる1995年6
月発行のProc. Design Automation Conf.、29-35ページ
「Register allocation and binding for low powe
r」。
【0018】A.Dasgupta、及びR.Karriによる1995年4
月発行のProc. Int. Symp. Low Power Design、69-74ペ
ージ「Simultaneous scheduling and binding for powe
r minimization during microarchitecture synthesi
s」。
【0019】また、機能ユニットにおける低減動作に基
づいて高レベルの合成を行う間に、消費電力を低減させ
る技法が、E.Musoll、及びJ.Cortadellaによる1995年4
月発行のProc. Int. Symp. Low Power Design、99-104
ページ「High-level synthesis techniques for reduci
ng the activity of functional units」に記載されて
いる。
【0020】バス及びI/O回路における消費電力を最
小化するための制限加重コードを使用する技法が、M.St
an、及びW.P.Burlesonによる1994年4月発行のProc. In
t. Wkshp. Low Power Design、209-214ページ「Limited
-weight codes for low-power I/O」に記載されてい
る。
【0021】回路の活動していない部分を、当然のこと
として停止(shut-off)させることによって動作を低減さ
せる、RTL回路の多重位相クロッキング技法が、C.Pa
pachristou、M.Spining、及びM.Nouraniによる1995年4
月発行のProc. Int. Symp. Low Power Design、27-32ペ
ージ「A multiple clocking scheme for low power RTL
design」に記載されている。
【0022】遺伝探索(genetic algorithm)に基づい
た、挙動合成の間の消費電力平均及びピークを最適化す
るツールが、R.S.Martin、及びJ.P.Knightによる1995年
6月発行のProc. Design Automation Conf.、42-47ペー
ジ「Power Profiler: Optimizing ASICs power consump
tion at the behavioral level」に記載されている。
【0023】ソフトウエアの電力評価及び最適化に関す
る技法が、V.Tiwari、S.Malik、及びA.Wolfeによる1994
年11月発行のProc. Int. Conf. Computer-Aided Desig
n、「Power analysis of embedded software: a first
step towards software power minimization」に記載さ
れている。
【0024】ディジタルVLSI回路の設計において、グリ
ッチを除去することの重要性は、以前から認識されてい
る。グリッチとは、回路内で発生する過渡的な電圧スパ
イクのことであり、回路の電力を浪費する1つの要因で
ある。グリッチやハザードを避けることは、非同期回路
設計及びD/A、A/Dコンバータの設計において非常に重要
なことである。以下の2つの文献において、電力評価及
び最適化にグリッチ電力を考慮することの重要性が報告
されている。
【0025】M.Favalli、及びL.Beniniによる1995年4
月発行のProc. Int. Symp. Low Power Design、123-128
ページ「Analysis of glitch power dissipation in CM
OS IC's(以降、文献4と呼ぶ)」。
【0026】S.Rajagopal、及びG.Mehtaによる1994年4
月発行のProc. Int. Wkshp. Low Power Design、9-14ペ
ージ「Experiences with simulation-based schematic-
level power estimation」。
【0027】LSI製造プロセスの変動によるチップ間
での特性ばらつきに起因するグリッチが、前記文献4及
び、F.N.Najm、及びM.Y.Zhangによる1995年6月発行のP
roc.Design Automation Conf.、623-627ページ「Extrem
e delay sensitivity and the worst-case switching a
ctivity in VLSI circuits」において指摘されており、
グリッチによるスイッチング動作と電力消費が、プロセ
ス変化に伴い、電力を浪費する他の原因よりかなり大き
く変化することが示されている。また、グリッチによる
電力消費をかなり低減した乗算器の設計が、C.Lemond
s、及びS.S.M.Shettiによる1994年4月発行のProc. In
t. Wkshp. Low Power Design、139-142ページ「A Low P
ower 16 by 16 multiplier using transition reductio
n circuitry(以降、文献5と呼ぶ)」に記載されてい
る。
【0028】
【発明が解決しようとする課題】しかし、グリッチによ
る電力消費を低減させる自動化設計及び合成技法として
回路全般に適用できるものはまだ提案されていない。ア
ーキテクチャ及び挙動レベルにおいて、電力の評価及び
最適化に関する今までの研究の多くは、グリッチによる
影響を無視しており、特に、回路ブロック間を伝播する
グリッチの影響について考慮していない。前述の文献2
において、正確なライブラリモデリングのアプローチ
が、構造ブロック内のグリッチの影響を考慮に入れるた
めに使用されているが、これらのブロックへの入力はグ
リッチのないものであると仮定されている。
【0029】アーキテクチャ及び挙動レベルにおける最
も初期の研究は、データフローを重視した設計にも着目
しており、そうした設計では、加算器及び乗算器といっ
た算術演算ユニットが全電力消費量のほとんどを消費し
ていた。しかし、本出願人による制御フロー重視の設計
を用いた実験によれば、機能ユニットによって消費され
る電力は、全電力消費量のごく僅かであり、一方、こう
した設計においては、マルチプレクサネットワーク及び
レジスタが、全電力消費量の大部分を消費する。
【0030】本出願人の研究によって、回路の制御部及
びデータパス部の両方において、グリッチの生成及び伝
播が発生することが判明した。制御ロジックは、その出
力時にかなりの量のグリッチを生成する可能性があり、
それが次にデータパスを介して伝播し、回路全体に波及
していく。しかし、今まで、このような制御部及びデー
タパス部の双方におけるグリッチの生成及び伝播を防止
する方法はなかった。
【0031】また、レジスタの電力消費の大部分は、そ
のレジスタのクロック入力の遷移によって引き起こされ
ていることが分かった。レジスタが設計の全電力消費の
うちのかなりの部分を消費する可能性があり、レジスタ
へのクロック入力が遷移すると、次々に多くのレジスタ
における電力消費を伴うことも、今回の観察結果によっ
て判明した。
【0032】また、状態遷移グラフ(STG)において、自
己ループ及び、とり得ない状態を識別することによっ
て、設計内の全てのレジスタへのクロック入力が停止さ
れるような条件を自動的に検出する方法が、L.Benini、
P.Siegel、及びG.DeMicheliによる1994年冬のIEEE Desi
gn & Test of Computers、32-41ページ「Saving powerb
y synthesizing gated clocks for sequential circuit
s(以降、文献6と呼ぶ)」に記載されている。しか
し、この文献6の技法は、STGが抽出可能な設計の制御
及びランダムロジック部にしか適用することができな
い。
【0033】本発明の目的は、以上の課題を解決するた
めに、回路のアーキテクチャ及び挙動レベルにおいて、
グリッチによる電力消費を自動的に低減させる手法を提
供するである。
【0034】また、本発明の別の目的は、制御信号及び
データ信号からのグリッチの発生及び伝播を防止するた
めに、制御フロー重視の仕様をインプリメントするRTL
コントローラ/データパス回路の低電力設計技法を提供
し、必要に応じて、マルチプレクサネットワーク、クロ
ッキング制御信号、及び立ち上がり/立ち下がり遅延の
選択的挿入を行うことにある。
【0035】また、本発明の別の目的は、消費電力を平
均的に最小化することにある。
【0036】また、本発明の別の目的は、設計階層のう
ちレジスタトランスファレベル(RTL)として指定され
る、回路の消費電力を低減する技法を提供することにあ
る。RTL設計は、設計者によって手で生成され、又は挙
動合成ツールによって挙動仕様から合成される。
【0037】また、本発明の別の目的は、レジスタにお
ける電力消費を低減するために、レジスタにクロック入
力をゲートする技法を提供することにある。
【0038】また、本発明の別の目的は、RTL回路の構
造分析に基づき、レジスタクロック入力をゲートする条
件を導出する技法を提供することにある。本発明は、回
路のSTGを必要とする前述した文献6の技法とは異な
り、全ての回路のレジスタに適用可能である。
【0039】また更に、本発明の別の目的は、回路内に
あるコンポーネントのアイドル期間の存在に依存しない
電力消費低減技法を提供することにある。すなわち本発
明は、資源、例えば加算機やマルチプライアなどを使う
階層での設計が終了または終了に近い場合でも適用可能
である。また、本発明の前記技法は、設計の全ての部分
の電力消費を対象としており、機能ユニットだけでなく
マルチプレクサネットワーク及びレジスタをも対象に含
む。
【0040】
【課題を解決するための手段】本発明の一実施の態様に
よれば、論理回路は、入力論理信号と入力制御信号を受
け、前記入力論理信号及び前記入力制御信号に対して第
1の論理処理を施し、前記入力論理信号によって定まる
中間論理処理信号を前記入力制御信号によって定まるタ
イミングで出力する第1の回路ブロックと、前記入力論
理信号に対して、第1の論理処理と同様な第2の論理処
理を行い、前記入力論理信号のみによって定まる付加論
理処理信号を前記中間論理処理信号とは異なるタイミン
グで出力する第2の回路ブロックと、前記中間論理処理
信号と前記付加論理処理信号を受け、第3の論理処理を
行うことにより出力論理信号を出力する第3の回路ブロ
ックとを備え、前記第3の論理処理は、前記付加論理処
理信号の有無に関係なく、同じ結果をもたらすように構
成される。
【0041】これによって、前記論理回路の前記入力制
御信号がグリッチを伴う信号であっても、前記入力論理
信号の内容が所定の条件を満たす限り、前記論理回路の
前記出力論理信号にグリッチが伝播することを防ぐこと
ができ、結果的に前記論理回路の消費電力が低減され
る。
【0042】本発明の他の実施の態様によれば、論理回
路は、前述した実施態様の論理回路を2つ以上組み合わ
せることによって構成され、3つ以上の前記入力論理信
号のうち1つの入力論理信号を選択するマルチプレクサ
ツリーにおいて、前記マルチプレクサツリーで最初に前
記入力論理信号を受ける前記論理回路は、最も相関関係
の高い2つの前記入力論理信号を入力するように構成さ
れる。
【0043】これによって、請求項1でグリッチの伝播
を防ぐための、前記入力論理信号の内容に関する条件
が、高い可能性で満たされることになり、結果的に、前
記入力制御信号のグリッチの伝播が低減され、前記論理
回路の消費電力が低減される。
【0044】本発明の更に他の実施の態様によれば、論
理回路は、第1及び第2の入力論理信号と入力制御信号
を受け、前記第1の入力論理信号と前記入力制御信号、
及び前記第2の入力論理信号と前記入力制御信号の組に
関して、第1の論理処理を行うことにより、それぞれ第
1及び第2の中間論理処理信号を出力する第1の回路ブ
ロックと、前記第1及び第2の中間論理処理信号を受
け、その前記第1及び第2の中間論理処理信号に対して
第2の論理処理を行うことにより出力論理処理信号を出
力する第2の回路ブロックとを有するマルチプレクサを
構成する論理回路において、3つ以上の前記入力論理信
号のうち1つの入力論理信号を選択する回路を構成する
ために、2つ以上の前記マルチプレクサを組み合わせて
なるマルチプレクサツリーを構成する場合、前記各マル
チプレクサには、特定の入力制御信号の入力が禁止され
るように構成される。
【0045】これによって、前記マルチプレクサにはグ
リッチを伴う前記入力制御信号自体が入力されないよう
になり、結果的に前記マルチプレクサの前記出力論理信
号へのグリッチの伝播が回避され、前記論理回路の消費
電力が低減される。
【0046】本発明の更に他の実施の態様によれば、論
理回路は、第1及び第2の入力論理信号と入力制御信号
を受け、前記第1の入力論理信号と前記入力制御信号、
及び前記第2の入力論理信号と前記入力制御信号の組に
関して、第1の論理処理を行うことにより、それぞれ第
1及び第2の中間論理処理信号を出力する第1の回路ブ
ロックと、前記第1及び第2の中間論理処理信号を受
け、その前記第1及び第2の中間論理処理信号に対して
第2の論理処理を行うことにより出力論理信号を出力す
る第2の回路ブロックとを有するマルチプレクサにおい
て、前記第1の回路ブロックが前記入力制御信号に代え
て、前記入力制御信号とクロック信号を論理処理した信
号を受けるよう構成される。
【0047】これによって、前記マルチプレクサへの前
記入力制御信号がグリッチを伴うものであっても、前記
クロック信号を用いた前記論理処理によって、効果的に
前記入力制御信号のグリッチが除去され、結果的に前記
マルチプレクサの前記出力論理信号へのグリッチの伝播
が低減され、前記論理回路の消費電力が低減される。
【0048】本発明の更に他の実施の態様によれば、論
理回路は、第1及び第2の入力論理信号と入力制御信号
を受け、前記第1の入力論理信号と前記入力制御信号、
及び前記第2の入力論理信号と前記入力制御信号の組に
関して、第1の論理処理を行うことにより、それぞれ第
1及び第2の中間論理処理信号を出力する第1の回路ブ
ロックと、前記第1及び第2の中間論理処理信号を受
け、その前記第1及び第2の中間論理処理信号に対して
第2の論理処理を行うことにより出力論理信号を出力す
る第2の回路ブロックとを有するマルチプレクサにおい
て、前記第1の回路ブロックが、前記入力制御信号を選
択的に遅延させるための第3の論理処理を含むように構
成される。
【0049】これによって、前記入力論理信号がグリッ
チを含むものであっても、前記第3の論理処理によっ
て、先行する入力制御信号が遅延され、結果的に前記マ
ルチプレクサの出力論理信号へのグリッチの伝播が効果
的に抑止され、前記論理回路の消費電力が低減される。
【0050】本発明の更に他の実施の態様によれば、論
理回路は、第1及び第2の入力論理信号と入力制御信号
を受け、前記第1の入力論理信号と前記入力制御信号、
及び前記第2の入力論理信号と前記入力制御信号の組に
関して、第1の論理処理を行うことにより、それぞれ第
1及び第2の中間論理処理信号を出力する第1の回路ブ
ロックと、前記第1及び第2の中間論理処理信号を受
け、その前記第1及び第2の中間論理処理信号に対して
第2の論理処理を行うことにより出力論理信号を出力す
る第2の回路ブロックとを有するマルチプレクサにおい
て、前記第1及び第2の入力論理信号のどちらが前記出
力論理信号として出力されてもいい状況では、特定の入
力論理信号が選択されるように前記第1の回路ブロック
の前記第1及び第2の入力論理信号を調整するように構
成される。
【0051】これによって、前記入力論理信号がグリッ
チを含むものであっても、前記マルチプレクサの構成を
調整することによって、グリッチを有する入力論理信号
自体が前記マルチプレクサに入力されなくなり、結果的
に前記マルチプレクサの出力論理信号へのグリッチの伝
播が回避され、前記論理回路の消費電力が低減される。
【0052】本発明の更に他の実施の態様によれば、論
理回路は、第1及び第2の入力論理信号と入力制御信号
を受け、前記第1の入力論理信号と前記入力制御信号、
及び前記第2の入力論理信号と前記入力制御信号の組に
関して、第1の論理処理を行うことにより、それぞれ第
1及び第2の中間論理処理信号を出力する第1の回路ブ
ロックと、前記第1及び第2の中間論理処理信号を受
け、その前記第1及び第2の中間論理処理信号に対して
第2の論理処理を行うことにより出力論理信号を出力す
る第2の回路ブロックとを有するマルチプレクサ、及び
前記出力論理信号を記憶するレジスタであって、第1の
クロック信号が提供されている前記レジスタにおいて、
前記入力制御信号の内容が所定の値であるときは、前記
レジスタに前記出力論理信号を新たに記憶させる必要が
ないという条件が存在する場合、前記第1のクロック信
号と前記入力制御信号に対して第3の論理処理を施し、
第2のクロック信号を生成し、前記レジスタに提供する
第3の回路ブロックを有し、前記入力制御信号が前記所
定の値をとったときに、前記第2のクロック信号におい
て、余分な遷移が抑止されるように構成される。
【0053】これによって、前記マルチプレクサがその
出力論理信号を記憶させるべき前記レジスタに対して、
余分な遷移を除いた前記第2のクロック信号が提供さ
れ、結果的にレジスタの消費電力を低減させる。
【0054】
【発明の実施の形態】
1.グリッチの生成と伝播 以下に、本発明の実施例について、図面を参照して説明
する。図1に示すRTL回路の例は、2つの数の最大公約
数(GCD)を求めるものである。入力は、XINとYINに
与えられ、GCDはレジスタOUTPUTに出力される。GCD
を計算するのに必要なサイクル数は入力される値に依存
するので、OUTPUTにいつ結果が得られるかを出力信号RD
Yが示している。この回路はGCDアルゴリズムの挙動記述
から導出される。
【0055】このRTL回路は、例えば高レベル合成シ
ステム「SECONDS」によって生成され、それは以
下に示す3つの文献に示されている。
【0056】S.Bhattacharya、S.Dey、及びF.Brglezに
よる1994年6月発行のProc. DesignAutomation Conf.、
491-496ページ「Performance analysis and optimizati
on of schedules for conditional and loop-intensive
specification(以降、文献7と呼ぶ)」。
【0057】S.Bhattacharya、S.Dey、及びF.Brglezに
よる1994年6月発行のProc. DesignAutomation Conf.、
195-200ページ「Clock period optimization during re
source sharing and assignment(以降、文献8と呼
ぶ)」。
【0058】S.Bhattacharya、S.Dey、及びF.Brglezに
よる1994年11月Proc. Int. Conf. Computer-Aided Desi
gn、736-742ページ「Provably correct high-level tim
ing analysis without path sensitization(以降、文
献9と呼ぶ)」。
【0059】このシステムは、資源配置、スケジューリ
ング、及び割り当てを実施するのに用いられ、結果的に
図1に示すRTL回路を生成する。
【0060】図1のRTL回路は、1つの減算器、2つ
のequal-to(=)コンパレータ、1つのless-than(<)コン
パレータ、複数のレジスタ、複数のマルチプレクサツリ
ー、コントローラ有限状態機械(FSM)、及びデコードロ
ジックとを有する1つの機能ユニットで構成される。eq
ual-toコンパレータは、例えば2つの入力信号を比較
し、等しい場合(即ち真の場合)に1(高レベル信号)
を出力し、等しくない場合(即ち偽の場合)に0(低レ
ベル信号)を出力するよう構成された回路であり、以下
第1のタイプのコンパレータと呼ぶことにする。また、
less-thanコンパレータは、例えば2つの入力信号を比
較し、一方が大きい場合(即ち真の場合)に1(高レベ
ル信号)を出力し、他方が大きい、または両者が等しい
場合(即ち偽の場合)に0(低レベル信号)を出力する
よう構成された回路であり、以下第2のタイプのコンパ
レータと呼ぶことにする。
【0061】デコードロジックは、回路内のマルチプレ
クサを制御する制御信号を生成する。ここでは、コント
ローラFSMとデコードロジックをまとめて回路の制御
ロジックと呼ぶ。この制御ロジックによってインプリメ
ントされるロジック表現も、図1に示されている。
【0062】制御信号contr[i]は、図1の[i]で示され
たマルチプレクサの選択入力を提供する。同様に、デー
タパス信号dpiは、図1の[i]で示されたマルチプレクサ
の出力に対応する。また、記号c9、c10、及びc1
5は、回路内の3つのコンパレータの結果を示してい
る。
【0063】これらの値は、以下に示すように設定され
る。
【0064】c11 = c9 + c10 contr[0] = x1 + x3 contr[1] = x0 contr[2] = x0 + x1.c11 + x3.c10 contr[3] = x0 + x1.c11 contr[4] = x0 + x1.c11 + x3.c10 contr[5] = x1.バー(c11).c15 + x2.c15 + x3.バー(c1
0).c15 contr[6] = x0 + x4 contr[7] = x1.バー(c11) + x2 + x3.バー(c10) contr[8] = x1.バー(c11).c15 + x2.c15 + x3.バー(c1
0).c15 contr[9] = x0 + x1.バー(c11).c15 + x2.c15 + x3.バ
ー(c10).c15 + x4 但し、記号+は論理演算OR(論理和)を、記号.は論理
演算AND(論理積)を示し、バーは否定を示す。ま
た、記号x0からx4は、コントローラからのデコード
化された現在の状態ラインを表している。
【0065】図1に示したRTL回路は例えば、NEC
CMOS6のライブラリ(NEC Electronics, Incから
1992年12月に発行されたCMOS6 Library Manual参照(以
降、文献10と呼ぶ))にマップされる。「マップされ
る」とは、NOR,NAND,NOTなどの階層まで設
計されたものについて、遅延時間、消費電力などの諸元
を決めることである。図1のようなものに諸元を記入し
たものがネットリストである。組織内シミュレーション
ベースの電力計算ツール、CSIM(NEC CorpのSystems
LSI Divisionから1993年に発行された、CSIM Version
5 Users Manual参照(以降、文献11と呼ぶ))が、設
計内の様々な部分の電力消費を測定するのに使用され
る。図2は、機能ユニット(減算器と3つのコンパレー
タ)、ランダムロジック(コントローラFSMとデコー
ドロジックブロック)、レジスタ(クロックの遷移によ
って消費される電力を含む)、及びマルチプレクサ毎
の、全消費電力に対する消費電力の割合を示している。
この図から、最も電力を消費しているのはマルチプレク
サとレジスタだということがわかる。このような状況
は、他の制御フロー重視仕様及び混合仕様のいくつかの
回路でもみることができる。
【0066】GCD回路のグリッチを伴う動作(以下グ
リッチング動作と呼ぶ)の概要を把握するために、設計
の様々な部分でグリッチを含んでカウントした場合の遷
移動作に関するデータ、及びグリッチを含まないものを
カウントした場合の遷移動作に関するデータを収集し
た。グリッチのない(排除した)遷移動作は、ゼロ遅延
モデルの下で回路のシミュレーションを行うことによっ
て得られる。これらのシミュレーションは、挙動仕様に
関するベンチマークから導出される入力ベクトルを用い
て行われる。
【0067】図3は、全ての制御信号、及び選択された
データパス信号に対して、グリッチを含む場合の全ビッ
ト遷移、グリッチを含まない場合の全ビット遷移を示し
たものである。前述のCSIMは、0から1への遷移ま
たは1から0への遷移を遷移の半分としてカウントする
ので、図3に示すように、遷移数が少数点以下の数字を
含む可能性がある。
【0068】明らかに、回路内のいくつかの信号におけ
る遷移動作の合計のうちで、かなりの部分はグリッチが
原因となっている。また、このGCD回路内のいくつか
の制御信号(例えばcontr[2]及びcontr[4])が、グリッ
チの影響を大きく受けていることもわかる。後で、制御
信号のグリッチの生成についての分析と、制御信号のグ
リッチが回路の残りの部分におけるグリッチによる消費
電力に深く関与していることを説明する。
【0069】グリッチを無視するといかに誤った結果と
なるか、また消費電力に関して最適でない設計につなが
るかを示すために、図4(a)及び4(b)に示された2つの
RTLアーキテクチャについて考える。図4(a)をアー
キテクチャ1、図4(b)をアーキテクチャ2と呼ぶこと
にする。
【0070】両方のアーキテクチャは、「if ( x < y )
then z = c + d else z = a + b」という単純な機能を
インプリメントしている。アーキテクチャ2は2つの加
算器を有し、アーキテクチャ1は1つの加算器を有して
いるため、アーキテクチャ2の方が多くの資源を使用す
る。実行される操作の数に基づいて、挙動レベル及び構
造レベルでの電力消費の評価に一般的に用いられる測定
を行うと、アーキテクチャ2の方がアーキテクチャ1よ
り多くの電力を消費する。この結果はグリッチを考慮し
ない電力の評価結果によって支持されるものである。
【0071】しかし、グリッチも考慮に入れた正確な電
力の評価が行われると、アーキテクチャ2の電力消費が
実際にはアーキテクチャ1のそれより17.7%少ないこと
がわかる(グリッチを考慮に入れた場合の電力消費は、
アーキテクチャ1が823.9uW、アーキテクチャ2が
951.7uWであり、グリッチを考慮に入れるとアーキ
テクチャ1が1650.2uW、アーキテクチャ2が13
57.7uWである)。
【0072】後述するように、コンパレータは、その入
力にグリッチがなくても、出力においてグリッチを生成
する。アーキテクチャ1の場合、これらのグリッチが2
つのマルチプレクサを介して加算器の入力に伝播し、そ
れがグリッチ動作を多くし、結果的に2つのマルチプレ
クサと加算器の電力消費を増大させる。アーキテクチャ
2では、前述したようにコンパレータがグリッチを生成
するが、これらのグリッチの影響は1つのマルチプレク
サに対するものだけに抑えられる。実際に、アーキテク
チャ2の方がアーキテクチャ1より小さい消費電力です
むのは、そのためである。
【0073】ここでは、RTL回路におけるグリッチの
生成と伝播の分析を行う。この分析によって、後述する
グリッチ低減技法の基本原理が理解できる。わかりやす
くするために、データパスブロック(機能ユニット、コ
ンパレータ、及びマルチプレクサツリー)内と、制御ロ
ジック内のグリッチの生成を別々に示す。
【0074】1.1 データパスブロック内でのグリッ
チ生成図5は、データパスブロックの代表的な各要素、
すなわち減算器、第1のタイプのコンパレータ、第2の
タイプのコンパレータ、及び3-to-1マルチプレクサツリ
ーを示しており、これらのデータパスブロックは、それ
ぞれかなりの量のグリッチを生成することを示してい
る。
【0075】レジスタはその出力においてはグリッチを
生成しないことに注意すべきである。各ブロックはNEC
CMOS6 Libraryにマップされ、ランダムベクトルを有す
る長い入力シーケンスの下でシミュレートされる。ブロ
ックの出力におけるビット遷移(グリッチを含む)数の
合計、及びゼロ遅延遷移(すなわち、グリッチを含まな
い遷移の数)の数を測定すると、図5に示すようにな
る。
【0076】図5に示す各ブロックの下にはその遷移の
数が分数の形式で記されており、グリッチを含んだ遷移
数が分子に、グリッチを含まない遷移数が分母にそれぞ
れ示されている。これらの結果は、様々なデータパスブ
ロックにおいて多くのグリッチが生成されていることを
明示している。第1のタイプのコンパレータでは、全て
のパスがバランスしているという事実のために、グリッ
チが生成されない。即ち、第1のタイプのコンパレータ
においては、グリッチを含んでカウントした遷移数とグ
リッチを含まないようカウントした遷移数がともに3
6.5であり、グリッチの発生がないことを示してい
る。しかし、このような場合、配線上の遅延が遅延のバ
ランスを崩し、その結果グリッチを生成してしまうこと
がある。
【0077】図5に示したようなデータパスブロックが
互いに接続されると、様々なブロックによって生成され
たグリッチが、以降のブロックを介して伝播し、後述す
るように、様々な状況においてグリッチの爆発的発生と
グリッチによる電力消費を引き起こす。
【0078】1.2 制御ロジック内でのグリッチ生成 制御ロジック自体は、回路の電力をほんの少し消費する
だけであるが、制御信号に関してグリッチを生成し、回
路の他の部分にグリッチを含む制御信号を与える可能性
があるために、回路の消費電力全体の中で大きな役割を
担うことになる。従って、制御ロジックがどのようにグ
リッチを生成するかを研究することは重要であり、それ
は、アーキテクチャまたは挙動レベルでの電力消費に関
する今までの研究では述べられていないことである。
【0079】制御ロジック内のデコードロジックに対す
る入力は、コンパレータの出力とコントローラのステー
トフリップフロップによって提供される。制御ロジック
の出力はデータパスに供給される制御信号を含んでい
る。コンパレータの出力がグリッチを含む可能性がある
ことは既に説明した。コンパレータの出力におけるグリ
ッチは、制御ロジックを介して伝播する可能性があり、
それが制御信号にグリッチをもたらす。制御ロジックは
また、その入力がグリッチのないものでも、多くのグリ
ッチを生成する可能性がある。
【0080】ここでは、図6を参照して、制御ロジック
内のグリッチの生成を説明、分析する。再び図1のRT
L回路について考える。図2の統計によれば、制御信号
contr[2]は非常に多くのグリッチを含む。この制御信号
を実行するデコードロジックの一部が、図6(a)に示さ
れている。また、図6に示す各ラインに関しては、その
遷移の数が分数の形式で記されており、グリッチを含ん
だ遷移数が分子に、グリッチを含まない遷移数が分母に
それぞれ示されている。
【0081】前述のように、入力がグリッチを含んでい
なくても、かなりのグリッチがANDゲートG1とG2で生成
される。分析の結果、グリッチの生成は以下の2つの条
件に起因する。
【0082】条件1:信号x1の立ち上がりの遷移が信号
c11の立ち下がり遷移と同時に起こることが多い場合。
すなわち、信号x1の立ち上がり遷移と信号c11の立ち下
がり遷移の相関関係がある場合。
【0083】条件2:信号x1の遷移が信号c11の遷移よ
り早く到達する場合。
【0084】条件1は、設計の機能によって発生する。
すなわち、状態s1になる(x1の遷移が発生する)場合の
ほとんどで、c9及びc10を提供するコンパレータによっ
て評価される比較結果が0となり、以前の状態1を0に
変更する。一方、条件2は、設計の遅延/時間特性の結
果生じる。これらの条件は、図6(b)によって表される
が、ゲートG1でグリッチが発生することになり、その
グリッチは制御信号contr[2]に伝播する。ゲートG2の
出力にグリッチが含まれるのもこれと同様の理由であ
る。
【0085】次に、図7を参照して、バーコードリーダ
ーのプリプロセッサであるRTL回路の一部における制
御信号のインプリメンテーションを説明する。ここでい
うインプリメンテーションとはゲートレベルの回路を作
ることである。図7に示すラインの一部(信号x3、x4、
及び制御信号contr[1])に関しては、その遷移の数が分
数の形式で記されており、グリッチを含んだ遷移数が分
子に、グリッチを含まない遷移数が分母にそれぞれ示さ
れている。
【0086】ここで、特定の制御信号contr[1]に着目し
て検討を行う。信号state[2]、state[1]、及びstate[0]
は、コントローラのフリップフロップから提供される。
信号x3、及びx4はデコード化された状態信号を表し、す
なわちx3(x4)はコントローラが状態s3(s4)である場合に
のみ論理値1をとり、つまりstate[2]、state[1],state
[0]は値011(100)をとる。
【0087】図7は、ゲートG5が、その入力にグリッ
チが含まれていない場合であっても多くのグリッチを含
んでいることを示している。
【0088】ゲートG5におけるグリッチの生成を説明
するために、図8(a)に、コントローラに関する部分的
な状態遷移グラフを示す。図8(a)は、状態s3とs4を有
するループを示している。これは、VHDL挙動仕様の中の
whileループによって生じる。このループは、挙動記述
内の全てのループの中で最も内側のループであるため、
非常に頻繁に実行される。従って、s3からs4への状態遷
移、及びs4からs3への状態遷移は頻繁に行われる。
【0089】図8(b)は、ゲートG5の入力と出力が、
どのようにこれらの2つの状態遷移の下で変化するかを
示す。s3からs4への遷移は、信号state[2]に関する立ち
上がり遷移を引き起こし、信号state[1]と信号state[0]
の立ち下がり遷移を引き起こす。これらの遷移は次に、
信号x4及びx3の立ち上がり遷移と立ち下がり遷移をそれ
ぞれ引き起こす。しかし、インバータG1及びG2の遅
延が信号x4に影響し、インバータG0が信号x3には影響
しないので、信号x4の立ち上がり遷移は、信号x3の立ち
下がり遷移より遅く到達する。この結果、図8(b)の上
部に示すように、ゲートG5の出力において、1-0-1統
計ハザードまたはグリッチが生じる。
【0090】同様に、s4からs3へのコントローラの状態
遷移は、信号s3の遷移の方が後で到達するように、信号
x3の立ち上がり遷移と信号x4の立ち下がり遷移を引き起
こす。このことも、図8(b)下部に示すように、ゲート
G5の出力においてグリッチを招くことになる。制御信
号においては、前述した2つの条件を満たす場合にグリ
ッチが発生する。
【0091】2. グリッチ低減技法 ここでは、RTL回路におけるグリッチによる電力消費
を、回路の他のブロックへのグリッチの伝播を最小にす
ることによって低減する技法について述べる。
【0092】2.1 制御信号からのグリッチ伝播の低
減 前述したように、かなりのグリッチが制御信号で生成さ
れうる。また、これらのグリッチが回路の他の部分を通
って伝播し、多くの電力浪費を招くことも前述した。こ
こでは、回路の例を示しながら、個別に本発明の技法を
説明していく。しかし、これらの技法は、後で示すよう
に最終的に1つの電力最適化フレームワークに統合され
うる。
【0093】2.1.1 データ相関を考慮して、制御
信号からのグリッチの伝播を低減する方法 図9に示す回路を参照すると、マルチプレクサは、式X
<Yが真であるか、または偽であるかによって、2つの
8ビットデータ信号A、及びBのどちらかを選択する。
マルチプレクサの出力は、レジスタに書き込まれる。前
述したように、第2のタイプのコンパレータは、その出
力においてグリッチを生成するので、マルチプレクサの
選択信号(制御信号)Sはグリッチを含む。この構成
は、条件付きの、または制御フロー重視の仕様を実施す
る回路の一部としてよく見られるものである。
【0094】信号A、及び信号Bが最初の入力かまた
は、レジスタの出力であると仮定すると、マルチプレク
サへのデータ入力はグリッチのないものである。更に、
マルチプレクサへのデータ入力は、より早く到達する。
すなわちマルチプレクサは、選択信号Sが決定する遙か
前にそれらの入力最終値を決定している。
【0095】マルチプレクサの選択信号Sにおけるグリ
ッチは、マルチプレクサの出力に伝播する。この伝播を
検討するために、図10(a)ないし10(d)に示すマルチ
プレクサのビットスライスのゲートレベルにおけるイン
プリメンテーションを考える。
【0096】これらの4つの図は、関連するビットAi
及びBiをそれぞれ<0,0>、<0,1>、<1,0>、及び<1,1>と
仮定したものである。各図において、マルチプレクサの
出力に関しては、前で表記した方法と同様に、その遷移
の数が分数の形式で記されており、グリッチを含んだ遷
移数が分子に、グリッチを含まない遷移数が分母にそれ
ぞれ示されている。
【0097】図10(a)に示すような、Ai及びBiが<0,
0>のケースでは、選択信号Sのグリッチは、より早く到
達するその制御サイドの入力のために、ANDゲートG
1とG2で抑えられる。図には、出力信号OUTiに関する
グリッチを含む遷移数とグリッチを含まない遷移数は等
しく、すなわちグリッチが発生していないことが示され
ている。
【0098】図10(b)に示すような、Ai及びBiが<0,
1>である場合、選択信号SのグリッチはゲートG1を介
して伝播することはないが、ゲートG2,及びG3を介
して伝播する。図には、出力信号OUTiに関するグリッチ
を含む遷移数が3.0で、グリッチを含まない遷移数が
1.0であることが示されている。
【0099】図10(c)に示すような、Ai及びBiが<1,
0>の場合も、前記の<0,1>の場合と同様にグリッチを伝
播する。図には、図10(b)と同様に、出力信号OUTiに
関するグリッチを含む遷移数が3.0で、グリッチを含
まない遷移数が1.0であることが示されている。
【0100】図10(d)に示すような、Ai及びBiが<1,
1>である場合、選択信号SのグリッチはゲートG1及び
G2を介して伝播する。図には、出力信号OUTiに関する
グリッチを含む遷移数が3.5で、グリッチを含まない
遷移数が0.5であることが示されている。マルチプレ
クサの出力は、ゲートG1とG2のグリッチを含んだ信
号の波形による相互作用の結果、グリッチを含むものと
なる。その波形が相互作用する態様は、正確には、イン
プリメンテーション内における各種配線とゲートの伝播
及び内部遅延に依存する。こうした相互作用の態様は、
スイッチング動作及び電力消費を得るために使用するシ
ミュレータによりモデル化される。
【0101】図10(d)に示す<1,1>のケースにおけるグ
リッチの伝播を防ぐための1つの方法は、ゲートG2に
提供される選択信号Sのファンアウト分岐にバッファを
追加するもので、そのバッファはインバータG0の遅延
と同じ遅延を有する。このバッファの挿入は、理想的に
はG1及びG2の出力において互いの出力を打ち消し合
う相補波形であるべきで、すなわち、マルチプレクサの
出力が常時1となる。しかし、この解決方法は、回路内
のゲート及び配線の正確な伝播及び内部遅延に依存す
る。更に、プロセス変化による僅かな回路パラメータの
変更が、パスのバランスへの影響を無効にする可能性が
ある。
【0102】より望ましい他の解決法は、図11に示す
ように追加のゲートGcを加えることである。図11
は、請求項1、2、3、及び19に対応するものであ
る。バーS.Ai(G1の出力結果)とS.Bi(G2の出
力結果)とのOR演算の結果は、Ai.Bi(Gcの出力結
果)、G1、及びG2のOR演算結果と同じである(この
ことを、GcがG1とG2のコンセンサスであると呼ぶ
ことにする)。従って、Gcの追加は、出力結果に影響
を与えない。データ入力が<1,1>の場合に、Gcは、G
cの出力が1に決定した後で到達するG3の他の入力に
関して、効果的にグリッチの発生を抑える。他の全ての
入力パターンに関して、Gcの出力は0となり、前述の
説明が当てはまる。図11のインプリメンテーションの
シミュレートによって、選択信号S上のグリッチは、デ
ータ入力が<1,1>の場合には、それ以上出力に伝播しな
いことが証明された。図9の回路に対して、Gcをマル
チプレクサに追加すると、全消費電力を17.5%低減させ
る結果となった。
【0103】コンセンサス項に基づいてゲートを追加す
ることによって被る電力のオーバーヘッドは、そのゲー
ト自体の電力消費と、2入力ORゲートに代えて、3入
力のORゲートを有することによるオーバーヘッドに依
存する。選択信号が非常に多くのグリッチを有し、デー
タ入力が選択信号に比べて早く到達し、かつデータ入力
が<1,1>である可能性が大きい場合にのみ、マルチプレ
クサにコンセンサス項を追加することによって最大の利
点が得られる。
【0104】電力の節約を最大にするために、どのマル
チプレクサにこうしたコンセンサス項を追加すればよい
のかについては、後述する。
【0105】コンセンサス項の追加によって、データ値
が<0,0>または<1,1>に関連する場合は、グリッチが選択
信号からマルチプレクサの出力に伝播しなくなる。それ
以外の場合には、グリッチはマルチプレクサの出力に伝
播する。
【0106】次に、マルチプレクサツリーを再構成する
ことによってデータ相関を最大にし、その結果マルチプ
レクサの選択信号からのグリッチの伝播を最小にする方
法を示す。
【0107】2.1.2 マルチプレクサネットワーク
を再構成することによって、データ相関を大きくし、グ
リッチを含む制御信号を排除する方法 図1のGCD回路のレジスタOUTPUTに値を提供する3-to
-1マルチプレクサネットワークについて図12を参照し
ながら考える。図12は、請求項4、5、及び20に対
応するものである。図12(a)には2-to-1マルチプレク
サのツリーが示されている。このマルチプレクサは、概
念的には、図12(b)に示すような3-to-1概念マルチプ
レクサと考えられる。OUTPUT、X、及びZEROが選択され
る条件が、それぞれCOUTPUT、CX、及びCZEROで表さ
れている。COUTPUT、CX、及びCZEROは、相互に排他
的でなければならない。図12のいくつかの信号につい
ては、前で表記した方法と同様に、その遷移の数が分数
の形式で記されており、グリッチを含んだ遷移数が分子
に、グリッチを含まない遷移数が分母にそれぞれ示され
ている。
【0108】3-to-1概念マルチプレクサネットワークが
表現されると、ツリー内のマルチプレクサに対するデー
タ入力の相関を大きくするインプリメンテーションがい
くつか可能であることがわかる。図12(a)の例では、
選択信号CZEROがグリッチを含むものであり、最初の2-
to-1マルチプレクサの出力にグリッチが伝播している。
データ信号OUTPUTとZEROはビットレベルで非常に関連性
が高いことに注意すべきである。例えば、XとOUTP
UTの相関(correlation)が0.76、XとZEROの相関
が0.77であるのに対して、OUTPUTとZEROの相関は
0.99であるものとする。
【0109】従って、選択信号CZEROのグリッチがマル
チプレクサツリーを介して伝播するのを最小限に抑える
ために、マルチプレクサを図12(c)に示すようなイン
プリメント形態に変更する。これによって、非常に関連
性の高いデータ信号OUTPUTとZEROが最初の2-to-1マルチ
プレクサに入力されるようになる。このことは、最初の
2-to-1マルチプレクサの出力におけるスイッチング動作
を、前記グリッチの有無毎の表現において345/20から26
/20に低下させる。マルチプレクサの再構成は、次に示
すように、グリッチを含む選択信号を排除するのにも役
立つ。
【0110】2.1.3 マルチプレクサネットワーク
を再構成することによって、グリッチを含む制御信号を
排除する方法 図12(a)に示す3-to-1マルチプレクサツリーと、図1
2(b)に示す概念的表現について再び考えると、図12
(a)のインプリメンテーションは、信号の組(COUTPUT
X、CZERO)のうち2つしか使用していない。通常、n
個のデータ入力とn個の選択信号を用いてn-to-1概念マ
ルチプレクサを複数の2-to-1マルチプレクサを有するツ
リーでインプリメントするためには、log2nとn−
1の間の選択条件を使用して、インプリメンテーション
内の2-to-1マルチプレクサに対する選択信号に関する式
を生成する。またその式は、インプリメンテーションの
正確な構造に依存する。n-to-1概念マルチプレクサへの
選択信号の組の中で、いくつかがそのインプリメンテー
ションにおいてグリッチを発生し、他のものは発生しな
い。同様に、図7の例に示すように、n-to-1概念マルチ
プレクサの選択信号を含むある式は、たとえ個々の信号
にグリッチがなかったとしても、グリッチを含む可能性
がある。
【0111】従って、本発明は、グリッチを含むn-to-1
概念マルチプレクサへの選択入力(すなわちグリッチを
含む選択信号との組み合わせ)をできるだけ少なくする
ような方法で、マルチプレクサツリーを再構成する。こ
の概念は次の例で示される。
【0112】ここで、図13を参照して考える。この図
13は、請求項6、7、及び21に対応するものであ
る。最初に、図13(a)に示されている3-to-1マルチプ
レクサネットワークについて考察する。このネットワー
クはバーコードリーダーRTL回路の一部である。図7
の例に示すように、式x3+x4を実行する図13(a)
の第2のマルチプレクサの選択信号はグリッチを含んで
いる。グリッチを含む選択信号の式を必要としない3-to
-1マルチプレクサネットワークの代替インプリメンテー
ションの例が図13(c)に示されている。
【0113】2.1.4 クロッキング制御信号によっ
て、データ信号のグリッチを抑止する方法 今まで説明してきた、制御信号へのグリッチの影響を減
らす方法が全て役に立たない場合、マルチプレクサの選
択信号、またはALUの機能選択入力を提供する制御信
号に影響するグリッチを抑えるために、クロック信号を
使用する。立ち上がりエッジトリガーフリップフロップ
と、デューティ比が50%の単一位相クロックを使用す
る設計を仮定する。しかし、この方法は、少しの変形を
行うことによって、より複雑なクロッキング技法に拡張
されうる。この方法を、図14(a)から14(c)を用いて
説明する。図14は、請求項8、9、10、及び22に
対応するものである(後述する図17についても同
様)。図14(a)に示すような2-to-1マルチプレクサ
は、無人自動車(UAV)用のコントローラ(K.Hintz及びD.
Tabakによる1992年、New York, NY 10020:McGraw-Hill
から発行された「Microcontrollers: Architecture, Im
plementation, and Programing」を参照(以降、文献1
2と呼ぶ))をインプリメントするRTL回路の一部で
ある。
【0114】ZERO及びc21を選択するための条件は、そ
れぞれCZERO = x3.バーc5、Cc21 =x3.x5である。この
場合、CZEROとCc21は両方とも、信号c5を生成する
第2のタイプのコンパレータでグリッチが発生するため
に、グリッチを含むものである。
【0115】従って、グリッチを含む制御信号を抑制す
るマルチプレクサを再構成する変形は、ここでは適用で
きない。図14(b)は、マルチプレクサへの選択信号を
クロッキングした後の回路を示す。元の選択信号は、イ
ンバートされたクロック信号とANDがとられる。この
ANDゲートの出力をクロック化選択信号と呼ぶことに
する。このことによって、クロック期間の前半におい
て、クロックが高レベルの場合、一方の入力にはグリッ
チが含まれるにもかかわらず、ANDゲートの出力が0
にされる。
【0116】図14(c)は、クロック信号、元の選択信
号、及びクロック化選択信号の波形の例である。図14
(a)及び14(b)におけるマルチプレクサへの選択入力に
は、前で表記した方法と同様に、その遷移の数が分数の
形式で記されており、グリッチを含んだ遷移数が分子
に、グリッチを含まない遷移数が分母にそれぞれ示され
ている。これらの図に示されたスイッチング動作の数
は、制御信号のクロッキングによってグリッチ動作がか
なり減らされるということを示している。
【0117】また、制御信号のクロッキングは、慎重に
適用されなければならない。制御信号をクロッキングす
ることにより、時間T/2まで最終的な値の評価がされ
ないようになる(ここで、Tはクロック期間である)。
このことは一般的に、回路の出力において指定されたタ
イミング制約を満たすために、制御信号がT/2以前に
最終的な値に決定される必要がある場合には、回路の遅
延を増大させるという問題につながる。クロック化され
た制御信号について要求された到着時間を遅らせないた
めに、シフトされたクロック波形を導出可能である。し
かし、これは、制御信号において要求された到着時間と
クロックに与えられたシフトの間の厳密なマッチングを
含み、文献5に示されるレイアウトの後に行われること
が望ましい。このクロッキング制御信号の技法は、制御
信号において要求される到着時間が、T/2から指定さ
れた安全範囲だけ後の場合にのみ本技法を適用するのが
好ましい。
【0118】クロッキング制御信号によって引き起こさ
れる別の問題は、ある条件下で制御信号の余分な遷移を
発生させてしまうことである。ここで、2クロックサイ
クルにわたって、制御信号が1のままである状況を考え
る。各クロックサイクルの前半で制御信号を0にするこ
とによって、制御信号には実際に余分な遷移が引き起こ
され、それが電力消費を増大させる。従って、図14
(b)に示す技法は、制御信号が1になる確率(信号確
率)が低い場合に最も電力を節約する。一方、制御信号
が1になる確率が非常に高い場合、元の制御信号とクロ
ックのORをとることによって制御信号のクロック化を
行う代替技法を使用できる。この技法は、前述の技法で
は、クロック化制御信号をクロック期間の前半で0とし
たのに対して1とし、クロック化制御信号が1になった
場合に、クロック化制御信号の余分な遷移を抑えようと
いうものである。
【0119】2.2 データ信号からのグリッチ伝播の
低減 制御信号からのグリッチの伝播を低減させ、電力を節約
するいくつかの方法を紹介してきたが、前述したよう
に、回路ブロックへのデータ信号もまた、グリッチを含
む可能性がある。ここでは、データ信号のグリッチの伝
播を制限するいくつかの技法を示す。
【0120】2.2.1 選択的立ち上がり/立ち下が
り遅延を使用してグリッチを低減する方法 図15(a)に示す回路の例について考える。これは請求
項11、12、13、及び23に対応するものである。
2-to-1マルチプレクサは、2つの加算器の出力から1つ
を選択し、そのマルチプレクサの出力は別の加算器に提
供される。この回路は、データの連鎖を使用するRTL
設計においてはよく使用されるものである。前述したよ
うに、加算器は、それらの入力がグリッチのないもので
あっても、出力としてグリッチを発生する。従って、マ
ルチプレクサへのデータ入力はグリッチを含んでおり、
グリッチはマルチプレクサ、その次に第3の加算器を介
して伝播し、かなりの電力浪費を引き起こす。
【0121】この問題を解決するために、以下に説明す
るような、回路を介したグリッチの伝播を遮断するため
に使用される選択的遅延挿入と呼ぶ技法を提案する。
【0122】図15(b)に示すように、ビットスライス
のマルチプレクサのゲートレベルにおけるインプリメン
テーションを考える。マルチプレクサへのデータ入力は
両方グリッチを含んでいる。1対の連続するクロックサ
イクルq1及びq2があり、マルチプレクサへの選択信
号Sが、q1からq2にかけて1から0に遷移(立ち下
がり遷移)する。選択信号Sにおけるこの立ち下がり遷
移が早く到達すると、バーSをインプリメントするゲー
トG0の出力において早い立ち上がり遷移が発生しう
る。結果的に、G1の片方の入力は、早くに非制御にな
り、G1(ANDゲート)はまだ評価が確定しないので
他方のグリッチを含むデータ信号の到達を待つことにな
り、その結果、データ入力のグリッチを許容し、出力に
グリッチを伝播することになる。一方、早く到達する選
択信号Sが立ち下がり(1から0への遷移)信号であれ
ば、それを受けた時点でG1(ANDゲート)における
評価が完了し、グリッチを含むデータ信号の到達を待た
ずに出力が行われ、結果としてその出力信号にはグリッ
チが含まれないものになります。
【0123】この伝播は、G1の片方の入力をできるだ
け長く制御しておくこと、即ち制御信号の否定をG1に
早く到達させないことによって、グリッチのあるデータ
信号をトリガとしてG1の出力が行われることを避ける
よう保証することによって最小化される。この保証は、
G0(バーS)の出力において立ち上がり遷移を遅らせ
ることによって達成可能である。言い換えれば、G0
(バーS)の出力に「立ち上がり遷移の遅延」を追加し
たいということである。
【0124】同様に、ゲートG2を介して伝播するグリ
ッチを最小化するために、Sにおいて早い立ち上がり遷
移がある場合に、ANDゲートG2に提供される選択信
号Sのファンアウト分岐に関して立ち上がり遷移を遅延
させることが望ましい。ある信号における選択された遷
移(立ち上がりか立ち下がり遷移であって、その両方で
はない)を遅延させたいので、この技法を選択的遅延挿
入と呼んでいる。
【0125】図15(b)には、選択的立ち上がり遅延ブ
ロックが影付きの楕円で表されている。立ち上がり遅延
ブロックの一つのインプリメンテーションの例は、図1
5(c)に示すように、1つのANDゲートと1つの遅延
素子からなっている。遅延素子は、入力に追加された一
連のバッファまたはインバータを使用して構成される。
このインプリメンテーションの例は、ANDゲートの任
意の1つの入力における立ち下がり遷移が、出力を0に
するのに十分であり、一方、全ての入力の中で最も遅く
到達した立ち上がり遷移が、出力における立ち上がり遷
移のトリガーになるという事実を利用している。
【0126】遅延ブロック(遅延時間:d1 ns)の単純
化された遅延モデル、及びANDゲート(遅延時間:d2
ns)の単純化された遅延モデルの下では、入力におけ
る立ち上がり遷移が(d1+d2)nsだけ遅らされ(図15(a)
上の段の遷移グラフ参照)、一方立ち下がり遷移はd2 n
sだけ遅らされている(図15(b)下の段の遷移グラ
フ参照)。d1は通常、d2と比べて大きいので、立ち下が
り遷移に関して追加される遅延d2 nsによるグリッチ伝
播の増加は、立ち上がり遷移の場合に抑止されるグリッ
チに比べれば非常に僅かなものである。選択的立ち下が
り遅延ブロックは、図15(c)に示す回路と、ANDゲ
ートがORゲートに代わること以外は同じである。
【0127】上記技法を図15(a)に示す回路の例に適
用すると、電力消費は全体で15.4%削減される。
【0128】選択的遅延が挿入される場合には、以下の
3つの条件を満たしているかを確認する必要がある。第
1に、選択的遅延のブロックによる効果が、そのブロッ
クが消費する電力以上であること。第2に、立ち上がり
遅延ブロックの挿入によって、遅延クロックの入力にお
いて立ち上がり遷移があるクロックのサイクルにおいて
のみ、マルチプレクサを介してグリッチの伝播が低減さ
れること。従って、選択的立ち上がり遅延ブロックを挿
入する事が望ましい信号において、立ち上がり遷移の確
率が高レベルでなければならない。第3に、選択的遅延
ブロックの挿入によって回路の遅延が増大しないことを
保証するために、十分な時間的余裕を有する選択信号に
対してのみ遅延ブロックを挿入すること。全体でmビッ
トのマルチプレクサに関しては、選択信号S及びその補
数であるバーS毎に、1つの選択的立ち上がり遅延を有
していれば十分であることに注意すべきである。この低
コストの解決方法を実現するために、マルチプレクサ
(機能S1.A+S2.Bを実現するセレクタ)の代わりに
mビットセレクタを使用する。この2つの選択信号(S
1及びS2)は、明らかにセレクタの外部でS及びバーS
として生成される。
【0129】2.2.2 マルチプレクサネットワーク
を再構成することによって、グリッチを含むデータ信号
を低減する方法 マルチプレクサの再構成による変形は、データ信号のグ
リッチの伝播を低減するのにも使用される。この概念
を、図16を参照して考察する。この図16は、請求項
14、15、及び24に対応するものである。GCDを
実施するRTL回路のほんの一部が例として図16(a)
に示されている。減算器の出力c20は、多くのグリッチ
を有しており、図に示すマルチプレクサとそのマルチプ
レクサによって提供されるロジックを介して伝播する。
ここで信号Yは、グリッチのないものと仮定する。
【0130】図16(b)は、図16(a)と同等の2-to-
1概念マルチプレクサを示したものである。選択信号CY
が、出力結果に影響を及ぼさないドントケア(don't ca
re)である場合、すなわちCc20+CYが恒真式でない場
合(すなわちCc20、CYがともに0である場合)がある
という事実を使用する。図16(a)では、CYが0である
場合は常に、入力0(すなわちc20)が選択される。こ
れは、オフセットのCY(即ちCc20が1の場合に、CY
が0である場合)だけでなく、ドントケア条件の組も含
んでいる。この場合、挙動合成ツールが、制御ロジック
を単純化するために、全てのドントケア条件において選
択信号を0に指定する。このドントケア条件は、ドント
ケアの場合にマルチプレクサのグリッチが少ないデータ
入力を選択することによって利用可能である。
【0131】図16(c)に示す2-to-1マルチプレクサの
変形例は、この考えを表すものである。マルチプレクサ
の入力1としてグリッチの多いデータ入力c20を有し、
従って選択信号がCc20になるように強制することによ
って、グリッチを含むデータ入力ができるだけ選択され
ないように保証し、マルチプレクサの出力に対するグリ
ッチの伝播を低減する。
【0132】2.2.3 クロッキング制御信号によっ
て、データ信号のグリッチを抑止する方法 前述のグリッチを含むデータ信号を扱う技法がグリッチ
による電力消費を低減させるのに適さない、または十分
でない場合、データ信号のグリッチの発生を抑えるため
に、制御信号をクロッキングする方法を使用する。
【0133】例えば、マルチプレクサに対する選択入力
及びデータ入力の両方がグリッチを含み、マルチプレク
サの再構成による変形によってはグリッチを含む選択信
号を排除できない場合、この問題を解決するためにクロ
ッキングを用いる。
【0134】前述したように、クロック期間の前半で制
御信号が特定の値を有するようにする。この技法を更に
詳しく説明するために、図17(a)に示す回路について
考える。
【0135】減算器の出力c20はグリッチを含み、2-to-
1マルチプレクサのデータ入力に提供される。この時点
で、マルチプレクサの出力、MUXOUTにおけるグリッチを
含む遷移数は910.5、グリッチを含まない遷移数は
285.5であり、かなりのグリッチが発生しているこ
とがわかる。
【0136】選択信号Cc20をクロッキングすることに
よって、このようなグリッチの発生を低減することがで
きる。マルチプレクサに対する選択信号の値が、クロッ
ク期間の前半で0にされるために、この期間内におい
て、マルチプレクサはデータ入力Yの値を選択する。従
って、クロック期間の前半のほとんどはマルチプレクサ
において減算器の出力からのグリッチが排除される。
【0137】この例では、このように選択信号Cc20
クロッキングすることによって、マルチプレクサの出
力、MUXOUTにおけるグリッチを含む遷移数は536、グ
リッチを含まない遷移数は285.5であり、グリッチ
の発生をかなり低減することができている。
【0138】図17(b)には、そのクロック期間の間の
波形の例、元の選択信号Cc20、及びクロック化選択信
号が示されている。前述したように、マルチプレクサへ
の選択信号において要求される到着時間と、クロック化
選択信号に関して潜在的に導入されうる余分な遷移につ
いては、この技法を適用する前に十分考慮することが重
要である。
【0139】2.3 制御信号及びデータ信号からのグ
リッチ伝播の低減を実現するための手順 ここまで、制御信号からのグリッチ伝播の低減及びデー
タ信号からのグリッチ伝播の低減を実現するための様々
な技法について説明した。ここでは、RTL回路内のコ
ンポーネントに適切な順序で、これらのさまざまなグリ
ッチ低減技法を適用するグリッチ低減手順について説明
する。この手順の疑似コードが図18に示されている。
これは、請求項26及び28に対応するものである(後
述する図21についても同様)。
【0140】RTL回路は、RTLブロックの相互接
続、またはレジスタ、マルチプレクサ、制御ノード、ま
たは機能ユニットとして機能するノードの相互接続を有
するものと仮定する。機能ユニットは、加算器、減算
器、コンパレータ、またはベクトルロジックオペレータ
のような算術演算ユニットを含むものである。
【0141】COLLAPSE_MUX_NETWORKSという手順は、
RTL回路全体に亘るマルチプレクサネットワークを、
前述したn-to-1概念マルチプレクサにする。さまざまな
グリッチ低減技法に適用するためには、信号の統計、グ
リッチ動作、及び回路内のさまざまな信号の遅延に関す
る情報が必要である。その信号は、機能ユニット、レジ
スタ、コンパレータ、2-to-1マルチプレクサ等のRTL
ユニットのそれぞれに関する制御信号及び出力信号を含
むものである。
【0142】まず、初期のテクノロジーマップされたR
TL回路のゲートレベルにおけるインプリメンテーショ
ンを得て、シミュレータを用いて信号統計及び動作に関
する必要な情報を収集する。RTL回路のノードに対す
るグリッチ低減技法の適用は、推移可能なファンアウト
内の他の全てのノードにおける信号統計とグリッチ動作
に影響を及ぼす。前記依存関係を考慮に入れるために、
RTL回路を最初の入力またはレジスタ出力から、最初
の出力またはレジスタ入力までにレベル分けし、レベル
分けされた順にノードを巡回することによって、グリッ
チを低減するための変形を適用する。信号統計、グリッ
チ動作、及び遅延が、あるレベルにおける全てのノード
が巡回された後で、テクノロジーマップされたネットリ
ストを段階的に変更することによって再計算される。
【0143】GR_TRANSFORMという手順は、RTL回路
内の所定のノードにおいて、グリッチの発生と伝播を低
減する。所与のノードがn-to-1マルチプレクサノードで
ある場合、CREATE_MINGLITCH_MUX_TREE_LEVELとい
う手順が、対応するマルチプレクサツリーの1レベルを
構成する2-to-1マルチプレクサの組を抽出することによ
って、n-to-1マルチプレクサを分解するために採用さ
れ、結果的に、生成された2-to-1マルチプレクサの出力
におけるグリッチ動作が最小化される。所与のノード
が、1つまたは複数の制御信号を生成するCONTROL(制
御)ノードである場合、制御信号におけるグリッチ動作
を低減する目的でグリッチ低減技法を適用する。
【0144】CREATE_MINGLITCH_MUX_TREE_LEVELと
いう手順は、1つのn-to-1概念マルチプレクサを、1つ
の[n/2]-to-1概念マルチプレクサにデータを提供する[n
/2]個の2-to-1マルチプレクサに分解する。グリッチを
含む制御信号を排除し、データ入力の相関を最大化し、
更にできるだけグリッチを含むデータ入力を選択しない
ようにするためにデータ入力をグループ化することによ
って、このように生成された様々な2-to-1マルチプレク
サの出力におけるグリッチ動作を最小化する。更に、生
成された各2-to-1マルチプレクサのどのビットスライス
(ビットスライスがもしあれば)にコンセンサス項を付
加するのか、どのビットスライスに選択的遅延を付加す
るのか、及びその生成された2-to-1マルチプレクサの選
択入力に提供される制御信号をクロック化するかどうか
について判定を行う。
【0145】3. レジスタへのクロック入力をゲート
することによって、レジスタの電力消費を低減する方法 前述したように、レジスタが消費電力のかなりの部分を
占めていることがわかっている。レジスタによる電力消
費の大部分は、レジスタへのクロック入力の遷移に起因
する。そこで、レジスタの電力消費を低減するために、
レジスタへのクロック入力をゲートする技法を提供す
る。ゲートされたクロック信号がグリッチを含まず、そ
のクロッキング方法に関して要求されるタイミング制約
を満たすことを保証するのは重要なことである。レジス
タへのクロック入力に対するゲート化の制約を導出する
本発明の手順は、こうした制約を満たすことを保証する
ものである。
【0146】クロックを停止する条件を、状態遷移グラ
フ(STG)における自己ループ及び到達可能性のない
状態の識別に基づいて、自動的に検知する方法は、文献
6に記載されている。
【0147】クロックをゲートする技法に関する本発明
の特徴は、以下に述べるとおりである。(i)回路内の各
レジスタに関する個別のゲート化条件を識別し、クロッ
クをゲート化する機会をより多くする。(ii)エッジトリ
ガーフリップフロップを有する設計にクロックをゲート
化する技法を適用する方法を提供する。(iii)与えられ
たRTL回路の構造分析に基づいて手順が提供され、そ
れが設計内のレジスタ全て(データパスレジスタを含
む)に適用可能である。
【0148】文献6に記載された技法では、回路のST
Gを必要とし、従って設計の制御ロジック部分及びラン
ダムロジック部分にしか適用可能でない。
【0149】図19には、レジスタに対するクロックの
ゲート化の技法の例が示されている。これは請求項1
6、17、及び25に対応するものである(後述する図
20についても同様)。図19(a)の回路においては、
第2のタイプのコンパレータの出力が0の場合、レジス
タが前の値をリロードすることに注意すべきである。従
って、このコンパレータの出力が0である場合は常に、
レジスタへのクロック入力の遷移を抑止することができ
る。この例では、設計が、単一位相立ち上がりエッジト
リガーフリップフロップに基づいていると仮定する。
【0150】図19(b)は、レジスタへのクロック入力
をゲート化する2つの方法を示している。これらの方法
をそれぞれ方法1、方法2として参照する。方法1の根
拠は、コンパレータの出力が0の場合は常に、レジスタ
のクロック入力が0にされ、その結果クロックを遷移す
る必要性がなくなる。方法2の根拠は、コンパレータの
出力が0の場合は常に、レジスタのクロック入力が1に
されること以外は、方法1と同様のものである。
【0151】従って、両方の方法は同様のものである
が、タイミング制約を考慮に入れると、これらの方法は
互いに異なるものとなる。この理由を示すために、図1
9(c)に示す両方の方法に関する波形の例について考え
る。
【0152】方法1に関しては、クロックのエッジが立
ち上がる前に(例えばt=0)、コンパレータの出力が
0であることが必要とされる。これは、新たなコンパレ
ータへの入力はt=0の時のみ適用されるので不可能で
あり、コンパレータは明らかに、コンパレータの出力が
安定する前に有限非ゼロの遅延が必要である。従って、
方法1は、タイミング制約を考慮すると、有効に機能し
ない。
【0153】一方、方法2は、クロック期間の半分より
前でゲート化条件が安定する限り、有効に機能する。
【0154】レジスタへのクロック入力をゲート化する
ためには、最初にレジスタが新しい値をロードする必要
のない条件の組を求める必要がある。これらのゲート化
条件は、設計が挙動記述から合成される場合は、挙動合
成によって簡単に得られる。資源共用に関して挙動合成
で使用される寿命分析によって、各レジスタが新しい値
をロードする必要のある正確な条件の組が明らかにされ
る。通常、こうして得られたゲート化の条件は、コント
ローラの現在の状態と、挙動記述内の様々な条件を評価
するコンパレータの出力を含む表現形式である。
【0155】また、設計のRTL記述のみが与えられた
場合、ゲート化条件を導出するために以下の手順を使用
する。各レジスタに関して、そのレジスタの出力がマル
チプレクサネットワークのデータ入力の1つとしてフィ
ードバックされているかどうか判定するために、そのレ
ジスタにデータを提供するマルチプレクサネットワーク
を分析する。こうしたレジスタの出力からそのデータ入
力に戻る自己ループの存在は、通常手で設計されたRT
L回路及び高レベル合成ツールで生成されたRTL回路
にみられる。この自己ループが論理的に起動される条件
は、レジスタがその前のデータ値を保持する条件を表し
ている。識別されたマルチプレクサへのデータ入力から
始まって、レジスタの入力に接続されているそのマルチ
プレクサネットワークの出力までにわたってパスを巡回
する。次に、その起動されるべきパスに関する条件を、
そのパスに沿った個々のマルチプレクサに接続された選
択信号に関して計算する。パスが起動される条件は、そ
のパスに沿った各マルチプレクサがそのパス上の入力を
選択する条件の結合として表すことができる。
【0156】レジスタとそれにデータを与えるマルチプ
レクサの例が図20に示されている。図19で示された
方法2を用いるものと仮定すると、レジスタに対するク
ロック入力に関するゲート化条件は、contr[0].バー(c
ontr[1])である。
【0157】ここで一般的ケース、すなわち、RTL回
路のレジスタが、マルチプレクサネットワーク内のn個
の2-to-1マルチプレクサを通る自己ループを有する場合
について考える。自己ループを形成するパス内のマルチ
プレクサがパス上の入力を選択する条件をSel1、Se
l2、...、Selnを用いて表す。Seliは、パス上の入力
が、マルチプレクサの入力1か入力0かによって、対応
するマルチプレクサの選択入力に提供される制御信号と
等しいか又は、その補数と等しい。レジスタのクロック
に関するゲート化条件は、そのためSel1.Sel2....、Sel
nで表される。
【0158】マルチプレクサネットワーク内の様々なマ
ルチプレクサに対する選択信号を計算するためのロジッ
クは、既にインプリメントされているので、あとは、必
要に応じて制御信号をインバートし、パス内の各マルチ
プレクサに関する個々の条件の結合を計算するために必
要なロジックを追加するだけである。ゲート化の条件を
導出するための上記手順は、要求されたタイミング制約
(ゲート化の条件はクロック期間の前半で安定していな
ければならない)を満たすことを保証しない。要求され
たタイミング制約を満たさない場合、レジスタに対する
クロック入力の擬似的な遷移が発生する。このことは、
消費電力を増大させるだけでなく、レジスタに不正な値
がロードされる可能性がある。これを回避する1つの方
法は、設計のクロックを遅くすることである。また、同
じクロック期間を維持しながら、クロックの衝撃係数を
変更する可能性を調べることもできる。しかし、これら
の方法は、性能の劣化または最初のクロッキング方法の
変更を含み、好ましくないことがある。
【0159】要求されたタイミング制約を満たすため
に、以下のように前記手順を拡張した。ゲート化条件に
関する表現を前述のように計算した後、ゲート化条件に
おける到着時間がクロック期間の半分より小さいかどう
かを、初期のインプリメンテーションを使用してチェッ
クする。この条件を満たしていない場合、元のゲート化
条件で使用された項の組を用いて、タイミング制約を満
足するよう保証されたゲート化条件を導出する。ゲート
化条件の表現は最初に積の和の形に変換され、高レベル
遅延評価装置FEST(文献9参照)を使用してそれぞ
れの積の項を表す信号における到着時間を判定する。積
の項の部分集合は、積の項と選択された項のOR演算に
必要なロジックの遅延の和の中で最も大きい到達時間
が、クロック期間の半分より小さくなるように識別され
る。
【0160】文献6には、ゲート化条件の限定された範
囲を得るためのヒューリスティック技法が記載されてい
る。しかし、この文献の目的はゲート化条件をインプリ
メントするロジックを合成するのに必要なオーバーヘッ
ドを最小化することにある。一方、本発明は、最初の表
現がタイミング制約を満たさないものにする項を排除す
るのが目的である。
【0161】本発明の手順は、各データパスレジスタ毎
に、個別のゲート化条件を導出できるが、レジスタのグ
ループ単位にゲート化条件を組み合わせて、そのグルー
プ内の全てのレジスタへのクロック入力をゲートするの
に使用される単一のゲート化条件も生成することができ
る。
【0162】このような組合せ,即ち、マージの利点
は、クロック分散ネットワークの一部においても不必要
な遷移を排除可能なことである。しかし、複数レジスタ
に対するクロックの遷移は、個々のゲート化条件が全て
満たされた場合にのみ排除される。従って、レジスタの
いくつかに対するクロック入力において抑制された遷移
の数は、マージされたゲート化条件を使用する場合、個
々のゲート化条件によって抑止されうる遷移の数より小
さい。
【0163】4.本発明による技法の適用結果 本発明による電力低減技法を6つのRTL回路に実際に
適用した例を図22に示す。6つのRTL回路はそれぞ
れ、GCD(表中GCDと記載)、バーコードリーダープ
ロセッサ(表中Barcode)(CAD Benchmarking Laborato
ry, Research Triangle Park, NC.によるhttp://www.cb
l.ncsu.eduからダウンロード可能な「High-level synth
esis benchmarks」参照)、無人自動車のコントローラ
(表中UAV)(文献12参照)、ベンディングマシンコン
トローラ(表中Vendor)(D.L.Perryによる、1991年New Y
ork, NY 10020:McGraw-Hill発行の「VHDL」参照)、グ
ラフィックスコントローラチップの一部の線描画プロセ
ス(表中Graphics)(S.Dey、A.Raghunathan、N.K.Jha、
及びK.Wakabayashiによる1996年3月Tech.Rep.96-C007-
4-5016-1,NEC C&C Research Labs, Princeton, NJ発行
の「Controller re-specification to minimize switch
ing activity in controller/data path circuits」、
及びX.25通信プロトコルの一部をインプリメントする転
送プロセス(表中X.25)(文献7参照)である。
【0164】実験に使用された設計フローは図21に示
されている。初期RTL回路は、SECONDS高レベル合成
システム(文献7ないし9参照)を使用してVHDL挙動記
述を合成することによって得られる。これらはNEC CMOS
6 library(文献10参照)にマップされ、マップされ
たゲートレベルのネットリストがCSIM(文献11参照)
を使用してシミュレートされ、回路内の様々な信号のグ
リッチ動作及び信号統計を判定する。
【0165】シミュレーションの結果は、本発明のRT
L電力最適化技法に送られる。この技法は、最初のRT
L設計をグリッチの生成及び伝播を低減させるように変
形する。前述したように、グリッチを低減するための変
形は、全体的なグリッチ動作及び信号統計に影響を与え
る。最大の電力節約を保証するために、変形を実施する
ために使用する情報を段階的に再計算していく必要があ
る。
【0166】従って、RTL回路の1つのレベルにおけ
る全てのRTLノードに対して本発明のグリッチを低減
するための変形を適用し、テクノロジーマップされたネ
ットリストを段階的に変更して変形を反映させ、他のレ
ベルのRTLノードに対してグリッチを低減するための
変形を適用する場合の参考にするためにグリッチ動作と
信号統計を再計算する。元のRTL回路と最適化された
RTL回路の両方は、NECのVARCHSYN合成システム(NEC
CorporationのAdvanced CAD Development Laboratory
から1993年11月に発行された「VARCHSYN Version 2.0 U
sers Manual」参照)を使用して、領域及び遅延に関し
て評価がなされ、CSIMを使用して電力消費に関する評価
がされる。
【0167】シミュレーションに用いられるベクトル
は、以下のように求められる。各設計に関して、設計に
関する挙動ベンチマークを使用してVHDLシミュレータ及
びVSIM(Model Technology, Inc.のVSYSTEM users manu
al参照)により予めスケジュールされた挙動記述をシミ
ュレートし、サイクル毎の入力ベクトルトレースを得
る。上記ステップは、データフロー重視の仕様とは異な
り、計算を実行するのに必要なクロックサイクルの数が
入力値に沿って変化する制御フロー重視設計に対しては
特に重要である。このサイクル毎の入力ベクトルトレー
スは、グリッチ動作と信号統計に関する情報を収集する
ためと、電力消費の初期の設計と最適化された設計を評
価するために使用される。
【0168】図22は、実験の結果を示している。電
力、領域(トランジスタの対の数)、及び遅延に関する
数が、使用されるテクノロジーライブラリへのマッピン
グが行われた後で得られる。これらの結果は、本発明が
RTL設計の電力消費をかなり低減させることを示して
いる。本発明のグリッチ低減技法の目的は、RTL回路
内の様々なブロックの間のグリッチの伝播を低減させる
ことのみによって、電力消費を低減させることである。
【0169】従って、本発明は、グリッチに関わらない
遷移を抑止しようとする他の電力低減技法と組み合わせ
て用いることができる。また、本発明によってもたらさ
れる領域と遅延に関するオーバーヘッドは僅かである。
場合によっては、本発明を適用すると、回路の領域と遅
延が元の回路より僅かながら小さくなることもある。こ
のことは、マルチプレクサの再構成による変形が、制御
ロジックの単純化につながりうることに起因し、結果的
に領域と遅延が小さくなる可能性がある。
【0170】
【発明の効果】本発明は、RTL設計における電力消費
を低減するためにいくつかの技法を提供する。本発明に
よって、回路内の様々なブロックで生成され、そのブロ
ックを介して伝播するグリッチを低減し、グリッチによ
る電力消費を低減することができる。
【0171】また、本発明によって、機能ユニットによ
る電力消費だけでなく、制御フロー重視設計の電力消費
の大部分を消費する可能性がある、設計内のマルチプレ
クサ及びレジスタによる電力消費をも低減することがで
きる。
【0172】また、全体の電力消費の大部分を消費する
可能性があるレジスタの電力のほとんどが、クロック入
力の遷移によるものであるとの観察結果に基づき、RT
L回路の分析から導出された条件に沿って、レジスタへ
のクロック入力をゲートすることによって、クロック信
号にグリッチが発生しないよう保証する。更に、本発明
によって、ほんの僅かな領域と遅延のオーバーヘッドだ
けで電力消費をかなり低減することができる方法が提供
される。
【図面の簡単な説明】
【図1】2つの数の最大公約数(GCD)を求めるためのR
TL回路の例である。
【図2】図1の回路内の様々な部分の電力消費の割合を
示す表である。
【図3】図1の回路におけるグリッチを含む動作、及び
グリッチを含まない動作を各信号毎に示す表である。
【図4】(a)及び(b)は、同じ機能を実現する、異なる2
つのアーキテクチャを示す図である。
【図5】データパスブロックの代表的な各要素に関し
て、各要素のグリッチを生成する程度を示す図である。
【図6】(a)及び(b)は、図1のRTL回路のデコードロ
ジックの一部を示す図である。
【図7】バーコードリーダーのプリプロセッサであるR
TL回路の一部における制御信号のインプリメンテーシ
ョンを示す回路の例を示す図である。
【図8】(a)及び(b)は、コントローラに関する部分的な
状態遷移グラフ、及びゲートの入力と出力が、どのよう
にこれらの2つの状態遷移の下で変化するかを示す図で
ある。
【図9】マルチプレクサの機能を実現する回路の例を示
す図である。
【図10】(a)、(b)、(C)、及び(d)は、マルチプレクサ
の各ビットスライスの回路の状態を示す図である。
【図11】本発明の、追加のゲートを加える方法を適用
した回路の実施例を示す図である。
【図12】(a)、(b)、及び(c)は、本発明の、マルチプ
レクサツリーを再構成する方法を示す図である。
【図13】(a)、(b)、及び(c)は、本発明の、マルチプ
レクサツリーを再構成する方法を示す図である。
【図14】(a)、(b)、及び(c)は、本発明の、制御信号
にクロック信号を使用する方法をマルチプレクサに適用
した例を示す図である。
【図15】(a)、(b)、及び(c)は、本発明の、選択的立
ち上がり/立ち下がり遅延を使用する方法をマルチプレ
クサに適用した例を示す図である。
【図16】(a)、(b)、及び(c)は、本発明によるマルチ
プレクサの再構成による変形を、GCDを実施するRT
L回路の一部に適用した例を示す図である。
【図17】(a)及び(b)は、本発明の制御信号をクロッキ
ングする方法をインプリメントした回路の例を示す図で
ある。
【図18】本発明のグリッチ低減技法を適用するグリッ
チ低減手順の疑似コードを示す図である。
【図19】(a)、(b)、及び(c)は、本発明のレジスタに
対するクロックのゲート化技法による回路のインプリメ
ンテーションの例を示す図である。
【図20】レジスタへのクロック入力をゲート化するマ
ルチプレクサの例を示す図である。
【図21】本発明による電力低減技法を実現するための
設計フローを示す図である。
【図22】本発明による電力低減技法を6つのRTL回
路に実際に適用した結果を示す表である。
【符号の説明】
11 挙動仕様 12 高レベル合成システム 13 RTLの初期インプリメンテーション 14 RTL合成 15 テストベンチ 16 機能シミュレーション 17 電力シミュレーション(CSIM) 18 テクノロジーマップされたネットリスト 19 動作プロファイル 20 RTLグリッチ低減技法
───────────────────────────────────────────────────── フロントページの続き (56)参考文献 特開 平4−154316(JP,A) (58)調査した分野(Int.Cl.7,DB名) G06F 7/00 G06F 17/10 H03K 19/20

Claims (28)

    (57)【特許請求の範囲】
  1. 【請求項1】 入力論理信号と入力制御信号を受け、前
    記入力論理信号及び前記入力制御信号に対して第1の論
    理処理を施し、前記入力論理信号によって定まる中間論
    理処理信号を前記入力制御信号によって定まるタイミン
    グで出力する第1の回路ブロックと、前記入力論理信号
    に対して、第1の論理処理と同様な第2の論理処理を行
    い、前記入力論理信号のみによって定まる付加論理処理
    信号を前記中間論理処理信号とは異なるタイミングで出
    力する第2の回路ブロックと、前記中間論理処理信号と
    前記付加論理処理信号を受け、第3の論理処理を行うこ
    とにより出力論理信号を出力する第3の回路ブロックと
    を備え、前記第3の論理処理では、前記付加論理処理信
    号が存在する場合と、存在しない場合とにおいて、同じ
    結果が得られるような論理処理が行われることを特徴と
    する論理回路。
  2. 【請求項2】 請求項1記載の論理回路において、前記
    第1の回路ブロックと第3の回路ブロックとはマルチプ
    レクサを構成しており、 前記第1の回路ブロックは、前記入力論理信号として第
    1及び第2の入力論理信号を受け、更に前記入力制御信
    号を受けたタイミングで、前記第1の入力論理信号と前
    記入力制御信号、及び前記第2の入力論理信号と前記入
    力制御信号の組に関して、第1の論理処理を行って、そ
    れぞれ第1及び第2の中間論理処理信号とし、 前記第2の回路ブロックは、前記第1の回路ブロックに
    入力される前記第1及び第2の入力論理信号を受ける
    と、それらの入力論理信号に対して前記第2の論理処理
    を行って、前記付加論理処理信号とし、 前記第3の回路ブロックは、前記第1及び第2の中間論
    理処理信号と前記付加論理処理信号に対して第3の論理
    処理を行って、前記出力論理信号とすることを特徴とす
    る論理回路。
  3. 【請求項3】 請求項2記載の論理回路において、前記
    第1の論理処理は、前記第1の入力論理信号と前記入力
    制御信号に関しては、前記入力制御信号の否定と前記第
    1の入力論理信号のANDをとる処理であり、前記第2
    の入力論理信号と前記入力制御信号に関しては、前記第
    2の入力論理信号と前記入力制御信号のANDをとる処
    理であり、 前記第2の論理処理は、前記第1の入力論理信号と第2
    の入力論理信号のANDをとる処理であり、 前記第3の論理処理は、前記第1の中間論理処理信号、
    第2の中間論理処理信号、及び前記付加論理処理信号の
    ORをとる処理であり、 前記入力制御信号に応じて、前記出力論理信号として、
    前記第1の入力論理処理信号又は前記第2の入力論理処
    理信号のどちらかが出力されることを特徴とする論理回
    路。
  4. 【請求項4】 請求項3に記載された前記論理回路を2
    つ以上組み合わせることによって構成され、3つ以上の
    前記入力論理信号のうち1つの入力論理信号を選択する
    マルチプレクサツリーにおいて、 前記マルチプレクサツリーで最初に前記入力論理信号を
    受ける前記論理回路は、最も相関関係の高い2つの前記
    入力論理信号を入力するように構成されることを特徴と
    するマルチプレクサツリー。
  5. 【請求項5】 請求項4に記載のマルチプレクサツリー
    において、前記関連性の高い2つの前記入力論理信号
    は、同じ期間に同一のビット値をとる可能性が高い信号
    の組であることを特徴とするマルチプレクサツリー。
  6. 【請求項6】 第1及び第2の入力論理信号と入力制御
    信号を受け、前記第1の入力論理信号と前記入力制御信
    号、及び前記第2の入力論理信号と前記入力制御信号の
    組に関して、第1の論理処理を行うことにより、それぞ
    れ第1及び第2の中間論理処理信号を出力する第1の回
    路ブロックと、 前記第1及び第2の中間論理処理信号を受け、その前記
    第1及び第2の中間論理処理信号に対して第2の論理処
    理を行うことにより出力論理処理信号を出力する第2の
    回路ブロックとを有するマルチプレクサを構成する論理
    回路において、3つ以上の前記入力論理信号のうち1つ
    の入力論理信号を選択する回路を構成するために、2つ
    以上の前記マルチプレクサを組み合わせてなるマルチプ
    レクサツリーを構成する場合、 前記各マルチプレクサには、特定の入力制御信号の入力
    が禁止されるように構成されることを特徴とする論理回
    路。
  7. 【請求項7】 請求項6に記載の論理回路において、前
    記特定の入力制御信号が、過渡的な電圧スパイクである
    グリッチを伴う信号であることを特徴とする論理回路。
  8. 【請求項8】 第1及び第2の入力論理信号と入力制御
    信号を受け、前記第1の入力論理信号と前記入力制御信
    号、及び前記第2の入力論理信号と前記入力制御信号の
    組に関して、第1の論理処理を行うことにより、それぞ
    れ第1及び第2の中間論理処理信号を出力する第1の回
    路ブロックと、 前記第1及び第2の中間論理処理信号を受け、その前記
    第1及び第2の中間論理処理信号に対して第2の論理処
    理を行うことにより出力論理信号を出力する第2の回路
    ブロックとを有するマルチプレクサにおいて、 前記第1の回路ブロックが前記入力制御信号に代えて、
    前記入力制御信号とクロック信号を論理処理した信号を
    受けるよう構成されたことを特徴とする論理回路。
  9. 【請求項9】 請求項8に記載の論理回路において、前
    記入力制御信号とクロック信号を論理処理した信号が、
    クロック信号の否定と前記入力制御信号のANDをとっ
    た信号であることを特徴とする論理回路。
  10. 【請求項10】 請求項8に記載の論理回路において、
    前記入力制御信号とクロック信号を論理処理した信号
    が、クロック信号と前記入力制御信号のORをとった信
    号であることを特徴とする論理回路。
  11. 【請求項11】 第1及び第2の入力論理信号と入力制
    御信号を受け、前記第1の入力論理信号と前記入力制御
    信号、及び前記第2の入力論理信号と前記入力制御信号
    の組に関して、第1の論理処理を行うことにより、それ
    ぞれ第1及び第2の中間論理処理信号を出力する第1の
    回路ブロックと、 前記第1及び第2の中間論理処理信号を受け、その前記
    第1及び第2の中間論理処理信号に対して第2の論理処
    理を行うことにより出力論理信号を出力する第2の回路
    ブロックとを有するマルチプレクサにおいて、 前記第1の回路ブロックが、前記入力制御信号を選択的
    に遅延させるための第3の論理処理を含むことを特徴と
    する論理回路。
  12. 【請求項12】 請求項11に記載の論理回路におい
    て、前記第1の回路ブロックで行われる前記第1の論理
    処理は、前記第1の入力論理信号と前記入力制御信号に
    関して、前記入力制御信号の否定と前記第1の入力論理
    信号のANDをとる第1のAND回路と、前記第2の入
    力論理信号と前記入力制御信号に関して、前記第2の入
    力論理信号と前記入力制御信号のANDをとる第2のA
    ND回路によって行われ、 前記第3の論理処理は、 前記第1の入力論理信号と前記入力制御信号に関して前
    記第1の論理処理を行う際には、前記入力制御信号の否
    定が立ち上がり遷移である場合のみ、前記入力制御信号
    の否定が前記第1のAND回路に入力されるタイミング
    を、前記第1の入力論理信号の前記第1のAND回路へ
    の入力より遅延させる第1の遅延処理、 前記第2の入力論理信号と前記入力制御信号に関して前
    記第1の論理処理を行う際には、前記入力制御信号が立
    ち上がり遷移である場合のみ、前記入力制御信号が前記
    第2のAND回路に入力されるタイミングを、前記第2
    の入力論理信号の前記第2のAND回路への入力より遅
    延させる第2の遅延処理を有することを特徴とする論理
    回路。
  13. 【請求項13】 請求項12に記載の論理回路におい
    て、前記第1の遅延処理は、前記入力制御信号の否定を
    入力し、それを遅延させて出力する遅延素子、及びその
    遅延された出力と前記入力制御信号の否定とのANDを
    とるAND回路によって実現され、それらが、前記第1
    のAND回路の前記入力制御信号の否定の入力の直前に
    配置され、 前記第2の遅延処理は、前記入力制御信号を入力し、そ
    れを遅延させて出力する遅延素子、及びその遅延された
    出力と前記入力制御信号とのANDをとるAND回路に
    よって実現され、それらが、前記第2のAND回路の前
    記入力制御信号の入力の直前に配置されることを特徴と
    する論理回路。
  14. 【請求項14】 第1及び第2の入力論理信号と入力制
    御信号を受け、前記第1の入力論理信号と前記入力制御
    信号、及び前記第2の入力論理信号と前記入力制御信号
    の組に関して、第1の論理処理を行うことにより、それ
    ぞれ第1及び第2の中間論理処理信号を出力する第1の
    回路ブロックと、 前記第1及び第2の中間論理処理信号を受け、その前記
    第1及び第2の中間論理処理信号に対して第2の論理処
    理を行うことにより出力論理信号を出力する第2の回路
    ブロックとを有するマルチプレクサにおいて、 前記第1及び第2の入力論理信号のどちらが前記出力論
    理信号として出力されてもいい状況では、特定の入力論
    理信号が選択されるように前記第1の回路ブロックの前
    記第1及び第2の入力論理信号を調整することを特徴と
    する論理回路。
  15. 【請求項15】 請求項14に記載の論理回路におい
    て、前記第1の論理処理は、前記第1の入力論理信号と
    前記入力制御信号に関して、前記入力制御信号の否定と
    前記第1の入力論理信号のANDをとる第1のAND回
    路と、前記第2の入力論理信号と前記入力制御信号に関
    して、前記第2の入力論理信号と前記入力制御信号のA
    NDをとる第2のAND回路によって実現され、 前記第2の論理処理は、前記第1の中間論理処理信号と
    第2の中間論理処理信号のORをとるOR回路によって
    実現され、 前記入力制御信号の値に応じて選択されるべき前記第1
    または第2の入力論理信号として、前記特定の入力論理
    信号が割り当てられるよう構成されることを特徴とする
    論理回路。
  16. 【請求項16】 第1及び第2の入力論理信号と入力制
    御信号を受け、前記第1の入力論理信号と前記入力制御
    信号、及び前記第2の入力論理信号と前記入力制御信号
    の組に関して、第1の論理処理を行うことにより、それ
    ぞれ第1及び第2の中間論理処理信号を出力する第1の
    回路ブロックと、前記第1及び第2の中間論理処理信号
    を受け、その前記第1及び第2の中間論理処理信号に対
    して第2の論理処理を行うことにより出力論理信号を出
    力する第2の回路ブロックとを有するマルチプレクサ、
    及び前記出力論理信号を記憶するレジスタであって、第
    1のクロック信号が提供されている前記レジスタにおい
    て、 前記入力制御信号の内容が所定の値であるときは、前記
    レジスタに前記出力論理信号を新たに記憶させる必要が
    ないという条件が存在する場合、前記第1のクロック信
    号と前記入力制御信号に対して第3の論理処理を施し、
    第2のクロック信号を生成し、前記レジスタに提供する
    第3の回路ブロックを有し、 前記入力制御信号が前記所定の値をとったときに、前記
    第2のクロック信号において、余分な遷移が抑止される
    ことを特徴とする論理回路。
  17. 【請求項17】 請求項16に記載の論理回路におい
    て、前記第3の論理処理が、前記入力制御信号の否定と
    クロック信号のORをとって、その結果を前記入力制御
    信号とする処理であることを特徴とする論理回路。
  18. 【請求項18】 入力論理信号と入力制御信号とを受
    け、前記入力論理信号及び前記入力制御信号に対して論
    理処理を行い、前記入力制御信号によって規定されるタ
    イミングで出力論理信号を出力する論理信号処理方法に
    おいて、 前記入力論理信号の前記論理処理には、冗長な構成を備
    えた冗長論理回路を用意するステップと、 前記入力論理信号及び入力制御信号のいずれか一方の前
    記冗長論理回路に対する入力タイミング、及び、前記冗
    長論理回路からの出力タイミングの少なくとも一方を制
    御するステップとを備え、 前記冗長論理回路に対するタイミングを制御することに
    より、前記入力論理信号及び入力制御信号のいずれかに
    伴うグリッチを防止することを特徴とする論理信号処理
    方法。
  19. 【請求項19】 入力論理信号と入力制御信号を受け、
    前記入力論理信号及び前記入力制御信号に対して第1の
    論理処理を施し、前記入力論理信号によって定まる中間
    論理処理信号を前記入力制御信号によって定まるタイミ
    ングで出力する第1のステップと、前記入力論理信号に
    対して、第1の論理処理と同様な第2の論理処理を行
    い、前記入力論理信号のみによって定まる付加論理処理
    信号を前記中間論理処理信号とは異なるタイミングで出
    力する第2のステップと、前記中間論理処理信号と前記
    付加論理処理信号を受け、第3の論理処理を行うことに
    より出力論理信号を出力する第3のステップとを有し、
    前記第3の論理処理では、前記付加論理処理信号が存在
    する場合と、存在しない場合とにおいて、同じ結果が得
    られるような論理処理が行われることを特徴とする論理
    信号処理方法。
  20. 【請求項20】 請求項19に記載された論理信号処理
    方法において、3つ以上の前記入力論理信号のうち1つ
    の入力論理信号を選択するために、前記論理信号処理方
    法を組み合わせて実行する方法において、 前記論理信号処理方法の組み合わせで最初に前記入力論
    理信号を受ける前記第1のステップが、最も関連性の高
    い2つの前記入力論理信号を入力することを特徴とする
    論理信号処理方法。
  21. 【請求項21】 第1及び第2の入力論理信号と入力制
    御信号を受け、前記第1の入力論理信号と前記入力制御
    信号、及び前記第2の入力論理信号と前記入力制御信号
    の組に関して、第1の論理処理を行うことにより、それ
    ぞれ第1及び第2の中間論理処理信号を出力する第1の
    ステップと、 前記第1及び第2の中間論理処理信号を受け、その前記
    第1及び第2の中間論理処理信号に対して第2の論理処
    理を行うことにより出力論理処理信号を出力する第2の
    ステップとを有する論理信号処理方法において、3つ以
    上の前記入力論理信号のうち1つの入力論理信号を選択
    するために、2つ以上の前記論理信号処理方法を組み合
    わせて実行する方法において、 前記各論理信号処理方法が、特定の入力制御信号を入力
    しないよう制御されることを特徴とする論理信号処理方
    法。
  22. 【請求項22】 第1及び第2の入力論理信号と入力制
    御信号を受け、前記第1の入力論理信号と前記入力制御
    信号、及び前記第2の入力論理信号と前記入力制御信号
    の組に関して、第1の論理処理を行うことにより、それ
    ぞれ第1及び第2の中間論理処理信号を出力する第1の
    ステップと、 前記第1及び第2の中間論理処理信号を受け、その前記
    第1及び第2の中間論理処理信号に対して第2の論理処
    理を行うことにより出力論理信号を出力する第2のステ
    ップとを有する論理信号処理方法において、 前記第1のステップが、前記入力制御信号に代えて、前
    記入力制御信号とクロック信号を論理処理した信号を受
    けることを特徴とする論理信号処理方法。
  23. 【請求項23】 第1及び第2の入力論理信号と入力制
    御信号を受け、前記第1の入力論理信号と前記入力制御
    信号、及び前記第2の入力論理信号と前記入力制御信号
    の組に関して、第1の論理処理を行うことにより、それ
    ぞれ第1及び第2の中間論理処理信号を出力する第1の
    ステップと、 前記第1及び第2の中間論理処理信号を受け、その前記
    第1及び第2の中間論理信号に対して第2の論理処理を
    行うことにより出力論理信号を出力する第2のステップ
    とを有する論理信号処理方法において、 前記第1のステップが、前記第1の論理処理の中で、前
    記入力制御信号を選択的に遅延させることを特徴とする
    論理信号処理方法。
  24. 【請求項24】 第1及び第2の入力論理信号と入力制
    御信号を受け、前記第1の入力論理信号と前記入力制御
    信号、及び前記第2の入力論理信号と前記入力制御信号
    の組に関して、第1の論理処理を行うことにより、それ
    ぞれ第1及び第2の中間論理処理信号を出力する第1の
    ステップと、 前記第1及び第2の中間論理処理信号を受け、その前記
    第1及び第2の中間論理処理信号に対して第2の論理処
    理を行うことにより出力論理信号を出力する第2のステ
    ップとを有する論理信号処理方法において、 前記第1及び第2の入力論理信号のどちらが選択されて
    もいい状況では、特定の入力論理信号が選択されるよう
    にすることを特徴とする論理信号処理方法。
  25. 【請求項25】 第1及び第2の入力論理信号と入力制
    御信号を受け、前記第1の入力論理信号と前記入力制御
    信号、及び前記第2の入力論理信号と前記入力制御信号
    の組に関して、第1の論理処理を行うことにより、それ
    ぞれ第1及び第2の中間論理処理信号を出力する第1の
    ステップと、前記第1及び第2の中間論理処理信号を受
    け、その前記第1及び第2の中間論理処理信号に対して
    第2の論理処理を行うことにより出力論理信号を生成
    し、第1のクロック信号が提供されているレジスタに記
    憶させる第2のステップとを有する論理信号処理方法に
    おいて、 前記入力制御信号の内容が所定の値であるときは、前記
    レジスタに前記出力論理信号を新たに記憶させる必要が
    ないという条件が存在する場合、前記第1のクロック信
    号と前記入力制御信号に対して第3の論理処理を施し、
    第2のクロック信号を生成し、前記レジスタに提供する
    第3のステップを有し、 前記入力制御信号が前記所定の値をとったときに、前記
    第2のクロック信号において、余分な遷移が抑止される
    ことを特徴とする論理信号処理方法。
  26. 【請求項26】 請求項19ないし25のいずれかに記
    載の論理信号処理方法において、 設計の挙動仕様に基づき、回路の初期インプリメンテー
    ションを取得するインプリメンテーション取得ステップ
    と、 前記インプリメンテーション取得ステップにより得られ
    たインプリメンテーションを所定のライブラリにマップ
    してゲートレベルのネットリストを取得するネットリス
    ト取得ステップと、 前記挙動仕様をシミュレートすることによりサイクル毎
    のベクトルを取得するベクトル取得ステップと、 前記ベクトル取得ステップにより得られた前記ベクトル
    を用いて、前記ネットリスト取得ステップで得られたネ
    ットリストをシミュレートし、電力消費にかかわる信号
    の統計情報を取得する信号統計取得ステップと、 前記信号統計取得ステップにより得られた信号統計に基
    づき、所定のレベルの設計に関して電力消費を低減させ
    るのに適した前記論理信号処理方法のいずれかを自動的
    に選択して適用する低減技法適用ステップと、 回路全体の電力消費が最小になるように、前記信号統計
    取得ステップと前記低減技法適用ステップを各レベルに
    関して繰り返す繰り返し制御ステップを有することを特
    徴とする論理信号処理方法。
  27. 【請求項27】 入力論理信号と入力制御信号とを受
    け、前記入力論理信号及び前記入力制御信号に対して論
    理処理を行い、前記入力制御信号によって規定されるタ
    イミングで出力論理信号を出力する論理信号処理方法を
    実現させるプログラムを記録したコンピュータ読み取り
    可能な記録媒体であって、前記プログラムは、 前記入力論理信号の前記論理処理には、冗長な構成を備
    えた冗長論理回路を用意するステップと、 前記入力論理信号及び入力制御信号のいずれか一方の前
    記冗長論理回路に対する入力タイミング、及び、前記冗
    長論理回路からの出力タイミングの少なくとも一方を制
    御するステップとを備え、 前記冗長論理回路に対するタイミングを制御することに
    より、前記入力論理信号及び入力制御信号のいずれかに
    伴うグリッチを防止することを特徴とするコンピュータ
    読み取り可能な記録媒体。
  28. 【請求項28】 複数の入力信号を受け、これら入力信
    号に関する論理処理を行って、出力信号を出力する論理
    回路に使用され、前記入力信号の少なくとも一つに伴う
    グリッチの影響が前記出力信号にあらわれないようにす
    る論理回路のグリッチ防止方法において、 前記グリッチを伴う入力信号を特定入力信号として特定
    するステップと、 前記特定入力信号と他の入力信号とのタイミング関係及
    び前記特定入力信号と他の入力信号との相関関係の少な
    くとも一方を判断するステップと、 判断結果にしたがって、前記グリッチが前記出力信号に
    あらわれる頻度を軽減するように、前記タイミング関係
    及び前記相関関係の少なくとも一方を変更するステップ
    とを有することを特徴とする論理回路のグリッチ防止方
    法。
JP15448998A 1997-06-03 1998-06-03 グリッチ分析と低減に重点をおいたレジスタトランスファレベルの電力消費最適化回路、方法、及び記録媒体 Expired - Fee Related JP3331968B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US5093997P 1997-06-03 1997-06-03
US60/50939 1997-06-03

Publications (2)

Publication Number Publication Date
JPH1173302A JPH1173302A (ja) 1999-03-16
JP3331968B2 true JP3331968B2 (ja) 2002-10-07

Family

ID=21968452

Family Applications (1)

Application Number Title Priority Date Filing Date
JP15448998A Expired - Fee Related JP3331968B2 (ja) 1997-06-03 1998-06-03 グリッチ分析と低減に重点をおいたレジスタトランスファレベルの電力消費最適化回路、方法、及び記録媒体

Country Status (3)

Country Link
US (1) US6324679B1 (ja)
JP (1) JP3331968B2 (ja)
DE (1) DE19824796B4 (ja)

Families Citing this family (34)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1161817B1 (en) 1999-03-17 2006-10-25 Broadcom Corporation Network switch
US7643481B2 (en) * 1999-03-17 2010-01-05 Broadcom Corporation Network switch having a programmable counter
US6523157B1 (en) * 1999-04-30 2003-02-18 Matsushita Electric Industrial Co., Ltd. Method for designing integrated circuit device and database for design of integrated circuit device
US6859454B1 (en) * 1999-06-30 2005-02-22 Broadcom Corporation Network switch with high-speed serializing/deserializing hazard-free double data rate switching
JP3836276B2 (ja) * 1999-09-17 2006-10-25 株式会社東芝 集積回路のノイズ及び電力の評価方法
JP2001142927A (ja) * 1999-11-16 2001-05-25 Matsushita Electric Ind Co Ltd 半導体集積回路装置の設計方法,回路の消費電力解析方法及び消費電力解析装置
EP1232604B1 (en) * 1999-11-16 2003-10-15 Broadcom Corporation Method and network switch with data serialization using hazard-free multilevel glitchless multiplexing
KR20020034540A (ko) * 2000-11-02 2002-05-09 박종섭 이동통신 제어국 시스템에서의 1pps 그리취 제거방법
US6763513B1 (en) * 2001-12-18 2004-07-13 Cadence Design Systems, Inc. Clock tree synthesizer for balancing reconvergent and crossover clock trees
US7003743B2 (en) * 2002-02-01 2006-02-21 Freescale Semiconductor, Inc. Method and system of data processor design by sensitizing logical difference
US7007247B1 (en) * 2002-05-24 2006-02-28 Cadence Design Systems, Inc. Method and mechanism for RTL power optimization
US7766904B2 (en) 2003-01-31 2010-08-03 Iridex Corporation Adjustable laser probe for use in vitreoretinal surgery
US6904573B1 (en) 2003-05-27 2005-06-07 Hewlett-Packard Development Company, L.P. Logic gate identification based on hardware description language circuit specification
DE10324565A1 (de) * 2003-05-30 2004-12-30 Chipvision Desigin Systems Ag Verfahren und Vorrichtung zum Schaltungsentwurf mittels High-Level-Synthese
US7546559B2 (en) * 2003-08-01 2009-06-09 Atrenta, Inc. Method of optimization of clock gating in integrated circuit designs
US7076748B2 (en) * 2003-08-01 2006-07-11 Atrenta Inc. Identification and implementation of clock gating in the design of integrated circuits
US7299436B2 (en) * 2005-02-10 2007-11-20 International Business Machines Corporation System and method for accurately modeling an asynchronous interface using expanded logic elements
JP4528728B2 (ja) * 2006-01-31 2010-08-18 株式会社東芝 デジタル回路の自動設計装置、自動設計方法、および自動設計プログラム
US7421671B2 (en) * 2006-08-31 2008-09-02 Sun Microsystems, Inc. Graph pruning scheme for sensitivity analysis with partitions
US7555741B1 (en) * 2006-09-13 2009-06-30 Altera Corporation Computer-aided-design tools for reducing power consumption in programmable logic devices
JP5023652B2 (ja) * 2006-10-17 2012-09-12 日本電気株式会社 回路生成システム、回路生成方法及び回路生成プログラム
US8499230B2 (en) * 2008-05-07 2013-07-30 Lsi Corporation Critical path monitor for an integrated circuit and method of operation thereof
US8166428B2 (en) * 2008-08-18 2012-04-24 Lsi Corporation Synthesized logic replacement
US8392858B2 (en) * 2009-03-06 2013-03-05 Skyworks Solutions, Inc. Detection and removal of hazards during optimization of logic circuits
US8239805B2 (en) 2009-07-27 2012-08-07 Lsi Corporation Method for designing integrated circuits employing a partitioned hierarchical design flow and an apparatus employing the method
US8365131B2 (en) * 2010-01-11 2013-01-29 Empire Technology Development Llc Hardware synthesis using thermally aware scheduling and binding
US8555228B2 (en) * 2011-12-29 2013-10-08 Intel Corporation Tool for glitch removal
US9038006B2 (en) * 2013-04-30 2015-05-19 Freescale Semiconductor, Inc. Method and apparatus for generating gate-level activity data for use in clock gating efficiency analysis
US20160217239A1 (en) * 2015-01-22 2016-07-28 Synopsys, Inc. Method and system for selecting stimulation signals for power estimation
US10528600B1 (en) * 2017-09-13 2020-01-07 Hrl Laboratories, Llc System to identify unknown communication behavior relationships from time series
US11195107B1 (en) * 2017-09-13 2021-12-07 Hrl Laboratories, Llc Method of malicious social activity prediction using spatial-temporal social network data
WO2021178674A1 (en) * 2020-03-04 2021-09-10 Synopsys, Inc. Glitch power analysis with register transistor level vectors
CN111477149B (zh) * 2020-04-22 2023-06-20 京东方科技集团股份有限公司 数据输出电路及数据输出方法、显示装置
TWI768536B (zh) * 2020-11-06 2022-06-21 瑞昱半導體股份有限公司 積體電路模擬及設計方法與系統

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS61262827A (ja) 1985-05-15 1986-11-20 Mitsubishi Electric Corp 半導体集積回路装置
US4737660A (en) * 1986-11-13 1988-04-12 Transensory Device, Inc. Trimmable microminiature force-sensitive switch
US5155380A (en) * 1991-04-12 1992-10-13 Acer Incorporated Clock switching circuit and method for preventing glitch during switching
US5237573A (en) * 1992-03-31 1993-08-17 Apple Computer, Inc. Method and apparatus for selectively switching between input signals
US5623223A (en) * 1994-10-12 1997-04-22 National Semiconductor Corporation Glitchless clock switching circuit
FR2726409B1 (fr) 1994-10-28 1996-12-13 Suisse Electronique Microtech Multiplexeur de variables logiques
US6021381A (en) * 1996-06-05 2000-02-01 Sharp Kabushiki Kaisha System for detecting power consumption of integrated 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
US6026220A (en) * 1996-11-19 2000-02-15 Unisys Corporation Method and apparatus for incremntally optimizing a circuit design

Also Published As

Publication number Publication date
DE19824796A1 (de) 1999-01-07
US6324679B1 (en) 2001-11-27
DE19824796B4 (de) 2006-08-10
JPH1173302A (ja) 1999-03-16

Similar Documents

Publication Publication Date Title
JP3331968B2 (ja) グリッチ分析と低減に重点をおいたレジスタトランスファレベルの電力消費最適化回路、方法、及び記録媒体
Benini et al. Saving power by synthesizing gated clocks for sequential circuits
Oh et al. Gated clock routing for low-power microprocessor design
Raghunathan et al. Register transfer level power optimization with emphasis on glitch analysis and reduction
Benini et al. Automatic synthesis of gated clocks for power reduction in sequential circuits
Lahiri et al. Design space exploration for optimizing on-chip communication architectures
Benini et al. Telescopic units: A new paradigm for performance optimization of VLSI designs
US8977994B1 (en) Circuit design system and method of generating hierarchical block-level timing constraints from chip-level timing constraints
Su et al. Performance optimization using variable-latency design style
US20060248487A1 (en) A method of optimization of clock gating in integrated circuit designs
US8291364B2 (en) Automated digital circuit design tool that reduces or eliminates adverse timing constraints do to an inherent clock signal skew, and applications thereof
Raghunathan et al. Glitch analysis and reduction in register transfer level power optimization
CIRCUITS Timing analysis and optimization of sequential circuits
Khouri et al. High-level synthesis of low-power control-flow intensive circuits
Gibiluka et al. A bundled-data asynchronous circuit synthesis flow using a commercial EDA framework
EP1546945A2 (en) Automatic insertion of clocked elements into an electronic design to improve system performance
Arslan et al. Low power design for DSP: methodologies and techniques
Sathyamurthy et al. Speeding up pipelined circuits through a combination of gate sizing and clock skew optimization
Quinton et al. Practical asynchronous interconnect network design
Raghunathan et al. Power management techniques for control-flow intensive designs
Su et al. An efficient mechanism for performance optimization of variable-latency designs
Mukheijee et al. Clock and power gating with timing closure
US20180246997A1 (en) Design method, design program, and design apparatus
Lin et al. A platform of resynthesizing a clock architecture into power-and-area effective clock trees
Dey et al. Controller-based power management for control-flow intensive designs

Legal Events

Date Code Title Description
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20020625

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

Free format text: PAYMENT UNTIL: 20070726

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20080726

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20090726

Year of fee payment: 7

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

Free format text: PAYMENT UNTIL: 20100726

Year of fee payment: 8

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

Free format text: PAYMENT UNTIL: 20110726

Year of fee payment: 9

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

Free format text: PAYMENT UNTIL: 20110726

Year of fee payment: 9

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

Free format text: PAYMENT UNTIL: 20120726

Year of fee payment: 10

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

Free format text: PAYMENT UNTIL: 20120726

Year of fee payment: 10

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

Free format text: PAYMENT UNTIL: 20130726

Year of fee payment: 11

LAPS Cancellation because of no payment of annual fees