24
1 様様様様様様様 様様様様様様様様様様様様様様様様 2014/09 様 様様 西

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

Embed Size (px)

DESCRIPTION

マルチクロック同期回路の形式検証(プロパティ・チェック)を可能にする検証体系を提案します。また、この体系を用いた例としてクロック切替え回路の検証を示します。

Citation preview

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

1

様相論理による

マルチクロック同期回路の形式検

証体系

2014/09 西村 俊二

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

背景・目的

形式検証 * の多くは単一クロック同期回路が対象である.

時相論理ベース ⇒ “次”が一種類 ⇒ 単一クロック

マルチクロック同期回路の形式検証としては,それぞれのクロック間の関係を条件として与えた上でモデル検査を適用する方法がある.

⇒ 時間軸を含めた状態空間の制限が可能に

本研究では,クロック間の条件を定めることなくマルチクロック同期回路の形式検証を可能とする検証体系を提案する.

2* : 本研究ではプロパティ・チェッキングを対象とする.

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

もくじ

3

様相論理による回路記述

公理の定義

検証体系の位置付け

検証例

まとめ

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

様相論理

必然性や可能性を扱う論理. □P : P が必然的に真

「先祖代々仏教だ」 ⇒ 私の先祖は仏教,その先祖も仏教,その先祖も …

□ 仏教

◇P : P である可能性がある (◇ P := ¬□¬ P : P でないことが必然ではない)

「キリスト教の方もいた」

◇ キリスト教

4

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

時相論理

時間上の必然性や可能性を扱う.

○P : 次の時刻において P

「明日は晴れる」

○ 晴れ

「明後日以降ずっと晴れる」

○ ○ □ 晴れ

今日 明日

明後日今日

5

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

明日を表す○ のみでは不便な場合もある 「来週は晴れる」

⇒ ?

 来週を表すⓌを導入すれば

Ⓦ 晴れ

様相記号の追加(多重様相論理)

: ○: Ⓦ

Mon Tue SunSunSat Mon

Mon Tue SunMon Tue Sun

6

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

FF 同期の信号にとって,エッヂをまたいだ後が “次”.(離散時間を前提としている)

クロック同期の表現

7

clk0

clk1

: clk1 の“次”

単位時間の“次”

:

: clk0 の“次”

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

回路記述

様相記号を使って同期回路を表現することができる.( 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)

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

回路記述の原理

前ページの回路記述は「同期回路 - ステートマシン対応」の拡張.

f

gclk

a

s

out

out = f(a, s)

s’ = g(a, s)

f

g

a

s

out

=nex

t

(出力関数)

(ステート関数)

9

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

恒真命題 (1/2)

考える命題にかかわらず成り立つ関係がある. □P ⇒ P

□P ⇒ □□P

P P P ⇒ P

10

P

P P P ⇒P P P PP

P P P

P P

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

クロックの様相記号についての恒真命題も存在する. clki 同期のステート信号 si について,

○si =

∃n . ⓘ = ○n

恒真命題 (2/2)

11

si

ⓘ si(または)

n

: ⓘ: ○

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

検証体系の定義

代表的な恒真命題を集めた以下を公理とする.

前出の回路記述方式とこれらの公理をもって検証体系とする.12

検証体系の要素(2/2)

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

回路記述方式 + 公理

検証体系と実際の検証

次の関係にある.

矢印による意味付け⇒⇒

対象回路が仕様を満たすか?

検証体系の構築

実際の検証

実際の検証では “ 回路と公理を前提として仕様を満たすかどうかをチェックする”

検証体系

13

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

検証体系の健全性

この検証体系から導かれた結論は常に正しいか?

矢印による意味付けのもとに, 回路記述は「同期回路 - ステートマシン対応」の原理に

より正しい.

公理は恒真命題であるので正しい.

よつて,

この検証体系から導かれた結論は論理的に正しい.

14

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

検証例:対象の回路

次のクロック切替え回路を対象に検証を行う.

clk0

clk1

sel1

out

en0

en1

15

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

検証例:回路の振るまい (1/4)

sel1

en0

16

clk0

clk1

sel1

out

en0

en1OFF

ON

0 ( =clk0 を選択)

ON

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

検証例:回路の振るまい (2/4)

clk0

sel1

en0

17

clk0

clk1

sel1

out = 0

en0

en1OFF

OFF

OFFON

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

検証例:回路の振るまい (3/4)

18

clk0

clk1

sel1

en0

en1ON

OFF

clk1

en0

en1

out

OFF ON

OFFON

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

検証例:回路の振るまい (4/4)

まとめると次のタイミング・チャートとなる.

clk0 出力

clk0

clk1

sel1

out

clk1 出力切替え中

en0

en1

19

ON

OFF

OFF

ON

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

検証例:回路記述

20

clk0

clk1

sel1

en0

en1

out

様相論理による回路記述は下のようになる.

out = en0 & clk0 | en1 &

clk1

⓪ en0 = sel1 & en1

① en1 = sel1 & en0

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

検証例:仕様

求められる振るまいは:

仕様 1 :選択された方のクロックが出力されること

仕様 2 :グリッチ・ノイズが発生しないこと.

以下,仕様 1 について示す.切替え中かもしれないので,

仕様 1-0 : clk0 を選択し続ければそのうち clk0 が出力されること

仕様 1-1 : clk1 を選択し続ければそのうち clk1 が出力されること.

様相記号を用いて,

仕様 1-0 :□ (sel1 = 0) ⇒ ◇□(out = clk0)

仕様 1-1 :□ (sel1 = 1) ⇒ ◇□(out = clk1) .

21

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

検証例:補題

動作例から推測できるように,次が成り立つ.

補題:常に en0 か en1 のどちらかが 0 である.

これを様相記号を使って示すと,

□ (en0 | en1) .

回路記述をもとに適宜公理を使うことによりこれを

証明することができる.

22

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

sel1=1

⓪en0=0 ∴ ①en⓪ 1=1

①⓪ en0=0, ①en⓪ 1=1 ∴ ①(out = clk⓪ 1)

①□⓪ (out = clk1)

◇□ (out = clk1)

検証例:証明

23

⓪ en0 = sel1 &

en1

① en1 = sel1 &

en0

回路の定義(右)より

前ページの補題よりen0 か en1 のどちらかが

0

公理 V4 など

公理 VN2 など

証明の概要:

en1=1

out

clk0

clk1

en0=0

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

まとめ

マルチクロック同期回路の形式検証を可能とする検証体系

多重様相論理に基づく演繹的な体系

得られる結果について正当性が保証される(健全である)

課題

健全性は言えるが,完全性(成立する命題のすべてが導かれること)は不明

証明を人手で行っていては厳密性が担保できない

自動証明

証明は人が行うが,その整合性を計算機でチェック 24