JP3717144B2 - 高位合成装置および高位合成方法並びに高位合成プログラムを記録した記録媒体 - Google Patents

高位合成装置および高位合成方法並びに高位合成プログラムを記録した記録媒体 Download PDF

Info

Publication number
JP3717144B2
JP3717144B2 JP15719699A JP15719699A JP3717144B2 JP 3717144 B2 JP3717144 B2 JP 3717144B2 JP 15719699 A JP15719699 A JP 15719699A JP 15719699 A JP15719699 A JP 15719699A JP 3717144 B2 JP3717144 B2 JP 3717144B2
Authority
JP
Japan
Prior art keywords
scheduling
node
combination
candidates
area
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
JP15719699A
Other languages
English (en)
Other versions
JP2000348069A (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.)
Sharp Corp
Original Assignee
Sharp 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 Sharp Corp filed Critical Sharp Corp
Priority to JP15719699A priority Critical patent/JP3717144B2/ja
Priority to GB0002874A priority patent/GB2350914B/en
Priority to US09/502,013 priority patent/US6557158B1/en
Publication of JP2000348069A publication Critical patent/JP2000348069A/ja
Application granted granted Critical
Publication of JP3717144B2 publication Critical patent/JP3717144B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/30Circuit 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)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Description

【0001】
【発明の属する技術分野】
本発明は、動作記述によって表現された回路を合成する高位合成方法に関し、特に、コントロールフローグラフの各ノードをタイムステップに割り当てるスケジューリング方法に関する。
【0002】
【従来の技術】
従来技術として、コントロールフローグラフの各ノードが各スケジューリング侯補に割り当てられる確率をタイムステップ毎に合計し、その最大値で回路面積(以下、単に「面積」とする。)を見積もり、面積を最小化するようにスケジューリングを行うフォースディレクティッドスケジューリングが「HIGH−LEVEL SYNTHESIS Introduction to Chip and System Design(Kluwer Academic Publishers)1992」に記載されている。
【0003】
さらに、上記のフォースディレクティッドスケジューリングを改良した技術として、確率の合計が最大となるタイムステップにスケジューリング候補(A)を持つ各ノード(B)に対し、ノード(B)を候補(A)から除外した状態で面積を見積もり、面積が最小となるノード(C)と候補(D)の組合せを求め、候補(D)をノード(C)の候補から除外することにより、徐々にスケジューリング候補を絞り込む方法が、特開平9−81605号公報に記載されている。この特開平9−81605号公報に記載の技術は、フォースディレクティッドスケジューリングにおいて、ノードをタイムステップに一度に割り当ててしまうことにより最適なタイムステップをスケジューリング候補から除外してしまい、局所解に陥るのを防ぐために、スケジューリング候補を徐々に絞り込むことにより、より良いスケジューリング結果を得ようとするものである。
【0004】
【発明が解決しようとする課題】
上記の特開平9−81605号公報の記載によれば、各ノードがスケジューリング候補に割り当てられる確率をタイムステップ毎に合計したものが最大となるタイムステップにスケジューリング候補(A)を持つノード(B)に対し、ノード(B)を候補(A)から除外した状態で面積を見積もっている。そのため、見積もり値の正確さが十分ではなく、最適なタイムステップをスケジューリング候補から除外してしまい局所解に陥る可能性が高い。
【0005】
また、特開平9−81605号公報の記載においては、レジスタの面積を考慮していないため、演算器の面積が小さくなってもレジスタの面積が大きくなり、全体の回路の面積が大きくなる可能性が高い。
【0006】
上記の問題点を解決すべく、本発明は、高速かつ有効な面積の見積もりを行う高位合成のスケジューリング方法、および、レジスタの面積を考慮した高速な高位合成のスケジューリング方法を提供することを目的とする。
【0007】
【課題を解決するための手段】
本発明の高位合成装置は、コントロールフローグラフの各ノードが各スケジューリング候補に割り当てられる確率をタイムステップ毎に合計し、その合計の最大値で面積を見積もって、見積もられた面積を最小化するようにスケジューリングを行う高位合成装置であって、前記確率の合計が最大となるタイムステップにスケジューリング候補を持つ各ノードのそれぞれを該スケジューリング候補に仮割当した状態におけるそれぞれの面積を見積もる面積見積もり手段と、該面積見積もり手段による見積もりの結果、見積もり面積が最大となる仮割当のノードとスケジューリング候補との組合せを求める組合せ算出手段と、
該組合せ算出手段によって求められた仮割当のノードとスケジューリング候補との組合せにおけるスケジューリング候補を、該組合せにおけるノードに対するスケジューリング候補から除外することによりスケジューリング候補を絞り込む絞り込み手段とを備え、該絞り込み手段によってスケジューリング候補が絞り込まれた状態で、前記面積見積もり手段と、前記組合せ算出手段と、前記絞り込み手段とによる前記スケジューリング候補の絞り込みを、前記ノードおよびスケジューリング候補の組合せが1になるまで繰り返して、1になったノードとスケジューリング候補との組合せに基づいて該ノードのスケジューリングを行なうことを特徴とする。
前記スケジューリング候補を絞り込む絞り込み手段は、前記組合せ算出手段によって求められた前記ノードとスケジューリング候補の組合せが複数ある場合に、各組みあわせ毎に、ノードを引数とする評価関数を計算して、計算された該評価関数の値が最大となるノードとスケジューリング候補の組合せを除外して、前記組合せを絞り込む構成であってもよい。
前記評価関数が、((ノードの入力ビット数の総和)−(ノードの出力ビット数の総和))×(スケジューリング候補のタイムステップ)であってもよい。
本発明の高位合成方法は、前記高位合成装置によって実施される高位合成方法であって、前記面積見積もり手段によって、前記確率の合計が最大となるタイムステップにスケジューリング候補を持つ各ノードのそれぞれ対応するスケジューリング候補に仮割当した状態におけるそれぞれの面積を見積もる面積見積もりステップと、前記組合せ算出手段によって、前記面積見積もりステップでの面積の見積もり結果から、見積もり面積が最大となる仮割当のノードとスケジューリング候補との組合せを求める組合せ算出ステップと、前記絞り込み手段によって、該組合せ算出ステップで求められた仮割当のノードとスケジューリング候補との組合せにおけるスケジューリング候補を、該組合せにおけるノードに対するスケジューリング候補から除外することによりスケジューリング候補を絞り込む絞り込みステップと、該絞り込みステップによってスケジューリング候補を絞り込んだ状態で、前記面積見積もりステップと、前記組合せ算出ステップと、前記絞り込みステップとを、前記ノードとスケジューリング候補との組合せが1になるまで繰り返して、1になったノードとスケジューリング候補との組合せに基づいて該ノードのスケジューリングを行なうステップと、を包含することを特徴とする
【0008】
前記スケジューリング候補を絞り込む絞り込みステップは、前記組合せ算出ステップによって求められた前記ノードとスケジューリング候補の組合せが複数ある場合に、各組みあわせ毎に、ノードを引数とする評価関数をそれぞれ計算して、計算された評価関数の値が最大となる前記ノードとスケジューリング候補の組合せを除外して、前記組合せを絞り込んでもよい
【0009】
前記評価関数が、((ノードの入力ビット数の総和)−(ノードの出力ビット数の総和))×(スケジューリング候補のタイムステップ)であってもよい。
【0010】
本発明の記録媒体は、前記高位合成方法を実行する高位合成プログラムが記録されているコンピュータ読み取り可能な記録媒体である。
【0011】
【発明の実施の形態】
以下、図面を参照して本発明の実施の形態を説明する。
【0012】
図1は、本発明の実施の形態におけるスケジューリング方法のフローチャートである。図1に示されるフローチャートの各ステップについて説明する。
【0013】
ASAPスケジューリング(1)においては、各ノードを依存関係を満たす範囲でできるだけ早いタイムステップに割り当てる。ASAPスケジューリング結果の例を図2に示す。図2において、各タイムステップには早い順に丸数字の1〜5の番号が付けられ、各ノードには四角数字の1〜5の番号が付けられている。図2に示す例では、ノード2,5が最も早いタイムステップ1に割り当てられ、ノード1,3がタイムステップ2に割り当てられ、ノード4がタイムステップ3に割り当てられている。
【0014】
次に、ALAPスケジューリング(2)においては、各ノードを依存関係を満たす範囲でできるだけ遅いタイムステップに割り当てる。ALAPスケジューリング結果の例を図3に示す。図3に示す例では、ノード1,4が最も遅いタイムステップ5に割り当てられ、ノード3,5がタイムステップ4に割り当てられ、ノード2がタイムステップ3に割り当てられている。
【0015】
ASAPスケジューリングとALAPスケジューリングの結果、各ノードの最初のスケジューリング候補が定まる。図4は、最初のスケジューリング候補を示す。例えば、ノード1はASAPスケジューリングではタイムステップ2に割り当てられ、ALAPスケジューリングではタイムステップ5に割り当てられている。そのため、図4の黒四角記号によって示されるように、ノード1は、タイムステップ2から5のいずれかに割り当てられる可能性がある。図4は、ノード2〜5についても同様に最初のスケジューリング候補を示している。
【0016】
次に、各ノードの確率の算出(3)においては、各ノードが各タイムステップに割り当てられる確率を算出する。図4において、例えばノード1は4つのタイムステップ2〜5のいずれかに割り当てられる可能牲があるため、それぞれ確率1/4が与えられる。図5は、このようにして算出した各ノードの確率例を示す。
【0017】
次に、タイムステップ毎の確率の合計の算出(4)においては、前記各ノードの確率をタイムステップ毎に合計する。図6は、タイムステップ毎の確率の合計の算出例を示す。例えば、タイムステップ1について考えると、ノード2がタイムステップ1に割り当てられる確率は1/3であり、ノード5がタイムステップ1に割り当てられる確率は1/4であるから、タイムステップ1の確率の合計は、1/3+1/4=0.58となる。図6には、同様に算出した各タイムステップについての確率の合計が示されている。
【0018】
次に、確率の合計の最大値の算出(5)においては、前記タイムステップ毎の確率の合計の最大値を算出する。図6の例においては、0.58、1.16、1.5、1.16、0.58の最大値は1.5であるため、確率の合計の最大値は1.5となる。図6においては、タイムステップ3の確率の合計値1.5を丸で囲むことにより、これを示している。
【0019】
次に、確率の合計が最大となるタイムステップにスケジューリング候補(A)を持つノード(B)と候補(A)の組合せの検索(6)においては、前記確率の合計の最大値を与えるタイムステップにスケジューリング候補を持つノードを検索し、ノードとステップの組合せを求める。
【0020】
図7は、確率の合計が最大となるタイムステップにスケジューリング候補(A)を持つノード(B)と候補(A)の組合せの検索例を示す。上述の例においては、確率の合計が最大となるのはタイムステップ3であるため、タイムステップ3にスケジューリング候補を持つノード(ノード1から5全て)が検索される。その結果、組合せ(ノード1、タイムステップ3)、(ノード2、タイムステップ3)、(ノード3、タイムステップ3)、(ノード4、タイムステップ3)、(ノード5、タイムステップ3)が得られる。
【0021】
次に、各組合せに対する、ノード(B)の候補(A)への仮割当と、面積の見積もり(7)においては、前記各組合せに対し、ノードを候補へ仮割当して面積を見積もる。
【0022】
図8は、ノード1をタイムステップ3に仮割当する例を示す。仮割当の結果、ノード1がタイムステップ2、4、5、ノード2がタイムステップ3に割り当てられる可能性がなくなるため、これらを一時的にスケジューリング候補から除外し、面積を見積もる。なお、同様に、ノード2をタイムステップ3に仮割当する例を図16に、ノード3をタイムステップ3に仮割当する例を図17に、ノード4をタイムステップ3に仮割当する例を図18に、ノード5をタイムステップ3に仮割当する例を図19に示す。
【0023】
図9は、面積見積もりのフローチャートを示す。図9のフローチャートで、仮割当後の各ノードの確率の算出(13)においては、仮割当を行い、一時的にスケジューリング候補を絞り込んだ状態で各ノードの確率を算出する。次に、タイムステップ毎の確率の合計の算出(14)においては、仮割当後の各ノードの確率をタイムステップ毎に合計する。次に、確率の合計の最大値の算出(15)においては、合計した確率の最大値を算出する。この最大値が、面積の見積もり値となる。
【0024】
図10は、ノード1をタイムステップ3に仮割当した場合の面積見積もりの例を示す。上述の例においては、面積の見積もり値は1.91となる。なお、同様に、ノード2をタイムステップ3に仮割当した場合の面積見積もりの例を図20に、ノード3をタイムステップ3に仮割当した場合の面積見積もりの例を図21に、ノード4をタイムステップ3に仮割当した場合の面積見積もりの例を図22に、ノード5をタイムステップ3に仮割当した場合の面積見積もりの例を図23に示す。
【0025】
図1のフローチャートに戻って、最も面積が大きくなるノードと候補の組合せの検索(8)においては、前記仮割当および面積見積もりの結果、最も面積が大きくなるものを検索し、その最大値を与える仮割当のノードとスケジューリング候補を検索する。図7においては、ノード1をタイムステップ3に割り当てた時と、ノード5をタイムステップ3に割り当てた時の見積もり面積が最大(1.91)となるため、検索結果は(ノード1、タイムステップ3)、(ノード5、タイムステップ3)となる。
【0026】
次に、前記最も面積が大きくなるノードと候補の組合せの検索(8)において検索された組合せが複数あるか否かの判定(17)を行う。組合せが複数ある場合には、各組合せに対する評価関数の算出(9)に進み、組合せが1つである場合には、候補(D)の、ノード(C)のスケジューリング候補からの除外(11)に進む。
【0027】
各組合せに対する評価関数の算出(9)においては、複数の組合せが検索された場合に各組合せに対して評価関数を算出する。
【0028】
各組合せに対する評価関数の算出(9)について、図7の例で説明する。上記のように、ノード1をタイムステップ3に仮割当した場合(図10)と、ノード5をタイムステップ3に仮割当した場合(図23)とでは、見積もり面積結果は等しくなる(1.91)ため、前記最も面積が大きくなるノードと候補の組合せの検索(8)において2つの組合せが検索される。そこで、各組合せに対して評価関数を算出する。ここでは評価関数を、
((ノードの入力数)−(ノードの出力数))×(候補のタイムステップ)
とする。図2(又は図3)に示すように、ノード1の入力数は1、出力数は1であり、ノード5の入力数は2、出力数は1である。ノード1をタイムステップ3に仮割当した場合の評価関数の値は、(1−1)×3=0となる。ノード5をタイムステップ3に仮割当した場合の評価関数の値は、(2−1)×3=3となる。なお、評価関数の算出については、図11を参照してさらに後述する。
【0029】
次に、評価関数の値が最も大きくなるノード(C)と侯補(D)の組合せの検索(10)においては、前記各組合せに対する評価関数の算出(9)で算出した評価関数の値の最大値を求め、その最大値を与えるノードと候補の組合せを求める。図7の例においては、ノード5をタイムステップ3に仮割当した場合の評価関数の値3が最大となるため、検索結果は(ノード5、タイムステップ3)となる。
【0030】
前記各組合せに対する評価関数の算出(9)および前記評価関数の値が最も大きくなるノード(C)と候補(D)の組合せの検索(10)は、前記最も面積が大きくなるノードと候補の組合せの検索(8)において複数の組合せが検索された場合にのみ実行される。
【0031】
次に、候補(D)の、ノード(C)のスケジューリング候補からの除外(11)においては、上述した仮割当および評価関数による検索により最終的に求められた、ノード(C)とスケジューリング候補(D)の組合せに対し、候補(D)をノード(C)のスケジューリング候補から除外する。図12は、ノード5のタイムステップ3への割当てが除外された例を示す。
【0032】
前記(3)から(11)を、各ノードのスケジューリング侯補数が1となり、全てのノードのスケジューリングが決定されるまで繰り返す。図13に、全てのノードのスケジューリング侯補数が1となった状態の例を示す。図14に、最終的なスケジューリング結果の例を示す。
【0033】
次に、本発明におけるレジスタ面積の考慮方法を説明する。
【0034】
図15は、レジスタを考慮したスケジューリングのための説明図である。図15の例において、(A)の加算ノードが、(B)のようにコントロールステップ2にスケジューリングされる場合、加算ノードの入力に接続された2つの枝のライフタイムはタイムステップの1から2までを占め、加算ノードの出力に接続された1つの枝のライフタイムはタイムステップの2から6までを占める。(A)の加算ノードが、(C)のようにコントロールステップ5にスケジューリングされる場合、加算ノードの入力に接続された2つの枝のライフタイムはタイムステップの1から5までを占め、加算ノードの出力に接続された1つの枝のライフタイムはタイムステップの5から6までを占める。
【0035】
すなわち、(B)のスケジューリングでは2つのライフタイムが1ステップの区間を占め、1つのライフタイムが4ステップの区間を占めるが、(C)のスケジューリングでは2つのライフタイムが4ステップの区間を占め、1つのライフタイムが1ステップの区間を占める。よって、(B)のスケジューリングの方が、(C)のスケジューリングよりもレジスタの数が少なくなる可能性が高い。
【0036】
図11は、評価関数算出のための説明図である。スケジューリングの過程において、図11に示すようにノード1をタイムステップ4に仮割当した場合と、ノード1をタイムステップ5に仮割当した場合と、ノード4をタイムステップ4に仮割当した場合と、ノード4をタイムステップ5に仮割当した場合とで、見積もり面積が等しくなったとする。その場合、各組合せに対し評価関数を算出する。ノード1をタイムステップ4に仮割当した場合の評価関数の値は、(1−1)×=0となる。ノード1をタイムステップ5に仮割当した場合の評価関数の値は、(1−1)×5=0となる。ノード4をタイムステップ4に仮割当した場合の評価関数の値は、(2−1)×4=4となる。ノード4をタイムステップ5に仮割当した場合の評価関数の値は、(2−1)×5=5となる。
【0037】
評価関数の値が最も大きくなるノード(C)と候補(D)の組合せの検索(10)において、評価関数の最大値を与えるノードと候補の組合せを求め、候補(D)をノード(C)のスケジューリング候補から除外する。図11の例では、ノード4の、タイムステップ5への割当が除外される。これにより、入力数が出力数より多いノード4は、入力数と出力数が等しいノード1に比べて早いタイムステップに割り当てられる。
【0038】
このように、本発明によれば、ノードの入力ビット数の総和が出力ビット数の総和より小さい場合は、面積が同じ場合、より遅いタイムステップにスケジューリングされ、ノードの入力ビット数の総和が出力ビット数の総和より大きい場合は、面積が同じ場合、より早いタイムステップにスケジューリングされる。これにより、必要となるレジスタ数が少なくなる可能性が高くなり、レジスタを考慮したスケジューリングを行うことができる。
【0039】
以上に説明した本発明の高位合成方法を実行するプログラムは、磁気ディスク、光ディスク等の任意の記録媒体に記録され得る。
【0040】
最後に、本発明と従来技術との違いを、図16、図20、図24、図25を参照して説明する。ここでは、従来技術の例として特開平9−81605号公報に記載の技術との違いを説明する。
【0041】
本発明においては、確率の合計が最大となるタイムステップにスケジューリング候補(A)を持つ各ノード(B)に対し、ノード(B)を候補(A)に仮割当した状態で面積を見積もる。図16は、ノード2をタイムステップ3へ仮割当した状態でのスケジューリング候補を示す。図20は、ノード2をタイムステップ3へ仮割当した状態での面積見積もりを示す。
【0042】
一方、特開平9−81605号公報に記載されている技術によれば、確率の合計が最大となるタイムステップにスケジューリング候補(A)を持つ各ノード(B)に対し、ノード(B)を候補(A)から除外した状態で面積を見積もる。図24は、ノード2のタイムステップ3への割当てを除外した状態でのスケジューリング候補を示す。図25は、ノード2のタイムステップ3への割当てを除外した状態での面積見積もりを示す。
【0043】
図24と図16とを比較すると、図16の方がトータルのスケジューリング候補数が少なくなっている。これは、図16の方が、より、最終的なスケジューリング結果(図13)に近いことを示す。これにより、本発明は、特開平9−81605に記載されている発明と比較して、より正確な面積見積もりを行うことができ、より良いスケジューリング結果を得られる可能性が高いと言える。
【0044】
また、特開平9−81605に記載されている技術によれば、レジスタの面積を考慮したスケジューリングを行うことができないが、上述したように、本発明によれば、レジスタの面積を考慮したスケジューリングを行うことができる。
【0045】
【発明の効果】
本発明の高位合成方法および高位合成プログラムを記録した記録媒体によれば、コントロールフローグラフの各ノードが各スケジューリング候補に割り当てられる確率をタイムステップ毎に合計し、確率の合計が最大となるタイムステップにスケジューリング候補(A)を持つ各ノード(B)に対し、ノード(B)を候補(A)に仮割当した状態で面積を見積もることにより、より最終的なスケジューリング結果に近い状態で面積を見積もることができ、最適なタイムステップをスケジューリング候補から除外してしまい局所解に陥る可能性を低くすることができる。
【0046】
また、本発明の高位合成方法によれば、見積もり面積が最大となるノードとスケジューリング候補の組合せが複数ある場合、各ノードを引数とする評価関数を計算し、評価値が最大となるノード(E)と候補(F)の組合せを検索して、候補(F)をノード(E)の候補から除外することにより、最終的に面積が同じになる複数のスケジューリング結果のうち、評価関数にしたがってより目的に近いスケジューリング結果が得られる。
【0047】
さらに、本発明の高位合成方法によれば、ノードの入力ビット数の総和が出力ビット数の総和より小さい場合は、面積が同じ場合、より遅いタイムステップにスケジューリングされ、ノードの入力ビット数の総和が出力ビット数の総和より大きい場合は、面積が同じ場合、より早いタイムステップにスケジューリングされる。これにより、必要となるレジスタ数が少なくなる可能性が高くなり、レジスタを考慮したスケジューリングを高速に行うことができる。
【図面の簡単な説明】
【図1】本発明の実施の形態におけるスケジューリング方法のフローチャートである。
【図2】ASAPスケジューリング結果の例を示す図である。
【図3】ALAPスケジューリング結果の例を示す図である。
【図4】ASAP、ALAPスケジューリング結果定まった、最初のスケジューリング候補の例を示す図である。
【図5】各ノードが各タイムステップに割り当てられる確率の算出例を示す図である。
【図6】タイムステップ毎の確率の合計と、その最大値の算出例を示す図である。
【図7】確率の合計が最大となるタイムステップにスケジューリング候補(A)を持つノード(B)と候補(A)の組合せの検索例を示す図である。
【図8】各ノードの各タイムステップヘの仮割当の例を示す図である。
【図9】面積見積もりのフローチャートである。
【図10】仮割当後の面積見積もり結果の例を示す図である。
【図11】評価関数算出のための説明図である、
【図12】スケジューリング候補の除外例を示す図である。
【図13】全てのノードのスケジューリング候補数が1となった状態の例を示す図である。
【図14】最終的なスケジューリング結果の例を示す図である。
【図15】レジスタを考慮したスケジューリングのための説明図である。
【図16】各ノードの各タイムステップヘの仮割当の例を示す図である。
【図17】各ノードの各タイムステップヘの仮割当の例を示す図である。
【図18】各ノードの各タイムステップヘの仮割当の例を示す図である。
【図19】各ノードの各タイムステップヘの仮割当の例を示す図である。
【図20】仮割当後の面積見積もり結果の例を示す図である。
【図21】仮割当後の面積見積もり結果の例を示す図である。
【図22】仮割当後の面積見積もり結果の例を示す図である。
【図23】仮割当後の面積見積もり結果の例を示す図である。
【図24】従来技術における、ノードのタイムステップヘの割当てを除外した状態でのスケジューリング候補を示す図である。
【図25】従来技術における、ノードのタイムステップヘの割当てを除外した状態での面積見積もりの例を示す図である。
【符号の説明】
1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,17 ステップ

Claims (7)

  1. コントロールフローグラフの各ノードが各スケジューリング候補に割り当てられる確率をタイムステップ毎に合計し、その合計の最大値で面積を見積もって、見積もられた面積を最小化するようにスケジューリングを行う高位合成装置であって、
    前記確率の合計が最大となるタイムステップにスケジューリング候補を持つ各ノードのそれぞれを該スケジューリング候補に仮割当した状態におけるそれぞれの面積を見積もる面積見積もり手段と、
    該面積見積もり手段による見積もりの結果、見積もり面積が最大となる仮割当のノードとスケジューリング候補との組合せを求める組合せ算出手段と、
    該組合せ算出手段によって求められた仮割当のノードとスケジューリング候補との組合せにおけるスケジューリング候補を、該組合せにおけるノードに対するスケジューリング候補から除外することによりスケジューリング候補を絞り込む絞り込み手段とを備え、
    該絞り込み手段によってスケジューリング候補が絞り込まれた状態で、前記面積見積もり手段と、前記組合せ算出手段と、前記絞り込み手段とによる前記スケジューリング候補の絞り込みを、前記ノードおよびスケジューリング候補の組合せが1になるまで繰り返して、1になったノードとスケジューリング候補との組合せに基づいて該ノードのスケジューリングを行なうことを特徴とする高位合成装置。
  2. 前記スケジューリング候補を絞り込む絞り込み手段は、前記組合せ算出手段によって求められた前記ノードとスケジューリング候補の組合せが複数ある場合に、各組みあわせ毎に、ノードを引数とする評価関数を計算して、計算された該評価関数の値が最大となるノードとスケジューリング候補の組合せを除外して、前記組合せを絞り込む、請求項1に記載の高位合成装置。
  3. 前記評価関数が、((ノードの入力ビット数の総和)−(ノードの出力ビット数の総和))×(スケジューリング候補のタイムステップ)である、請求項2に記載の高位合成装置。
  4. 請求項1に記載の高位合成装置によって実施される高位合成方法であって、
    前記面積見積もり手段によって、前記確率の合計が最大となるタイムステップにスケジューリング候補を持つ各ノードのそれぞれ対応するスケジューリング候補に仮割当した状態におけるそれぞれの面積を見積もる面積見積もりステップと、
    前記組合せ算出手段によって、前記面積見積もりステップでの面積の見積もり結果から、見積もり面積が最大となる仮割当のノードとスケジューリング候補との組合せを求める組合せ算出ステップと、
    前記絞り込み手段によって、該組合せ算出ステップで求められた仮割当のノードとスケジューリング候補との組合せにおけるスケジューリング候補を、該組合せにおけるノードに対するスケジューリング候補から除外することによりスケジューリング候補を絞り込む絞り込みステップと、
    該絞り込みステップによってスケジューリング候補を絞り込んだ状態で、前記面積見積もりステップと、前記組合せ算出ステップと、前記絞り込みステップとを、前記ノードとスケジューリング候補との組合せが1になるまで繰り返して、1になったノードとスケジューリング候補との組合せに基づいて該ノードのスケジューリングを行なうステップと、
    を包含することを特徴とする高位合成方法。
  5. 前記スケジューリング候補を絞り込む絞り込みステップは、前記組合せ算出ステップによって求められた前記ノードとスケジューリング候補の組合せが複数ある場合に、各組みあわせ毎に、ノードを引数とする評価関数をそれぞれ計算して、計算された評価関数の値が最大となる前記ノードとスケジューリング候補の組合せを除外して、前記組合せを絞り込む、請求項4に記載の高位合成方法。
  6. 前記評価関数が、((ノードの入力ビット数の総和)−(ノードの出力ビット数の総和))×(スケジューリング候補のタイムステップ)である、請求項5に記載の高位合成方法。
  7. 請求項4から6のいずれかに記載の高位合成方法を実行する高位合成プログラムが記録されているコンピュータ読み取り可能な記録媒体。
JP15719699A 1999-06-03 1999-06-03 高位合成装置および高位合成方法並びに高位合成プログラムを記録した記録媒体 Expired - Fee Related JP3717144B2 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP15719699A JP3717144B2 (ja) 1999-06-03 1999-06-03 高位合成装置および高位合成方法並びに高位合成プログラムを記録した記録媒体
GB0002874A GB2350914B (en) 1999-06-03 2000-02-08 Scheduling method for high level synthesis of a circuit
US09/502,013 US6557158B1 (en) 1999-06-03 2000-02-11 Scheduling method for high-level synthesis and recording medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP15719699A JP3717144B2 (ja) 1999-06-03 1999-06-03 高位合成装置および高位合成方法並びに高位合成プログラムを記録した記録媒体

Publications (2)

Publication Number Publication Date
JP2000348069A JP2000348069A (ja) 2000-12-15
JP3717144B2 true JP3717144B2 (ja) 2005-11-16

Family

ID=15644314

Family Applications (1)

Application Number Title Priority Date Filing Date
JP15719699A Expired - Fee Related JP3717144B2 (ja) 1999-06-03 1999-06-03 高位合成装置および高位合成方法並びに高位合成プログラムを記録した記録媒体

Country Status (3)

Country Link
US (1) US6557158B1 (ja)
JP (1) JP3717144B2 (ja)
GB (1) GB2350914B (ja)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3717144B2 (ja) * 1999-06-03 2005-11-16 シャープ株式会社 高位合成装置および高位合成方法並びに高位合成プログラムを記録した記録媒体
US7107568B2 (en) * 2002-10-07 2006-09-12 Hewlett-Packard Development Company, Lp. System and method for reducing wire delay or congestion during synthesis of hardware solvers
JP4237661B2 (ja) * 2004-03-25 2009-03-11 株式会社東芝 システムlsiの設計支援システム及び設計支援方法
JP2006139553A (ja) * 2004-11-12 2006-06-01 Matsushita Electric Ind Co Ltd 命令スケジューリング方法、および装置
US8453084B2 (en) 2008-09-04 2013-05-28 Synopsys, Inc. Approximate functional matching in electronic systems
US8364946B2 (en) * 2010-03-22 2013-01-29 Ishebabi Harold Reconfigurable computing system and method of developing application for deployment on the same
US8341577B1 (en) * 2011-07-27 2012-12-25 Oracle International Corporation Parallel circuit simulation with partitions
CN112148456B (zh) * 2020-09-30 2023-05-16 成都华微电子科技股份有限公司 Fpga高层次综合调度方法

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5787010A (en) * 1992-04-02 1998-07-28 Schaefer; Thomas J. Enhanced dynamic programming method for technology mapping of combinational logic circuits
US5287403A (en) * 1992-07-22 1994-02-15 At&T Bell Laboratories Method and apparatus for processing telephone calls charged to credit cards
US5487017A (en) 1993-02-18 1996-01-23 Texas Instruments Incorporated Circuit activity driven multilevel logic optimization for low power reliable operation
JPH06250837A (ja) * 1993-02-25 1994-09-09 Ricoh Co Ltd スケジューリング処理方式
US5519626A (en) * 1993-07-09 1996-05-21 Hewlett-Packard Company Method of dividing a pipelined stage into two stages in a computer-aided design system
US5513118A (en) * 1993-08-25 1996-04-30 Nec Usa, Inc. High level synthesis for partial scan testing
US5502645A (en) * 1993-11-05 1996-03-26 Nec Usa, Inc. Behavioral synthesis for reconfigurable datapath structures
US5550749A (en) * 1994-06-03 1996-08-27 Nec Usa, Inc. High level circuit design synthesis using transformations
JPH08101861A (ja) * 1994-09-30 1996-04-16 Toshiba Corp 論理回路合成装置
JPH0981605A (ja) 1995-09-08 1997-03-28 Nippon Telegr & Teleph Corp <Ntt> ハイレベルシンセシスにおける演算コストの計算方法、およびスケジューリング方法
JPH0981650A (ja) * 1995-09-13 1997-03-28 Fujitsu Ltd 電子メールによる承認方式
JP3717144B2 (ja) * 1999-06-03 2005-11-16 シャープ株式会社 高位合成装置および高位合成方法並びに高位合成プログラムを記録した記録媒体

Also Published As

Publication number Publication date
US6557158B1 (en) 2003-04-29
JP2000348069A (ja) 2000-12-15
GB0002874D0 (en) 2000-03-29
GB2350914A (en) 2000-12-13
GB2350914B (en) 2002-07-03

Similar Documents

Publication Publication Date Title
JP2687858B2 (ja) 集積回路の設計方法
US7886252B2 (en) Same subgraph detector for data flow graph, high-order combiner, same subgraph detecting method for data flow graph, same subgraph detection control program for data flow graph, and readable recording medium
US20140201507A1 (en) Thread selection at a processor based on branch prediction confidence
WO2002059743A2 (en) Compiler for multiple processor and distributed memory architectures
JP3717144B2 (ja) 高位合成装置および高位合成方法並びに高位合成プログラムを記録した記録媒体
US6604232B2 (en) High-level synthesis method and storage medium storing the same
Potkonjak et al. Behavioral synthesis of area-efficient testable designs using interaction between hardware sharing and partial scan
CN116483319A (zh) 用于软件定义芯片的算子处理方法、装置、设备及介质
JP2743937B2 (ja) 高レベル回路設計合成方法
JP4029959B2 (ja) 演算器アロケーション設計装置および演算器アロケーション設計方法
US6505340B2 (en) Circuit synthesis method
US6000038A (en) Parallel processing of Integrated circuit pin arrival times
Potkonjak et al. Cost optimization in ASIC implementation of periodic hard-real time systems using behavioral synthesis techniques
US6532584B1 (en) Circuit synthesis method
US7051312B1 (en) Upper-bound calculation for placed circuit design performance
JP3602697B2 (ja) 論理回路設計支援システム
Park et al. Theory of clocking for maximum execution overlap of high-speed digital systems
JP3091568B2 (ja) レイアウト設計方法
JP2924882B1 (ja) 論理シミュレーションモデルの作成方法および装置ならびに記録媒体
Tsai et al. Yield-driven, false-path-aware clock skew scheduling
JP2737490B2 (ja) 論理回路最適化処理方法
JP4470110B2 (ja) 高位合成方法およびシステム
JP2000057199A (ja) システムの設計支援装置及び設計支援プログラムを記録したコンピュータ読み取り可能な記録媒体
Dilek et al. Simulated annealing‐based high‐level synthesis methodology for reliable and energy‐aware application specific integrated circuit designs with multiple supply voltages
JPH09259152A (ja) 論理回路面積予測方法

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20050127

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20050325

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: 20050829

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20050829

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20080909

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20090909

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20090909

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20100909

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20110909

Year of fee payment: 6

LAPS Cancellation because of no payment of annual fees