JP3180984B2 - 半導体集積回路における処理動作のスケジューリング方法 - Google Patents

半導体集積回路における処理動作のスケジューリング方法

Info

Publication number
JP3180984B2
JP3180984B2 JP02037793A JP2037793A JP3180984B2 JP 3180984 B2 JP3180984 B2 JP 3180984B2 JP 02037793 A JP02037793 A JP 02037793A JP 2037793 A JP2037793 A JP 2037793A JP 3180984 B2 JP3180984 B2 JP 3180984B2
Authority
JP
Japan
Prior art keywords
control step
scheduling method
multiplication
assigned
assignment
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
JP02037793A
Other languages
English (en)
Other versions
JPH06236415A (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.)
Nippon Telegraph and Telephone Corp
Original Assignee
Nippon Telegraph and Telephone 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 Nippon Telegraph and Telephone Corp filed Critical Nippon Telegraph and Telephone Corp
Priority to JP02037793A priority Critical patent/JP3180984B2/ja
Publication of JPH06236415A publication Critical patent/JPH06236415A/ja
Application granted granted Critical
Publication of JP3180984B2 publication Critical patent/JP3180984B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は半導体集積回路におい
て、順次実行されるべき総制御ステップ数が与えられ、
いずれかの制御ステップで行なわれる演算処理と、前記
制御ステップに後続する制御ステップで行なわれる演算
処理との間には時間的な半順序関係が規定されている場
合の半導体集積回路の設計を行なうためのスケジューリ
ング方法に関する。
【0002】
【従来の技術】従来、この種のスケジューリング方法に
おいては、スケジュールが決定されると、決定されたス
ケジュールに従う一連の処理手続きを実現するために必
要な時間および演算器の数が決定される。よって、スケ
ジューリング方法は、合成される半導体集積回路の処理
速度および規模を左右することとなる。
【0003】有限個の制御ステップに一連の演算をそれ
ぞれ割り当てるスケジューリング方法の代表的なものを
挙げれば、『ピー.ジー.ポーリンとジェー.ピー.ナ
イトによる”ASIC'sのビヘイヴィオラル・シンセ
シスのためのフォースダイレクティドスケジューリング
法”1989年6月発行のCADに関するIEEE報
告書の第8巻第6号(P.G.Paulin and
J.P.Knight,“Force−Directe
d Scheduling for theBehav
ioral Synthesis of ASIC'
s”IEEETansactions on CAD,
VOl.8 NO.6,June 1989.)』に示
されるフォースダイレクテイドスケジューリング法と呼
ばれるものがある。フォースダイレクティドスケジュー
リング法は各制御ステップでの演算の存在確率分布をも
とに、最終的に必要となる演算器の個数を少なく抑える
方法である。
【0004】
【発明が解決しようとする課題】与えられた有限個の制
御ステップに一連の演算を割り当てる場合、各制御ステ
ップに割り当てられた演算数の最大値を小さく抑えるこ
とが重要であるが、従来のフォースダイレクティドスケ
ジューリング法では、割り当ての早い段階で制御ステッ
プが決定された演算によって、あとに残された演算を割
り当てることのできる制御ステップが制限され、同一制
御ステップに演算が集まることがある。最終的に必要と
なる演算器は、各制御ステップに割り当てられた演算器
数の最大値になるため、同一ステップに同一種類の演算
が集中すると、必要となる演算器数が多くなることとな
る。
【0005】本発明は上記問題点に鑑み、同一制御ステ
ップに同一種類の演算が集中することを回避するスケジ
ューリング方法を提供することを目的とする。
【0006】
【課題を解決するための手段】本発明のスケジューリン
グ方法は、時間の経過に従って順次実行されるべく与え
られた制御ステップ数の範囲で、いずれかの制御ステッ
プで行なわれる演算処理と、前記制御ステップに後続す
る制御ステップで行なわれる演算処理との間には時間的
な半順序関係が規定されている半導体集積回路の設計を
行なうスケジューリング方法において、前記演算処理の
うち同一の制御ステップで実行される同一種類の演算処
理の数は最小となるように、前記演算処理を各制御ステ
ップに配分する割り当て手順を有する。
【0007】好ましくは、前記割り当て手順において
は、前記半順序関係を維持しつつ同一種類の演算を、前
記配分の自由度を減少させない順に従い、また、与えら
れた割り当て可能数の範囲で、各制御ステップに各演算
を配分し、割り当て可能数の範囲では配分不可能な種類
の演算が発生したときは、割り当て可能数を1増加さ
せ、配分されずに残された演算の配分を繰り返す。ま
た、前記割り当て手順において与えられる割り当て可能
数の初期値は1とするのも好ましい。
【0008】
【作用】割り当て手順においては、演算が割り当てられ
ていない制御ステップに割り当て配分することが可能な
演算は必ず割り当てることにより、同じ制御ステップに
演算が集中することが回避される。また、可能な割り当
ての中から演算の自由度の減少が最小になる割り当てを
選択することにより、割り当ての早い段階で自由度を制
限することもなく演算の配分は可能な限り自由にされ
る。
【0009】
【実施例】次に、本発明の実施例について図面を参照し
て説明する。図1は本発明のスケジューリング方法の一
実施例が適用されたスケジュール決定システムを示すブ
ロック図である。入力装置101は、与えられる制御ス
テップ数および一連の処理すべき演算に関する指示を受
け取る。スケジュール決定装置102は、処理すべき各
演算がどの制御ステップにおいて実行されるべきかを決
定する。結果出力装置103は、スケジュール決定装置
102が決定したスケジュールを表示器104に表示す
る。
【0010】図2は、図1の入力装置101に与えられ
た一連の処理すべき演算の具体例を模式的に示すデータ
フローグラフである。円で示されたノードは演算を表
し、円の中の記号は演算の種類を表す。例えば、”*”
は乗算を、”+”は加算を、”−”は減算を、”>”は
比較をそれぞれ示している。円の側方に記載された数字
は演算番号を表している。また、有向エッジは制御ステ
ップに関する半順序関係および有向エッジの起点となる
ノードの演算により出力される変数であって、有向エッ
ジの終点となるノードの入力となる変数を示している。
すなわち、ある演算は先行する直前の演算が終了するま
で自己の演算は実行できない。図3は、図2の関係を与
えられた制御ステップ1〜4に各演算をいかに配置して
スケジュールを決定するかを説明するための表形式の図
である。各演算は1制御ステップで実行されるものとす
る。
【0011】したがって、各演算は図3において斜線を
施した制御ステップ内で実行されなければならない。す
なわち、ひとつの列がひとつの演算を表し、その列にお
いて斜線を施した行が、その演算を割り当てることがで
きる制御ステップを表している。ある列における斜線区
間の数は、その列に対応する演算の自由度を示してい
る。自由度の総和は図3における斜線区画の総数であ
り、図3の例においては自由度の総和は21である。
【0012】上述の自由度の総和は、スケジュールが決
定していくにしたがって減少していく。例えば、図3の
乗算8を制御ステップ3に割り当てたとすると、加算9
は制御ステップ4に割り当てられるので、乗算8および
加算9はそれぞれ自由度を2ずつ減少させ、自由度の総
和は21から4減少して17となる。
【0013】以下、割り当てられる制御ステップが決定
されていない演算と、定められた半順序関係を破壊せず
にその演算を割り当てることができる制御ステップとの
組を割り当ての組と呼び、例えば、演算lを制御ステッ
プlに割り当てることを示す割り当ての組を、(演算
1,制御ステップl)と表すことにする。
【0014】本実施例においては、割り当ての組を選択
する際に、自由度の総和の減少がもっとも少ない割り当
てを優先的に選択する。ただし、同一制御ステップに割
り当てることができる同一種類(例えば、乗算)の演算
の個数の限度(以下、割り当て可能個数と呼ぶ)を定
め、これを越える割り当ては行なわない。しかし、割り
当て可能個数を増加しないと割り当てができなくなった
場合のみ、割り当て可能個数を順次1だけ増加させて再
度割り当てを行なう。このことを図2および図3を参照
して説明する。
【0015】まず、割り当て可能個数をlとする。この
初期状態において割り当ての組は2l通り存在し、いず
れの割り当ての組を選択した場合も、割り当て可能個数
を上回ることはない。そのうち、自由度の総和の減少が
もつとも小さい割り当ての組は、(乗算1,制御ステッ
プl),(乗算2,制御ステップl),(乗算3,制御
ステップ2),(減算4,制御ステップ3),(減算
7,制御ステップ4)の5通りある。なお、これらの割
り当てのうちのいずれかひとつを行った時の自由度の総
和の減少は零である。本例のように自由度の総和の減少
がもっとも小さい割り当てが複数存在した場合、任意の
ひとつを選択する。ここでは、(乗算1,制御ステップ
1)の割り当てを選択することとする。
【0016】この割り当てを決定した後、残りの割り当
ての組は20通り存在する。しかし、このうち(乗算
2,制御ステツプl),(乗算5,制御ステップ1),
(乗算8,制御ステップ1)の割り当ては、制御ステッ
プlに乗算が既に一つ割り当てられており、これらのい
ずれかの割り当てを行なった場合、割り当て可能個数の
lを越える割り当てとなるため、これらの割り当ての組
は選択しない。よって、割り当て可能個数の限度を越え
ない割り当てはl7通りである。このうち、自由度の総
和の減少がもっとも少ない割り当ては、(乗算3,制御
ステップ2),(減算4,制御ステップ3),(減算
7,制御ステップ4)の3通りであり、これらの中から
選択する。ここでは、(乗算3,制御ステップ2)の割
り当てを選択することとする。
【0017】以下、同様に、(減算4,制御ステップ
3),(減算7,制御ステップ4)の割り当てを選択す
る。以上の割り当てが終った状熊において、残りの割り
当ての組はl7通り存在する。このうち、割り当て可能
個数の限度を越えない割り当ては(乗算6,制御ステッ
プ3),(乗算8,制御ステップ3),(加算9,制御
ステップ2),(加算9,制御ステップ3),(加算
9,制御ステップ4),(加算l0,制御ステップ
1),(加算l0,制御ステップ2),(加算l0,制
御ステップ3),(比較演算l1,制御ステップ2),
(比較演算l1,制御ステップ3),(比較演算l1,
制御ステップ4)のll通りである。このうち、自由度
の総和の減少が最も少ない割り当ては、(乗算6,制御
ステップ3)である。この割り当てを行った時の自由度
の総和の減少はlである。
【0018】このとき、乗算6は制御ステップ2に割り
当てたとしても、演算5,6,7の間の半順序関係を壊
すことはない。しかし、制御ステップ2には既に乗算が
一つ割り当てられているために、乗算6は制御ステップ
2に割り当てられることなく、制御ステップ3に割り当
てられる。このように本実施例においては、各制御ステ
ップに同一種類の演算は可能な限り一つずつ割り当てて
いくため、ひとつの制御ステップに同一種類の演算が集
中することが避けられ、最終的に必要な演算器の個数を
少なく抑えることがてきる。
【0019】以下同様に、(加算9,制御ステップ
4),(加算l0,制御ステップl),(比較演算l
1,制御ステップ4)の割り当てを選択する。以上の割
り当てが終った状熊において、残りの割り当ての組は
(乗算2,制御ステップl),(乗算5,制御ステップ
l),(乗算5,制御ステップ2),(乗算8,制御ス
テップl),(乗算8,制御ステップ2),(乗算8,
制御ステップ3)の6通り存在する。しかし、これらの
乗算の割り当てはいずれも割り当て可能個数1の限度を
越えるものであるので割り当てられない。このように、
割り当てられる制御ステップが決定されていない演算が
存在し、かつ、割り当て可能個数(現在の場合には割り
当て可能個数1)を越えない割り当ての組が存在しない
場合には、割り当て可能個数にlを加える(現在の場合
には割り当て個数2とする)。このとき、前述の6通り
の割り当ての組はいずれの割り当てを行なった場合に
も、割り当て可能個数の限度を越えることはない。そこ
で、この6通りのうち、自由度の総和の減少が最も少な
い、(乗算2,制御ステップl)の割り当てを選択す
る。以下同様にして、(乗算5,制御ステップ2),
(乗算8,制御ステップ3)の順に割り当てを選択し、
図4に示すように演算処理を各制御ステップに配置しス
ケジュール決定の処理を終了する。
【0020】次に図1のスケジュール決定装置102の
一般的な動作について図5のフローチャートを参照して
さらに説明する。ただし各記号は下記のことを表す。
【0021】i ・・・・・・ 演算の番号 j ・・・・・・ 演算の種類の番号 k ・・・・・・ 制御ステップの番号 f(i)・・・・ 番号iで示される演算の種類 c ・・・・・・ 同一制御ステップに割り当てる同一
種類の演算の個数の限度 xjk ・・・・・ k番目の制御ステップに割り当てら
れたj番目の種類の演算の個数 (i,j)・・・ 番号iの演算を制御ステップkに割
り当てる割り当ての組 最初に、c=lに設定し、すべてのj,kに対するxjk
を0とする(ステップS1)。割り当てられる制御ステ
ップが決定されていない演算が存在するか否かを判定す
る(ステップS2)。割り当てられる制御ステップが決
定されていない演算が存在する場合には、さらにx
f(i)k≦cなる割り当ての組(i,k)が存在するか否
か判定する(ステップS3)。xf(i)k≦cなる割り当
ての組(i,k)が存在する場合には、xf(i)k≦cな
るすべての割り当ての組(i,k)に対し、その割り当
てを選択したときの自由度の減少を計算し(ステップS
4)、その中から、自由度の減少がもっとも少なくなる
割り当ての組を選択し、選択した割り当ての組(i,
k)についてxf(i)kにlを加え(ステップS5)、ス
テップS2に戻る。
【0022】ステップS3において、割り当てられる制
御ステップが決定されていない演算が存在し、xf(i)k
≦cなる割り当ての組(i,k)が存在しないときは、
cにlを加え(ステップS6)、ステップS1に戻り、
前述の処理を繰り返す。ステップS2において、割り当
てられる制御ステップが決定されていない演算が存在し
ないときには、スケジュール決定の処理を終了する。
【0023】
【発明の効果】以上説明したように本発明は、同一制御
ステップに配分される同一演算処理の数は最小とされて
いることにより、演算器はその最小の数に合わせればよ
く最小となる。また、可能な限り各制御ステップに同一
種類の演算をひとつずつ割り当てていくという手順があ
るため、同じ制御ステップに演算が集中することが回避
されている。さらに、制御ステップに割り当てることが
できる演算が複数あるときは、演算の自由度の減少が可
能な限り小さくなるような割り当てを優先的に行なうこ
とにより、割り当ての早い段階で演算の自由度を制限し
やむなく同一ステップに演算が集まってしまうというこ
とを積極的に回避できる。これらのことから明らかなよ
うに、本発明は、同一制御ステップに演算が集中するこ
とを回避でき、最終的に必要となる演算器数を低く抑え
るスケジューリング方法を提供できる。
【図面の簡単な説明】
【図1】本発明のスケジューリング方法の一実施例が適
用されたスケジュール決定システムを示すブロック図で
ある。
【図2】図1の入力装置に与えられた一連の処理すべき
演算の具体例を模式的に示すデータフローグラフであ
る。
【図3】図2のデータフローグラフを自由度を含めて表
形式で示した図である。
【図4】図2のデータフローグラフで示された各演算
が、本発明の実施例により各制御ステップに配分された
結果を表形式で示した図である。
【図5】本発明のスケジューリング方法の一実施例を示
すフローチャートである。
【符号の説明】
101 入力装置 102 スケジュール決定装置 103 結果出力装置 104 表示装置 S1〜S6 ステップ
フロントページの続き (56)参考文献 特開 平5−266129(JP,A) 特開 平3−102571(JP,A) 池田充郎、宮崎敏明,”メモリ割り付 け制約を考慮したスケジュールリング手 法”,情報処理学会研究報告(93−AR C−98),平成5年1月,第93巻,第6 号,p.65−72 (58)調査した分野(Int.Cl.7,DB名) G06F 17/50 JICSTファイル(JOIS)

Claims (3)

    (57)【特許請求の範囲】
  1. 【請求項1】 時間の経過に従って順次実行されるべき
    制御ステップについて、その総数が与えられ、制御ステ
    ップで実行される演算処理には時間的な半順序関係が規
    定されている半導体集積回路の設計を行なうスケジュー
    リング方法において、 前記演算処理のうち同一の制御ステップで実行される同
    一種類の演算処理の数が最小となるように、前記演算処
    理を各制御ステップに配分する割り当て手順を有するこ
    とを特徴とするスケジューリング方法。
  2. 【請求項2】 前記割り当て手順においては、前記半順
    序関係を維持しつつ同一種類の演算を、前記配分の自由
    度を減少させない順に従い、また、与えられた割り当て
    可能数の範囲で、各制御ステップに各演算を配分し、割
    り当て可能数の範囲では配分不可能な種類の演算が発生
    したときは、割り当て可能数を1増加させ、配分されず
    に残された演算の配分を繰り返す請求項1記載のスケジ
    ューリング方法。
  3. 【請求項3】 前記割り当て手順において与えられる割
    り当て可能数の初期値は1である請求項1記載のスケジ
    ューリング方法。
JP02037793A 1993-02-08 1993-02-08 半導体集積回路における処理動作のスケジューリング方法 Expired - Fee Related JP3180984B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP02037793A JP3180984B2 (ja) 1993-02-08 1993-02-08 半導体集積回路における処理動作のスケジューリング方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP02037793A JP3180984B2 (ja) 1993-02-08 1993-02-08 半導体集積回路における処理動作のスケジューリング方法

Publications (2)

Publication Number Publication Date
JPH06236415A JPH06236415A (ja) 1994-08-23
JP3180984B2 true JP3180984B2 (ja) 2001-07-03

Family

ID=12025363

Family Applications (1)

Application Number Title Priority Date Filing Date
JP02037793A Expired - Fee Related JP3180984B2 (ja) 1993-02-08 1993-02-08 半導体集積回路における処理動作のスケジューリング方法

Country Status (1)

Country Link
JP (1) JP3180984B2 (ja)

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
池田充郎、宮崎敏明,"メモリ割り付け制約を考慮したスケジュールリング手法",情報処理学会研究報告(93−ARC−98),平成5年1月,第93巻,第6号,p.65−72

Also Published As

Publication number Publication date
JPH06236415A (ja) 1994-08-23

Similar Documents

Publication Publication Date Title
JP2564344B2 (ja) 半導体集積回路の設計方式
JP3416877B2 (ja) タスクを並列処理するための装置及び方法
US7277960B2 (en) Incorporating constraints and preferences for determining placement of distributed application onto distributed resource infrastructure
CN109544347B (zh) 尾差分配方法、计算机可读存储介质及尾差分配系统
JP3180984B2 (ja) 半導体集積回路における処理動作のスケジューリング方法
JP2008171153A (ja) タスク管理装置
JP2002269162A (ja) 動作合成方法
JP3602697B2 (ja) 論理回路設計支援システム
JPH05165397A (ja) スケジューリング装置
JP3092550B2 (ja) 処理フロー進捗管理システム及び処理フロー進捗管理方法
JP3323738B2 (ja) ボリューム・データ計算方法及び装置並びにボリューム・データ可視化方法及び装置
JP3017300B2 (ja) ファジー推論装置
JP2831717B2 (ja) データパス表示装置
US5870603A (en) Method and system for storing exponent codes in a multi-processor computer to produce putputs according to an execution schedule
JP3223530B2 (ja) データ転送命令生成処理方法
JP3964483B2 (ja) 集積回路の論理シミュレーション方法
JP3536362B2 (ja) 描画データ生成方法
JP2877086B2 (ja) 回路図面生成装置及び回路図面生成方法
JPH10289332A (ja) シミュレーションにおけるメッシュ再分割方法
JP4470110B2 (ja) 高位合成方法およびシステム
JPH1153325A (ja) 負荷分散方法
JP2831742B2 (ja) アーキテクチャ合成システム
Kavianpour et al. A systematic approach for mapping application tasks in hypercubes
JPH0782440B2 (ja) 論理合成の演算割り当て方法
JPH11272641A (ja) レジスタ生成方法、レジスタ生成装置およびレジスタ生成プログラムを記録した記録媒体

Legal Events

Date Code Title Description
LAPS Cancellation because of no payment of annual fees