JP2006134302A - 同期式順序回路の状態割当て最適化装置、論理合成装置、同期式順序回路の状態割当て最適化方法、同期式順序回路の状態割当て最適化処理プログラムおよび可読記録媒体 - Google Patents

同期式順序回路の状態割当て最適化装置、論理合成装置、同期式順序回路の状態割当て最適化方法、同期式順序回路の状態割当て最適化処理プログラムおよび可読記録媒体 Download PDF

Info

Publication number
JP2006134302A
JP2006134302A JP2005283050A JP2005283050A JP2006134302A JP 2006134302 A JP2006134302 A JP 2006134302A JP 2005283050 A JP2005283050 A JP 2005283050A JP 2005283050 A JP2005283050 A JP 2005283050A JP 2006134302 A JP2006134302 A JP 2006134302A
Authority
JP
Japan
Prior art keywords
circuit
state
solution
path
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.)
Withdrawn
Application number
JP2005283050A
Other languages
English (en)
Inventor
Masao Yokoyama
昌生 横山
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 JP2005283050A priority Critical patent/JP2006134302A/ja
Publication of JP2006134302A publication Critical patent/JP2006134302A/ja
Withdrawn legal-status Critical Current

Links

Abstract

【課題】 同期式順序回路の設計工程において、状態割当て解候補中で回路面積が最も小さい解を得て回路面積の縮小化を図る。
【解決手段】 同期式順序回路の状態割当て最適化装置4は、回路変換手段3からの回路図情報を用いて、面積への影響が大きい注目パスを特定する注目パス判定手段41と、注目パスの回路図情報から注目パスの特徴を解析する注目パス特徴解析手段42と、注目パスの特徴から注目パスが真理値表のどの状態遷移を反映しているかを判定する判定手段43と、注目パスが反映する状態遷移から複数の状態割当て解候補を策定し、装置外部の回路変換手段3に出力する解候補策定手段44と、複数の状態割当て解候補を用いて回路変換手段3により生成された複数の回路の面積を比較し、面積が最小のものを検出する回路面積比較手段45とを有する。
【選択図】 図1

Description

本発明は、デジタル回路などに幅広く利用される同期式順序回路の設計工程に用いられ、その設計仕様として与えられる状態遷移表に対する状態割当てを最適化するための同期式順序回路の状態割当て最適化装置、これを用いた論理合成装置、同期式順序回路の状態割当て最適化方法、これを実行するための同期式順序回路の状態割当て最適化処理プログラムおよびこの状態割当て最適化処理プログラムが記録されたコンピュータ読み取り可能な可読記録媒体に関する。
組合せ回路は、論理出力がその時刻の論理入力によってのみ決定される回路であり、インバータ、NAND回路、NOR回路およびこれらを組合せた論理回路では、論理入力を論理演算することによって論理出力が得られる。
また、順序回路は、ある時刻の出力がその時刻の論理入力だけでは決定されず、過去から現在までの入力の系列によって出力が決定される回路であり、CPUにおけるデータ転送や演算などを制御する信号が順序回路によって生成される。この順序回路は、基準となるタイミング信号であるクロック信号の下で複数の状態を遷移しながら動作が進められる同期式のものと、論理素子(論理ゲート)や配線の遅延に依存して動作が進められる非同期式のものに分けられる。図10に同期式順序回路を示している。
図10に示すように、同期式順序回路100は、組合せ回路101と、レジスタなどの状態記憶回路102とを有し、状態記憶回路102には現在の状態を示す現状態コードが記憶されている。この同期式順序回路100は、同期信号であるクロック信号に同期して、状態記憶回路102に記憶された現状態コードが組合せ回路101に出力され、入力信号と現状態コードに応じた出力信号が組合せ回路101から出力される。また、組合せ回路101からは、次の状態を示す次状態コードが状態記憶回路102に供給される。産業上でデジタル回路と呼ばれるものの殆どは、この同期式順序回路に該当している。
この同期式順序回路100の設計工程では、その仕様として状態遷移表が与えられる。その一例として、下記(表1)に入力数3、出力数5、状態数4の状態を記号として表現した状態遷移表を示している。

上記(表1)中の“−”は、ドントケア(0でも1でもよいこと)を意味する。例えば、上記(表1)中の1行目は、「入力x1が”0”、かつ、現在の状態が状態HGであるときに、出力w1、w2、w3、w4およびw5の各々に対して”0,0,0,1,0”が出力される。そこで同期信号が与えられても、次の状態は状態HGのままである。」という仕様を表している。また、上記(表1)中の例えば5行目は、「入力x3が”1”、かつ、現在の状態が状態HYであるときに、出力w1、w2、w3、w4およびw5の各々に対して”1,0,1,1,0”が出力される。そこで同期信号が与えられると、次の状態として状態FGに状態遷移する。」という仕様を表している。
上記(表1)の状態遷移表は、各状態を円として表し、起り得る状態遷移を矢印として表して、図11のような状態遷移図として表現される場合もある。図11では、矢印Aによって上記(表1)の1行目および2行目が表され、矢印Bによって上記(表1)の3行目が表され、矢印Cによって上記(表1)の4行目が表され、矢印Dによって上記(表1)の5行目が表され、矢印Eによって上記(表1)の6行目が表され、矢印Fによって上記(表1)の7行目および8行目が表され、矢印Gによって上記(表1)の9行目が表され、矢印Hによって上記(表1)の10行目が表されている。
この他にも、状態遷移の表現方法としては、VHDLやVerilog−HDLなどのHDL(ハードウェア記述言語)によって記述される場合もある。
現在の状態を状態記憶回路102によって記憶するに際しては、各状態を何ビット(bit)かのコード(信号値の組)によって表す必要がある。例えば状態数が4の場合には、2ビット(bit)の状態コード(00,01,10,11)によって各状態を表すことが可能である。
ここで、個々の状態同士を区別するためには、状態数とコード長との間に

コード長≧log2(状態数) ・・・(式1)

という関係式が成り立つ必要がある。
しかしながら、コード長が短い方が状態記憶回路102の記憶容量が少なくてもよいため、状態記憶回路102の面積を小さくすることができる。また、どの状態にどのコードを割当てても図10に示す組合せ回路101を構成することは可能であるが、コードの割当て方によって組合せ回路101に入力される現状態コードと組合せ回路101から出力される次状態コードが変化し、必要な組合せ論理が変化するため、それぞれの状態を適切なコードに割当てることによって、組合せ回路101の面積をより小さく設計することができる。したがって、各状態へのコードの割当て方は、回路面積の縮小化のために非常に重要である。
このように、コードを各状態に割当てる問題は、一般に状態割当て問題と呼ばれており、例えば非特許文献1および非特許文献2などに記載されているように、組合せ論理を表す論理式を共通項の括り出しなどによってより簡単化できる場合に、その組合せ論理を変換して得られる回路の面積をより小さくすることができると考えられる。
従来、回路面積削減を目的とした状態割当て方法または装置としては、例えば特許文献1〜6に開示されているようなものが挙げられる。
例えば特許文献1には、被設計LSIの対象回路毎に特質を見極めて、複数の状態割当てアルゴリズムが記憶された記憶手段から対象回路に最適な状態割当てアルゴリズムを選択し、選択された状態割当てアルゴリズムに基づいて、複数の状態のそれぞれに状態コードを割当てる状態割当て処理を行う自動論理合成装置が開示されている。
特許文献2には、(1)状態遷移表現中で他の状態から遷移してくることが最も多い状態を抽出して、その状態に所定の値を割当て、(2)状態遷移を引き起こす入力が最も複雑な状態を抽出して、その状態を表現するために使用される状態変数の数と状態変数を用いて表現可能な最大の状態数を算出し、算出された最大の状態数から状態変数のいくつかが不定である状態コードの組合せを抽出し、状態コードから状態変数の不定部分が最も多いコードを抽出して、入力が最も複雑な状態に状態変数の不定部分が最も多いコードを割当て、(3)状態コードを割当てた状態と隣接関係を有する状態を抽出して、コードの1桁だけが異なるコードに割当てる状態コード割り付け方法が開示されている。
特許文献3には、設計仕様として与えられた状態遷移表に含まれる状態の数から状態コード長と評価関数とを求めて、その状態コード長から評価関数の値に基づいて、評価関数全体の変数の数が最も削減されるように所定のコードを割当てる同期式順序回路の状態割当て装置が開示されている。
特許文献4には、機能記述において条件保護のように相関の強い保護状態を有する部分に状態コードを優先的に割当てて、その保護部分以外の状態間の相関を計算し、相関の大きいところにハミング距離が小さくなるように状態コードを割当てる倫理状態割当てシステムが開示されている。
特許文献5には、状態遷移記述を解析して有限状態機械を構成する組合せ論理回路を表す論理式を作成して、各状態に2進コードをそれぞれ対応付けた状態割当て解(初期解)を作成し、この状態割当て解を用いて論理式の単純化処理を行って、その処理結果の論理式に基づいて組合せ論理回路の規模を評価し、その評価結果に基づいて状態割当て解を改善可能であるか否かを判定して、改善可能である場合には新しい状態割当て解を生成して評価処理に供する有限状態機械の状態割当て方法が開示されている。
特許文献6には、設計仕様として与えられた状態遷移表に含まれる状態の種類数から状態コード長を求め、状態遷移表から状態対である状態iとjに関して同一状態間および異なる状態間のそれぞれで削減可能な状態変数の個数を考慮して回路の論理式中の変数の個数の削減を評価する関数を求めて、状態コード長と評価関数の値に基づいて、論理式の変数の個数が最も削減されるように各状態にコードを割当てる同期式順序回路の状態割当て方法が開示されている。
大学講座電子工学ディジタル代数学、1966年、共立出版、P232 情報処理ハンドブック、1989年、(社)情報処理学会編、P208 特開平4−264982号公報 特開平5−27976号公報 特開平6−230930号公報 特開平7−192027号公報 特開平9−231251号公報 特開2001−117965号公報
デジタル回路を設計開発する上で、回路面積削減は重要な課題である。例えばウェハ上の50mm×50mmの領域を例として考えた場合に、その領域から5mm×5mmの大きさの回路を100個作製することができるが、4mm×4mmの大きさの回路であれば144個作製することができる。回路の1個当りの原価は、後者の方が単純計算で3割程度安くなる。各回路を同一単価で売却することが可能であれば、その原価の差がそのまま利益増に繋がる。
一方、価格競争を勝ち抜くべく、原価の差を単価に反映させる販売戦略も考えられる。何れにせよ、可能な限りの回路面積削減を図る上で、人手により回路を設計する場合の設計者の能力向上や、論理合成プログラムを用いて回路設計を行う場合のプログラムの性能向上は当然のことながら、より優れた状態割当て方法を採用することが、特に、状態数が非常に大きい回路である場合には重要である。
しかしながら、上述した従来の同期式順序回路の状態割当て方法には、以下のような問題がある。
従来の状態割り当て方法は、何れも、評価基準として「次状態コードと出力信号とを計算する組み合わせ論理を表す論理式における変数の数」を採用しているが、この評価基準は回路面積と完全に相関を有するものではない。その結果、複数の状態割り当て解候補の中から解を取捨選択する過程で、回路面積が最も小さい解が選択されず、捨てられてしまう虞があるという問題を有している。
本発明は、上記従来の問題を解決するもので、回路面積を評価基準として状態割当て解候補を取捨選択して、解候補中で回路面積が最も小さい解を得て回路面積の縮小化を図ることができる同期式順序回路の状態割当て最適化装置、これを用いた論理合成装置、同期式順序回路の状態割当て最適化方法、これを実行するための同期式順序回路の状態割当て最適化処理プログラムおよびこの処理プログラムが記録された可読記録媒体を提供することを目的とする。
本発明の同期式順序回路の状態割当て最適化装置は、回路図情報に基づいて回路占有面積に影響するパスを注目パスとして特定する注目パス判定手段と、該注目パスの回路図情報に基づいてその回路の特徴を解析する注目パス特徴解析手段と、該注目パスの回路の特徴がどの状態遷移を反映したものであるかを判定する注目パスと状態遷移の対応判定手段と、該注目パスが反映する状態遷移から複数の状態割当て解候補を策定する解候補策定手段と、該複数の状態割当て解候補のそれぞれを用いて論理合成された複数の回路図情報に基づいて、それぞれの回路面積が比較されて最小面積の回路を検出する回路面積比較手段とを有し、そのことにより上記目的が達成される。
また、好ましくは、本発明の同期式順序回路の状態割当て最適化装置は、前記回路面積比較手段で検出された最小面積の回路に対応する状態割当て解を入力として、該状態割当て解の状態コード長よりも長い状態コード長の複数の状態割当て解候補を出力する解伸長手段をさらに有する。
さらに、好ましくは、本発明の同期式順序回路の状態割当て最適化装置における注目パス判定手段は、前記回路図情報として、状態記憶回路と組合せ回路とを含む同期式順序回路の情報に基づいて、いずれかの状態記憶回路の出力から該組合せ回路を経て同一または別の状態記憶回路の入力に達するパスの中から前記注目パスを特定する。この場合、少なくとも二つの状態記憶回路間に注目パスがある場合の他に、注目パスの起点となる状態記憶回路と終点となる状態記憶回路が同一のものとなる場合もあり得る。
さらに、好ましくは、本発明の同期式順序回路の状態割当て最適化装置における注目パス判定手段は、前記注目パスとして、パス上の論理ゲートにおける回路占有面積の総和が最も大きいパスまたは、該パス上の論理ゲートおよび配線による遅延の総和が最も大きいパスを選択する。
さらに、好ましくは、本発明の同期式順序回路の状態割当て最適化装置における注目パス特徴解析手段は、前記注目パスの終点の論理ゲートを論理和とした場合に、それが正論理出力および負論理出力のいずれに該当するかを判定し、該注目パスの起点の論理ゲートを論理積とした場合に、それが正論理入力および負論理入力のいずれの論理積に該当するかを判定する。
さらに、好ましくは、本発明の同期式順序回路の状態割当て最適化装置における注目パス特徴解析手段は、前記注目パスの終点の論理ゲートがNAND回路である場合に正論理出力のOR回路と見做し、該注目パスの終点の論理ゲートがAND回路である場合に負論理出力のNOR回路と見做し、該注目パスの起点の論理ゲートがOR回路である場合に負論理入力のNAND回路と見做し、該注目パスの起点の論理ゲートがNOR回路である場合に負論理入力のAND回路と見做す。
さらに、好ましくは、本発明の同期式順序回路の状態割当て最適化装置における注目パスと状態遷移の対応判定手段は、前記注目パスの起点での変化が注目パスの終点まで伝わって起こる状態遷移が、状態遷移表に状態割当ての初期解を適用して得られる真理値表における複数行のうちのどの行に対応するかを判定する。
さらに、好ましくは、本発明の同期式順序回路の状態割当て最適化装置における注目パスと状態遷移の対応判定手段は、前記注目パスの起点と終点の回路の特徴に基づいて、該注目パスが状態遷移表に状態割当ての初期解を適用して得られる真理値表における複数の状態遷移のうちどの状態遷移を反映したものであるかを判定する。
さらに、好ましくは、本発明の同期式順序回路の状態割当て最適化装置における解候補策定手段は、前記注目パスが反映する、状態遷移表に状態割当ての初期解を適用して得られる真理値表の行情報中に現れている現状態コードに関して該注目パスの起点に対応する現状態コードの桁を特定し、該状態割当ての初期解に対して該注目パスの起点に対応する状態コードの桁の値が逆になるように当該状態コードを交換して別解候補とし、該状態割当ての初期解に対して該注目パスの終点に対応する状態コードの桁の値が逆になるように当該状態コードを交換して他の別解候補とする。この場合、「起点に対応する現状態コードの桁」は例えば二桁の左側とは限らず、右側の場合もある。
さらに、好ましくは、本発明の同期式順序回路の状態割当て最適化装置における回路面積比較手段は、前記複数の状態割当て解候補のうち、初期解を用いて論理合成された回路の面積が最小であればその初期解を最終解とし、別解を用いて論理合成された回路の面積が最小であればその別解を新たな初期解として、前記注目パス判定手段に該新たな初期解およびその回路図情報を供給して処理を繰り返す。
また、好ましくは、本発明の同期式順序回路の状態割当て最適化装置における回路面積比較手段は、前記複数の状態割当て解候補のうち、初期解を用いて論理合成された回路の面積が最小であればその初期解をその状態コード長での最終解とし、別解を用いて論理合成された回路の面積が最小であればその別解を新たな初期解として、前記注目パス判定手段に該新たな初期解およびその回路図情報を供給して処理を繰り返し、ビットが一つ短い状態コード長における最終解の回路面積を記憶しておき、現在の状態コード長における最終解と、該ビットが一つ短い状態コード長における最終解との各回路面積を比較して、該現在の状態コード長の回路面積の方が小さい場合に前記解伸長手段による解伸長処理を行い、該ビットが一つ短い状態コード長の回路面積の方が小さい場合にその回路面積を最終解の回路面積とする。
さらに、好ましくは、本発明の同期式順序回路の状態割当て最適化装置における解伸長手段は、前記最終解に対して1ビット分だけ長い複数の解候補を生成する。
本発明の論理合成装置は、本発明の上記同期式順序回路の状態割当て最適化装置と、状態遷移表と状態割当て解から、組合せ回路と状態記憶回路とを含む同期式順序回路を前記回路図情報として論理合成する回路変換手段とを備え、そのことにより上記目的が達成される。
本発明の同期式順序回路の状態割当て最適化方法は、本発明の上記同期式順序回路の状態割当て最適化装置を用いてコンピュータ処理する同期式順序回路の状態割当て最適化方法であって、回路図情報を用いて回路占有面積に影響するパスを注目パスとして特定する注目パス判定ステップと、該注目パスの回路図情報を用いてその回路の特徴を解析する注目パス特徴解析ステップと、該注目パスの回路の特徴がどの状態遷移を反映したものであるかを判定する注目パスと状態遷移の対応判定ステップと、該注目パスが反映する状態遷移から複数の状態割当て解候補を策定する解候補策定ステップと、該複数の状態割当て解候補のそれぞれを用いて論理合成された複数の回路図情報を用いて、それぞれの回路面積を比較して面積が最小の回路を検出する回路面積比較ステップとを有し、そのことにより上記目的が達成される。
また、好ましくは、本発明の同期式順序回路の状態割当て最適化方法は、前記回路面積比較ステップで検出された最小面積の回路に対応する状態割当て解を入力として状態コード長が1ビット分だけ長い複数の状態割当て解候補を出力する解伸長ステップをさらに有し、該解伸長ステップによる該複数の状態割当て解候補を用いて論理合成された複数の回路図情報を用いて前記回路面積比較ステップを実行する。
さらに、好ましくは、本発明の同期式順序回路の状態割当て最適化方法における注目パス判定ステップは、状態記憶回路と組合せ回路とを含む同期式順序回路の回路図情報を用いて、いずれかの状態記憶回路の出力から該組合せ回路を経て同一または別の状態記憶回路の入力に達するパスの中で回路占有面積に影響するパスを注目パスとして特定する。
さらに、好ましくは、本発明の同期式順序回路の状態割当て最適化方法における注目パスと状態遷移の対応判定ステップは、前記注目パスの回路の特徴を用いて、該注目パスが状態遷移表に状態割当ての初期解を適用して得られる真理値表の複数の状態遷移うちどの状態遷移を反映したものであるかを判定する。
本発明の同期式順序回路の状態割当て最適化プログラムは、本発明の上記同期式順序回路の状態割当て最適化方法の各処理ステップをコンピュータに実行させるための処理手順が記録されており、そのことにより上記目的が達成される。
本発明の可読記録媒体は、本発明の上記同期式順序回路の状態割当て最適化処理プログラムが記録されたコンピュータ読み取り可能な可読記録媒体であって、そのことにより上記目的が達成される。
上記構成により、以下に、本発明の作用について説明する。
回路面積は、状態遷移表と状態割当てを限定しても、何らかの計算によって直接的に求まるものではない。まず、回路に変換する際の条件(人手により変換する場合の設計者の癖、論理合成を適用する場合の論理合成プログラムの種類やバージョン、セルライブラリの構成、仕様や製造上の制限による様々な設計制約等)が異なると、設計される回路は、面積、動作速度、構造などが異なった多様なものになる。
また、回路に変換する際の条件を限定した場合でも、実際に回路に変換してみないと、正確な回路面積を知ることはできない。したがって、状態割当ての全ての場合について、各々回路に変換した後で面積を比較してみないと、回路面積が最小になる状態割当てを特定することはできない。
しかしながら、下記(表2)に示すように、状態数が増えると、状態割当ての場合の数が爆発的に増える。

上記(表2)は、状態数と、状態割当ての場合の数との関係を示すものである。例えば、状態数が4の場合には、上記(式1)から状態コード長が2となり、00〜11の4個のコードの中から4個を選んで4つの状態のそれぞれに割当てる状態割当ての場合の数は24となる。しかしながら、状態数が5の場合には、上記(式1)から状態コード長が3となり、000〜111の8個のコードの中から5個を選んで5つの状態のそれぞれに割当てる状態割当ての場合の数は6720となる。したがって、状態割当ての全ての場合について回路に変換して面積を比較するという方法は、状態数が5以上になると実用的でなくなる。
また、従来の状態割当て方法では、いずれも、評価基準として「次状態コードと出力信号とを計算する組合せ論理を表す論理式における変数の数」を採用しているため、回路面積が最も小さくなる状態割当て解が選択されず、捨てられてしまう可能性がある。
上記従来の状態割当て方法の問題を解決するために、状態割当て解候補を幾つか挙げた上で、その全てを実際に回路に変換し、回路面積そのものを評価基準として回路面積が最小のものを選択するという方法を考え出した。
この場合、回路面積そのものが評価基準であるため、状態割当て解候補の生成と解の選択とを繰返すことによって、より回路面積が小さい解にたどり着くことが可能であると考えられる。しかしながら、解候補を多数挙げてしまうと、回路に変換すべき解候補の数が膨大になってしまい、その結果、実用的な時間内に最適な状態割当て解を決定することができないという問題がある。
そこで、本発明にあっては、注目パス判定手段によって、状態記憶回路と組合せ回路とを含む同期式順序回路の回路図情報を用いて、いずれかの状態記憶回路の出力から組合せ回路を経て別の状態記憶回路の入力に達するパスの中で、より面積への影響が大きいパスが注目パスとして特定される。
この回路図情報は、設計仕様として与えられる状態遷移表から、装置外部に設けられた状態割当て手段によって生成された状態遷移表および状態割当て解を用いて、装置外部に設けられた回路変換手段によって論理合成されたものである。
注目パス特徴解析手段によって、その注目パスの回路図情報を用いて、その回路の特徴が解析され、注目パスと状態遷移の対応判定手段によって、注目パスが状態遷移表に状態割当ての初期解を適用して得られる真理値表の複数の状態遷移うちどの状態遷移を反映したものであるかが判定される。さらに、解候補策定手段によって、注目パスが反映する状態遷移から複数の状態割当て解候補が策定される。例えば、与えられた状態割当て解に対して、状態コードの入替えによって別解候補が複数生成される。それらの状態割当て解候補は、装置外部に設けられた回路変換手段に出力され、回路変換手段によって、それぞれの状態割当て解候補を用いて回路図情報が論理合成される。さらに、回路面積比較手段によって、その複数の回路図情報を用いて、それぞれの回路の面積が比較されて、面積が最小となる回路(および解候補)が決定される。
このように、状態割当て解候補の各々を実際に論理合成してみて得られる回路面積そのものを評価基準とし、かつ、回路面積に対する影響がより大きい解候補に絞ることによって、短時間で、回路面積がより小さくなるように状態コードを割当てることが可能となる。
このように、本発明者らは、基礎となる先の特許出願(特願2004−291980号;本願の実施形態1に対応)において、与えられた状態割り当て解に対し、状態コードの入れ替えによって別解候補を複数生成し、そのそれぞれを実際に論理合成してみて得られる回路面積の最も小さい解を選ぶことを繰り返して、より得られる回路面積が小さくなるような状態割り当て解を求める手法を提案している。
この手法において、状態コード長と回路面積の間には相関関係があり、状態割当てで上記(式1)を満たす中で最短のコードを用いるのが回路面積削減に有効であると考えられているが、完全相関の関係にはない。したがって、状態コード長が最短である一つの状態割当て解に対して、状態コード長が長く、かつ、回路面積が小さい解が存在する可能性がある。しかしながら、上記手法の状態割当て方法においては、上記(式1)を満たす中で最短の状態コードか、状態数と状態コード長とが等しい、いわゆるワンホットコードしか用いられていない。その結果として、状態割当て解に対して、状態コード長が長くかつ回路面積が小さい解が存在していながら、それが選択されることなく捨てられてしまう虞があるという問題を有していた。
これに対して、本発明では、状態コード長が1ビット(1bit)分だけ長い複数の状態割当て解候補を出力する解伸長手段によって、1ビット(1bit)分だけ長い複数の状態割当て解候補が生成され、装置外部に設けられた回路変換手段に出力される。再度、回路面積比較手段によって、その複数の回路図情報を用いて、それぞれの回路の面積が比較されて、面積が最小となる回路(および解候補)が決定される。
このように、回路面積そのものを評価基準とし、かつ、回路面積に対する影響がより大きい解候補に絞ることに加え、状態コード長が長い解候補を候補に加えることによって、短時間で、回路面積がより小さくなるように状態コードを割当てることが可能となる。
したがって、本発明では、上記問題を解決して、状態割当て解候補として状態コード長が最短の解候補だけでなく、それらより状態コード長が長い解候補を加え、その中から取捨選択して、解候補中で回路面積が最も小さい解を得て回路面積の縮小化を図ることができる同期式順序回路の状態割当て最適化装置、これを用いた論理合成装置、同期式順序回路の状態割当て最適化方法、これを実行するための同期式順序回路の状態割当て最適化処理プログラムおよびこの状態割当て最適化処理プログラムが記録された可読記録媒体を得ることが可能となる。
以上説明したように、本発明によれば、同期式順序回路の状態割当てを、回路面積そのものを評価基準として最適化することによって、その状態割当て解を用いて論理合成された回路の面積を、従来の同期式順序回路の状態割当て方法により状態コードが割当てられた場合の回路面積以下とすることができる。
また、回路面積に対する影響がより大きなパスを注目パスとして特定し、その注目パスに対して複数の状態解候補を策定しているため、解候補が絞られて、処理時間を短縮化することができる。
さらに、状態コード長が長い解候補を候補に加えることによって、その状態割当て解を用いて論理合成された回路の面積を、従来の同期式順序回路の状態割当て方法により状態コードが割当てられた場合の回路面積以下とすることができる。
以下に、本発明の同期式順序回路の状態割当て最適化装置を用いた論理合成装置の実施形態1および2について、図面を参照しながら詳細に説明する。
(実施形態1)
図1は、本発明の実施形態1に係る同期式順序回路の状態割当て最適化装置を含む論理合成装置の構成例を示すブロック図である。
図1に示すように、論理合成装置1は、状態割当て手段2と、回路変換手段3と、本実施形態1の同期式順序回路の状態割当て最適化装置4とを備えている。
状態割当て手段2は、予め設計仕様として入力される状態遷移表を用いて、複数の状態のそれぞれに状態コードが割当てられ、割当てられたコードが状態割当ての初期解として出力される。
状態遷移表としては、例えば上記(表1)に示すようなものが入力される。上記(表1)は、上述したように、入力数3、出力数5および状態数4の状態遷移表の一例を示すものである。
下記(表3)は、上記(表1)に示す状態遷移表に対して、状態割当て手段2によって行われる状態割当ての一例を示すものであり、これが状態割当ての初期解として出力される。

上記(表3)では、その一例として、状態HGに”00”が割当てられ、状態HYに”01”が割当てられ、状態FGに”11”が割当てられ、状態FYに”10”が割当てられている。
次に、回路変換手段3は、状態割当て手段2から供給される状態遷移表の情報と状態割当ての初期解とを用いて、ある条件設定の下で論理合成を行って、図10に示すように、入力信号と現状態コードが入力されたときに出力信号と次状態コードとを生成して出力する組合せ回路101と、クロック信号に同期して現状態コードを組合せ回路101に出力し、組合せ回路101から入力される次状態コードを記憶する状態記憶回路102とを有する同期式順序回路の回路図情報が論理合成により生成される。
図2に、上記(表1)の状態遷移表に対して上記(表3)の状態割当ての初期解を適用して、回路変換手段3により生成された回路図情報の一例を示している。
図2に示す回路は、組合せ回路としてのインバータ回路51〜55、NOR回路56〜58、OR回路59、セレクタ60,61およびNAND回路62〜67と、状態記憶回路としてのD型フリップフロップ68および69とによって構成されており、信号x1〜x3が入力されて信号w1〜w5が出力されるように構成されている。
なお、状態割当て手段2および回路変換手段3について、その実現方法は特に限定されないが、近年では様々な論理合成技術が実用化されており、そのような論理合成技術を用いた自動処理装置を利用することができる。
次に、本実施形態1の同期式順序回路の状態割当て最適化装置4は、図1に破線で囲んだ部分として示しており、注目パス判定手段41と、注目パス特徴解析手段42と、注目パスと状態遷移の対応判定手段43と、解候補策定手段44と、回路面積比較手段45とを有している。
以下に、本実施形態1の同期式順序回路の状態割当て最適化装置4における各手段について順次詳細に説明する。
(注目パス判定手段41)
注目パス判定手段41は、回路図情報に基づいて回路占有面積に影響するパスを注目パスとして特定する。これについて以下、詳細に説明する。
注目パス判定手段41には、回路変換手段3で生成された状態記憶回路と組合せ回路とを含む同期式順序回路の回路図情報が入力される。
注目パス判定手段41では、その回路図情報のうち、状態記憶回路のいずれかの出力から組合せ回路を経て状態記憶回路のいずれかの入力に達するパスの中で、より占有面積への影響が大きいパスが注目パスとして特定する。ここでは、「パス」とは、互いに接続関係にある連続した論理ゲートの並びのことを言う。
注目パスとしては、例えばパス上の論理ゲートにおける回路占有面積の総和が最も大きいパス、またはパス上の論理ゲートおよび配線による遅延の総和が最も大きいパス(いわゆるクリティカルパス)を選び出す。
両者は必ずしも一致するものではなく、占有面積への影響が大きいという点では、前者の方がより適しているが、回路変換手段3として論理合成装置を用いる場合には、その論理合成装置のクリティカルパス判定機能を利用することによって、後者の方が処理時間短縮化を図ることができるという点で有利である。
例えば、図2に示す回路図から、注目パス判定手段41によってクリティカルパスを注目パスとして選び出した場合の注目パスの回路図情報を図3に示している。
図3の例では、図2に太線部分が注目パスとして特定されており、状態記憶回路のいずれかの出力であるD型フリップフロップ69の出力から、組合せ回路であるNOR回路56さらにOR回路59を経て、状態記憶回路の別のいずれかの入力であるD型フリップフロップ68の入力まで達するパスとなっている。
注目パス判定手段41によって選び出されたパスは、注目パスとして、その回路図情報(例えば図3の内容)が注目パス特徴解析手段42に出力される。
(注目パス特徴解析手段42)
注目パス特徴解析手段42には、注目パス判定手段41で特定された注目パスの回路図情報が入力され、この注目パスの回路図情報に基づいて、以下のようにして注目パスの特徴が解析される。
注目パス特徴解析手段42では、注目パスの終点の論理ゲートを論理和と見た場合に、それが図4(a)に示すように正論理出力(OR回路71)に該当するか、図4(b)に示すように負論理出力(NOR回路72)に該当するかが判定される。
ここで、注目パスの終点の論理ゲートが、図4(c)に示すようにNAND回路73である場合には、そのNAND回路73は負論理入力かつ正論理出力の論理和と等価であるため、OR回路71と見做される。また、注目パスの終点の論理ゲートが、図4(d)に示すようにAND回路74である場合には、そのAND回路74は負論理入力かつ負論理出力の論理和と等価であるため、NOR回路72と見做される。
また、注目パス特徴解析手段42では、注目パスの起点の論理ゲートを論理積と見た場合に、それがどのような信号の論理積に対応するかが判定される。この場合、図5(a)に示す正論理出力(AND回路75)であるかまたは、図5(b)に示す負論理出力(NAND回路76)であるかは問われず、入力信号によって特徴解析が行われる。
ここで、注目パスの起点の論理ゲートが、図5(c)に示すOR回路77である場合には、そのOR回路77は負論理入力かつ負論理出力の論理積と等価であるため、負論理入力のNAND回路76と見做される。また、注目パスの起点の論理ゲートが、図5(d)に示すNOR回路78である場合には、そのNOR回路78は負論理入力かつ正論理出力の論理積と等価であるため、負論理入力のAND回路75と見做される。
例えば図3の例では、D型フリップフロップ69の出力からNOR回路56さらにOR回路59を経てD型フリップフロップ68の入力まで達する注目パスが示されており、この注目パスの終点の論理ゲートは正論理出力の3入力OR回路59である。
また、この注目パスの起点の論理ゲートは負論理出力の3入力NOR回路56であるが、これは負論理入力のAND回路と見做される。
下記(表4)は、上記(表1)の状態遷移表に対して上記(表3)の状態割当てを適用して得られる真理値表の一例を示すものである。

上記(表4)の例では、上記(表1)の現状態コードおよび次状態コードとして、(表3)に示すように、状態HGにコード”00”、状態HYに”01”、状態FGに”11”、状態FYに”10”が割当てられている。現状態の2桁のコードはそれぞれ入力信号s1およびs0に割当てられ、次状態の2桁のコードはそれぞれ出力信号ns1およびns0に割当てられている。
上記(表4)に図3の信号名を当てはめると、入力信号s1およびs0はそれぞれD型フリップフロップ69および68からの出力信号となり、出力信号ns1およびns0はそれぞれD型フリップフロップ69および68への入力信号となる。3入力NOR回路56に該当する論理はx1・x2・¬s1(但し、「・」は論理積、「¬」は論理否定を表す)となる。
注目パス特徴解析手段42によって解析された注目パスの終点と起点のゲート情報は、注目パスと状態遷移の対応判定手段43に出力される。
(注目パスと状態遷移の対応判定手段43)
注目パスと状態遷移の対応判定手段43は、注目パスの特徴がどの状態遷移を反映したものであるかを判定する注目パスと状態遷移の対応判定を行う。これについて以下、詳細に説明する。
注目パスと状態遷移の対応判定手段43には、注目パス特徴解析手段42から、注目パスの特徴として、注目パスの終点と起点の回路の特徴であるゲート情報が入力される。
注目パスと状態遷移の対応判定手段43では、その注目パスが状態遷移表およびその状態遷移表に状態割当ての初期解を適用して得られる真理値表における複数の状態遷移のうちどの状態遷移を反映したものであるかを判定する。これは、注目パスの起点での変化が注目パスの終点まで伝わって起こる状態遷移が、状態遷移表およびその状態遷移表に状態割当ての初期解を適用して得られる真理値表における複数行(複数の状態遷移)のうちのどの行(状態遷移)に対応するかによって判定する。
例えば下記(表5)に示す真理値表であれば、出力w1の生成方法は、
¬x1・x2とx1・¬x2のOR
¬x1・¬x2とx1・x2のNOR
(・は論理積、¬は論理否定を表す)
の2通りである。

上記(表5)は、ごく簡単な真理値表の一例を示すものである。
例えば、上記(表5)の1行目では(x1,x2)が(0,0)でw1が”0”であるため、「¬x1・x2とx1・¬x2のOR」および「¬x1・¬x2とx1・x2のNOR」のいずれによってもw1が”0”となる。また、上記(表5)の2行目では(x1,x2)が(0,1)でw1が”1”であるため、「¬x1・x2とx1・¬x2のOR」および「¬x1・¬x2とx1・x2のNOR」のいずれによってもw1が”1”となる。3行目および4行目についても同様である。
上記(表5)を元に生成された回路が与えられた場合、仮に、出力w1がOR回路から出力されていたとすると、そのOR回路の入力論理は¬x1・x2とx1・¬x2のはずである。¬x1・x2が”1”となるのは、上記(表5)の2行目の条件の時である。x1・¬x2が”1”となるのは、上記(表5)の3行目の条件の時である。よって、OR回路を含めた回路全体は、上記(表5)の2行目と3行目を反映しているということになる。また、上記(表5)の2行目と3行目とは、いずれも、上記(表5)においてw1が”1”となる行である。これらのことから、注目パスの終点の論理ゲートがOR回路であれば、注目パスの終点に対応する真理値表の列が”1”となる行を注目パスが反映している可能性があると判断できる。
逆に、出力w1がNOR回路から出力されていたとすると、そのOR回路の入力論理は¬x1・¬x2とx1・x2のはずである。¬x1・¬x2が”1”となるのは、上記(表5)の1行目の条件の時である。x1・x2が”1”となるのは、上記(表5)の4行目の条件の時である。よって、NOR回路を含めた回路全体は、上記(表5)の1行目と4行目を反映しているということになる。また、上記(表5)の1行目と4行目とは、いずれも、上記(表5)においてw1が”0”となる行である。これらのことから、注目パスの終点の論理ゲートがNOR回路であれば、注目パスの終点に対応する真理値表の列が”0”となる行を注目パスが反映している可能性があると判断できる。
また、注目パスの起点の論理ゲートに対応する論理積を、真理値表の各行の入力信号欄と照らし合せた場合に、論理的に等しいか、または包含関係にある場合は、その行を注目パスが反映している可能性がある。
このように、注目パスと状態遷移の対応判定手段43では、注目パスの終点の論理に着目した場合と、注目パスの起点の論理に着目した場合の各々について、注目パスが反映している可能性がある真理値表の行(状態遷移)が選ばれる。
そこで、その両方で可能性があると選択された真理値表の行(状態遷移)が、注目パスが反映する行(状態遷移)として判定される。
例えば、図3に示す注目パスの終点の論理ゲートであるOR回路59の出力は、上記(表4)の真理値表において信号ns0を生成するものである。この論理ゲートが正論理出力のOR回路59であるため、図3に示す注目パスが(表4)の真理値表において信号ns0に対して”1”を出力する行(3行目〜6行目)を反映している可能性がある。
また、図3に示す注目パスの起点の論理ゲートであるNOR回路56の論理は、図5(d)に示すように負論理入力の正出力AND回路と見なされるため、x1・x2・¬s1となる。上記(表4)の真理値表中で、これに該当する行は、3行目である。よって、図3に示す注目パスは、上記(表4)の真理値表において3行目の状態遷移を反映している可能性がある。
したがって、注目パスの終点の論理に着目した場合と、注目パスの起点の論理に着目した場合の各々について、注目パスが反映している可能性がある真理値表の行は3行目であり、注目パスは真理値表の3行目の状態遷移を反映していると判定される。表4の他の行は、図2の注目パス以外のパスを反映している。注目パスが長い場合には他のパスを含む場合もある。
注目パスと状態遷移の対応判定手段43によって判定された注目パスが反映する真理値表の行(状態遷移)の情報は、解候補策定手段44に出力される。
(解候補策定手段44)
解候補策定手段44は、注目パスが反映する状態遷移から複数の状態割当て解候補を策定する。これについて以下、詳細に説明する。
解候補策定手段44では、注目パスと状態遷移の対応判定手段43から、注目パスと状態遷移の対応判定結果として、注目パスが反映する真理値表の行情報(状態遷移)が入力される。真理値表の行情報(状態遷移)は、状態遷移表に状態割当ての初期解を適用して得られたものであり、図6に示すように、現状態コードと次状態コードとを表す部分を含んでいる。
解候補策定手段44では、注目パスが反映する状態遷移(真理値表の行情報)から複数の状態割当て解候補が策定される。
まず、注目パスの起点の信号名に基いて、注目パスが反映する真理値表の行中に現れている現状態コードに関して、注目パスの起点に対応する現状態コードの桁が特定される。また、注目パスの終点の信号名に基いて、注目パスが反映する真理値表の行中に現れている次状態コードに関して、注目パスの終点に対応する次状態コードの桁が特定される。
状態割当ての初期解に対して、注目パスの起点に対応する現状態コードの桁の値が、”0”に対して”1”、”1”に対して”0”と逆になるように、2状態の状態コードだけが交換されて、これが1つ目の別解候補として設定される。例えば、状態コード”011”の1桁目が注目パスの起点に対応する場合には、状態コードが”010”である状態との間で状態コードが交換される。
また、状態割当ての初期解に対して、注目パスの終点に対応する状態コードの桁の値が、”0”に対して”1”、”1”に対して”0”と逆になるように、2状態の状態コードだけが交換されて、これが2つ目の別解候補として設定される。例えば、状態コード”011”の3桁目が注目パスの終点に対応する場合には、状態コードが”111”である状態との間で状態コードが交換される。
注目パスと状態遷移の対応判定手段43から、注目パスが反映する真理値表の行が複数入力されている場合には、その各々から別解候補が設定される。
例えば、上記(表4)に示す真理値表の3行目は、状態HGから状態HYへの遷移を表しており、状態コード”00”が割当てられた状態HGの左側の桁(信号s1に対応)を起点とし、状態コード”01”が割当てられた状態HYの右側の桁(信号ns0に対応)を終点として、注目パスが形成されている。よって、別解候補は、下記(表6)のように2通り生成することができる。

上記(表6)は、本実施形態1において、解候補策定手段44によって生成される状態割当て解候補を示すものである。
上記(表6)の中央に示す解候補1は、上記(表6)の左側に示す初期解に対して例えば状態HGのコードにおける左側の桁だけを変えるべく、状態HGのコード”00”と状態FYのコード”10”を入れ替えて状態HGのコードが”10”、状態FYのコードが”00”として設定されている。また、上記(表6)の右側に示す解候補2は、上記(表6)の左側に示す初期解に対して状態HGのコードにおける右の桁だけを変えるべく、状態HYのコード”01”と状態HGのコード”00”を入れ替えて状態HYのコードが”00”、状態HGのコードが”01”として設定されている。
即ち、解候補策定手段44は、注目パスの起点の信号名に基づいて、注目パスが反映する状態遷移表に状態割当ての初期解を適用して得られる真理値表の行情報中に現れている現状態コードに関して注目パスの起点に対応する現状態コードの桁を特定し、その状態割当ての初期解に対して注目パスの起点に対応する状態コードの桁の値が逆になるようにその状態コードを交換して別解候補とし、その状態割当ての初期解に対して注目パスの終点に対応する状態コードの桁の値が逆になるようにその状態コードを交換して他の別解候補とする。
解候補策定手段44で得られた状態割当て解候補は、同期式順序回路の状態割当て最適化装置4の外部に設けられた回路変換手段3に対して出力される。
この回路変換手段3によって、状態割当て手段2から供給される状態遷移表と解候補策定手段44から供給される複数の状態割当て解候補とを用いて、同期式順序回路の回路図情報が論理合成により生成される。回路変換手段3によって生成された複数の回路図情報と、状態割当て解候補は、回路面積比較手段45に出力される。
(回路面積比較手段45)
回路面積比較手段45は、解候補策定手段44による複数の状態割当て解候補のそれぞれを用いて装置外部の回路変換手段3により論理合成された複数の回路図情報の面積を比較して最小の回路を検出する。これについて以下、詳細に説明する。
初期解が回路変換された結果の面積が最小であれば、その初期解が最終解として判定され、本実施形態1の同期式順序回路の状態割当て最適化装置4による処理が終了する。
また、別解の何れかが回路変換された結果の面積が最小でれば、それが新たな初期解として設定されて、新たな初期解とその回路図情報が注目パス生成手段41に出力され、注目パス生成手段41から回路面積比較手段45による各処理が繰り返される。
本実施形態1では、回路面積比較手段45による1回目の処理を行ったところ、上記(表6)に示す初期解、解候補1および解候補2の各々を論理合成して得られた回路の面積がそれぞれ37、35および42となった。
そこで、解候補1を新たな初期解として、パス生成手段41から回路面積比較手段45による各処理を繰り返したところ、解候補策定手段44による2回目の処理によって解候補が2つ得られ、回路面積比較手段45による2回目の処理によって、初期解、解候補1および解候補2の各々を論理合成して得られた回路の面積がそれぞれ35、37および43となった。
この時点で、本実施形態1の同期式順序回路の状態割当て最適化装置4による処理が終了し、回路面積比較手段45から出力する2回目の処理時の初期解、即ち、回路面積比較手段45から出力される1回目の処理時の解候補1が最終解として検出される。
このように、回路面積比較手段45には、回路変換手段3から複数の状態割当て解候補の各々に対応する回路図情報が入力され、この入力回路図情報に基づいてそれぞれの回路の面積が比較されて最小の回路を検出する。
以上により、本実施形態1によれば、同期式順序回路の状態割当て最適化装置4は、回路変換手段3からの回路図情報を用いて、面積への影響が大きい注目パスを特定する注目パス判定手段41と、注目パスの回路図情報から注目パスの特徴を解析する注目パス特徴解析手段42と、注目パスの特徴から注目パスが真理値表のどの状態遷移を反映しているかを判定する判定手段43と、注目パスが反映する状態遷移から複数の状態割当て解候補を策定し、装置外部の回路変換手段3に出力する解候補策定手段44と、複数の状態割当て解候補を用いて回路変換手段3により生成された複数の回路の面積を比較し、面積が最小のものを検出する回路面積比較手段45とを有している。
したがって、従来のように、回路面積と完全相関がある訳ではない評価基準ではなく、回路面積そのものを評価基準として用いているため、より最適な状態割当て解を検出することができ、得られる状態割当て解を用いて回路を論理合成したときの回路面積は、初期解を用いて回路を論理合成したときの回路面積以下とすることができる。よって、従来手法の一つを状態割当て手段として用いた場合に、本実施形態1により得られる状態割当て解を回路に変換したときの回路面積は、従来手法により得られる状態割当て解を回路に変換したときの回路面積に比べて、必ずそれ以下の縮小化された面積にすることができる。
また、注目パスとして、状来割当て解を変化させることにより、より大きな面積的変化が期待されるパスのみに着目して、その注目パスに変化が生じるもののみを別解候補とすることによって、短時間で最適な状態割当て解を得ることができる。
なお、本実施形態1では、1回目の処理時の初期解、解候補1および解候補2を用いた論理合成と、2回目の処理時の解候補1および解候補2を用いた論理合成の延べ5回の論理合成によって最適な状態割当て解を得ることができたが、回路変換手段3を用いて論理合成を何度が実行しなければならないという点で、処理時間は従来手法よりも大きくなる懸念がある。しかしながら、回路変換手段3として、人手によるものではなく、論理合成プログラムを用いれば、本実施形態1で説明したような規模の回路であれば、1秒未満で1個の回路を論理合成することができるため、実用的な時間内に最適な状態割当て解を得ることができる。
図7(a)は、本実施形態1の同期式順序回路の状態割当て最適化方法をコンピュータによって処理するための論理合成装置の構成例を示すブロック図である。
図7(a)に示すように、論理合成装置80は、制御手段としてのCPU(中央演算処理装置)81と、可読記録媒体(記憶手段)としてのROM82と、CPU81がワークメモリとして利用する記憶手段としてのRAM83と、キーボードやマウスなどを含む入力部84と、ディスプレイやプリンタなどを含む出力部85とを有している。
ROM52には、本実施形態1の同期式順序回路の状態割当て最適化方法をコンピュータによって実行させるための各処理手順が記述された同期式順序回路の状態割当て最適化処理プログラムおよびそのデータが記憶されており、CPU81は、この状態割当て最適化処理プログラムおよびそのデータをRAM83に読み出して、同期式順序回路の状態割当て最適化処理を実行する。操作者は、必要に応じて出力部85の表示画面上の処理結果を目で確認しながら、入力部84から操作指示や設定値などを入力指示することができる。処理結果データとしての回路図情報および状態割当て解はROM82に記憶される。
可読記録媒体としては、各種ICメモリ、光ディスク(例えばCD)および磁気記録媒体(例えばFD)などの小型携帯用記憶装置であり、本発明の状態割当て最適化処理プログラムおよびそのデータがコンピュータ読み取り可能な可読記録媒体である。
論理合成装置80は、同期式順序回路の状態割当て最適化処理プログラムおよびそのデータに基づいて、図7(b)に示す次の各ステップS1〜S7を順次実行する。
まず、注目パス判定ステップS1では、注目パス判定手段41が回路図情報を用いて回路占有面積に影響するパスを注目パスとして特定する。この注目パス判定ステップS1では、状態記憶回路と組合せ回路とを含む同期式順序回路の回路図情報を用いて、いずれかの状態記憶回路の出力から組合せ回路を経て同一または別の状態記憶回路の入力に達するパスの中で回路占有面積に影響するパスを注目パスとして特定する。この注目パスとしては、例えば、パス上の論理ゲートにおける回路占有面積の総和が最も大きいパスまたは、そのパス上の論理ゲートおよび配線による遅延の総和が最も大きいパスを選択する。
次に、注目パス特徴解析ステップS2では、注目パス特徴解析手段42が、この注目パスの回路図情報を用いてその回路の特徴を解析する。この注目パス特徴解析ステップS2では、注目パスの終点の論理ゲートを論理和とした場合に、それが正論理出力および負論理出力のいずれに該当するかを判定し、注目パスの起点の論理ゲートを論理積とした場合に、それが正論理入力および負論理入力のいずれの論理積に該当するかを判定する。例えば、注目パスの終点の論理ゲートがNAND回路である場合に正論理出力のOR回路と見做し、注目パスの終点の論理ゲートがAND回路である場合に負論理出力のNOR回路と見做し、注目パスの起点の論理ゲートがOR回路である場合に負論理入力のNAND回路と見做し、該注目パスの起点の論理ゲートがNOR回路である場合に負論理入力のAND回路と見做す。
その後、注目パスと状態遷移の対応判定ステップS3では、注目パスと状態遷移の対応判定手段43で、この注目パスの回路の特徴がどの状態遷移を反映したものであるかを判定する。この注目パスと状態遷移の対応判定ステップS3では、注目パスの起点での変化が注目パスの終点まで伝わって起こる状態遷移が、状態遷移表に状態割当ての初期解を適用して得られる真理値表における複数行のうちのどの行に対応するかを判定する。このとき、注目パスの起点と終点の回路の特徴に基づいて、この注目パスが状態遷移表に状態割当ての初期解を適用して得られる真理値表の複数の状態遷移のうちどの状態遷移を反映したものであるかを判定する。
さらに、解候補策定ステップS4では、解候補策定手段44で、この注目パスが反映する状態遷移から複数の状態割当て解候補を策定する。この解候補策定ステップS4では、注目パスが反映する、状態遷移表に状態割当ての初期解を適用して得られる真理値表の行情報中に現れている現状態コードに関して、その注目パスの起点に対応する現状態コードの桁を特定し、状態割当ての初期解に対して注目パスの起点に対応する状態コードの桁の値が逆になるように当該状態コードを交換して別解候補とする。また、状態割当ての初期解に対して注目パスの終点に対応する状態コードの桁の値が逆になるように当該状態コードを交換して他の別解候補とする。
さらに、回路面積比較ステップS5では、回路面積比較手段45が、この複数の状態割当て解候補のそれぞれを用いて論理合成された複数の回路図情報を用いて、それぞれの回路面積を比較して面積が最小の回路を検出する。
さらに、初期解/別解判定ステップS6では、回路面積比較手段45が、複数の状態割当て解候補のうち、初期解を用いて論理合成された回路の面積が最小であるか、初期解以外の別解を用いて論理合成された回路の面積が最小であるかを判定する。
初期解/別解判定ステップS6において、複数の状態割当て解候補のうち、初期解を用いて論理合成された回路の面積が最小であれば、最終解決定ステップS7に進み、その初期解を最終解として、処理を終了する。
また、初期解/別解判定ステップS6において、複数の状態割当て解候補のうち、別解を用いて論理合成された回路の面積が最小であれば、その別解を新たな初期解として、新たな初期解およびその回路図情報を供給して、注目パス判定ステップS1から回路面積比較ステップS6の各処理を繰り返す。
以上のように、本実施形態1では、与えられた状態割当て解に対して、状態コードの入れ替えによって別解候補を複数生成し、その各々を実際に論理合成してみて得られる回路面積が最も小さい解を選ぶことを繰り返して、得られる回路面積が小さくなるような状態割当て解を求めている。しかしながら、状態割当てにおいては、従来技術と同様に、状態数とコード長が等しい、いわゆるワンホットコードを用いている。このため、コード長が最短である一つの状態割当て解に対して、コード長が長く、かつ、回路面積が小さい解が存在する場合に、それが選択されることなく、捨てられてしまう虞がある。そこで、以下の実施形態2では、状態割当て解候補として状態コード長が最短の解候補だけでなく、それらより状態コード長が長い解候補を加えて、その中から取捨選択することにより、解候補中で最も回路面積が小さい解を求める方法について説明する。
(実施形態2)
図8は、本発明の実施形態2に係る同期式順序回路の状態割当て最適化装置を含む論理合成装置の構成例を示すブロック図である。
図8に示すように、論理合成装置1Aは、状態割当て手段2と、回路変換手段3と、本実施形態2の同期式順序回路の状態割当て最適化装置4Aとを備えている。ここで、状態割当て手段2および回路変換手段3については、実施形態1と同様であるので、詳細な説明を省略する。
本実施形態2の同期式順序回路の状態割当て最適化装置4Aは、図8に破線で囲んだ部分として示しており、注目パス判定手段41と、注目パス特徴解析手段42と、注目パスと状態遷移の対応判定手段43と、解候補策定手段44と、回路面積比較手段45Aと、解伸長手段46とを有している。ここで、注目パス判定手段41と、注目パス特徴解析手段42と、注目パスと状態遷移の対応判定手段43と、解候補策定手段44については、上記実施形態1の場合とその作用効果が同様であるため、ここでは、その詳細な説明を省略する。
(回路面積比較手段45A)
回路面積比較手段45Aは、解候補策定手段44による複数の状態割当て解候補のそれぞれを用いて装置外部の回路変換手段3により論理合成された複数の回路図情報の面積を比較して最小の回路を検出する。これについて、以下に、詳細に説明する。
回路面積比較手段45Aにおいて、初期解が回路変換された結果の面積が最小であれば、その初期解がそのコード長における最終解として判定される。
また、別解の何れかが回路変換された結果の回路面積が最小であれば、それが新たな初期解として設定されて、新たな初期解とその回路図情報が注目パス生成手段41に出力され、注目パス生成手段41から回路面積比較手段45Aまでの各処理が繰り返される。
本実施形態2では、回路面積比較手段45Aまでの1回目の処理を行ったところ、上記(表6)に示す初期解、解候補1および解候補2の各々を論理合成して得られた回路の面積がそれぞれ37、35および42となった。
そこで、その面積が最小の解候補1を新たな初期解として、パス生成手段41から回路面積比較手段45Aまでの各処理を繰り返したところ、解候補策定手段44による2回目の処理によって別の解候補が2つ得られ、回路面積比較手段45Aによる2回目の処理によって、初期解、解候補1および解候補2の各々を論理合成して得られた回路の面積がそれぞれ35、37および43となった。
この時点で、回路面積比較手段45Aから出力する2回目の処理時の初期解、即ち、回路面積比較手段45Aから出力される1回目の処理時の解候補1がコード長2における最終解として検出される。
一方、回路面積比較手段45Aは、処理の繰り返しの中で、ビットが一つ短い状態割り当て解の状態コード長における最終解の回路面積を記憶しておき、現在の状態コード長における最終解と、その一つ短い状態コード長の最終解との回路面積を比較する。前者(現在の状態コード長)の回路面積の方が小さい場合には、さらに解伸長手段46へと処理を進め、後者(ビットが一つ短い状態コード長)の回路面積の方が小さい場合にはそれを最終解として、本実施形態2の同期式順序回路の状態割当て最適化装置4Aによる処理が終了する。
このようにして、回路面積比較手段45Aには、回路変換手段3から複数の状態割当て解候補の各々に対応する回路図情報が入力され、この入力回路図情報に基づいてそれぞれの回路の面積が比較されて最小の回路を検出する。
なお、初めて回路面積比較手段45Aに達した時は、上記「その一つ短い状態コード長の最終解」は存在しないため、常に解伸長手段46の処理へ進む。2回目以降に回路面積比較手段45Aに達した時は、「現在の状態コード長における最終解と、その一つ短い状態コード長の最終解との回路面積を比較する。本実施形態2の場合、初めて回路面積比較手段45Aに達した時のコード長は「2」で、必ず、解伸長手段46に処理が進む。2回目に回路面積比較手段45Aに達した時のコード長は「3」で、コード長「3」の最終解とコード長「2」の最終解を比較し、処理を終るかまたは、解伸長手段46の処理に進むかの何れかとなる。3回目に回路面積比較手段45Aに達した時のコード長は「4」で、コード長「4」の最終解とコード長「3」の最終解とを比較し、処理が終るかまたは、解伸長手段46の処理に進むかの何れかとなる。
(解伸長手段46)
解伸長手段46は、回路面積比較手段45Aによる一つの状態コード長における最終解から、1ビット(1bit)分だけ状態コード長が長い状態割当て解を生成する。これについて以下、詳細に説明する。
この解伸長手段46は、状態割当て解に対して、例えば、一つのコードに’1’を付加し、その他のコードに’0’を付加した状態割当て解候補を生成する。この解候補は、状態数通りが生成される。本実施形態2では、下記の(表7)に示すように、コード長3の新たな解候補が4個生成される。
上記(表7)は、本実施形態2において、解伸長手段46によって生成される状態割当て解候補を示すものである。
上記(表7)の左から2番目に示す解候補1は、上記(表7)の左端に示す初期解に対して、状態HGのコードの左端に’1’を付加し、それ以外の状態HY、状態FGおよび状態FYのコードの左端に’0’を付加したものである。また、上記(表7)の中央に示す解候補2は、上記(表7)の左端に示す初期解に対して、例えば状態HYのコードの左端に’1’を付加し、それ以外の状態HG、状態FGおよび状態FYのコードの左端に’0’を付加したものである。さらに、上記(表7)の右から2番目に示す解候補3は、上記(表7)の左端に示す初期解に対して、状態FGのコードの左端に’1’を付加し、それ以外の状態HG、状態HYおよび状態FYのコードの左端に’0’を付加したものである。また、上記(表7)の右端に示す解候補4は、上記(表7)の左端に示す初期解に対して、例えば状態FYのコードの左端に’1’を付加し、それ以外の状態HG、状態FGおよび状態FYのコードの左端に’0’を付加したものである。
この解伸長手段46による複数の状態割当て解候補1〜4のそれぞれを用いて、装置外部の回路変換手段3により複数の回路図情報が論理合成され、引き続いて、パス生成手段41から回路面積比較手段45Aまでの各処理を繰り返すことによって、コード長3における最終解が検出される。コード長2の最終解とコード長3の最終解とが、さらに回路面積比較手段45Aにより比較されて最終解が得られる。
以上により、本実施形態2にあっては、同期式順序回路の状態割当て最適化装置4Aは、回路変換手段3からの回路図情報を用いて、面積への影響が大きい注目パスを特定する注目パス判定手段41と、注目パスの回路図情報から注目パスの特徴を解析する注目パス特徴解析手段42と、注目パスの特徴から注目パスが真理値表のどの状態遷移を反映しているかを判定する判定手段43と、注目パスが反映する状態遷移から複数の状態割当て解候補を策定し、装置外部の回路変換手段3に出力する解候補策定手段44と、複数の状態割当て解候補を用いて回路変換手段3により生成された複数の回路の面積を比較し、面積が最小のものを検出する回路面積比較手段45Aと、最終解に対して1ビット(1bit)分だけ長い状態コード長の複数の状態割当て解候補を装置外部の回路変換手段3に出力する解伸長手段46を有している。
したがって、上記実施形態1の場合と同様に、回路面積と完全相関がある訳ではない評価基準ではなく、回路面積そのものを評価基準として用いているため、より最適な状態割当て解を検出することができ、得られる状態割当て解を用いて回路を論理合成したときの回路面積は、初期解を用いて回路を論理合成したときの回路面積以下とすることができる。これによって、従来手法の一つを状態割当て手段として用いた場合に、本実施形態2により得られる状態割当て解を回路に変換したときの回路面積は、従来手法により得られる状態割当て解を回路に変換したときの回路面積に比べて、必ずそれ以下の縮小化された面積にすることができる。
また、注目パスとして、状態割当て解を変化させることにより、より大きな面積的変化が期待されるパスのみに着目して、その注目パスに変化が生じるものだけを別解候補とすることによって、短時間で最適な状態割当て解を得ることができる。
さらに、本実施形態2では、状態コード長が長い解候補を候補に加えることによって、状態コード長が最短である一つの状態割当て解に対して、状態コード長が長く、かつ、回路面積が小さい解が存在する場合に対応することが可能となる。本実施形態2により得られる状態割当て解を回路に変換したときの回路面積は、上記実施形態1により得られる状態割当て解を回路に変換したときの回路面積に比べて、それ以下の縮小化された面積にすることもできる。
図9(a)は、本実施形態2の同期式順序回路の状態割当て最適化方法をコンピュータによって処理するための論理合成装置の構成例を示すブロック図である。
図9(a)に示すように、論理合成装置80Aは、上記実施形態1の論理合成装置80の場合と同様に、制御手段としてのCPU(中央演算処理装置)81と、可読記録媒体(記憶手段)としてのROM82と、CPU81がワークメモリとして利用する記憶手段としてのRAM83と、キーボードやマウスなどを含む入力部84と、ディスプレイやプリンタなどを含む出力部85とを有している。
ROM52には、本実施形態2の同期式順序回路の状態割当て最適化方法をコンピュータによって実行させるための各処理手順が記述された同期式順序回路の状態割当て最適化処理プログラムおよびそのデータが記憶されており、CPU81は、この状態割当て最適化処理プログラムおよびそのデータをRAM83に読み出して、同期式順序回路の状態割当て最適化処理を実行する。操作者は、必要に応じて出力部85の表示画面上の処理結果を目で確認しながら、入力部84から操作指示や設定値などを入力指示することができる。処理結果データとしての回路図情報および状態割当て解はROM82に記憶される。
可読記録媒体としては、各種ICメモリ、光ディスク(例えばCD)および磁気記録媒体(例えばFD)などの小型携帯用記憶装置であり、本発明の状態割当て最適化処理プログラムおよびそのデータがコンピュータ読み取り可能な可読記録媒体である。
論理合成装置80Aは、同期式順序回路の状態割当て最適化処理プログラムおよびそのデータに基づいて、図9(b)に示す各ステップS11〜S21を順次実行する。
まず、注目パス判定ステップS11では、注目パス特定手段41が回路図情報を用いて回路占有面積に影響するパスを注目パスとして特定する。この注目パス判定ステップS11では、状態記憶回路と組合せ回路とを含む同期式順序回路の回路図情報を用いて、いずれかの状態記憶回路の出力から組合せ回路を経て同一または別の状態記憶回路の入力に達するパスの中で回路占有面積に影響するパスを注目パスとして特定する。また、注目パスとして、例えば、パス上の論理ゲートにおける回路占有面積の総和が最も大きいパスまたは、そのパス上の論理ゲートおよび配線による遅延の総和が最も大きいパスを選択する。
次に、注目パス特徴解析ステップS12では、注目パス特徴解析手段42がこの注目パスの回路図情報を用いてその回路の特徴を解析する。この注目パス特徴解析ステップS12では、注目パスの終点の論理ゲートを論理和とした場合に、それが正論理出力および負論理出力のいずれに該当するかどうかを判定し、注目パスの起点の論理ゲートを論理積とした場合に、それが正論理入力および負論理入力のいずれの論理積に該当するかを判定する。例えば、この注目パスの終点の論理ゲートがNAND回路である場合に正論理出力のOR回路と見做し、注目パスの終点の論理ゲートがAND回路である場合に負論理出力のNOR回路と見做し、この注目パスの起点の論理ゲートがOR回路である場合に負論理入力のNAND回路と見做し、この注目パスの起点の論理ゲートがNOR回路である場合に負論理入力のAND回路と見做す。
その後、注目パスと状態遷移の対応判定ステップS13では、注目パスと状態遷移の対応判定手段43で、この注目パスの回路の特徴がどの状態遷移を反映したものであるかを判定する。この注目パスと状態遷移の対応判定ステップS13では、注目パスの起点での変化が注目パスの終点まで伝わって起こる状態遷移が、状態遷移表に状態割当ての初期解を適用して得られる真理値表における複数行のうちのどの行に対応するかを判定する。このとき、注目パスの起点と終点の回路の特徴に基づいて、この注目パスが状態遷移表に状態割当ての初期解を適用して得られる真理値表の複数の状態遷移のうちどの状態遷移を反映したものであるかを判定する。
さらに、解候補策定ステップS14では、解候補策定手段44で、この注目パスが反映する状態遷移から複数の状態割当て解候補を策定する。この解候補策定ステップS14では、注目パスが反映する、状態遷移表に状態割当ての初期解を適用して得られる真理値表の行情報中に現れている現状態コードに関して、その注目パスの起点に対応する現状態コードの桁を特定し、状態割当ての初期解に対して注目パスの起点に対応する状態コードの桁の値が逆になるように当該状態コードを交換して別解候補とする。また、状態割当ての初期解に対して注目パスの終点に対応する状態コードの桁の値が逆になるように当該状態コードを交換して他の別解候補とする。
さらに、回路面積比較ステップS15では、回路面積比較手段45Aが、この複数の状態割当て解候補のそれぞれを用いて論理合成された複数の回路図情報から、それぞれの回路面積を比較して面積が最小の回路を検出する。
さらに、初期解/別解判定ステップS16では、回路面積比較手段45Aで、複数の状態割当て解候補のうち、初期解を用いて論理合成された回路の面積が最小であるか、別解を用いて論理合成された回路の面積が最小であるかどうかを判定する。
初期解/別解判定ステップS16において、複数の状態割当て解候補のうち、初期解を用いて論理合成された回路の面積が最小であれば、その初期解をその状態コード長における最終解として、回路面積比較ステップS17の処理に進む。
また、初期解/別解判定ステップS16において、複数の状態割当て解候補のうち、別解を用いて論理合成された回路の面積が最小であれば、その別解を新たな初期解として、新たな初期解およびその回路図情報を供給して、注目パス判定ステップS11から初期解/別解判定ステップS16の各処理を繰り返す。
回路面積比較ステップS17およびS18では、ステップS11からステップS16までの各処理を繰り返し処理を行う中で、一つ短いコード長における最終解(前解)の回路面積と、現在のコード長における最終解(現解)の回路面積を比較して、面積が小さい方の回路を検出する。
回路面積比較ステップS17およびS18において、前解の回路面積が小さい場合には、最終解決定ステップS19の処理に進み、その前解を最終解として、処理を終了する。
また、回路面積比較ステップS17およびS18において、現解の回路面積が小さい場合には、解伸長ステップS20の処理に進み、状態割当て解を1ビット(1bit)分だけ長くする。回路面積比較ステップS21の処理を経て、注目パス判定ステップS11からの各処理を繰り返す。
以上のように、本発明の好ましい実施形態1,2を用いて本発明を例示してきたが、本発明は、この実施形態1,2に限定して解釈されるべきものではない。本発明は、特許請求の範囲によってのみその範囲が解釈されるべきであることが理解される。当業者は、本発明の具体的な好ましい実施形態1,2の記載から、本発明の記載および技術常識に基づいて等価な範囲を実施することができることが理解される。本明細書において引用した特許、特許出願および文献は、その内容自体が具体的に本明細書に記載されているのと同様にその内容が本明細書に対する参考として援用されるべきであることが理解される。
本発明は、デジタル回路などに幅広く利用される同期式順序回路の設計工程に用いられ、その設計仕様として与えられる状態遷移表に対する状態割当てを最適化するための同期式順序回路の状態割当て最適化装置、これを用いた論理合成装置、同期式順序回路の状態割当て最適化方法、これを実行するための同期式順序回路の状態割当て最適化処理プログラムおよびこの処理プログラムが記録されたコンピュータ読み取り可能な可読記録媒体の分野において、複数の状態に状態コードを割当てる状態割当て処理時に、回路面積そのものを評価基準として最適化することによって、その状態割当て解を用いて論理合成された回路の面積を、従来の同期式順序回路の状態割当て方法により状態コードが割当てられた場合の回路面積以下とすることができる。また、本発明によれば、回路面積に対する影響がより大きなパスを注目パスとして特定し、その注目パスに対して複数の状態割当て解候補を策定しているため、解候補が絞られて、処理時間を短縮化することができる。さらに、本発明によれば、最短のコード長の解だけでなく長いコード長の解も探索することによって、その状態割当て解を用いて論理合成された回路の面積を、従来の同期式順序回路の状態割当て方法により状態コードが割当てられた場合の回路面積以下とすることができる。したがって、本発明を適用することによって、短縮化された処理時間によって回路面積の削減を図ることができるため、デジタル回路の製造コスト削減のために寄与することができる。
本発明の実施形態1に係る同期式順序回路の状態割当て最適化装置を含む論理合成装置の構成例を示すブロック図である。 表1の状態遷移表に対して表3の状態割当てを適用した上で、図1の回路変換手段によって論理合成を行って得られる回路例を示す回路図である。 図2の回路におけるクリティカルパス部分を示す回路図である。 (a)〜(d)は、図1の注目パス特徴解析手段によって注目パスの終点における論理ゲートの論理がどのように判断されるかについて説明するための回路図である。 (a)〜(d)は、図1の注目パス特徴解析手段によって注目パスの起点における論理ゲートの論理がどのように判断されるかについて説明するための回路図である。 状態遷移表の行の構成および真理値表の行の構成を説明するための図である。 (a)は、本発明の実施形態1に係る同期式順序回路の状態割当て最適化方法をコンピュータによって処理するための論理合成装置の構成例を示すブロック図、(b)は、(a)の論理合成装置の動作例を示すフローチャートである。 本発明の実施形態2に係る同期式順序回路の状態割当て最適化装置を含む論理合成装置の構成例を示すブロック図である。 (a)は、本発明の実施形態2に係る同期式順序回路の状態割当て最適化方法をコンピュータによって処理するための論理合成装置の構成例を示すブロック図、(b)は、(a)の論理合成装置の動作例を示すフローチャートである。 従来の同期式順序回路の一般的な構成例を示す回路図である。 表1の状態遷移表を状態遷移図として表現した場合の一例を示す図である。
符号の説明
1、1A、80、80A 論理合成装置
2 状態割当て手段
3 回路変換手段
4、4A 同期式順序回路の状態割当て最適化装置
41 注目パス判定手段
42 注目パス特徴解析手段
43 注目パスと状態遷移の対応判定手段
44 解候補策定手段
45、45A 回路面積比較手段
46 解伸長手段
51〜55 インバータ回路
56〜58 NOR回路
58,59 D型フリップフロップ
60,61 セレクタ
62〜67 NAND回路
71,77 OR回路
72,78 NOR回路
73.76 NAND回路
74,75 AND回路
80 論理合成システム
81 CPU(制御手段)
82 ROM
83 RAM
84 入力部
85出力部
100 同期式順序回路
101 組合せ回路
102 状態記憶回路

Claims (19)

  1. 回路図情報に基づいて回路占有面積に影響するパスを注目パスとして特定する注目パス判定手段と、
    該注目パスの回路図情報に基づいてその回路の特徴を解析する注目パス特徴解析手段と、
    該注目パスの回路の特徴がどの状態遷移を反映したものであるかを判定する注目パスと状態遷移の対応判定手段と、
    該注目パスが反映する状態遷移から複数の状態割当て解候補を策定する解候補策定手段と、
    該複数の状態割当て解候補のそれぞれを用いて論理合成された複数の回路図情報に基づいて、それぞれの回路面積が比較されて最小面積の回路を検出する回路面積比較手段とを有する同期式順序回路の状態割当て最適化装置。
  2. 前記回路面積比較手段で検出された最小面積の回路に対応する状態割当て解を入力として、該状態割当て解の状態コード長よりも長い状態コード長の複数の状態割当て解候補を出力する解伸長手段をさらに有する請求項1に記載の同期式順序回路の状態割当て最適化装置。
  3. 前記注目パス判定手段は、前記回路図情報として、状態記憶回路と組合せ回路とを含む同期式順序回路の情報に基づいて、いずれかの状態記憶回路の出力から該組合せ回路を経て同一または別の状態記憶回路の入力に達するパスの中から前記注目パスを特定する請求項1または2に記載の同期式順序回路の状態割当て最適化装置。
  4. 前記注目パス判定手段は、前記注目パスとして、パス上の論理ゲートにおける回路占有面積の総和が最も大きいパスまたは、該パス上の論理ゲートおよび配線による遅延の総和が最も大きいパスを選択する請求項1〜3のいずれかに記載の同期式順序回路の状態割当て最適化装置。
  5. 前記注目パス特徴解析手段は、前記注目パスの終点の論理ゲートを論理和とした場合に、それが正論理出力および負論理出力のいずれに該当するかを判定し、該注目パスの起点の論理ゲートを論理積とした場合に、それが正論理入力および負論理入力のいずれの論理積に該当するかを判定する請求項1または2に記載の同期式順序回路の状態割当て最適化装置。
  6. 前記注目パス特徴解析手段は、前記注目パスの終点の論理ゲートがNAND回路である場合に正論理出力のOR回路と見做し、該注目パスの終点の論理ゲートがAND回路である場合に負論理出力のNOR回路と見做し、該注目パスの起点の論理ゲートがOR回路である場合に負論理入力のNAND回路と見做し、該注目パスの起点の論理ゲートがNOR回路である場合に負論理入力のAND回路と見做す請求項5に記載の同期式順序回路の状態割当て最適化装置。
  7. 前記注目パスと状態遷移の対応判定手段は、前記注目パスの起点での変化が注目パスの終点まで伝わって起こる状態遷移が、状態遷移表に状態割当ての初期解を適用して得られる真理値表における複数行のうちのどの行に対応するかを判定する請求項1または2に記載の同期式順序回路の状態割当て最適化装置。
  8. 前記注目パスと状態遷移の対応判定手段は、前記注目パスの起点と終点の回路の特徴に基づいて、該注目パスが状態遷移表に状態割当ての初期解を適用して得られる真理値表における複数の状態遷移のうちどの状態遷移を反映したものであるかを判定する請求項1または2に記載の同期式順序回路の状態割当て最適化装置。
  9. 前記解候補策定手段は、前記注目パスが反映する、状態遷移表に状態割当ての初期解を適用して得られる真理値表の行情報中に現れている現状態コードに関して該注目パスの起点に対応する現状態コードの桁を特定し、該状態割当ての初期解に対して該注目パスの起点に対応する状態コードの桁の値が逆になるように当該状態コードを交換して別解候補とし、該状態割当ての初期解に対して該注目パスの終点に対応する状態コードの桁の値が逆になるように当該状態コードを交換して他の別解候補とする請求項1または2に記載の同期式順序回路の状態割当て最適化装置。
  10. 前記回路面積比較手段は、前記複数の状態割当て解候補のうち、初期解を用いて論理合成された回路の面積が最小であればその初期解を最終解とし、別解を用いて論理合成された回路の面積が最小であればその別解を新たな初期解として、前記注目パス判定手段に該新たな初期解およびその回路図情報を供給して処理を繰り返す請求項1に記載の同期式順序回路の状態割当て最適化装置。
  11. 前記回路面積比較手段は、
    前記複数の状態割当て解候補のうち、初期解を用いて論理合成された回路の面積が最小であればその初期解をその状態コード長での最終解とし、別解を用いて論理合成された回路の面積が最小であればその別解を新たな初期解として、前記注目パス判定手段に該新たな初期解およびその回路図情報を供給して処理を繰り返し、
    ビットが一つ短い状態コード長における最終解の回路面積を記憶しておき、現在の状態コード長における最終解と、該ビットが一つ短い状態コード長における最終解との各回路面積を比較して、該現在の状態コード長の回路面積の方が小さい場合に前記解伸長手段による解伸長処理を行い、該ビットが一つ短い状態コード長の回路面積の方が小さい場合にその回路面積を最終解の回路面積とする請求項2に記載の同期式順序回路の状態割当て最適化装置。
  12. 前記解伸長手段は、前記最終解に対して1ビット分だけ長い複数の解候補を生成する請求項2または11に記載の同期式順序回路の状態割当て最適化装置。
  13. 請求項1〜12のいずれかに記載の同期式順序回路の状態割当て最適化装置と、状態遷移表と状態割当て解から、組合せ回路と状態記憶回路とを含む同期式順序回路を前記回路図情報として論理合成する回路変換手段とを備えた論理合成装置。
  14. 請求項1〜12のいずれかに記載の同期式順序回路の状態割当て最適化装置を用いてコンピュータ処理する同期式順序回路の状態割当て最適化方法であって、
    回路図情報を用いて回路占有面積に影響するパスを注目パスとして特定する注目パス判定ステップと、
    該注目パスの回路図情報を用いてその回路の特徴を解析する注目パス特徴解析ステップと、
    該注目パスの回路の特徴がどの状態遷移を反映したものであるかを判定する注目パスと状態遷移の対応判定ステップと、
    該注目パスが反映する状態遷移から複数の状態割当て解候補を策定する解候補策定ステップと、
    該複数の状態割当て解候補のそれぞれを用いて論理合成された複数の回路図情報を用いて、それぞれの回路面積を比較して面積が最小の回路を検出する回路面積比較ステップとを有する同期式順序回路の状態割当て最適化方法。
  15. 前記回路面積比較ステップで検出された最小面積の回路に対応する状態割当て解を入力として状態コード長が1ビット分だけ長い複数の状態割当て解候補を出力する解伸長ステップをさらに有し、該解伸長ステップによる該複数の状態割当て解候補を用いて論理合成された複数の回路図情報を用いて前記回路面積比較ステップを実行する請求項14に記載の同期式順序回路の状態割当て最適化方法。
  16. 前記注目パス判定ステップは、状態記憶回路と組合せ回路とを含む同期式順序回路の回路図情報を用いて、いずれかの状態記憶回路の出力から該組合せ回路を経て同一または別の状態記憶回路の入力に達するパスの中で回路占有面積に影響するパスを注目パスとして特定する請求項14または15に記載の同期式順序回路の状態割当て最適化方法。
  17. 前記注目パスと状態遷移の対応判定ステップは、前記注目パスの回路の特徴を用いて、該注目パスが状態遷移表に状態割当ての初期解を適用して得られる真理値表の複数の状態遷移うちどの状態遷移を反映したものであるかを判定する請求項14または15に記載の同期式順序回路の状態割当て最適化方法。
  18. 請求項14〜17のいずれかに記載の同期式順序回路の状態割当て最適化方法の各処理ステップをコンピュータに実行させるための処理手順が記録された同期式順序回路の状態割当て最適化処理プログラム。
  19. 請求項18に記載の同期式順序回路の状態割当て最適化処理プログラムが記録されたコンピュータ読み取り可能な可読記録媒体。
JP2005283050A 2004-10-04 2005-09-28 同期式順序回路の状態割当て最適化装置、論理合成装置、同期式順序回路の状態割当て最適化方法、同期式順序回路の状態割当て最適化処理プログラムおよび可読記録媒体 Withdrawn JP2006134302A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2005283050A JP2006134302A (ja) 2004-10-04 2005-09-28 同期式順序回路の状態割当て最適化装置、論理合成装置、同期式順序回路の状態割当て最適化方法、同期式順序回路の状態割当て最適化処理プログラムおよび可読記録媒体

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2004291980 2004-10-04
JP2005283050A JP2006134302A (ja) 2004-10-04 2005-09-28 同期式順序回路の状態割当て最適化装置、論理合成装置、同期式順序回路の状態割当て最適化方法、同期式順序回路の状態割当て最適化処理プログラムおよび可読記録媒体

Publications (1)

Publication Number Publication Date
JP2006134302A true JP2006134302A (ja) 2006-05-25

Family

ID=36727752

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005283050A Withdrawn JP2006134302A (ja) 2004-10-04 2005-09-28 同期式順序回路の状態割当て最適化装置、論理合成装置、同期式順序回路の状態割当て最適化方法、同期式順序回路の状態割当て最適化処理プログラムおよび可読記録媒体

Country Status (1)

Country Link
JP (1) JP2006134302A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006124303A (ja) * 2004-10-27 2006-05-18 Hoya Corp チオエステル化合物の製造方法

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006124303A (ja) * 2004-10-27 2006-05-18 Hoya Corp チオエステル化合物の製造方法

Similar Documents

Publication Publication Date Title
US10089426B2 (en) Logic circuit generation device and method
US6421815B1 (en) Method and apparatus for optimized partitioning of finite state machines synthesized from hierarchical high-level descriptions
KR100249251B1 (ko) 논리회로 최적화 장치 및 그 방법
JP4973101B2 (ja) 自動合成装置
WO2006051760A1 (ja) データフローグラフの同一サブグラフ検出装置、高位合成装置、データフローグラフの同一サブグラフ検出方法、データフローグラフの同一サブグラフ検出制御プログラムおよび可読記録媒体
JP2007034887A (ja) ハイレベル合成コンパイラ用のシフトレジスタファイルを自動生成するための方法および装置
JP2000003373A (ja) サンプリングベ―スの順序付き二分決定グラフの変数順序決定方法
US5493505A (en) Initializable asynchronous circuit design
JP2008123056A (ja) 論理回路のタイミング制約生成システムおよび論理回路のタイミング制約生成方法、制御プログラム、可読記録媒体
Yu et al. Advanced datapath synthesis using graph isomorphism
JP2006134302A (ja) 同期式順序回路の状態割当て最適化装置、論理合成装置、同期式順序回路の状態割当て最適化方法、同期式順序回路の状態割当て最適化処理プログラムおよび可読記録媒体
US20060190890A1 (en) Cell instance generating method
JP6242170B2 (ja) 回路設計支援装置及びプログラム
JP2008243092A (ja) マルチサイクルパス検出装置、マルチサイクルパス検出方法及びマルチサイクルパス検出プログラム
JP2006268165A (ja) 集積回路のタイミング解析装置、集積回路のタイミング最適化装置、集積回路のタイミング解析方法、集積回路のタイミング最適化方法、集積回路基板の製造方法、制御プログラムおよび可読記録媒体
US6868535B1 (en) Method and apparatus for optimizing the timing of integrated circuits
JP4891807B2 (ja) 高位合成装置および高位合成方法
JP2009003562A (ja) 同期式順序回路の状態割当て最適化装置、同期式順序回路の状態割当て最適化方法、論理合成装置、プログラム、および可読記録媒体
Klimowicz Combined State Splitting and Merging for Implementation of Fast Finite State Machines in FPGA
US7805688B2 (en) Memory construction apparatus for forming logical memory space
US8136061B2 (en) Method of logic circuit synthesis and design using a dynamic circuit library
JP2519336B2 (ja) テクノロジ―マッピング方式
JP2011054070A (ja) 冗長論理回路検出方法及び冗長論理回路検出装置
Wei et al. Delete and Correct (DaC): An atomic logic operation for removing any unwanted wire
Kim et al. DEMI: A delay minimization algorithm for cell-based digital VLSI design

Legal Events

Date Code Title Description
A300 Application deemed to be withdrawn because no request for examination was validly filed

Free format text: JAPANESE INTERMEDIATE CODE: A300

Effective date: 20081202