A Hierarchical Approach to Self-Timed Circuit Verification Cuong - - PowerPoint PPT Presentation

a hierarchical approach to self timed circuit verification
SMART_READER_LITE
LIVE PREVIEW

A Hierarchical Approach to Self-Timed Circuit Verification Cuong - - PowerPoint PPT Presentation

A Hierarchical Approach to Self-Timed Circuit Verification Cuong Chau 1 , Warren A. Hunt Jr. 1 , Matt Kaufmann 1 , Marly Roncken 2 , and Ivan Sutherland 2 { ckcuong,hunt,kaufmann } @cs.utexas.edu, mroncken@pdx.edu, ivans@cecs.pdx.edu 1 The


slide-1
SLIDE 1

A Hierarchical Approach to Self-Timed Circuit Verification

Cuong Chau1, Warren A. Hunt Jr.1, Matt Kaufmann1, Marly Roncken2, and Ivan Sutherland2

{ckcuong,hunt,kaufmann}@cs.utexas.edu, mroncken@pdx.edu, ivans@cecs.pdx.edu

1 The University of Texas at Austin 2 Portland State University

May 14, 2019

Chau et al. (UT Austin, PSU) Async Circuit Modeling and Verification May 14, 2019 1 / 21

slide-2
SLIDE 2

Motivation and Goals

Motivation: Many efforts in verifying self-timed circuit implementations concern circuit-level timing properties or communication properties. Most verification methods for self-timed circuits have concentrated on small-size circuits. Scalable methods for self-timed system verification are highly desirable.

Chau et al. (UT Austin, PSU) Async Circuit Modeling and Verification May 14, 2019 2 / 21

slide-3
SLIDE 3

Motivation and Goals

Motivation: Many efforts in verifying self-timed circuit implementations concern circuit-level timing properties or communication properties. Most verification methods for self-timed circuits have concentrated on small-size circuits. Scalable methods for self-timed system verification are highly desirable. Goals: Develop scalable methods for reasoning about the functional correctness of self-timed circuits and systems, while abstracting away circuit-level timing constraints. Implement those methods using the ACL2 theorem proving system, providing a useful automated framework with associated libraries to support the mechanical analysis of general-purpose, self-timed circuit designs.

Chau et al. (UT Austin, PSU) Async Circuit Modeling and Verification May 14, 2019 2 / 21

slide-4
SLIDE 4

Approach

Extend the DE-based, synchronous-style verification system1 to one that is capable of analyzing self-timed system models.

  • 1W. A. Hunt Jr. “The DE Language”.

In: Computer-Aided Reasoning: ACL2 Case

  • Studies. Springer US, 2000. Chap. 10, pp. 151–166.
  • 2M. Roncken et al. “Naturalized Communication and Testing”.

In: ASYNC-2015,

  • pp. 77–84.

Chau et al. (UT Austin, PSU) Async Circuit Modeling and Verification May 14, 2019 3 / 21

slide-5
SLIDE 5

Approach

Extend the DE-based, synchronous-style verification system1 to one that is capable of analyzing self-timed system models. Apply the link-joint model2 to modeling self-timed circuit designs.

  • 1W. A. Hunt Jr. “The DE Language”.

In: Computer-Aided Reasoning: ACL2 Case

  • Studies. Springer US, 2000. Chap. 10, pp. 151–166.
  • 2M. Roncken et al. “Naturalized Communication and Testing”.

In: ASYNC-2015,

  • pp. 77–84.

Chau et al. (UT Austin, PSU) Async Circuit Modeling and Verification May 14, 2019 3 / 21

slide-6
SLIDE 6

Approach

Extend the DE-based, synchronous-style verification system1 to one that is capable of analyzing self-timed system models. Apply the link-joint model2 to modeling self-timed circuit designs. Develop a hierarchical (compositional) reasoning approach that is amenable to verifying correctness of large, non-deterministic systems without a large growth of the time complexity.

  • 1W. A. Hunt Jr. “The DE Language”.

In: Computer-Aided Reasoning: ACL2 Case

  • Studies. Springer US, 2000. Chap. 10, pp. 151–166.
  • 2M. Roncken et al. “Naturalized Communication and Testing”.

In: ASYNC-2015,

  • pp. 77–84.

Chau et al. (UT Austin, PSU) Async Circuit Modeling and Verification May 14, 2019 3 / 21

slide-7
SLIDE 7

Approach

Extend the DE-based, synchronous-style verification system1 to one that is capable of analyzing self-timed system models. Apply the link-joint model2 to modeling self-timed circuit designs. Develop a hierarchical (compositional) reasoning approach that is amenable to verifying correctness of large, non-deterministic systems without a large growth of the time complexity. Avoid exploring the operations internal to a verified submodule as well as their interleavings. The input-output relationship of a verified submodule is determined based on the communication signals at the submodule’s input and

  • utput ports, while abstracting away all execution paths internal

to that submodule.

  • 1W. A. Hunt Jr. “The DE Language”.

In: Computer-Aided Reasoning: ACL2 Case

  • Studies. Springer US, 2000. Chap. 10, pp. 151–166.
  • 2M. Roncken et al. “Naturalized Communication and Testing”.

In: ASYNC-2015,

  • pp. 77–84.

Chau et al. (UT Austin, PSU) Async Circuit Modeling and Verification May 14, 2019 3 / 21

slide-8
SLIDE 8

Contributions

Extend our previous framework3 to model and verify circuit generators with parameterized data sizes. Demonstrate that our verification framework is applicable to circuits with loops as well. Formalize an (non-deterministically) arbitrated merge joint that provides mutually exclusive access to its output link from its two input links. Develop strategies for verifying the functional correctness of self-timed circuits performing arbitrated merges.

  • 3C. Chau et al. “Data-Loop-Free Self-Timed Circuit Verification”.

In: ASYNC-2018,

  • pp. 51–58.

Chau et al. (UT Austin, PSU) Async Circuit Modeling and Verification May 14, 2019 4 / 21

slide-9
SLIDE 9

Outline

1

DE System

2

Modeling and Verification Approach

3

Case Studies

4

Future Work and Conclusions

Chau et al. (UT Austin, PSU) Async Circuit Modeling and Verification May 14, 2019 5 / 21

slide-10
SLIDE 10

Outline

1

DE System

2

Modeling and Verification Approach

3

Case Studies

4

Future Work and Conclusions

Chau et al. (UT Austin, PSU) Async Circuit Modeling and Verification May 14, 2019 6 / 21

slide-11
SLIDE 11

DE System

DE is a formal occurrence-oriented hardware description language developed in ACL2 for describing finite-state machines.

Chau et al. (UT Austin, PSU) Async Circuit Modeling and Verification May 14, 2019 7 / 21

slide-12
SLIDE 12

DE System

DE is a formal occurrence-oriented hardware description language developed in ACL2 for describing finite-state machines. The semantics of the DE language is given by a simulator that computes the outputs and next state for a module from the module’s current inputs and current state.

Chau et al. (UT Austin, PSU) Async Circuit Modeling and Verification May 14, 2019 7 / 21

slide-13
SLIDE 13

DE System

DE is a formal occurrence-oriented hardware description language developed in ACL2 for describing finite-state machines. The semantics of the DE language is given by a simulator that computes the outputs and next state for a module from the module’s current inputs and current state. In our self-timed modeling approach, we invoke the DE simulator whenever any primary input changes. Allow the design to proceed at a rate moderated by oracle values — extra input values modeling non-determinacy — that can cause any part of the logic to delay an arbitrary amount.

Chau et al. (UT Austin, PSU) Async Circuit Modeling and Verification May 14, 2019 7 / 21

slide-14
SLIDE 14

DE System

DE is a formal occurrence-oriented hardware description language developed in ACL2 for describing finite-state machines. The semantics of the DE language is given by a simulator that computes the outputs and next state for a module from the module’s current inputs and current state. In our self-timed modeling approach, we invoke the DE simulator whenever any primary input changes. Allow the design to proceed at a rate moderated by oracle values — extra input values modeling non-determinacy — that can cause any part of the logic to delay an arbitrary amount. We extended the DE primitive database with a new primitive that models the validity of data stored in a communication link.

Chau et al. (UT Austin, PSU) Async Circuit Modeling and Verification May 14, 2019 7 / 21

slide-15
SLIDE 15

Outline

1

DE System

2

Modeling and Verification Approach

3

Case Studies

4

Future Work and Conclusions

Chau et al. (UT Austin, PSU) Async Circuit Modeling and Verification May 14, 2019 8 / 21

slide-16
SLIDE 16

Link-Joint Model

We model self-timed systems as finite-state machines representing networks of communication links and computation joints.

L0 L1 J0 L2 L3 L4 J1 L5

Links communicate with each other locally via joints using the link-joint model.

Chau et al. (UT Austin, PSU) Async Circuit Modeling and Verification May 14, 2019 9 / 21

slide-17
SLIDE 17

Link-Joint Model

We model self-timed systems as finite-state machines representing networks of communication links and computation joints.

L0 L1 J0 L2 L3 L4 J1 L5

Links communicate with each other locally via joints using the link-joint model. Links are communication channels in which data are stored along with a full/empty signal. Joints implement data operations and flow control. A link connects exactly to one input and one output joint.

Chau et al. (UT Austin, PSU) Async Circuit Modeling and Verification May 14, 2019 9 / 21

slide-18
SLIDE 18

Link-Joint Model

We model self-timed systems as finite-state machines representing networks of communication links and computation joints.

L0 L1 J0 L2 L3 L4 J1 L5

Links communicate with each other locally via joints using the link-joint model. Links are communication channels in which data are stored along with a full/empty signal. Joints implement data operations and flow control. A link connects exactly to one input and one output joint. Necessary conditions for a joint-action to fire: all input and output links

  • f that action are full and empty, respectively.

Chau et al. (UT Austin, PSU) Async Circuit Modeling and Verification May 14, 2019 9 / 21

slide-19
SLIDE 19

Details of the Link-Joint Model

5 1

⊲ F D ⊳

fullin

act drain

⊲ F D ⊳

fill

emptyout

Joint Link Link L0 L1 GO

The green boxes represent instances of our new DE link-control primitive. When a joint acts, three tasks will be executed in parallel: transfer data computed from the input links to the output links; fill (possibly a subset of) the output links, leaving them full; drain (possibly a subset of) the input links, leaving them empty.

Chau et al. (UT Austin, PSU) Async Circuit Modeling and Verification May 14, 2019 10 / 21

slide-20
SLIDE 20

Details of the Link-Joint Model (GO = 0)

5 1

⊲ F D ⊳

fullin

act drain

⊲ F D ⊳

fill

emptyout

Joint Link Link L0 L1 GO 7

The green boxes represent instances of our new DE link-control primitive. When a joint acts, three tasks will be executed in parallel: transfer data computed from the input links to the output links; fill (possibly a subset of) the output links, leaving them full; drain (possibly a subset of) the input links, leaving them empty.

Chau et al. (UT Austin, PSU) Async Circuit Modeling and Verification May 14, 2019 10 / 21

slide-21
SLIDE 21

Details of the Link-Joint Model (GO = 0)

5 1

⊲ F D ⊳

fullin

act drain

⊲ F D ⊳

fill

emptyout

Joint Link Link L0 L1 GO 7 1 5 5 x

The green boxes represent instances of our new DE link-control primitive. When a joint acts, three tasks will be executed in parallel: transfer data computed from the input links to the output links; fill (possibly a subset of) the output links, leaving them full; drain (possibly a subset of) the input links, leaving them empty.

Chau et al. (UT Austin, PSU) Async Circuit Modeling and Verification May 14, 2019 10 / 21

slide-22
SLIDE 22

Details of the Link-Joint Model (GO = 1)

5 1

⊲ F D ⊳

fullin

act drain

⊲ F D ⊳

fill

emptyout

Joint Link Link L0 L1 GO 7 1

The green boxes represent instances of our new DE link-control primitive. When a joint acts, three tasks will be executed in parallel: transfer data computed from the input links to the output links; fill (possibly a subset of) the output links, leaving them full; drain (possibly a subset of) the input links, leaving them empty.

Chau et al. (UT Austin, PSU) Async Circuit Modeling and Verification May 14, 2019 10 / 21

slide-23
SLIDE 23

Details of the Link-Joint Model (GO = 1)

5 1

⊲ F D ⊳

fullin

act drain

⊲ F D ⊳

fill

emptyout

Joint Link Link L0 L1 GO 7 1 1 1 5 5 5

The green boxes represent instances of our new DE link-control primitive. When a joint acts, three tasks will be executed in parallel: transfer data computed from the input links to the output links; fill (possibly a subset of) the output links, leaving them full; drain (possibly a subset of) the input links, leaving them empty.

Chau et al. (UT Austin, PSU) Async Circuit Modeling and Verification May 14, 2019 10 / 21

slide-24
SLIDE 24

Details of the Link-Joint Model (GO = 1)

5 1

⊲ F D ⊳

fullin

act drain

⊲ F D ⊳

fill

emptyout

Joint Link Link L0 L1 GO 7 1 1 1 5 5 5

⊲ F D ⊳

1

⊲ F D ⊳

5

The green boxes represent instances of our new DE link-control primitive. When a joint acts, three tasks will be executed in parallel: transfer data computed from the input links to the output links; fill (possibly a subset of) the output links, leaving them full; drain (possibly a subset of) the input links, leaving them empty.

Chau et al. (UT Austin, PSU) Async Circuit Modeling and Verification May 14, 2019 10 / 21

slide-25
SLIDE 25

Self-Timed Modules

L0 L1 Complex joint: a queue of length two, Q2 L0 L1 J0 L2 L3 L4 J1 L5 Complex link

Chau et al. (UT Austin, PSU) Async Circuit Modeling and Verification May 14, 2019 11 / 21

slide-26
SLIDE 26

Verification Flow

Gate-level netlist Functional spec

Chau et al. (UT Austin, PSU) Async Circuit Modeling and Verification May 14, 2019 12 / 21

slide-27
SLIDE 27

Verification Flow

Gate-level netlist Four-valued level Extraction level Functional spec

Chau et al. (UT Austin, PSU) Async Circuit Modeling and Verification May 14, 2019 12 / 21

slide-28
SLIDE 28

Verification Flow

Gate-level netlist Value and state lemmas, Multi-step state lemma Four-valued level Extraction level Functional spec

Chau et al. (UT Austin, PSU) Async Circuit Modeling and Verification May 14, 2019 12 / 21

slide-29
SLIDE 29

Verification Flow

Gate-level netlist Value and state lemmas, Multi-step state lemma Four-valued level Single-step-update properties Extraction level Functional spec

Chau et al. (UT Austin, PSU) Async Circuit Modeling and Verification May 14, 2019 12 / 21

slide-30
SLIDE 30

Verification Flow

Gate-level netlist Value and state lemmas, Multi-step state lemma Four-valued level Single-step-update properties Extraction level Multi-step input-output relationship Functional spec

Chau et al. (UT Austin, PSU) Async Circuit Modeling and Verification May 14, 2019 12 / 21

slide-31
SLIDE 31

Verification Steps

Single-step-update properties Multi-step input-output relationship Value and state lemmas Multi-step state lemma Functional correctness Induction Induction step run Hierarchical reasoning

Chau et al. (UT Austin, PSU) Async Circuit Modeling and Verification May 14, 2019 13 / 21

slide-32
SLIDE 32

Verification Steps

Single-step-update properties Multi-step input-output relationship Value and state lemmas Multi-step state lemma Functional correctness Induction Induction step run Hierarchical reasoning

  • : automated

Chau et al. (UT Austin, PSU) Async Circuit Modeling and Verification May 14, 2019 13 / 21

slide-33
SLIDE 33

Outline

1

DE System

2

Modeling and Verification Approach

3

Case Studies

4

Future Work and Conclusions

Chau et al. (UT Austin, PSU) Async Circuit Modeling and Verification May 14, 2019 14 / 21

slide-34
SLIDE 34

A Greatest-Common-Divisor (GCD) Circuit Model

1 S L0 a = 0 & b = 0 & a = b 1 L1 a < b a − b, b b − a, a 1 L2 a, b gcd(a, b)

2n

  • 2n
  • 1
  • 1
  • 2n
  • 1
  • 2n
  • 2n
  • 1
  • 2n
  • 2n
  • 2n
  • 2n
  • n
  • in
  • ut

body gcd-alg(a, b) := if (a = 0) then b else if (b = 0) then a else if (a = b) then a else if (a < b) then gcd-alg(b − a, a) else gcd-alg(a − b, b) Chau et al. (UT Austin, PSU) Async Circuit Modeling and Verification May 14, 2019 15 / 21

slide-35
SLIDE 35

Arbitrated Merge

Arbitrated merge, or arbiter, is a well-known self-timed circuit model that provides mutually exclusive access to a shared resource. Produce non-deterministic output sequences due to arbitrary arrival times

  • f requests.

We formalize an arbitrated merge joint that provides mutually exclusive access to its output link from its two input links on a first-come-first-served basis4. M in0 in1

  • ut
  • 4M. Roncken et al. “How to Think about Self-Timed Systems”.

In: Asilomar-2017,

  • pp. 1597–1604.

Chau et al. (UT Austin, PSU) Async Circuit Modeling and Verification May 14, 2019 16 / 21

slide-36
SLIDE 36

Circuits Performing Arbitrated Merges

in0 in1 Q’40a Q’40b M arbitrated merge

  • ut

interl interl in0 in1 L gcd

  • ut

2n

  • 2n
  • 2n
  • 2n
  • n
  • igcd

interl0 in0 in1 L0 interl1 in2 in3 L1 interl2

  • ut

comp-interl

Chau et al. (UT Austin, PSU) Async Circuit Modeling and Verification May 14, 2019 17 / 21

slide-37
SLIDE 37

Performance

Circuit Proof time # go signals # go signals affecting reasoning

gcd 8s 3 3 Q5’ 8s 4 4 Q10’ 3s 9 1 Q20’ 3s 19 1 Q40’ 3s 39 1 interl 5s 81 3 igcd 12s 84 5 comp-interl 23s 243 9

Chau et al. (UT Austin, PSU) Async Circuit Modeling and Verification May 14, 2019 18 / 21

slide-38
SLIDE 38

Outline

1

DE System

2

Modeling and Verification Approach

3

Case Studies

4

Future Work and Conclusions

Chau et al. (UT Austin, PSU) Async Circuit Modeling and Verification May 14, 2019 19 / 21

slide-39
SLIDE 39

Future Work

Implement a syntactic checker that detects link-joint topology violations in self-timed circuit designs. Enhance the effectiveness of our framework by increasing automation through the further introduction of macros. Automate the proofs of value and state lemmas. Apply our methodology to modeling self-timed microprocessors and verifying their functional properties. E.g., model and verify a self-timed version of the FM9001 microprocessor. Develop methods for analyzing mixed self-timed, synchronous circuits and systems.

Chau et al. (UT Austin, PSU) Async Circuit Modeling and Verification May 14, 2019 20 / 21

slide-40
SLIDE 40

Conclusions

We have developed a hierarchical, mechanized methodology that is capable of verifying the functional correctness of self-timed circuit designs at scale. We model self-timed systems as networks of links communicating with each other locally via joints, using the link-joint model. We model the non-determinism of event-ordering in self-timed circuits by associating each joint action with an external go signal that, when disabled, prevents that action from firing. Successfully applied our modeling and verification approach to a sequence

  • f increasingly complex self-timed circuit models.

Data-loop-free circuits Iterative circuits Circuits involving non-deterministically arbitrated merges

Chau et al. (UT Austin, PSU) Async Circuit Modeling and Verification May 14, 2019 21 / 21

slide-41
SLIDE 41

Questions?

slide-42
SLIDE 42

Arbitrated Merge Verification

The multi-step input-output relationship is established using the membership relation (∈) and the interleaving operation (⊗). in0 in1 Q’40a Q’40b M arbitrated merge

  • ut

interl interl$extract0 and interl$extract1 extract valid data from two complex links Q′

40a and Q′ 40b, respectively.

let stf := interl$run(inputs-seq, st, n), ∀x ∈

interl$extract0(stf ) ⊗ interl$extract1(stf ) .

(x ++ out-seq) ∈

in0-seq ++ interl$extract0(st) ⊗ in1-seq ++ interl$extract1(st)

  • Chau et al. (UT Austin, PSU)

Async Circuit Modeling and Verification May 14, 2019 22 / 21