JP2689908B2 - 初期化可能非同期回路設計を合成する方法 - Google Patents

初期化可能非同期回路設計を合成する方法

Info

Publication number
JP2689908B2
JP2689908B2 JP6170599A JP17059994A JP2689908B2 JP 2689908 B2 JP2689908 B2 JP 2689908B2 JP 6170599 A JP6170599 A JP 6170599A JP 17059994 A JP17059994 A JP 17059994A JP 2689908 B2 JP2689908 B2 JP 2689908B2
Authority
JP
Japan
Prior art keywords
state
asynchronous
graph
initializeable
signal
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
JP6170599A
Other languages
English (en)
Other versions
JPH07129642A (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.)
NEC Corp
Original Assignee
NEC 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 NEC Corp filed Critical NEC Corp
Publication of JPH07129642A publication Critical patent/JPH07129642A/ja
Application granted granted Critical
Publication of JP2689908B2 publication Critical patent/JP2689908B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/30Circuit design
    • G06F30/35Delay-insensitive circuit design, e.g. asynchronous or self-timed

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)
  • Logic Circuits (AREA)

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、初期設計仕様の機能的
な初期化が可能であるか否かにかかわらず、初期化可能
回路を設計する非同期回路合成方法に関する。初期設計
仕様が、機能的に初期化可能でない場合、設計の動作特
性を変えずに、機能的に初期化可能な設計に帰着するよ
うに仕様が修正される。
【0002】
【従来の技術】順序回路のテスト容易性を保証するため
に、初期化可能性は重要要件である。しかし、非同期回
路を合成するための最新式自動ツールでは、ゲートレベ
ル分析ツールによって初期化できない回路が合成される
こともあり得る。
【0003】今日のシステムが急速に複雑化し、かつ高
性能に対する要請が逼迫してきた結果、設計者達に非同
期設計方法論を見直させるようになった。同期回路は、
全動作が大域クロックと同期して実行されている、非同
期回路の制約版と見ることができる。大域クロックによ
る時間の離散性のために、分析、合成およびテストが容
易にされている。しかし、大域クロックは、クロックス
キュー、高電力消費、そして最悪ケース実行時間のよう
なその他の諸問題を提起し、そのために小チップ領域へ
の高性能利用を制限している。高速クロックとの大域同
期がシステム処理能力を制限しているような状態におい
ては、非同期設計の方が匹敵する同期設計より良好な性
能を与える。大域同期を除去することが、恐らく非同期
アプローチの背後にある最大の原動力であろう。データ
依存の計算に対して、非同期仕様は、より自然である。
演算はオペランドの使用可能度に従って実行されてお
り、そして大域同期信号の到着を待つ必要はない。しか
し、最近まで、非同期設計の実現可能性およびテストに
関連する固有の複雑性のために、これらの利点は見過ご
されてきた。
【0004】
【発明が解決しようとする課題】非同期回路合成の自動
化において、顕著な進展がなされてきた。この技術は、
幾つかのコンピュータ支援ツールに具体化されており、
例えば、「グラフ理論仕様に基づいた自己計時VLSI
回路の合成」と題するPhD論文(T.A.チュー(C
hu),MIT,1987年)、および「信号遷移グラ
フに基づいた有界ワイヤ遅延非同期回路の合成およびテ
スト」と題するPhD論文(L.ラバグノ(Lavag
no),BCバークレイ,1992)に説明されてい
る。しかし、これらの自動プログラムによって合成され
た回路をテストすることは、かなり困難であった。回路
の幾つかは、テスト生成装置によって初期化することが
できず、従って、テストシーケンスが発生されなかっ
た。初期化は、回路のパワーアップ状態に関係なく、回
路内の信号をある既知の状態に駆動するプロセスであ
る。これは、順序回路のテスト生成における重要な第1
フェーズである。自動合成された回路に対して初期化ベ
クトルが設計者から与えられない場合、テスト生成装置
は、初期化シーケンスを発生しなければならない。回路
内の全状態信号は、最初は、未知状態にあると考えら
れ、そして、テスト生成装置が一連の入力ベクトルを発
生し、それによって全状態信号を既知の状態に持って行
く。合成された回路が初期化できない場合には、テスト
生成装置あるいは他のゲートレベル分析ツールは、完全
に無効である。
【0005】合成された回路をテストすることの困難さ
は、非同期回路合成ツールに対する現在の関心の深さを
見ることによっても、理解することができる。合成問題
は非常に難しいので、従来の自動合成の研究は、主とし
て、基本問題の解決を目指していた。最小論理やハザー
ドの無い回路の実現に関心が注がれた。これら2つの目
的は、回路が初期化可能であることを保証するものでは
ない。実際、面積最小化は、初期化可能の実現のため
に、犠牲にされねばならないこともあり得る。
【0006】同期順序回路の初期化可能性は、下記の論
文に説明されている。すなわち、「リセット可能性およ
びリセットシーケンスの計算」(C.ピクスレイ(Pi
xley)およびG.バイレ(Beihle),コンピ
ュータ支援設計国際会議紀要,376〜379ページ,
1992年)、および「二分決定グラフに基づいた同期
シーケンスの正確な計算」(C.ピクスレイ,S.W.
ジオン(Jeong)およびG.D.ハッチェル(Ha
tchel),第29回ACM/ICEE設計自動化会
議紀要,620〜623ページ,1992年)である。
これらの方法は、所定の回路が初期化可能であるかどう
かを判定し、そして初期化可能回路のための初期化可能
シーケンスを決定する。不適切な状態割当ての結果、初
期化できない実現になるような同期回路の自動合成にお
いて、初期化問題もまた明白である。マシュウ(Mat
hew)とザープ(Saab)は、「部分的リセット:
テスト容易性アプローチへの低コスト設計」と題する論
文(EDAC/EURO−ASIC紀要,151〜15
5ページ,1993年4月)において、初期化可能性の
重要さを確認し、そして、ハードウェアで部分的リセッ
トを実行する技術を提供することによって、コストの余
りかからない解決法を与えた。
【0007】明示的なリセットメカニズムは、合成後の
変更であり、それによって各状態信号に対する新たな主
入力と論理の付加が必要となる。また、リセット入力ピ
ンから状態信号へのワイヤリングもオーバヘッドコスト
になる。より一層興味をひく解決法は、合成手順それ自
体の間に回路のテスト容易性を考え、そして明示的なリ
セットをせずに、初期化可能な回路を実現することであ
る。
【0008】初期化可能なゲートレベル回路が1つでも
実現できれば、その設計は、機能的に初期化可能であ
る。回路初期化可能性は、合成中になされたドントケア
割当てに密接に関連している。しかし、このプロセス
は、非同期回路の仕様が機能的に初期化不可能である場
合には、うまく行かない。
【0009】
【課題を解決するための手段】本発明の主目的は、回路
が初期化可能であることを保証するように非同期回路を
合成する方法を提供することである。
【0010】本発明の別の目的は、回路を初期化する初
期化シーケンスを得る方法を提供することである。
【0011】本発明の別の目的は、機能的に初期化不可
能信号遷移グラフを機能的に初期化可能信号遷移グラフ
に変換して、非同期回路設計において利用する方法を提
供することである。
【0012】本発明の別のおよびなお他の目的は、以下
の説明を添付の図面と連結して読むことで、一層明らか
になるであろう。
【0013】本発明は、機能的初期化可能な設計に対し
て回路を合成し、そして、機能的に初期化不可能な設計
に対して初期化可能ゲートレベル回路を実現する新規方
法に関する。信号遷移グラフ(STG)は、回路動作を
特定するのに利用される。STGは同時性を表し、それ
は設計者に、所定のSTGを、同じ機能動作を示す別の
STGに変換するという特別段階の融通性を与えてい
る。初期化可能性を達成するために同時性を体系的に除
去する方法を説明する。同時性を除去することによっ
て、必ずしも性能の劣化に至るとは限らない。このため
に、初期化可能性の目標は、同時性を最小に除去するこ
とによって達成される。仕様が機能的に初期化可能にな
った後、最終初期化可能回路を発生することができる。
【0014】本発明は、機能的に初期化可能でない信号
遷移グラフから開始する初期化可能である非同期回路の
合成のための方法を提供する。初期化可能である設計仕
様のための必要条件が識別される。発明は、STGの初
期化不可能性の原因を識別し、そしてSTGを、同時性
を最小的に除去するだけで、機能的に初期化可能な仕様
に変換する。結果として生ずる変換によってSTGの活
性および独自状態符号化特性を侵害することはない。こ
の結果の変換STGは、次のテストに対して初期化可能
な非同期回路の設計の基礎として利用される。
【0015】
【実施例】非同期回路のモデル化および合成のための古
典的アプローチは、ハフマンモデルあるいはミュラーモ
デルのいずれかに基礎を置いている。非同期設計は、流
れ図あるいは状態遷移図として特定されている。しか
し、流れ図あるいは状態遷移図表現のサイズは、特定信
号の数が指数的であるので、両方法とも小回路に限定さ
れる。また、ハフマンモデルは、遅延制約ならびに正確
動作を保証するための基本モード仮説に依存している。
両モデルとも同時性をモデル化することはできない。
【0016】本合成手順は、以下の主要段階から成る。
合成システムへの入力は、STGに関して特定される非
同期設計である。STGにおいて、同時性は明白にモデ
ル化される。STGにおけるノードは、信号遷移を表
す。STGの辺は、遷移間の因果関係を示す。信号はプ
ライマリ入力、内部信号あるいはプライマリ出力のいず
れかである。プライマリ入力以外の信号は、非入力信号
と称される。全信号(プライマリ入力および非入力)の
状態を説明する非同期状態グラフ(ASG)は、1組の
発火規則を実行することによって、STGから直接導出
される。状態割当てもまた、これらの発火規則によって
暗黙のうちに特定され、従って、特定STGに対して固
定される。各状態は、nビットの2進ベクトルで符号化
される。但し、nは、プライマリ入力および非入力信号
の総数である。状態ベクトルのi番目ビットは、i番目
信号によって取られた値を表す。各非入力信号は、他の
全信号が独立して制御可能であると仮定して、別々に実
現される。非入力信号の次状態関数のオンセット,オフ
セットおよびドントケアセットは、非同期状態グラフか
ら容易に入手することができる。非入力信号のゲートレ
ベル実現は、既知の組合せ論理合成技術を利用して、こ
れらのセットから容易に得られる。
【0017】次に、トリガモジュールの実施例を使って
合成手順を説明する。トリガモジュールのSTGが図1
に示されている。プライマリ入力信号はIr とOa であ
る。非入力信号はIa とOr である。記号a+ は、立上
り遷移を表すが、記号a- は、立下り遷移を示す。図2
に示される非同期状態グラフは、下記のように、STG
から直接に得られる。STGの最初のマーキング(適切
な弧の上のトークンで示される)では、遷移Ir + とO
a - が実行可能である。STGのマーキングは、状態グ
ラフにおける状態に対応する。この場合、初期状態は、
r =Oa =Ia =Or =0であり、完全状態グラフ
は、要求された順序で信号遷移を実行することによっ
て、この初期状態から開始して、導出することができ
る。次いで、各状態は、4ビットベクトルで符号化され
るが、この場合、順序は(Ir ,Oa ,Ia ,Or )で
ある。非入力信号の次状態関数を表す、結果のK図(カ
ルノー図)は図3に示される。
【0018】現存の合成手順の大部分は、最終実現が初
期化可能であることを保証していない。1例として、2
つのプライマリ入力aとb、および3つの非入力信号
x,yおよびzを持つハンドシェーク制御器の設計を考
えてみる。ハンドシェーク制御器の信号遷移グラフは、
図4に示される。非入力信号によって実現される次状態
関数は、記号φi がドントケアを示している3つのK図
として、図5に示される。回路初期化可能性は、合成中
に行われたドントケア割当てに関連する。初期化可能性
のための必要要件は、少なくとも1つの非入力信号がプ
ライマリ入力のみによって、直接制御可能でなければな
らない、ということである。多くの現存合成方法は、最
小論理実現を得るために、次のドントケア割当てを行
う。
【0019】φ1 =φ3 =0 φ2 =φ4 =φ5 =φ6 =1 結果のブール式は、
【0020】
【数1】
【0021】しかし、最小論理実現は初期化可能ではな
い。従属グラフは有向グラフである。その点は、初期化
されなければならない信号(すなわち、非入力信号)を
表す。信号v2 が信号v1 に従属している場合には、グ
ラフは点v1 から点v2 までの有向辺を持つ。信号従属
性は、信号を実現するブール式を検査することによっ
て、容易に判定される。制御器の最小論理実現のための
従属グラフは、図6に示される。信号とプライマリ入力
間の従属性は、はっきりさせるために省かれている。こ
の従属グラフは、あらゆる非入力信号がすべての他の信
号に従属していることを示す。これは巡回従属性の場合
である。この場合、他の非入力信号のうちの少なくとも
1つを初期化しなければ、どの信号も初期化することは
できない。プライマリ入力のみを利用することによって
ある信号初期化が可能であれば、この巡回従属性をブレ
ークすることができる。しかし、最小論理実現におい
て、どの信号も、プライマリ入力のみを利用して初期化
することはできない。従って、この実現は、初期化する
ことは不可能であり、その結果、それはテストすること
はできない。
【0022】従属グラフにおける巡回従属性は、ドント
ケアを慎重に割当てることによって、除去することがで
きる。1例として、再び、図4のハンドシェーク制御器
を考えてみる。図5のK図から、非入力信号yとzを実
現する際に融通性のないことは明らかである。このこと
は、対応するK図にドントケアが無いからである。しか
し、信号xを実現するには、かなり融通性がある。特
に、次のドントケア割当てによって、信号xはプライマ
リ入力のみを利用して初期化することができる。
【0023】φ2 =φ4 =1 φ1 =φ3 =φ5 =φ6 =0 信号xを実現する修正ブール式は、下記の通りである。
【0024】
【数2】
【0025】信号yとzに対するブール式は、変わらな
いままである。信号xは、別のブール式によって実現さ
れるけれども、それはまだ、信号y,zおよびそれ自体
に従属している。従って、制御器のための従属性グラフ
は、図6のグラフと同一である。しかし、プライマリ入
力割当てa=1にすると、実現のパワーアップ状態にか
かわりなく、信号xを0に初期化する。図6の従属性グ
ラフは、更新されて、信号xの初期化を表す。この更新
グラフは、図7(a)に示される。信号は、一旦、初期
化されると、その入力従属性は、除去することができ
る。その結果、初期化信号は、0の入次数を持つ点によ
って表される。xを0に初期化し、入力a=1とするこ
とによって、信号yを値0に初期化させる。従属グラフ
は、更新されて、信号xとyの初期化を表し、その結
果、図7(b)の従属グラフになる。信号xとyそして
入力割当てb=0によって、信号zを値1に初期化させ
る。この更新従属グラフは、図7(c)に示される。初
期化回路の従属グラフは、1組の孤立ノードとなってい
る。入力ベクトルa=1およびb=0によって回路を初
期化する。従って、ドントケアを慎重に割当てることに
よって、ごく僅かの論理を費やすだけで、初期化可能実
現に帰着する。次いで、信号xの実現には、2入力AN
Dゲートではなく、3入力ANDゲートが必要である。
従って、ドントケアの慎重な割当ての結果、ごく僅かの
費用で、初期化可能実現になる。
【0026】以下の手順は、ドントケアを系統的に割当
てて、初期化可能性を保証する。この手順により、でき
るだけ少ないドントケアを割当てる。残りのドントケア
は、論理最小化装置によって、論理を最適化するよう割
当てることができる。この手順では、3値(0,1,
x)シミュレーションモデルが使用されている。しか
し、重要なのは、この方法は、選択されたシミュレーシ
ョンモデルとは独立して働くことに注目することであ
る。
【0027】非同期合成手順では、あらゆる非入力信号
は、別々に実現される。また、非入力信号の実現は、す
べての他の信号が独立して制御できると仮定して、導出
される。従って、回路全体の初期化可能性にとっての必
要条件は、全非入力信号の実現が別々に初期化可能でな
ければならないということである。いずれの非入力信号
実現の初期化でも、すべての他の信号が完全に制御でき
ると考えることによって実行することができる。しか
し、これは十分条件ではない。重要なのは、これら個々
の初期化シーケンスの存在は回路全体が初期化可能であ
ると保証していないことに注目することである。初期化
ベクトルの導出は、合成手順の基本部分である。
【0028】テスト生成あるいは故障シミュレーション
にとっては、短い初期化シーケンスが望ましい。従っ
て、合成方法は、先ず、単一ベクトル初期化可能実現を
得ようとする。本方法では、所定回路実現が、初期化可
能であるか否かを素早く判定するために、従属グラフを
利用する。
【0029】非入力信号実現のための初期化ベクトル
は、単位長を持つ。これは、非入力信号の現在値は、初
期化ベクトルを計算するのに適していないからであり、
そして実際に、非入力信号実現は、組合せ論理ブロック
として処理できる。非入力信号に対する不完全定義K図
を与えられる場合、対応する初期化ベクトルは、ドント
ケア割当てによってもよらなくても導出することができ
る。初期化ベクトルは、2つのカテゴリーに分類され
る。
【0030】1.有限ベクトルは、ドントケア割当てと
は関係なく、非入力信号を初期化する。
【0031】2.ポテンシャルベクトルは、信号の実現
が特定ドントケア割当てを利用して導出される場合にの
み、非入力信号を初期化するであろう。1例として、図
5に示される信号xのK図を考えてみる。信号y,zお
よびaは完全に制御可能であると仮定すれば、ベクトル
(y=1,z=a=0)は、ドントケア割当てとは関係
なく、信号xを値0に初期化する。従って、それは有限
初期化ベクトルである。しかし、ベクトル(y=z=
0,a=1)は、ドントケアφ5 =0として、実現が導
出される場合にのみ、信号xを初期化する。信号xに対
する他の有限ならびにポテンシャルベクトルは、表1に
示される。幾つかのK図に対して、有限あるいはポテン
シャル初期化ベクトルが無いこともあり得ることに注目
されたい。このことが発生する場合には、初期化実現可
能を実現することは不可能である。
【0032】
【表1】
【0033】各非入力信号実現のための初期化ベクトル
を別々に導出した後、全体の実現のための初期化シーケ
ンスを見つけるという残りの問題は、競合の解消の1つ
になる。
【0034】ドントケアを割当てて、すべての可能な単
位長初期化シーケンスを列挙するプロセスをこれから説
明する。以下の項目を入力として取る関係を、呼び出さ
れたINITと定義する。 1.初期化されない非入力信号に対するオンセット,オ
フセットおよびドントケアセットの仕様。 2.全プライマリ入力に対する割当て。プライマリ入力
は、次の3値の1つを割当てることができる:0,1ま
たはX。ここでは値Xは、プライマリ入力がまだ割当て
られていないことを意味する。 3.全非入力信号に対する割当て。非入力信号は、0ま
たは1に初期化されるか、あるいはまだ初期化されない
(U)のいずれかである。 関数INITは、初期化されていない非入力信号に対し
てのみ呼出される。この関数は、非入力信号に対する仕
様をテストし、そして信号およびドントケアの現在の部
分割当てに基づいて、初期化ベクトルを決定する。初期
化ベクトルを導出することのために、現在割当てられて
いないプライマリ入力およびドントケアの割当てを必要
とする。関数は、初期化ベクトルの一覧表をリターンす
るか、あるいは現在の部分プライマリ入力、ドントケア
および非入力信号割当てを与えられた場合、初期化ベク
トルは存在しないと報告するか、のいずれかである。関
数は、また、ポテンシャル初期化ベクトルに、対応する
ドントケア割当てのタグを付ける。プライマリ入力およ
びドントケアの特定部分割当てが、考慮中の非入力信号
を初期化することができない場合には、この割当てから
出た経路は終了する。このようにして、探索空間全体が
暗黙のうちに探索される。
【0035】最初に、全プライマリ入力は、値Xを割当
てられ、そして、全非入力信号は、値Uを割当てられ
る。関数INITは、全部の初期化されてない非入力信
号に対して呼出される。非入力信号は、0または1の両
者に初期化可能であることに注目されたい。また、プラ
イマリ入力とドントケアの幾つかの組合せによって、非
入力信号に特定初期値をとらせることもできる。初期化
シーケンスツリー(IST)と称される決定ツリーを構
成することによって、それらの可能性は、系統的に考え
ることができる。関数INITに対するすべての呼出し
は、決定ツリーのノードとして見ることができる。トッ
プレベルにおいて、ISTは、そこにある非入力信号と
同数のノードを持っている。ノードは、対応する関数呼
出しによってリターンされる初期化ベクトルと同数のブ
ランチあるいは出力辺を持っている。初期化ベクトルが
ない場合には、ノードは、ブランチを持っていない。そ
のような、空のノードは、故障ノードとしてマークさ
れ、これらの経路沿いの探索は終了する。
【0036】ブランチは、非入力信号を初期化する特定
のプライマリ入力とドントケア割当て組合せに対応す
る。どのブランチもまた、その特定レベルでなされた対
応するプライマリ入力とドントケア割当てのラベルを付
けられる。ブランチでは、あらゆる初期化されてない非
入力に対して再び関数INITが呼出される。従って、
次のレベルでは、ブランチは、現在初期化されていない
非入力信号と同数のノードを示す。また、次のレベルで
の初期化されていない信号の数は、少なくとも1つだけ
減少している。このプロセスは、全非入力信号が初期化
されるか、あるいは回路が単一ベクトルによって初期化
できないと判るまで、継続する。全非入力信号が初期化
されているノードにブランチが達する場合、このノード
は、さらにINITを呼出すことはない。そのようなノ
ードは、成功ノードと称される。トップレベルノードか
ら成功ノードまでの全経路は、初期化ベクトルに対応す
る。その経路沿いのブランチラベルでは、初期化ベクト
ルを与える。
【0037】1例として、この方法を利用して、T.
A.チュウの「グラフによる自己計時制御回路の合成:
実施例」と題する論文(コンピュータ設計国際会議紀要
565,561ページ,1986年)において合成さ
れた自己計時A/D制御器の初期化シーケンスツリーを
形成してみよう。この制御器は、3つのプライマリ入力
(La ,Da およびZa )と4つの非入力信号(Lr
r ,Zr およびx)を有する。各信号に対するオンセ
ット,オフセットおよびドントケアセットは、入力とし
て取られ、そして図8に示されるK図で表される。入力
ベクトルのプライマリ入力の順序は、La ,Da および
a である。非入力信号は、非入力信号割当てにおいて
r ,Dr ,Zr およびxと順序づけられる。方法の開
始時には、プライマリ入力は特定されていない。また、
全非入力信号は初期化されていない。従って、プライマ
リ入力割当てはXXXであり、そして非入力割当てはU
UUUである。上述の方法に従うと、結果は下記のレベ
ルとなる。
【0038】レベル1:各非入力信号に対してINIT
が呼出される。従って、トップレベルは、4つの非入力
信号に対応する4つのノードを持っている。この実施例
では、適切なドントケア割当てを利用することによっ
て、全信号は独立して初期化することができる。しか
し、簡単にするために、非入力信号xに対応するノード
についてのみ説明する。このノードから出る部分初期化
ツリーが図9に示される。関数INITは、2つの初期
化ベクトルをリターンする。割当てDa =Za =1によ
ってxを1に初期化するのに対し、Da =0は、xを0
にセットする。従って、現在のノードにはブランチは2
つしかない。再び、簡単にするために、Da=0とラベ
ルを付けられたブランチのみを追って行く。
【0039】レベル2:Da =0とラベルの付いたブラ
ンチは、xを0に初期化する。現在のプライマリ入力割
当てはX0Xであり、そして非入力信号割当てはUUU
0である。このブランチのために、すべての初期化され
ていない非入力信号に対して、INITが呼出される。
従って、このブランチは、非入力信号Lr ,Dr および
r に対応する3つのノードに進む。再び、Zr に対応
するノードのみを説明することにする。図9は、また、
はっきりさせるために、Lr とDr に対応するノードを
省いている。しかし、完全な初期化ツリーにはこれらの
ノードが含まれる。図中、破線は省略を表す。Zr に対
するINITの呼出しによって唯一の初期化ベクトルを
生ずる。φ1 =φ6 =0を割当てることによって、信号
r を初期化することができる。
【0040】レベル3:φ1 =φ6 =0とラベルの付い
たブランチは、Zr を0に初期化する。現在のプライマ
リ入力割当てはX0Xであり、そして非入力信号割当て
はUU00である。このブランチは、Lr とDr に対応
する2つのノードに進むが、それは、この2つだけが残
りの初期化されていない非入力信号だからである。次い
で、Dr に対応するノードを追うことにする。Dr に対
するINIT呼出しによって、唯一の初期化ベクトルを
生ずる。La =1とセットすることによって、信号Dr
を1に初期化することができる。
【0041】レベル4:La =1とラベルの付いたブラ
ンチは、初期化されていない非入力信号Lr に対応する
単一ノードに進む。現在のプライマリ入力割当ては10
Xであり、そして非入力信号割当てはU100である。
a に対するINIT呼出しによって3つの初期化ベク
トルを生ずる。対応する3つのブランチは、図9に示さ
れる。すべての非入力信号が初期化されたので、どのブ
ランチも、8角形で表される成功ノードに進む。これら
のノードは、また、非入力信号の初期化状態を示してい
る。
【0042】最小実現は、Dr のK図では、すべてのド
ントケアが1に割当てられ、そしてLr とZr に対する
K図では、すべてのドントケアが0に割当てられること
を必要とする。この実現のための可能なブール式セット
は、下記の通りである。
【0043】
【数3】
【0044】上記式から導出された従属グラフは、図1
0に示される。Da =0とセットすることによって、x
とZr の両者を0にセットする。La を1にセットする
ことによって、Dr を1に、次いでLr を0にさせる。
従って、この場合、最小論理実現は初期化可能である。
【0045】上述の単一ベクトル初期化を利用しても、
いずれの成功ノードも得ることができない場合には、単
一ベクトルによって回路を初期化することはできない。
しかし、入力ベクトルの複数シーケンスを利用すること
によって、回路を初期化することができる。単一ベクト
ル初期化方法は、複数ベクトル初期化シーケンスを得る
ように、容易に拡張することができる。
【0046】全信号が初期化される(少なくとも1つの
成功ノードの存在を示している)か、あるいは初期化シ
ーケンスツリーの全経路が故障ノードに終わる場合、単
一ベクトル初期化方法は終了する。すべての末端ノード
(成功または故障)には、すべての非入力信号の現在状
態(初期化または未初期化)が含まれる。どの故障ノー
ドにも、少なくとも1つの初期化されていない非入力信
号がある。故障ノードは、複数入力初期化シーケンスを
導出する開始点として利用される。どの故障ノードに対
しても、単一ベクトル初期化手順が繰り返される。故障
ノードの初期化非入力信号の現在状態を利用する際に、
単一ベクトル初期化手順は、初期化されていない信号を
初期化するであろうような新規プライマリ入力ベクトル
を導出しようとする。新規プライマリ入力ベクトルを利
用することによって、すべての非入力信号の状態に影響
を及ぼすことができる。単一ベクトル手順をどの故障ノ
ードにも利用することは、初期化段と考えられる。初期
化段は、成功ノードあるいは新規故障ノードのいずれか
で終わることができる。成功ノードであれば、複数ベク
トル初期化シーケンスが導出されたことを表す。成功ノ
ードが無い場合、故障ノードに対する新規初期化段が開
始する。各段でなされるプライマリ入力割当てによっ
て、初期化シーケンス全体に対して1ベクトルを発生す
る。この再帰的手順によって、複数ベクトル初期化シー
ケンスを発生するか、あるいはそのようなシーケンス
は、不可能であることを証明する。
【0047】単一ベクトル初期化方法は、合成回路のハ
ザード特性に影響を及ぼすことはない。しかし、複数ベ
クトル初期化手順によってハザードをもたらすこともあ
り得る。連続入力ベクトルは、プライマリ入力割当ての
みが異なるように仕向けることによって、ハザードを取
除くことができる。SIS非同期回路ベンチマークスー
ツ、qr42.gに基づく一実施例を考えることによっ
て、複数ベクトル初期化シーケンスを発生する方法を説
明する。この回路は、2つのプライマリ入力(a,d)
および3つの非入力信号(b,c,x)を持っている。
回路のK図は、図11に示される。この実施例に対し
て、単位長初期化シーケンスは存在しない。しかし、回
路は、複数入力ベクトルシーケンスによって、機能的に
初期化可能である。上述のように、単一ベクトル手順に
対する各呼出しによって、初期化段を生じる。従って、
結果のISTは、段を表すのに使用することができる。
ツリーの導出は、上述のそれと同一である。信号xのみ
がプライマリ入力だけによって初期化可能であることが
分かる。信号xに対するINITの呼出しによって、2
つの初期化ベクトルを生ずる。割当てa=d=0および
φ1-4 =0によってxを0に初期化し、そして割当てa
=0,d=1およびφ5-8 =1によってxを1にセット
する。a=d=0とラベルの付いたブランチのみを考え
てみる。a=0,d=1とラベルの付いたブランチに関
連するツリーの部分は、成功ノードを発生しないであろ
う。xが一旦、初期化されると、bとcに対して、2つ
のINITの呼出しがなされる。INITは、これらの
どちらに対しても初期化ベクトルを見つけることができ
ず、両方の場合とも、状態UU0を含む故障ノードをリ
ターンする。従って、初期化の第1段のこの部分では、
故障ノードUU0を得る。初期化の第1段に対するIS
Tは、図12に示されており、この場合、故障ノードは
長方形で示される。
【0048】故障ノードUU0は、初期化の第2のそし
て最終段のための開始点として選択される。なお、信号
bとcを初期化する必要がある。初期化シーケンスにお
ける最初のプライマリ入力ベクトルはa=d=0であ
る。従って、単一入力変化要件があるので、2つの可能
な入力ベクトルの1つのみを利用することができる。a
の値を1に変えることのみが選択される。上記分析を繰
り返し、そして現在の非入力信号値を現在状態として利
用することによって、xはその前回の値を保持している
ことが分かる。次いで、φ14=1とセットすることによ
って、信号cを1に初期化することができる。最終的
に、bもまた、1に初期化される。初期化の第2段に対
するISTは、図13に示される。従って、2つのベク
トルa=0,,d=0の次はa=1,d=0となって、
回路を状態b=1,c=1,x=0にすることができ
る。
【0049】上述の間接的列挙手順は、1つまたは全部
の可能な初期化可能実現、ならびに1つまたは全部の対
応する初期化シーケンスを導出することができる。例え
ば、入力値とドントケア割当ての幾つかの別々の組合せ
によって、信号を初期化することができる場合には、こ
れらすべての場合が検査される。このことは、同じ初期
状態から、すべての誤りが検出できるとは限らない、と
いう点で、テストの観点からすれば有利である。INI
Tは、また、所定の実現の初期化シーケンスを導出する
ために、利用することもできる。
【0050】上述のドントケア割当て手順を、同様に、
同期回路の合成に利用することもできる。これは、それ
らがどのように合成されたかに関係なく、1組のK図が
与えられると、この手順は正確に働くからである。
【0051】若干の場合、設計仕様それ自体に、機能的
に初期化不可能な設計になってしまうほど欠陥があるこ
ともあり得る。図3に示されるK図を有するトリガモジ
ュールを考察する。このK図は、完全指定になってい
る。2つの非入力信号のどちらも、プライマリ入力ベク
トルによって初期化されることはできない。従って、仕
様それ自体に欠陥があるに違いない。そのような状態で
は、仕様は、機能的に初期化不可能である。少なくとも
1つの、初期化可能な対応する実現が存在する場合、非
同期設計仕様は機能的に初期化可能である。ハンドシェ
ーク制御器例において、STGは、機能的に初期化可能
で、そしてドントケア割当て手順は、初期化可能実現を
導出するには十分であった。しかし、トリガモジュール
の場合のように、仕様それ自体が機能的に初期化可能で
なければ、ドントケア割当てに関係なく、初期化可能実
現を見つけることはできない。従って、初期化可能性の
考察を仕様レベルにまで上げる必要がある。また、初期
化可能性が、合成中、確かに保持されるために、より強
い条件が導出されなければならない。
【0052】上記両例とも、初期化可能実現がそれらか
ら得られるように、K図がある特性を満足させなければ
ならないことを示している。一旦、設計がSTGによっ
て特定されると、合成プロセス中、設計者が行使できる
唯一の制御は、ドントケア割当てにある。従って、K図
が必要特性を満足させるように修正されるために、ドン
トケア割当てが十分でない場合には、原STGが変換さ
れて、元の機能的動作を保持し、同時に、結果のK図が
初期化可能性にとっての必要条件を満たすことを保証す
る別のSTGにならなければならない。
【0053】全信号セットを順序付きセットS=
{s1 ,s2 ・・・sn }と称する。ただし、nはプラ
イマリ入力と非入力信号の総数である。各状態は、独自
のnビットベクトルV(v1 ,v2 ・・・vn )を割当
てられる。ただし、vi は、信号si の取った値であ
る。また、
【0054】
【外1】
【0055】である。ただし、Xは割当てられていない
値を表す。
【0056】信号Sのセットは、2グループに分けられ
る。グループSD は、すべての割当てられたプライマリ
入力信号および初期化非入力信号を含む。グループSN
は、すべての割当てられていないプライマリ入力信号お
よび未初期化非入力信号から成る。同様に、状態に対す
る状態ベクトルは、2つの部分、VD とVN から成り、
【0057】
【外2】
【0058】であれば
【0059】
【外3】
【0060】である。VD は、状態ベクトルの決定部分
に対応し、そしてVN は、未決定部分を表す。
【0061】ASGの全状態のセット全体を、順序付き
セットT={t1 ,・・・tj }で表す。ただし、j≦
n である。次に、TD は、SD の信号がVD で指定さ
れた値を取っているTの状態のサブセットである。回路
がTD のk番目の状態にある場合に、次状態における信
号si の値は、NSSi(TDk)で示される。例えば、図
2に示されたASGを考えてみる。全信号のセットは、
セットS={Ir ,Oa ,Ia ,Or }で示される。s
1 =Ir およびs2 =Oa はSD に属し、そしてV
D は、v1 =1およびv2 =1から成る場合、TD は状
態{1100,1101,1111,1110}から成
る。回路が状態1100にある場合には、信号Or の次
状態値は、NSOr(1100)=0で与えられる。
【0062】所定の非入力信号
【0063】
【数4】
【0064】である場合、TD のすべてのk状態は、s
i において、無矛盾であるとされる。さらに、TD の全
状態がsi において無矛盾である場合には、TD は、s
i に対するConsistent Next Stat
e(CNS)特性を満足させると称される。
【0065】TD が非入力信号に対するCNS特性を満
足させる場合には、次状態で、その信号の取る値は、現
在の状態とは独立である。再び、図2に示されるASG
を考えてみる。状態1100と1110は、信号Or
対して無矛盾となっているが、その理由は、NSOr(1
100)=NSOr(1110)=0だからである。しか
し、状態1100と1111は、Or に対して不整合と
なっており、それは、NSOr(1100)≠NSOr(1
111)だからである。また、TD が状態{1100,
1101,1111,1110}から成る場合には、T
D は信号Or に対するCNS特性を満足させない。
【0066】SD とVD が与えられて、対応するTD
全状態が、非入力信号si に対して無矛盾となっている
場合には、VD はsi に対する初期化ベクトルであり、
iをNSSi(TD )にセットする。
【0067】下記の条件は、仕様が機能的に初期化可能
であるために必要である。 1.各非入力信号に対して少なくとも1つの有限あるい
はポテンシャル初期化ベクトルが存在する。 2.SD は、プライマリ入力のみから成り、そしてTD
は、少なくとも1つの非入力信号に対するCNS特性を
満足させるような、SD 、VD および対応するTD が存
在する。次いでVD によって与えられたプライマリ入力
ベクトルは、非入力信号を初期化する。 上記条件のいずれかが達成されない場合、仕様は、機能
的に初期化不可能である。そのような状態においては、
仕様を変更して、それを機能的に初期化可能にする必要
がある。
【0068】合成手順は図14に示される。STGが機
能的に初期化可能である場合には、S.T.シャクラダ
(Chakradhar),S.バネルジィ(Bane
rjee),R.K.ロイ(Roy)およびD.K.プ
ラダン(Pradhan)による「初期化可能非同期回
路の合成」と題する論文で説明されて、1994年1
月、第7回VLSI設計国際会議において公表され、そ
してこの明細書に添付されたこの手順は、初期化可能実
現および対応する初期化シーケンスを合成するのに十分
であろう。しかし、機能的に初期化不可能STGに対す
る初期化可能実現は存在しないので、そのSTGを機能
的に初期化可能なものに変換する必要がある。
【0069】ASG12は、原STG10から導出され
る。次いで、ASGが機能的に初期化可能であるかどう
か判定される(14)。ASGが機能的に初期化可能で
あると判定されると、回路は合成される(16)。次い
で回路設計が周知の方法で実現され(すなわち、製作さ
れ)、そして初期化シーケンス(18)の適用後、この
設計回路はテストの準備が整う。ASGが機能的に初期
化可能でないと判定されると、STGは、以下で述べる
本発明の教旨に従って、変換される(20)。次いで、
変換STGが機能的に初期化可能であるかどうか判定さ
れる(22)。変換STGが機能的に初期化可能である
と判定されると、回路は合成され(16)、実現され、
そして元のSTGが機能的に初期化可能であった場合と
同様に、テストされる(18)。変換STGが機能的に
初期化可能でないと判定されると、元のSTGの初期化
は、不可能であると結論される。そのような場合、所定
の仕様に基づいて機能的に初期化可能な設計を作成する
ために、本発明を利用することはできない。
【0070】本発明は、このタスクを達成するために共
に利用される3つの手順を考えている。変換STGが機
能的に初期化可能であり、そしてそれは、既知の初期化
シーケンスと初期状態を持っている。初期化可能合成手
順において、この情報が与えられて、ドントケアの適切
な割当てを保証する。しかし、変換が適用されない場合
には、機能的に初期化可能なSTGは、存在し得ないの
である。
【0071】ASGからある状態を取除くことによっ
て、ASGの強連結特性を変えることができる。ASG
の状態は、手順StateClassを利用して、以下
の3クラスに分類される。
【0072】クラス1:ある状態を取除くことによって
ASGを切断せず、そして新規ASGが強連結のままで
ある場合、この状態はクラス1に含まれる。
【0073】クラス2:ある状態を取除くことによって
ASGを切断しないが、新規ASGが強連結であるた
め、なお数状態もまた取除かねばならない場合には、こ
の状態はクラス2に含まれる。
【0074】クラス3:ある状態を取除くことによって
ASGを切断する場合、この状態はクラス3に含まれ
る。STGにおける同時性によって、状態は、クラス1
あるいはクラス2に置かれる。クラス1あるいはクラス
2に属する状態ti が取除かれる場合、ti の親からt
i の子までの代替経路が存在する。例えば、図2に示さ
れたASGを考えてみる。状態0000と1111は、
クラス1に属する。状態0111がクラス2に属す理由
は、ASGが強連結のままでいるためには、それを取除
くことによってまた、状態1111を取除く必要がある
からである。クラス3では、取除かれた状態は順次動作
に対応し、そしてそれには同時実行経路はない。例え
ば、図2において、1101と0101の両状態が取除
かれる場合、ASGは切断される。従って、状態セット
{1101,0101}は、クラス3に属すのに対し、
個別的には、両状態は、クラス2に属す。従って、クラ
ス1とクラス2のメンバーは、集合的には非基本状態と
称されるのに対し、クラス3のメンバーは、基本的状態
と称されて、取除くことはできない。
【0075】非基本状態である場合にのみ、ASGから
その状態を取除くことができる。
【0076】所定のSD 、VD および非入力信号
【0077】
【外4】
【0078】に対する不整合状態ISSiセットは、以下
の不整合状態識別(ISI)手順を利用して識別される
が、この手順は、状態ベクトルの決定部分を与えられる
と、特定非入力信号に対する不整合状態セットを識別す
る。
【0079】手順 ISI(SD ,VD ,si ) / * Returns a set of inconsistent states* / begin 1. Determine all states in T D ; 2. k=|T D |; 3. For n=1 to k do 4. If (NSSi(TDn)=1) then add T Dn to on-list; 5. else add TDn to off-list; 6. If on-list or off-list is empty then return:/
* T D satisfies theCNS property for si * / 7. else return the list with fewer states:/* T D
does not satisfy CNSproperty* / end 例えば、図2のASGを考えてみる。SD ={Ir ,O
a },SN ={Ia ,Or }およびVD ={Ir =1,
a =1}が与えられると、手順ISI(SD,VD
r )は、次のように実行される。
【0080】TD ={1100,1101,1111,
1110};on−list={1100,1101,
1110};off−list={1111};on−
listもoff−listも空ではないので、T
D は、信号Or に対するCNS特性を満足させない。ま
た、off−listにはon−listより少数の状
態しかないので、ISIは{1111}をリターンす
る。ISIによってリターンされた状態セットが基本状
態を含んでいる場合、これらの状態は取除くことはでき
ない。クラス2に属す状態が取除かれる場合には、AS
Gの強連結性を保持するために、追加の数状態が取除か
れなければならない。注目すべきことに、状態ti の除
去によって、やはりクラス2に属す別の状態t2 の除去
が必要となる場合、t2 の除去によって次に第3状態t
3 の除去が必要になる。t3がクラス1に属す場合に
は、それ以上、状態を取除く必要はない。従って、状態
1 の除去によって、2つの追加状態t2 とt3 を取除
く必要があったのに対し、t2 の除去によっては1つの
追加状態t3 を取除くだけでよい。取除こうとする状態
のリスト(LSR)が与えられると、次の再帰的手順が
取除くべき追加状態を識別する。この手順は、取除かれ
る状態セットをリターンする。
【0081】手順 StateRemoval(LS
R) / * Returns the set of states removed and the modi
fied ASG* / begin 1. While LSR ≠{φ}{
【0082】
【外5】
【0083】3. Delete its incoming and outgoi
ng edges from the ASG. 4. LSR=LSR-t i 5. LSR=LSR ∪{states with indegree=0 or outd
egree=0 } 6. } 7. } 8. Return the set of all states removed end 図2のASGを考察する。状態1101を取除くことに
よって状態1001のみを取除けばよい。しかし、状態
0101を取除くことによっては、状態0111と01
00を取除く必要がある。状態0111と0100を取
除くことによって、今度は状態1111と0000をそ
れぞれ取除く必要がある。ASG状態を取除くことによ
って、ある信号遷移シーケンスの発生を妨げる。STG
に追加の因果関係制約を持ち込むことによって、遷移シ
ーケンスへの制約が強められる。因果関係制約は、そう
でなければ同時だっただろう2つの遷移間に順序を課す
る。従って、因果関係制約は、順次動作をもたらし、よ
って同時性を低減させる。2つの遷移に対する因果関係
制約は、それらの間の有向辺によって、STG内で特定
されている。状態tを取除くことによって課された因果
関係制約を識別する手順は、以下で与えられる。この手
順は再帰的である。状態を取除くことによって、追加状
態を取除く必要がある場合には、それらの追加状態に対
してもさらに、因果関係制約が導出されなければならな
い。Pt を状態tの親状態のセットを示すものとする。
同時に、Ct は、tの子のセットを表す。Ct (n)
は、tのn番目の子である。
【0084】手順CausCons(t): / * Returns a set of causality constraints* / begin 1. TSR=StateRemoval(t); 2. /* TSR is the total set of states removed* / 3. For each state j in TSR do { 4. Determine P j and C j from the new ASG; 5. Let k=the number of states in C j 6. For n=1 to k do { 7. Find the shortest path from a state in Pj to
state Cj (n) 8. The transition sequence specified by this pa
th corresponds to acausality constraint 9. } 10. } end 取除いた状態の親から子の各々へは、少なくとも1つの
代替経路がなければならない。これは、ASGの強連結
性を保持するのに必要である。従って、子の各々にとっ
て1つの因果関係制約が必要である。
【0085】例えば、図2に示されたASGでは、状態
0111を取除くことによってなお、状態1111を取
除く必要がある。先ず、状態1111の除去に関連する
因果関係制約が導出されねばならない。状態1111の
親は1011である。その子は、0111である。10
11から0111までは1つの経路しかない。この経路
に沿った遷移シーケンスは、Oa + が後に続くIr -
あり、よって、図1で示されるSTGでは、Ir - から
a + までの辺を必要とする。そこで、状態0111に
関連する追加の因果関係制約を導出するためには、必要
と思われる0111の唯一の親は、0011であること
が分かる。また、0101は、0111の唯一の子であ
る。従って、0011から0101までの経路によって
指定された因果関係制約は、STGにおいてIa - から
a + まで辺が置かれることを必要とする。しかし、I
r - はIa - の前に発生しなければならないので、Ir
-からOa + までの辺は冗長になり、そして取除くこと
ができる。状態を取除くことによって追加の因果関係制
約をもたらし、それによって、同時性を減じることがで
きる。従って取除こうと考えられているあらゆる状態に
コストが割当てられる。ASGから状態t1 およびt2
を取除くことを考える。状態t1 を取除くことによっ
て、状態t2 を取除くことによって必要とされるより多
くの状態を取除かねばならない場合には、t1 の方がコ
ストが高いということになる。従って、t2 の方が取除
くための候補としては良好である。
【0086】例えば、図2に示されるASGを考えてみ
る。状態0101の除去によって4つの追加状態を取除
く必要があるのに対し、状態1111の除去によって
は、取除くべき追加状態はない。従って、状態1111
の方が状態0101よりコストは低い。ASGを検査す
ることによって、取除かれる状態の総数を常に計算でき
るとは限らない。ASG状態の除去によってSTGにも
たらされる因果関係制約のために、新規ASGにおける
状態の総数がさらに低減することもあり得る。例えば、
図15(a)に示されるSTG断片を考察する。対応す
る部分的ASGも示されている。S2とS5の両状態
は、クラス1に属する。従って、ASGの強連結性を保
持するために、この2つの除去によっていずれの追加状
態も取除く必要はない。状態S2が取除かれる場合に
は、図15(b)で示されるように、2つの因果関係制
約が原STGに追加されねばならない。このSTGから
構成されたASGも示されている。このASGは、5状
態のみであるのに対し、原ASGは、8状態であった。
同様に、S5が取除かれる場合、原ASGには単一の因
果関係制約が追加される。修正STGおよび対応するA
SGは、図15(c)に示される。このASGは、6状
態である。従って、状態S2の除去によって、正味3状
態を除去したことになるのに対し、状態S5の除去によ
っては、正味2状態を除去したのみである。この結果、
S5の方がS2よりコストは低いことになる。
【0087】以下の説明は、単一ベクトルによって初期
化できるSTGに限定される。複数ベクトルの初期化を
必要とするSTGにも、この手順を応用することができ
る。状態の除去によって、K図にドントケア項目を追加
するのみで、他項目には影響を及ぼさないものとする。
従って、状態除去の前の項目が1(0)である場合、そ
れは1(0)のままであるか、あるいは状態除去後にド
ントケアになるであろう。この条件が満足されない場
合、この手順は、初期化可能STGを導出することがで
きないこともあり得る。全体の手順は再帰的である。各
繰り返しごとに、1非入力信号が初期化される。手順の
基本段階は、下記の通りである。
【0088】手順 STGTransform begin 1. Initially, S D consists of all primary inputs a
nd SX contains all non-input signals. Thus, V D c
orresponds to an unassigned primary inputvector.
IS Si is the set of inconsistent states for non-in
put signal si . 2. While IS Si= {φ}{ 3. Pick a VD 4. } 5. While SN ≠{φ}{
【0089】
【外6】
【0090】7. IS Si=ISI(SD ,VD ,si ); 8. If ISSi does not contain any essential st
ates then assign a cost to it. 9. end 10. Select si having the lowest cost of ISSi; 11. SR=StateRemoval(ISSi); 12. Derive causality constraints for each k i SR
and add these to the list of causality constraint
s 13. s i is added to S D and is removed from S
N ; v i =NS Si(TD ) isadded to V D . 14. } 15. Modify STG by adding edges corresponding to al
l causality constraints; 16. Remove redundant edges; 17. Create a new ASG and a new set of K-maps; 18. return VD ; end 初期化ベクトルは、VD のプライマリ入力信号値によっ
て与えられる。この初期状態は、VD における指定され
た非入力信号値に対応する。この情報は、次いで、前掲
の、S.T.チャクラダー他の論文に記述された、初期
化可能合成手順に与えられ、ドントケアがそれに応じ
て、確かに割当てられるようにする。T.A.チュー
(Chu)による「グラフ理論仕様に基づく自己計時V
LSI回路の合成」と題する論文PhD論文(1987
年,MIT)では、活性および独自状態符号化(US
C)が、ハザードのないオペレーションを保証するため
に満足されねばならない構文特性として識別されてい
る。活性特性にはASG、従ってSTGが強連結されね
ばならないことが必須である。本発明では、非基本状態
のみが除去されるので、状態除去手順は、活性を保持し
ている。USCもまた、状態除去によって保持される。
原STGがUSCを満足させる場合、状態の除去によっ
てUSC特性を侵害することはあり得ない。新状態が追
加されないので、状態符号化は、前と同様のままにな
る。
【0091】従って、提案されたSTG変換は、非基本
的かつ不整合状態の除去および、追加の因果関係制約の
持ち込みから成っているが、活性ならびにUSC特性を
保持している。
【0092】文献から採用した、機能的に初期化不可能
な設計の実施例によって、この手順を説明しよう。T.
A.チューによる「グラフ理論仕様に基づいた自己計時
VLSI回路の合成」と題するPhD論文(1987
年,MIT)に発表されたトリガモジュールの合成を考
察する。このモジュールには、2つのプライマリ入力
(Ir ,Oa )および2つの非入力信号(Ia ,Or
がある。STG,ASGおよび非入力信号に対する合成
K図は、それぞれ、図1,図2および図3に示される。
K図を点検することによって、設計が機能的に初期化不
可能であることは明らかであるが、それは、2つの非入
力信号のいずれも、プライマリ入力のみによって初期化
できないからである。状態割当てにおける信号の順序
は、(Ir ,Oa ,Ia ,Or )である。簡潔にするた
めに、信号Or を先ず初期化しようとする場合について
説明する。しかし、この経路が初期化可能な解決に達し
ない場合には、他の信号の利用を最初に試みなければな
らないことに注目すべきである。必要なSTG変換は、
下記のように導出される。
【0093】SD ={Ir ,Oa };SN ={Ia ,O
r };VD ={Ir =X,Oa =X} あらゆるVD に対して信号Or に対するISIとSta
teClassの呼出しの結果は、表2に要約されてい
る。取除かれた状態の総数から見たコストもまた、示さ
れている。
【0094】
【表2】
【0095】状態0000および1111は、最低コス
トに関連する。従って、それらは、除去のための最良候
補であり、第1に考察される。状態1111の除去を考
察する。状態0000の除去は、同様に実行することが
できる。
【0096】StateRemoveおよびCausC
onsを利用して、状態1111の除去によって課され
る因果関係制約を決定する。結果は、Ir - からOa +
までの辺を原STGに追加しなければならない、であ
る。
【0097】Or がSD に追加され、そしてSN から除
去される;Or =0がVD に追加される。
【0098】信号Ia が初期化されねばならない。Or
は初期化されているので、それが初期化され得るかどう
か先ずチェックする。VD は更新されて、現在は{Ir
=1,Oa =1,Or =0}を含む。
【0099】対応するTD ={1100,1101}が
a に対するCNS特性を満足させるので、ISI(S
D ,VD ,Ia )はゼロセットをリターンする。
【0100】次いで、Ia がSD に追加され、SN から
除去される;Ia =1がVD に追加される。
【0101】SN ={φ}であるので、信号はこれ以上
初期化される必要はない。
【0102】Ir - からOa + までの辺を追加すること
によって原STGは修正される。
【0103】新規ASGが作成される。これは、状態1
111が不在の原ASGのサブグラフとなっている。
【0104】次いで、新規K図、初期化ベクトルおよび
初期状態が、S.T.チャクラダー他による論文で説明
された手順に与えられ、従ってドントケアは、適切に割
当てられる。
【0105】ブール式は次の通りである。
【0106】Or =Ia r r +Or a +Ia aa =Ia r +Ia r +Or r プライマリ入力ベクトルIr =1,Oa =1によって回
路を、状態Or =0,Ia =1に初期化することを示す
ことができる。
【0107】図16は、本発明の教旨に従って設計され
た初期化可能トリガモジュールの略図である。図示され
た回路設計は、通常の方法で作成することができる。作
成された回路に初期化シーケンスを適用すると、回路は
テストする準備が整う。
【0108】初期化可能回路の設計に至る非同期回路合
成方法について説明し、例示してきたが、添付のクレー
ムの範囲によってのみ限定されるべき発明の広い原理お
よび精神から逸脱することなく、変更例等が可能である
ことは、当業者には明白であろう。
【0109】
【発明の効果】以上説明したように本発明は、回路が初
期化可能であることを保証するように非同期回路を合成
することができ、また回路を初期化する初期化シーケン
スを得ることができる。
【0110】さらに、機能的に初期化不可能信号遷移グ
ラフを機能的に初期化可能信号遷移グラフに変換して、
非同期回路設計において利用することができる。
【図面の簡単な説明】
【図1】トリガモジュールの信号遷移グラフである。
【図2】図1のトリガモジュールのための非同期状態グ
ラフである。
【図3】図1のトリガモジュールのカルノー図である。
【図4】ハンドシェークコントローラの信号遷移グラフ
である。
【図5】ハンドシェークコントローラのカルノー図であ
る。
【図6】ハンドシェークコントローラの最小論理実現の
ための従属グラフである。
【図7】初期化可能実現のためのハンドシェークコント
ローラの従属グラフである。
【図8】A/D変換器のカルノー図である。
【図9】部分初期化シーケンスツリーのための略図であ
る。
【図10】A/D変換器の最小実現のための従属グラフ
である。
【図11】SIS非同期回路ベンチマークスーツqr4
2.gのためのカルノー図である。
【図12】回路の初期化の第1段のための初期化シーケ
ンスツリーを示す図である。
【図13】回路の初期化の第2段のための初期化シーケ
ンスツリーを示す図である。
【図14】初期化可能非同期回路を合成する方法の流れ
図である。
【図15】費用要素計算のために利用された実施例を示
す図である。
【図16】トリガモジュールの略図である。
【符号の説明】
なし
───────────────────────────────────────────────────── フロントページの続き (72)発明者 ラビンドラ ケイ ロイ アメリカ合衆国 08536 ニュージャー シー州 プレインズボロ ラヴェンス クレスト ドライブ 5118 (56)参考文献 IEEE TRANSACTIONS ON COMPUTERS,VOL. 41,NO.3,P.374−379,K.− T.CHENG ET AL.,”IN ITIALIZABILITY CON SIDERATION IN SEQU ENTIAL MACHINE SYN THESIS"

Claims (14)

    (57)【特許請求の範囲】
  1. 【請求項1】回路の機能的動作を定める信号遷移グラフ
    に基づいた初期化可能非同期回路設計を合成する方法で
    あって、 (a)信号遷移グラフから非同期状態グラフを導出する
    ステップと、 (b)非同期状態グラフが機能的に初期化可能な回路設
    計を定義しているかどうかを判定するステップと、 (c)ステップ(b)が、設計は機能的に初期化可能で
    あると判定する場合、下記のステップを実行し初期化シ
    ーケンスを生成するステップと、 i.入力信号および非入力信号に対するK図から見て、
    回路の機能的動作を特定する。 ii.トップレベルに前記各非入力信号に対応する各自の
    ルートノードを有する初期化シーケンスツリーを形成す
    る。 iii.前記各ルートノードに対してINIT関数を順次
    適用して、非入力信号に対応するノードを有するブラン
    チを形成する。 iv.成功ノードあるいは故障ノードに達するまで、各ブ
    ランチに対して(c)(ii)と(c)(iii )のステッ
    プを繰り返す。 v.成功ノードに達するブランチに対応する前記初期化
    シーケンスを形成する。 (d)ステップ(b)が、設計は機能的に初期化可能で
    はないと判定する場合、下記のステップを実行し修正非
    同期状態グラフを生成するステップと、 i.信号遷移グラフから、各状態が決定部分と未決定部
    分を有する状態ベクトルによって符号化されている非同
    期状態グラフを導出する。 ii.前記状態ベクトルの決定部分から指定非入力信号に
    対する不整合状態を識別する。 iii.StateClass手順を利用して、ステップ
    (d)(ii)で識別された各状態を分類する。 iv.非入力信号を選択し、そして不整合状態を取除く。 v.ステップ(d)(iv)で取除かれた不整合状態が、
    最少の同時性損だけで、未修正信号遷移グラフと同等に
    動作する前記修正非同期状態グラフになるように非同期
    状態グラフを修正する。 vi.修正非同期状態グラフに対応するように状態ベクト
    ルの決定部分を更新する。 vii.全ての非入力信号が初期化されるまで、ステップ
    (d)(ii)から(d)(vi)を繰り返す。 (e)機能的に初期化可能である場合は前記信号遷移グ
    ラフに従って初期化可能非同期回路を合成し、機能的に
    初期化可能でない場合は前記修正非同期状態グラフに従
    って初期化可能非同期回路を合成するステップ、とから
    成ることを特徴とする初期化可能非同期回路設計を合成
    する方法。
  2. 【請求項2】(a)信号遷移グラフに関して、回路の機
    能的動作を特定するステップと、 (b)信号遷移グラフから、各状態が決定部分と未決定
    部分を有する状態ベクトルによって符号化されている非
    同期状態グラフを導出するステップと、 (c)状態ベクトルの決定部分から指定非入力信号に対
    する不整合状態を識別するステップと、 (d)StateClass手順を利用して、ステップ
    (c)で識別された各状態を分類するステップと、 (e)非入力信号を選択し、そして不整合状態を取除く
    ステップと、 (f)ステップ(e)で不整合状態を除去した結果、同
    時性の損失が最少となるように未修正信号遷移グラフと
    同等に動作する修正非同期状態グラフになるように、非
    同期状態グラフを修正するステップと、 (g)状態ベクトルの決定部分を修正信号遷移グラフに
    対応するよう更新するステップと、 (h)全ての非入力信号が初期化され、そして状態ベク
    トルが未決定部分を含まなくなるまで、ステップ(c)
    から(g)を繰り返すステップと、 (i)全ての非入力信号が初期化された後、決定部分が
    次のテストのための非同期回路の初期化に利用され得る
    場合、修正遷移グラフに従って、初期化可能非同期回路
    を合成するステップ、とから成ることを特徴とする初期
    化可能非同期回路設計を合成する方法。
  3. 【請求項3】前記不整合状態識別ステップは、その関連
    する状態ベクトルの所定の決定部分を有する全状態を識
    別するステップと、 所定の非入力信号に対する各識別状態の次状態値をチェ
    ックするステップと、 決定部分の状態ベクトルおよび所定の非入力信号に応答
    する所望の次状態値を発生できない状態を識別するステ
    ップ、とから成ることを特徴とする請求項記載の初期
    化可能非同期回路設計を合成する方法。
  4. 【請求項4】前記各状態分類ステップは、それを取除い
    ても非同期状態グラフを切断せず、そして非同期状態グ
    ラフがその状態の除去後もなお、強連結のままであるよ
    うな各状態を第1クラスに識別するステップと、 それを取除いても非同期状態グラフを切断せず、そして
    非同期状態グラフが強連結のままであるために、別の状
    態が取除かれねばならないような各状態を第2クラスに
    識別するステップと、 それを取除くと非同期状態グラフを切断するような各状
    態を第3クラスに分類するステップ、とから成ることを
    特徴とする請求項記載の初期化可能非同期回路設計を
    合成する方法。
  5. 【請求項5】前記信号遷移グラフ修正ステップは、第2
    クラスに識別された状態を取除く前に、第1クラスに識
    別された状態を取除くことを特徴とする請求項記載の
    初期化可能非同期回路設計を合成する方法。
  6. 【請求項6】前記信号遷移グラフ修正ステップは、最少
    数の追加状態を取除くために、第2クラスに識別された
    状態を取除くことを特徴とする請求項記載の初期化可
    能非同期回路設計を合成する方法。
  7. 【請求項7】前記追加状態除去ステップは、状態除去手
    順に従って実行されることを特徴とする請求項記載の
    初期化可能非同期回路設計を合成する方法。
  8. 【請求項8】前記不整合状態識別ステップは、第3クラ
    スの識別状態を取除くことを特徴とする請求項記載の
    初期化可能非同期回路設計を合成する方法。
  9. 【請求項9】前記信号遷移グラフ修正ステップは、不整
    合状態が達成されるまで、深さ優先方法で状態グラフを
    点検するステップと、 不整合状態に対応するノードの入力辺と出力辺を状態グ
    ラフから消去するステップと、 ノードの先祖の経路に沿って引き返し、そして同時性が
    生ずるノードに達するまでノードを消去するステップ
    と、 状態グラフから冗長弧を除去するステップ、とから成る
    ことを特徴とする請求項2記載の初期化可能非同期回路
    設計を合成する方法。
  10. 【請求項10】状態ベクトルの決定部分は、プライマリ
    入力信号と初期化非入力信号を含み、そして未決定部分
    は、初期化されていない非入力信号を含むことを特徴と
    する請求項記載の初期化可能非同期回路設計を合成す
    る方法。
  11. 【請求項11】前記更新ステップは、初期化非入力信号
    を含むよう状態ベクトルの決定部分を更新することを特
    徴とする請求項10記載の初期化可能非同期回路設計を
    合成する方法。
  12. 【請求項12】信号遷移グラフは、機能的に初期化不可
    能であることを特徴とする請求項記載の初期化可能非
    同期回路設計を合成する方法。
  13. 【請求項13】合成回路に従って、回路を製作するステ
    ップ(j)から成ることを特徴とする請求項記載の初
    期化可能非同期回路設計を合成する方法。
  14. 【請求項14】状態ベクトルの決定部分を製作した回路
    に適用するステップ(k)から成ることを特徴とする請
    求項13記載の初期化可能非同期回路設計を合成する方
    法。
JP6170599A 1993-10-28 1994-07-22 初期化可能非同期回路設計を合成する方法 Expired - Fee Related JP2689908B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US08/144802 1993-10-28
US8/144802 1993-10-28
US08/144,802 US5493505A (en) 1993-10-28 1993-10-28 Initializable asynchronous circuit design

Publications (2)

Publication Number Publication Date
JPH07129642A JPH07129642A (ja) 1995-05-19
JP2689908B2 true JP2689908B2 (ja) 1997-12-10

Family

ID=22510205

Family Applications (1)

Application Number Title Priority Date Filing Date
JP6170599A Expired - Fee Related JP2689908B2 (ja) 1993-10-28 1994-07-22 初期化可能非同期回路設計を合成する方法

Country Status (2)

Country Link
US (1) US5493505A (ja)
JP (1) JP2689908B2 (ja)

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB9406931D0 (en) * 1994-04-07 1994-06-01 Philips Electronics Uk Ltd Data processing apparatus
US5748487A (en) 1995-01-31 1998-05-05 Imec System and method for generating a hazard-free asynchronous circuit
US5958077A (en) * 1995-12-27 1999-09-28 Nec Usa, Inc. Method for testing asynchronous circuits
US5801955A (en) * 1996-05-31 1998-09-01 Mentor Graphics Corporation Method and apparatus for removing timing hazards in a circuit design
US6301553B1 (en) 1996-05-31 2001-10-09 Luc M. Burgun Method and apparatus for removing timing hazards in a circuit design
US6389586B1 (en) 1998-01-05 2002-05-14 Synplicity, Inc. Method and apparatus for invalid state detection
KR100345009B1 (ko) * 2000-08-14 2002-07-20 주식회사 에이디칩스 비동기식 제어부의 생성 방법
US7076417B2 (en) * 2001-09-05 2006-07-11 Agilent Technologies, Inc. Method for modeling and processing asynchronous functional specification for system level architecture synthesis
US7051298B1 (en) * 2002-06-04 2006-05-23 Cadence Design Systems, Inc. Method and apparatus for specifying a distance between an external state and a set of states in space
US6785875B2 (en) * 2002-08-15 2004-08-31 Fulcrum Microsystems, Inc. Methods and apparatus for facilitating physical synthesis of an integrated circuit design
US7299436B2 (en) * 2005-02-10 2007-11-20 International Business Machines Corporation System and method for accurately modeling an asynchronous interface using expanded logic elements
US8718998B2 (en) * 2011-03-17 2014-05-06 Apple Inc. Identifying initial don't care memory elements for simulation
USD844634S1 (en) * 2016-10-26 2019-04-02 Ab Initio Technology Llc Computer screen with visual programming icons

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4167789A (en) * 1969-04-16 1979-09-11 The Aiken Fund, Inc. Asynchronous circuit and system
US4845633A (en) * 1985-12-02 1989-07-04 Apple Computer Inc. System for programming graphically a programmable, asynchronous logic cell and array
US4922413A (en) * 1987-03-24 1990-05-01 Center For Innovative Technology Method for concurrent execution of primitive operations by dynamically assigning operations based upon computational marked graph and availability of data
US4862399A (en) * 1987-08-31 1989-08-29 General Electric Company Method for generating efficient testsets for a class of digital circuits
US5005136A (en) * 1988-02-16 1991-04-02 U.S. Philips Corporation Silicon-compiler method and arrangement
ATE265712T1 (de) * 1988-10-05 2004-05-15 Quickturn Design Systems Inc Verfahren zur verwendung einer elektronisch wiederkonfigurierbaren gatterfeld-logik und dadurch hergestelltes gerät
US5163016A (en) * 1990-03-06 1992-11-10 At&T Bell Laboratories Analytical development and verification of control-intensive systems
JP2516703B2 (ja) * 1990-09-26 1996-07-24 株式会社日立製作所 論理自動生成方法および論理自動生成システム
US5337255A (en) * 1991-10-30 1994-08-09 Xilinx, Inc. Method for implementing set/reset synchronously or asynchronously in a programmable logic device

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
IEEE TRANSACTIONS ON COMPUTERS,VOL.41,NO.3,P.374−379,K.−T.CHENG ET AL.,"INITIALIZABILITY CONSIDERATION IN SEQUENTIAL MACHINE SYNTHESIS"

Also Published As

Publication number Publication date
US5493505A (en) 1996-02-20
JPH07129642A (ja) 1995-05-19

Similar Documents

Publication Publication Date Title
US5493504A (en) System and method for processing logic function and fault diagnosis using binary tree representation
JP2689908B2 (ja) 初期化可能非同期回路設計を合成する方法
US5222029A (en) Bitwise implementation mechanism for a circuit design synthesis procedure
JP2609799B2 (ja) 順序回路の再設計方法
US5461573A (en) VLSI circuits designed for testability and methods for producing them
JP2001142937A (ja) 回路のスケジューリング正当性チェック方法及びスケジュール検証方法
JPH0431147B2 (ja)
JPH11353357A (ja) 再コンフュギュレ―ション可能なハ―ドウェアの評価装置及び評価方法
US5481469A (en) Automatic power vector generation for sequential circuits
JP2001014298A (ja) 合成及びレイアウトのオーバーヘッドが少ないsatソルバー・アーキテクチャーを得るための方法及び装置
US20020010899A1 (en) Digital circuit layout techniques
US5587919A (en) Apparatus and method for logic optimization by redundancy addition and removal
JP2985922B2 (ja) 論理関数データ処理装置
JPH10134091A (ja) 論理エミュレーションの最適化回路生成法
Kanjilal et al. Test function embedding algorithms with application to interconnected finite state machines
US20010013113A1 (en) Technology mapping method and storage medium
US8443314B1 (en) Abstraction level-preserving conversion of flip-flop-inferred hardware description language (HDL) to instantiated HDL
US5502647A (en) Resynthesis and retiming for optimum partial scan testing
JP2003156544A (ja) 集積回路のテストのための圧縮テストプランの生成、テスト系列生成およびテスト
Klimowicz Combined State Splitting and Merging for Implementation of Fast Finite State Machines in FPGA
Chakradhar et al. Redundancy removal and test generation for circuits with non-Boolean primitives
WO2023166877A1 (ja) 処理方法、非同期式回路、および論理回路
US20240256749A1 (en) Retiming sequential elements having initital states
JP3004589B2 (ja) パストランジスタ論理設計方法
JP3863423B2 (ja) 論理回路の故障箇所推定方法、および、論理回路の故障箇所推定プログラム

Legal Events

Date Code Title Description
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 19970729

LAPS Cancellation because of no payment of annual fees