JP7081331B2 - 回路合成装置、回路合成方法、及び、回路合成プログラム - Google Patents

回路合成装置、回路合成方法、及び、回路合成プログラム Download PDF

Info

Publication number
JP7081331B2
JP7081331B2 JP2018118773A JP2018118773A JP7081331B2 JP 7081331 B2 JP7081331 B2 JP 7081331B2 JP 2018118773 A JP2018118773 A JP 2018118773A JP 2018118773 A JP2018118773 A JP 2018118773A JP 7081331 B2 JP7081331 B2 JP 7081331B2
Authority
JP
Japan
Prior art keywords
circuit
synthesis
logic
operating frequency
information processing
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.)
Active
Application number
JP2018118773A
Other languages
English (en)
Other versions
JP2019220066A (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
Priority to JP2018118773A priority Critical patent/JP7081331B2/ja
Publication of JP2019220066A publication Critical patent/JP2019220066A/ja
Application granted granted Critical
Publication of JP7081331B2 publication Critical patent/JP7081331B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Design And Manufacture Of Integrated Circuits (AREA)

Description

本願発明は、論理回路を合成する技術に関する。
近年、プロセステクノロジにおける微細化技術の急速な進歩によって、LSI(Large Scale Integration)等の論理回路に搭載可能なトランジスタの数が大幅に増加し、これに伴い、LSIの消費電力が大幅に増加してきている。LSIの消費電力が増加した場合、LSIの冷却や電力の供給等に関して様々な問題が生じることから、消費電力が低くなるようなLSIの設計を効率的に行なう技術への期待が高まってきている。
このような技術に関連する技術として、特許文献1には、LSI回路の設計に要する時間を短縮する機能設計方法が開示されている。この方法では、動作記述に基づいてデータフローグラフを作成した後、データフローグラフの各演算子をコントロールステップ群に割り当てる。この方法では、コントロールステップ群に割り当てられたデータフローグラフに基づいて消費電力を計算し、消費電力が所定の基準を満たしているか否かを判断する。この方法では、消費電力が所定の基準を満たしていないときには、他のコントロールステップ群への割り当てを行ない、満たしているときには、データフローグラフから生成されるハードウェアの量及びタイミングを計算し、ハードウェア量及びタイミングが所定の基準を満たしているか否かを判断する。この方法では、ハードウェア量及びタイミングが所定の基準を満たしていないときには、いままでにデータフローグラフが割り当てられていないコントロールステップ群への割り当てを行ない、満たしているときには、コントロールステップ群に割り当てられたデータフローグラフに基づきRTL(Register Transfer Level)回路を生成する。
特開平10-063713号公報
高度に情報化された現代社会における情報処理システムには、高い情報処理性能が求められる。しかしながら、一般的に、システムの情報処理性能を高くすればするほど、上述した消費電力の問題が大きくなる。したがって、高い情報処理性能と低い消費電力とが両立する、即ち、情報処理性能と消費電力という両方の要素に関して最適化された、論理回路を効率的に設計する(合成する)ことが課題である。特許文献1は、この課題については特に言及していない。本願発明の主たる目的は、この問題を解決する回路合成装置等を提供することである。
本願発明の一態様に係る回路合成装置は、情報処理性能が互いに異なる論理回路を、複数の動作周波数に関して論理合成する合成手段と、論理合成された前記論理回路と前記動作周波数との組み合わせに関して、前記論理回路の消費電力あたりの前記情報処理性能を算出する算出手段と、算出された前記論理回路の消費電力あたりの前記情報処理性能が条件を満たす前記組み合わせにおける前記動作周波数を、論理合成を実行すべき動作周波数(以下、論理合成実行周波数)として特定する特定手段と、を備える。
上記目的を達成する他の見地において、本願発明の一態様に係る回路合成方法は、情報処理装置によって、情報処理性能が互いに異なる論理回路を、複数の動作周波数に関して論理合成し、論理合成された前記論理回路と前記動作周波数との組み合わせに関して、前記論理回路の消費電力あたりの前記情報処理性能を算出し、算出された前記論理回路の消費電力あたりの前記情報処理性能が条件を満たす前記組み合わせにおける前記動作周波数を、論理合成を実行すべき動作周波数(以下、論理合成実行周波数)として特定する。
また、上記目的を達成する更なる見地において、本願発明の一態様に係る回路合成プログラムは、情報処理性能が互いに異なる論理回路を、複数の動作周波数に関して論理合成する合成処理と、論理合成された前記論理回路と前記動作周波数との組み合わせに関して、前記論理回路の消費電力あたりの前記情報処理性能を算出する算出処理と、算出された前記論理回路の消費電力あたりの前記情報処理性能が条件を満たす前記組み合わせにおける前記動作周波数を、論理合成を実行すべき動作周波数(以下、論理合成実行周波数)として特定する特定処理と、をコンピュータに実行させる。
更に、本願発明は、係る回路合成プログラム(コンピュータプログラム)が格納された、コンピュータ読み取り可能な、不揮発性の記録媒体によっても実現可能である。
本願発明は、情報処理性能と消費電力とに関して最適化された論理回路を効率的に合成することを可能とする。
本願発明の第1の実施形態に係る回路合成装置10の構成を概念的に示すブロック図である。 本願発明の第1の実施形態に係る基準回路情報141の一部を例示する図である。 ある情報処理性能を有する基準回路を論理合成した結果に関する、基準回路のクロック周期(動作周波数)と消費電力あたりの性能との関係を例示するグラフである。 情報処理性能が互いに異なる複数の基準回路を論理合成した結果に関する、各基準回路のクロック周期(動作周波数)と消費電力あたりの性能との関係を例示するグラフである。 本願発明の第1の実施形態に係る回路合成装置10の動作を示すフローチャート(1/3)である。 本願発明の第1の実施形態に係る回路合成装置10の動作を示すフローチャート(2/3)である。 本願発明の第1の実施形態に係る回路合成装置10の動作を示すフローチャート(3/3)である。 情報処理性能が互いに異なる複数の基準回路を論理合成した結果に関する、各基準回路のクロック周期(動作周波数)と、消費電力あたりの性能と面積あたりの性能との積との関係を例示するグラフである。 本願発明の第2の実施形態に係る回路合成装置30の構成を概念的に示すブロック図である。 本願発明の各実施形態に係る回路合成装置を実行可能な情報処理装置900の構成を示すブロック図である。
以下、本願発明の実施の形態について図面を参照して詳細に説明する。本願発明に係る実施形態は、論理回路の消費電力あたりの情報処理性能(本願では以降、単に性能と称する場合がある)と、当該論理回路の動作周波数との関係を表す特性に着目することによって、上述した課題を解決する。
<第1の実施形態>
図1は、本願発明の第1の実施の形態に係る回路合成装置10の構成を概念的に示すブロック図である。回路合成装置10は、論理回路の消費電力あたりの性能と当該論理回路の動作周波数(クロック周期)と関係を表す、例えば後述する図3及び図4に例示するような特性を求めた後、当該特性に基づいて論理回路を合成する情報処理装置である。
回路合成装置10は、管理端末装置20と通信可能に接続されている。管理端末装置20は、ユーザが回路合成装置10に対して情報を入力する、あるいは、回路合成装置10から出力された情報をユーザが確認する際に使用される、例えばパーソナルコンピュータ等の端末装置である。
回路合成装置10は、合成部11、算出部12、特定部13、及び、記憶部14を備える。記憶部14は、例えば、電子メモリや磁気ディスク等の記憶デバイスである。記憶部14は、基準回路情報141、テクノロジライブラリ142、算出結果143、RTL合成実行周波数144、論理合成実行周波数145、合成対象回路情報146、RTL設計情報147、及び、ネットリスト148を記憶している。記憶部14に記憶されたこれらの情報の詳細については後述する。
基準回路情報141は、回路合成装置10が、論理回路の消費電力あたりの性能と当該論理回路の動作周波数との関係を表す特性を求める際に用いる、性能が互いに異なる複数の基準回路を表す情報である。そして当該基準回路は、その情報処理性能が明確である(互いに比較可能である)基本的な論理回路であり、例えば乗算器や加算器等の演算器である。以下、当該基準回路として乗算器を用いる場合を例に、本実施形態に係る回路合成装置10について説明することとする。
例えば、2系統の2ビットのデータを乗算する乗算器によって行なわれる情報処理量は、2系統の1ビットのデータを乗算する演算器によって行なわれる情報処理量の4倍である。即ち、ビット幅がWビット(Wは任意の自然数)である2系統のデータを乗算する複数の乗算器に関する性能を表す指標は、Wの2乗として表すことができる。
図2は、本実施形態に係る基準回路情報141の一部を例示する図である。図2に例示する基準回路情報141は、Wが「64」である乗算器を、RTLにより表している。RTLは、ハードウェア記述言語を用いて表される論理回路に関する周知の記述レベル(記述手法)であるので、本願では、その詳細な説明を省略する。
次に、本実施形態に係る回路合成装置10によって求められる、論理回路の消費電力あたりの性能と当該論理回路の動作周波数(クロック周期)と関係を表す特性について、図3及び図4を参照して説明する。
図3は、ある情報処理性能を有する(Wが「99」である)基準回路141-i(iは基準回路を識別するための自然数)を論理合成した結果に関する、基準回路141-iのクロック周期と消費電力あたりの性能(「性能/消費電力」、但し「/」は除算を表す演算子)との関係について、本願発明者が評価した結果を例示するグラフである。但し本願では、基準回路情報141が表す複数の乗算器を基準回路141-iと称することとし、性能が低い(処理するデータのビット幅が小さい)乗算器から順番に、iが「1」から順番に付与されていることとする。
図3に例示する通り、基準回路141-iの消費電力あたりの性能は、クロック周期が短い(動作周波数が高い)領域において、クロック周期の増加とともに増加し、クロック周期が1200ps(ピコセカンド)のあたりで最大(ピーク値)となり、クロック周期が1200ps以上である領域では、クロック周期の増加とともに減少する。
基準回路141-iの消費電力あたりの性能が図3に例示するような特性を備える理由としては、以下のことが考えられる。即ち、クロック周期が短い(動作周波数が高い)ほど、性能が高くなる反面、論理合成を行なう際に適用される、論理回路における信号の遅延時間に関する回路規則がより厳しくなるので、消費電力を低くするような柔軟な回路合成を行なう余地が小さくなると考えられる。また、それとは逆に、クロック周期が長いほど、消費電力を低くするような柔軟な回路合成を行なう余地が大きくなる反面、性能は低下する。即ち、消費電力と性能とのバランスが最適となることによって、消費電力あたりの性能が最も高くなるようなクロック周期(動作周波数)が存在すると考えられる。
図4は、情報処理性能が互いに異なる複数の基準回路141-iを論理合成した結果に関する、各基準回路141-iのクロック周期と消費電力あたりの性能との関係について、本願発明者が評価した結果を例示するグラフである。
図4に例示する通り、消費電力あたりの性能を表す折れ線グラフの形状は、基準回路141-iごとに異なるものの、あるクロック周期において消費電力あたりの性能が最大となり、消費電力あたりの性能が最大となるクロック周期は、上述したWの値が増加する(性能が高くなる)のに伴って増加する。そして、基準回路141-iに関する消費電力あたりの性能の最大値は、Wが「2」から増加するのに伴って次第に増加し、Wが「99」のときに最大となり、Wが「99」から増加するのに伴って次第に減少する。
即ち、図4は、論理回路の合成において、消費電力あたりの性能が最大となるようなクロック周期(動作周波数)は、Wが「99」である基準回路141-iに関して消費電力あたりの性能が最大となるときのクロック周期(即ち1200ps)であることを示している。この消費電力あたりの性能が最大となるような動作周波数は、論理回路が用いるテクノロジの種別などによって異なる値であり、本実施形態に係る回路合成装置10は、後述する通り、この値を求める機能を備える。
図1に示す合成部11は、記憶部14に記憶された基準回路情報141とテクノロジライブラリ142とを参照する。テクノロジライブラリ142は、回路合成装置10が論理合成を行う対象とする論理回路が用いるテクノロジ(例えば、論理回路を構成する論理ゲートの仕様等)に関する情報であり、論理合成に関する様々なパラメータを含んでいる。
合成部11は、基準回路情報141が示す複数の基準回路141-iにおいて、性能が低い(即ちWが小さい)基準回路141-iから順番に選択し、選択した基準回路141-iに関して、テクノロジライブラリ142に基づいて論理合成を行う。尚、論理合成は周知の技術であるので、本願ではその詳細な説明を省略する。
合成部11は、選択した基準回路141-iに関して、動作周波数fを第一の初期値f1(i)から次第に低下させながら論理合成を行う。第一の初期値f1(i)は、図1に示す合成部11と算出部12と特定部13とが後述する通り動作することによって、特定部13によって求められた値であり、算出結果143として記憶部14に格納されている。算出結果143は、算出部12あるいは特定部13によって求められた結果を表す情報である。
次に、合成部11と算出部12と特定部13とが、上述した動作周波数fに関する第一の初期値f1(i)を求める動作について説明する。
合成部11は、選択した基準回路141-iに関して、第二の初期値f2(i)を動作周波数fとして、基準回路141-iに対する論理合成を行う。但し、第二の初期値f2(i)は、例えばユーザ等によって事前に与えられた所定の値である。
算出部12は、論理合成された基準回路141-iにおける信号の遅延時間の最大値と、動作周波数fによって定まる最大遅延時間(回路規則において信号の遅延時間として許容される最大値)とを算出する。そして、算出部12は、算出した信号の遅延時間の最大値と最大遅延時間とを比較する。但し、算出部12は、論理合成された論理回路における各信号の遅延時間を算出するための基準が与えられていることとする。尚、論理合成された論理回路における信号の遅延時間を算出する技術は周知の技術であるので、本願ではその詳細な説明を省略する。
特定部13は、算出部12によって求められた結果において、基準回路141-iにおける信号の遅延時間の最大値が最大遅延時間よりも大きい(即ち、遅延時間に関する回路規則を満たさない)場合、動作周波数fを所定の値分低下させる。そして特定部13は、低下させた動作周波数fに関して、再び基準回路141-iに対する論理合成を行うように合成部11を制御する。そののち算出部12は、合成部11によって新たに論理合成された基準回路141-iにおける信号の遅延時間の最大値と、動作周波数fによって定まる最大遅延時間とを比較する。合成部11、算出部12、及び、特定部13は、このような動作を繰り返し実行する。尚、特定部13は、動作周波数fを低下させる所定の値を、上述した動作の回数を重ねるたびに小さくする。
特定部13は、基準回路141-iにおける信号の遅延時間の最大値が最大遅延時間以下である場合、最大遅延時間と信号の遅延時間の最大値との差分が所定の値以下(即ち、最大遅延時間と信号の遅延時間の最大値とがほぼ同等と看做される)であるか否かを判定する。特定部13は、最大遅延時間と信号の遅延時間の最大値との差分が所定の値よりも大きい(即ち、回路規則上、遅延時間に関して余裕がある)場合、動作周波数fを所定の値分増加させる。そして特定部13は、増加させた動作周波数fに関して、再び基準回路141-iに対する論理合成を行うように合成部11を制御する。そののち算出部12は、合成部11によって新たに論理合成された基準回路141-iにおける信号の遅延時間の最大値と、動作周波数fによって定まる最大遅延時間とを比較する。合成部11、算出部12、及び、特定部13は、このような動作を繰り返し実行する。尚、特定部13は、動作周波数fを増加させる所定の値を、上述した動作の回数を重ねるたびに小さくする。
特定部13は、最大遅延時間と信号の遅延時間の最大値との差分が所定の値以下である場合、このときの動作周波数fを基準回路141-iに関する動作周波数の第一の初期値f1(i)として特定し、特定した結果を表す算出結果143を記憶部14に格納する。
合成部11、算出部12、及び、特定部13が上述した動作を行うことによって求められた、基準回路141-iに関する動作周波数の第一の初期値f1(i)は、基準回路141-iに対する論理合成において、回路規則上許容される、最大の動作周波数を表している。尚、基準回路141-iに関する動作周波数の第一の初期値f1(i)は、後述する、図1に示すRTL合成実行周波数144の候補となる。
合成部11は、順番に選択した基準回路141-iごとに、動作周波数fの第一の初期値f1(i)から開始して、特定部13による制御を受けることによって、所定の周波数f3ずつ低下させた動作周波数f(i,j)(jは基準回路141-iに対する何番目の論理合成であるのかを表す自然数)に関して、基準回路141-iに対する論理合成を行う。
算出部12は、合成部11によって論理合成された基準回路141-iに関して、「性能/消費電力」P(i,f(i,j))を算出する。但し、算出部12は、論理合成された論理回路の消費電力を算出するための基準が与えられていることとする。尚、論理合成された論理回路の消費電力を算出する技術は周知の技術であるので、本願ではその詳細な説明を省略する。
算出部12は、また、基準回路141-iに関する性能を、上述した通り、基準回路141-iに入力されるデータのビット幅Wの2乗として算出する。これにより、算出部12は、基準回路141-iに関して、「性能/消費電力」P(i,f(i,j))を算出することができる。算出部12は、算出した「性能/消費電力」P(i,f(i,j))を表す算出結果143を記憶部14に格納する。
特定部13は、算出部12によって今回算出された「性能/消費電力」P(i,f(i,j))と、算出部12によって前回算出された「性能/消費電力」P(i,f(i,j-1))とを比較する。特定部13は、「性能/消費電力」P(i,f(i,j))が「性能/消費電力」P(i,f(i,j-1))以上である場合(即ち、P(i,f(i,j))がjの増加とともに増加する傾向にある場合)、動作周波数f(i,j)からf3を低下させた値を新たな動作周波数f(i,j)として、基準回路141-iに対する論理合成を行うように、合成部11を制御する。
特定部13は、「性能/消費電力」P(i,f(i,j))が「性能/消費電力」P(i,f(i,j-1))未満である場合(即ち、P(i,f(i,j))がjの増加とともに増加から減少に転じた場合)、前回の論理合成における動作周波数f(i,j-1)を、基準回路141-iに関する論理合成最適周波数f0(i)に特定し、論理合成最適周波数f0(i)を表す算出結果143を記憶部14に格納する。そして特定部13は、その基準回路141-iに対するj+1番目の論理合成を行わないように合成部11を制御する。
特定部13によって特定された論理合成最適周波数f0(i)は、図4に例示する、各基準回路に関する「性能/消費電力」P(i,f(i,j))が最大となるとき(各折れ線グラフにおける山の頂が示す第一のピーク値)の動作周波数(クロック周期)に相当する。尚、基準回路141-iに関する論理合成最適周波数f0(i)は、後述する、図1に示す論理合成実行周波数145の候補となる。
特定部13は、基準回路141-iの論理合成最適周波数f0(i)に関する「性能/消費電力」P(i,f0(i))と、前回選択された基準回路141-(i-1)の論理合成最適周波数f0(i-1)に関する「性能/消費電力」P(i-1,f0(i-1))と、を比較する。特定部13は、P(i,f0(i))がP(i-1,f0(i-1))以上である場合(即ち、P(i,f0(i))がiの増加とともに増加する傾向にある場合)、i+1を新たなiとして、合成部11、算出部12、及び、特定部13による上述した動作が行なわれるようにするために、基準回路141-(i+1)を新たに選択するように合成部11を制御する。
特定部13は、P(i,f0(i))がP(i-1,f0(i-1))未満である場合(即ち、P(i,f0(i))がiの増加とともに増加から減少に転じた場合)、算出結果143に基づいて、f0(i-1)を論理合成実行周波数145として特定するとともに、f1(i-1)をRTL合成実行周波数144として特定する。
特定部13によって特定された論理合成実行周波数145は、図3及び図4に例示する、Wが「99」である基準回路141-iに関する「性能/消費電力」P(i,f(i,j))が最大(第二のピーク値)となるときの動作周波数(クロック周期)に相当し、このときのクロック周期は1200psとなる。また、特定部13によって特定されたRTL合成実行周波数144は、図3及び図4に例示する、Wが「99」である基準回路141-iに関する折れ線グラフが示す動作周波数が最も高い(クロック周期が最も短い)ときの動作周波数に相当し、このときのクロック周期は1050psとなる。
本実施形態に係る回路合成装置10は、上述の通り、RTL合成実行周波数144と論理合成実行周波数145とを特定したのち、記憶部14に格納されている合成対象回路情報146が示す、例えば設計対象であるLSI等の論理回路を論理合成する。本実施形態に係る合成対象回路情報146は、ハードウェア記述言語によって、RTLよりも上位の(より抽象的な)レベルの論理回路を表した情報である。
合成部11は、合成対象回路情報146とテクノロジライブラリ142とに基づいて、RTL合成実行周波数144に関して論理合成(高位合成)することによって、RTL設計情報147を生成する。そして合成部11は、RTL設計情報147とテクノロジライブラリ142とに基づいて、論理合成実行周波数145に関して論理合成することによって、ネットリスト148を生成する。ネットリスト148はLSI等の製造において入力される情報である。
次に図5A乃至5Cのフローチャートを参照して、本実施形態に係る回路合成装置10の動作(処理)について詳細に説明する。
回路合成装置10は、変数iに「1」を設定する(ステップS101)。回路合成装置10は、動作周波数fに、第二の初期値であるf2(i)を設定する(ステップS102)。合成部11は、基準回路情報141とテクノロジライブラリ142とに基づいて、動作周波数fに関して基準回路141-iを論理合成する(ステップS103)。算出部12は、合成部11によって論理合成された基準回路141-iにおける信号の遅延時間の最大値と、動作周波数fによって定まる最大遅延時間とを比較する(ステップS104)。
信号の遅延時間の最大値が最大遅延時間よりも大きい(即ち、信号の遅延時間が回路規則を満たさない)場合(ステップS105でYes)、特定部13は、動作周波数fを、所定の値分低下させ(ステップS106)、処理はステップS103に戻る。信号の遅延時間の最大値が最大遅延時間以下(即ち、信号の遅延時間が回路規則を満たす)であり(ステップS105でNo)、かつ、最大遅延時間と信号の遅延時間の最大値との差分が所定の値よりも大きい(即ち、信号の遅延時間が、回路規則上余裕がある)場合(ステップS107でNo)、特定部13は、動作周波数fを、所定の値分増加させ(ステップS108)、処理はステップS103に戻る。
信号の遅延時間の最大値が最大遅延時間以下であり(ステップS105でNo)、かつ、最大遅延時間と信号の遅延時間の最大値との差分が所定の値以下である(即ち、最大遅延時間と信号の遅延時間の最大値とがほぼ同等と看做される)場合(ステップS107でYes)、特定部13は、このときの動作周波数fを、基準回路141-iに関する動作周波数の第一の初期値f1(i)として、第一の初期値f1(i)を表す算出結果143を記憶部14に格納する(ステップS109)。
回路合成装置10は、変数jに「1」を設定する(ステップS110)。算出部12は、合成部11によって論理合成された基準回路141-iに関して、動作周波数がf(i,j)のときの「性能/消費電力」P(i,f(i,j))を算出し、算出したP(i,f(i,j))を表す算出結果143を記憶部14に格納する(但し、f(i,1)=f1(i))(ステップS111)。特定部13は、算出結果143によって示される「性能/消費電力」P(i,f(i,j))とP(i,f(i,j-1))とを比較する(j=1の場合を除く)(ステップS112)。
P(i,f(i,j))がP(i,f(i,j-1))以上である(即ち、P(i,f(i,j))がjの増加とともに増加する傾向にある)場合(ステップS113でNo)、特定部13は、f(i,j)からf3を減算した値をf(i,j+1)とし、jにj+1を代入する(ステップS114)。合成部11は、特定部13による制御を受けることによって、基準回路情報141とテクノロジライブラリ142とに基づいて、動作周波数f(i,j)に関して基準回路141-iを論理合成し(ステップS115)、処理はステップS111に戻る。
P(i,f(i,j))がP(i,f(i,j-1))未満である(即ち、P(i,f(i,j))がjの増加とともに増加から減少に転じた)場合(ステップS113でYes)、特定部13は、動作周波数f(i,j-1)を、基準回路141-iに関する論理合成最適周波数f0(i)として特定し、論理合成最適周波数f0(i)を表す算出結果143を、記憶部14に格納する(ステップS116)。
特定部13は、「性能/消費電力」P(i,f0(i))とP(i-1,f0(i-1))とを比較する(i=1の場合を除く)(ステップS117)。P(i,f0(i))がP(i-1,f0(i-1))以上である(即ち、P(i,f0(i))がiの増加とともに増加する傾向にある)場合(ステップS118でNo)、特定部13は、iにi+1を代入し(ステップS119)、処理はステップS102に戻る。
P(i,f0(i))がP(i-1,f0(i-1))未満である(即ち、P(i,f0(i))がiの増加とともに増加から傾向に転じた)場合(ステップS118でYes)、特定部13は、f0(i-1)を論理合成実行周波数145として特定し、f1(i-1)をRTL合成実行周波数144として特定する(ステップS120)。
合成部11は、合成対象回路情報146とテクノロジライブラリ142とに基づいて、RTL合成実行周波数144に関して論理合成することによって、RTL設計情報147を生成する(ステップS121)。合成部11は、RTL設計情報147とテクノロジライブラリ142とに基づいて、論理合成実行周波数145に関して論理合成することによって、ネットリスト148を生成し(ステップS122)、全体の処理は終了する。
本実施形態に係る回路合成装置10は、情報処理性能と消費電力とに関して最適化された論理回路を効率的に合成することができる。その理由は、回路合成装置10は、情報処理性能が互いに異なる論理回路(基準回路141-i)を、複数の動作周波数f(i,j)に関して論理合成し、合成した論理回路と動作周波数f(i,j)との組み合わせに関して、「性能/消費電力」P(i,f(i,j))を算出し、「性能/消費電力」P(i,f(i,j))が条件を満たす組み合わせにおける動作周波数f(i,j)を、論理合成実行周波数145として特定するからである。
以下に、本実施形態に係る回路合成装置10によって実現される効果について、詳細に説明する。
現代社会における情報処理システムには、高い情報処理性能が求められるが、一般的に、システムの情報処理性能を高くすればするほど、消費電力の問題が大きくなる。したがって、高い情報処理性能と低い消費電力とが両立する、即ち、情報処理性能と消費電力という両方の要素に関して最適化された、論理回路を効率的に設計する(合成する)ことが課題である。
このような課題に対して、本実施形態に係る回路合成装置10は、合成部11と、算出部12と、特定部13と、を備え、例えば図1乃至図4、図5A乃至図5Cを参照して上述した通り動作する。即ち、合成部11は、情報処理性能が互いに異なる論理回路を、複数の動作周波数に関して論理合成する。算出部12は、論理合成された論理回路と動作周波数との組み合わせに関して、論理回路の消費電力あたりの情報処理性能を算出する。そして、特定部13は、算出された論理回路の消費電力あたりの情報処理性能が条件を満たす組み合わせにおける動作周波数を、論理合成実行周波数145として特定する。したがって、本実施形態に係る回路合成装置10は、消費電力あたりの情報処理性能を最適化した論理回路を合成することができる。
また、本実施形態に係る合成部11は、情報処理性能が低い基準回路141-i(論理回路)から順番に選択し、選択した基準回路141-iに関して、動作周波数を第一の初期値f1(i)から次第に低下させながら論理合成する。特定部13は、個々の基準回路141-iに関して、基準回路141-iの消費電力あたりの情報処理性能が、動作周波数の低下に伴って増加から減少に転じたときの第一のピーク値を特定する。そして特定部13は、合成部11によって選択された基準回路141-iの情報処理性能が増加するのに伴って、第一のピーク値が増加から減少に転じたときの第二のピーク値に関する動作周波数を、論理合成実行周波数145として特定する。即ち、本実施形態に係る回路合成装置10は、論理回路の論理合成において、動作周波数と消費電力あたりの情報処理性能との関係が、図3及び図4に示すような特性を表すことに基づいて論理合成実行周波数145を特定するので、論理合成実行周波数145の特定を効率的に行うことができる。
また、本実施形態に係る回路合成装置10は、論理合成した基準回路141-iにおける信号の遅延時間の最大値が、回路規則が示す最大遅延時間と同等になるときの動作周波数を第一の初期値f1(i)として特定する。これにより、本実施形態に係る回路合成装置10は、論理合成実行周波数145の特定を、効率的かつ確実に行うことができる
また、本実施形態に係る合成部11は、演算対象であるデータのビット幅により情報処理性能が異なる演算回路を、基準回路141-iとして使用する。即ち、本実施形態に係る回路合成装置10は、簡易な構成により(簡易な基準回路を用いることにより)、消費電力あたりの情報処理性能を最適化した論理回路を合成することができる。
また、本実施形態に係る回路合成装置10は、合成対象回路情報146に対して、RTL合成実行周波数144に関して論理合成(高位合成)することによってRTL設計情報147を生成する。そして、回路合成装置10は、生成したRTL設計情報147に対して、論理合成実行周波数145に関して論理合成することによってネットリスト148を生成する。即ち、回路合成装置10は、高位合成において論理合成実行周波数145よりも高い周波数であるRTL合成実行周波数144を用いたのち、論理合成実行周波数145を用いてネットリスト148を生成する。これにより、本実施形態に係る回路合成装置10は、消費電力あたりの情報処理性能を最適化した論理回路を、より柔軟に合成することができる。
また、本実施形態に係る合成部11によって論理合成された論理回路を表す情報は、当該論理回路を構成する素子に関する配置配線情報を含むようにしてもよい。即ち、合成部11は、物理合成を行うようにしてもよい。
また、本実施形態に係る算出部12は、合成部11によって論理合成された基準回路141-iと動作周波数との組み合わせに関して、基準回路141-iの面積あたりの情報処理性能を算出してもよい。算出部12は、論理合成に関する既存技術を用いて、論理合成された論理回路の面積を算出可能である。その場合、特定部13は、算出部12によって算出された基準回路141-iの面積あたりの情報処理性能が条件を満たす組み合わせにおける動作周波数を、論理合成実行周波数145として特定してもよい。
図6は、情報処理性能が互いに異なる複数の基準回路141-iを論理合成した結果に関する、各基準回路のクロック周期(動作周波数)と、消費電力あたりの性能と面積あたりの性能との積との関係について、本願発明者が評価した結果を例示するグラフである。LSI等の製造コストは、一般的にその面積に比例するので、面積あたりの情報処理性能に関しても、最適化した論理合成を行うことは重要な課題である。
図6に例示する通り、各基準回路141-iの動作周波数と、消費電力あたりの性能と面積あたりの性能との積との関係も、図3及び図4に示す例と同様に、基準回路141-iごとに、あるクロック周期において値が最大となる、折れ線グラフによって示される特性を備えている。したがって、回路合成装置10は、本実施形態について上述した動作と同様な動作を行うことによって、消費電力あたりの性能と面積あたりの性能とが最適となる論理合成実行周波数145を特定することができる。これにより、本実施形態に係る回路合成装置10は、情報処理性能と消費電力と製造コストに関して最適化された論理回路を効率的に合成することができる。
<第2の実施形態>
図7は、本願発明の第2の実施形態に係る回路合成装置30の構成を概念的に示すブロック図である。
本実施形態に係る回路合成装置30は、合成部31、算出部32、及び、特定部33を備えている。
合成部31は、情報処理性能が互いに異なる論理回路310を、複数の動作周波数311に関して論理合成する。
算出部32は、論理合成された論理回路310と動作周波数311との組み合わせに関して、論理回路310の消費電力あたりの前記情報処理性能を算出する。
特定部33は、算出された前記論理回路の消費電力あたりの前記情報処理性能320が条件を満たす組み合わせにおける動作周波数311を、論理合成を実行すべき動作周波数(論理合成実行周波数330)として特定する。
本実施形態に係る回路合成装置30は、情報処理性能と消費電力とに関して最適化された論理回路を効率的に合成することができる。その理由は、回路合成装置10は、情報処理性能が互いに異なる論理回路310を、複数の動作周波数311に関して論理合成し、合成した論理回路310と動作周波数311との組み合わせに関して、消費電力あたりの情報処理性能320を算出し、消費電力あたりの情報処理性能320が条件を満たす組み合わせにおける動作周波数311を、論理合成実行周波数330として特定するからである。
<ハードウェア構成例>
上述した各実施形態において図1、及び、図7に示した回路合成装置における各部は、専用のHW(HardWare)(電子回路)によって実現することができる。また、図1、及び、図7において、少なくとも、下記構成は、ソフトウェアプログラムの機能(処理)単位(ソフトウェアモジュール)と捉えることができる。
・合成部11及び31、
・算出部12及び32、
・特定部13及び33、
・記憶部14における記憶制御機能。
但し、これらの図面に示した各部の区分けは、説明の便宜上の構成であり、実装に際しては、様々な構成が想定され得る。この場合のハードウェア環境の一例を、図8を参照して説明する。
図8は、本願発明の各実施形態に係る回路合成装置を実行可能な情報処理装置900(コンピュータ)の構成を例示的に説明する図である。即ち、図8は、図1、及び、図7に示した回路合成装置を実現可能なコンピュータ(情報処理装置)の構成であって、上述した実施形態における各機能を実現可能なハードウェア環境を表す。
図8に示した情報処理装置900は、構成要素として下記を備えている。
・CPU(Central_Processing_Unit)901、
・ROM(Read_Only_Memory)902、
・RAM(Random_Access_Memory)903、
・ハードディスク(記憶装置)904、
・通信インタフェース905、
・バス906(通信線)、
・CD-ROM(Compact_Disc_Read_Only_Memory)等の記録媒体907に格納されたデータを読み書き可能なリーダライタ908、
・モニターやスピーカ、キーボード等の入出力インタフェース909。
即ち、上記構成要素を備える情報処理装置900は、これらの構成がバス906を介して接続された一般的なコンピュータである。情報処理装置900は、CPU901を複数備える場合もあれば、マルチコアにより構成されたCPU901を備える場合もある。
そして、上述した実施形態を例に説明した本願発明は、図8に示した情報処理装置900に対して、次の機能を実現可能なコンピュータプログラムを供給する。その機能とは、その実施形態の説明において参照したブロック構成図(図1、及び、図7)における上述した構成、或いはフローチャート(図5A乃至図5C)の機能である。本願発明は、その後、そのコンピュータプログラムを、当該ハードウェアのCPU901に読み出して解釈し実行することによって達成される。また、当該装置内に供給されたコンピュータプログラムは、読み書き可能な揮発性のメモリ(RAM903)、または、ROM902やハードディスク904等の不揮発性の記憶デバイスに格納すれば良い。
また、前記の場合において、当該ハードウェア内へのコンピュータプログラムの供給方法は、現在では一般的な手順を採用することができる。その手順としては、例えば、CD-ROM等の各種記録媒体907を介して当該装置内にインストールする方法や、インターネット等の通信回線を介して外部よりダウンロードする方法等がある。そして、このような場合において、本願発明は、係るコンピュータプログラムを構成するコード或いは、そのコードが格納された記録媒体907によって構成されると捉えることができる。
以上、上述した実施形態を模範的な例として本願発明を説明した。しかしながら、本願発明は、上述した実施形態には限定されない。即ち、本願発明は、本願発明のスコープ内において、当業者が理解し得る様々な態様を適用することができる。
10 回路合成装置
11 合成部
12 算出部
13 特定部
14 記憶部
141 基準回路情報
142 テクノロジライブラリ
143 算出結果
144 RTL合成実行周波数
145 論理合成実行周波数
146 合成対象回路情報
147 RTL設計情報
148 ネットリスト
20 管理端末装置
30 回路合成装置
31 合成部
310 論理回路
311 動作周波数
32 算出部
320 消費電力あたりの情報処理性能
33 特定部
330 論理合成実行周波数
900 情報処理装置
901 CPU
902 ROM
903 RAM
904 ハードディスク(記憶装置)
905 通信インタフェース
906 バス
907 記録媒体
908 リーダライタ
909 入出力インタフェース

Claims (10)

  1. 情報処理性能が互いに異なる論理回路を、複数の動作周波数に関して論理合成する合成手段と、
    論理合成された前記論理回路と前記動作周波数との組み合わせに関して、前記論理回路の消費電力あたりの前記情報処理性能を算出する算出手段と、
    算出された前記論理回路の消費電力あたりの前記情報処理性能が条件を満たす前記組み合わせにおける前記動作周波数を、論理合成を実行すべき動作周波数(以下、論理合成実行周波数)として特定する特定手段と、
    を備える回路合成装置。
  2. 前記合成手段は、前記情報処理性能が低い前記論理回路から順番に選択し、選択した前記論理回路に関して、前記動作周波数を第一の初期値から次第に低下させながら論理合成し、
    前記特定手段は、個々の前記論理回路に関して、前記論理回路の消費電力あたりの前記情報処理性能が、前記動作周波数の低下に伴って増加から減少に転じたときの第一のピーク値を特定するとともに、前記合成手段によって選択された前記論理回路の前記情報処理性能が増加するのに伴って、前記第一のピーク値が増加から減少に転じたときの第二のピーク値に関する前記動作周波数を、前記論理合成実行周波数として特定する、
    請求項1に記載の回路合成装置。
  3. 前記合成手段は、個々の前記論理回路に関して、前記動作周波数の第二の初期値により論理合成を行ったのち、前記特定手段によって指示された前記動作周波数によって論理合成を行い、
    前記算出手段は、論理合成された前記論理回路における信号の遅延時間の最大値が前記動作周波数によって定まる最大遅延時間以下であることを表す回路規則を満たすか否かを判定し、
    前記特定手段は、前記第二の初期値により論理合成された前記論理回路に関して、前記回路規則を満たさない場合は前記動作周波数を低下させて論理合成を行うことを前記合成手段に指示し、前記回路規則を所定の余裕をもって満たす場合は前記動作周波数を増加させて論理合成を行うことを前記合成手段に指示し、前記合成手段によって新たに論理合成された前記論理回路に関して、前記回路規則に基づく前記合成手段に対する指示を繰り返し行なうことによって、前記信号の遅延時間の最大値が前記最大遅延時間と同等になるときの前記動作周波数を前記第一の初期値として特定する、
    請求項2に記載の回路合成装置。
  4. 前記合成手段は、演算対象であるデータのビット幅により前記情報処理性能が異なる演算回路を、前記論理回路として使用する、
    請求項1乃至請求項3のいずれか一項に記載の回路合成装置。
  5. 前記算出手段は、論理合成された前記論理回路と前記動作周波数との組み合わせに関して、前記論理回路の面積あたりの前記情報処理性能を算出し、
    前記特定手段は、算出された前記論理回路の面積あたりの前記情報処理性能が条件を満たす前記組み合わせにおける前記動作周波数を、前記論理合成実行周波数として特定する、
    請求項1に記載の回路合成装置。
  6. 前記合成手段によって論理合成された前記論理回路は、前記論理回路を構成する素子に関する配置配線情報を含む、
    請求項1乃至請求項5のいずれか一項に記載の回路合成装置。
  7. 前記合成手段は、前記特定手段によって特定された前記論理合成実行周波数に関して論理合成した結果を表すネットリストを生成する、
    請求項2または3に記載の回路合成装置。
  8. 前記合成手段は、前記特定手段によって特定された、前記動作周波数の前記第一の初期値に関して論理合成することによって、RTL(Register Transfer Level)によって表される、前記ネットリストの生成における入力情報を生成する、
    請求項7に記載の回路合成装置。
  9. 情報処理装置によって、
    情報処理性能が互いに異なる論理回路を、複数の動作周波数に関して論理合成し、
    論理合成された前記論理回路と前記動作周波数との組み合わせに関して、前記論理回路の消費電力あたりの前記情報処理性能を算出し、
    算出された前記論理回路の消費電力あたりの前記情報処理性能が条件を満たす前記組み合わせにおける前記動作周波数を、論理合成を実行すべき動作周波数(以下、論理合成実行周波数)として特定する、
    回路合成方法。
  10. 情報処理性能が互いに異なる論理回路を、複数の動作周波数に関して論理合成する合成処理と、
    論理合成された前記論理回路と前記動作周波数との組み合わせに関して、前記論理回路の消費電力あたりの前記情報処理性能を算出する算出処理と、
    算出された前記論理回路の消費電力あたりの前記情報処理性能が条件を満たす前記組み合わせにおける前記動作周波数を、論理合成を実行すべき動作周波数(以下、論理合成実行周波数)として特定する特定処理と、
    をコンピュータに実行させるための回路合成プログラム。
JP2018118773A 2018-06-22 2018-06-22 回路合成装置、回路合成方法、及び、回路合成プログラム Active JP7081331B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2018118773A JP7081331B2 (ja) 2018-06-22 2018-06-22 回路合成装置、回路合成方法、及び、回路合成プログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2018118773A JP7081331B2 (ja) 2018-06-22 2018-06-22 回路合成装置、回路合成方法、及び、回路合成プログラム

Publications (2)

Publication Number Publication Date
JP2019220066A JP2019220066A (ja) 2019-12-26
JP7081331B2 true JP7081331B2 (ja) 2022-06-07

Family

ID=69096757

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2018118773A Active JP7081331B2 (ja) 2018-06-22 2018-06-22 回路合成装置、回路合成方法、及び、回路合成プログラム

Country Status (1)

Country Link
JP (1) JP7081331B2 (ja)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007041868A (ja) 2005-08-03 2007-02-15 Nec Electronics Corp 論理合成のタイミング制約生成装置と論理合成方法とプログラム
JP2007102631A (ja) 2005-10-06 2007-04-19 Matsushita Electric Ind Co Ltd 論理回路設計支援装置およびこれを用いた論理回路設計支援方法

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2954894B2 (ja) * 1996-12-13 1999-09-27 株式会社半導体理工学研究センター 集積回路設計方法、集積回路設計のためのデータベース装置および集積回路設計支援装置

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007041868A (ja) 2005-08-03 2007-02-15 Nec Electronics Corp 論理合成のタイミング制約生成装置と論理合成方法とプログラム
JP2007102631A (ja) 2005-10-06 2007-04-19 Matsushita Electric Ind Co Ltd 論理回路設計支援装置およびこれを用いた論理回路設計支援方法

Also Published As

Publication number Publication date
JP2019220066A (ja) 2019-12-26

Similar Documents

Publication Publication Date Title
US20070168902A1 (en) Method for high-level synthesis of semiconductor integrated circuit
US8434036B2 (en) Arithmetic program conversion apparatus, arithmetic program conversion method, and program
US11748548B2 (en) Hierarchical clock tree implementation
JP5014920B2 (ja) 回路設計方法、ならびにその方法により製造される集積回路
JP4396987B2 (ja) 動作合成装置および動作合成方法、ディジタル回路の製造方法、動作合成制御プログラム、可読記録媒体
JP2007026170A (ja) 半導体集積回路の自動レイアウト方法、自動レイアウトプログラム、および自動レイアウト装置
JP7081331B2 (ja) 回路合成装置、回路合成方法、及び、回路合成プログラム
US8127259B2 (en) Synthesis constraint creating device, behavioral synthesis device, synthesis constraint creating method and recording medium
JP2007004563A (ja) ライブラリ作成装置、ライブラリ作成プログラムおよびライブラリ作成方法
JP5228546B2 (ja) 動作合成装置、および、プログラム
US20110061032A1 (en) High-level synthesis apparatus, high-level synthesis method, and computer readable medium comprising high-level synthesis program
JP2013546059A (ja) カスタム集積回路のためのアーキテクチャによりガイドされる最適システム精度定義アルゴリズム
JP4756002B2 (ja) 半導体集積回路の設計支援装置、その設計支援方法、その製造方法、プログラム、及び記録媒体
JP6787024B2 (ja) 設計支援プログラム、設計支援方法、および情報処理装置
JP6735951B2 (ja) 高位合成装置、高位合成方法および高位合成プログラム
US6532584B1 (en) Circuit synthesis method
JPH11145297A (ja) 集積回路のレイアウト設計方法及びレイアウト設計プログラムを記録したコンピュータ読み取り可能な記録媒体
JPWO2018167940A1 (ja) 情報処理装置、情報処理方法及び情報処理プログラム
JP2006202330A (ja) システムlsiの設計方法及びこれを記憶した記録媒体
JP6468743B2 (ja) 情報処理装置及びその制御方法
JP2953431B2 (ja) 高位合成装置及びその記録媒体
JP4124671B2 (ja) 半導体集積回路設計装置
JPWO2019171464A1 (ja) 設計支援装置および設計支援プログラム
JP5267376B2 (ja) 動作合成装置、動作合成方法、ならびに、プログラム
JP4764687B2 (ja) 設計支援システム及び情報処理方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20210517

RD01 Notification of change of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7421

Effective date: 20211013

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20220414

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20220426

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20220509

R151 Written notification of patent or utility model registration

Ref document number: 7081331

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151