JP2974900B2 - 自律進化型ハードウェア設計システム - Google Patents
自律進化型ハードウェア設計システムInfo
- Publication number
- JP2974900B2 JP2974900B2 JP5311724A JP31172493A JP2974900B2 JP 2974900 B2 JP2974900 B2 JP 2974900B2 JP 5311724 A JP5311724 A JP 5311724A JP 31172493 A JP31172493 A JP 31172493A JP 2974900 B2 JP2974900 B2 JP 2974900B2
- Authority
- JP
- Japan
- Prior art keywords
- hardware
- description
- specifications
- input
- unit
- 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
Classifications
-
- 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)
- 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)
- Stored Programmes (AREA)
- Design And Manufacture Of Integrated Circuits (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Description
【0001】
【産業上の利用分野】この発明は自律進化型ハードウェ
ア設計システムに関し、特に、人手によるハードウェア
設計によらず、使用目的に応じてハードウェア仕様が自
律的に進化・適合するような自律進化型ハードウェア設
計システムに関する。
ア設計システムに関し、特に、人手によるハードウェア
設計によらず、使用目的に応じてハードウェア仕様が自
律的に進化・適合するような自律進化型ハードウェア設
計システムに関する。
【0002】
【従来の技術】大規模集積回路(LSI)技術が進歩す
るにつれて、電子回路の応用範囲が広がり、多種多様な
大規模で複雑なハードウェアが必要とされるようになっ
てきている。このような複雑なハードウェアを人間が手
作業ですべて設計するのはほとんど不可能であるため、
種々の計算機援用設計(CAD)システムが作られてい
る。
るにつれて、電子回路の応用範囲が広がり、多種多様な
大規模で複雑なハードウェアが必要とされるようになっ
てきている。このような複雑なハードウェアを人間が手
作業ですべて設計するのはほとんど不可能であるため、
種々の計算機援用設計(CAD)システムが作られてい
る。
【0003】図6はそのようなCADシステムの一例を
示すブロック図である。図6に示したシステムを用いた
設計では、まず設計者がハードウェア記述言語(HD
L)を入力部21から入力して回路の動作を記述する。
なお、ここでHDLで回路の動作を記述するのは一例で
あり、回路の動作を記述するHDL以外にも、トランジ
スタ回路の接合を記述するHDLや、論理ゲートのネッ
トリストを記述するHDLや、回路動作よりも上位のハ
ードウェア仕様を記述するHDLなど、種々のHDLが
考えられる。
示すブロック図である。図6に示したシステムを用いた
設計では、まず設計者がハードウェア記述言語(HD
L)を入力部21から入力して回路の動作を記述する。
なお、ここでHDLで回路の動作を記述するのは一例で
あり、回路の動作を記述するHDL以外にも、トランジ
スタ回路の接合を記述するHDLや、論理ゲートのネッ
トリストを記述するHDLや、回路動作よりも上位のハ
ードウェア仕様を記述するHDLなど、種々のHDLが
考えられる。
【0004】次に、入力部21で記述した回路をシミュ
レータ23に与え、HDLソース22に記憶されている
シミュレータプログラムに従って、文法的な記述誤りが
チェックされた後、記述した回路が入力信号に対して思
った通りの動作をするかがシミュレーションによって確
認される。その後、回路の記述がシンセサイザ24に与
えられ、シンセサイザプログラムによって回路図データ
25あるいはLSI製造用のマスクパターンデータ26
が作成される。
レータ23に与え、HDLソース22に記憶されている
シミュレータプログラムに従って、文法的な記述誤りが
チェックされた後、記述した回路が入力信号に対して思
った通りの動作をするかがシミュレーションによって確
認される。その後、回路の記述がシンセサイザ24に与
えられ、シンセサイザプログラムによって回路図データ
25あるいはLSI製造用のマスクパターンデータ26
が作成される。
【0005】
【発明が解決しようとする課題】ところで、図6に示し
たCADシステムを用いても、最初のHDLを用いた回
路の記述は人間が行なわなければならない。使用目的に
十分適合した回路をHDLを用いて記述することは熟練
を要する作業となる。
たCADシステムを用いても、最初のHDLを用いた回
路の記述は人間が行なわなければならない。使用目的に
十分適合した回路をHDLを用いて記述することは熟練
を要する作業となる。
【0006】また、使用目的に適合した動作を行なう回
路のHDL記述は、普通何通りもある。そして、特に、
それらのアーキテクチャが互いに異なる場合、記述の形
もかなり異なったものになることも多い。しかも、記述
の違いによって出来上がって来る回路が、動作は同じで
も、たとえば応答速度などの能力の点で相当の開きがあ
ることも多い。どのアーキテクチャが最も優れているか
は入力信号の傾向にも依存するため、一般的に求める方
法がないのはもちろん、経験を積んだ設計者でも容易に
は判断できない。
路のHDL記述は、普通何通りもある。そして、特に、
それらのアーキテクチャが互いに異なる場合、記述の形
もかなり異なったものになることも多い。しかも、記述
の違いによって出来上がって来る回路が、動作は同じで
も、たとえば応答速度などの能力の点で相当の開きがあ
ることも多い。どのアーキテクチャが最も優れているか
は入力信号の傾向にも依存するため、一般的に求める方
法がないのはもちろん、経験を積んだ設計者でも容易に
は判断できない。
【0007】アーキテクチャの選択の問題に対しては、
複数の設計例を用意した上で、コンピュータシミュレー
ションを行なうか、もしくは実際に回路・LSIを作製
して実環境で使用して能力を比較測定するしか現在方法
がない。
複数の設計例を用意した上で、コンピュータシミュレー
ションを行なうか、もしくは実際に回路・LSIを作製
して実環境で使用して能力を比較測定するしか現在方法
がない。
【0008】一方、CADシステムを用いても設計には
かなりの労力を要するため、実際には多くてせいぜい数
種、大抵は1種類の設計例しか用意できない。したがっ
て、最適な回路を設計するというよりは、とりあえず動
作する回路を作り、回路の能力については設計者の勘に
頼るというのが現状である。
かなりの労力を要するため、実際には多くてせいぜい数
種、大抵は1種類の設計例しか用意できない。したがっ
て、最適な回路を設計するというよりは、とりあえず動
作する回路を作り、回路の能力については設計者の勘に
頼るというのが現状である。
【0009】それゆえに、この発明の主たる目的は、使
用目的に適合した回路を自律的に生成するとともに、異
なるアーキテクチャの回路を多数用意することにより、
使用目的に最も適合したアーキテクチャを自動的に発見
・生成が可能な汎用性の高い自律進化型ハードウェア設
計システムを提供することである。
用目的に適合した回路を自律的に生成するとともに、異
なるアーキテクチャの回路を多数用意することにより、
使用目的に最も適合したアーキテクチャを自動的に発見
・生成が可能な汎用性の高い自律進化型ハードウェア設
計システムを提供することである。
【0010】
【課題を解決するための手段】請求項1に係る発明は、
電子回路のハードウェアを設計するための自律進化型ハ
ードウェア設計システムであって、複数のハードウェア
の仕様をハードウェア記述言語を用いて表現するための
ハードウェア仕様表現手段と、表現された仕様を解釈し
てそのハードウェアの動作を生成するハードウェア動作
生成手段と、生成されたハードウェアの動作と要求され
る動作仕様から出来上がったハードウェアを使用する際
の適合度を算出する適合度算出手段と、算出された複数
のハードウェアの仕様の適合度をもとに、それぞれのハ
ードウェア表現の評価を行なって評価の低いハードウェ
ア仕様の表現の一部を捨て、残ったハードウェア仕様の
表現に変更を加えて再び一群のハードウェア仕様の表現
を作成するハードウェア仕様変更手段とを備えて構成さ
れる。
電子回路のハードウェアを設計するための自律進化型ハ
ードウェア設計システムであって、複数のハードウェア
の仕様をハードウェア記述言語を用いて表現するための
ハードウェア仕様表現手段と、表現された仕様を解釈し
てそのハードウェアの動作を生成するハードウェア動作
生成手段と、生成されたハードウェアの動作と要求され
る動作仕様から出来上がったハードウェアを使用する際
の適合度を算出する適合度算出手段と、算出された複数
のハードウェアの仕様の適合度をもとに、それぞれのハ
ードウェア表現の評価を行なって評価の低いハードウェ
ア仕様の表現の一部を捨て、残ったハードウェア仕様の
表現に変更を加えて再び一群のハードウェア仕様の表現
を作成するハードウェア仕様変更手段とを備えて構成さ
れる。
【0011】
【0012】
【0013】
【0014】
【作用】この発明に係る自律進化型ハードウェア設計シ
ステムは、複数のハードウェアの仕様をハードウェア記
述言語を用いて表現し、表現された仕様を解釈してその
ハードウェアの動作を生成し、生成されたハードウェア
の動作と要求される動作仕様からできあがったハードウ
ェアを使用する際の適合度を算出し、算出した複数のハ
ードウェアの仕様の適合度をもとに、それぞれのハード
ウェア表現の評価を行なって評価の低いハードウェア仕
様の表現の一部を捨て、残ったハードウェア仕様の表現
に変更を加えて再び一群のハードウェア表現を作成す
る。
ステムは、複数のハードウェアの仕様をハードウェア記
述言語を用いて表現し、表現された仕様を解釈してその
ハードウェアの動作を生成し、生成されたハードウェア
の動作と要求される動作仕様からできあがったハードウ
ェアを使用する際の適合度を算出し、算出した複数のハ
ードウェアの仕様の適合度をもとに、それぞれのハード
ウェア表現の評価を行なって評価の低いハードウェア仕
様の表現の一部を捨て、残ったハードウェア仕様の表現
に変更を加えて再び一群のハードウェア表現を作成す
る。
【0015】より好ましくは、ハードウェア記述言語を
用いることにより、必要な場合は人間による記述の変更
の後の介入を容易にできる。
用いることにより、必要な場合は人間による記述の変更
の後の介入を容易にできる。
【0016】
【0017】さらにより好ましくは、遺伝的アルゴリズ
ムを用いてハードウェアの記述の組み換え,変更を行な
うことにより、遺伝的アルゴリズムで潜在的に生じるN
3 (Nは記述されたハードウェア仕様例の数)程度の並
列動作によりハードウェア記述を素早く問題に適用させ
ることができる。
ムを用いてハードウェアの記述の組み換え,変更を行な
うことにより、遺伝的アルゴリズムで潜在的に生じるN
3 (Nは記述されたハードウェア仕様例の数)程度の並
列動作によりハードウェア記述を素早く問題に適用させ
ることができる。
【0018】
【実施例】図1はこの発明の一実施例の概略ブロック図
であり、図2はより具体的な実施例のブロック図であ
り、図3はハードウェア記述言語を使用したハードウェ
ア仕様の記述例である。
であり、図2はより具体的な実施例のブロック図であ
り、図3はハードウェア記述言語を使用したハードウェ
ア仕様の記述例である。
【0019】図1および図2に示したハードウェア仕様
記述部1では、図3に示したような記述が扱われる。こ
こで、図1および図2に示した自律進化型ハードウェア
設計システム全体の説明を行なう前に、図3のハードウ
ェア仕様記述例について説明する。
記述部1では、図3に示したような記述が扱われる。こ
こで、図1および図2に示した自律進化型ハードウェア
設計システム全体の説明を行なう前に、図3のハードウ
ェア仕様記述例について説明する。
【0020】図3において、まず最初に、ハードウェア
回路で使用される部品が宣言される。構成要素宣言開始
と構成要素宣言終了で挟まれた部分が部品の宣言であ
る。この例では、入力端子としてin1という名前の端
子を宣言し、出力端子としてout1という名前の端子
を宣言し、レジスタとしてcounterという名前の
部品を宣言している。続いて、モデルとは、すでに存在
しているハードウェア回路をマクロとして使用するとい
う宣言であり、この例では、すでに存在しているINC
REMENTという形のハードウェア回路をincr1
という名前で使用するということを宣言している。
回路で使用される部品が宣言される。構成要素宣言開始
と構成要素宣言終了で挟まれた部分が部品の宣言であ
る。この例では、入力端子としてin1という名前の端
子を宣言し、出力端子としてout1という名前の端子
を宣言し、レジスタとしてcounterという名前の
部品を宣言している。続いて、モデルとは、すでに存在
しているハードウェア回路をマクロとして使用するとい
う宣言であり、この例では、すでに存在しているINC
REMENTという形のハードウェア回路をincr1
という名前で使用するということを宣言している。
【0021】続いて、動作定義開始と動作定義終了で挟
まれた部分に、目的とするハードウェアの動作が記述さ
れる。この例では、counterというレジスタにi
n1という入力端子の内容を入れ、さらに、そのレジス
タを入力として、incr1という名前のINCREM
ENT型ハードウェア回路を動作させて、その出力をc
ounterに入れ、最後に、counterの内容を
out1という出力端子に入れるというものである。
まれた部分に、目的とするハードウェアの動作が記述さ
れる。この例では、counterというレジスタにi
n1という入力端子の内容を入れ、さらに、そのレジス
タを入力として、incr1という名前のINCREM
ENT型ハードウェア回路を動作させて、その出力をc
ounterに入れ、最後に、counterの内容を
out1という出力端子に入れるというものである。
【0022】図3に示した例は、ハードウェア回路を上
位レベルの動作で記述したハードウェア記述言語による
例であるが、同様に、ハードウェアをトランジスタレベ
ルで記述する、ゲートレベルで記述するなどしてもよ
く、図1に示された自律進化型ハードウェア設計システ
ムは、ハードウェア記述言語自体に依存するものではな
い。
位レベルの動作で記述したハードウェア記述言語による
例であるが、同様に、ハードウェアをトランジスタレベ
ルで記述する、ゲートレベルで記述するなどしてもよ
く、図1に示された自律進化型ハードウェア設計システ
ムは、ハードウェア記述言語自体に依存するものではな
い。
【0023】次に、図1を参照して、自律進化型ハード
ウェア設計システムの一実施例について説明する。ハー
ドウェア仕様記述部1はハードウェアの仕様を記述する
ためのハードウェア仕様記述2を含み、このハードウェ
ア仕様記述2は信号線8によってハードウェア仕様解釈
部3と記述変更部6とに与えられる。ハードウェア仕様
解釈部3に対象とする問題を表わす信号が信号ライン7
を介して入力される入出力部4が設けられる。ここで、
対象とする問題とは、作製しようとするハードウェアで
達成しようとする目的のことを言う。入出力部4は信号
線7を介して入力された対象とする問題を表わす信号を
ハードウェア仕様解釈部3と適合度算出部5に出力す
る。ハードウェア仕様解釈部3は、入出力部4から入力
される対象とする問題を表わす信号7とハードウェア仕
様記述部8から与えられた信号8によって入力されるハ
ードウェア仕様記述2の内容とによって、ハードウェア
仕様記述2によって得られる実際のハードウェアが、対
象とする問題に対していかに動作するかを表わす動作結
果を演算する。そして、ハードウェア仕様解釈部3はそ
の動作結果を表わす信号9を入出力部4に入力する。入
出力部4はその動作結果を表わす信号9を適合度算出部
5に出力する。適合度算出部5は入力された仕様記述2
の動作結果を表わす信号9が対象とする問題7にどの程
度適応したかを表わす適応度を演算し、その演算結果で
ある評価値を表わす信号10を記述変更部6に入力す
る。
ウェア設計システムの一実施例について説明する。ハー
ドウェア仕様記述部1はハードウェアの仕様を記述する
ためのハードウェア仕様記述2を含み、このハードウェ
ア仕様記述2は信号線8によってハードウェア仕様解釈
部3と記述変更部6とに与えられる。ハードウェア仕様
解釈部3に対象とする問題を表わす信号が信号ライン7
を介して入力される入出力部4が設けられる。ここで、
対象とする問題とは、作製しようとするハードウェアで
達成しようとする目的のことを言う。入出力部4は信号
線7を介して入力された対象とする問題を表わす信号を
ハードウェア仕様解釈部3と適合度算出部5に出力す
る。ハードウェア仕様解釈部3は、入出力部4から入力
される対象とする問題を表わす信号7とハードウェア仕
様記述部8から与えられた信号8によって入力されるハ
ードウェア仕様記述2の内容とによって、ハードウェア
仕様記述2によって得られる実際のハードウェアが、対
象とする問題に対していかに動作するかを表わす動作結
果を演算する。そして、ハードウェア仕様解釈部3はそ
の動作結果を表わす信号9を入出力部4に入力する。入
出力部4はその動作結果を表わす信号9を適合度算出部
5に出力する。適合度算出部5は入力された仕様記述2
の動作結果を表わす信号9が対象とする問題7にどの程
度適応したかを表わす適応度を演算し、その演算結果で
ある評価値を表わす信号10を記述変更部6に入力す
る。
【0024】記述変更部6は、現在のハードウェア仕様
記述2を、それらの評価値である信号10を基にして変
形することにより、新たな仕様記述を自動的に生成し、
その結果を信号11としてハードウェア仕様記述部1に
出力する。この信号11として出力された内容は、ハー
ドウェア仕様記述2の新しい内容となる。この新たな仕
様記述を自動生成する過程において、後で説明する仕様
記述の文法的に等価な記述への置換えが使用される。記
述変更部6で新たに生成され、信号11によりハードウ
ェア仕様記述2に入力された新たな仕様記述を用いて、
上述の動作を実行するということを繰返すことにより、
次第に対象とする問題に対して適応度の高いハードウェ
ア仕様記述が生み出され、最終的に対象とする問題を完
全に満足するハードウェアを実現する仕様記述を獲得す
ることができる。
記述2を、それらの評価値である信号10を基にして変
形することにより、新たな仕様記述を自動的に生成し、
その結果を信号11としてハードウェア仕様記述部1に
出力する。この信号11として出力された内容は、ハー
ドウェア仕様記述2の新しい内容となる。この新たな仕
様記述を自動生成する過程において、後で説明する仕様
記述の文法的に等価な記述への置換えが使用される。記
述変更部6で新たに生成され、信号11によりハードウ
ェア仕様記述2に入力された新たな仕様記述を用いて、
上述の動作を実行するということを繰返すことにより、
次第に対象とする問題に対して適応度の高いハードウェ
ア仕様記述が生み出され、最終的に対象とする問題を完
全に満足するハードウェアを実現する仕様記述を獲得す
ることができる。
【0025】次いで、仕様記述の文法的に等価な記述へ
の置換えについて説明する。仕様記述はハードウェア記
述言語を用いて記述された文章であり、したがって、仕
様記述は使用したハードウェア記述言語の文法を満たし
ている必要がある。もし、特別な機構を設けることな
く、仕様記述に任意の変形を加えたならば、その結果と
して文法的に正しい記述が得られる可能性は低く、対象
とする問題に対してより適応度の高い仕様記述を獲得す
るという目的を達成することはできない。そこで、仕様
記述の変形に際して、仕様記述の中の、ある部分記述を
文法的に等価な別の部分記述に置換えるという機構を導
入する。この機構の導入により、記述変更部6での仕様
記述の変形において、文法的に誤った無意味な記述を生
み出すことなく、文法的に正しい意味のある仕様記述を
得ることが可能となる。
の置換えについて説明する。仕様記述はハードウェア記
述言語を用いて記述された文章であり、したがって、仕
様記述は使用したハードウェア記述言語の文法を満たし
ている必要がある。もし、特別な機構を設けることな
く、仕様記述に任意の変形を加えたならば、その結果と
して文法的に正しい記述が得られる可能性は低く、対象
とする問題に対してより適応度の高い仕様記述を獲得す
るという目的を達成することはできない。そこで、仕様
記述の変形に際して、仕様記述の中の、ある部分記述を
文法的に等価な別の部分記述に置換えるという機構を導
入する。この機構の導入により、記述変更部6での仕様
記述の変形において、文法的に誤った無意味な記述を生
み出すことなく、文法的に正しい意味のある仕様記述を
得ることが可能となる。
【0026】次に、図4を参照して、文法的に等価な記
述への置換を英語の例をとって説明する。図4(a)は
英語の文法であり、簡単のため、図4(a)で示した主
語と述語と目的語とからなる文の文法だけを考える。図
4(a)の文法に従って記述された文章が図4(b)と
(c)である。図4(a)をハードウェア記述言語の文
法と考えれば、図4(b)と図4(c)はハードウェア
の仕様記述ということができる。これらの図に付けられ
た(1),(2),(3),(4)の場所での記述は、
それぞれ文法的に等価な記述ということができる。すな
わち、図4(b)と図4(c)において、同じ番号が付
けられた記述を変換したとしても、その結果の文章は図
4(a)の文法を満足した完全に正しい文章である。た
とえば、図4(b)の「Her」と図4(c)の「Hi
m」は文法的に等価であり、これらを交換してできた2
個の文章、 I Love Him. You Know Her. は、それぞれ図4(a)を満足した正しい文章である。
また、図4(b)において「Love」を文法的に等価
である「Like」に置換えたとしても、できあがった
文章 I Like Him. は、また図4(a)を満足する正しい文章である。上述
の説明を、SFLというハードウェア記述言語で説明す
ると、 state st1{any{FLG:OUT=I
N:}} これは「st1という状態のとき、FLGという端子が
1ならばOUTにINの値を出力せよ」という記述であ
る。英語で書けば、IF FLG is 1,assi
gn valueof IN to OUT.である。
“assignvalue of IN to OU
T”の部分は文の中の文(節)になっており、文法的に
等価な“go to st2”に置換えても全体の文法
構造は壊れない。対応する表記は実際にSFLにあり、 state st1{any{FLG:goto st
2:}} は正しいSLFプログラムの断片である。どのようなハ
ードウェア記述言語であっても英語の場合と同様に、そ
の言語の文法に則って、記述の一部分を文法的に等価な
記述に置換えることで安全に記述の変更ができる。
述への置換を英語の例をとって説明する。図4(a)は
英語の文法であり、簡単のため、図4(a)で示した主
語と述語と目的語とからなる文の文法だけを考える。図
4(a)の文法に従って記述された文章が図4(b)と
(c)である。図4(a)をハードウェア記述言語の文
法と考えれば、図4(b)と図4(c)はハードウェア
の仕様記述ということができる。これらの図に付けられ
た(1),(2),(3),(4)の場所での記述は、
それぞれ文法的に等価な記述ということができる。すな
わち、図4(b)と図4(c)において、同じ番号が付
けられた記述を変換したとしても、その結果の文章は図
4(a)の文法を満足した完全に正しい文章である。た
とえば、図4(b)の「Her」と図4(c)の「Hi
m」は文法的に等価であり、これらを交換してできた2
個の文章、 I Love Him. You Know Her. は、それぞれ図4(a)を満足した正しい文章である。
また、図4(b)において「Love」を文法的に等価
である「Like」に置換えたとしても、できあがった
文章 I Like Him. は、また図4(a)を満足する正しい文章である。上述
の説明を、SFLというハードウェア記述言語で説明す
ると、 state st1{any{FLG:OUT=I
N:}} これは「st1という状態のとき、FLGという端子が
1ならばOUTにINの値を出力せよ」という記述であ
る。英語で書けば、IF FLG is 1,assi
gn valueof IN to OUT.である。
“assignvalue of IN to OU
T”の部分は文の中の文(節)になっており、文法的に
等価な“go to st2”に置換えても全体の文法
構造は壊れない。対応する表記は実際にSFLにあり、 state st1{any{FLG:goto st
2:}} は正しいSLFプログラムの断片である。どのようなハ
ードウェア記述言語であっても英語の場合と同様に、そ
の言語の文法に則って、記述の一部分を文法的に等価な
記述に置換えることで安全に記述の変更ができる。
【0027】このように、図4で説明した等価文法置換
え機構を、図1の記述変更部6におけるハードウェア仕
様記述の変形の際に使用している。
え機構を、図1の記述変更部6におけるハードウェア仕
様記述の変形の際に使用している。
【0028】次いで、図2を参照して、自律進化型ハー
ドウェア設計システムのより具体的な実施例について説
明する。ハードウェア仕様記述部1は複数のハードウェ
ア仕様記述、たとえば3つのハードウェア仕様記述2
a,2b,2cを含む。各ハードウェア仕様記述2a,
2b,2cは信号8a,8b,8cを介してハードウェ
ア仕様解釈部3と記述変更部6に接続されている。ハー
ドウェア仕様解釈部3は図1と同様にして、入出力部4
から入力される対象とする問題を表わす信号7と信号8
a,8b,8cによって入力されるハードウェア仕様記
述2a,2b,2cの内容とによって、各仕様記述2
a,2b,2cにより得られる実際のハードウェアが、
対象とする問題に対していかに動作するかを表わす動作
結果を演算し、その動作結果を表わす信号9a,9b,
9cを入出力部4に入力する。適合度算出部5には、入
出力部4から各仕様記述2a,2b,2cの動作結果を
表わす信号9a,9b,9cと対象とする問題を表す信
号7とが入力される。適合度算出部5は、入力された各
仕様記述2a,2b,2cの動作結果を表わす信号9
a,9b,9cが信号7を介して与えられる対象とする
問題にどの程度適応したかを表わす適応度を演算し、そ
の演算結果である評価値を表わす信号10を適合度算出
部5の出力として記述変更部6に与える。
ドウェア設計システムのより具体的な実施例について説
明する。ハードウェア仕様記述部1は複数のハードウェ
ア仕様記述、たとえば3つのハードウェア仕様記述2
a,2b,2cを含む。各ハードウェア仕様記述2a,
2b,2cは信号8a,8b,8cを介してハードウェ
ア仕様解釈部3と記述変更部6に接続されている。ハー
ドウェア仕様解釈部3は図1と同様にして、入出力部4
から入力される対象とする問題を表わす信号7と信号8
a,8b,8cによって入力されるハードウェア仕様記
述2a,2b,2cの内容とによって、各仕様記述2
a,2b,2cにより得られる実際のハードウェアが、
対象とする問題に対していかに動作するかを表わす動作
結果を演算し、その動作結果を表わす信号9a,9b,
9cを入出力部4に入力する。適合度算出部5には、入
出力部4から各仕様記述2a,2b,2cの動作結果を
表わす信号9a,9b,9cと対象とする問題を表す信
号7とが入力される。適合度算出部5は、入力された各
仕様記述2a,2b,2cの動作結果を表わす信号9
a,9b,9cが信号7を介して与えられる対象とする
問題にどの程度適応したかを表わす適応度を演算し、そ
の演算結果である評価値を表わす信号10を適合度算出
部5の出力として記述変更部6に与える。
【0029】記述変更部6は、現在の仕様記述2a,2
b,2cを、それらの評価値である信号10を基にして
変形することにより、新たな仕様記述を複数個(この場
合は3個)を自動的に生成し、その結果を信号11とし
て、ハードウェア仕様記述2a,2b,2cのそれぞれ
の新しい内容となる。この新たな仕様記述を自動生成す
る過程において、後で説明する遺伝的アルゴリズムが使
用される。
b,2cを、それらの評価値である信号10を基にして
変形することにより、新たな仕様記述を複数個(この場
合は3個)を自動的に生成し、その結果を信号11とし
て、ハードウェア仕様記述2a,2b,2cのそれぞれ
の新しい内容となる。この新たな仕様記述を自動生成す
る過程において、後で説明する遺伝的アルゴリズムが使
用される。
【0030】記述変更部6で新たに生成され、信号11
によりソフトウェア仕様記述2a,2b,2cに入力さ
れた新たな仕様記述を用いて、図1の動作を実行すると
いうことを繰返すことにより、次第に対象とする問題に
対して適応度の高い仕様記述が生み出され、最終的に対
象とする問題を完全に満足するハードウェアを実現する
仕様記述を獲得することができる。
によりソフトウェア仕様記述2a,2b,2cに入力さ
れた新たな仕様記述を用いて、図1の動作を実行すると
いうことを繰返すことにより、次第に対象とする問題に
対して適応度の高い仕様記述が生み出され、最終的に対
象とする問題を完全に満足するハードウェアを実現する
仕様記述を獲得することができる。
【0031】なお、図2に示したハードウェア仕様解釈
部3と入出力部4と適合度算出部5などを複数個用意し
ておき、並列に動作させることにより、より高速に上述
の動作を実行することが可能となる。
部3と入出力部4と適合度算出部5などを複数個用意し
ておき、並列に動作させることにより、より高速に上述
の動作を実行することが可能となる。
【0032】また、対象とする問題によっては、信号9
a,9b,9cを入出力部4を通さずに、直接ハードウ
ェア仕様解釈部3から適合度算出部5に入力するように
してもよい。
a,9b,9cを入出力部4を通さずに、直接ハードウ
ェア仕様解釈部3から適合度算出部5に入力するように
してもよい。
【0033】図5は遺伝的アルゴリズムを示すフローチ
ャートである。次に、図2および図5を参照して、遺伝
的アルゴリズムの動作について説明する。たとえば、ハ
ードウェア仕様記述2a,2b,2cは始めに任意のも
のが用意される。これらのハードウェア仕様記述2a,
2b,2cはハードウェア仕様解釈部3に信号8a,8
b,8cを介して入力されるとともに、記述変更部6に
も入力される。同時に、入出力部4から対象とする問題
を表わす信号7がハードウェア仕様解釈部3に与えられ
る。ハードウェア仕様解釈部3はハードウェア仕様記述
2a,2b,2cと対象とする問題とに基づいて演算を
行ない、実際のハードウェアとしての動作結果を信号9
a,9b,9cとして入出力部4に出力する。動作結果
の信号9a,9b,9cはさらに対象とする問題を表わ
す信号7とともに適合度算出部5に入力され、各ハード
ウェア仕様記述2a,2b,2cが対象とする問題に対
してどの程度適応しているかが演算され、その結果が評
価値として信号10により記述変更部6に入力される。
ャートである。次に、図2および図5を参照して、遺伝
的アルゴリズムの動作について説明する。たとえば、ハ
ードウェア仕様記述2a,2b,2cは始めに任意のも
のが用意される。これらのハードウェア仕様記述2a,
2b,2cはハードウェア仕様解釈部3に信号8a,8
b,8cを介して入力されるとともに、記述変更部6に
も入力される。同時に、入出力部4から対象とする問題
を表わす信号7がハードウェア仕様解釈部3に与えられ
る。ハードウェア仕様解釈部3はハードウェア仕様記述
2a,2b,2cと対象とする問題とに基づいて演算を
行ない、実際のハードウェアとしての動作結果を信号9
a,9b,9cとして入出力部4に出力する。動作結果
の信号9a,9b,9cはさらに対象とする問題を表わ
す信号7とともに適合度算出部5に入力され、各ハード
ウェア仕様記述2a,2b,2cが対象とする問題に対
してどの程度適応しているかが演算され、その結果が評
価値として信号10により記述変更部6に入力される。
【0034】記述変更部6では評価値が他の仕様記述よ
りも高い、すなわち、対象とする問題に対してより適応
している仕様記述を基にして、新たなハードウェア仕様
記述2a,2b,2cを決定する。この際、仕様記述の
文法的に等価な記述への置換えという機構が用いられ
る。このようにして得られた新たなハードウェア仕様記
述2a,2b,2cを用いて、上述の動作と同様にし
て、仕様解釈および評価といった過程が行なわれる。こ
のような過程を繰返えすことにより、仕様記述が対象と
する問題に対して適応した状態となる。
りも高い、すなわち、対象とする問題に対してより適応
している仕様記述を基にして、新たなハードウェア仕様
記述2a,2b,2cを決定する。この際、仕様記述の
文法的に等価な記述への置換えという機構が用いられ
る。このようにして得られた新たなハードウェア仕様記
述2a,2b,2cを用いて、上述の動作と同様にし
て、仕様解釈および評価といった過程が行なわれる。こ
のような過程を繰返えすことにより、仕様記述が対象と
する問題に対して適応した状態となる。
【0035】以上のような遺伝的アルゴリズムを用いる
ことにより、遺伝的アルゴリズムで潜在的に生じるN3
(Nは仕様記述の数)程度の並列動作ができ、素早く対
象とする問題に適応するハードウェア仕様記述を獲得す
ることができる。また、遺伝的アルゴリズムでは、同時
に複数の仕様記述を扱うために、多様な仕様記述を維持
することが可能であり、1個の対象とする問題に対して
複数の有効な仕様記述を獲得することが可能となる。す
なわち、異なるアーキテクチャの回路を多数用意するこ
とができる。さらに、その他の多様性ゆえに、対象とす
る問題自体が変化を起こすといった自体が発生した場合
にも、素早く変化した問題に適応するハードウェア仕様
を生成することが可能となる。
ことにより、遺伝的アルゴリズムで潜在的に生じるN3
(Nは仕様記述の数)程度の並列動作ができ、素早く対
象とする問題に適応するハードウェア仕様記述を獲得す
ることができる。また、遺伝的アルゴリズムでは、同時
に複数の仕様記述を扱うために、多様な仕様記述を維持
することが可能であり、1個の対象とする問題に対して
複数の有効な仕様記述を獲得することが可能となる。す
なわち、異なるアーキテクチャの回路を多数用意するこ
とができる。さらに、その他の多様性ゆえに、対象とす
る問題自体が変化を起こすといった自体が発生した場合
にも、素早く変化した問題に適応するハードウェア仕様
を生成することが可能となる。
【0036】
【発明の効果】以上のように、この発明によれば、表現
された複数のハードウェアの仕様を解釈してそれぞれの
ハードウェアの動作を生成し、生成されたハードウェア
の動作と要求される動作仕様から出来上がったハードウ
ェアを使用する際の適合度を算出し、算出された複数の
ハードウェアの仕様の適合度をもとに、それぞれのハー
ドウェア表現の評価を行なって評価の低いハードウェア
仕様の表現の一部を捨て、残ったハードウェア仕様の表
現に変更を加えて再び一群のハードウェア表現を作成す
るようにしたので、使用目的に適合した動作を行なうハ
ードウェアを自律進化的に設計できるとともに、多様な
アーキテクチャによる多数の設計例の中から自動的に選
び出すことにより、使用目的に最適なハードウェアを得
ることができる。
された複数のハードウェアの仕様を解釈してそれぞれの
ハードウェアの動作を生成し、生成されたハードウェア
の動作と要求される動作仕様から出来上がったハードウ
ェアを使用する際の適合度を算出し、算出された複数の
ハードウェアの仕様の適合度をもとに、それぞれのハー
ドウェア表現の評価を行なって評価の低いハードウェア
仕様の表現の一部を捨て、残ったハードウェア仕様の表
現に変更を加えて再び一群のハードウェア表現を作成す
るようにしたので、使用目的に適合した動作を行なうハ
ードウェアを自律進化的に設計できるとともに、多様な
アーキテクチャによる多数の設計例の中から自動的に選
び出すことにより、使用目的に最適なハードウェアを得
ることができる。
【0037】また、この発明はハードウェアの動作に限
らず、たとえばオートマトン記述される人工的生物の行
動,動作の実験システムや、自律的な並列プロセスの動
作シミュレーションにも適用できる。
らず、たとえばオートマトン記述される人工的生物の行
動,動作の実験システムや、自律的な並列プロセスの動
作シミュレーションにも適用できる。
【図1】この発明の一実施例を示すブロック図である。
【図2】この発明のより具体的な実施例を示すブロック
図である。
図である。
【図3】ハードウェア記述言語によるハードウェア仕様
記述例を示す図である。
記述例を示す図である。
【図4】等価文法置換えを説明するための図である。
【図5】遺伝的アルゴリズムの動作を説明するためのフ
ローチャートである。
ローチャートである。
【図6】従来の電子回路の計算機援用設計(CAD)シ
ステムを説明するためのブロック図である。
ステムを説明するためのブロック図である。
1 ハードウェア仕様記述部 2,2a,2b,2c ハードウェア仕様記述 3 ハードウェア仕様解釈部 4 入出力部 5 適合度算出部 6 記述変更部
───────────────────────────────────────────────────── フロントページの続き (72)発明者 溝口 潤一 京都府相楽郡精華町大字乾谷小字三平谷 5番地 株式会社エイ・ティ・アール人 間情報通信研究所内 (72)発明者 下原 勝憲 京都府相楽郡精華町大字乾谷小字三平谷 5番地 株式会社エイ・ティ・アール人 間情報通信研究所内 (56)参考文献 情報処理学会第46回(平成5年前記) 全国大会講演論文集(2) 279〜280頁 丹羽竜哉他 「”進化するハードウエ ア”による有限オートマトンの学習」 (58)調査した分野(Int.Cl.6,DB名) G06F 15/60 G06F 17/50
Claims (1)
- 【請求項1】 電子回路のハードウェアを設計するため
の自律進化型ハードウェア設計システムであって、複数の ハードウェアの仕様をハードウェア記述言語を用
いて表現するためのハードウェア仕様表現手段、 前記ハードウェア仕様表現手段によって表現された仕様
を解釈して、そのハードウェアの動作を生成するハード
ウェア動作生成手段、 前記ハードウェア動作生成手段によって生成されたハー
ドウェアの動作と要求される動作仕様から出来上がった
ハードウェアを使用する際の適合度を算出する適合度算
出手段、および前記適合度算出手段によって算出された
複数のハードウェアの仕様の適合度をもとに、それぞれ
のハードウェア表現の評価を行なって評価の低いハード
ウェア仕様の表現の一部を捨て、残ったハードウェア仕
様の表現に変更を加えて、再び一群のハードウェア仕様
の表現を作成するハードウェア仕様変更手段を備えたこ
とを特徴とする、自律進化型ハードウェア設計システ
ム。
Priority Applications (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP5311724A JP2974900B2 (ja) | 1993-12-13 | 1993-12-13 | 自律進化型ハードウェア設計システム |
US08/337,020 US5615124A (en) | 1993-12-13 | 1994-11-07 | Autonomous evolution type hardware design system |
CA002135214A CA2135214C (en) | 1993-12-13 | 1994-11-07 | Autonomous evolution type hardware design system |
DE69433907T DE69433907T2 (de) | 1993-12-13 | 1994-11-10 | Autonomes, evolutionsartiges Hardwareentwurfssystem |
EP94117788A EP0657832B1 (en) | 1993-12-13 | 1994-11-10 | Autonomous evolution type hardware design system |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP5311724A JP2974900B2 (ja) | 1993-12-13 | 1993-12-13 | 自律進化型ハードウェア設計システム |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH07160744A JPH07160744A (ja) | 1995-06-23 |
JP2974900B2 true JP2974900B2 (ja) | 1999-11-10 |
Family
ID=18020715
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP5311724A Expired - Fee Related JP2974900B2 (ja) | 1993-12-13 | 1993-12-13 | 自律進化型ハードウェア設計システム |
Country Status (5)
Country | Link |
---|---|
US (1) | US5615124A (ja) |
EP (1) | EP0657832B1 (ja) |
JP (1) | JP2974900B2 (ja) |
CA (1) | CA2135214C (ja) |
DE (1) | DE69433907T2 (ja) |
Families Citing this family (20)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0981615A (ja) * | 1995-09-14 | 1997-03-28 | Sony Corp | 回路設計装置および方法 |
US5867397A (en) * | 1996-02-20 | 1999-02-02 | John R. Koza | Method and apparatus for automated design of complex structures using genetic programming |
US6152612A (en) * | 1997-06-09 | 2000-11-28 | Synopsys, Inc. | System and method for system level and circuit level modeling and design simulation using C++ |
US6836877B1 (en) * | 1998-02-20 | 2004-12-28 | Lsi Logic Corporation | Automatic synthesis script generation for synopsys design compiler |
US6237129B1 (en) | 1998-03-27 | 2001-05-22 | Xilinx, Inc. | Method for constraining circuit element positions in structured layouts |
US6243851B1 (en) | 1998-03-27 | 2001-06-05 | Xilinx, Inc. | Heterogeneous method for determining module placement in FPGAs |
US6292925B1 (en) | 1998-03-27 | 2001-09-18 | Xilinx, Inc. | Context-sensitive self implementing modules |
US6260182B1 (en) * | 1998-03-27 | 2001-07-10 | Xilinx, Inc. | Method for specifying routing in a logic module by direct module communication |
US6430732B1 (en) | 1998-03-27 | 2002-08-06 | Xilinx, Inc. | Method for structured layout in a hardware description language |
US6430736B1 (en) * | 1999-02-26 | 2002-08-06 | Xilinx, Inc. | Method and apparatus for evolving configuration bitstreams |
US6363519B1 (en) | 1999-02-26 | 2002-03-26 | Xilinx, Inc. | Method and apparatus for testing evolvable configuration bitstreams |
US6539532B1 (en) | 1999-02-26 | 2003-03-25 | Xilinx, Inc. | Method and apparatus for relocating elements in an evolvable configuration bitstream |
US6378122B1 (en) | 1999-02-26 | 2002-04-23 | Xilinx, Inc. | Method and apparatus for evolving a plurality of versions of a configuration bitstream in parallel |
US6363517B1 (en) | 1999-02-26 | 2002-03-26 | Xilinx, Inc. | Method and apparatus for remotely evolving configuration bitstreams |
US6823486B2 (en) | 2000-06-05 | 2004-11-23 | Fujitsu Limited | Automatic test pattern generation for functional register transfer level circuits using assignment decision diagrams |
GB0105357D0 (en) | 2001-03-03 | 2001-04-18 | Marconi Comm Ltd | Evolutionary programming of configurable logic devices |
GB0106459D0 (en) * | 2001-03-15 | 2001-05-02 | Marconi Comm Ltd | Hardware design using evolutionary algorithms |
US6889366B2 (en) * | 2001-12-27 | 2005-05-03 | Lsi Logic Corporation | System and method for coevolutionary circuit design |
US9916410B2 (en) | 2015-06-22 | 2018-03-13 | International Business Machines Corporation | Signal via positioning in a multi-layer circuit board |
US9881115B2 (en) * | 2016-04-27 | 2018-01-30 | International Business Machines Corporation | Signal via positioning in a multi-layer circuit board using a genetic via placement solver |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5224056A (en) * | 1991-10-30 | 1993-06-29 | Xilinx, Inc. | Logic placement using positionally asymmetrical partitioning algorithm |
US5513124A (en) * | 1991-10-30 | 1996-04-30 | Xilinx, Inc. | Logic placement using positionally asymmetrical partitioning method |
US5465218A (en) * | 1993-02-12 | 1995-11-07 | Kabushiki Kaisha Toshiba | Element placement method and apparatus |
US5510995A (en) * | 1993-08-13 | 1996-04-23 | Iowa State University Research Foundation, Inc. | Sculptured surface synthesis based on functional design constraints |
US5495419A (en) * | 1994-04-19 | 1996-02-27 | Lsi Logic Corporation | Integrated circuit physical design automation system utilizing optimization process decomposition and parallel processing |
-
1993
- 1993-12-13 JP JP5311724A patent/JP2974900B2/ja not_active Expired - Fee Related
-
1994
- 1994-11-07 US US08/337,020 patent/US5615124A/en not_active Expired - Fee Related
- 1994-11-07 CA CA002135214A patent/CA2135214C/en not_active Expired - Fee Related
- 1994-11-10 DE DE69433907T patent/DE69433907T2/de not_active Expired - Fee Related
- 1994-11-10 EP EP94117788A patent/EP0657832B1/en not_active Expired - Lifetime
Non-Patent Citations (1)
Title |
---|
情報処理学会第46回(平成5年前記)全国大会講演論文集(2) 279〜280頁 丹羽竜哉他 「"進化するハードウエア"による有限オートマトンの学習」 |
Also Published As
Publication number | Publication date |
---|---|
US5615124A (en) | 1997-03-25 |
CA2135214A1 (en) | 1995-06-14 |
CA2135214C (en) | 1999-03-30 |
EP0657832A3 (en) | 1995-08-23 |
DE69433907T2 (de) | 2005-07-21 |
EP0657832B1 (en) | 2004-07-21 |
JPH07160744A (ja) | 1995-06-23 |
EP0657832A2 (en) | 1995-06-14 |
DE69433907D1 (de) | 2004-08-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2974900B2 (ja) | 自律進化型ハードウェア設計システム | |
Sheeran | Hardware Design and Functional Programming | |
KR100992025B1 (ko) | 멀티-사이클 클록 게이팅 방법 | |
CN115204076B (zh) | 集成电路的逻辑优化方法、装置、电子设备及可读介质 | |
US5949992A (en) | Method and apparatus for a simplified system simulation description | |
JP2001060189A (ja) | ハードウエア記述言語で記述された連立方程式系における変数の分類法 | |
US5854926A (en) | Method and apparatus for identifying flip-flops in HDL descriptions of circuits without specific templates | |
Litovski et al. | Mixed-signal modeling with AleC++: Specific features of the HDL | |
US20180011833A1 (en) | Syntax analyzing device, learning device, machine translation device and storage medium | |
Lin et al. | A design framework for hardware approximation of deep neural networks | |
CN117540670B (zh) | 用于数字电路的全局真值表生成方法及装置 | |
CN117540671B (zh) | 基于关键值真值表的数字电路仿真方法及装置 | |
Pavlatos et al. | Parallel hardware stochastic context-free parsers | |
Deschacht et al. | Post-layout timing simulation of CMOS circuits | |
Almeida et al. | Design tools for reconfigurable embedded systems | |
Bilinski et al. | Synchronous parallel controller synthesis from behavioural multiple-process VHDL description | |
Wang et al. | Trustworthy Codesign by Verifiable Transformations | |
Milden | An approach for selecting a language for computer hardware description and simulation | |
Abbott | A symbolic simulator for microprogram development | |
Seceleanu | VHDL for Synchronous Action Systems | |
Bartel | Computer architecture simulation using a register transfer language | |
Lewin | Computer aided design for microcomputer systems | |
Jan et al. | A simulation program emphasized on DC analysis of VLSI circuits: SAMOC | |
Ivanov et al. | SPPV: a new formal verification environment | |
Morin-Allory et al. | Design Understanding with Fast Prototyping from Assertions |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 19970114 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
LAPS | Cancellation because of no payment of annual fees |