JP3998904B2 - 論理回路の設計方法、論理回路の設計支援システム、及びコンピュータ読取り可能な記録媒体 - Google Patents
論理回路の設計方法、論理回路の設計支援システム、及びコンピュータ読取り可能な記録媒体 Download PDFInfo
- Publication number
- JP3998904B2 JP3998904B2 JP2000279734A JP2000279734A JP3998904B2 JP 3998904 B2 JP3998904 B2 JP 3998904B2 JP 2000279734 A JP2000279734 A JP 2000279734A JP 2000279734 A JP2000279734 A JP 2000279734A JP 3998904 B2 JP3998904 B2 JP 3998904B2
- Authority
- JP
- Japan
- Prior art keywords
- circuit
- logic
- candidate
- algorithm
- grouping
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/30—Circuit design
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Evolutionary Computation (AREA)
- Geometry (AREA)
- Software Systems (AREA)
- Design And Manufacture Of Integrated Circuits (AREA)
Description
【発明の属する技術分野】
本発明は、論理回路の設計方法、論理回路の設計支援システム、及びコンピュータ読取り可能な記録媒体に係り、ハードウェア記述言語による論理回路記述に基づく論理合成の最適化に適用して有効な技術に関する。
【0002】
【従来の技術】
半導体集積回路の論理設計では論理規模や集積度の増大に伴って、C言語などのプログラミング言語に類似するVHDL(Verilog Hardware Description Language)等のハードウェア記述言語が用いられる。ハードウェア記述言語で記述された論理回路記述に対して論理合成の処理が行なわれることにより、例えばゲートレベルでの論理回路が得られる。このとき、半導体集積回路のチップ全体を一括で論理合成することは、規模的に若しくは計算機能力上、不可能であるため、分割のオーバーヘッドが出来るだけ少ない範囲で出来るだけ小さな単位に論理合成処理を分割する必要がある。この分割は、論理の独立性が高い範囲で分割して論理合成可能な規模となればよいが、論記規模を小さくして論理合成を最適化していかなければなならないから、実際には、更に小さく分割する必要がある。また、分割した単位を論理合成する際には、いくつかのアルゴリズム候補から最適なものを選択し適用する必要がある。実際の論理合成では、論理分割と最適化されたアルゴリズム候補の選択が絡み合い、その解決の困難さを増大させており、これに対し多くは、人手による試行錯誤で対応していた。
【0003】
従来、人間が経験的に行っている判断手法をプロセス制御等に取り入れた技術として、ファジー推論をシステムの設計支援に採用した特開平3−265974号、ファジー推論を制御システムの最適性判定に適用した特開平4−70906号の記載がある。
【0004】
【発明が解決しようとする課題】
しかしながら、論理合成に際して論理分割とアルゴリズム候補の選択という相互に複雑に関連する事象の解決に多くを人手による試行錯誤で対応していたのでは、これにかかる工数や期間の増加の他、合成結果のばらつきも大きくなるとい問題点のあることが本発明者によって見出された。
【0005】
本発明者は、人間が経験的に行っている発見的最適化に近い自動化手法を論理合成に適用することについて検討してきたが、前記ファジー推論を用いた従来技術は、それに対する着眼すら与えるものではなかった。
【0006】
本発明の目的はハードウェア記述言語による論理回路記述に対する論理合成に要する期間を短縮可能な論理回路の設計方法、論理回路の設計支援システム、及び論理回路の設計支援プログラムを記録したシステムコンピュータ読取り可能な記録媒体を提供することにある。
【0007】
本発明の別の目的は、ハードウェア記述言語による論理回路記述に対する論理合成結果の属人的なばらつきを低減可能な論理回路の設計方法、論理回路の設計支援システム、及び論理回路の設計支援プログラムを記録したシステムコンピュータ読取り可能な記録媒体を提供することにある。
【0008】
本発明の更に別の目的は、ハードウェア記述言語による論理回路記述に対する論理合成を介して設計さる半導体集積回路の性能向上に寄与することが可能な論理回路の設計方法、論理回路の設計支援システム、及び論理回路の設計支援プログラムを記録したシステムコンピュータ読取り可能な記録媒体を提供することにある。
【0009】
本発明の前記並びにその他の目的と新規な特徴は本明細書の記述及び添付図面から明らかになるであろう。
【0010】
【課題を解決するための手段】
本願において開示される発明のうち代表的なものの概要を簡単に説明すれば下記の通りである。
【0011】
〔1〕本発明は、ファジー推論と遺伝的アルゴリズムとを組み合わせることで、人間が経験的に行っている発見的最適化に近い自動化手法を、ハードウェア記述言語による論理回路記述に対する論理合成に適用する。すなわち、ハードウェア記述言語による論理回路記述で与えられる複数の回路ブロックの最適化アルゴリズム候補を、回路ブロックのハミング距離を考慮するようなファジー推論を用いて判定する(第1処理)。前記第1処理で判定された最適化アルゴリズム候補の共通な回路ブロックを、回路ブロック相互間の結合度を考慮するようなファジー推論を用いてグループ化する(第2処理)。ファジー推論によるグループ化の結果はアルゴリズム候補や結合度という点で特徴の明らかな回路ブロックに対する結果であり、前記特徴の比較的不明確な回路ブロックはグループ化されずに或いは別の手法で暫定的にグループ化されて残る。そのような特徴の不明確な回路ブロックに対するグループ化の最適化を進めるために、前記第2処理によるグループ化の結果を初期状態に反映して前記複数の回路ブロックのグループ化を遺伝的アルゴリズムによって最適化する第3処理を行なう。
【0012】
本発明を更に詳しい態様に即して説明する。ハードウェア記述言語による論理回路記述で与えられる複数の回路ブロック(例えばalwaysブロック又はfunctionブロック等で規定される回路ブロック)に対しファジー推論により統合すべき初期値を決定する。ファジー推論に使用するメンバシップ関数は、第1に、各回路ブロックの真理値表から得られるハミング距離を考慮した指数と最適化アルゴリズム候補との相関を規定する関数である。例えば、ハミング距離が回路ブロックの信号数に一致する論理はインバーターであり、信号数の1/2に近い論理はEOR(排他的論理和)に近く、それ以外はAND−ORに近いと特徴づけられる。前記指数として、例えば、回路ブロックの状態数S、回路ブロックの入力信号数N、回路ブロックの出力信号数M、入力信号のi番目と出力信号のj番目のハミング距離Hijを用いた、Σ|Hij−S/2|/(N*M*S/2)で与えられる平均ハミング距離指数を採用することが可能である。メンバシップ関数は、第2に回路ブロック相互間における入出力信号の一致性から得られる結合度と回路ブロックに対する統合可否との相関を規定する関数である。それらメンバシップ関数に従い、回路ブロックに最適化アルゴリズム候補を割り当て、同一アルゴリズムを候補に持つものの内、結合度が高いものを論理合成において統合すべき回路ブロックとしてグループ化する。
【0013】
そして、前記統合すべき回路ブロックとしてグループ化された結果を個体の初期状態に反映して前記複数の回路ブロックのグループ化を遺伝的アルゴリズムによって最適化する。各個体は例えば、統合した回路ブロックとアルゴリズム候補との対をデータとし、統合した回路ブロックによって表現される論理式の変数の数をV、論理段数をS及び論理規模に従い増加する合成負荷をLとするときV*S*Lを評価関数とする(記号*は乗算を意味する)。上記評価関数による評価の良い個体を複数個選び、選ばれた複数の個体の遺伝子の共通部分に対して遺伝確立を上げるように世代を重ね、評価がある値に達したときの個体が求める最適解となる。
【0014】
上記遺伝的アルゴリズムによる最適化処理を経て導出された結果は、合成可能な論理規模内できるだけオーバーヘッドが少なくなる分割であり、同時にそのブロックに対する最適化アルゴリズムも決定されているため、その結果に従えば、即座に論理合成結果を得ることが可能になる。さらに、ハードウェア記述言語による論理回路記述に対する論理合成に要する期間の短縮、ハードウェア記述言語による論理回路記述に対する論理合成結果の属人的なばらつきの低減が可能になる。そして、ハードウェア記述言語による論理回路記述に対する論理合成を介して設計さる半導体集積回路の性能向上に寄与することが可能である。
【0015】
〔2〕上記論理回路の設計方法は、入力手段、記憶手段、及び前記入力手段からの入力情報を利用し前記記憶手段を用いて演算処理を行なうデータ処理手段を有する論理回路の設計支援システムで実現することが可能である。論理回路の設計支援システムにおいて、前記入力手段はハードウェア記述言語による論理回路記述データを入力可能である。前記データ処理手段は、前記第1乃至第3処理をを実行可能である。
【0016】
〔3〕上記論理回路の設計方法をコンピュータに実行させるプログラムはコンピュータ読取り可能な記録媒体で提供してよい。即ち、前記記録媒体は第1乃至第3処理を実行させる、論理回路の設計支援プログラムを記録したものである。これにより、エンジニアリングワークステーションやパーソナルコンピュータで上記論理回路の設計方法を実現することが容易になる。
【0017】
【発明の実施の形態】
図1には本発明に係る論理回路の設計方法がフローチャートにて例示される。同図に示される設計方法は、VHDLなどのハードウェア記述言語による論理回路記述に対する論理合成を最適化する方法であり、ファジー推論と遺伝的アルゴリズムを組み合わせることで、人間が経験的に行っている発見的最適化に近い自動化手法を有するものである。この方法は、ハードウェア記述言語による論理回路記述で与えられる複数の回路ブロックに対しファジー推論により統合すべき初期値を決定するファジー推論による初期値決定処理(S1〜S6)と、前記統合すべき回路ブロックとしてグループ化された結果を個体の初期状態に反映して前記複数の回路ブロックのグループ化を遺伝的アルゴリズムによって最適化する遺伝的アルゴリズムによる最適化処理(S7〜S13)に大別される。
【0018】
前記ファジー推論による初期値決定処理は、ハードウェア記述言語による論理回路記述で与えられる回路ブロックのアルゴリズム候補を、回路ブロックのハミング距離を考慮するようなファジー推論を用いて判定する第1処理(S1〜S3)と、前記第1処理で判定された最適化アルゴリズム候補の共通な回路ブロックを、回路ブロック相互間の結合度を考慮するようなファジー推論を用いてグループ化する第2処理(S4〜S6)とに分類できる。ファジー推論は、曖昧さを表現したメンバーシップ関数若しくはルールを用いた推論であり、その推論結果には曖昧な結果が含まれることになる。具体的には、ファジー推論によるグループ化の結果はアルゴリズム候補や結合度という点で特徴の明らかな回路ブロックに対する結果であり、前記特徴の比較的不明確な回路ブロックはグループ化されずに或いは別の手法で暫定的にグループ化されて残る。そのような特徴の不明確な回路ブロックに対するグループ化の最適化を進めるのが前記遺伝的アルゴリズムによる最適化処理(S7〜S13)である。遺伝的アルゴリズムとは一般的に、生物の遺伝メカニズムである、遺伝子の交配、突然変異、適応度によって個体を選ぶ自然淘汰などをモデル化し、コンピュータシミュレーション等で問題解決を図ろうとする手法であり、ここでは、前記第2処理によるグループ化の結果を初期状態に反映して前記複数の回路ブロックのグループ化を遺伝的アルゴリズムによって最適化する第3処理(S7〜S13)として採用されている。以下で図1の処理フローを詳細に説明する。
【0019】
《ブロック定義》
図1の「ブロック定義」S1の処理は、VHDLなどのハードウェア記述言語による論理回路記述で与えられる複数の回路ブロックを定義する。例えば論理回路記述におけるalwaysブロック又はfunctionブロック等の記述部分から回路ブロックを定義する。
【0020】
図2にはRTL記述による論理回路記述の例が示される。ここでは、functionブロックとしてのassign文と、alwaysブロックとしてのalways文が例示され、前者は図3の(A)に例示される1ビット全加算器のような加算器を回路ブロックとして定義し、後者は図3の(B)に例示される4入力セレクタのようなセレクタを回路ブロックとして定義する。
【0021】
《ハミング距離計算》
図1の「ハミング距離計算」S2の処理では、ステップS1で定義された回路ブロックに対してハミング距離の計算を行なう。ハミング距離は、回路ブロックにおける入出力状態の相違の度合いを示すパラメータであり、回路ブロックの真理値表から得る。図4の(A)には図3(A)の加算器の真理値表が示され、これに対するハミング距離は図4の(B)に例示される。ハミング距離は真理値表の各信号間の論理値1/0の異なる個数として把握することも可能であるが、EOR系アルゴリズムを特殊なセレクタなどと正確に見分けられるようにするために前記個数を真理値表の状態数Sの1/2との差で表すようにする。例えば入力Cinと出力Z[1]との間で、双方の信号の論理値が相違する組合せは2通りであり、状態数は8であるから、そのハミング距離は2となる。図5の(A)には図3(B)のセレクタの真理値表が示され、これに対するハミング距離は図5の(B)に例示される。例えば入力S1と出力OUTとの間で、双方の信号の論理値が相違する組合せは4通りであり、状態数は8であるから、そのハミング距離は4となる。前記ハミング距離から回路の性質を把握することが可能である。例えば、ハミング距離が回路ブロックの信号数に一致する論理はインバーターであり、信号数の1/2に近い論理はEOR(排他的論理和)系に近く、それ以外はAND−OR系に近いと特徴づけられる。
【0022】
前記ハミング距離は回路ブロックのアルゴリズム候補を決定するときの指数に適用する。即ち、ファジー推論により回路ブロックのアルゴリズム候補を決定するために使用するメンバシップ関数として、各回路ブロックの真理値表から得られるハミング距離を考慮した指数とアルゴリズム候補との相関を規定する関数を用いる。例えば、ここでは、前記指数として、回路ブロックの状態数S、回路ブロックの入力信号数N、回路ブロックの出力信号数M、及び入力信号のi番目と出力信号のj番目のハミング距離Hijを用いた、Σ|Hij−S/2|/(N*M*S/2)で与えられる平均ハミング距離指数を採用する。図4の(C)には図3の(A)に示される加算器の平均ハミング距離指数が例示される。図5の(C)には図3の(B)に示されるセレクタの平均ハミング距離指数が例示される。
【0023】
《最適化アルゴリズム候補群決定》
図1の「最適化アルゴリズム候補群決定」S3の処理では、前記平均ハミング距離指数を用いて回路ブロックの最適化アルゴリズム候補を決める。
【0024】
図6には前記平均ハミング距離指数とアルゴリズム候補との相関を規定するアルゴリズム候補選択の為のメンバシップ関数が例示される。この例は、回路ブロックがEOR系の回路であるか否かで、AND−EOR系最適化とAND−OR系最適化の判定を目的としたものである。AND−EOR系アルゴリズムは加算器に代表されるようにEORを用いた種々の演算系回路を総称することができる。AND−OR系アルゴリズムはセレクタに代表されるようにORを用いた種々のデータ・トランスファ系回路を総称することができる。図6において、判定対象とされる回路ブロックの平均ハミング距離指数がAND−EOR系最適化の領域(例えば0.3未満)にあれば、その回路ブロックの最適化アルゴリズム候補をAND−EOR系とする。一方、判定対象とされる回路ブロックの平均ハミング距離指数がAND−OR系最適化の領域(例えば0.65以上)にあれば、その回路ブロックの最適化アルゴリズム候補をAND−OR系とする。判定対象とされる回路ブロックの平均ハミング距離指数が上記最適化以外の場合には、一部の回路ブロックを暫定的にどちらかのアルゴリズムに割り振り、或いはその他のアルゴリズムとする。
【0025】
《回路ブロックのグループ化》
ここでは、先ず各回路ブロックの入出力信号リストを作成する(S4)。このリストを用いて回路ブロック間の入出力の結合度を決定する(S5)。結合度とは回路ブロック相互間における信号の一致性として把握することが可能である。例えば、共通信号数(回路ブロック間信号数)/全入出力信号数を結合度とし、値が大きいほど結合度が高いと判定する。
【0026】
図7には前記結合度の例が示される。図7の(A)において回路ブロックBLK1,BLK2,BLK3は前記最適化アルゴリズム候補群決定処理(S3)で判定された最適化アルゴリズム候補の共通な複数の回路ブロックの一例である。IN[0:7]は8ビットの入力データ、OUT1[0:7]、OUT2[0:7]、OUT[0:7]は夫々8ビットの出力データ、CTL1,CTL2,SELは夫々1ビットの制御信号である。図7の(B)には図7の(A)における回路ブロックの各種組合せと前記結合度とが例示される。
【0027】
最適化アルゴリズム候補の共通な複数の回路ブロックの各種組み合わせに対して、当該回路ブロックを統合してグループ化するか否かは図8に例示されるメンバシップ関数を用いて判定する。例えば図7の(B)の結合度に対し、図8のメンバシップ関数を用いていて統合可否を判定すると、回路ブロックBLK1とBLK3、又はブロックBLK1とBLK2が、統合化されるべき回路ブロックとしてグループ化される。
【0028】
このように、平均ハミング距離指数を用いて回路ブロックに最適化アルゴリズム候補が割り当てられ、同一アルゴリズムを最適候補に持つもののうち結合度の高いものは論理合成において統合すべき回路ブロックとしてグループ化される。この結果は統合ブロックの初期値とされ(S6)、次の遺伝的アルゴリズムによる個体の初期状態決定に反映される。
【0029】
《遺伝的アルゴリズムによる最適化》
遺伝的アルゴリズムでは、解の候補としての個体を生成し、個体に対して評価関数を用いて適応度を評価し、評価の高い個体を選び、選ばれた個体に対して交配及び突然変異などの操作を加え、次の世代の個体集団を生成し、それらを繰り返して世代を重ねるにつれて、適応度の高い個体が増え、同時に、より最適解に近い個体が現れる確立も高くなり、評価値がある一定値に達したときの個体を求める最適解とする、ものである。
【0030】
図1では、前記統合すべき回路ブロックとしてグループ化された結果を個体の初期状態に反映して前記複数の回路ブロックのグループ化を遺伝的アルゴリズムによって最適化する。各個体は例えば、前述の統合すべきとしてグループ化された回路ブロックとそれに対応するアルゴリズム候補との対を遺伝子データとして多数有する。個体の数は通常複数個であることが望ましく、最適化アルゴリズムの割り当てが行なわれなかった回路ブロックに対して種々の対応でグループ化すべき状態を想定して、当初多数の個体を生成すればよい。何れの個体においても、前記ファジー推論で統合すべき回路ブロックとしてグループ化された結果についての遺伝子が含まれている。それら個体に対する適応度判定には、例えば、統合すべき回路ブロックによって表現される論理式の変数の数V、論理段数S及び論理規模に従い増加する合成負荷Lを考慮し、V*S*Lを評価関数として用いる。ステップS6では統合すべき回路ブロック毎に評価関数を計算する。
【0031】
図9には統合すべき回路ブロックグループの論理式と論理規模に対する合成負荷を例示する。図9の(A)において、記号&は論理積、記号|は論理和を意味する。図9の(A)に例示される論理式と、図9の(B)に示される論理規模に対する合成負荷とに従えば、その回路ブロックグループの評価関数の値は4(変数の数)*3(論理段数)*1.1(合成負荷)=13.2である。
【0032】
図1のステップS9では前記評価関数に基づいて評価の高い個体か否かを判定し、評価の高いとして選ばれた個体に対して交配及び突然変異などの操作のアルゴリズムを選択し(S10)、選択したアルゴリズムにしたがって次の世代のどの個体にどの遺伝子を伝達させるか、或いはどの回路ブロックを統合するかを決定する(S11)。前記ステップS9〜S11の処理を同一世代の全ての個体に対して実施し(S12)、その後は、世代を一つ進め(S13)、ステップS7〜S13の処理を繰り返す。この例では、処理の世代数が一定値に到達したときに残った個体に最適解が含まれており、例えばその最適解は、最終世代におけるステップS9の評価が最も高い個体である。
【0033】
図10には遺伝情報の伝達の様子が模式的に例示される。遺伝情報の伝達においては、ファジー推論により最適化アルゴリズムが割当てられ統合化された回路グループは、世代を重ねても原則として分割しないようにするが、数世代にわたる統合化の結果、他のグループとの関係により最大論理規模を超えた場合にだけ分割を行なう。個体間の回路ブロックの統合/分割は乱数的に行なうが、評価の良い複数の個体の遺伝子の共通部分は遺伝確立を上げるようにする。突然変異は、例えば10%を超えない範囲でランダムに生じさせる。
【0034】
上記遺伝的アルゴリズムによる最適化処理を経て導出された結果は、合成可能な論理規模内で出来るだけオーバーヘッドが少なくなる分割であり、同時にその回路ブロックに対する最適化アルゴリズム候補も決定されているため、その結果に従えば、即座に論理合成結果を得ることが可能になる。さらに、人手による試行錯誤が無いから、ハードウェア記述言語による論理回路記述に対する論理合成に要する期間の短縮、ハードウェア記述言語による論理回路記述に対する論理合成結果の属人的なばらつきの低減が可能になる。そして、ハードウェア記述言語による論理回路記述に対する論理合成を介して設計さる半導体集積回路の性能向上に寄与することが可能である。
【0035】
図11には上記論理回路の設計方法を実現する論理回路の設計支援システムが例示される。同図に示されるシステムはエンジニアリングワークステーション又はパーソナルコンピュータシステムなどによって実現され、入力手段としてのキーボード1、表示手段としてのディスプレイ2、CPU3A及メインメモリ3Bなどが実装されたCPUボードやインタフェースボードを有するデータ処理手段としてのコンピュータユニット3、補助記憶装置4、並びにターミナルアダプタやモデム等の通信インタフェース回路5を有して成る。通信インタフェース回路5も入力手段の一例を成す。補助記憶装置4は、特に制限されないが、磁気ディスクを固定的に備えたハードディスク装置、フラッシュメモリーカードが着脱可能なメモリカード装置、フロッピーディスクに対してリード・ライト可能なフロッピーディスクドライブ装置、CD−ROMをリード可能なCD−ROMドライブ装置、MOディスクに対してリード・ライト可能なMOドライブ装置等によって構成される。4Aは補助記憶装置4の記録媒体を総称する。補助記憶装置4も入力手段の一例を成す。前記通信インタフェース回路5は公衆回線網6等に接続可能にされる。CPU3Aは、特に制限されないが、記録媒体4Aから読み取ったプログラム又は通信インタフェース手段5を介してダウンロードしたプログラムをメインメモリ3B等にロードして実行する。プログラムの実行に必要なデータは、同じく記録媒体4から読み込み、或いは通信インタフェース5を利用してダウンロードし、更にはキーボード1より入力する。
【0036】
論理回路の設計支援システムにおいて、前記入力手段としての補助記憶装置4又は通信インタフェース回路5は前記ハードウェア記述言語による論理回路記述データを入力可能である。前記コンピュータユニット3は、入力した論理回路記述データを用いて前記図1に例示された論理合成の最適化処理を行なう。
【0037】
前記コンピュータユニットが前記論理合成の最適化処理を行なう為の動作プログラムは、コンピュータ読取り可能な記録媒体4Aで提供される。このプログラムは、図1で説明した処理をコンピュータユニット3が実行するために必要なオブジェクトコードによって構成されている。記録媒体4Aを介して必要なプログラムを提供することにより、半導体集積回路の論理設計の為の論理合成の最適化をコンピュータで実現することが容易になる。
【0038】
図12には論理回路の設計支援システムにおけるデータなどの入出力状態に着目した説明が示される。論理回路の設計支援システム10にはハードウェア記述と、制御情報が入力され、更に動作プログラムがセットされ、その動作プログラムが実行されて、論理合成スクリプト若しくは合成結果が出力される。図13にはゲートレベルの論理記述による論理合成出力例が示される。同図に示される具体的な記述は前記論理回路の具体例とは相関していない。
【0039】
以上本発明者によってなされた発明を実施の形態に基づいて具体的に説明したが、本発明はそれに限定されるものではなく、その要旨を逸脱しない範囲において種々変更可能であることは言うまでもない。
【0040】
例えば、前述の例では結合度は共通信号数(回路ブロック間信号数)/全入出力信号数とし、値が大きいほど結合度が高いと判定するものとしたが、結合後の入出力信号数/Σブロック毎の入出力信号数として小さい方が結合度が高いと考えるなどのバリエーションも可能である。
【0041】
メンバシップ関数や評価関数は他の項目を追加することでさらにチューニングすることも可能である。さらに、ハミング距離の利用形態、結合度の評価の仕方、等に衝いても適宜変更することができる。また、ファジー推論を用いて行なうグループ化は、最適アルゴリズム候補が割当てられた回路ブロックに対してだけではなく、アルゴリズム候補の判定結果が比較的曖昧な回路ブロックに対しても、ファジー推論結果に従って実施してよい。当然なことであるが、ファジー推論によるアルゴリズム候補の判定結果が比較的曖昧な回路ブロックに対し、ファジー推論結果とは別の手法を用いて、或いはオペレータの指示に従って、暫定的なグループ化を行なって良いことは言うまでも無く、ここで明確化していおく。
【0042】
【発明の効果】
本願において開示される発明のうち代表的なものによって得られる効果を簡単に説明すれば下記の通りである。
【0043】
すなわち、上記遺伝的アルゴリズムによる最適化処理を経て導出された結果は、合成可能な論理規模内できるだけオーバーヘッドが少なくなる分割であり、同時にそのブロックに対するアルゴリズムも決定されているため、その結果に従えば、即座に論理合成結果を得ることが可能になる。さらに、ハードウェア記述言語による論理回路記述に対する論理合成に要する期間の短縮、ハードウェア記述言語による論理回路記述に対する論理合成結果の属人的なばらつきの低減が可能になる。そして、ハードウェア記述言語による論理回路記述に対する論理合成を介して設計さる半導体集積回路の性能向上に寄与することが可能である。その上、ハミング距離による論理の特徴評価や、遺伝的アルゴリズムで使用する評価関数等、従来漠然としたものを明確化して適用することにより、システム全体の自動化による試行錯誤数が飛躍的に減少する。
【図面の簡単な説明】
【図1】本発明に係る論理回路の設計方法を例示するフローチャートである。
【図2】RTL記述による論理回路記述を例示する説明図である。
【図3】論理回路記述によって特定される回路ブロック例として加算器及びセレクタを示す説明図である。
【図4】加算器の真理値表、ハミング距離、及び平均ハミング距離指数の説明図である。
【図5】セレクタの真理値表、ハミング距離、及び平均ハミング距離指数の説明図である。
【図6】平均ハミング距離指数とアルゴリズム候補との相関を規定するアルゴリズム候補選択の為のメンバシップ関数を例示する説明図である。
【図7】結合度の例を示す説明図である。
【図8】統合可否を判定するためのメンバシップ関数を例示する説明図である。
【図9】統合すべき回路ブロックグループの論理式と論理規模に対する合成負荷の傾向とを例示する説明図である。
【図10】遺伝情報の伝達の様子を模式的に示す説明図である。
【図11】本発明に係る論理回路の設計支援システムを例示するブロック図である。
【図12】論理回路の設計支援システムにおけるデータ等の入出力状態に着目した説明図である。
【図13】論理合成最適化の結果としてゲートレベルの論理記述による出力を例示する説明図である。
【符号の説明】
1 キーボード
2 ディスプレイ
3 コンピュータユニット
3A CPU
3B メインメモリ
4 補助記憶装置
4A 記録媒体
5 通信インタフェース
Claims (15)
- ハードウェア記述言語による論理回路記述で与えられる回路ブロックの最適化アルゴリズム候補を、回路ブロックにおける入出力状態の相違の度合を表すハミング距離を考慮した指数とアルゴリズム候補との相関に基づいて判定する第1処理と、
前記第1処理で判定された最適化アルゴリズム候補の共通な回路ブロックを、回路ブロック相互間における信号の一致性を考慮した結合度と回路ブロックに対する統合可否との相関に基づいてグループ化する第2処理と、
前記第2処理によるグループ化の結果を初期状態に反映して複数の回路ブロックのグループ化を遺伝的アルゴリズムによって最適化する第3処理と、をコンピュータがプログラムに従って実行することを特徴とする論理回路の設計方法。 - 前記指数は、回路ブロックの状態数S、回路ブロックの入力信号数N、回路ブロックの出力信号数M、及び入力信号のi番目と出力信号のj番目のハミング距離Hijを用いた、Σ|Hij−S/2|/(N*M*S/2)で与えられる平均ハミング距離指数であることを特徴とする請求項1記載の論理回路の設計方法。
- 前記指数とアルゴリズム候補との相関は、回路ブロックのアルゴリズム候補としてAND−EOR系候補、AND−OR系候補、それ以外の候補のうち、どれに最も近いかの確からしさを前記指数との関係で規定するメンバーシップ関数によって与えられることを特徴とする請求項2記載の論理回路の設計方法。
- 前記第3処理は、回路ブロックのグループ化による論理規模を考慮した評価関数を用いることを特徴とする請求項1記載の論理回路の設計方法。
- 前記第3処理は、回路ブロックのグループ化による論理の変数の数、論理段数、及び合成負荷を考慮した評価関数を用いることを特徴とする請求項4記載の論理回路の設計方法。
- 入力手段、記憶手段、及び前記入力手段からの入力情報を利用し前記記憶手段を用いて演算処理を行なうデータ処理手段を有し、
前記入力手段はハードウェア記述言語による論理回路記述データを入力可能であり、
前記データ処理手段は、前記論理回路記述データで与えられる回路ブロックの最適化アルゴリズム候補を、回路ブロックにおける入出力状態の相違の度合を表すハミング距離を考慮した指数とアルゴリズム候補との相関に基づいて判定する第1処理と、
前記第1処理で判定された最適化アルゴリズム候補の共通な回路ブロックを、回路ブロック相互間における信号の一致性を考慮した結合度と回路ブロックに対する統合可否との相関に基づいてグループ化する第2処理と、
前記第2処理によるグループ化の結果を初期状態に反映して複数の回路ブロックのグループ化を遺伝的アルゴリズムによって最適化する第3処理と、を実行可能であることを特徴とする論理回路の設計支援システム。 - 前記指数は、回路ブロックの状態数S、回路ブロックの入力信号数N、回路ブロックの出力信号数M、及び入力信号のi番目と出力信号のj番目のハミング距離Hijを用いた、Σ|Hij−S/2|/(N*M*S/2)で与えられる平均ハミング距離指数であることを特徴とする請求項6記載の論理回路の設計支援システム。
- 前記指数とアルゴリズム候補との相関は、回路ブロックのアルゴリズム候補としてAND−EOR系候補、AND−OR系候補、それ以外の候補のうち、どれに最も近いかの確からしさを前記指数との関係で規定するメンバーシップ関数によって与えられることを特徴とする請求項7記載の論理回路の設計支援システム。
- 前記データ処理手段は、前記第3処理において、回路ブロックのグループ化による論理規模を考慮した評価関数を用いることを特徴とする請求項6記載の論理回路の設計支援システム。
- 前記データ処理手段は、前記第3処理において、回路ブロックのグループ化による論理の変数の数、論理段数、及び合成負荷を考慮した評価関数を用いることを特徴とする請求項9記載の論理回路の設計支援システム。
- コンピュータに、
ハードウェア記述言語による論理回路記述で与えられる回路ブロックの最適化アルゴリズム候補を、回路ブロックにおける入出力状態の相違の度合を表すハミング距離を考慮した指数とアルゴリズム候補との相関に基づいて判定する第1処理と、
前記第1処理で判定された最適化アルゴリズム候補の共通な回路ブロックを、回路ブロック相互間における信号の一致性を考慮した結合度と回路ブロックに対する統合可否との相関に基づいてグループ化する第2処理と、
前記第2処理によるグループ化の結果を初期状態に反映して複数の回路ブロックのグループ化を遺伝的アルゴリズムによって最適化する第3処理と、を実行させるための論理回路の設計支援プログラムを記録したものであることを特徴とするコンピュータ読取り可能な記録媒体。 - 前記指数は、回路ブロックの状態数S、回路ブロックの入力信号数N、回路ブロックの出力信号数M、及び入力信号のi番目と出力信号のj番目のハミング距離をHijを用いた、Σ|Hij−S/2|/(N*M*S/2)で与えられる平均ハミング距離指数であることを特徴とする請求項11記載のコンピュータ読取り可能な記録媒体。
- 前記指数とアルゴリズム候補との相関は、回路ブロックのアルゴリズム候補としてAND−EOR系候補、AND−OR系候補、それ以外の候補のうち、どれに最も近いかの確からしさを前記指数との関係で規定するメンバーシップ関数によって与えられることを特徴とする請求項12記載のコンピュータ読取り可能な記録媒体。
- 前記第3処理は、回路ブロックのグループ化による論理規模を考慮した評価関数を用いることを特徴とする請求項11記載のコンピュータ読取り可能な記録媒体。
- 前記第3処理は、回路ブロックのグループ化による論理の変数の数、論理段数、及び合成負荷を考慮した評価関数を用いることを特徴とする請求項14記載のコンピュータ読取り可能な記録媒体。
Priority Applications (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2000279734A JP3998904B2 (ja) | 2000-09-14 | 2000-09-14 | 論理回路の設計方法、論理回路の設計支援システム、及びコンピュータ読取り可能な記録媒体 |
TW090118875A TWI229275B (en) | 2000-09-14 | 2001-08-02 | Design method for logic circuit, design support system for logic circuit and computer readable recording media |
US09/921,794 US6622292B2 (en) | 2000-09-14 | 2001-08-06 | Design method for logic circuit, design support system for logic circuit and readable media |
KR1020010049863A KR20020021318A (ko) | 2000-09-14 | 2001-08-20 | 논리회로의 설계방법, 논리회로의 설계지원 시스템, 및컴퓨터 판독 가능한 기록매체 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2000279734A JP3998904B2 (ja) | 2000-09-14 | 2000-09-14 | 論理回路の設計方法、論理回路の設計支援システム、及びコンピュータ読取り可能な記録媒体 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2002092055A JP2002092055A (ja) | 2002-03-29 |
JP3998904B2 true JP3998904B2 (ja) | 2007-10-31 |
Family
ID=18764698
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2000279734A Expired - Fee Related JP3998904B2 (ja) | 2000-09-14 | 2000-09-14 | 論理回路の設計方法、論理回路の設計支援システム、及びコンピュータ読取り可能な記録媒体 |
Country Status (4)
Country | Link |
---|---|
US (1) | US6622292B2 (ja) |
JP (1) | JP3998904B2 (ja) |
KR (1) | KR20020021318A (ja) |
TW (1) | TWI229275B (ja) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100579715B1 (ko) * | 2002-09-16 | 2006-05-15 | 학교법인 인하학원 | 유전자 알고리즘을 이용한 영상의 적응적인 전처리 기법 |
JP4393450B2 (ja) * | 2005-12-01 | 2010-01-06 | 株式会社東芝 | 論理回路モデル変換装置及び論理回路モデル変換プログラム |
US7475368B2 (en) * | 2006-01-20 | 2009-01-06 | International Business Machines Corporation | Deflection analysis system and method for circuit design |
US8302042B2 (en) * | 2006-07-24 | 2012-10-30 | Oasys Design Systems | Generating a convergent circuit design from a functional description using entities having access to the functional description and to physical design information |
CN107885910B (zh) * | 2017-10-23 | 2023-10-13 | 苏州大学 | 一种基于演化策略的近似电路逻辑综合优化方法 |
US11467851B1 (en) * | 2019-11-21 | 2022-10-11 | Synopsys, Inc. | Machine learning (ML)-based static verification for derived hardware-design elements |
Family Cites Families (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5146583A (en) * | 1987-09-25 | 1992-09-08 | Matsushita Electric Industrial Co., Ltd. | Logic design system for creating circuit configuration by generating parse tree from hardware description language and optimizing text level redundancy thereof |
US5040134A (en) * | 1989-05-26 | 1991-08-13 | Intel Corporation | Neural network employing leveled summing scheme with blocked array |
JPH0470906A (ja) | 1990-07-04 | 1992-03-05 | Hitachi Ltd | 制御装置 |
JPH03265974A (ja) | 1990-03-16 | 1991-11-27 | Hitachi Commun Syst Inc | 設計支援システム |
JP3187506B2 (ja) * | 1992-03-02 | 2001-07-11 | 株式会社東芝 | 論理回路設計支援装置 |
JP3193173B2 (ja) * | 1993-01-07 | 2001-07-30 | 株式会社東芝 | 論理回路設計装置 |
JP3424997B2 (ja) * | 1995-01-31 | 2003-07-07 | 富士通株式会社 | 回路設計装置 |
JPH0991321A (ja) * | 1995-09-28 | 1997-04-04 | Fujitsu Ltd | 論理回路の自動設計方法 |
US6014506A (en) * | 1995-10-31 | 2000-01-11 | Vlsi Technology, Inc. | Method and apparatus for improving engineering change order placement in integrated circuit designs |
JP3265974B2 (ja) | 1996-01-10 | 2002-03-18 | 三菱マテリアル株式会社 | 耐チッピング性のすぐれた表面被覆超硬合金製切削工具の製造法 |
US5673198A (en) * | 1996-03-29 | 1997-09-30 | Xilinx, Inc. | Concurrent electronic circuit design and implementation |
US5768479A (en) * | 1996-09-17 | 1998-06-16 | Cadence Design Systems, Inc. | Circuit layout technique with template-driven placement using fuzzy logic |
US6090151A (en) * | 1997-07-01 | 2000-07-18 | Motorola, Inc. | Electronic device parameter estimator and method therefor |
KR19990057936A (ko) * | 1997-12-30 | 1999-07-15 | 김영환 | 다중화기 방식의 필드-프로그래머블 게이트 어레이를 이용한 집적회로 설계를 위한 논리 함수 분할 방법 |
US6260178B1 (en) * | 1999-03-26 | 2001-07-10 | Philips Electronics North America Corporation | Component placement machine step size determination for improved throughput via an evolutionary algorithm |
-
2000
- 2000-09-14 JP JP2000279734A patent/JP3998904B2/ja not_active Expired - Fee Related
-
2001
- 2001-08-02 TW TW090118875A patent/TWI229275B/zh not_active IP Right Cessation
- 2001-08-06 US US09/921,794 patent/US6622292B2/en not_active Expired - Fee Related
- 2001-08-20 KR KR1020010049863A patent/KR20020021318A/ko not_active Application Discontinuation
Also Published As
Publication number | Publication date |
---|---|
KR20020021318A (ko) | 2002-03-20 |
US6622292B2 (en) | 2003-09-16 |
US20020032894A1 (en) | 2002-03-14 |
TWI229275B (en) | 2005-03-11 |
JP2002092055A (ja) | 2002-03-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Murillo et al. | Deep PeNSieve: A deep learning framework based on the posit number system | |
US8725734B2 (en) | Sorting multiple records of data using ranges of key values | |
Coello et al. | Automated design of combinational logic circuits using genetic algorithms | |
US20040025120A1 (en) | Pass-transistor logic circuit and a method of designing thereof | |
EP1475699B1 (en) | Multiplier | |
JP3998904B2 (ja) | 論理回路の設計方法、論理回路の設計支援システム、及びコンピュータ読取り可能な記録媒体 | |
Azizi et al. | A new hybrid method combining genetic algorithm and support vector machine classifier: Application to CAD system for mammogram images | |
Hanagandi et al. | A hybrid approach to global optimization using a clustering algorithm in a genetic search framework | |
CN110070182B (zh) | 适合人工智能的平台芯片及其制造和设计方法 | |
Dommaraju et al. | Identifying topological prototypes using deep point cloud autoencoder networks | |
US6460166B1 (en) | System and method for restructuring of logic circuitry | |
Beg et al. | Novel crossover and mutation operation in genetic algorithm for clustering | |
JP3949286B2 (ja) | テクノロジマッピング方法及び記憶媒体 | |
Suvarna Vani et al. | SMOTE based protein fold prediction classification | |
JP2000040106A (ja) | 生産システムの工程編成方法及び生産システムの工程編成装置並びに生産システムの工程編成プログラムを記録した記録媒体 | |
Das et al. | Multi-objective optimization based feature selection using correlation | |
Ercegovac | On digit-by-digit methods for computing certain functions | |
Czerwinski et al. | Synthesis of finite state machines for CPLDs | |
TWI828185B (zh) | 三維卷積運算裝置與三維卷積運算方法 | |
JP2000155680A (ja) | 判断規則修正装置及び判断規則修正方法 | |
EP0413831B1 (en) | Method of optimising logic circuit | |
Hassan et al. | Rule extraction based on rough set theory combined with genetic programming and its application to medical data analysis | |
Thirumalai et al. | Early Detection of Breast Cancer Through Optimized Genetic Based Support Vector Machine | |
Ji et al. | GSCNN: A genomic selection convolutional neural network model based on SNP genotype and physical distance features and data augmentation strategy | |
JP2568689B2 (ja) | 論理回路生成方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20040304 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20070116 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20070319 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20070508 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20070706 |
|
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: 20070731 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20070808 |
|
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: 20100817 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110817 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110817 Year of fee payment: 4 |
|
S111 | Request for change of ownership or part of ownership |
Free format text: JAPANESE INTERMEDIATE CODE: R313111 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110817 Year of fee payment: 4 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
LAPS | Cancellation because of no payment of annual fees |