JP2692594B2 - スキャンフリップフロップ選択方法および順序回路 - Google Patents
スキャンフリップフロップ選択方法および順序回路Info
- Publication number
- JP2692594B2 JP2692594B2 JP6163511A JP16351194A JP2692594B2 JP 2692594 B2 JP2692594 B2 JP 2692594B2 JP 6163511 A JP6163511 A JP 6163511A JP 16351194 A JP16351194 A JP 16351194A JP 2692594 B2 JP2692594 B2 JP 2692594B2
- Authority
- JP
- Japan
- Prior art keywords
- circuit
- scan
- cmfvs
- flip
- vertex
- 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
- G01—MEASURING; TESTING
- G01R—MEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
- G01R31/00—Arrangements for testing electric properties; Arrangements for locating electric faults; Arrangements for electrical testing characterised by what is being tested not provided for elsewhere
- G01R31/28—Testing of electronic circuits, e.g. by signal tracer
- G01R31/317—Testing of digital circuits
- G01R31/3181—Functional testing
- G01R31/3185—Reconfiguring for testing, e.g. LSSD, partitioning
- G01R31/318533—Reconfiguring for testing, e.g. LSSD, partitioning using scanning techniques, e.g. LSSD, Boundary Scan, JTAG
- G01R31/318583—Design for test
- G01R31/318586—Design for test with partial scan or non-scannable parts
Landscapes
- Engineering & Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Tests Of Electronic Circuits (AREA)
Description
【0001】
【産業上の利用分野】本発明は、順序回路の部分スキャ
ンテストに関し、特に、より少数のフリップフロップに
よる部分スキャンテストを実現するための再合成および
リタイミングに関する。
ンテストに関し、特に、より少数のフリップフロップに
よる部分スキャンテストを実現するための再合成および
リタイミングに関する。
【0002】
【発明の背景】回路の部分スキャンテストは、費用効率
の高い順序回路自動テストパターン生成(Automa
tic Test Pattern Generati
on:ATPG)方法のための一般的なテスト容易化設
計技術として発展してきた。部分スキャン方法に伴うコ
ストは、スキャンされるフリップフロップ(FF)の個
数に関係する。部分スキャン手法の最終目的は、順序回
路ATPGが高い故障検出率を実現するような最少のス
キャンフリップフロップを選択することである。幾つか
の回路の実験的な分析によれば、順序回路のテスト生成
の複雑度は、回路のFF依存グラフにおけるサイクル長
に対して指数関数的に増加する。回路のFF依存グラフ
は、FF間の信号依存を表現するものである。グラフ
は、すべてのFFに対して頂点を有し、FFuからFF
vへの組合せ経路がある場合は常に、頂点uからvへの
弧が存在する。
の高い順序回路自動テストパターン生成(Automa
tic Test Pattern Generati
on:ATPG)方法のための一般的なテスト容易化設
計技術として発展してきた。部分スキャン方法に伴うコ
ストは、スキャンされるフリップフロップ(FF)の個
数に関係する。部分スキャン手法の最終目的は、順序回
路ATPGが高い故障検出率を実現するような最少のス
キャンフリップフロップを選択することである。幾つか
の回路の実験的な分析によれば、順序回路のテスト生成
の複雑度は、回路のFF依存グラフにおけるサイクル長
に対して指数関数的に増加する。回路のFF依存グラフ
は、FF間の信号依存を表現するものである。グラフ
は、すべてのFFに対して頂点を有し、FFuからFF
vへの組合せ経路がある場合は常に、頂点uからvへの
弧が存在する。
【0003】効率的な部分スキャン手法は、FF依存グ
ラフの最少フィードバック頂点集合(Minimum
Feedback Vertex Set:MFVS)
におけるFFを選択するためのものであり、その結果、
自己ループを除くすべてのループは切断される。従来の
部分スキャン手法においては、FFの位置が固定されて
いるとみなされていたのに対し、最近の手法では、スキ
ャンされるFFの選択前のリタイミングによって回路の
FFを再配置することが試みられている。リタイミング
とは、順序回路において、その入出力の振舞いを変化さ
せずにFFを再配置する技術のことである。リタイミン
グによってFFの幾つかの構成を得ることができる。回
路中のFFの個数が最少であるところの二進最少状態構
成(どのゲートの出力においてもただ一つのFFが存在
する)が、回路を非巡回とするために必要なスキャンさ
れるFFの個数を削減するための望ましいリタイミング
の構成であることが提案された(D.Kagaris
and S.Tragoudas,“Partial
Scan with Retiming”,Proc.
Design Automation Confer
ence,pp.249−254,1993)。この論
文には、与えられた最初の回路から二進最少状態構成を
得る幾つかの技術が示されている。
ラフの最少フィードバック頂点集合(Minimum
Feedback Vertex Set:MFVS)
におけるFFを選択するためのものであり、その結果、
自己ループを除くすべてのループは切断される。従来の
部分スキャン手法においては、FFの位置が固定されて
いるとみなされていたのに対し、最近の手法では、スキ
ャンされるFFの選択前のリタイミングによって回路の
FFを再配置することが試みられている。リタイミング
とは、順序回路において、その入出力の振舞いを変化さ
せずにFFを再配置する技術のことである。リタイミン
グによってFFの幾つかの構成を得ることができる。回
路中のFFの個数が最少であるところの二進最少状態構
成(どのゲートの出力においてもただ一つのFFが存在
する)が、回路を非巡回とするために必要なスキャンさ
れるFFの個数を削減するための望ましいリタイミング
の構成であることが提案された(D.Kagaris
and S.Tragoudas,“Partial
Scan with Retiming”,Proc.
Design Automation Confer
ence,pp.249−254,1993)。この論
文には、与えられた最初の回路から二進最少状態構成を
得る幾つかの技術が示されている。
【0004】順序回路における検出困難な故障のほとん
どは、回路中の適度なサイズまたは大きなサイズの強連
結成分において発生することが観測されている。この観
測に基づき、本発明者は、回路中の強連結成分中のFF
の個数を最少にすることにより回路のテスト容易化性を
改善するリタイミング手法を以前に発見した。しかし、
回路中のFFの個数、または回路中の強連結成分中のF
Fの個数の最少化は、すべての可能なリタイミング構成
の中でMFVSが最小の大きさを有する様な回路を生じ
させることができるとは限らない。
どは、回路中の適度なサイズまたは大きなサイズの強連
結成分において発生することが観測されている。この観
測に基づき、本発明者は、回路中の強連結成分中のFF
の個数を最少にすることにより回路のテスト容易化性を
改善するリタイミング手法を以前に発見した。しかし、
回路中のFFの個数、または回路中の強連結成分中のF
Fの個数の最少化は、すべての可能なリタイミング構成
の中でMFVSが最小の大きさを有する様な回路を生じ
させることができるとは限らない。
【0005】リタイミングの有利性を理解するために、
図1に示された順序回路を考える。それに対応するFF
依存グラフが図2に示されている。FF依存グラフのM
FVSは、2個のFF(XとY、XとZ、またはYと
Z)を含んでいる。MFVSにおけるFFを、自己ルー
プを除くすべてのサイクルが切断される様にスキャンす
ることが可能である。
図1に示された順序回路を考える。それに対応するFF
依存グラフが図2に示されている。FF依存グラフのM
FVSは、2個のFF(XとY、XとZ、またはYと
Z)を含んでいる。MFVSにおけるFFを、自己ルー
プを除くすべてのサイクルが切断される様にスキャンす
ることが可能である。
【0006】図1に示された回路は、二進最少状態構成
に対応する。これは、どのゲートの出力においても最大
で一個のFFしか存在せず、かつ回路中のFFの個数は
さらに最少化できないからである。したがって、Kag
arisらの論文で提案されたリタイミング技術は、回
路を非巡回とするために必要なスキャンされるFFの個
数をさらに減少させることはできない。また、回路中の
強連結成分におけるFFの個数をさらに減少させること
もできない。したがって、本発明者によって以前に提案
されたリタイミング手法もまた、MFVSのサイズをさ
らに縮小するという点においては有効ではない。
に対応する。これは、どのゲートの出力においても最大
で一個のFFしか存在せず、かつ回路中のFFの個数は
さらに最少化できないからである。したがって、Kag
arisらの論文で提案されたリタイミング技術は、回
路を非巡回とするために必要なスキャンされるFFの個
数をさらに減少させることはできない。また、回路中の
強連結成分におけるFFの個数をさらに減少させること
もできない。したがって、本発明者によって以前に提案
されたリタイミング手法もまた、MFVSのサイズをさ
らに縮小するという点においては有効ではない。
【0007】回路グラフは回路中のすべてのゲートに対
しそれぞれ頂点を有し、もしゲートaがゲートbを駆動
するならば、二個の頂点a,b間に弧が存在する。回路
グラフのMFVSは、除去された場合に回路または回路
グラフを非巡回にする様なゲートのリストである。回路
のMFVSは明らかに、回路のFF依存グラフのMFV
Sの下界である。したがって、回路MFVSは、FF依
存グラフのすべてのサイクルを切断するための部分スキ
ャンのために選択されなければならないフリップフロッ
プの個数の下界となる。図1に示された回路において、
回路MFVSは三個のゲートc,d,eを含む。もしこ
れらのゲートが回路から除かれれば、修正された回路は
非巡回となる。修正された回路に対応するFF依存グラ
フもまたサイクルを持たない。ゲートd,eは、回路の
FF依存グラフにおける自己ループに対応するサイクル
を切断するためだけに選ばれる。たとえ自己ループが存
在したとしても高い順序テスト効率は達成できるので、
回路MFVSは、自己ループを除きFF依存グラフ中の
すべてのサイクルを除去するゲートを含むことのみが必
要である。本発明においては、回路またはFF依存グラ
フ中の自己ループを除くすべてのサイクルを切断するこ
とのみに考慮が払われる。一つの例として、図1の回路
を再度考える。FF依存グラフ中のすべてのサイクルを
切断するためには、回路MFVSにゲートcを含めれば
充分である。その結果得られる回路が図3に、また対応
するFF依存グラフが図4に示されている。回路MFV
Sにゲートcを含めたことにより、FFのXとFFの
Y,Zの間の依存がなくなったことに注目する。また、
FFのYのFFのZに対する依存も失われている。図4
のFF依存グラフは、自己ループを除いてサイクルを持
たない。
しそれぞれ頂点を有し、もしゲートaがゲートbを駆動
するならば、二個の頂点a,b間に弧が存在する。回路
グラフのMFVSは、除去された場合に回路または回路
グラフを非巡回にする様なゲートのリストである。回路
のMFVSは明らかに、回路のFF依存グラフのMFV
Sの下界である。したがって、回路MFVSは、FF依
存グラフのすべてのサイクルを切断するための部分スキ
ャンのために選択されなければならないフリップフロッ
プの個数の下界となる。図1に示された回路において、
回路MFVSは三個のゲートc,d,eを含む。もしこ
れらのゲートが回路から除かれれば、修正された回路は
非巡回となる。修正された回路に対応するFF依存グラ
フもまたサイクルを持たない。ゲートd,eは、回路の
FF依存グラフにおける自己ループに対応するサイクル
を切断するためだけに選ばれる。たとえ自己ループが存
在したとしても高い順序テスト効率は達成できるので、
回路MFVSは、自己ループを除きFF依存グラフ中の
すべてのサイクルを除去するゲートを含むことのみが必
要である。本発明においては、回路またはFF依存グラ
フ中の自己ループを除くすべてのサイクルを切断するこ
とのみに考慮が払われる。一つの例として、図1の回路
を再度考える。FF依存グラフ中のすべてのサイクルを
切断するためには、回路MFVSにゲートcを含めれば
充分である。その結果得られる回路が図3に、また対応
するFF依存グラフが図4に示されている。回路MFV
Sにゲートcを含めたことにより、FFのXとFFの
Y,Zの間の依存がなくなったことに注目する。また、
FFのYのFFのZに対する依存も失われている。図4
のFF依存グラフは、自己ループを除いてサイクルを持
たない。
【0008】図1におけるゲートcは、回路最少フィー
ドバック頂点集合(CircuitMinimum F
eedback Vertex Set:CMFV
S)、すなわち回路中のすべてのサイクルを切断するた
めにMFVSに含められるべきゲートの最少集合を表
す。もしそれぞれのCMFVSゲートが1フリップフロ
ップを駆動する様な回路構成が達成できるならば、これ
らのフリップフロップを部分スキャンのために選択する
ことができる。再度図1を参照するに、ゲートcはFF
を駆動するものではない。また、ゲートcがフリップフ
ロップを駆動する様なリタイミングされた構成は存在し
ない。これは、ゲートdから主出力(Primary
Output:PO)fへのファンアウトの存在によ
り、FFのY,Zをゲートcの後に移動させることがで
きないからである。同様に、ゲートbに対する主入力
(Primary Input:PI)iの存在は、F
FのY,Zがゲートbを経由してゲートcの出力に向か
って前方に移動することを禁止する。
ドバック頂点集合(CircuitMinimum F
eedback Vertex Set:CMFV
S)、すなわち回路中のすべてのサイクルを切断するた
めにMFVSに含められるべきゲートの最少集合を表
す。もしそれぞれのCMFVSゲートが1フリップフロ
ップを駆動する様な回路構成が達成できるならば、これ
らのフリップフロップを部分スキャンのために選択する
ことができる。再度図1を参照するに、ゲートcはFF
を駆動するものではない。また、ゲートcがフリップフ
ロップを駆動する様なリタイミングされた構成は存在し
ない。これは、ゲートdから主出力(Primary
Output:PO)fへのファンアウトの存在によ
り、FFのY,Zをゲートcの後に移動させることがで
きないからである。同様に、ゲートbに対する主入力
(Primary Input:PI)iの存在は、F
FのY,Zがゲートbを経由してゲートcの出力に向か
って前方に移動することを禁止する。
【0009】しかし、本発明の教示する内容によれば、
再合成とリタイミングの組合せにより所望の構成を得る
ことができ、図5は、再合成後の回路を示す。この回路
においてはゲートdが複製されており、その結果、FF
を望ましい位置であるゲートcに向かって移動させるこ
とを禁止するPOへの経路は存在しなくなる。図5の再
合成回路を、図6に示された所望のリタイミング構成を
得るためにリタイミングすることができる。ここで、C
MFVSゲートcの出力に存在するFFのPに注目す
る。これに対応するFF依存グラフが図7に示されてい
る。CMFVSゲートはcのみであるから、最終的な回
路のMFVSは唯一のFFであるPを含む。図1に示さ
れた元の回路においては二個のFFをスキャンしなけれ
ばならないのに対し、図6に示された再合成およびリタ
イミング後の回路においては、すべてのサイクルを切断
するために一個のFFをスキャンすれば充分である。上
記の例は、最小サイズのMFVSを有する回路を構成す
るために再合成とリタイミングにより回路を変形するこ
との実現可能性を明らかに示すものである。
再合成とリタイミングの組合せにより所望の構成を得る
ことができ、図5は、再合成後の回路を示す。この回路
においてはゲートdが複製されており、その結果、FF
を望ましい位置であるゲートcに向かって移動させるこ
とを禁止するPOへの経路は存在しなくなる。図5の再
合成回路を、図6に示された所望のリタイミング構成を
得るためにリタイミングすることができる。ここで、C
MFVSゲートcの出力に存在するFFのPに注目す
る。これに対応するFF依存グラフが図7に示されてい
る。CMFVSゲートはcのみであるから、最終的な回
路のMFVSは唯一のFFであるPを含む。図1に示さ
れた元の回路においては二個のFFをスキャンしなけれ
ばならないのに対し、図6に示された再合成およびリタ
イミング後の回路においては、すべてのサイクルを切断
するために一個のFFをスキャンすれば充分である。上
記の例は、最小サイズのMFVSを有する回路を構成す
るために再合成とリタイミングにより回路を変形するこ
との実現可能性を明らかに示すものである。
【0010】
【発明が解決しようとする課題】本発明の主な目的は、
最小サイズのMFVSを有する回路を生成するための回
路再合成及びリタイミング方法を提供することにある。
最小サイズのMFVSを有する回路を生成するための回
路再合成及びリタイミング方法を提供することにある。
【0011】本発明の他の目的は、すべての回路MFV
Sゲートがそれぞれ少なくとも一個のスキャンできるF
Fを駆動する様に、修正された回路中のFFの再配置を
提供することにある。
Sゲートがそれぞれ少なくとも一個のスキャンできるF
Fを駆動する様に、修正された回路中のFFの再配置を
提供することにある。
【0012】本発明のさらに他の目的は、修正された回
路のリタイミングが部分スキャンテストのための所望の
FF再配置を達成する様に、再合成による回路の修正を
提供することにある。
路のリタイミングが部分スキャンテストのための所望の
FF再配置を達成する様に、再合成による回路の修正を
提供することにある。
【0013】
【課題を解決するための手段】本発明は、最小サイズの
MFVSを有する回路を生成する、再合成とリタイミン
グを含んだ新規な方法を開示するものである。まず最初
に、二個以上のFFを有する回路中のすべてのサイクル
が考え得るすべてのリタイミング構成のもとで切断され
る様に、回路グラフのMFVSを発見するという課題を
検討する。回路MFVSにおいてリタイミングによって
FFをそれぞれのゲートの出力に位置させられるため
に、回路が満足すべき必要十分条件を導出する。再合成
技術は、その必要十分条件を満足する回路の形成を保証
するために使用する。リタイミングの定式化は、必要と
される組合せおよび順序論理オーバヘッドを最小化する
一方で所望のリタイミング構成を得るように行われる。
幾つかの大きな順序回路ベンチマークにおける実験結果
は、提案されている再合成およびリタイミング技術の有
効性を証明している。再合成およびリタイミングされた
回路において必要とされるスキャンFFの数は、元の回
路において必要とされるスキャンFFの数よりもかなり
小さい。
MFVSを有する回路を生成する、再合成とリタイミン
グを含んだ新規な方法を開示するものである。まず最初
に、二個以上のFFを有する回路中のすべてのサイクル
が考え得るすべてのリタイミング構成のもとで切断され
る様に、回路グラフのMFVSを発見するという課題を
検討する。回路MFVSにおいてリタイミングによって
FFをそれぞれのゲートの出力に位置させられるため
に、回路が満足すべき必要十分条件を導出する。再合成
技術は、その必要十分条件を満足する回路の形成を保証
するために使用する。リタイミングの定式化は、必要と
される組合せおよび順序論理オーバヘッドを最小化する
一方で所望のリタイミング構成を得るように行われる。
幾つかの大きな順序回路ベンチマークにおける実験結果
は、提案されている再合成およびリタイミング技術の有
効性を証明している。再合成およびリタイミングされた
回路において必要とされるスキャンFFの数は、元の回
路において必要とされるスキャンFFの数よりもかなり
小さい。
【0014】
【実施例】本発明の理解を容易にするため、リタイミン
グと再合成の概念についてまず簡単に述べる。
グと再合成の概念についてまず簡単に述べる。
【0015】回路は、組合せ論理ゲートとグローバルに
クロックが与えられるフリップフロップの相互結合とみ
なされる。それぞれのフリップフロップは単一の入力お
よび単一の出力を有し、すべてのフリップフロップは同
じ周期波形のクロックが与えられている。さらに、フリ
ップフロップはグローバルクロックの立ち上がり(また
は立ち下がり)においてその入力をサンプリングし、サ
ンプリングされたデータはクロックの次の立ち上がり
(または立ち下がり)においてそのフリップフロップの
出力において利用できる。同じクロックエッジにおいて
は、フリップフロップの出力の変化は別のレジスタの入
力に影響を与えないと仮定する。エッジトリガ、マスタ
ー・スレーブおよびDフリップフロップは、すべてその
様なフリップフロップの例である。
クロックが与えられるフリップフロップの相互結合とみ
なされる。それぞれのフリップフロップは単一の入力お
よび単一の出力を有し、すべてのフリップフロップは同
じ周期波形のクロックが与えられている。さらに、フリ
ップフロップはグローバルクロックの立ち上がり(また
は立ち下がり)においてその入力をサンプリングし、サ
ンプリングされたデータはクロックの次の立ち上がり
(または立ち下がり)においてそのフリップフロップの
出力において利用できる。同じクロックエッジにおいて
は、フリップフロップの出力の変化は別のレジスタの入
力に影響を与えないと仮定する。エッジトリガ、マスタ
ー・スレーブおよびDフリップフロップは、すべてその
様なフリップフロップの例である。
【0016】ゲート、主入力または主出力がx1 ・・・
xn で表されたディジタル回路を考える。この回路は、
すべての主入力,主出力または組合せ論理ゲートxi に
対してそれぞれ頂点xi を有する回路グラフGとしてモ
デル化される。もしゲートxi がゲートxj の入力であ
れば、頂点xi から頂点xj への弧eが存在する(xi
→e xj と表される)。さらに、それぞれの弧eに対し
て重みwe ≧0が関係づけられる。ここで、we はゲー
トxi とxj 間のフリップフロップの個数である。
xn で表されたディジタル回路を考える。この回路は、
すべての主入力,主出力または組合せ論理ゲートxi に
対してそれぞれ頂点xi を有する回路グラフGとしてモ
デル化される。もしゲートxi がゲートxj の入力であ
れば、頂点xi から頂点xj への弧eが存在する(xi
→e xj と表される)。さらに、それぞれの弧eに対し
て重みwe ≧0が関係づけられる。ここで、we はゲー
トxi とxj 間のフリップフロップの個数である。
【0017】リタイミング過程は、同期順序回路中のレ
ジスタまたはフリップフロップ(FF)を効果的に再配
置する。回路のリタイミングは、整数r(xi )をすべ
ての組合せ論理ゲートxi それぞれに割り当てる関数r
()として記される。整数r(xi )は、ゲートxi の
すべてのファンアウトからそのファンインへ移動される
フリップフロップの個数を表す。重みw(e)を有する
弧xi →e xj を考える。量r(xj )−r(xi )+
w(e)≧0は、リタイミング後の弧eにおけるフリッ
プフロップの個数であり、リタイミングされた弧重みと
呼ばれる。もしリタイミングされた回路グラフ中のすべ
ての弧が負でない重みを有すれば、そのリタイミングは
「正当」と称される。また、正当にリタイミングされた
回路は、機能的に元の回路と等価である。
ジスタまたはフリップフロップ(FF)を効果的に再配
置する。回路のリタイミングは、整数r(xi )をすべ
ての組合せ論理ゲートxi それぞれに割り当てる関数r
()として記される。整数r(xi )は、ゲートxi の
すべてのファンアウトからそのファンインへ移動される
フリップフロップの個数を表す。重みw(e)を有する
弧xi →e xj を考える。量r(xj )−r(xi )+
w(e)≧0は、リタイミング後の弧eにおけるフリッ
プフロップの個数であり、リタイミングされた弧重みと
呼ばれる。もしリタイミングされた回路グラフ中のすべ
ての弧が負でない重みを有すれば、そのリタイミングは
「正当」と称される。また、正当にリタイミングされた
回路は、機能的に元の回路と等価である。
【0018】CMFVS={vi }を、FF依存グラフ
中のすべてのループを除去するためにスキャンされなけ
ればならない回路グラフ中のゲートまたは頂点の最少集
合とする。それぞれのCMFVS頂点の出力に1FFを
有する回路構成を、CMFVS構成と称する。幾つかの
リタイミング構成が一つのCMFVS構成に対応するこ
とは有り得る。もし現在の回路またはリタイミングされ
た回路がCMFVS構成に対応するならば、CMFVS
頂点に対応するFFはFF依存グラフを非巡回とするた
めにスキャンされ得る。その様にスキャンされるFFの
個数は、回路の考え得るどのリタイミング構成に対して
も最少となる。CMFVS中の頂点がすべての出力弧に
おいて、少なくとも一個のフリップフロップを有する要
請は、スキャン制限と呼ばれる。CMFVS構成は、す
べてのCMFVSスキャン制限を満足する。
中のすべてのループを除去するためにスキャンされなけ
ればならない回路グラフ中のゲートまたは頂点の最少集
合とする。それぞれのCMFVS頂点の出力に1FFを
有する回路構成を、CMFVS構成と称する。幾つかの
リタイミング構成が一つのCMFVS構成に対応するこ
とは有り得る。もし現在の回路またはリタイミングされ
た回路がCMFVS構成に対応するならば、CMFVS
頂点に対応するFFはFF依存グラフを非巡回とするた
めにスキャンされ得る。その様にスキャンされるFFの
個数は、回路の考え得るどのリタイミング構成に対して
も最少となる。CMFVS中の頂点がすべての出力弧に
おいて、少なくとも一個のフリップフロップを有する要
請は、スキャン制限と呼ばれる。CMFVS構成は、す
べてのCMFVSスキャン制限を満足する。
【0019】あるCMFVS構成に対応するリタイミン
グ構成が存在しない場合もある。しかし、正当なリタイ
ミングによってCMFVS構成が得られるための必要十
分条件が存在する。ただ一つの頂点だけが繰り返される
様なサイクルを基本サイクルと呼ぶ。図10に示された
回路を考える。基本サイクルは、(X,a,b,c,
d,X)、(Y,a,Y)、(Z,a,b,Z)、
(V,c,e,V)、(V,e,V)および(W,c,
d,W)である。サイクル(X,a,b,Z,a,b,
c,d,X)は、非基本サイクルの例である。
グ構成が存在しない場合もある。しかし、正当なリタイ
ミングによってCMFVS構成が得られるための必要十
分条件が存在する。ただ一つの頂点だけが繰り返される
様なサイクルを基本サイクルと呼ぶ。図10に示された
回路を考える。基本サイクルは、(X,a,b,c,
d,X)、(Y,a,Y)、(Z,a,b,Z)、
(V,c,e,V)、(V,e,V)および(W,c,
d,W)である。サイクル(X,a,b,Z,a,b,
c,d,X)は、非基本サイクルの例である。
【0020】図10の回路に対して必要とされるCMF
VSの最少集合は、カットによって示されている様に、
{a,c}である。CMFVS頂点の一つcから主出力
fへの経路が存在することに注目する。図11は、cか
らPOのfへの経路が複製された再合成回路を示し、そ
して、cに対するCMFVSスキャン制限は、FFのQ
をcの出力に位置させる様な正当なリタイミングによっ
て満足されている。同様に、CMFVS頂点aはPOの
fへの経路を有するが、aからPOのfへの経路は、経
路複製により除くことができる。しかし、基本サイクル
C=(X,a,b,c,d,X)はただ一個のFFを有
し、二つのCMFVS頂点a,cに対しては二個のFF
が必要であるから、サイクルCは、両方のCMFVSス
キャン制限を満足するための充分な個数のフリップフロ
ップを有しない。
VSの最少集合は、カットによって示されている様に、
{a,c}である。CMFVS頂点の一つcから主出力
fへの経路が存在することに注目する。図11は、cか
らPOのfへの経路が複製された再合成回路を示し、そ
して、cに対するCMFVSスキャン制限は、FFのQ
をcの出力に位置させる様な正当なリタイミングによっ
て満足されている。同様に、CMFVS頂点aはPOの
fへの経路を有するが、aからPOのfへの経路は、経
路複製により除くことができる。しかし、基本サイクル
C=(X,a,b,c,d,X)はただ一個のFFを有
し、二つのCMFVS頂点a,cに対しては二個のFF
が必要であるから、サイクルCは、両方のCMFVSス
キャン制限を満足するための充分な個数のフリップフロ
ップを有しない。
【0021】所望のCMFVS構成が正当なリタイミン
グによって達成されるために回路トポロジーが満足すべ
き必要十分条件につき以下に述べる。元の回路が次の二
条件を満足する場合のみ、所望のCMFVS構成を有す
る回路を正当なリタイミングによって得ることができ
る。
グによって達成されるために回路トポロジーが満足すべ
き必要十分条件につき以下に述べる。元の回路が次の二
条件を満足する場合のみ、所望のCMFVS構成を有す
る回路を正当なリタイミングによって得ることができ
る。
【0022】1.それぞれのCMFVS頂点vに対し
て、vからどの主出力へも組合せ経路が存在しないか、
または、どの主入力からもvへの組合せ経路が存在しな
い。
て、vからどの主出力へも組合せ経路が存在しないか、
または、どの主入力からもvへの組合せ経路が存在しな
い。
【0023】2.回路中のそれぞれの基本サイクルに対
して、CMFVS頂点の数がFFの数を越えない。
して、CMFVS頂点の数がFFの数を越えない。
【0024】本発明の教示する内容によれば、回路の再
合成によって上記必要十分条件1および2を満足する回
路を常に得ることができる。
合成によって上記必要十分条件1および2を満足する回
路を常に得ることができる。
【0025】任意の与えられた回路を、CMFVS構成
を得るために正当なリタイミングから要求される必要十
分条件を満足する等価回路に修正する二つの変形とし
て、「出力分割」および「サイクル分割」がある。
を得るために正当なリタイミングから要求される必要十
分条件を満足する等価回路に修正する二つの変形とし
て、「出力分割」および「サイクル分割」がある。
【0026】上記条件1を満足しないCMFVS頂点v
を考える。すなわち、vは、主出力Oの集合への経路お
よび/または主入力Iの集合からの経路を有する。図8
は、CMFVS頂点vおよびその入力,出力錘を示す。
以下に述べる出力分割と呼ばれる変形は、vの出力錘
を、変形後の回路において上記条件1を満足する対応の
頂点vF が存在する様に分割する。
を考える。すなわち、vは、主出力Oの集合への経路お
よび/または主入力Iの集合からの経路を有する。図8
は、CMFVS頂点vおよびその入力,出力錘を示す。
以下に述べる出力分割と呼ばれる変形は、vの出力錘
を、変形後の回路において上記条件1を満足する対応の
頂点vF が存在する様に分割する。
【0027】二つの部分回路PO およびPF が形成され
る。図8におけるCMFVS頂点vに対する出力分割変
形が図9に示されている。部分回路PO は、vから集合
O中の主出力への経路上に排他的に存在する頂点および
弧から成る。同様に、部分回路PF は、vからFFへの
すべての経路上に排他的に存在する頂点および弧から成
る。主出力およびFF双方への経路を有するvの出力錘
中に頂点wが存在するかも知れないことに注意する。w
は、部分回路PO およびPF の双方に存在する。部分回
路PO 中の頂点wは、新たにw′と名づけられる。改名
後においては、部分回路PO およびPF は別個の頂点を
有する。もしwの任意の入力頂点がvの出力錘に属さな
いならば、その入力頂点は複製された頂点w′にも結合
される。例えば、図8において、頂点uはvの出力錘に
は属していない。これは、wの入力頂点であるから、
w′へも入力として結合される。そして、vの出力錘に
は二つの部分回路PO ,PF によって置き換えられる。
vのファンアウトは、二つの新たなステム頂点、すなわ
ち、部分回路PO に結合されたvO および部分回路PF
に結合されたvF によって置き換えられる。
る。図8におけるCMFVS頂点vに対する出力分割変
形が図9に示されている。部分回路PO は、vから集合
O中の主出力への経路上に排他的に存在する頂点および
弧から成る。同様に、部分回路PF は、vからFFへの
すべての経路上に排他的に存在する頂点および弧から成
る。主出力およびFF双方への経路を有するvの出力錘
中に頂点wが存在するかも知れないことに注意する。w
は、部分回路PO およびPF の双方に存在する。部分回
路PO 中の頂点wは、新たにw′と名づけられる。改名
後においては、部分回路PO およびPF は別個の頂点を
有する。もしwの任意の入力頂点がvの出力錘に属さな
いならば、その入力頂点は複製された頂点w′にも結合
される。例えば、図8において、頂点uはvの出力錘に
は属していない。これは、wの入力頂点であるから、
w′へも入力として結合される。そして、vの出力錘に
は二つの部分回路PO ,PF によって置き換えられる。
vのファンアウトは、二つの新たなステム頂点、すなわ
ち、部分回路PO に結合されたvO および部分回路PF
に結合されたvF によって置き換えられる。
【0028】CMFVS頂点vを通過するすべてのサイ
クルは新たなステム頂点vF をも通過し、どのサイクル
も新たなステム頂点vO を通過しない。これは、vO は
どのフリップフロップへの経路をも有しないからであ
る。したがって、vによって切断されるどのサイクル
も、vF によっても切断される。頂点vF が、CMFV
Sの頂点vにとってかわる。vF は主出力への経路を有
しないから上記条件1を満足することに注目する。
クルは新たなステム頂点vF をも通過し、どのサイクル
も新たなステム頂点vO を通過しない。これは、vO は
どのフリップフロップへの経路をも有しないからであ
る。したがって、vによって切断されるどのサイクル
も、vF によっても切断される。頂点vF が、CMFV
Sの頂点vにとってかわる。vF は主出力への経路を有
しないから上記条件1を満足することに注目する。
【0029】図1に示された回路において、CMFVS
頂点cを考える。そのCMFVS頂点は、主出力への一
つの経路およびPIのiからの二つの経路を有する。し
たがって、頂点cは、上記の条件1を満足しない。cの
出力錘は、頂点{d,e,f,g}から成る。出力分割
により図5に示された変形回路が生成され、主出力のみ
への経路を有する部分回路PO は頂点{d′,f}を含
み、FFのみへの経路を有する部分回路PF は頂点
{d,e,g}を含む。頂点dおよびそのファンインエ
ッジが複製されていることに注目する。新たなステム頂
点cF が、このCMFVSのcにとってかわる。どの主
出力へも経路を有しないことにより、頂点cF は上記条
件1を満足する。また、cF がスキャンされた場合、元
のCMFVS頂点cを含んでいたすべてのサイクルは切
断される。
頂点cを考える。そのCMFVS頂点は、主出力への一
つの経路およびPIのiからの二つの経路を有する。し
たがって、頂点cは、上記の条件1を満足しない。cの
出力錘は、頂点{d,e,f,g}から成る。出力分割
により図5に示された変形回路が生成され、主出力のみ
への経路を有する部分回路PO は頂点{d′,f}を含
み、FFのみへの経路を有する部分回路PF は頂点
{d,e,g}を含む。頂点dおよびそのファンインエ
ッジが複製されていることに注目する。新たなステム頂
点cF が、このCMFVSのcにとってかわる。どの主
出力へも経路を有しないことにより、頂点cF は上記条
件1を満足する。また、cF がスキャンされた場合、元
のCMFVS頂点cを含んでいたすべてのサイクルは切
断される。
【0030】出力分割変形は、主入力からの経路および
主出力への経路を有する任意のCMFVS頂点vへ適用
することができる。再合成された回路において、新たな
頂点vF は上記条件1を満足する。
主出力への経路を有する任意のCMFVS頂点vへ適用
することができる。再合成された回路において、新たな
頂点vF は上記条件1を満足する。
【0031】出力分割は、組合せ論理の複製を生じさせ
る。組合せ論理のオーバヘッドを低く抑えるため、出力
分割は、主入力からの経路および主出力への経路を有す
るCMFVS頂点に対してのみ行われるべきである。そ
の様な頂点に対するスキャン制限は、リタイミングのみ
では満足することができない。また、一回に一つのCM
FVSの出力分割は、論理の不必要な複製につながる。
複製の回数をできるだけ減らし、幾つかのCMFVS頂
点に対する出力分割を同時に実行できるアルゴリズムを
提供するネットワークフローの定式化について以下に述
べる。
る。組合せ論理のオーバヘッドを低く抑えるため、出力
分割は、主入力からの経路および主出力への経路を有す
るCMFVS頂点に対してのみ行われるべきである。そ
の様な頂点に対するスキャン制限は、リタイミングのみ
では満足することができない。また、一回に一つのCM
FVSの出力分割は、論理の不必要な複製につながる。
複製の回数をできるだけ減らし、幾つかのCMFVS頂
点に対する出力分割を同時に実行できるアルゴリズムを
提供するネットワークフローの定式化について以下に述
べる。
【0032】FFの個数よりも多くのCMFVS頂点を
含む基本サイクルに対しては、サイクル分割と呼ばれる
処理により、サイクルにおいてCMFVS頂点の数がF
Fの個数を越えない様に常に再合成することができる
(上記条件2)。Cを、サイクルにおいてn個のFFお
よびm個のCMFVS頂点(m>n)を有する基本サイ
クルとする。C上のn個のCMFVS頂点を任意に選択
する。もしn個のCMFVS頂点を含むC以外の基本サ
イクルが上記条件1を満たすとすると、そのn個のCM
FVS頂点を、場合によっては出力分割の助けを借り
て、利用できるn個のFFによって充足させることがで
きる。そうでなければ、以下に述べるサイクル分割変形
を、それぞれの問題の基本サイクル(すなわち、フリッ
プフロップよりも多くのCMFVS頂点を有するサイク
ル)に適用しなければならない。
含む基本サイクルに対しては、サイクル分割と呼ばれる
処理により、サイクルにおいてCMFVS頂点の数がF
Fの個数を越えない様に常に再合成することができる
(上記条件2)。Cを、サイクルにおいてn個のFFお
よびm個のCMFVS頂点(m>n)を有する基本サイ
クルとする。C上のn個のCMFVS頂点を任意に選択
する。もしn個のCMFVS頂点を含むC以外の基本サ
イクルが上記条件1を満たすとすると、そのn個のCM
FVS頂点を、場合によっては出力分割の助けを借り
て、利用できるn個のFFによって充足させることがで
きる。そうでなければ、以下に述べるサイクル分割変形
を、それぞれの問題の基本サイクル(すなわち、フリッ
プフロップよりも多くのCMFVS頂点を有するサイク
ル)に適用しなければならない。
【0033】スキャン制限がまだ満たされていない、C
における残りのm−n個のCMFVS頂点に関して検討
する。その様なCMFVS頂点vのそれぞれに対して、
基本サイクルCとオーバーラップする基本サイクルの集
合Sが存在し、CMFVS頂点vは集合S中の基本サイ
クルを切断する様に選ばれている。vからの最長の経路
P=(v1 ,・・・,vk )を、頂点v1 〜vk が基本
サイクルCと基本サイクルの集合Sに対して共通となる
様に考える。サイクル分割変形は、最長経路Pを認識
し、複製経路P′を得るためにP中の頂点を複製する。
基本サイクルSに対する古い経路Pを保持しつつ複製経
路P′をCの一部とすることにより、基本サイクルCは
その他の基本サイクルSから分離される。vのファンア
ウトは、二個の新たなステム頂点、すなわち、基本サイ
クルCにおいて経路P′に結合されたvO と、基本サイ
クルSにおいて経路Pに結合されたvF に置き換えられ
る。経路Pの最後の頂点vk から基本サイクルの頂点へ
のファンアウトは分離される。この場合、基本サイクル
Cは、新たなステム頂点vF が以下の特性を有する様な
形で他のすべての基本サイクルSから適切に分離されて
いる。
における残りのm−n個のCMFVS頂点に関して検討
する。その様なCMFVS頂点vのそれぞれに対して、
基本サイクルCとオーバーラップする基本サイクルの集
合Sが存在し、CMFVS頂点vは集合S中の基本サイ
クルを切断する様に選ばれている。vからの最長の経路
P=(v1 ,・・・,vk )を、頂点v1 〜vk が基本
サイクルCと基本サイクルの集合Sに対して共通となる
様に考える。サイクル分割変形は、最長経路Pを認識
し、複製経路P′を得るためにP中の頂点を複製する。
基本サイクルSに対する古い経路Pを保持しつつ複製経
路P′をCの一部とすることにより、基本サイクルCは
その他の基本サイクルSから分離される。vのファンア
ウトは、二個の新たなステム頂点、すなわち、基本サイ
クルCにおいて経路P′に結合されたvO と、基本サイ
クルSにおいて経路Pに結合されたvF に置き換えられ
る。経路Pの最後の頂点vk から基本サイクルの頂点へ
のファンアウトは分離される。この場合、基本サイクル
Cは、新たなステム頂点vF が以下の特性を有する様な
形で他のすべての基本サイクルSから適切に分離されて
いる。
【0034】頂点vF は基本サイクルCに属さず、した
がって、その出力へのFFの追加は、C内のFFが使え
るかどうかには依存しない。
がって、その出力へのFFの追加は、C内のFFが使え
るかどうかには依存しない。
【0035】頂点VF は、CMFVS頂点vが属してい
た他のすべての基本サイクルSに属する。したがって、
それは、vが切断するために選択されたすべてのサイク
ルSを切断することができる。
た他のすべての基本サイクルSに属する。したがって、
それは、vが切断するために選択されたすべてのサイク
ルSを切断することができる。
【0036】頂点vF はサイクルCに切断する必要はな
い。サイクルCは、充足させることができるCにおける
他のn個のCMFVS頂点によって切断することができ
る。
い。サイクルCは、充足させることができるCにおける
他のn個のCMFVS頂点によって切断することができ
る。
【0037】新たなステム頂点vF の上記特性から、そ
れが頂点vの代わりにCMFVS頂点として働くことは
明らかである。したがって、基本サイクルC中のCMF
VS頂点の数は一個減少する。もしS中のそれぞれの基
本サイクルに対するCMFVSの数が基本サイクル中の
FFの数を越えないならば、vの出力にFFを常に配置
することができる。そうでなければ、問題の基本サイク
ルが残らなくなるまで、S中のそれぞれの問題の基本サ
イクルにサイクル分割を適用することができる。その
後、新たなCMFVS頂点vF を充足させることができ
る。サイクル分割変形は、基本サイクルC中のCMFV
S頂点の数をC中の利用可能なFFの個数nにまで減少
させるために、C中の残りのm−n個のCMFVS頂点
のそれぞれに対して適用することができる。
れが頂点vの代わりにCMFVS頂点として働くことは
明らかである。したがって、基本サイクルC中のCMF
VS頂点の数は一個減少する。もしS中のそれぞれの基
本サイクルに対するCMFVSの数が基本サイクル中の
FFの数を越えないならば、vの出力にFFを常に配置
することができる。そうでなければ、問題の基本サイク
ルが残らなくなるまで、S中のそれぞれの問題の基本サ
イクルにサイクル分割を適用することができる。その
後、新たなCMFVS頂点vF を充足させることができ
る。サイクル分割変形は、基本サイクルC中のCMFV
S頂点の数をC中の利用可能なFFの個数nにまで減少
させるために、C中の残りのm−n個のCMFVS頂点
のそれぞれに対して適用することができる。
【0038】図10の回路は、サイクル分割の適用を説
明するためのものである。カットによって示されている
様に、図10の回路に対して必要なCMFVS頂点の最
少集合{a,c}である。基本サイクルC={X,a,
b,c,d,X}は二個の充足されるべきCMFVS頂
点を有するのに対し、利用可能なFFはXの一個しか持
っていない。すなわち、m=2,n=1である。図11
は、出力分割によって得られた回路を示し、この回路で
は、新たなCMFVS頂点cF が充足されている(その
出力にFFのQを有する)。
明するためのものである。カットによって示されている
様に、図10の回路に対して必要なCMFVS頂点の最
少集合{a,c}である。基本サイクルC={X,a,
b,c,d,X}は二個の充足されるべきCMFVS頂
点を有するのに対し、利用可能なFFはXの一個しか持
っていない。すなわち、m=2,n=1である。図11
は、出力分割によって得られた回路を示し、この回路で
は、新たなCMFVS頂点cF が充足されている(その
出力にFFのQを有する)。
【0039】残りのCMFVS頂点aに対しては、サイ
クル分割が適用される。頂点aは、基本サイクルC=
{a,b,c,cF ,Q,d,a}に加え、基本サイク
ルの集合S={(Y,a,Y),(Z,a,b,Z)}
にも属する。頂点aからの、CとSに共通の最長経路P
は、唯一の頂点bから成る。P′=(b′)となる様に
経路Pが複製される。頂点aのファンアウトは、二個の
新たなステム頂点、すなわち、図13に示された様に、
複製された経路P′に接続されたaO と、元の経路Pに
接続されたaF によって置き換えられる。経路Pの最後
の頂点であるbから基本サイクル中の頂点であるaへの
ファンアウトは分離される。この場合、要請される様
に、基本サイクルCは他のすべての基本サイクルSから
分離されている。頂点aF の切断により、S中のサイク
ルが切断され、サイクルCは他の既に充足されているC
MFVS頂点cF によって切断される。したがって、a
F が、頂点aの代わりにCMFVS頂点とされる。これ
により、基本サイクルCおよび他のすべての基本サイク
ルは、上記の条件2を満足する。条件1もまた満足され
る。したがって、新たなCMFVS頂点aF を充足させ
ることができる。図13は、続いて行われる正当なリタ
イミングステップによって得られた所望のCMFVS構
成を有する再合成された回路を示す。CMFVS頂点a
F とcF はそれぞれ出力にFFのTおよびQを有するこ
とに注目する。FFのTおよびQをスキャンすることに
より、自己ループ以外のすべてのループを切断すること
ができる。
クル分割が適用される。頂点aは、基本サイクルC=
{a,b,c,cF ,Q,d,a}に加え、基本サイク
ルの集合S={(Y,a,Y),(Z,a,b,Z)}
にも属する。頂点aからの、CとSに共通の最長経路P
は、唯一の頂点bから成る。P′=(b′)となる様に
経路Pが複製される。頂点aのファンアウトは、二個の
新たなステム頂点、すなわち、図13に示された様に、
複製された経路P′に接続されたaO と、元の経路Pに
接続されたaF によって置き換えられる。経路Pの最後
の頂点であるbから基本サイクル中の頂点であるaへの
ファンアウトは分離される。この場合、要請される様
に、基本サイクルCは他のすべての基本サイクルSから
分離されている。頂点aF の切断により、S中のサイク
ルが切断され、サイクルCは他の既に充足されているC
MFVS頂点cF によって切断される。したがって、a
F が、頂点aの代わりにCMFVS頂点とされる。これ
により、基本サイクルCおよび他のすべての基本サイク
ルは、上記の条件2を満足する。条件1もまた満足され
る。したがって、新たなCMFVS頂点aF を充足させ
ることができる。図13は、続いて行われる正当なリタ
イミングステップによって得られた所望のCMFVS構
成を有する再合成された回路を示す。CMFVS頂点a
F とcF はそれぞれ出力にFFのTおよびQを有するこ
とに注目する。FFのTおよびQをスキャンすることに
より、自己ループ以外のすべてのループを切断すること
ができる。
【0040】回路のすべての基本サイクルは、どの基本
回路もその中のFFの個数より多くのCMFVS頂点を
含まない様にサイクル分割により変形することができ、
これにより上記の条件2が満足される。
回路もその中のFFの個数より多くのCMFVS頂点を
含まない様にサイクル分割により変形することができ、
これにより上記の条件2が満足される。
【0041】個々の基本サイクルにサイクル分割を明示
的に適用することは、計算上無理がある。基本サイクル
の数は、指数関数的になる可能性がある。基本サイクル
を個別的に列挙し、上記条件2を満足しないそれぞれの
基本サイクルにサイクル分割を適用することは、計算コ
ストが高価すぎて無理である。リタイミングと出力分割
を含む処理を行うことで同時にすべての必然的な基本サ
イクルに対して暗黙的にサイクル分割を行うことができ
る。
的に適用することは、計算上無理がある。基本サイクル
の数は、指数関数的になる可能性がある。基本サイクル
を個別的に列挙し、上記条件2を満足しないそれぞれの
基本サイクルにサイクル分割を適用することは、計算コ
ストが高価すぎて無理である。リタイミングと出力分割
を含む処理を行うことで同時にすべての必然的な基本サ
イクルに対して暗黙的にサイクル分割を行うことができ
る。
【0042】再合成によってある回路Cから上記の必要
十分条件1および2を満足する再合成された回路CR を
得ることは、常に可能である。
十分条件1および2を満足する再合成された回路CR を
得ることは、常に可能である。
【0043】v1 ,・・・,vk を、回路グラフ中の、
CMFVSとして選択された頂点の集合とする。もしす
べてのCMFVS頂点に対するスキャン制限がそれぞれ
満足されるその回路の正当なリタイミングが存在すれ
ば、リタイミングされた回路はCMFVS構成である。
しかし、多くの場合、リタイミングのみによってCMF
VS構成を実現することはできない。例として、図10
の回路を考える。その回路グラフが図14に示されてい
る。CMFVSは、二個の頂点aおよびcより成る。C
MFVS構成を得るために、弧a→e 1bおよびc→e
2dにおいてフリップフロップが必要とされる。しか
し、頂点a,b,c,dから成るサイクルは一個のフリ
ップフロップしか持たず、その回路中のフリップフロッ
プの個数をリタイミングによって二個に増やすことはで
きないので、両方の弧にフリップフロップを配置できる
様な正当なリタイミングは存在しない。
CMFVSとして選択された頂点の集合とする。もしす
べてのCMFVS頂点に対するスキャン制限がそれぞれ
満足されるその回路の正当なリタイミングが存在すれ
ば、リタイミングされた回路はCMFVS構成である。
しかし、多くの場合、リタイミングのみによってCMF
VS構成を実現することはできない。例として、図10
の回路を考える。その回路グラフが図14に示されてい
る。CMFVSは、二個の頂点aおよびcより成る。C
MFVS構成を得るために、弧a→e 1bおよびc→e
2dにおいてフリップフロップが必要とされる。しか
し、頂点a,b,c,dから成るサイクルは一個のフリ
ップフロップしか持たず、その回路中のフリップフロッ
プの個数をリタイミングによって二個に増やすことはで
きないので、両方の弧にフリップフロップを配置できる
様な正当なリタイミングは存在しない。
【0044】しかし、CMFVS構成は、リタイミング
と再合成を組合わせることによって常に実現することが
できる。以下の説明においては、CMFVS構成は、主
出力に環境からフリップフロップを借り入れることのみ
によって実現される。もしスキャン制限を満足するため
の環境からのフリップフロップの借り入れを必要とする
ならば、フリップフロップを借り入れないでリタイミン
グによってスキャン制限を満足できる様な等価回路を得
るために出力分割が採用される。もしCMFVS構成が
実現できないならば、できるだけ多くのスキャン制限を
満足することが試みられる。スキャン制限が満足されて
いないCMFVS頂点は、サイクル分割の候補である。
と再合成を組合わせることによって常に実現することが
できる。以下の説明においては、CMFVS構成は、主
出力に環境からフリップフロップを借り入れることのみ
によって実現される。もしスキャン制限を満足するため
の環境からのフリップフロップの借り入れを必要とする
ならば、フリップフロップを借り入れないでリタイミン
グによってスキャン制限を満足できる様な等価回路を得
るために出力分割が採用される。もしCMFVS構成が
実現できないならば、できるだけ多くのスキャン制限を
満足することが試みられる。スキャン制限が満足されて
いないCMFVS頂点は、サイクル分割の候補である。
【0045】できるだけ多くのスキャン制限を満足させ
るためのネットワークフローの定式化を述べる。フリッ
プフロップの環境から主出力への借り入れを考慮に入れ
るため、回路グラフが修正される。追加頂点xo が導入
される。すべての主出力頂点からxo に、重み1の弧が
追加される。例として、図14に示された回路グラフを
考える。主出力fは、重み1の弧によってxo に結合さ
れる(点線)。環境からできるだけ少数のフリップフロ
ップを借り入れることによりできるだけ多くのスキャン
制限を満足させるために、新たな回路グラフがリタイミ
ングされる。もし主出力がフリップフロップを環境から
借り入れていないならば、その主出力頂点からxo への
弧は重み1を有する。頂点xo は、修正された回路グラ
フの主出力と見なすことができる。
るためのネットワークフローの定式化を述べる。フリッ
プフロップの環境から主出力への借り入れを考慮に入れ
るため、回路グラフが修正される。追加頂点xo が導入
される。すべての主出力頂点からxo に、重み1の弧が
追加される。例として、図14に示された回路グラフを
考える。主出力fは、重み1の弧によってxo に結合さ
れる(点線)。環境からできるだけ少数のフリップフロ
ップを借り入れることによりできるだけ多くのスキャン
制限を満足させるために、新たな回路グラフがリタイミ
ングされる。もし主出力がフリップフロップを環境から
借り入れていないならば、その主出力頂点からxo への
弧は重み1を有する。頂点xo は、修正された回路グラ
フの主出力と見なすことができる。
【0046】フリップフロップを借り入れることによっ
てできるだけ多くのスキャン制限を満足するリタイミン
グ構成を決定するという問題は、最少コストネットワー
クフロー問題として定式化することができる。この適正
化問題の制限および目的関数は、次の様に定義される。
てできるだけ多くのスキャン制限を満足するリタイミン
グ構成を決定するという問題は、最少コストネットワー
クフロー問題として定式化することができる。この適正
化問題の制限および目的関数は、次の様に定義される。
【0047】三種類の制限について検討する。
【0048】1.リタイミング不等式: すべての弧
は、それぞれ負でないリタイミングされた弧重みを持た
なければならない。したがって、弧xi →e xj は、不
等式r(xj )−r(xi )÷w(e)≧0を生じさせ
る。
は、それぞれ負でないリタイミングされた弧重みを持た
なければならない。したがって、弧xi →e xj は、不
等式r(xj )−r(xi )÷w(e)≧0を生じさせ
る。
【0049】2.環境不等式: 主入力と頂点xo は、
環境からフリップフロップを借り入れることができな
い。この制限は、主入力と頂点xo に同じ整数値を割り
当てることを保証すことにより満足される。すべての主
入力xi それぞれに対して、次の二つの不等式が含まれ
る: xi −xo ≧0およびxo −xi ≧0 3.スキャン不等式: CMFVS頂点のすべての出力
弧それぞれにおいて、少なくとも一個のフリップフロッ
プが存在することが望ましい。もしxi →e xj がCM
FVS頂点の出力弧であれば、次の二つの不等式が含ま
れる:xj −xi +w(e)+εij≧1およびεij≧0
ここで、εijは整変数である。もしCMFVS頂点x
i に対するスキャン制限が満足されれば、εijは値0を
取る。そうでない場合、εijは、制限xj −xi +w
(e)+εij≧1を満たす0でない値を取る。
環境からフリップフロップを借り入れることができな
い。この制限は、主入力と頂点xo に同じ整数値を割り
当てることを保証すことにより満足される。すべての主
入力xi それぞれに対して、次の二つの不等式が含まれ
る: xi −xo ≧0およびxo −xi ≧0 3.スキャン不等式: CMFVS頂点のすべての出力
弧それぞれにおいて、少なくとも一個のフリップフロッ
プが存在することが望ましい。もしxi →e xj がCM
FVS頂点の出力弧であれば、次の二つの不等式が含ま
れる:xj −xi +w(e)+εij≧1およびεij≧0
ここで、εijは整変数である。もしCMFVS頂点x
i に対するスキャン制限が満足されれば、εijは値0を
取る。そうでない場合、εijは、制限xj −xi +w
(e)+εij≧1を満たす0でない値を取る。
【0050】目的関数は、三つの部分を含む。主たる目
的は、できるだけ多くのスキャン制限を満たすことであ
る。この目的を達成するため、すべてのCMFVS頂点
xiに対するεijの合計を最少化することが必要であ
る。第二の目的は、主出力に借り入れられるフリップフ
ロップの個数を最少化すること、および、リタイミング
された回路中のレジスタの総数を最少化することであ
る。主出力に借り入れられるフリップフロップの個数の
最少化は、すべてのr(xi )−r(xo )の合計を、
xi がxo への出力弧を有する形で最少化することに等
しい。リタイミングされた回路中のレジスタの総数の最
少化は、すべての弧に関するリタイミングされた弧の重
みの合計を最少化することにより達成される。完全な形
の目的関数は、次の通りである:
的は、できるだけ多くのスキャン制限を満たすことであ
る。この目的を達成するため、すべてのCMFVS頂点
xiに対するεijの合計を最少化することが必要であ
る。第二の目的は、主出力に借り入れられるフリップフ
ロップの個数を最少化すること、および、リタイミング
された回路中のレジスタの総数を最少化することであ
る。主出力に借り入れられるフリップフロップの個数の
最少化は、すべてのr(xi )−r(xo )の合計を、
xi がxo への出力弧を有する形で最少化することに等
しい。リタイミングされた回路中のレジスタの総数の最
少化は、すべての弧に関するリタイミングされた弧の重
みの合計を最少化することにより達成される。完全な形
の目的関数は、次の通りである:
【0051】
【数1】
【0052】を最少化する。ここで、α、δおよびγは
定数である。αまたはγよりかなり大きなδを選択する
ことにより、スキャン制限を満たすことが主たる目的と
なる。
定数である。αまたはγよりかなり大きなδを選択する
ことにより、スキャン制限を満たすことが主たる目的と
なる。
【0053】例として、図10の回路について再度考え
る。そのFF依存グラフMFVSは、三つの頂点から成
る。四つの可能なMFVSは、次の通りである:
{X,Y,V}、{X,Y,W}、{X,Z,V}およ
び{X,Z,W}。図10の回路に対する回路グラフが
図14に示されている。この回路グラフのCMFVS
は、頂点aおよびcを含む。したがって、回路CMFV
Sは、FF依存グラフのMFVSより小さい。
る。そのFF依存グラフMFVSは、三つの頂点から成
る。四つの可能なMFVSは、次の通りである:
{X,Y,V}、{X,Y,W}、{X,Z,V}およ
び{X,Z,W}。図10の回路に対する回路グラフが
図14に示されている。この回路グラフのCMFVS
は、頂点aおよびcを含む。したがって、回路CMFV
Sは、FF依存グラフのMFVSより小さい。
【0054】aおよびcに対するスキャン制限を同時に
満たすことはできないので、そのスキャン制限の内一つ
を満たすことが試みられる。次の最適化問題が定式化さ
れる。頂点fから新たな頂点xo への弧を含ませること
により、回路グラフが修正される。この新たな弧は、重
み1を有する。修正された回路グラフは、13の弧を有
する。この13の弧に対応するリタイミング不等式は、
次の通りである。
満たすことはできないので、そのスキャン制限の内一つ
を満たすことが試みられる。次の最適化問題が定式化さ
れる。頂点fから新たな頂点xo への弧を含ませること
により、回路グラフが修正される。この新たな弧は、重
み1を有する。修正された回路グラフは、13の弧を有
する。この13の弧に対応するリタイミング不等式は、
次の通りである。
【0055】 r(a)−r(j)≧0 r(a)−r(b)≧−1 r(a)−r(d)≧ −1 r(b)−r(j)≧0 r(b)−r(a)≧0 r(c)−r(b)≧0 r(c)−r(d)≧−1 r(c)−r(c)≧−1 r(d)−r(c) ≧0 r(d)−r(k)≧0 r(f)−r(d)≧0 r(e)−r(c)≧0 r(xo )−r(f)≧−1 最後の不等式r(xo )−r(f)≧−1は、主出力f
に環境からフリップフロップを借り入れるために追加さ
れた追加フリップフロップを有する、主出力fからxo
への弧によるものである。主入力およびxo は環境から
フリップフロップを借り入れることができないので、r
(i)=r(j)=r(k)=r(xo)である。環境
不等式は、次の通りである。
に環境からフリップフロップを借り入れるために追加さ
れた追加フリップフロップを有する、主出力fからxo
への弧によるものである。主入力およびxo は環境から
フリップフロップを借り入れることができないので、r
(i)=r(j)=r(k)=r(xo)である。環境
不等式は、次の通りである。
【0056】 r(i)−r(xo )≧0 r(xo )−r(i)≧0 r(j)−r(xo )≧0 r(xo )−r(j)≧0 r(k)−r(xo )≧0 r(xo )−r(k)≧0 頂点aおよびcのすべての出力弧がフリップフロップを
有することが望ましい。頂点aは、ただ一つの出力弧を
有する(自己ループの重みはすべての正当なリタイミン
グにおいて同じであるから、aの自己ループはリタイミ
ングに関して無視することができる)。この弧に対応す
るスキャン不等式は、次の通りである。
有することが望ましい。頂点aは、ただ一つの出力弧を
有する(自己ループの重みはすべての正当なリタイミン
グにおいて同じであるから、aの自己ループはリタイミ
ングに関して無視することができる)。この弧に対応す
るスキャン不等式は、次の通りである。
【0057】 r(b)−r(a)+εab≧1 εab≧0 頂点cは、二個の出力弧を有する。対応するスキャン不
等式は、次の通りである。
等式は、次の通りである。
【0058】 r(d)−r(c)+εcd≧1 εcd≧0 r(e)−r(c)+εce≧1 εce≧0 目的関数は、次の様にして形成される。第一の目的はス
キャン制限を満たすことであるから、δ*(εab+εcd
+εce)という頂点が目的関数に含まれる。弧f→e x
o からフリップフロップを借り入れることを避けるのが
望ましいので、γ*r(f)という項が含まれる。第二
の最終目的は、回路中のフリップフロップの個数を最少
化することである。これにより、α*(−r(i)−r
(j)−r(k)+2r(a)+r(c)+r
(xo ))という項が生じる。したがって、全体の目的
関数は、以下の通りである。
キャン制限を満たすことであるから、δ*(εab+εcd
+εce)という頂点が目的関数に含まれる。弧f→e x
o からフリップフロップを借り入れることを避けるのが
望ましいので、γ*r(f)という項が含まれる。第二
の最終目的は、回路中のフリップフロップの個数を最少
化することである。これにより、α*(−r(i)−r
(j)−r(k)+2r(a)+r(c)+r
(xo ))という項が生じる。したがって、全体の目的
関数は、以下の通りである。
【0059】−δ*(εab+εcd+εce)+γ*(r
(f)−r(xo ))+α*(−r(i)−r(j)−
r(k)+2r(a)+r(c)+r(xo ))を最少
化する。
(f)−r(xo ))+α*(−r(i)−r(j)−
r(k)+2r(a)+r(c)+r(xo ))を最少
化する。
【0060】δ=100、γ=10およびα=1を利用
して、解は、εab=r(d)=r(e)=r(f)=1
となり、他のすべての変数は値0を取る。εab=1であ
るから、頂点aに対するスキャン制限は満足されていな
い。また、頂点cに対するスキャン制限は、主出力fに
環境からフリップフロップを借り入れることによっての
み満たすことができる。頂点cに対するスキャン制限を
満足するリタイミングされた回路が図11に示されてい
る。この回路は、出力分割を使うことによって得られた
ものである。主出力fが環境からフリップフロップを借
り入れる必要がない様に、ゲートdが複製されて新たな
ゲートd′を得ていることに注目する。
して、解は、εab=r(d)=r(e)=r(f)=1
となり、他のすべての変数は値0を取る。εab=1であ
るから、頂点aに対するスキャン制限は満足されていな
い。また、頂点cに対するスキャン制限は、主出力fに
環境からフリップフロップを借り入れることによっての
み満たすことができる。頂点cに対するスキャン制限を
満足するリタイミングされた回路が図11に示されてい
る。この回路は、出力分割を使うことによって得られた
ものである。主出力fが環境からフリップフロップを借
り入れる必要がない様に、ゲートdが複製されて新たな
ゲートd′を得ていることに注目する。
【0061】再合成された回路が上記条件を満足する様
に出力分割をグラフに適用することは、常に可能であ
る。条件1を満足しないそれぞれのCMFVS節点vを
識別し、その後充足していないCMFVS節点ごとに別
々に出力分割を適用することは、必要とされる複製論理
の点のみでなく計算上からも費用がかかるであろう。そ
れに代わり、満足されていないスキャン制限と、すべて
の充足していないCMFVS節点に対して複製されるべ
き論理を同時に暗黙的に識別するために、上に述べられ
た定式化されたリタイミングを使用する再合成手続きを
以下に開示する。
に出力分割をグラフに適用することは、常に可能であ
る。条件1を満足しないそれぞれのCMFVS節点vを
識別し、その後充足していないCMFVS節点ごとに別
々に出力分割を適用することは、必要とされる複製論理
の点のみでなく計算上からも費用がかかるであろう。そ
れに代わり、満足されていないスキャン制限と、すべて
の充足していないCMFVS節点に対して複製されるべ
き論理を同時に暗黙的に識別するために、上に述べられ
た定式化されたリタイミングを使用する再合成手続きを
以下に開示する。
【0062】リタイミングステップにおいては、できる
だけ少数のFFを借り入れることによりできるだけ多く
のスキャン制限を満たすことが試みられる。上記条件1
を満足しないCMFVS節点に対してこのスキャン制限
を満たすために、FFが主出力から借り入れられる。主
出力への経路を有し、r(w)>0である様なファンア
ウト節点wを有するどのCMFVS節点vも、条件1を
満足するものではなく、出力分割の候補である。Nを、
充足していないCMFVS節点とする。Gを、N中のC
MFVS節点のすべての出力錘の和である部分回路とす
る。部分回路Gは、N中の節点から主出力またはFFへ
回路を横断的に検討することにより識別できる。G
O を、N中の節点から、フリップフロップを借り入れた
いずれかの出力へ向かうすべての経路上のすべての節点
およびエッジから成るGの部分回路とする。部分回路G
O は、r(j)=1であるそれぞれの主出力から後ろ向
きにGをたどることにより識別される。同様に、G
F は、N中の節点からいずれかのFFに向かうすべての
経路上のすべての節点およびエッジから成るGの部分回
路であり、r(X)=1であるいずれかのFFのXから
Gをたどることにより識別される。部分回路GO および
GF に共通する節点wは存在し得る。その場合、wは複
製され、新たな節点w′は、部分回路GO に割り当てら
れる。もしwが部分回路Gの外のファンイン節点を持っ
ていれば、そのファンイン節点もまたw′に結合され
る。
だけ少数のFFを借り入れることによりできるだけ多く
のスキャン制限を満たすことが試みられる。上記条件1
を満足しないCMFVS節点に対してこのスキャン制限
を満たすために、FFが主出力から借り入れられる。主
出力への経路を有し、r(w)>0である様なファンア
ウト節点wを有するどのCMFVS節点vも、条件1を
満足するものではなく、出力分割の候補である。Nを、
充足していないCMFVS節点とする。Gを、N中のC
MFVS節点のすべての出力錘の和である部分回路とす
る。部分回路Gは、N中の節点から主出力またはFFへ
回路を横断的に検討することにより識別できる。G
O を、N中の節点から、フリップフロップを借り入れた
いずれかの出力へ向かうすべての経路上のすべての節点
およびエッジから成るGの部分回路とする。部分回路G
O は、r(j)=1であるそれぞれの主出力から後ろ向
きにGをたどることにより識別される。同様に、G
F は、N中の節点からいずれかのFFに向かうすべての
経路上のすべての節点およびエッジから成るGの部分回
路であり、r(X)=1であるいずれかのFFのXから
Gをたどることにより識別される。部分回路GO および
GF に共通する節点wは存在し得る。その場合、wは複
製され、新たな節点w′は、部分回路GO に割り当てら
れる。もしwが部分回路Gの外のファンイン節点を持っ
ていれば、そのファンイン節点もまたw′に結合され
る。
【0063】N中のすべての充足していないCMFVS
節点の出力分割は、部分回路Gを部分回路GO およびG
F で置き換えることにより達成される。それぞれの
節点の出力分割は、部分回路Gを部分回路GO およびG
F で置き換えることにより達成される。それぞれの
【0064】
【外1】
【0065】のファンアウトは、二個の新たなステム節
点、すなわち、vをGO に結合するvO と、vをGF に
結合するvF に置き換えられる。新たな節点{vF }
は、充足していないCMFVS節点Nに置き換わる新た
なCMFVS節点とされる。この場合、再合成された回
路は、上記条件1を満足する。前に行われたリタイミン
グステップによってフリップフロップを借り入れること
により充足された元の回路のすべてのスキャン制限に対
して、再合成された回路の対応するスキャン制限は、フ
リップフロップの借り入れなしで、正当なリタイミング
により満たすことができる。
点、すなわち、vをGO に結合するvO と、vをGF に
結合するvF に置き換えられる。新たな節点{vF }
は、充足していないCMFVS節点Nに置き換わる新た
なCMFVS節点とされる。この場合、再合成された回
路は、上記条件1を満足する。前に行われたリタイミン
グステップによってフリップフロップを借り入れること
により充足された元の回路のすべてのスキャン制限に対
して、再合成された回路の対応するスキャン制限は、フ
リップフロップの借り入れなしで、正当なリタイミング
により満たすことができる。
【0066】順序回路が与えられた時、以下に述べる手
続きRRPS(Retimingand Resynt
hesis for Partial Scan)は、
できるだけ多くのスキャン制限を満たす等価回路を得る
ために、リタイミングと再合成を使用する。この手続き
に対する入力は、順序回路とそのCMFVSである。手
続きRRPSは、できるだけ多くのスキャン制限を満足
する等価回路を出力する。手続きRRPS: 1.主出力に環境からフリップフロップを借り入れ、で
きるだけ多くのスキャン制限を満足させる。リタイミン
グとの関係で既に説明された最適化技術を、スキャン制
限を満たすために使用する。
続きRRPS(Retimingand Resynt
hesis for Partial Scan)は、
できるだけ多くのスキャン制限を満たす等価回路を得る
ために、リタイミングと再合成を使用する。この手続き
に対する入力は、順序回路とそのCMFVSである。手
続きRRPSは、できるだけ多くのスキャン制限を満足
する等価回路を出力する。手続きRRPS: 1.主出力に環境からフリップフロップを借り入れ、で
きるだけ多くのスキャン制限を満足させる。リタイミン
グとの関係で既に説明された最適化技術を、スキャン制
限を満たすために使用する。
【0067】2.主出力がフリップフロップを借り入れ
る必要がない様に、回路を再合成する。
る必要がない様に、回路を再合成する。
【0068】3.再合成された回路をリタイミングす
る。
る。
【0069】元の回路PのCMFVSに等しいMFVS
を有する等価回路を得るためにリタイミングと再合成を
使用するアルゴリズムRRPOS(Retiming
and Resynthesis for Optim
al Partial Scan)が図15に示されて
いる。与えられた回路に対する最適CMFVSが計算さ
れる(ステップ10)。手続きRRPS(ステップ1
2)が、回路Pおよび最適CMFVSに適用される。も
しすべてのスキャン制限が満足された場合(ステップ1
4)、元の回路のCMFVSに等しいMFVSを有する
等価回路P1 が実現されたことになる(ステップ1
6)。
を有する等価回路を得るためにリタイミングと再合成を
使用するアルゴリズムRRPOS(Retiming
and Resynthesis for Optim
al Partial Scan)が図15に示されて
いる。与えられた回路に対する最適CMFVSが計算さ
れる(ステップ10)。手続きRRPS(ステップ1
2)が、回路Pおよび最適CMFVSに適用される。も
しすべてのスキャン制限が満足された場合(ステップ1
4)、元の回路のCMFVSに等しいMFVSを有する
等価回路P1 が実現されたことになる(ステップ1
6)。
【0070】スキャン制限が満たされていないCMFV
S項が、条件2を満足しない基本サイクルに加えられ
る。問題の基本サイクルを除去するために、サイクル分
割技術を適用することはできる。しかし、すべての問題
となっている基本サイクルを識別することは、計算上費
用がかかるであろう。以下に述べる手法は、明示的に問
題のサイクルを識別することなしにそれらを除去する。
スキャン制限を満足するCMFVS頂点に対応するフリ
ップフロップが、仮にスキャンされる(ステップ1
8)。フリップフロップが、その入力信号を主出力と
し、その出力信号を回路の主入力とすることによりスキ
ャンされる。修正された回路をP2 とする。スキャン制
限を満足する頂点を削除する(ステップ20)ことによ
り、CMFVSが更新される。これらのフリップフロッ
プをスキャンすることにより、以下の状態の内一つ以上
が生じる。(1)一個以上の充足していないCMFVS
頂点が、条件1を満足しない。または、(2)一個以上
の問題のサイクルが切断される。後者の場合、問題のサ
イクル上の充足していないCMFVS頂点は、条件1を
満足しないかも知れない。いずれの場合でも、手続きR
RPSが、回路P2 および修正されたCMFVSに適用
される(ステップ22)。手続きRRPSを使用後に得
られる回路において、スキャンされたフリップフロップ
が、手続きRRPSを再適用する前に再結合される(ス
テップ24)。その結果、回路P2 よりも多くのスキャ
ン制限を満足する新たな回路が得られる。上記のステッ
プが、すべてのスキャン制限が満足されるまで繰り返さ
れる。
S項が、条件2を満足しない基本サイクルに加えられ
る。問題の基本サイクルを除去するために、サイクル分
割技術を適用することはできる。しかし、すべての問題
となっている基本サイクルを識別することは、計算上費
用がかかるであろう。以下に述べる手法は、明示的に問
題のサイクルを識別することなしにそれらを除去する。
スキャン制限を満足するCMFVS頂点に対応するフリ
ップフロップが、仮にスキャンされる(ステップ1
8)。フリップフロップが、その入力信号を主出力と
し、その出力信号を回路の主入力とすることによりスキ
ャンされる。修正された回路をP2 とする。スキャン制
限を満足する頂点を削除する(ステップ20)ことによ
り、CMFVSが更新される。これらのフリップフロッ
プをスキャンすることにより、以下の状態の内一つ以上
が生じる。(1)一個以上の充足していないCMFVS
頂点が、条件1を満足しない。または、(2)一個以上
の問題のサイクルが切断される。後者の場合、問題のサ
イクル上の充足していないCMFVS頂点は、条件1を
満足しないかも知れない。いずれの場合でも、手続きR
RPSが、回路P2 および修正されたCMFVSに適用
される(ステップ22)。手続きRRPSを使用後に得
られる回路において、スキャンされたフリップフロップ
が、手続きRRPSを再適用する前に再結合される(ス
テップ24)。その結果、回路P2 よりも多くのスキャ
ン制限を満足する新たな回路が得られる。上記のステッ
プが、すべてのスキャン制限が満足されるまで繰り返さ
れる。
【0071】一例として、図10の回路を再度考える。
その最適CMFVSは、頂点aおよびcから成る。手続
きRRPSを使用することにより、頂点cに対するスキ
ャン制限のみを満たすことが可能である。頂点cに対す
るスキャン制限を満足する修正回路が、図11に示され
ている。頂点aに対するスキャン制限を満たすため、次
の様な処理が行われる。フリップフロップQをスキャン
し、図12に示された回路を得る。修正回路において、
cは主出力となることに注目を要する。また、cが最適
CMFVSから削除される。図12の回路に対して、手
順RRPSが再適用される。今回は、主出力cにおいて
フリップフロップを借り入れることにより、頂点aに対
するスキャン制限もまた満たされる。図13は、頂点a
に対するスキャン制限を満足する回路を示す。フリップ
フロップQを再結合することにより、図10の元の回路
のCMFVSに等しいMFVSを有する最終的な回路が
得られる。まとめると、図10の回路は三個のスキャン
FFを必要とするのに対し、図13の等価回路は二個の
スキャンFFで良い。
その最適CMFVSは、頂点aおよびcから成る。手続
きRRPSを使用することにより、頂点cに対するスキ
ャン制限のみを満たすことが可能である。頂点cに対す
るスキャン制限を満足する修正回路が、図11に示され
ている。頂点aに対するスキャン制限を満たすため、次
の様な処理が行われる。フリップフロップQをスキャン
し、図12に示された回路を得る。修正回路において、
cは主出力となることに注目を要する。また、cが最適
CMFVSから削除される。図12の回路に対して、手
順RRPSが再適用される。今回は、主出力cにおいて
フリップフロップを借り入れることにより、頂点aに対
するスキャン制限もまた満たされる。図13は、頂点a
に対するスキャン制限を満足する回路を示す。フリップ
フロップQを再結合することにより、図10の元の回路
のCMFVSに等しいMFVSを有する最終的な回路が
得られる。まとめると、図10の回路は三個のスキャン
FFを必要とするのに対し、図13の等価回路は二個の
スキャンFFで良い。
【0072】アルゴリズムRROPSは、RROPS
(Retiming and Resynthesis
for Optimal Partial Sca
n)と呼ばれるC言語プログラムで実現された。幾つか
のMCNCベンチマーク回路に対する実験結果が、表1
および表2に示されている。すべての実験は、ワークス
テーションSparc2上で行われた。RROPSは、
回路のMFVSおよび回路グラフを決定するためにPS
CANというプログラムを使用する。プログラムPSC
ANについては、本願の発明者S.T.Chakrad
harおよびA.Balakrishnanによる、
「フィードバックサイクルを切断するための部分スキャ
ンフリップフロップの選択(Selection of
Partial Scan Flip−Flops
to Break FeedbackCycles)」
と題する米国特許出願第08/161,104号明細書
に記載されている。プログラムPSCANは、対象グラ
フのMFVSを計算するための厳密なアルゴリズムを提
供する。このプログラムは、ここに報告されているすべ
ての例に対して最適結果を生成した。
(Retiming and Resynthesis
for Optimal Partial Sca
n)と呼ばれるC言語プログラムで実現された。幾つか
のMCNCベンチマーク回路に対する実験結果が、表1
および表2に示されている。すべての実験は、ワークス
テーションSparc2上で行われた。RROPSは、
回路のMFVSおよび回路グラフを決定するためにPS
CANというプログラムを使用する。プログラムPSC
ANについては、本願の発明者S.T.Chakrad
harおよびA.Balakrishnanによる、
「フィードバックサイクルを切断するための部分スキャ
ンフリップフロップの選択(Selection of
Partial Scan Flip−Flops
to Break FeedbackCycles)」
と題する米国特許出願第08/161,104号明細書
に記載されている。プログラムPSCANは、対象グラ
フのMFVSを計算するための厳密なアルゴリズムを提
供する。このプログラムは、ここに報告されているすべ
ての例に対して最適結果を生成した。
【0073】表1は、ベンチマーク回路に対しRROP
Sを適用した結果を示す。「元回路」の欄には、リテラ
ル数(Lits)、フリップフロップ数(FF)、最少
フィードバック頂点集合のサイズ(MFVS)および回
路グラフの最少フィードバック頂点集合のサイズ(CM
FVS)が示されている。「RROPS回路」の欄に
は、リテラル数(Lits)、フリップフロップ数(F
F)、およびRROPSによって生成された、リタイミ
ングおよび再合成された回路の最少フィードバック頂点
集合のサイズが示されている。「CPU秒」の欄には、
RROPSの総処理時間が示されている。一例として、
回路s38417について考察する。この回路は、32
246個のリテラルと1636個のフリップフロップを
有する。そのMFVSのサイズは374であり、その回
路グラフはサイズ137のMFVSを有する。RROP
Sはこの回路をリタイミングおよび再合成することによ
り、すべてのCMFVS頂点それぞれがフリップフロッ
プを駆動する様な等価回路を生成する。得られた等価回
路は、32277個のリテラル、1556個のフリップ
フロップ、およびサイズ137のMFVSを有する。し
たがって、RROPSはサイズ374を有する元回路を
サイズがわずか137のMFVSを有する等価回路に変
形したことになる。等価回路においては元回路よりもフ
リップフロップが大幅に減少しているが、組合せ論理
(リテラル数で評価される)はわずかしか増加していな
い点に注目する。しかし、幾つかの回路に対しては、R
ROPSは、より多くのフリップフロップを有する等価
回路を生成している。
Sを適用した結果を示す。「元回路」の欄には、リテラ
ル数(Lits)、フリップフロップ数(FF)、最少
フィードバック頂点集合のサイズ(MFVS)および回
路グラフの最少フィードバック頂点集合のサイズ(CM
FVS)が示されている。「RROPS回路」の欄に
は、リテラル数(Lits)、フリップフロップ数(F
F)、およびRROPSによって生成された、リタイミ
ングおよび再合成された回路の最少フィードバック頂点
集合のサイズが示されている。「CPU秒」の欄には、
RROPSの総処理時間が示されている。一例として、
回路s38417について考察する。この回路は、32
246個のリテラルと1636個のフリップフロップを
有する。そのMFVSのサイズは374であり、その回
路グラフはサイズ137のMFVSを有する。RROP
Sはこの回路をリタイミングおよび再合成することによ
り、すべてのCMFVS頂点それぞれがフリップフロッ
プを駆動する様な等価回路を生成する。得られた等価回
路は、32277個のリテラル、1556個のフリップ
フロップ、およびサイズ137のMFVSを有する。し
たがって、RROPSはサイズ374を有する元回路を
サイズがわずか137のMFVSを有する等価回路に変
形したことになる。等価回路においては元回路よりもフ
リップフロップが大幅に減少しているが、組合せ論理
(リテラル数で評価される)はわずかしか増加していな
い点に注目する。しかし、幾つかの回路に対しては、R
ROPSは、より多くのフリップフロップを有する等価
回路を生成している。
【0074】
【表1】
【0075】
【表2】
【0076】表2は、RROPSと他の四つのスキャン
フリップフロップを選択するための方法の性能を比較し
たものである。「PSCAN」の欄には、プログラムP
SCANによって得られた元回路のMFVSのサイズが
示されている。「LR」および「Opus」の欄には、
下記の論文でそれぞれ提案されている二つの発見的方法
を使用することによって得られたフィードバック頂点集
合のサイズが示されている。D.H.Lee and
S.M.Reddy,“On Determining
Scan Flip−Flops in Parti
al ScanDesigNs,”Proc. of
the Int’l. Conf.on CAD,p
p.322−325,November 1990、お
よび、V.Chickermane and J.H.
Patel,“An Optimization Ba
sed Approach to the Parti
al Scan Design Problem,”P
roc. of anInt’l. Conf.,p
p.377−386,September 1990.
「KT」の欄には、D.Kagaris and S.
Tragoudas,“Paritial Scan
with Retiming”,Proc. Desi
gn Automation Conf.,pp.24
9−254,1993において報告されている技術を使
用して得られたフィードバック頂点集合のサイズを示
す。彼らは、元回路のフィードバック頂点集合よりも小
さいフィードバック頂点集合を有する等価回路を得るた
めに、リタイミングをサイクル切断技術と組み合わせて
いる。「RROPS」の欄には、RROPSによって生
成された回路のMFVSのサイズが示されている。一例
として、回路s38417を再度考察する。この回路
は、サイズ374のMFVSを有する。LeeとRed
dyの技術では、サイズ380のフィードバック頂点集
合を計算により得る。Opusは、サイズ384のフィ
ードバック頂点集合を得る。KagarisとTrag
oudasの技術は、サイズ363のフィードバック頂
点集合を有する等価回路を生成する。RROPSによっ
て生成された回路は、サイズがわずか137のMFVS
を有する。表2の他の回路に対しても、同様の結果が示
されている。実験結果は、RROPSを使用することに
よってスキャンフリップフロップの数が大幅に削減でき
ることを明確に示している。
フリップフロップを選択するための方法の性能を比較し
たものである。「PSCAN」の欄には、プログラムP
SCANによって得られた元回路のMFVSのサイズが
示されている。「LR」および「Opus」の欄には、
下記の論文でそれぞれ提案されている二つの発見的方法
を使用することによって得られたフィードバック頂点集
合のサイズが示されている。D.H.Lee and
S.M.Reddy,“On Determining
Scan Flip−Flops in Parti
al ScanDesigNs,”Proc. of
the Int’l. Conf.on CAD,p
p.322−325,November 1990、お
よび、V.Chickermane and J.H.
Patel,“An Optimization Ba
sed Approach to the Parti
al Scan Design Problem,”P
roc. of anInt’l. Conf.,p
p.377−386,September 1990.
「KT」の欄には、D.Kagaris and S.
Tragoudas,“Paritial Scan
with Retiming”,Proc. Desi
gn Automation Conf.,pp.24
9−254,1993において報告されている技術を使
用して得られたフィードバック頂点集合のサイズを示
す。彼らは、元回路のフィードバック頂点集合よりも小
さいフィードバック頂点集合を有する等価回路を得るた
めに、リタイミングをサイクル切断技術と組み合わせて
いる。「RROPS」の欄には、RROPSによって生
成された回路のMFVSのサイズが示されている。一例
として、回路s38417を再度考察する。この回路
は、サイズ374のMFVSを有する。LeeとRed
dyの技術では、サイズ380のフィードバック頂点集
合を計算により得る。Opusは、サイズ384のフィ
ードバック頂点集合を得る。KagarisとTrag
oudasの技術は、サイズ363のフィードバック頂
点集合を有する等価回路を生成する。RROPSによっ
て生成された回路は、サイズがわずか137のMFVS
を有する。表2の他の回路に対しても、同様の結果が示
されている。実験結果は、RROPSを使用することに
よってスキャンフリップフロップの数が大幅に削減でき
ることを明確に示している。
【0077】本発明を実施することにより、リタイミン
グと再合成を使って、元の回路よりも大幅に少ないスキ
ャンFFしか必要としない等価回路を得るために回路の
FFを再配置することが可能である。等価回路のFF依
存グラフのMFVSは、元の回路のMFVSに等しい。
したがって、元の回路のMFVSは、必要とされるスキ
ャンFFの個数に関する厳しい下界である。また、本発
明は、リタイミングのみによってFFの所望の再配置を
実現するために満たすべき必要十分条件を明確にする。
グと再合成を使って、元の回路よりも大幅に少ないスキ
ャンFFしか必要としない等価回路を得るために回路の
FFを再配置することが可能である。等価回路のFF依
存グラフのMFVSは、元の回路のMFVSに等しい。
したがって、元の回路のMFVSは、必要とされるスキ
ャンFFの個数に関する厳しい下界である。また、本発
明は、リタイミングのみによってFFの所望の再配置を
実現するために満たすべき必要十分条件を明確にする。
【0078】より少数のスキャンフリップフロップによ
る部分スキャンを実現するために順序回路の再合成およ
びリタイミングを行う方法を説明および例証したが、本
発明の教示内容および趣旨から逸脱しないで変更および
修正が可能であることは、当業者にとっては明らかであ
ろう。
る部分スキャンを実現するために順序回路の再合成およ
びリタイミングを行う方法を説明および例証したが、本
発明の教示内容および趣旨から逸脱しないで変更および
修正が可能であることは、当業者にとっては明らかであ
ろう。
【0079】
【発明の効果】本発明の教示内容を与えられた順序回路
に適用することにより、より少数のスキャンフリップフ
ロップを含む等価回路を得ることができる。すなわち、
製造後テストされなければならない回路を製造すること
は、スキャンフリップフロップの個数が少ないこと、し
たがって、部分スキャンに伴うコストが低いことを要求
する。より小さい回路面積しか必要とせず、より少ない
性能低下しか生じさせないところのより少数のスキャン
フリップフロップの必要性から、コストの低下がもたら
される。
に適用することにより、より少数のスキャンフリップフ
ロップを含む等価回路を得ることができる。すなわち、
製造後テストされなければならない回路を製造すること
は、スキャンフリップフロップの個数が少ないこと、し
たがって、部分スキャンに伴うコストが低いことを要求
する。より小さい回路面積しか必要とせず、より少ない
性能低下しか生じさせないところのより少数のスキャン
フリップフロップの必要性から、コストの低下がもたら
される。
【図1】本発明の原理の説明に有用な順序回路の概略図
である。
である。
【図2】図1に示された回路の依存グラフである。
【図3】図1に示された回路においてANDゲートcの
出力がカットされた回路の概略図である。
出力がカットされた回路の概略図である。
【図4】図3に示された回路の依存グラフである。
【図5】図1に示された回路においてANDゲートcの
出力を分割した後の回路の概略図である。
出力を分割した後の回路の概略図である。
【図6】図5に示された回路のリタイミングされた構成
の概略図である。
の概略図である。
【図7】図6に示された回路の依存グラフである。
【図8】CMFVS頂点およびその入力および出力錘を
示すグラフ表示である。
示すグラフ表示である。
【図9】分割された出力錘を有するCMFVS頂点vを
示すグラフ表示である。
示すグラフ表示である。
【図10】出力分割およびサイクル分割による再合成を
説明するのに有用な回路の概略図である。
説明するのに有用な回路の概略図である。
【図11】ゲートcに対するスキャン制限を満たす、図
10に示された回路の修正回路の概略図である。
10に示された回路の修正回路の概略図である。
【図12】ゲートcによって駆動されるフリップフロッ
プをスキャン後の、図10に示された回路の修正回路の
概略図である。
プをスキャン後の、図10に示された回路の修正回路の
概略図である。
【図13】すべてのスキャン制限を満足する、図10に
示された回路のリタイミングされた回路の概略図であ
る。
示された回路のリタイミングされた回路の概略図であ
る。
【図14】図10に示された回路に対応する回路グラフ
である。
である。
【図15】RROPS(Retiming and R
esynthesis forOptimum Par
tial Scan)アルゴリズムのフローチャートで
ある。
esynthesis forOptimum Par
tial Scan)アルゴリズムのフローチャートで
ある。
a,b,c,d,e,f,g ゲート Q,T,W,X,Y,Z FF
───────────────────────────────────────────────────── フロントページの続き (56)参考文献 PROCEEDINGS OF TH E 31ST DESIGN AUTOM ATION CONFERENCE, 1993,P.249−254,D.KAGARI S ET AL.,”PARTIAL SCAN WITH RETIMIN G"
Claims (3)
- 【請求項1】 順序回路の部分スキャンテストのための
スキャンフリップフロップを選択する方法において、 自己ループを除き、回路中のすべてのループを切断する
ために回路最少フィードバック頂点集合(CMFVS)
を決定するステップと、 CMFVSの頂点が主入力から、または主出力への経路
を有するならば、回路を修正するために、頂点に対して
出力分割変形を行うステップと、 回路の基本サイクルがフリップフロップよりも多くのC
MFVS頂点を有するならば、CMFVS頂点の数量が
その回路のフリップフロップの数量より多くならないよ
うにサイクル分割を行うステップと、 回路の部分スキャンテストのための修正されたCMFV
Sに従って、スキャンフリップフロップを選択するステ
ップと、を含むことを特徴とするスキャンフリップフロ
ップ選択方法。 - 【請求項2】 上記スキャンフリップフロップ選択の前
に、修正された回路の正当なリタイミングを行うステッ
プをさらに含む請求項1記載のスキャンフリップフロッ
プ選択方法。 - 【請求項3】 順序回路の部分スキャンテストのための
スキャンフリップフロップを選択する方法において、 (a)回路の回路最少フィードバック頂点集合(CMF
VS)を計算するステップと、 (b)スキャン制限を満足する等価回路を得るために、
部分スキャンのためのリタイミングおよび再合成(RR
PS)を適用するステップと、 (c)回路を修正するために、スキャン制限が満足され
たCMFVS頂点に対応するフリップフロップをスキャ
ンするステップと、 (d)CMFVSを修正するために、スキャン制限が満
足された頂点をCMFVSから削除するステップと、 (e)修正されたCMFVSおよび修正された回路に対
して手順RRPSを適用するステップと、 (f)ステップ(c)でスキャンされたフリップフロッ
プを再結合するステップと、 (g)すべてのスキャン制限が満たされるまでステップ
(c)から(f)を繰り返すステップと、 (h)回路の部分スキャンテストのためにすべてのスキ
ャン制限が満たされた時、修正されたCMFVSに従っ
てスキャンフリップフロップを選択するステップと、を
含むことを特徴とするスキャンフリップフロップ選択方
法。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US8/161221 | 1993-12-01 | ||
US08/161,221 US5502647A (en) | 1993-12-01 | 1993-12-01 | Resynthesis and retiming for optimum partial scan testing |
US08/161221 | 1993-12-01 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH07160752A JPH07160752A (ja) | 1995-06-23 |
JP2692594B2 true JP2692594B2 (ja) | 1997-12-17 |
Family
ID=22580343
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP6163511A Expired - Fee Related JP2692594B2 (ja) | 1993-12-01 | 1994-07-15 | スキャンフリップフロップ選択方法および順序回路 |
Country Status (2)
Country | Link |
---|---|
US (1) | US5502647A (ja) |
JP (1) | JP2692594B2 (ja) |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5731983A (en) * | 1995-12-29 | 1998-03-24 | Nec Usa, Inc. | Method for synthesizing a sequential circuit |
DE69822694T2 (de) | 1997-04-25 | 2004-08-12 | Matsushita Electric Industrial Co., Ltd., Kadoma | Verfahren zum prüfgerechten Entwurf, Verfahren zur Prüfsequenzerzeugung und integrierte Halbleiterschaltung |
US6247154B1 (en) | 1998-03-03 | 2001-06-12 | Rutgers, The State University Of New Jersey | Method and apparatus for combined stuck-at fault and partial-scanned delay-fault built-in self test |
JP2954192B1 (ja) | 1998-09-10 | 1999-09-27 | 日本電気アイシーマイコンシステム株式会社 | テスト容易化半導体集積回路の設計方法 |
US6816827B1 (en) * | 1999-10-01 | 2004-11-09 | Nec Corporation | Verification method for combinational loop systems |
US8813001B2 (en) * | 2008-02-01 | 2014-08-19 | Northwestern University | System and method for efficient and optimal minimum area retiming |
US9792400B2 (en) * | 2015-03-31 | 2017-10-17 | Cavium, Inc. | Determination of flip-flop count in physical design |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5043986A (en) * | 1989-05-18 | 1991-08-27 | At&T Bell Laboratories | Method and integrated circuit adapted for partial scan testability |
US5132974A (en) * | 1989-10-24 | 1992-07-21 | Silc Technologies, Inc. | Method and apparatus for designing integrated circuits for testability |
US5166604A (en) * | 1990-11-13 | 1992-11-24 | Altera Corporation | Methods and apparatus for facilitating scan testing of asynchronous logic circuitry |
US5329533A (en) * | 1991-12-26 | 1994-07-12 | At&T Bell Laboratories | Partial-scan built-in self-test technique |
-
1993
- 1993-12-01 US US08/161,221 patent/US5502647A/en not_active Expired - Fee Related
-
1994
- 1994-07-15 JP JP6163511A patent/JP2692594B2/ja not_active Expired - Fee Related
Non-Patent Citations (1)
Title |
---|
PROCEEDINGS OF THE 31ST DESIGN AUTOMATION CONFERENCE,1993,P.249−254,D.KAGARIS ET AL.,"PARTIAL SCAN WITH RETIMING" |
Also Published As
Publication number | Publication date |
---|---|
JPH07160752A (ja) | 1995-06-23 |
US5502647A (en) | 1996-03-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Beame et al. | On the complexity of unsatisfiability proofs for random k-CNF formulas | |
Chakradhar et al. | An exact algorithm for selecting partial scan flip-flops | |
JP2692595B2 (ja) | スキャンフリップフロップ決定方法及び順序回路 | |
Qiu et al. | An efficient algorithm for finding the k longest testable paths through each gate in a combinational circuit | |
JP2609799B2 (ja) | 順序回路の再設計方法 | |
Rajski et al. | Automated synthesis of phase shifters for built-in self-test applications | |
Fuchs et al. | RESIST: A recursive test pattern generation algorithm for path delay faults considering various test classes | |
US5461573A (en) | VLSI circuits designed for testability and methods for producing them | |
US6334205B1 (en) | Wavefront technology mapping | |
JPH0431147B2 (ja) | ||
US5587919A (en) | Apparatus and method for logic optimization by redundancy addition and removal | |
JP2692594B2 (ja) | スキャンフリップフロップ選択方法および順序回路 | |
Chakradhar et al. | Resynthesis and retiming for optimum partial scan | |
Jou et al. | Timing-driven partial scan | |
JP2689908B2 (ja) | 初期化可能非同期回路設計を合成する方法 | |
Theobald et al. | Espresso-hf: A heuristic hazard-free minimizer for two-level logic | |
US5796621A (en) | Circuit delay abstraction tool | |
Lipton et al. | Amplifying circuit lower bounds against polynomial time, with applications | |
JPH09185648A (ja) | 順序回路の合成方法 | |
Entrena et al. | Timing optimization by an improved redundancy addition and removal technique | |
Pradhan et al. | VERILAT: Verification using logic augmentation and transformations | |
JPH1173447A (ja) | 論理回路の自動合成方式 | |
Flordal et al. | Supervision equivalence [supervisor synthesis] | |
Rawski | B01: The novel approach to FSM synthesis targeted FPGA architectures | |
Fiser et al. | On the use of mutations in boolean minimization |
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: 19970805 |
|
LAPS | Cancellation because of no payment of annual fees |