(57)【要約】【課題】  出力電圧が可変な電源を適用していない場合や電源を複数部品で共有している場合においても、PLDの消費電力を低減することが出来る情報処理回路を提供する。【解決手段】  再構成可能な論理回路と、回路データを格納する記憶素子とから成る情報処理回路であって、記憶素子に格納された前記回路データは、前記再構成可能な論理回路の製造プロセスを検出するプロセス検出回路データと、前記検出された製造プロセスに応じたタイミング対策を施した複数の再構成用回路データであること特徴とする情報処理回路。【選択図】  図２
2013090018.tif 000002
【特許請求の範囲】
【請求項１】
再構成可能な論理回路と、回路データを格納する記憶素子とから成る情報処理回路であって、前記記憶素子に格納された前記回路データは、前記再構成可能な論理回路の製造プロセスを検出するプロセス検出回路データと、前記検出された製造プロセスに応じたタイミング対策を施した複数の再構成用回路データであることを特徴とする情報処理回路。
【請求項２】
請求項１記載の情報処理回路であって、前記プロセス検出回路データと、前記複数の再構成用回路データのうち、前記プロセス検出回路によるプロセス検出結果に応じたタイミング対策を施した再構成用回路データを前記再構成可能な論理回路へ書き込みを指示する制御部を備えたことを特徴とする情報処理回路。
【請求項３】
請求項１又は請求項２記載の情報処理回路であって、前記プロセス検出回路は、前記再構成可能な論理回路の遅延時間と複数の参照値を比較し、比較結果に応じたプロセス検出結果を出力することを特徴とする情報処理回路。
【請求項４】
請求項１乃至請求項３の情報処理回路であって、前記プロセス検出回路によるプロセス検出は、電源起動時の初期設定中に実施されることを特徴とする情報処理回路。
【請求項５】
再構成可能な論理回路と、回路データを格納する記憶素子とから成る情報処理回路であって、前記記憶素子に格納された前記回路データは、事前に検出された製造プロセスに応じたタイミング対策を施した再構成用回路データであること特徴とする情報処理回路。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、プログラマブルロジックデバイス(PLD)を適用した通信装置の消費電力を低減する技術に関する。
【背景技術】
【０００２】
PLDは実現する回路をプログラミングによって再構成することが可能な半導体集積回路であり、外部記憶素子に保持した回路データを読み込むことによって、所望の回路を構成する。代表的なデバイスにFPGA(Field Programmable Gate Array)がある。
【０００３】
近年における通信装置の高性能化、多機能化により、適用されているPLDの消費電力も増加しつつある。消費電力が大きいデバイスを安定動作させる為には、放熱部品の追加や電源の大容量化などの対策が必要となる。これらの対策を行うと、製品のコスト上昇や設計自由度の低下を招く為、PLDの消費電力を低減する要望が強い。
【０００４】
特許文献1には、半導体集積回路の動作速度が製造プロセスと電源電圧によって変動することから、供給する電源電圧値を、半導体集積回路の製造プロセスに応じて最適値に調整することで消費電力を低減する技術が記載されている。ここで、最適な電源電圧値とは、半導体集積回路に要求される動作速度を満たす最小値のことである。
【０００５】
また、特許文献2には、温度測定結果に応じてFPGAの回路データを書換え、FPGAを低速動作する回路に再構成し、合わせて動作クロック周波数を下げることで、FPGAの消費電力を低減する技術が記載されている。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２０１１−１２４３８７号公報
【特許文献２】特開２００４−２２７２４号公報
【非特許文献】
【０００７】
【非特許文献１】社団法人電子情報技術産業協会半導体技術ロードマップ専門委員会発行平成17年度報告書第2章
【発明の概要】
【発明が解決しようとする課題】
【０００８】
特許文献1に記載の技術では、半導体集積回路の製造プロセスに応じて供給する電圧を微調整する電源が必要であるが、このような電源は一般の電源に比べて高価である。更に同一電源を複数の部品で共有している場合は、特許文献1に記載の技術を適用できない為、着目する半導体集積回路専用の電源が必要であり、更なるコスト上昇を招く。
【０００９】
また、特許文献2に記載の技術では、FPGAがデータ処理を行っている最中でも、温度測定結果に応じてFPGAを低速動作する回路に再構成して消費電力を低減する。FPGAは自身を再構成している間は必要なデータ処理を行えない為、通信装置の様にデータの即時処理を求められる装置には特許文献2に記載の技術を適用できない。
【００１０】
特許文献1、及び、非特許文献１に記載されているように半導体集積回路の遅延時間は製造プロセスによってばらつきがある。PLDにおいても遅延時間は製造プロセスによって変動し、設計値(Typicalプロセス)に比べて遅いプロセス(Slowプロセス)と速いプロセス(Fastプロセス)のデバイスが存在する(図1)。そこで、論理回路の設計はデバイスが保証する製造プロセスのばらつきを考慮して、Slowプロセスにおいてもタイミング仕様を満たすように設計する。なお、以下ではPLDを遅延時間の範囲ごとにSlowプロセス/Typicalプロセス/Fastプロセスと分類し、この分類をプロセスタイプと呼ぶ。
【００１１】
タイミング仕様を満たす為の対策として、（１）組合せ論理間にリタイミング素子を挿入する（２）消費電力が大きいが高速動作する論理セルの利用率を上げる（３）データのパラレル数を増やして動作クロック周波数を下げる等があるが、これらの対策はSlowプ
ロセス以外のデバイスにとっては過剰な対策であり、対策に要する回路分の電力を余分に消費していることになる。
【００１２】
本発明は上記の欠点を解決し、出力電圧が可変な電源を適用していない場合や、電源を複数部品で共有している場合において、製造プロセスにより半導体集積回路の遅延時間にばらつきがあったとしても、PLDの消費電力を低減することが出来る情報処理回路を提供することを目的とする。
【課題を解決するための手段】
【００１３】
本発明に係る情報処理回路は、本来期待する回路をPLDに書き込む前にPLDのプロセスタイプを特定し、その結果に応じてPLDを本来期待する回路に書き換えることで、PLDの動作中の消費電力を低減した情報処理回路を提供することが出来る。このとき書き換える回路データは、本来期待する回路のうち、特定したプロセスタイプに最適なタイミング対策を施した回路データである。なお、PLDを本来期待する回路に書き換えた後は、PLDを再構成しない為、PLDの再構成によるデータ処理の中断を許容できない装置にも本発明は適用可能である。
【００１４】
具体的に本発明に係る情報処理回路は、再構成可能な論理回路と、回路データを格納する記憶素子とから成る情報処理回路であって、前記記憶素子に格納された前記回路データは、前記再構成可能な論理回路の製造プロセスを検出するプロセス検出回路データと、前記検出された製造プロセスに応じたタイミング対策を施した複数の再構成用回路データであること特徴とする。
【発明の効果】
【００１５】
本発明によれば、PLDの電源に出力電圧が可変な電源を適用していない場合において、また、電源を他の部品と共有している場合においても、PLDの製造プロセスに応じて最適なタイミング対策を施した再構成用回路データをPLDに書き込むことができるので、PLDの消費電力を低減することが出来る。
【図面の簡単な説明】
【００１６】
【図１】半導体集積回路の遅延時間と製造プロセスばらつきの関係を示す概念図である。
【図２】第一の実施形態に関する情報処理回路のブロック構成図である。
【図３】プロセスタイプ毎に最適化した回路データで実現する回路例を示す図表である。
【図４】プロセス検出回路の構成図である。
【図５】プロセス検出回路の動作フローである。
【図６】プロセステーブルに格納する値である。
【図７】プロセステーブルに格納する値の一例である。
【図８】プロセス検出動作及び再構成手順を示すフロー図である。
【図９】本発明の効果の一例を示す図表である。
【図１０】第二の実施形態に関する情報処理回路のブロック構成図である。
【図１１】プロセス検出動作及びPLDの再構成手順を示すフロー図である。
【図１２】第三の実施形態に関してROMの書込回数を抑えるブロック構成図である。
【図１３】プロセス検出動作及びPLDの再構成手順を示すフロー図である。
【発明を実施するための形態】
【００１７】
以下、本発明の実施の形態について図面を参照して詳細に説明する。なお、以下の実施例ではPLDとしてFPGAを用いて説明する。また、実質同一部位には同じ参照番号を振り、説明は繰り返さない。
【実施例１】
【００１８】
図2は、本実施例の情報処理回路のブロック構成図を示す図である。図2に示す情報処理回路100Aは、FPGA101と、外部記憶素子(ROM) 102と、CPU103とで構成されている。ROM102には、対象FPGAのプロセスタイプに応じて最適なタイミング対策を施した複数の再構成用回路データ1〜nと、製造プロセス検出回路の回路データとを格納している。CPU103は、ROM102に格納してある回路データのうちFPGA101に適用する回路データの選択と、FPGA101のコンフィグレーション制御を行う。
【００１９】
回路データ1〜nで構成される回路の例として、nを3とした場合を図3に例示する。この例では、対象とするFPGAのプロセスタイプを、最も早いプロセス(Fast)と、標準的なプロセス(Typical)と、最も遅いプロセス(Slow)の3種類に分類して、それぞれ対応する回路データ1、2、3を示している。回路データ1、2、3は、それぞれのプロセスタイプにおいて、要求される動作速度を満たす最低限のタイミング対策を施した回路のデータであり、それぞれ構成される回路は、タイミング対策としてリタイミング素子の使用数と、低電力セルの使用数とが異なっている。ここで、リタイミング素子とは、論理回路である複数のフリップフロップ(以下FF)で回路を構成する場合において、接続された前段のFFから後段のFFまで、規定された伝搬遅延時間を満たせない場合に、規定された伝搬遅延時間を満足させる対策としてデータパスに挿入したFFのことである。また、低電力セルとは、各論理セルに印加する電源電圧を微調整することにより、通常の論理セルに比べて動作速度は遅いが消費電力を低く設定した論理セルのことである。
【００２０】
次に、プロセス検出回路を図4に例示する。プロセス検出回路は、FPGA内部の遅延時間を測定して、予め調べた各プロセスタイプの遅延時間と比較することでプロセスタイプを特定し、対応する回路データのアドレスを出力する。プロセス検出回路は、クロック207と、分周回路201と、遅延回路202と、遅延測定部203と、プロセステーブル204と、プロセス照会部205と、回路データ指定部206と、プロセス検出結果212とで構成される。クロック207は、プロセス検出回路の動作クロックである。分周回路201は、クロック207を分周し、分周した信号を遅延回路202と遅延測定部203に供給する。遅延測定部203は、分周回路201から供給された信号と、遅延回路202を介して供給される信号とを比較することで、遅延回路202の遅延時間を測定して測定値208を生成する。
【００２１】
プロセステーブル204は図6に示すように、プロセスタイプ毎の遅延時間209を参照値として保持するとともに、各プロセスタイプに対応する回路データのアドレスを保持している。参照値209は、回路設計段階でシミュレーションにより容易に求めることが出来る。プロセス照会部205は、測定値208と参照値209を比較して当該FPGAのプロセスタイプを照会する。回路データ指定部206は、当該FPGAに最適なタイミング対策を施した回路データを格納しているROM102のアドレスを検出し、プロセス検出結果212としてCPU103に通知する。なお、回路データ指定部206は、当該FPGAについて最適な回路データが存在しない場合に、想定外のプロセスタイプであることを示す警報をプロセス検出結果212として出力しても良い。
【００２２】
ここで、図4のプロセス検出回路により遅延時間の測定値からプロセス検出結果を出力する方法を図5を用いて説明する。プロセス照会部205は、測定値208であるXを受信して、プロセステーブル204に格納してある参照値209と比較する(S01)。測定値208が参照値209よりも大きい場合は、次に大きい参照値と比較する。測定値208が参照値209よりも小さい場合、当該FPGAが参照値に関連付けたプロセスタイプであると判断し、対応する回路データのアドレスを出力するよう回路データ指定部206に指示する。なお、全ての参照値（ｎ個）と比較を完了した場合（S02）、それでも測定値208が大きい場合は当該FPGAが想定外のプロセスであると判断し、回路データ指定部206に警報を出力するよう指示する（S04）。
【００２３】
回路データ指定部206は、FPGAのプロセスタイプを特定できた場合は、プロセステーブル204に格納した参照値と回路データのアドレスの関係から、対応する回路データのアドレスを出力する(S03)。FPGAのプロセスタイプを特定できなかった場合は、警報を出力する。
【００２４】
例えば、図7に示すようにプロセステーブルに格納している参照値が3種類(3ns、8ns、13ns)であり、遅延回路202の遅延時間が5nsであった場合、プロセス照合部205はFPGAが参照値8nsのプロセスタイプであると特定し、回路データ指定部206はアドレスA2を出力する。
【００２５】
なお、遅延回路202を、装置運用時に機能する情報処理回路を設計する際の最もタイミング余裕が少ないパス(クリティカルパス)上に配置することで、装置運用時に最もタイミング違反を起こす可能性が高いパスを用いてプロセスばらつきを検出できる。更に、装置運用時に機能する回路について、クリティカルパスが複数ある場合は、遅延回路202を複数用意してそれぞれプロセス検出を行っても良い。
【００２６】
以上の説明を基に、本発明の実施手順を図8に示す。装置全体の電源起動時において、CPU103がROM102にプロセス検出回路の回路データ出力を指示し、ROM102が回路データをFPGA101に出力する(S11およびS12)。FPGA101は受信した回路データを自身に書込み、プロセス検出を行う(S13およびS14)。CPU103は、プロセス検出の結果として出力される回路データのアドレスを受信し、該当アドレスに格納した回路データの出力をROM102に指示する(S15)。FPGA101はROM102から受信した回路データを自身に書込むことで、プロセスタイプに応じた最低限のタイミング対策を施した回路に再構成され、動作時の消費電力を低減することが出来る(S16およびS17)。
【００２７】
本発明の効果の一例として、Altera社のFPGAであるSTRATIX（登録商標）IIIを使用して、それぞれFastプロセスとSlowプロセスにおいて必要な最低限のタイミング対策を施した回路の消費電力をシミュレーションにより求めた。それぞれタイミング対策に使用した回路素子の使用数、及び消費電力について、slowプロセスとfastプロセスを相対比較した結果を図9に示す。Fastプロセス用の回路データの消費電力は、Slowプロセス用の回路データに比べて約10%低く、タイミング対策回路を最適化することで消費電力を低減できることを示している。
【実施例２】
【００２８】
図2ではROM102に予め複数の回路データを格納していたが、装置の出荷試験時にFPGA101のプロセス検出を行い、プロセス検出結果に対応する回路データをROM102に書き込む構成とすることで、情報処理回路に適用するROM102に必要な容量を抑えることが出来る。この時のブロック構成図を図10に示す。
【００２９】
図10に示す情報処理回路100Bは、図2に比べて試験装置104が追加されている点が異なる。また、ROM102はFPGA101の再構成用回路データである回路データ1〜nのうち、対象FPGAのプロセスタイプに応じた最適なタイミング対策を施した回路データkを格納する。
【００３０】
以上の説明を基に、本発明の実施手順を図11に示す。装置試験開始時において、試験装置104はプロセス検出回路の回路データをROM102に出力する(S21)。ROM102は受信した回路データを自身に書き込み、FPGA101に出力する(S22およびS23)。FPGA101は受信した回路データを自身に書込み、プロセス検出を行う(S24およびS25)。試験装置104は、プロセス検出の結果として出力される回路データのアドレスを受信し、該当アドレスに格納した回路データをROM102に出力する(S26)。ROM102は受信した回路データを自身に書込み、あわせてFPGA101に出力する(S27およびS28)。FPGA101はROM102から受信した回路データを自身に書込むことで、プロセスタイプに応じた最低限のタイミング対策を施した回路に再構成され、動作時の消費電力を低減することが出来る(S29)。
【００３１】
また、装置の出荷試験時にFPGA101のプロセス検出を行うことで、特定したプロセスタイプに対応する回路データが存在しない場合において、FPGA101をタイミングを満たすことが出来ない恐れのある回路に構成して装置を出荷してしまうことを防げる。
【実施例３】
【００３２】
試験装置104からFPGA101をコンフィグレーションするデータパスを設けた構成を図12に示す。図12の構成では、装置試験開始時においてFPGA101をプロセス検出回路に構成する際に、試験装置104からFPGA101を直接コンフィグレーションする。図12の構成とすることで、ROM102を書き込む回数を1回に抑えることができ、書込み回数に制限がある安価なROMを適用することが出来る。
【００３３】
以上の説明を基に、本発明の実施手順を図13に示す。装置試験開始時において、試験装置104はプロセス検出回路の回路データをFPGA101に出力する(S31)。FPGA101は受信した回路データを自身に書込み、プロセス検出を行う(S32およびS33)。試験装置104は、プロセス検出の結果として出力される回路データのアドレスを受信し、該当アドレスに格納した回路データをROM102に出力する(S34)。ROM102は受信した回路データを自身に書込み、あわせてFPGA101に出力する(S35およびS36)。FPGA101はROM102から受信した回路データを自身に書込むことで、プロセスに応じた最低限のタイミング対策を施した回路に再構成され、動作時の消費電力を低減することが出来る(S36)。
【符号の説明】
【００３４】
１００Ａ  情報処理回路
１０１  FPGA
１０２  ROM
１０３  CPU
１０４  試験装置
２０１  分周回路
２０２  遅延回路
２０３  遅延測定部
２０４  プロセステーブル
２０５  プロセス照会部
２０６  回路データ指定部
２０７  クロック信号
２０８  測定値
２０９  参照値
２１０  プロセス照会結果
２１１  ROM102に格納した回路データのアドレス信号
２１２  プロセス検出結果
【図１】
2013090018.tif 000003
【図２】
2013090018.tif 000004
【図３】
2013090018.tif 000005
【図４】
2013090018.tif 000006
【図５】
2013090018.tif 000007
【図６】
2013090018.tif 000008
【図７】
2013090018.tif 000009
【図８】
2013090018.tif 000010
【図９】
2013090018.tif 000011
【図１０】
2013090018.tif 000012
【図１１】
2013090018.tif 000013
【図１２】
2013090018.tif 000014
【図１３】
2013090018.tif 000015