JP2017027413A - プログラマブルロジックデバイス設計装置及びその方法 - Google Patents

プログラマブルロジックデバイス設計装置及びその方法 Download PDF

Info

Publication number
JP2017027413A
JP2017027413A JP2015146111A JP2015146111A JP2017027413A JP 2017027413 A JP2017027413 A JP 2017027413A JP 2015146111 A JP2015146111 A JP 2015146111A JP 2015146111 A JP2015146111 A JP 2015146111A JP 2017027413 A JP2017027413 A JP 2017027413A
Authority
JP
Japan
Prior art keywords
supply voltage
power supply
voltage value
programmable logic
delay
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.)
Pending
Application number
JP2015146111A
Other languages
English (en)
Inventor
秀夫 ▲辻▼
秀夫 ▲辻▼
Hideo Tsuji
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2015146111A priority Critical patent/JP2017027413A/ja
Priority to US15/200,515 priority patent/US10366188B2/en
Publication of JP2017027413A publication Critical patent/JP2017027413A/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/30Circuit design
    • G06F30/36Circuit design at the analogue level
    • G06F30/367Design verification, e.g. using simulation, simulation program with integrated circuit emphasis [SPICE], direct methods or relaxation methods
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2119/00Details relating to the type or aim of the analysis or the optimisation
    • G06F2119/12Timing analysis or timing optimisation

Landscapes

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

Abstract

【課題】PLDのクリティカルパスの遅延量を最適化することによってPLDの電源電圧値を最適化する。【解決手段】プログラマブルロジックデバイス設計装置1は、遅延量解析部142と、電源電圧最適化部143と、構成情報生成部144と、構成情報出力部145とを有する。遅延量解析部142は、論理回路をプログラマブルロジックデバイスに配置配線するときに使用される配置配線情報から、論理回路に含まれる経路の中で遅延マージンが最も小さいクリティカルパスを決定する。電源電圧最適化部143は、電源電圧と遅延量との関係を示すテーブルを使用して演算されるクリティカルパスの遅延マージンが所望の値になる電源電圧値を、プログラマブルロジックデバイスに印加する最適電圧値に決定する。構成情報生成部144は、配置配線情報及び最適電圧値を含む構成情報を生成する。構成情報出力部145は、構成情報を出力する。【選択図】図2

Description

本発明は、プログラマブルロジックデバイス設計装置及びその方法に関する。
大規模半導体集積回路(LSI)の設計時にSPICE等による静的タイミング解析(Static Timing Analysis、STA)等を使用して、LSIの消費電力の増加を低減することが知られている(例えば、特許文献1〜3を参照)。一例では、LSIにリングオシレータを搭載し、搭載したリングオシレータの発振周期とLSIの最適電圧値との関係を示すテーブルを使用して、デバイス毎に最適な電源電圧値が決定される。発振周期と最適電圧値との関係を示すテーブルを作成するときに、ゲート長等のプロセスパラメータのそれぞれのばらつきは、SPICE等のシミュレーションによるクリティカルパスの解析によりテーブルに反映される。ゲート長等の複数のプロセスパラメータのばらつきが反映されたテーブルを使用して最適電圧値を決定することにより、プロセスパラメータの全てが一斉にワースト方向へ変動すると推定する従来のモデルよりも高精度に最適電圧値が決定される。発振周期と最適電圧値との関係を示すテーブルは、クリティカルパスが相違する論理回路毎に作成されるため、SPICE等のシミュレーションによる静的タイミング解析は、クリティカルパスが相違する論理回路毎に実行される。SPICE等のシミュレーションは一般に多くの工数により実行されるものであるので、クリティカルパスが相違する論理回路毎にSPICE等のシミュレーションによる静的タイミング解析を実行することにより、回路設計者の負担が増加するおそれがある。
また、FPGA(Field Programmable Gate Array)とも称され、搭載される回路の変更に応じて再構成が可能な論理回路であるプログラマブルロジックデバイスが知られている(例えば、特許文献4及び5を参照)。FPGAは、多数の基本論理セル回路と、基本論理セル回路の間の結線する結線スイッチ回路とを有し、基本論理セル回路のそれぞれが所望の動作を実施するようにコンフィグレーションされ、結線スイッチ回路を介して接続される。
特開2009−86848号公報 特開2012−203561号公報 特表2011−530763号公報 特開2006−163815号公報 特開2008−263261号公報
FPGAにおいても、他のLSIと同様に、許容されるクリティカルパスの遅延量は、論理回路の構成、動作周波数及び電源電圧に応じて変化する。FPGAの消費電力を低減するために、許容されるクリティカルパスの遅延量等に応じて電源電圧を最適化することが望ましい。従来のFPGA設計装置では、所定の最高動作周波数及び電源電圧の範囲で動作させることを前提にして、論理回路の設計や遅延量の解析が実施される。従来のFPGA設計装置では、所定の最高動作周波数及び電源電圧の範囲で動作させることを前提とするため、クリティカルパスの遅延量を最適化することによって、所定の電源電圧の範囲を超えて電源電圧値を最適化することは容易ではない。
一実施形態では、クリティカルパスの遅延量を最適化することによってプログラマブルロジックデバイスの電源電圧値を最適化することができるプログラマブルロジックデバイス設計装置を提供することを目的とする。
1つの態様では、プログラマブルロジックデバイス設計装置は、遅延量解析部と、電源電圧最適化部と、構成情報生成部と、構成情報出力部とを有する。遅延量解析部は、論理回路をプログラマブルロジックデバイスに配置配線するときに使用される配置配線情報から、論理回路に含まれる経路の中で遅延マージンが最も小さいクリティカルパスを決定する。電源電圧最適化部は、電源電圧と遅延量との関係を示すテーブルを使用して演算されるクリティカルパスの遅延マージンが所望の値になる電源電圧値を、プログラマブルロジックデバイスに印加する最適電圧値に決定する。構成情報生成部は、配置配線情報及び最適電圧値を含む構成情報を生成する。構成情報出力部は、構成情報を出力する。
一実施形態では、クリティカルパスの遅延量を最適化することによってプログラマブルロジックデバイスの電源電圧値を最適化することができるプログラマブルロジックデバイス設計装置を提供することができる。
第1実施形態に係るプログラマブルロジックデバイス設計装置の回路ブロック図である。 図1に示すプログラマブルロジックデバイス設計装置によるコンフィグレーションデータ生成処理のフローチャートである。 FPGAの内部回路ブロック図である。 遅延量テーブルの一例を示す図である。 (a)はクリティカルパスの一例を示す図であり、(b)はクリティカルパスを決定するときに使用される遅延量あり、(c)はクリティカルパスの遅延マージンを示す図である。 図2に示すS103の処理のより詳細な処理フローを示すフローチャートである。 FPGAを搭載する電子装置の回路ブロック図である。 図1に示すプログラマブルロジックデバイス設計装置が生成したコンフィグレーションデータに基づく電子装置の起動動作を示すフローチャートである。 (a)はクリティカルパスの一例における電源電圧の変化と遅延の変動量との関係を示す図であり、(b)は(a)に示すクリティカルパスの電源電圧の変化と遅延マージンとの関係を示す図である。 第2実施形態に係るプログラマブルロジックデバイス設計装置の回路ブロック図である。 図10に示すプログラマブルロジックデバイス設計装置によるコンフィグレーションデータ生成処理のフローチャートである。 図11に示すS401の処理で生成されるRTLデータに対応する電圧制御回路の回路ブロック図である。 図10に示すプログラマブルロジックデバイス設計装置が生成したコンフィグレーションデータに基づく電子装置の起動動作を示すフローチャートである。 図10に示すプログラマブルロジックデバイス設計装置が生成したコンフィグレーションデータに基づく起動動作がされた電子装置の回路ブロック図である。 第3実施形態に係るプログラマブルロジックデバイス設計装置の回路ブロック図である。 図15に示すプログラマブルロジックデバイス設計装置によるコンフィグレーションデータ生成処理のフローチャートである。 図16に示すS601の処理で生成されるRTLデータに対応するテスト回路の回路ブロック図である。 図15に示すプログラマブルロジックデバイス設計装置が生成したコンフィグレーションデータに基づく起動動作がされた電子装置の回路ブロック図である。
以下図面を参照して、本発明に係るプログラマブルロジックデバイス設計装置及びその方法について説明する。但し、本発明の技術的範囲はそれらの実施の形態に限定されない。
(実施形態に係るプログラマブルロジックデバイス設計装置の概要)
実施形態に係るプログラマブルロジックデバイス設計装置(以下、PLD設計装置とも称する)は、電源電圧値と遅延量との関係を示すテーブルを使用して、クリティカルパスの遅延マージンが最小になるように電源電圧値を決定する。論理回路のクリティカルパスの遅延マージンが最小になるように電源電圧値を決定することにより、配置配線情報を加味してPLDの電源電圧が最適化される。
(第1実施形態に係るプログラマブルロジックデバイス設計装置の構成及び機能)
図1は、第1実施形態に係るプログラマブルロジックデバイス設計装置の回路ブロック図である。
PLD設計装置1は、記憶部11と、入力部12と、出力部13と、処理部14とを備える。PLD設計装置1は、RTLデータ、タイミング制約データ及び遅延量テーブルを使用して、FPGAの配置配線情報及び電源電圧値を含むコンフィグレーションデータを生成する。
記憶部11は、例えば、磁気テープ装置、磁気ディスク装置、又は光ディスク装置のうちの少なくとも一つを備える。記憶部11は、処理部14での処理に用いられるオペレーティングシステムプログラム、ドライバプログラム、アプリケーションプログラム、データ等を記憶する。例えば、記憶部11は、アプリケーションプログラムとして、FPGAのコンフィグレーションデータを生成する処理を、処理部14に実行させるためのコンフィグレーションデータ生成プログラム等を記憶する。コンフィグレーションデータ生成プログラムは、例えばCD−ROM、DVD−ROM等のコンピュータ読み取り可能な可搬型記録媒体から、公知のセットアッププログラム等を用いて記憶部11にインストールされてもよい。
また、記憶部11は、コンフィグレーションデータ生成処理で使用されるRTLデータ、タイミング制約データ及び遅延量テーブルを記憶する。RTLデータは、FPGAに搭載される論理回路の論理を示すデータであり、ユーザが設計したユーザ回路と、電源電圧を制御する電圧制御回路とを含む。タイミング制約データは、一例ではSDC(Synopsys Design Constraints)ファイルであり、FPGAに搭載される論理回路のタイミング制約を規定する。さらに、記憶部11は、所定の処理に係る一時的なデータを一時的に記憶してもよい。
入力部12は、データの入力が可能であればどのようなデバイスでもよく、例えば、タッチパネル、キーボタン等である。操作者は、入力部12を用いて、文字、数字、記号等を入力することができる。入力部12は、操作者により操作されると、その操作に対応する信号を生成する。そして、生成された信号は、操作者の指示として、処理部14に供給される。
出力部13は、映像や画像等の表示が可能であればどのようなデバイスでもよく、例えば、液晶ディスプレイ又は有機EL(Electro−Luminescence)ディスプレイ等である。出力部13は、処理部14から供給された映像データに応じた映像や、画像データに応じた画像等を表示する。また、出力部13は、紙などの表示媒体に、映像、画像又は文字等を印刷する出力装置であってもよい。
処理部14は、一又は複数個のプロセッサ及びその周辺回路を有する。処理部14は、PLD設計装置1の全体的な動作を統括的に制御するものであり、例えば、CPUである。処理部14は、記憶部11に記憶されているプログラム(ドライバプログラム、オペレーティングシステムプログラム、アプリケーションプログラム等)に基づいて処理を実行する。また、処理部14は、複数のプログラム(アプリケーションプログラム等)を並列に実行できる。
処理部14は、配置配線情報生成部141と、遅延量解析部142と、電源電圧最適化部143と、コンフィグレーションデータ生成部144と、コンフィグレーションデータ出力部145とを有する。これらの各部は、処理部14が備えるプロセッサで実行されるプログラムにより実現される機能モジュールである。あるいは、これらの各部は、ファームウェアとしてPLD設計装置に実装されてもよい。
図2は、PLD設計装置1によるコンフィグレーションデータ生成処理のフローチャートである。コンフィグレーションデータ生成処理は、予め記憶部11に記憶されているプログラムに基づいて、主に処理部14により、PLD設計装置1の各要素と協働して実行される。
まず、配置配線情報生成部141は、記憶部11に記憶されたRTLデータ及びタイミング制約データを使用して論理合成してネットリストを生成し、生成したネットリストから配置配線情報を生成する(S101)。
図3は、FPGAの内部回路ブロック図である。
FPGA100は、それぞれがLUT101と、セレクタ102と、フリップフロップ103とを有し、格子状に配置された複数の論理回路ブロック104と、それぞれが論理回路ブロック104を接続する複数のスイッチボックス105とを有する。LUT101は、多入力−1出力のテーブルであり、入力数に応じた規模のメモリで形成される。例えば、LUT101は、5入力−1出力の場合には、32ビットのメモリにより形成される。LUT101は、RTLデータから生成されたコンフィグレーションデータに応じて、所望の組み合わせ回路を実現する。セレクタ102は、スイッチボックス105を介して入力される他の論理回路ブロック104からの信号及びLUT101から出力される信号の何れか一方を、RTLデータから生成されたコンフィグレーションデータに応じて選択して出力する。フリップフロップ103は、セレクタ102が選択した信号を、スイッチボックス105を介して入力されるクロックに応じてラッチして、ラッチした信号をスイッチボックス105を介して他の論理回路ブロック104に出力する。なお、コンフィグレーションデータは構成情報の一例である。
配置配線情報生成部141は、論理合成したネットリストの組み合わせ回路に対応する論理をLUT101に割り当てると共に、論理合成したネットリストに含まれるフリップフロップをフリップフロップ103に割り当てる。
次いで、遅延量解析部142は、配置配線情報生成部141が生成した配置配線情報と、記憶部11に記憶される遅延量テーブルとを使用して、クリティカルパスを決定する(S102)。クリティカルパスは、論理回路に含まれる経路の中でワーストネガティブスラック(Worst Negative Slack、WNS)とも称される遅延マージンが最も小さい経路である。
図4は、遅延量テーブルの一例を示す図である。
遅延量テーブルは、LUT101、フリップフロップ103、並びにデータ用配線及びクロック用配線の単位長さ当たりの遅延量が所定の範囲の電源電圧毎に規定される。なお、遅延量テーブルでは、セレクタ102及びスイッチボックス105の遅延量も規定されてもよいが、説明を容易にするために、ここではセレクタ102及びスイッチボックス105の遅延量の規定は省略する。
遅延量テーブルは、電源電圧の規定値である1.00Vを中心に、電源電圧の最小値である0.90Vから電源電圧の最大値である1.10Vまで0.01V毎に、製造条件及び温度条件がワーストケースのときの遅延量を規定する。例えば、電源電圧値が1.00Vのとき、LUT101の遅延量は0.320nsであり、フリップフロップ103の遅延量は0.280nsである。また、電源電圧値が1.00Vのとき、データ用配線の単位長当たりの遅延量は0.100nsであり、クロック用配線の単位長当たりの遅延量は0.195nsである。
図5(a)はクリティカルパスの一例を示す図であり、図5(b)はクリティカルパスを決定するときに使用される遅延量であり、図5(c)はクリティカルパスの遅延マージンを示す図である。である。図5(b)に示すように、遅延量解析部142は、クリティカルパスを決定するときに電源電圧の規定値である1.00Vのときの遅延量を使用する。
クリティカルパス回路110は、フリップフロップ111のデータ及びクロックの遅延マージンが、FPGA100に搭載される論理回路の中で最も小さい回路である。図5(a)に示す例では、フリップフロップ111のデータは、フリップフロップ112、LUT113及びLUT114を介して入力される。フリップフロップ112とLUT113との間の配線長は単位長の8倍であり、LUT113とLUT114との間の配線長は単位長の6倍であり、LUT114とフリップフロップ111との間の配線長は単位長の7倍である。一方、フリップフロップ111のクロックは、単位長の5倍の長さを有する配線を介して入力される。
図5(c)に示すように、クリティカルパス回路110では、クロック周期が2.857(ns)の場合の遅延マージン(WNS)は、
WNS(ns) = クロック周期 + クロックパスの遅延量 − データパスの遅延量
= 2.857 + {0.195×5} − {0.28+(0.10×8)+0.320+(0.1×6)+0.320+(0.10×7)}
= 0.812(ns)
で示される。
次いで、電源電圧最適化部143は、電源電圧と遅延量との関係を示すテーブルを使用して、クリティカルパスの動作マージンが正であり且つ最小の値になる電源電圧値を、プログラマブルロジックデバイスに印加する最適電圧値に決定する(S103)。
次いで、コンフィグレーションデータ生成部144は、配置配線情報生成部141が生成した配置配線情報と、電源電圧最適化部143が決定した最適電圧値とを含むコンフィグレーションデータを生成する(S104)。
そして、コンフィグレーションデータ出力部145は、コンフィグレーションデータ生成部144が生成したコンフィグレーションデータを記憶部11に出力する(S105)。
図6は、電源電圧最適化部143が最適電圧値を決定するS103の処理のより詳細な処理フローを示すフローチャートである。
まず、電源電圧最適化部143は、クリティカルパスを決定したときの電源電圧値である規定電圧値1.00Vをテーブル検索用電圧値とする(S201)。次いで、電源電圧最適化部143は、遅延マージンは0以上であるか否かを判定する(S202)。図5(a)に示す例では、遅延マージンは0.812nsであり0以上であるので、処理はS203に進み、電源電圧最適化部143は、テーブル検索用電圧値を0.01V減算して0.99Vとする(S203)。
次いで、電源電圧最適化部143は、遅延量テーブルに規定される電源電圧値が0.99Vのときの遅延量を使用して、遅延マージンを演算する(S204)。図5(a)に示すクリティカルパスにおける電源電圧が0.99Vのときの遅延マージンは、0.577nsである。
次いで、電源電圧最適化部143は、新しいテーブル検索用電圧値である電源電圧値が0.99Vのときの遅延マージンは0以上であるか否かを判定する(S205)。遅延マージンは0.577nsであり0以上であるので、処理はS206に進み、電源電圧最適化部143は、現在のテーブル検索用電圧値が遅延量テーブルに規定される最小値はないと判定し(S206)、処理はS202に戻る。以降、遅延マージンは0より小さいと判定される(S205)か、又は現在のテーブル検索用電圧値が遅延量テーブルに規定される最小値である(S206)と判定されるまで、電源電圧最適化部143は、S202〜S206の処理を繰り返す。
電源電圧値が0.96Vのときの遅延マージンは−0.128nsであり、S205において、電源電圧最適化部143は、遅延マージンは0より小さいと判定し処理はS207に進む。電源電圧最適化部143は、0.96に0.01V加算した0.97Vを最適電圧値に決定する(S207)。
また、S202〜S206の処理を繰り返して、現在のテーブル検索用電圧値が遅延量テーブルに規定される最小値0.90Vであると判定される(S206)と、処理はS208に進む。この場合、電源電圧最適化部143は、現在のテーブル検索用電圧値である0.90Vを最適電圧値に決定する(S208)。
また、S202において、電源電圧最適化部143が遅延マージンは0より小さいと判定すると、処理はS209に進む。S209では、電源電圧最適化部143は、現在のテーブル検索用電圧値に0.01V加算して新しいテーブル検索用電圧値を演算する(S209)。次いで、電源電圧最適化部143は、遅延量テーブルを使用してS209で演算された新しいテーブル検索用電圧値を使用して、遅延マージンを演算する(S210)。次いで、電源電圧最適化部143は、電源電圧最適化部143は、新しいテーブル検索用電圧値のときの遅延マージンは0以上であるか否かを判定する(S211)。電源電圧最適化部143は、新しいテーブル検索用電圧値のときの遅延マージンが0より小さいと判定すると、処理はS212に進む。S212において、電源電圧最適化部143は、現在のテーブル検索用電圧値が遅延量テーブルに規定される最小値はないと判定されると、処理はS209に戻る。以降、遅延マージンは0以上であると判定される(S211)か、又は現在のテーブル検索用電圧値が遅延量テーブルに規定される最大値であると判定される(S212)まで、電源電圧最適化部143は、S209〜S212の処理を繰り返す。
遅延マージンは0以上であると判定される(S211)か、又は現在のテーブル検索用電圧値が遅延量テーブルに規定される最大値であると判定される(S212)と、処理はS213に進む。そして、電源電圧最適化部143は、現在のテーブル検索用電圧値を最適電圧値に決定する(S213)。
図7は、FPGAを搭載する電子装置の回路ブロック図である。
電子装置20は、FPGA21と、記憶装置22と、レギュレータ23と、制御回路24とを有する。FPGA21は、コンフィグレーション回路211と、セル領域212と、RAM213とを有する。記憶装置22は、フラッシュメモリ等の不揮発性メモリであり、PLD設計装置1が生成したコンフィグレーションデータを記憶する。レギュレータ23はFPGA21に電源電圧を供給する電源装置であり、制御回路24はCPUであり、FPGA21の起動動作を制御する。
図8は、PLD設計装置1が生成したコンフィグレーションデータに基づく電子装置20の起動動作を示すフローチャートである。
まず、制御回路24は、規定の電圧値である1.00VをFPGA21に供給するようにレギュレータ23を動作させ(S301)、記憶装置22に記憶されるコンフィグレーションデータをコンフィグレーション回路211に読み込ませる。コンフィグレーション回路211は、コンフィグレーションデータを読み込むと、セル領域212にユーザ回路を形成する(S302)と共にセル領域212に電圧制御回路を形成する(S303)。また、コンフィグレーション回路211は、RAM213に記憶装置22に記憶される最適電圧値を書き込む(S304)。
次いで、セル領域212に形成された電圧制御回路は、最適電圧値をRAM213から読み出し(S305)、レギュレータ23がFPGA21に出力するレギュレータ出力電圧値として最適電圧値を設定する(S306)。そして、セル領域212に形成されたユーザ回路が動作を開始する(S307)。
(第1実施形態に係るプログラマブルロジックデバイス設計装置の作用効果)
第1実施形態に係るプログラマブルロジックデバイス設計装置は、遅延量が電源電圧毎に規定される遅延量テーブルを使用してクリティカルパスの遅延量を最適化することで、電源電圧値を最適化することができる。遅延量テーブルには、LUT、フリップフロップ、並びにデータ用配線及びクロック用配線の単位長さ当たりの遅延量が記憶される。
図9(a)はクリティカルパスの一例における電源電圧の変化と遅延の変動量との関係を示す図であり、図9(b)は図9(a)に示すクリティカルパスの電源電圧の変化と遅延マージンとの関係を示す図である。
第1実施形態に係るプログラマブルロジックデバイス設計装置では、規定電圧値におけるクリティカルパスの遅延マージンが正である場合には、遅延マージンが最小になるようにFPGAの電源電圧を規定電圧値よりも低くする。第1実施形態に係るプログラマブルロジックデバイス設計装置では、遅延マージンが最小になるようにFPGAの電源電圧を規定電圧値よりも低くすることにより、FPGAを規定電圧値で動作させる場合よりもFPGAの消費電力を低減できる。
第1実施形態に係るプログラマブルロジックデバイス設計装置では、規定電圧値におけるクリティカルパスの遅延マージンが負である場合には、遅延マージンが正になるようにFPGAの電源電圧を規定電圧値よりも高くする。第1実施形態に係るプログラマブルロジックデバイス設計装置では、遅延マージンが正になるようにFPGAの電源電圧を規定電圧値よりも高くすることにより、規定電圧値で遅延条件を充足しないクリティカルパスの遅延条件を充足できる。第1実施形態に係るプログラマブルロジックデバイス設計装置では、規定電圧値で遅延条件を充足しないクリティカルパスの遅延条件をFPGAの電源電圧を高くすることにより充足させるため、FPGAのタイミング制約を緩和させることが可能になる。すなわち、第1実施形態に係るプログラマブルロジックデバイス設計装置では、規定電圧値で遅延条件を充足しないパスの存在を許容するタイミング制約が可能になるため、配置配線時間等のFPGAの配置配線のためのコストを低減することができる。
(第2実施形態に係るプログラマブルロジックデバイス設計装置の構成及び機能)
図10は、第2実施形態に係るプログラマブルロジックデバイス設計装置の回路ブロック図である。
PLD設計装置2は、処理部14の代わりに処理部15を有することがPLD設計装置1と相違する。処理部15は、電圧制御回路生成部151を有することが処理部14と相違する。電圧制御回路生成部151以外のPLD設計装置2の構成要素は、同一符号が付されたPLD設計装置1の構成要素と同一の構成及び機能を有するので、ここでは詳細な説明は省略する。
図11は、PLD設計装置2によるコンフィグレーションデータ生成処理のフローチャートである。コンフィグレーションデータ生成処理は、予め記憶部11に記憶されているプログラムに基づいて、主に処理部15により、PLD設計装置2の各要素と協働して実行される。
まず、電圧制御回路生成部151は、電源電圧を制御する電圧制御回路のRTLデータを生成し、生成した電圧制御回路のRTLデータを記憶部11に記憶する(S401)。
図12は、電圧制御回路生成部151が生成するRTLデータに対応する電圧制御回路の回路ブロック図である。
電圧制御回路30は、RAMインタフェース回路31と、ヒューズインタフェース回路32と、動作電圧算出回路33と、レギュレータ制御コマンド生成回路34とを有する。RAMインタフェース回路31は、RAM213に記憶される最適電圧値を読み出して、読み出した最適電圧値を動作電圧算出回路33に出力する。ヒューズインタフェース回路32は、ヒューズ214が示す固有電圧値VIDを読み出して、読み出した固有電圧値VIDを動作電圧算出回路33に出力する。
ヒューズ214は、FPGAの出荷時テストにより測定された当該FPGAの製造ばらつきに応じた最適な電源電圧である固有電圧値VID(Voltage ID)が書き込まれる。ヒューズ214が示す固有電圧値VIDは、製造ばらつきがfast条件〜slow条件の何れの条件であるかに応じて決定された当該FPGAの製造条件に対応する電源電圧値であり、当該FPGAの出荷時にヒューズ214に書き込まれる。
RAM213に記憶された最適電圧値、ヒューズ214が示す固有電圧値VID及び規定電圧値から動作電圧を算出する。動作電圧算出回路33は、以下の式、
動作電圧値 = 固有電圧値VID − (規定電圧値 − 最適電圧値)
を使用して規定電圧値から動作電圧を算出する。例えば、固有電圧値が0.97Vであり、規定電圧値が1.00Vであり且つ最適電圧値が0.98Vであるとき、動作電圧値は、以下のように算出される。
動作電圧値 = 0.97 − (1.00 − 0.98) = 0.95V
次いで、遅延量解析部142は、記憶部11に記憶されたRTLデータ及びタイミング制約データを使用して論理合成してネットリストを生成し、生成したネットリストから配置配線情報を生成する(S402)。記憶部11に記憶されたRTLデータは、ユーザが設計したユーザ回路と、電圧制御回路生成部151が生成した電圧制御回路30とを含む。
次いで、遅延量解析部142は、配置配線情報生成部141が生成した配置配線情報と、記憶部11に記憶される遅延量テーブルとを使用して、クリティカルパスを決定する(S403)。ここで、使用される遅延量テーブルは、製造条件がティピカル条件であり且つ温度条件がワーストケースのときの遅延量を規定する。固有電圧値VIDは当該FPGAの製造ばらつきに応じた最適な電源電圧値であるため、遅延量テーブルの遅延量は、製造条件がティピカル条件の遅延量として規定される。
処理S404〜S406のそれぞれは、電圧制御回路生成部151が生成した電圧制御回路30を処理すること以外は、図2に示すS103〜S105のそれぞれと同様なので、ここでは詳細な説明は省略する。
図13は、PLD設計装置2が生成したコンフィグレーションデータに基づく電子装置の起動動作を示すフローチャートである。
S501〜S504の処理は、電圧制御回路生成部151が生成するRTLデータに対応する電圧制御回路30がセル領域212に形成されること以外はS301〜S304の処理と同様なので、ここでは詳細な説明は省略する。
S501〜S504の処理の後、電圧制御回路30は、ヒューズ214が示す固有電圧値VIDを読み出す(S505)と共に、RAM213に記憶される最適電圧値を読み出して(S506)、動作電圧値を算出する(S506)。次いで、電圧制御回路30は、算出した動作電圧値をレギュレータ出力電圧値として設定する(S508)。そして、セル領域212に形成されたユーザ回路が動作を開始する(S509)。
図14は、PLD設計装置2が生成したコンフィグレーションデータに基づく起動動作がされた電子装置の回路ブロック図である。
電子装置40は、FPGA21の代わりFPGA41を有することが電子装置20と相違する。FPGA41は、ヒューズ214を有することがFPGA21と相違する。ヒューズ214及びセル領域212に形成される電圧制御回路30以外の電子装置40の構成要素は、同一符号が付された電子装置20の構成要素と同一の構成及び機能を有するので、ここでは詳しい説明は省略する。
図12を参照して説明したように、ヒューズ214は、FPGAの出荷時テストにより測定された当該FPGAの製造ばらつきに応じた最適な電源電圧値である固有電圧値VIDが書き込まれたヒューズである。また、電圧制御回路30は、電圧制御回路生成部151により生成される。
(第2実施形態に係るプログラマブルロジックデバイス設計装置の作用効果)
第2実施形態に係るプログラマブルロジックデバイス設計装置は、FPGAの製造ばらつきに応じた最適な電源電圧である固有電圧値を使用するので、ばらつきをより正確に反映させて最適電圧値を決定することができる。
(第3実施形態に係るプログラマブルロジックデバイス設計装置の構成及び機能)
図15は、第3実施形態に係るプログラマブルロジックデバイス設計装置の回路ブロック図である。
PLD設計装置3は、処理部14の代わりに処理部16を有することがPLD設計装置1と相違する。処理部16は、テスト回路生成部161を有することが処理部14と相違する。テスト回路生成部161以外のPLD設計装置2の構成要素は、同一符号が付されたPLD設計装置1の構成要素と同一の構成及び機能を有するので、ここでは詳細な説明は省略する。
図16は、PLD設計装置3によるコンフィグレーションデータ生成処理のフローチャートである。コンフィグレーションデータ生成処理は、予め記憶部11に記憶されているプログラムに基づいて、主に処理部16により、PLD設計装置3の各要素と協働して実行される。
まず、テスト回路生成部161は、FPGA内の製造ばらつきをチェックするテスト回路のRTLデータを生成し、生成したテスト回路生成部161のRTLデータを記憶部11に記憶する(S601)。
図17は、テスト回路生成部161が生成するRTLデータに対応するテスト回路の回路ブロック図である。
テスト回路50は、データジェネレータ51と、RAM52と、データチェッカ53とを有する。データジェネレータ51及びデータチェッカ53はLUT及びフリップフロップで形成される。データジェネレータ51は、テストパターンを生成し、生成したテストパターンをRAM52に書き込むように形成される。データチェッカ53は、RAM53からデータジェネレータ51が生成したテストパターンを読み出して、読み出したテストパターンに所定の処理を実行して照合結果を出力する。
次いで、遅延量解析部142は、記憶部11に記憶されたRTLデータ及びタイミング制約データを使用して論理合成してネットリストを生成し、生成したネットリストから配置配線情報を生成する(S402)。記憶部11に記憶されたRTLデータは、ユーザが設計したユーザ回路と、電圧制御回路と、テスト回路生成部161が生成したテスト回路とを含む。RTLデータには、複数のテスト回路50が含まれる。
遅延量解析部142は、複数のテスト回路50をセル領域212の全体に亘って配置されるように配置配線する。また、遅延量解析部142は、複数のテスト回路50の何れも遅延マージンが0になるように配置配線する。
処理S603〜S606のそれぞれは、電圧制御回路生成部151が生成した電圧制御回路30を処理すること以外は、図2に示すS102〜S105のそれぞれと同様なので、ここでは詳細な説明は省略する。
図18は、PLD設計装置3が生成したコンフィグレーションデータに基づく起動動作がされた電子装置の回路ブロック図である。
電子装置60は、セル領域212に複数のテスト回路50が配置されることが電子装置20と相違する。テスト回路50以外の電子装置60の構成要素は、同一符号が付された電子装置20の構成要素と同一の構成及び機能を有するので、ここでは詳しい説明は省略する。
(第3実施形態に係るプログラマブルロジックデバイス設計装置の作用効果)
電子装置60は、セル領域212の全体に亘って複数のテスト回路50が配置される。電子装置60では、テスト回路50の何れも遅延マージンが0になるように配置配線されるので、テスト回路50が、設計時に設定した動作周波数で正しく動作し、タイミングエラーが発生しないことを検証することができる。テスト回路50では、セル領域212の全体に亘って配置されたテスト回路50が設計時に設定した動作周波数で正しく動作することを検証できるので、セル領域212内の製造ばらつきを保証することができる。
クリティカルパスの遅延マージンが正の値であるときに、PLD設計装置1〜3は、電源電圧値を低くして遅延量テーブルを使用して演算されるクリティカルパスの遅延マージンを小さくする。一方、クリティカルパスの遅延マージンが負の値であるときに、PLD設計装置1〜3は、電源電圧値を高くして遅延量テーブルを使用して演算されるクリティカルパスの遅延マージンを正にする。しかしながら、実施形態に係るPLD設計装置は、遅延量テーブルを使用して演算されるクリティカルパスの遅延マージンを所望の値にするように、電源電圧値を調整してもよい。例えば、実施形態に係るPLD設計装置は、クリティカルパスの遅延マージンが所定の値になるように、電源電圧値を調整してもよい。
1〜3 PLD設計装置(プログラマブルロジックデバイス設計装置)
11 記憶部
12 入力部
14 処理部
141 配置配線情報生成部
142 遅延量解析部
143 電源電圧最適化部
144 コンフィグレーションデータ生成部(構成情報生成部)
145 コンフィグレーションデータ出力部(構成情報出力部)
151 電圧制御回路生成部
161 テスト回路生成部

Claims (4)

  1. 論理回路をプログラマブルロジックデバイスに配置配線するときに使用される配置配線情報から、前記論理回路に含まれる経路の中で遅延マージンが最も小さいクリティカルパスを決定する遅延量解析部と、
    電源電圧と遅延量との関係を示すテーブルを使用して演算される前記クリティカルパスの遅延マージンが所望の値になる電源電圧値を、プログラマブルロジックデバイスに印加する最適電圧値に決定する電源電圧最適化部と、
    前記配置配線情報及び前記最適電圧値を含む構成情報を生成する構成情報生成部と、
    前記構成情報を出力する構成情報出力部と、
    を有するプログラマブルロジックデバイス設計装置。
  2. 前記電源電圧最適化部は、前記クリティカルパスの遅延マージンが正の値であるときに、前記電源電圧値を低くして前記テーブルを使用して演算される前記クリティカルパスの遅延マージンを小さくする、請求項1に記載のプログラマブルロジックデバイス設計装置。
  3. 前記電源電圧最適化部は、前記クリティカルパスの遅延マージンが負の値であるときに、電源電圧値を高くして前記テーブルを使用して演算される前記クリティカルパスの遅延マージンを正にする、請求項1又は2に記載のプログラマブルロジックデバイス設計装置。
  4. 論理回路をプログラマブルロジックデバイスに配置配線するときに使用される配置配線情報から、前記論理回路に含まれる経路の中で遅延マージンが最も小さいクリティカルパスを決定し、
    電源電圧と遅延量との関係を示すテーブルを使用して演算される前記クリティカルパスの遅延マージンが所望の値になる電源電圧値を、プログラマブルロジックデバイスに印加する最適電圧値として決定し、
    前記配置配線情報及び前記最適電圧値を含む構成情報を生成し、
    前記構成情報を出力する、
    ことを含むプログラマブルロジックデバイス設計方法。
JP2015146111A 2015-07-23 2015-07-23 プログラマブルロジックデバイス設計装置及びその方法 Pending JP2017027413A (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2015146111A JP2017027413A (ja) 2015-07-23 2015-07-23 プログラマブルロジックデバイス設計装置及びその方法
US15/200,515 US10366188B2 (en) 2015-07-23 2016-07-01 Designing apparatus for designing a programmable logic device, method of designing a programmable logic device and recording medium for storing a program for designing a programmable logic device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2015146111A JP2017027413A (ja) 2015-07-23 2015-07-23 プログラマブルロジックデバイス設計装置及びその方法

Publications (1)

Publication Number Publication Date
JP2017027413A true JP2017027413A (ja) 2017-02-02

Family

ID=57837748

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2015146111A Pending JP2017027413A (ja) 2015-07-23 2015-07-23 プログラマブルロジックデバイス設計装置及びその方法

Country Status (2)

Country Link
US (1) US10366188B2 (ja)
JP (1) JP2017027413A (ja)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10055526B1 (en) * 2017-06-27 2018-08-21 Intel Corporation Regional design-dependent voltage control and clocking
WO2019040054A1 (en) * 2017-08-23 2019-02-28 Intel Corporation SYSTEM, APPARATUS, AND METHOD FOR ADAPTIVE OPERATING VOLTAGE IN A USER-PROGRAMMED (FPGA) PREDIFFUSED NETWORK
WO2021007269A1 (en) * 2019-07-09 2021-01-14 Incyte Corporation Bicyclic heterocycles as fgfr inhibitors

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6868503B1 (en) * 2002-01-19 2005-03-15 National Semiconductor Corporation Adaptive voltage scaling digital processing component and method of operating the same
US7142009B1 (en) * 2004-09-15 2006-11-28 Altera Corporation Adaptive power supply voltage regulation for programmable logic
JP3810419B2 (ja) 2004-12-07 2006-08-16 松下電器産業株式会社 再構成可能な信号処理プロセッサ
JP2008263261A (ja) 2007-04-10 2008-10-30 National Institute Of Advanced Industrial & Technology 再構成可能集積回路
JP5034834B2 (ja) 2007-09-28 2012-09-26 富士通セミコンダクター株式会社 半導体装置、および半導体装置における制御方法
EP2344967A1 (en) 2008-08-14 2011-07-20 LSI Corporation System and method for designing integrated circuits that employ adaptive voltage scaling optimization
US9015023B2 (en) 2010-05-05 2015-04-21 Xilinx, Inc. Device specific configuration of operating voltage
JP2012203561A (ja) 2011-03-24 2012-10-22 Toshiba Corp 静的タイミング解析装置及び静的タイミング解析方法
JP5799645B2 (ja) 2011-08-05 2015-10-28 株式会社ソシオネクスト 電源電圧設定方法及び電源電圧設定プログラム
US9413344B2 (en) * 2014-09-08 2016-08-09 Qualcomm Incorporated Automatic calibration circuits for operational calibration of critical-path time delays in adaptive clock distribution systems, and related methods and systems
US9760672B1 (en) * 2014-12-22 2017-09-12 Qualcomm Incorporated Circuitry and method for critical path timing speculation to enable process variation compensation via voltage scaling

Also Published As

Publication number Publication date
US20170024004A1 (en) 2017-01-26
US10366188B2 (en) 2019-07-30

Similar Documents

Publication Publication Date Title
KR20130084029A (ko) 탭리스 스탠다드 셀을 포함하는 시스템-온-칩의 설계 방법, 설계 시스템 및 시스템-온-칩
US8839163B2 (en) Behavioral synthesis method, behavioral synthesis program and behavioral synthesis apparatus
JP2005293163A (ja) 消費電力計算方法及び装置
JP2008165747A (ja) 回路設計支援装置、回路設計支援方法、回路設計支援プログラムおよびプリント基板の製造方法
JP2017027413A (ja) プログラマブルロジックデバイス設計装置及びその方法
US8281269B2 (en) Method of semiconductor integrated circuit device and program
US8443034B2 (en) Input vector selection for reducing current leakage in integrated circuits
JP2014021573A (ja) 半導体集積回路の論理回路設計に用いるネットリストを最適化する方法、該方法を用いて論理回路の設計を支援する装置及び該装置で実行することが可能なコンピュータプログラム
JP5444985B2 (ja) 情報処理装置
US10747920B2 (en) Semiconductor LSI design device and design method
JP2010087244A (ja) 半導体集積回路、半導体集積回路のレイアウト方法、及び半導体集積回路のレイアウトプログラム
JP2008299464A (ja) 消費電力計算方法、消費電力計算プログラムおよび消費電力計算装置
JP4999379B2 (ja) 半導体集積回路設計方法、半導体集積回路設計装置
US8176451B2 (en) Behavioral synthesis apparatus, behavioral synthesis method, and computer readable recording medium
JP2007072995A (ja) レイアウト装置、自動配置配線方法および半導体集積回路製造方法
JP4886559B2 (ja) 半導体設計支援装置、半導体設計支援方法および半導体設計支援プログラム
JP2010277436A (ja) メモリ構造決定支援装置、メモリ構造決定プログラム及び記録媒体
KR102563928B1 (ko) 표준 셀 라이브러리, 동기 회로를 포함하는 집적 회로 및 집적 회로를 설계하기 위한 컴퓨팅 시스템
JP5531479B2 (ja) 回路設計方法、及び回路設計プログラム
TW202341000A (zh) 單元庫以及計算系統
JP2008186229A (ja) 半導体集積回路の設計装置
JP2005141538A (ja) 電子回路の動作率計算方法及び装置並びにプログラム
JP5741077B2 (ja) タイミング検証支援装置、方法及びプログラム
JP2009251755A (ja) 電源ノイズモデル生成方法、電源ノイズモデル生成プログラム、及び電源ノイズモデル生成装置
JP2011134072A (ja) 半導体集積回路の設計方法及びプログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20180413

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20190318

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20190507

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20190603

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20191119