JP3082852B1 - システムlsiの製造方法及びその方法で製造されたシステムlsi - Google Patents
システムlsiの製造方法及びその方法で製造されたシステムlsiInfo
- Publication number
- JP3082852B1 JP3082852B1 JP11158385A JP15838599A JP3082852B1 JP 3082852 B1 JP3082852 B1 JP 3082852B1 JP 11158385 A JP11158385 A JP 11158385A JP 15838599 A JP15838599 A JP 15838599A JP 3082852 B1 JP3082852 B1 JP 3082852B1
- Authority
- JP
- Japan
- Prior art keywords
- system lsi
- word length
- lsi
- manufacturing
- data word
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/30—Circuit design
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)
- Semiconductor Integrated Circuits (AREA)
- Design And Manufacture Of Integrated Circuits (AREA)
Abstract
った場合も、消費電力などのランニングコストを増大さ
せないシステムLSIの製造方法の実現。 【解決手段】 少なくともプロセッサ11とメモリ12,13
を1つのチップ内に有するシステムLSIの製造方法で
あって、あらかじめ設定された共通プロセスが終了した
段階のシステムLSI1を準備する工程S7と、システム
LSIに搭載する応用プログラムS12 を動作させた時に
使用するプロセッサのデータ語長及びメモリのデータ語
長とワード数から、応用プログラムを動作させた時の使
用領域を決定する工程S13,S14 と、使用領域以外の非使
用領域への電源供給が行われないようにシステムLSI
を製造して完成させる工程S8とを備える。
Description
メモリと周辺回路を1チップに搭載したシステムLSI
の製造方法及びそのような方法で製造されたシステムL
SIに関し、特にシステムLSIの低コスト化と低消費
電力化を両立するフレキシブル・システムLSIチップ
(FlexSys)の製造方法に関する。
テムを1チップ上に搭載したシステムLSIの実現が可
能となった。システムLSIは、ハードウェアとソフト
ウェアから構成される。ここでは、ハードウェアは、プ
ロセッサ、データメモリ、命令メモリ、及び周辺回路な
どであり、ソフトウェアはアプリケーション・プログラ
ムであるとして説明する。
は、ハードウェアとソフトウェアの両方で、再利用性を
高める必要がある。ハードウェア又はソフトウェアの再
利用により、設計及び製造におけるプロセスの共通化を
図り、各プロセスの実質的な生産量を増大させて1チッ
プ当りのオーバーヘッドを低減することができる。組み
込みシステムの設計において、プロセッサベースのシス
テム設計は広く採用されている。プロセッサベースの設
計は、(1)設計工程の最終段階でも仕様の変更が容易
であること、(2)容易に品種改良ができるという2つ
の利点を有する。プロセッサベースのシステム設計にお
いて、ハードウェア及びソフトウェアの再利用はシステ
ム設計のコスト削減に大きく貢献する。
では、システムの機能の大部分はソフトウェアにより実
現される。年々、システムに対して要求される機能は複
雑化しているため、ソフトウェアのコストは増大してい
る。更に、製品寿命の短期化、製品の多様化が進むにつ
れ、ソフトウェア開発者の負担は益々大きくなる。ソフ
トウェア開発コストを削減するために、多くのソフトウ
ェア開発者は、機能を部品化し、それらを再利用する。
ソフトウェアの再利用として、OSや通信制御のように
汎用的に用いられる機能を実現するプログラムの再利用
が行われている。
たシステムLSIでは、ソフトウェアだけでなく、ハー
ドウェアの設計再利用も欠かせない技術である。ハード
ウェアを再利用すると、そのチップ単価を削減すること
ができる。なぜなら再利用により大量生産が可能とな
り、単位チップ当りの設計コストやマスク製作費が小さ
くなるためである。専用性を持たせながら大量生産によ
りチップ単価を削減することを目的としたハードウェア
再利用の例として、ゲートアレイやFPGA(Field Pro
grammable Gate Array) のような前工程段階の再利用が
挙げられる。これらのアプローチは、トランジスタ、あ
るいはゲートレベルで自由度を持った一つのLSIを大
量に生産し、最終製品に近い段階で専用化することによ
り、チップの低価格化を実現している。しかし、プロセ
ッサ、メモリ、及び入出力回路が1チップ上に集積され
るシステムLSIにこのアプローチを採用することは、
回路レベルでの自由度を与えることが回路の複雑さの点
から非現実的であるため困難である。
いられているハードウェアの再利用は、プロセッサやメ
モリの再利用である。組み込みソフトウェアは大規模
化、複雑化の一途をたどっており、あらゆるアーキテク
チャに対して、より柔軟に再利用性を向上させる必要が
ある。しかし、システムLSIの低コスト化と低消費電
力化の両立は難しいと考えられる。その理由は、次の通
りである。発熱やバッテリー寿命などの制約が年々厳し
くなっている現在、可能な限りLSIの用途に対して専
用化することが望ましい。しかし、一方では、システム
LSIを専用化すると、その再利用性は乏しくなる。更
に、製品寿命が短くなる傾向にあるため、システムLS
Iの生産量は限られる。このため、チップ単価の増大を
招く。そこで、可能な限りシステムLSIを汎用的に設
計し、再利用する技術の確立が必要である。
4号公報には、コンタクトを所要のマスクパターンに形
成することにより、一つの半導体チップに集積された機
能ブロックのうち応用プログラムの実行時に使用しない
機能ブロックへの電源供給を遮断する方式が提案されて
いる。しかし、実際のシステムLSIでは、機能ブロッ
クのうちまったく使用しないブロックはほとんどなく、
いずれのブロックも一部は動作するため、この方式では
十分な効果が得られない。
ウェアの再利用について更に詳しく考察する。以下、L
SIのチップ単価をモデル化し、設計再利用がチップ単
価に及ぼす影響を考える。DをLSIの設計コスト、M
をマスク製作費、Nを良品LSIの数、Fを1チップ当
りの製造コスト(チップ面積で近似)とすると、LSI
のチップ単価Pは、式(1)で近似される。
Iを大量に生産することにより、チップ当りの設計コス
ト及びマスク製作費が減少する。このような例として
は、組み込みマイコンがある。組み込みマイコンは、複
数の用途を対象に汎用的に設計されているため、再利用
性を有し、チップが安価である。
大量生産を可能にし、その単価を削減できる。次に、設
計の再利用がチップの単価に及ぼす影響について解析す
る。k種類の用途に用いるシステムLSIを合計N個設
計することを考える。この時、(a)1種類のシステム
LSIをk種類の用途に再利用する。(b)k種類のシ
ステムLSIを設計する、の2通りの設計を行った場合
のチップ単価を比較する。(a)の方法で設計したチッ
プ単価をP’、(b)の方法で設計したチップ単価をP
iとすると、それぞれ次の式(2)、(3)で近似でき
る。
のLSIを用いた方、つまり上記の(2)式の第1項は
はるかに小さくなる。一方、第2項の製造コストF
(F’,Fi)は、チップ面積より決定される歩留りに
強く関係している。一般的に、専用化するとチップ面積
が小さくなるため、F’>Fiとなる場合が多い。つま
り、第2項を小さくするためには、専用化する方がよ
い。しかし、チップ面積が比較的大きくても、製造を重
ねる毎に設計の改良が行われ、歩留りが改善される場合
も多い。以上より、大量生産は、チップ単価を削減する
有効な方法といえる。
再利用の範囲を限定し、複数の用途に対して1種類のL
SIを用いる手法、つまり、k種類の用途に対してl
(<k)種類のLSIを設計する手法が、現在多く採用
されている。例えば、家電製品などに組み込まれ、主に
その制御を司る小規模システムに対しては4ビットマイ
クロコンピュータなどの小規模なLSIが使用され、内
部で高度な信号処理を行う携帯情報端末などには32ビ
ットマイクロコンピュータのような大規模なLSIが使
用される。
イクロコンピュータでは、消費電力や基本性能はチップ
によって固定されており、柔軟にアプリケーションに対
応することは難しく、必要以上の回路を実装し、シリコ
ンの面積を無駄に使用することが多い。再利用の範囲を
限っているため、32ビットマイクロコンピュータで4
ビットのシステムが動作するといったことは生じない
が、各範囲では同様に不必要な電力が消費されるという
問題が生じる。高々24ビットのデータを処理する用途
に対して32ビットマイクロコンピュータを採用する場
合、24ビットの精度しか必要ない変数に対して、マイ
クロコンピュータに搭載されているメモリにはそれ以上
の領域が確保され、全く使用されていない領域が含まれ
ている。この時、不必要な上位数ビットに起因する電力
消費は小さくない。
り汎用化し、再利用することは、チップ単価を削減する
ための一つの方法であるが、汎用化することにより不必
要な電力消費が増大するといった問題がある。不必要な
電力とは、演算器、レジスタ及びバスの一部の不必要な
スイッチングに起因する電力のことである。例えば、3
2ビットプロセッサ上で8ビットに符号化された文字を
処理する場合、データバス、演算器などの上位24ビッ
トは意味を持たない。この使用されない領域でのスイッ
チングは無駄に電力を消費する。
消費される場合がある。例えば、プロセッサが32ビッ
トの大きさを持つ変数xをメモリから読み出す場合、メ
モリのプリチャージ回路、センスアンプ、ビット線、及
びワード線が駆動され、電力が消費される。あらゆる入
力データに対して変数xの最大値が1、最小値が0の場
合(例えばxがフラグとして使用される場合)、上位3
1ビットのデータをメモリから読み出すために消費され
る電力は無駄である。更に、メモリとプロセッサ間のバ
スによって不必要な電力が消費される可能性があること
も上記より明らかである。
ると、回路の不必要な部分がチップ単価に及ぼす影響は
小さくない。回路の不必要な部分により消費される電力
や不必要な外部ピンはパッケージのコストを増大させ
る。更に、それが動作中に消費するエネルギ(以下ラン
ニングコストと呼ぶ)は、バッテリーの寿命を不必要に
短くする。式(1)ではチップの製造コストのみを考え
たが、実際のコストとしてはこれだけでは不十分で、ラ
ンニングコストを含めて考えることが必要である。パッ
ケージのコスト、及びランニングコストの合計をEとす
ると、チップ単価のは、式(5)のように再定義され
る。
化するシステムLSIの設計手法が重要である。しか
し、これまでシステムLSIについては、このような観
点で構築され実現されている製造方法はなかった。本発
明は、製造コストを低減するためにハードウェア及びソ
フトウェアの再利用を行った場合も、消費電力などのラ
ンニングコストを増大させないシステムLSIの製造方
法の実現を目的とする。
め、本発明のシステムLSIの製造方法は、応用プログ
ラムを動作させるのに必要なデータ語長からプロセッサ
及びメモリの必要な使用領域を決定し、非使用領域への
電源供給を行わないようにすることで、消費電力などの
ランニングコストを増大させずに、ハードウェア及びソ
フトウェアの再利用を行うことを特徴とする。
方法は、少なくともプロセッサとメモリを1つのチップ
内に有するシステムLSIの製造方法であって、あらか
じめ設定された共通プロセスが終了した段階のシステム
LSIを準備する工程と、システムLSIに搭載する応
用プログラムを動作させた時に使用するプロセッサのデ
ータ語長及びメモリのデータ語長とワード数から、応用
プログラムを動作させた時の使用領域を決定する工程
と、使用領域以外の非使用領域への電源供給が行われな
いようにシステムLSIを製造して完成させる工程とを
備えることを特徴とする。
製造方法と本発明の方法との違いを示す図であり、
(a)が従来例を、(b)が本発明を示す。前述のよう
に、システムLSIの従来の製造方法では、ハードウェ
アをカスタマイズすることは行われておらず、ハードウ
ェアの再利用の範囲を選択可能にした上でソフトウェア
でカスタマイズしていた。これに対して、本発明のシス
テムLSIの製造方法では、ソフトウェアとハードウェ
アの両方をカスタマイズし、ソフトウェアの設計パラメ
ータをハードウェアの製造工程に反映させて、LSIの
設計データやマスクデータを再利用する。本発明では、
設計の最終工程における数枚のマスクによりシステムL
SIの不必要な電力消費を抑え、コストの削減を図る。
データバス幅やメモリの語数を応用に合せて最適化し、
必要な部分にのみ電力を供給することで、消費電力を必
要最小限に抑える。
法の全体構成を示す図である。この製造方法で作られる
LSIは、コア・プロセッサ、データメモリ、命令メモ
リ及び周辺回路が1チップに集積されたシステムLSI
である。このシステムLSIの製造方法では、ベースと
なる汎用LSIチップ1があり、応用プログラム2に応
じて、汎用LSIチップ1のデータ語長を上限として、
それより短い任意のデータ語長に変更することが可能で
ある。しかも、コア・プロセッサ、データメモリ、命令
メモリ(必要に応じて周辺回路も)のデータ語長を短く
することにより使用されない領域、及び応用プログラム
2を実行する場合に使用されないデータメモリ、命令メ
モリ(必要に応じて周辺回路も)の領域には、電源を供
給しないため不必要な電力が消費されることもない。
が64ビットで、データメモリと命令メモリは十分な容
量を備えているとする。高機能のシステムLSIを設計
する場合には、データ語長が60ビットのLSI3−1
に変更し、低消費電力のシステムLSIを設計する場合
には、データ語長が7ビットのLSI3−4に変更し、
中間のシステムに対しては32ビットのLSI3−2や
20ビットのLSI3−3に変更するといった具合に任
意のデータ語長のLSIに変更できる。つまり、一つの
汎用LSIから様々な語長を持つシステムLSIを設計
することができる。しかも、ベースとなる汎用LSIチ
ップを最終工程に近い段階でカスタマイズするので、式
(5)の第1項のNは非常に大きくできる。
Cost Optimization via Data path Width Adjustment"
IEICE Trans.Information and Systems, Vol.E80-D,No.
10,pp.974-981,October 1997 で、データ語長がシステ
ムの面積、性能に強く影響を及ぼすことを報告してい
る。また、A.Inoue らは、∧A Programming Language f
orProcessor Based Embedded Systems" In Proc. of Fi
fth Asian Pacific Conf.on Hardware Description Lan
guages,pp.89-94,1998 で、データ語長が消費電力にも
強く影響することを報告している。
ない領域に電源供給を行わければ、最初からそのデータ
語長で設計したLSIと同等の消費電力のLSIにする
ことができる。例えば、64ビットプロセッサを搭載し
た汎用LSIチップを設計しておき、その製造工程で上
位16ビットへの電源の供給を遮断することにより、4
8ビットプロセッサを搭載したシステムLSIと同様に
動作するシステムLSIを得ることができる。すなわ
ち、本発明によれば、ランニングコストを最小限にでき
る。
に、非使用領域の電極パッドを外部ピンに接続しないよ
うにすれば、パッケージのコストも最小限にできる。以
上のように、本発明のシステムLSIの製造方法は、式
(5)の第1項と第3項の両方を共に削減する方法とい
える。応用プログラムは、システム設計者がデータ語長
を任意に設定できるソフトウェア言語で記述する。
計者が設定したデータ語長に対応してコンパイルするコ
ンパイラを使用して応用プログラムをコンパイルし、コ
ンパイルしたプログラムでシミュレートを行う。以上の
ように、本発明のシステムLSIの製造方法は、消費電
力を用途に応じて変更できるため、一つの汎用LSIチ
ップを広い分野(各種の応用プログラム)に適用可能で
ある。これにより、一つのLSIチップを大量生産する
ことができ、生産個数が増加するので(式(5)のNが
増加する。)、チップ単価を削減できる。
びバスの駆動条件をビット単位で指定できるため、プロ
セッサのデータ語長を用途に応じて適切に選択すれば、
不必要に消費される電力を削減できる。メモリにおいて
も同様に、低消費電力化でき、消費電力の削減はパッケ
ージコストの削減にもつながる。更に、本発明のシステ
ムLSIは、従来の部品としてのLSIとは異なり、そ
れ自体がシステムである。従って、システム設計時に
は、ソフトウェアの開発と製造の最終工程をおけるカス
タマイズだけで専用化を行う。システムの構成部品を集
め、それらを一つのチップに集積する工程が省かれるた
め、短期間に目的のLSIを設計することができる。
ズを行うので、不要なピンをパッケージングする時に実
装する必要がない。そのため、パッケージングのコスト
が削減される。更に、LSI自体の再利用は、高精度な
見積りを可能にする。配線抵抗などのようなLSIの物
理的な情報が固定されるので、上流工程での消費電力の
見積り精度が向上する。高精度な見積り技術は、システ
ムLSIの設計パラメータを決定する上で重要である。
明する。本発明の実施例では、図1に示したように、汎
用LSIチップが用意される。図2は、実施例の汎用L
SIチップの構成を示す図である。図示のように、この
汎用LSIチップ10は、コアプロセッサ11、データ
メモリ12、命令メモリ13、及び周辺回路14から構
成され、それぞれの構成要素はシステムバス16で接続
されている。また、参照番号15は、電極パッドであ
る。図2において、斜線部分は、ある応用プログラムの
実行中に動作する領域を示す。電極パッドの斜線部分
は、パッケージングされる時に外部ピンに接続されるパ
ッドを示す。システム設計者は、製造の最終工程におい
て、図2の斜線部分、つまり電源を供給する領域を自由
に変更できる。
方法があり、当業者であれば容易に行えるが、以下コア
プロセッサ11及びデータメモリ12の電源遮断につい
て簡単に説明する。図3は、実施例のLSIのコアプロ
セッサ11の構成を示す図である。このコアプロセッサ
としては、例えば、組み込みシステムに多く使用されて
いるRISCプロセッサなどであり、ここでは64ビッ
トのデータ語長を有するプロセッサである。図示のよう
に、コアプロセッサ11では、レジスタファイル21
と、ALU(演算ユニット)22と、ロード/記憶ユニ
ット23とが、データバス24、25、26で接続され
ており、各データバスは64ビットのデータ幅を有す
る。
すべてのレジスタの上位53ビットへの電源供給を無効
とすることにより、データバス24〜26の上位53ビ
ットの信号が遷移しなくなる。これにより、ALU2
2、ロード/記憶ユニット23の上位53ビットの信号
遷移による電力消費がなくなる。この場合、コアプロセ
ッサ11は、見かけ上11ビットのプロセッサとなる。
効にする例を図4に示す。この例では、レジスタファイ
ル21のすべてのレジスタの上位3ビットの電源供給が
遮断される。各レジスタの各ビットに対応してフリップ
・フロップ(FF)30が設けられており、各FF30
の電源配線29と電源線27の間にスイッチ部28が設
けられており、スイッチ部28を切り離すことにより、
対応するFF30への電源供給が遮断できる。
り、(a)はコンタクトのマスクを変更する方式を、
(b)はレーザ切断方式を示す。図示のように、電源線
31と電源配線36〜39は、それぞれコンタクト32
〜35を介して接続される。このコンタクトは最終工程
に近い段階で形成される。そこで、(a)の場合には、
電源を供給しない電源配線とのコンタクトは形成しな
い。必要なコンタクトだけをマスクパターンに形成する
ことで、必要な部分にだけ電源供給を行うことができ
る。
とが知られている。そこで、(b)に示すように、電源
を供給しない電源配線36、37をレーザで切断する。
これにより、必要な部分にだけ電源供給を行うことがで
きる。データメモリ22としては、SRAM、DRA
M、FeRAMなどが使用できる。ここでは、データメ
モリ22をSRAMで形成する。図6は、本実施例にお
けるデータメモリ22をを形成するSRAMの構成を示
す図である。プリチャージ回路41、42の電源配線5
4、61は、スイッチ部53、60を介して電源線5
2、59に接続されており、メモリセル43、44の電
源配線56、63は、スイッチ部55、62を介して電
源線52、59に接続されており、センスアンプ45、
46の電源配線58、65は、スイッチ部57、64を
介して電源線52、59に接続されている。図5で説明
したのと同様の方法で、不必要な領域への電源供給を行
わないようにする。同様に、ワード線47を駆動するゲ
ートへの電源供給も遮断する。
OM、FLASHメモリなどが使用できる。これについ
ても、SRAMと同様に動作領域にのみ電源供給を行う
ことができる。図7は、本発明の実施例におけるシステ
ムLSIの設計工程を示すフローチャートである。
SIの設計は、システムの仕様を設計者がデータ語長を
設定できるプログラム言語、例えばValen-C で記述して
プログラムを作成するステップ101、設計仕様として
いるLSIの設計パラメータを設定するステップ10
2、設計パラメータに基づいてコンパイラを生成するス
テップ103、ステップ101で作成したValen-C で記
述したプログラムをコンパイルするステップ104、コ
ンパイルしたプログラムでシミュレートを行って性能、
消費電力、消費エネルギを見積もるステップ105、見
積もった結果が仕様を満たすかを判定するステップ10
6の順に行われる。仕様を満たさない場合には、ステッ
プ102に戻って設計パラメータを変更してステップ1
02から106を繰り返す。仕様を満たす場合には、そ
の設計パラメータに従って製造でのカスタマイズ及びパ
ッケージング工程を行う。
する。システムLSIの製造において、ソフトウェアの
再利用は重要である。しかし、本発明の製造方法で単に
データ語長を変更すると、ソフトウェアの再利用性が劣
化する場合がある。プロセッサのデータ語長を変更する
時、変更前のプロセッサに対して記述されたプログラム
が変更後のプロセッサ上で正常に動作しない可能性があ
るためである。例えば、Cプログラムのデータ型は、プ
ロセッサのデータ語長に依存している。int型の大き
さは32ビットプロセッサ上でコンパイルする場合は3
2ビット、16ビットプロセッサでは16ビットである
場合が多い。そのため、32ビットプロセッサ上で記述
したプログラムが16ビットプロセッサ上で正しく動作
するとは限らない。他の例として、Javaのデータ型
の大きさは言語仕様により決定されている。例えば、イ
ンテグラルタイプの場合、byte型、short型、
int型、及びlong型の大きさは、それぞれ8ビッ
ト、16ビット、32ビット及び64ビットである。そ
のため、24ビットプロセッサなどへJavaプログラ
ムを適用すると正しく動作しない可能性がある。
サのデータ語長を物理語長と定義する。ここで、ある変
数の有効ビット長とは、その変数がとり得る値の最大
値、及び最小値を保持するために必要なビット数の最小
値を表す。例えば、符号無し変数xが取り得る値の範囲
が0以上2000以下である場合、xの有効ビット長は
11ビットである。
ある。しかし、多くのプログラミング言語では、これら
の間に暗黙的な関係が存在する。図14は、各種のプロ
グラミング言語における論理語長と物理語長の関係を示
す図である。Cや++Cでは、この関係をコンパイラが
決定している。Java(登録商標)では、その関数を
言語仕様として、言語設計者が与えている。アセンブラ
では、ハードウェア設計者によりその関係が自動的に決
定される。ソフトウェアの再利用を行うためには、論理
語長と物理語長が明示的に分離されていなければならな
い。
上させるために、Valen-C(VariableLength C)言語、及
びValen-C コンパイラを使用する。Valen-C 言語は、プ
ログラマが変数の精度を明示的に指定できるようにC言
語を拡張した言語である。例えば、変数xが必要とする
精度が11ビットである場合、int11xと宣言す
る。If文やwhile文などの制御構造は、C言語と
同様である。Valen-C 言語により、論理語長と物理語長
が明示的に分離され、それらの関係をシステム設計者が
決定できる。そのため、ソフトウェアの再利用性が向上
する。
り記述されたプログラムを様々なデータ語長に対してコ
ンパイルするリターゲッタブル・コンパイラである。設
計者が提供するマシン記述とValen-C プログラムを入力
として、指定のマシンのアセンブラコードを出力する。
マシン記述には、short、int、long、lo
nglongの各データ型の大きさを指定できる。Vale
n-C プログラムの各変数は、上記いずれかのデータ型に
割り当てられる。つまり、論理語長と物理語長の関係を
設計者が決定していることになる。
説明する。まず、ある応用プログラムA1を解析し、プ
ログラム中の各変数のビット数を求める。次に、コアプ
ロセッサのデータ語長を変更し、各データ語長に対して
Alをコンパイルし、消費電力を見積もる。見積りの結
果により、消費電力が最小となるコアプロセッサのデー
タ語長D1を算出する。コアプロセッサのデータ語長6
4ビットのうち、データ語長D1のみ駆動させることで
コアプロセッサの電力を削減できる。
ータ語長D1と同じ大きさのビット数のみを駆動させる
ことで、不必要なビット線の駆動を停止させる。コアプ
ロセッサのデータ語長D1が決まると、データメモリの
語数も算出できる。これにより、データメモリの不必要
なワード線の駆動を停止させる。命令メモリの不必要な
ビットは、例えば次のようにして算出する。応用プログ
ラムA1をデータ語長D1のみ駆動させるコアプロセッ
サに対してコンパイルし、オブジェクトコードA2を得
る。このオブジェクトコードA2から命令メモリに必要
な命令語数を求めることができる。これにより、命令メ
モリの不必要なワード線の駆動を停止させる。
より、コアプロセッサの命令フォーマットを決定する。
例えば、オブジェクトコードA2中に現れる即値の最大
値、及び最小値を格納することができる最小の即値フィ
ールドを命令フォーマットとして用意すればよい。この
ようにして、決定した命令フォーマットのうち、最も大
きいビット数を持つ命令フォーマットが決定する。命令
メモリでは、最大のビット数を持つ命令フォーマットの
ビット数のみを駆動させることにより電力消費を削減す
る。
化すると、コアプロセッサの命令デコーダをプログラマ
ブルに設計する必要がある。コアプロセッサのデコーダ
部分は、例えば、ゲートアレイにより実現する。応用プ
ログラムのコンパイル例では、データ語長D1を持つコ
アプロセッサに対して、応用プログラムA1をコンパイ
ルする例を考える。
ラとデータ語長D1の情報を元にコンパイラB1が生成
される。コンパイラB1により応用プログラムA1をコ
ンパイルすることにより、D1のデータ語長を持つコア
プロセッサ上で動作するオブジェクトコードを得る。コ
アプロセッサのデータ語長を、データ語長D1と異なる
大きさを持つデータ語長D2に設定した場合、コンパイ
ラ・コンパイラと、データ語長D2の情報を元に、コン
パイラB2が生成される。応用プログラムA1は変更さ
れることなく、コンパイラB2によりコンパイルされ、
データ語長D2を持つコアプロセッサ上で動作するオブ
ジェクトコードを得る。
一つであるデータ語長がシステムの性能、及び消費電力
に及ぼす影響を説明する。プログラム中の変数の有効ビ
ット長のうち最大のものをSPP(Single Precision Po
int)と呼ぶ。SPPまでデータ語長を削減することによ
り、性能を低下させずに、システムの消費電力を削減す
ることができる。データ語長をSPPより小さくする
と、プログラムの実行サイクル数は増加する。なぜなら
SPPの大きさを持つ変数が2ワード以上のデータとし
て処理され、命令数が増加するためである。
電力は減少する可能性がある。データ語長の削減と共に
データメモリの語長も小さくなり、プロセッサとデータ
メモリ間で駆動されるバスやデータメモリ上で駆動され
るセンスアンプ、及びビット線の数が減少するためであ
る。しかし、これらの影響は使用するメモリの構造に強
く依存する。消費電力に比例してチップの発熱が大きく
なるため、消費電力はパッケージのコストに直結し、シ
ステムの価格に影響を及ぼす。
ネルギ消費量はLSIの駆動時間に関係する。前述のよ
うに、データ語長を削減すると、実行サイクル数が増加
する。そのため、プロセッサとメモリの駆動時間が長く
なり、エネルギ消費量が増加する可能性がある。以上の
ように、用途に最も適したデータ語長を静的に決定する
のは困難であるが、本実施例では、用途に最も適したデ
ータ語長を動的に決定する。上記の汎用LSIチップを
対象とし、応用プログラムをValen-C 言語で記述し、Va
len-C コンパイラでコンパイルした上でシミュレートし
ているので、性能、消費電力、消費エネルギを正確に見
積もることができる。
アと設計工程について説明したが、実施例の製造工程を
まとめたのが、図8のフローチャートである。このフロ
ーチャートを参照して製造工程を更に説明する。まず、
ステップS1〜S7を行って、最終段階を残してその前
まで製造工程が行われた汎用的な機能を持つシステムL
SIチップを製造する。この部分は、通常のLSIの製
造工程と同じであるので、説明を省略する。それとは別
に、S22でシステムLSIのコンパイラ・コンパイラ
を設計しておく。S12で設計するシステムLSIの仕
様に応じて応用プログラムをValen-C 言語で記述してVa
len-C プログラムを作成する。S13でこのValen-C プ
ログラムを解析し、コアプロセッサのデータ語長を決定
する。更に、データメモリ、命令メモリの語長とアドレ
ス空間とを決定する。これにより、応用プログラムに専
用化されたシステムLSIの構成(以下、C1と呼ぶ)
が決定する。この部分が図7で説明した設計工程に対応
する。
情報が決定される。S15で、不要部分への電源供給を
停止するために、マスクを使用するかレーザで切断する
かが決定される。マスクを使用する場合、S18で、S
14の不要部分の情報に基づいて、S3のレイアウトパ
ターン上で不要なコンタクトを取り除いたレイアウトパ
ターンを生成する。S19のレイアウトパターンを元
に、S20のパタンジェネレータでコンタクト生成用の
マスクパターンS21を生成する。S8で、このマスク
パターンを後述するマスクROM用マスクパターンと一
緒にS7の汎用LSIへ施すことにより、応用プログラ
ムに専用化されたS9のLSIが得られる。
に基づいて、S9の工程を経たシステムLSIの電源配
線を切断する箇所を特定し、S16でその箇所をレーザ
により切断する。また、S17で、S14で得られた不
要領域の情報とS7のレイアウトパターンから外部ピン
に接続する必要のあるパッドの情報を抽出し、S10の
パッケージング工程で、必要なパッドにのみボンディン
グを行う。
構成C1の情報とコンパイラ・コンパイラを入力とし
て、専用化されたLSIのオブジェクトコードを出力す
るコンパイラの生成を行い、S24のコンパイラができ
る。S25で、このコンパイラに応用プログラムを入力
することにより、構成C1を持つLSIのオブジェクト
コードが得られる。S26で、命令メモリが書き換え不
能メモリであるか判定し、書き換え不能メモリであれ
ば、S27でオブジェクトコードを命令メモリに格納す
るためのマスクパターンを生成する。S8で、このマス
クパターンを、S21のマスクパターンと一緒に、S7
の汎用LSIに施すことにより、応用プログラムを命令
メモリに格納した構成C1を持つ専用LSIが得られ
る。
持つ専用LSIをS10でパッケージングした後、S2
8でオブジェクトコードを書き換え可能なROMにダウ
ンロードする。応用プログラムに対して、構成C1が変
化する場合、コンパイラ・コンパイラを再設計すること
なく、新しい構成C2の情報とコンパイラ・コンパイラ
から構成C2を持つ専用LSI用のコンパイラを得るこ
とができる。
れ、S8〜S11とS12〜S21とS23〜S28の
工程を各応用プログラムに対して実施する。以上、本発
明の実施例について説明したが、3つのアプリケーショ
ンプログラムに対して本発明を適用してデータ語長を様
々に変化させた時の性能、及び消費エネルギを見積もっ
たシミュレーション実験を行った。この実験結果につい
て説明する。
ネルギの評価を指標とする。平均の消費電力は単位時間
当りの消費エネルギを算出することにより得られる。性
能は、実行サイクル数で近似する。実行サイクル数は基
本ブロックの実行トレースと各基本ブロックのサイクル
数により算出する。実行に必要なデータメモリ数の量を
算出する際、アプリケーションプログラムが自動変数を
有するならば、スタックの大きさを見積もる必要があ
る。本実験では、入力データの集合に対するスタック領
域の最大値をスタックの大きさとする。
ログラムを使用した。1番目は、電卓用のプログラム
で、Valen-C で約400行のプログラムである。12桁
の入出力を持ち、四則演算を行う。変数の有効ビット長
の分布を表1に示す。
に広く使用されているLempel-Zivアルゴリズムであり、
文字列の符号/復合化を行う。Valen-C で約300行の
プログラムである。変数の有効ビット長の分布を表2に
示す。
あるADPCMである。本実験では、16ビットの線型
の音声データを4ビットに圧縮する符号化の部分のみを
用いた。Valen-C で約530行のプログラムである。変
数の有効ビット長の分布を表3に示す。
モデルを消費エネルギのモデルとする。CMOS回路の
switched capacitance (SCとする)は、次の式(6)で
表される。
(k):ゲートgk の平均スイッチング回数である。プ
ロセッサの電源電圧と動作周波数をそれぞれVdd,
f,実行サイクル数をCycle とすると、プロセッサのエ
ネルギ消費量は次の式(7)で表される。
ーキテクチャの命令セットを持つ、逐次実行型RISC
プロセッサBung-DLXを用いた。Bung-DLXは、データ語長
やレジスタ数などを自由に変更できるプロセッサであ
る。Bung-DLXのデータ語長とデータメモリの語長は等し
いものとする。命令語長は32ビット、命令の数は10
7個、レジスタ数は32本とする。
より求める。Swit(k) は、ゲートレベル・シミュレーシ
ョンにより、C(k)はレイアウト合成によりそれぞれ
求める。本実験では、データ語長が32ビット以外の時
のSCは、Bung-DLXのゲート数に比例すると仮定する。
つまり、次の式(8)が成り立つとする。
データ語長がbの時のSCをそれぞれ表す。データメモ
リとしてSRAM、命令メモリとしてROMを用いると
仮定する。データメモリ、命令メモリの消費エネルギを
次の式(9)と(10)により見積もる。
セス当りのエネルギ、Nj :メモリjへのアクセス回数
である。ej はメモリjの構造や大きさに依存する。N
SRAM及びNROM は、実行されたロード/記憶命令の数、
実行された命令数にそれぞれ相当する。NSRAM及びN
ROM は、基本ブロックのトレース情報及びアセンブラコ
ードから算出できる。
タ語長が変化すると、データメモリの語長(=データ語
長)、及び語数が変化する。メモリの語長がb、語数が
wであるeSRAMを次の近似式(11)により求める。
×128ワード)のSRAMを用いて、1回の読み出し
に要する消費エネルギ(J)をSPICEシミュレーシ
ョンにより求めた値を基準としている。また、次の式
(12)が成り立つとする。
ていることに注意が必要である。また、メモリへの書込
み時に要する消費エネルギは読み出し時のそれと等しい
ものとする。実験の結果を図9から図11に示す。図9
の電卓において、システム全体の消費エネルギが、デー
タ語長が20ビットの時に最小になった。データ語長が
32ビットの時に比べて、約12%の消費エネルギが削
減された。この時、実行サイクル数は変化していない。
20ビットから19ビットへデータ語長が削減される
と、実行サイクル数が増加する。その理由は、39ビッ
トの変数のロード/記憶、あるいは演算に対し多くの命
令が必要となるためである。例えば、19ビットのBung
-DLXの場合、39ビットのデータをロードするためには
3つのロード命令が必要となる。
はデータ語長が8ビットの時に最小となった。32ビッ
トのプロセッサに比べて、約51%の消費エネルギが削
減された。Lempel-Zivでは、データメモリの不必要なビ
ットに起因する消費エネルギの削減の効果が顕著に現れ
た。データ語長を32ビットから8ビットにすると、デ
ータメモリがビット数で約75%削減され、データメモ
リでの消費エネルギは63%削減された。しかし、実行
サイクル数は約30%増加した。
データ語長が19ビットの時に最小になった。32ビッ
トのプロセッサと比較すると、消費エネルギは約7%小
さくなった。データ語長が19ビット以上では、実行サ
イクル数は変化しなかった。15ビットよりデータ語長
を小さくすると、性能及び消費エネルギが共に劇的に増
加している理由は、実行されたすべての演算に対して1
5ビットのシフト演算が占める割合が大きかったためで
ある。これらのシフト演算はデータ語長が15ビット以
下では、多倍精度のシフト命令となる。Bung-DLXは多倍
精度のシフト命令を1命令で実行することはできないた
め、その命令はValen-C コンパイラにより1ビットシフ
トのループ文に変換される。そのため、ROMのビット
数、及びROMのアクセス回数が共に急激に大きくなっ
たものと考えられる。データ語長を15ビットから8ビ
ットにすると、ROMのビット数は約1.9倍となり、
実行サイクル数は約1.7倍となった。
うな3つのアプリケーションを一つの汎用LSIチップ
によって実現することを考える。この汎用LSIチップ
には、20ビット×2503ワードのSRAMと32ビ
ット×2203ワードのROMが必要となる。各々のア
プリケーションでのメモリの使用状況を図12に示す。
(a)が電卓の場合を、(b)がLempel-Zivの場合を、
(c)がADPCMの場合を示す。各メモリの下に記載
した数字は、動作している領域である。電卓、Lempel-Z
iv、ADPCM実装時におけるCPUの語長は、それぞ
れ20ビット、8ビット、及び19ビットである。図か
らも明らかなように、メモリの未使用領域は、アプリケ
ーションにも依存するが、非常に大きい。例えば、AD
PCMのSRAMは、約95%が使用されていない。こ
の結果は必要のないビットへの電源供給又はクロックの
供給を停止する機構の有効性を示している。
ステムLSIの低コスト化と低消費電力化の両立を可能
にするフレキシブルなシステムLSIチップの製造方法
が実現される。システムが集積されたLSIチップ自体
を際利用することにより、大量生産が可能となり、チッ
プ単価を削減できる。更に、本発明のLSIチップは、
不必要な電源やクロックの停止機構をビット単位に備え
ているため、電力を無駄に消費しない。供給する電源や
クロックの指定は、パッケージングの直前に設計者によ
り行われる。
プの製造方法がもつ柔軟性は、ソフトウェアの再利用性
を劣化させるが、本発明では、新たなソフトウェア記述
言語として、変数のビット数を明示的に指定できるよう
に拡張されたC言語を採用したので、ソフトウェアの再
利用性を確保できる。本発明を適用することで、ハード
ウェアの再利用性及びソフトウェアの再利用性が共に向
上し、システム設計の効率を飛躍的に伸ばすことができ
る。
を模式的に示す図である。
である。
図である。
を遮断する構成を示す図である。
する構成を示す図である。
である。
ャートである。
験結果を示す図である。
用した実験結果を示す図である。
用した実験結果を示す図である。
使用領域を示す図である。
発明の方法との違いを示す図である。
と物理語長の関係を示す図である。
Claims (5)
- 【請求項1】 少なくともプロセッサとメモリを1つの
チップ内に有するシステムLSIの製造方法であって、 あらかじめ設定された共通プロセスが終了した段階の前
記システムLSIを準備する工程と、 前記システムLSIに搭載する応用プログラムを動作さ
せた時に使用する前記プロセッサのデータ語長及び前記
メモリのデータ語長とワード数から、前記応用プログラ
ムを動作させた時の使用領域を決定する工程と、 前記使用領域以外の非使用領域への電源供給が行われな
いように前記システムLSIを製造して完成させる工程
とを備えることを特徴とするシステムLSIの製造方
法。 - 【請求項2】 請求項1に記載のシステムLSIの製造
方法であって、 前記システムLSIをパッケージする時に、前記非使用
領域の電極パッドは外部ピンに接続されないシステムL
SIの製造方法。 - 【請求項3】 請求項1に記載のシステムLSIの製造
方法であって、 前記応用プログラムは、システム設計者が前記データ語
長を任意に設定できるソフトウェア言語で記述されてい
るシステムLSIの製造方法。 - 【請求項4】 請求項3に記載のシステムLSIの製造
方法であって、 前記使用領域を決定する工程では、システム設計者が設
定した前記データ語長に対応してコンパイルするコンパ
イラを使用して前記応用プログラムをコンパイルし、コ
ンパイルしたプログラムでシミュレートを行うシステム
LSIの製造方法。 - 【請求項5】 請求項1から4のいずれか1項に記載の
システムLSIの製造方法で製造されたことを特徴とす
るシステムLSI。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP11158385A JP3082852B1 (ja) | 1999-06-04 | 1999-06-04 | システムlsiの製造方法及びその方法で製造されたシステムlsi |
US09/454,561 US6606532B1 (en) | 1999-06-04 | 1999-12-07 | Method of manufacturing system LSI and system LSI manufactured using the method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP11158385A JP3082852B1 (ja) | 1999-06-04 | 1999-06-04 | システムlsiの製造方法及びその方法で製造されたシステムlsi |
Publications (2)
Publication Number | Publication Date |
---|---|
JP3082852B1 true JP3082852B1 (ja) | 2000-08-28 |
JP2000349159A JP2000349159A (ja) | 2000-12-15 |
Family
ID=15670576
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP11158385A Expired - Fee Related JP3082852B1 (ja) | 1999-06-04 | 1999-06-04 | システムlsiの製造方法及びその方法で製造されたシステムlsi |
Country Status (2)
Country | Link |
---|---|
US (1) | US6606532B1 (ja) |
JP (1) | JP3082852B1 (ja) |
Families Citing this family (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3953313B2 (ja) | 2001-12-21 | 2007-08-08 | Necエレクトロニクス株式会社 | 汎用ロジックモジュールを用いたasic及びその設計・製造方法 |
US7318014B1 (en) * | 2002-05-31 | 2008-01-08 | Altera Corporation | Bit accurate hardware simulation in system level simulators |
US7991606B1 (en) | 2003-04-01 | 2011-08-02 | Altera Corporation | Embedded logic analyzer functionality for system level environments |
US7509246B1 (en) | 2003-06-09 | 2009-03-24 | Altera Corporation | System level simulation models for hardware modules |
EP1687815B1 (en) * | 2003-11-18 | 2008-05-21 | Koninklijke Philips Electronics N.V. | Calculating required energy |
US7225416B1 (en) * | 2004-06-15 | 2007-05-29 | Altera Corporation | Methods and apparatus for automatic test component generation and inclusion into simulation testbench |
US7810058B1 (en) * | 2005-02-10 | 2010-10-05 | Xilinx, Inc. | Early power estimator for integrated circuits |
US7900165B2 (en) * | 2007-03-30 | 2011-03-01 | Synopsys, Inc. | Determining a design attribute by estimation and by calibration of estimated value |
JP5441911B2 (ja) * | 2007-11-01 | 2014-03-12 | シリコン ヒフェ ベー.フェー. | プロセッサの設計方法および設計システム |
JP5111659B2 (ja) * | 2009-04-15 | 2013-01-09 | ルネサスエレクトロニクス株式会社 | マスクromの製造に向けられたレイアウトパターンを作成するためのシステムおよびマスクパターンを作成するための方法 |
CN103995971A (zh) * | 2014-05-26 | 2014-08-20 | 北京隆盛泰科石油管科技有限公司 | 一种综合评价油气输送管厂制管能力的方法 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS6124250A (ja) * | 1984-07-13 | 1986-02-01 | Nippon Gakki Seizo Kk | 半導体集積回路装置 |
US5841296A (en) * | 1997-01-21 | 1998-11-24 | Xilinx, Inc. | Programmable delay element |
US5883814A (en) * | 1997-03-13 | 1999-03-16 | International Business Machines Corporation | System-on-chip layout compilation |
US6336207B2 (en) * | 1997-05-27 | 2002-01-01 | Matsushita Electric Industrial Co., Ltd. | Method and apparatus for designing LSI layout, cell library for designing LSI layout and semiconductor integrated circuit |
JPH113984A (ja) * | 1997-06-13 | 1999-01-06 | Hitachi Ltd | 半導体集積回路装置 |
JP3374967B2 (ja) * | 1998-10-26 | 2003-02-10 | 日本電気株式会社 | 半導体集積回路 |
-
1999
- 1999-06-04 JP JP11158385A patent/JP3082852B1/ja not_active Expired - Fee Related
- 1999-12-07 US US09/454,561 patent/US6606532B1/en not_active Expired - Fee Related
Non-Patent Citations (2)
Title |
---|
A.Inoue et al,"Language and Compiler for Optimizing Datapath Widths of Embedded Systems",IEICE Transactions on Fundamentals of Electronics,Comunications and Computer Sciences,December 1998,Vol.E−81A,No.12,p.2595−2604. |
T.Ishihara et al,"Power−Pro:programmable power management architecture",Proceedings of the ASP−DAC’98 Asian and South Pacific Design Automation Conference,(USA),IEEE,1998,p.321−322. |
Also Published As
Publication number | Publication date |
---|---|
JP2000349159A (ja) | 2000-12-15 |
US6606532B1 (en) | 2003-08-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2869379B2 (ja) | プロセッサ合成システム及びプロセッサ合成方法 | |
Van Gageldonk et al. | An asynchronous low-power 80C51 microcontroller | |
US6477697B1 (en) | Adding complex instruction extensions defined in a standardized language to a microprocessor design to produce a configurable definition of a target instruction set, and hdl description of circuitry necessary to implement the instruction set, and development and verification tools for the instruction set | |
TWI476597B (zh) | 資料處理裝置及半導體積體電路裝置 | |
JP3082852B1 (ja) | システムlsiの製造方法及びその方法で製造されたシステムlsi | |
JP2006509290A (ja) | マイクロプロセッサ電力消費低減のためのレジスタファイルゲーティング | |
KR20010043826A (ko) | 마이크로 컨트롤러 명령어 집합 | |
US20080201564A1 (en) | Data processor | |
Tabkhi et al. | Application-guided power gating reducing register file static power | |
US5742781A (en) | Decoded instruction buffer apparatus and method for reducing power consumption in a digital signal processor | |
JP4004915B2 (ja) | データ処理装置 | |
Dolle et al. | A 32-b RISC/DSP microprocessor with reduced complexity | |
JP2002342091A (ja) | プログラム作成装置 | |
CN102323766B (zh) | 一种智能玩具控制芯片 | |
EP1190305B1 (en) | Method and apparatus for jump delay slot control in a pipelined processor | |
Benini et al. | Minimizing memory access energy in embedded systems by selective instruction compression | |
US20050108662A1 (en) | Microprocessor system | |
Kirk | C programming for embedded systems | |
Yoshida et al. | The GMicro/100 32-bit microprocessor | |
US20060168431A1 (en) | Method and apparatus for jump delay slot control in a pipelined processor | |
JP2007233990A (ja) | 情報処理装置およびその回路設計方法 | |
de Dinechin et al. | DSP-MCU processor optimization for portable applications | |
EP1372065B1 (en) | System large scale integrated circuit (LSI), method of designing the same, and program therefor | |
WO2002057893A2 (en) | Method and apparatus for reducing power consuption in a digital processor | |
JP4545777B2 (ja) | データ処理装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
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 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20080630 Year of fee payment: 8 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090630 Year of fee payment: 9 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090630 Year of fee payment: 9 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100630 Year of fee payment: 10 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110630 Year of fee payment: 11 |
|
LAPS | Cancellation because of no payment of annual fees |