SlideShare a Scribd company logo
1 of 24
1 
様相論理による 
マルチクロック同期回路の形式検証体系 
2014/09 西村俊二
背景・目的 
 形式検証*の多くは単一クロック同期回路が対象である. 
時相論理ベース⇒ “次”が一種類⇒ 単一クロック 
 マルチクロック同期回路の形式検証としては,それぞれのク 
ロック間の関係を条件として与えた上でモデル検査を適用 
する方法がある. 
⇒ 時間軸を含めた状態空間の制限が可能に 
 本研究では,クロック間の条件を定めることなくマルチクロッ 
ク同期回路の形式検証を可能とする検証体系を提案する. 
2 * : 本研究ではプロパティ・チェッキングを対象とする.
もくじ 
3 
 様相論理による回路記述 
 公理の定義 
 検証体系の位置付け 
 検証例 
 まとめ
様相論理 
必然性や可能性を扱う論理. 
 □P : Pが必然的に真 
「先祖代々仏教だ」⇒ 私の先祖は仏教,その先祖も仏教,その先祖も… 
□仏教 
 ◇P : Pである可能性がある 
(◇P := ¬□¬P : Pでないことが必然ではない) 
「キリスト教の方もいた」 
◇ キリスト教 
私 
父 
母 
私 
父 
母 
4
時相論理 
時間上の必然性や可能性を扱う. 
 ○P : 次の時刻においてP 
 「明日は晴れる」 
○晴れ 
 「明後日以降ずっと晴れる」 
○ ○ □晴れ 
今日明日 
今日明後日 
5
様相記号の追加(多重様相論理) 
明日を表す○ のみでは不便な場合もある 
 「来週は晴れる」 
⇒? 
Sat Sun Mon Tue Sun Mon 
来週を表すⓌを導入すれば 
Ⓦ晴れ 
: ○ 
: Ⓦ 
Mon Tue Sun Mon Tue Sun 
6
クロック同期の表現 
 FF同期の信号にとって,エッヂをまたいだ後が“次”. 
(離散時間を前提としている) 
: clk0の“次” 
7 
clk0 
clk1 
単位時間 
の“次” 
: 
: clk1の“次”
回路記述 
 様相記号を使って同期回路を表現することができる. 
(clk0/clk1 の様相記号をそれぞれ⓪/① とする) 
f 
g0 
g1 
clk0 
clk1 
a 
s0 
s1 
out 
out = f(a, s0, s1) 
⓪ s0 = g0 (a, s0, s1) 
① s1 = g1 (a, s0, s1) 
8 
検証体系の要素(1/2)
回路記述の原理 
前ページの回路記述は「同期回路-ステートマシン対応」の拡張. 
f 
g 
clk 
a 
s 
out 
out = f(a, s) 
s’ = g(a, s) 
f 
g 
a 
s 
out 
= 
next 
(出力関数) 
(ステート関数) 
9
恒真命題(1/2) 
考える命題にかかわらず成り立つ関係がある. 
 □P ⇒ P 
P P P ⇒ P 
 □P ⇒ □□P 
10 
P 
P P P P ⇒ P P P P 
P P P 
P P
クロックの様相記号についての恒真命題も存在する. 
 clki同期のステート信号siについて, 
○si = 
ⓘ si 
(または) 
 ∃n . ⓘ = ○n 
恒真命題(2/2) 
11 
si 
∃ 
n 
: ⓘ 
: ○
検証体系の定義 
代表的な恒真命題を集めた以下を公理とする. 
前出の回路記述方式とこれらの公理をもって検証体系とする. 
12 
検証体系の要素(2/2)
検証体系と実際の検証 
次の関係にある. 
矢印による意味付け 
⇒ ⇒ 
検証体系 
回路記述方式+ 公理 
対象回路が仕様を満たすか? 
検証体系の構築 
実際の検証 
実際の検証では 
“回路と公理を前提として仕様を満たすかどうかをチェックする” 
13
検証体系の健全性 
この検証体系から導かれた結論は常に正しいか? 
 矢印による意味付けのもとに, 
 回路記述は「同期回路-ステートマシン対応」の原理により正しい. 
 公理は恒真命題であるので正しい. 
 よつて, 
この検証体系から導かれた結論は論理的に正しい. 
14
検証例:対象の回路 
次のクロック切替え回路を対象に検証を行う. 
clk0 
sel1 out 
clk1 
en0 
en1 
15
検証例:回路の振るまい(1/4) 
ON 
sel1 out 
sel1 
en0 
16 
clk0 
clk1 
en0 
OFF en1 
0(=clk0を選択) 
ON
検証例:回路の振るまい(2/4) 
OFF 
sel1 out = 0 
sel1 
clk0 
en0 
17 
clk0 
clk1 
en0 
OFF en1 
ON OFF
検証例:回路の振るまい(3/4) 
18 
clk0 
sel1 
clk1 
en0 
OFF 
ON en1 
en0 
clk1 
en1 
out 
ON OFF 
OFF ON
検証例:回路の振るまい(4/4) 
まとめると次のタイミング・チャートとなる. 
clk0出力 
sel1 
clk0 
clk1 
out 
OFF 
切替え中clk1出力 
en0 
en1 
19 
ON 
OFF 
ON
検証例:回路記述 
20 
clk0 
sel1 
clk1 
en0 
en1 
out 
様相論理による回路記述は下のようになる. 
out = en0 & clk0 | en1 & clk1 
⓪ en0 = sel1 & en1 
① en1 = sel1 & en0
検証例:仕様 
 求められる振るまいは: 
仕様1:選択された方のクロックが出力されること 
仕様2:グリッチ・ノイズが発生しないこと. 
 以下,仕様1について示す.切替え中かもしれないので, 
仕様1-0:clk0を選択し続ければそのうちclk0が出力されること 
仕様1-1:clk1を選択し続ければそのうちclk1が出力されること. 
 様相記号を用いて, 
仕様1-0:□(sel1 = 0) ⇒ ◇□(out = clk0) 
仕様1-1:□(sel1 = 1) ⇒ ◇□(out = clk1). 
21
検証例:補題 
動作例から推測できるように,次が成り立つ. 
補題:常にen0かen1のどちらかが0である. 
これを様相記号を使って示すと, 
□ (en0 | en1). 
回路記述をもとに適宜公理を使うことによりこれを 
証明することができる. 
22
証明の概要: 
sel1=1 
⓪en0=0 ∴ ⓪①en1=1 
⓪①en0=0, ⓪①en1=1 ∴ ⓪①(out = clk1) 
⓪①□(out = clk1) 
◇□ (out = clk1) 
検証例:証明 
23 
⓪ en0 = sel1 & en1 
① en1 = sel1 & en0 
回路の定義(右)より 
前ページの補題よりen0かen1のどちらかが0 
公理V4など 
公理VN2など 
en0=0 
en1=1 
out 
clk0 
clk1
まとめ 
マルチクロック同期回路の形式検証を可能とする検証体系 
 多重様相論理に基づく演繹的な体系 
 得られる結果について正当性が保証される(健全である) 
課題 
 健全性は言えるが,完全性(成立する命題のすべてが導かれ 
ること)は不明 
 証明を人手で行っていては厳密性が担保できない 
 自動証明 
 証明は人が行うが,その整合性を計算機でチェック 
24

More Related Content

More from Shunji Nishimura

Generalized Isomorphism between Synchronous Circuits and State Machines
Generalized Isomorphism between Synchronous Circuits and State MachinesGeneralized Isomorphism between Synchronous Circuits and State Machines
Generalized Isomorphism between Synchronous Circuits and State Machines
Shunji Nishimura
 

More from Shunji Nishimura (8)

同期回路の機能的定義による同期概念の形式化
同期回路の機能的定義による同期概念の形式化同期回路の機能的定義による同期概念の形式化
同期回路の機能的定義による同期概念の形式化
 
Theorem-proving Verification of Multi-clock Synchronous Circuits on Multimoda...
Theorem-proving Verification of Multi-clock Synchronous Circuits on Multimoda...Theorem-proving Verification of Multi-clock Synchronous Circuits on Multimoda...
Theorem-proving Verification of Multi-clock Synchronous Circuits on Multimoda...
 
Generalized Isomorphism between Synchronous Circuits and State Machines
Generalized Isomorphism between Synchronous Circuits and State MachinesGeneralized Isomorphism between Synchronous Circuits and State Machines
Generalized Isomorphism between Synchronous Circuits and State Machines
 
定理証明言語によるハードウェア検証
定理証明言語によるハードウェア検証定理証明言語によるハードウェア検証
定理証明言語によるハードウェア検証
 
タイミング制約を含んだ回路記述方式とその意味論
タイミング制約を含んだ回路記述方式とその意味論タイミング制約を含んだ回路記述方式とその意味論
タイミング制約を含んだ回路記述方式とその意味論
 
同期回路-ステート・マシン対応の一般化
同期回路-ステート・マシン対応の一般化同期回路-ステート・マシン対応の一般化
同期回路-ステート・マシン対応の一般化
 
関数型言語と定理証明
関数型言語と定理証明関数型言語と定理証明
関数型言語と定理証明
 
Agdaで回路設計(をしたい)
Agdaで回路設計(をしたい)Agdaで回路設計(をしたい)
Agdaで回路設計(をしたい)
 

様相論理によるマルチクロック同期回路の形式検証体系