A verification logic representation of indeterministic signal states

2 downloads 0 Views 946KB Size Report
Logic. Representation of Indeterministic. Signal. States. ;l. W. (]ambles and P. J. Windley. NASA. Space Engineering. Research. Center for VLSI Systems. Design.
3rd

NASA

Symposium

on VLSI

Design

1991

10.2.1

N94-18372 A Verification Logic of Indeterministic ;l. W. NASA

Space

(]ambles

Engineering

Representation Signal States

and

Research

Center

University

- The

ronments tion

integration

require

logic.

of strength circuit

translation

A signal

tools

hardware

representation is essential

with

Design

both

for

formal

description

including

A higher-order

Systems

83843

CAD

from

indeterminacy

designs.

Idaho

of modern

for VLSI

of Idaho

Moscow, Abstract

P. J. Windley

the

logic

theory

the

complexity

verification

language

unknown

correct

envi-

to

state

verifica-

and

modeling

of

of indeterministic

a degree

many

logic

VLSI

signals

is

number

of

presented.

1 As

Introduction higher

transistor

potential exclusion. are

used

by VLSI

used

in the

reasons design,

implementation entire

system

the

logic

simulation

the

major

that

by

arena benefit

abstract choose

to use

description

may

be used

at

A behavioral

an early

date.

of complex

replacing

circuit

be integrated

of this

integration models

abstract

After

the

systems

can

blocks

with

can circuit

become the

VLSI

CAD

tool

suite

would

allow

these

the

CAD

VLSI

correct.

circuit

are

In

as part

structure

The

will several

a top-down before

the

of a simulation

is designed

slow.

being

designers

understanding

be utilized

fault tools

tools

There

models.

corresponding

with these design approaches is that there model to the abstract behavioral model.

the

value in design alone verification

is that are

very

and

with

behavioral

to simplify

model

circuits

promise stand

must

behavioral

may

is designed.

the

problem structural

One

designer

a behavioral

faster

research

confidence

a VLSI

of VLSI

formal verification methods is accepted by design engineers,

academic

designers.

increased

made

increase

test cases explode, Before verification

that

enjoy

counts

and

modeled,

simulation

behavioral

of

can

model.

be The

is currently no way to relate the circuit Having a verification tool available in

models

to be related

through

mathematical

analysis. The

hardware

link

between

the

CAD

tool

verification the

BOLT

to the

HOL

description

these

and

the

and

this

description

HDL

tool.

This

(Block theorem

languages

tools

paper

Oriented proving

examines Logic

(HDL)

verification can the

Translator)

system.

used

by VLSI

environment. be

automatically

translation HDL,

CAD

of logic used

tools

Engineers

in the

translated signal NOVA

can can

provide design

for

use

representations simulation

the using in the from

engine,

10.2.2

2

HOL

HOL

is a general

based

theorem

on Church's

able

for

specifying

In using

but

not

functions [8].

checker,

falling

HOL

tions

to HOL

BOLT

circuit

inc!udin_g_

are defined logic

circuits.

predicates

both

make

between

predicates

these

requires

that

HOL

Higher-order

both

and

logic, for

logic

is suit-

behavior

[6,8].

primitives

simple

combinational

variables

are allowed

representing

butis

[4,6]

circuit

to represent

it suitable two

of Cambridge

structure

to represent

is well suited

In higher-order

which

University

logic.

is noi a-n-aut--oma;ecl-theorem-prover

in HOL

are

Universal

tification

exists)

(there

represented

implication_

= respectively.

3

predicates

at the

or higher-order

of hardware,

[4]. First-order

somewhere

negation,

expression

developed

to range

sequential

circuit

more_thansimpiy

extremes.

Translat_on_rom

primitives

be

defined

and

a l_roof

_OLT

cIescrlp-

to correspond

to

the

representations.

Symbols junction,

types,

sequential and

behavior

of simple

logic,

definitions

circuits,

system

all aspects

higher-order

behavioral over

theory

proving

b else

The

strings

equality

quantification is ?.

"if a then

by

and

(for

function

of ASCII represented

all)

is symbolized

composition

c" is symbohzed

characters.

are

a => b

by

/\, !

operator

Conjunction,

dis-

V,

and

and

",

==>,

existential

is o and

the

quen-

conditional

I c.

Logic States and Strengths

Few modern

VLSI

circuitsare designed using only classicallogic gates [3,10].In designs

using pass-transistor,tri-statc,and pre-chargc logic,it is common

for circuitnodes to bc

driven from multiple circuitelements. These multiple drivers arc designed to have differing drive strengths in order for one to dominate

over another in cases of contention. The drive

strength can be considered to bc closelyrelatedto current drive (charge sourcing) capability [7,2].The

signal values represented in the NOVA

Bryant's latticetheoretic approach in the domMn False,

[7,11].In the latticetheoretic approach

the elements

of signal values represent the combination of logic state,from the set True,

and Unknown;

and a signal strength. These signal values form a partiallyordered

set with their order based on strength dominance While

simulation engine are an extension of

Bryant later abandoned

when

circuitoutput values are combined.

the lattice theoretic approach

[2] stating "while this

approach at firstseems very elegant,it cannot adequately describe the effectsof transistg_rs in the X (Unknown) Unknown

state, " Cameron

and Shovic have shown

state can be corrected by extending the domain

degree of strength indeterminacy

that the problem

with the

of signal values to include some

[3]. Thus, the signal values are extended

to represent

both logic states and a range of signal strength. The I/nknown state can be the result of a node connected to two drivers,one driving to a True

and the other driving to a False, neither driver having su_cient strength to

dominate the other; or simply a node whose voltage isnot yet known. of "invalid" logic level and "valid but not known" the simulation algorithm but may

make

Combining

into a single Unknown

the cases

state simplifies

the simulator pessimistic since it will propagate

.ffi

3rd

NASA

Symposium

the

Unknown

state

We refer

to the

representation number node

when

Representation

Given

the

and

False

represented

b

d is the

weakest

strength

X

possible

bound

3.2

The

For

N strengths

the

can

that

weakest

plus

this

strength,

driving that

driving

of a signal

represents

being

ordered

set

a

driven

by

to the

of strengths

states

True

and

can

which

this

sets

a lower

bound

on

state; which

sets

a upper

bound

on the

overdrive.

state

are represented

as a triple

Xpq

where:

toward can

0 (al overdrive

toward

that

can

_< p _< aN-l)

1 (al overdrive

this

state

which

sets

a lower

sets

a lower

to a 1;

_ q _< aN-l) this

state

which to a 0.

of STATES of True

state

the

and

STATES is:

-

number

of STATES is:

(2)

This

is equal

False

= 2((g

in equation

ajv = Nil.

STATES for N strengths

total

where:

overdrive

state

of a signal

the number

term

a fully

b and

there exists no element z of the partially ordered set such of the elements and covers completely describe a lattice. define

a graph

of the graph

of the

z is higher

4.1

Defining

Given

lattice.

represent

vertex

the

than

and

strength

presented

no

of possible in [7,11],

To extend 1. Add

strength covered

:

If the graph

STATES

Hasse and

by

by X0"tVO'N

and

(Figure

covers

replacing

elements

and the

that

whenever

diagram"

of the

there covers

(lattice) to form

Nil

STATE,

For each

M" = N to 2, by -1, add

z covers lattice

is only and

the

Nil)

a single lattice

_, the

[1].

the

there

value Hasse

axe four

(0"1) within diagram

is as

to N + 1 strengths: a new

X_rN_N,

at the

bottom

diamond

at

adding

0O'N_

of the

the

diagram

00"N0"N and 10.N0.N. 2.

segments

1).

Nil with

placing

such

case of one single

meaning

diagram

four

are the

a "Hasse

are four

diamond

that a > z > b [1]. A list of all The covers can also be used to

Structure

1 is a trivial There

a simple

graph

is drawn

y, it is called

indeterminacy,

strengths.

diagram

of the

Lattice

2 (N

a N strength

three

vertices

vertex

STATES case N :

range

The covers.

the

the base

STATES the

We

_AT]_S

following

STATES and

covers:

bottom and

of the

IO'NO" N

covered

N

each

by both

3rd

NASA

Symposium

on

VLSI

(a)

XdrM-IO'N

covered

by 0ffM_ltTN-1

and

covering

XO'MO"N

(b)

XO'NO'M_I

covered

by lorM_l_rN_l

and

covering

XO'MO'N

(C) OcYM_ldrN covered IO'M-ltYN

(d)

4.2

The

The

total

covered

Number

number

Design

1991

by XO'M_IO'N

and

covering

OO'MO" N

by

and

covering

lO'MtrN

XO'NdrM-1

of Covers

of covers

for N strengths

is equal

COVERS(N)

4.3

The

The

Lattice

NOVA

we may while

(resistive), equation

tool

is shown

yields

understanding

and

HOL

2.

of the

types

and

axioms

[9]. A new of the

type

STATES.

out type,

for signal

is defined

by enumeration

utilize

join

operation.

values,

Properties

theorem, bound.

a case

of the

the

are insured

1. Idempotence. 2.

Commutativity.

3.

Associativity.

about analysis

join

function

by formal

obligations For

For

designers

can be used (3)

yields and

of covers

to represent

22 STATES and covers

required

also

_r2 = r

for

NOVA

to define

provides

a quick,

the

visual

package properties are the

new

type

The

than

in I-IOL each join

new

package

a new

simply

type

postulating into

the

logic

by enumeration The

is defined consistency

theoretic

define

type

for

value

theorem.

is complete,

lattice

type.

to

of inconsistency

include

function

user

required

rather

induction) the

of the

proven,

the

proof

is defined

new

and

formal

introduction

strength, the

allows

of the

necessary type

that

obligations

being

of all

distinct,

STATES

an

lattice

to be the

least

of proofs

that

[11] for the

join

are:

all a STATES, For

list

VLSI

_rl = a (active),

STATES

diagram

so that

in HOL

definition

proof

> Nil and

for the

Hasse

(perfect

covers

nonacademic

N = 4 and

float

the

the

to avoid called

proven

and

Once

These

essential of the

in order

by

for this research

N = 4, equation

definition

new

selected

STATES.

about the

been

diagram

of joined

much

about

induction upper

Hasse

a type

theorems

new

that

For

STATES

Theorems for the

Note

logic,

(4)

+ 8

written

to identifying

resolution

carries

definition.

The

verification

includes

prove

automatically

have

In NOVA,

nodes.

In addition

in the

system

HDL designs

cr4 = Nil.

capacitive

Implementing

The

BOLT

10N

NOVA

is developed.

32 covers.

in figure structure

5

to HOL

at charged

(4)

for

and

to:

= 4N 2 -

to commercial-scale

_rs = f (float)

levels

lattice

engine

access

a translation

signal

Structure

simulation

have

10.2.5

join

a a = a.

all a and

b STATES,

join

a b = join

all a, b and

c STATES,

join

a (join

b a.

b c) = join

(join

a b) c.

!0.2.6

Xaa

Oaa

g

Xar

Xra

Z

i Oar

lrr

\/\/\/ \/\/ \/ Off

far

Xff

Off

Irf

iff

Nil

Figure

2: Signal

Lattice

for N=4

(NOVA)

3rd

NASA

Symposium

on VLSI

Design

1991

10.2.7

g

± d __Y-7

q

M1

Inv2

Figure

4. Existence

5.1

of bottom.

STATES

Typically

to relate

Cell

all a STATES,

Schematic

Diagram

join

= a.

a Nil

Function

specification

is required

STATES_ABS

For

Abstraction

a behavioral

function

3: Memory

is defined

STATES, used

in terms

of boolean

in structural

values.

specifications,

An abstraction

to boolean

values.

chosen

boolean

sig = ((sig=laa)\/(sig=lar)\/(sig=lrr)\/ (sigflaf)\/(sigflrf)\/(sig=lff))

=> T

I

((sig=0aa)V(sig=0ar)V(sigf0rr)\/ (sig=0af)\/(sigf0rf)\/(sig=0ff))

The

Unknown

STATES are

assigned

a value

=> F I ARB

ARB, defined

to be an arbitrarily

value.

6

Theory

A static

Demonstration

memory

circuit

used

to demonstrate

that

realizes

the

operation

the

output

is True

STATES theory

(Figure

3).

dominance

this

of this

circuit

is that

Inv2

to force

voltage).

The

feedback

(high

6.1

The

The

memory

after

the

Circuit cell

elements,

circuit

gate

of inverter

pass-transistor

and

with

the

output

the

inverter

cell, implemented

signals

the node

cannot output nl

inverter

goes

False,

and

Without

pass

a signal

be correctly strength

to the Inv2

primitives,

value

modeled.

acts

of the

input

to store

the

the

transistor

and the

includes JOIN

defined

three

predicate

operation. to be functions

Time

definitions; is represented

of type

Fundamental

to

M1 dominates d while

state,

the

gate

by dominating

off.

a pass-transistor as a number

num to type

is

representation

of pass-transistor

state

turning

transistor

Primitives

structure

are

gate

circuit

level

strength.

element, (hum)

stream

g

!0.2.8

The state.

behavioral

model

A simplified

is equal

to the

!

cell is not defined

pass-transistor

signal

NTRAN (g,,,d)

of the

at the

model

source

for the

is used

if the gate

that

gate

input

defines

is True,

else

being

that

the

at an unknown

signal

at the

drain

it is Nil.

=

t.

d t

= ((g

t

=laa)\/(g

t

=1at)\/

(g

t

=lrr)\/(g

t

=laf)\/

(g

t

=lrf)k/(g

t

=lff))

=> stl Nil

The

inverter

predicate

strength

and

for a True

output,

The

define

Unknown

fourth

the

and fifth

INV

ls

0s

value

arguments input

Xs

five

possible

second

output

is the {nverter

has

the

arguments.

first

three

output

STATES.

for a False

output,

and the third

is derived

from

are signal

functions

and the

The

inverter

fifth

the

str?ngest

True

of type

arguments

The first the

are

is the Unknown

and

False

hum to type

of type

output

STATES

state

output.

strengths.

The

The

fourth

strength.

is the output.

(in,out)

! t. out

t

t

=laa)

\ICin

t =i_)\I

(in

t

=lrr)

\/(in

t =laf)\l

(in

t

=lrf)

\/(in

t =1_z))

\/(in

=(((in

((in

t

=Can)

t

=O_r)\/

(in

t

=9rr) \/(in

t

=0a_)\/

(in

t

=Orf) \/(in

t

=0f_))

=> os

I

=> I,

I

x, ) 6.2

JOIN

The

JOIN

combining to the

performs

circuit

sequential

in a time the

predicate

delay

strength

two

operations.

outputs

by applying

behavior

of a charge

when

of the

the

node

driving

the

delay

values

diagram.

All

for

bands.

lower

times

the

for individual

STATES within For

diagram

cases

can

demonstration

cell

transistor

is turned

on,

the

is defined

to be

the

zero.

right

have

level.

signal

operation

delay

behavior

value

of

is related

of a node

The

from

the

at the

them

into

same

delay

the

to model

as having

node

When

second

capacitance

sequential

segregating

band

is modeled storage

resulting

time

may

result

increases

is modeled

as

as having

on the strength of the join function result. [5,7]. strength of STATES and can be used to abstract

it is desired

be segregated

The delay

a common

The

The signal

This

STATES by where

the

function.

node.

to a new

decreases.

a variable delay, whose length is based The Hasse diagram shows the relative the

j oin

storage

is driven

signal

It determines

left

horizontal and

different

bands

the

delays

delay

on

the

is longer

for rise

and

fall

also. two

join

pass-transistor

possible is driven

delays. by

is turned

an

When active

off,

the

the

strength storage

passand node

3rd

NASA

Symposium

is driven

by the

on VLSI

resistive

Design

strength

1991

of the

10.2.9

feed-back

inverter

and

the

delay

is defined

to be

output

strength

of that

One.

JOIN

(s',s'_,s:num->strength)

' t.

let

sig = join

((Sig

=

(s _ t)

0aa)

\/

(sig

= laa)

V

(sig

=

\/

Xaa)

= (s'' t) in

(sig = Xar) \/ (sig

6.3

=

The

A BOLT

Xra))

=>

t

(s

(t+l)

Structural

description

MODULE

(s

Q .CELL

=

sig)

= sig)

Description

of the

cell is:

G D;

BEGIN N1

.NTRAN

G D;

Q

.INVR

NI;

NI

.INVR

Q

(STR='RR');

END; The

STR= ' 1_'

inverter

parameter

as resistive.

structural

specification

cell_IMP

(d,g,q)

? nl

nl'

in the

The

second

default

of the

(nl,q)

INV Irr

0rr Xrr

(q,nl'')

Behavioral gate

of the

q, follows

as the inverse

The

behavioral

HOL

the

is writing

the

invocation

is active.

The

HOL

/\ /\ /\

(nl',nl'',nl)

The the

first

nl'':num->strength 0aa Xaa

When

defines

for the

=

INV laa

6.4

used

cell is:

NTRAN (g,d,nl')

JOIN

INVR invocation

value

Description

pass-transistor

is True

of d. When description

is:

the

gate

cell

is False

the

the input

cell is storing

and the the previous

output, data.

10.2.!0

cell_SPEC

(d,_,q)

(g t)

=> (q t = "d t) (q

6.5

The

Because

=

(t+l)

Cell

the

-

q t)

Verification

operation

of the

cell requires

that

the

output

the resistive strength output of INV2 and the pass-transistor validity condition that the signal applied to input d must condition

is required

Valid!

for proper

circuit

operation

and

of the

pass-transistor

dominate

is not an amplifier: there is a be stronger than resistive. This

is not

simply_

Veri_c_at_o_n _tif_Ct.

(d)

! t. (d

t

=

laa

\/

)

(d t

= 0aa)

Because thebehaver oftheceUis there

is a validity

condition

yields

consider

only

Valid2 ! t.

(g)

=

(g t

=

laa)

(g

t

(g (g

a 12 way

for the case

two

cases

\/

(g

t

=

_ !af)

\/

(g

t

t

=

0aa)

\/

(g

t

"

Oaf)

\/

(g

The

the

condition

verification

validity

1- (Valid!

The BOLT !.

theory

cult,

steps but

proof,

but

and

\/

(g

t

= lff)

\/

t

,,

Oar)

\/

(g

t

=

0rr)

\/

t

=

0rf)

\1

(g

t

=

Off)

cell

entails

proving

the

behavioral

imply

irr)

is easily

reduced

state.

This

to needing

to

that

\/

the

STATES_ABS

cell

specification.

(g) /\ cell_IMP(d,g,q)) o d,

nas-at-the gate,

or False

storing.

= lrf)

lattices

Future

presented

steps

structural The

description

theorem

proven

and is:

==>

o g,STATES_ABS

o q)

a formal

semantics

BOLT's

do not include

necessary

task.

in this

paper

is an important

first

step

in linking

include:

Developing and validating a set ponents in the NOVA library.

3. Embedding These

in the

a True

Work

HOL.

2. Writing

either

=

logically

of signal

and

it be

(g t

(d) /\ Valid2

Future

that

\/

lar)

celI_SPEC(STATES_ABS

7

analysis

of writing

of the

conditions

forAo-o-lean va- e-

gate

formal work

of HOL theories

corresponding

to the

primitive

com-

to HOL,

a diffi-

for BOLT. se__m_antics in HOL. on translating

NOVA

behavioral

models

3rd NASA

8

Symposium

on VLSI

Design

1991

10.2.11

Conclusion

The

first

step

translation ory

has

based

been on

joining The

integration

HDL

approach.

cell.

combining

signal

The

lattice

different

work

values

is necessary

with

suitable

for

presented

indeterminate

the

value

for

environment.

verification

provides

the-

algorithm

logic

the

is the

logic

representation

previous

a verification

quickly

tool

A verification

signal

through

also

a verification

logic.

because

is demonstrated

diagram

valued

tools

verification

an indeterministic

is not

approach

design

the

about

This

of the lattice

VLSI into

for reasoning

indeterministic suitability

of CAD

representations

presented

a lattice

memory

9

in the

of the

of a static

to users

the

result

of

signals.

Acknowledgements

This

research

was

supported

by NASA

under

Space

Engineering

Research

grant

NAGW-

1406.

References [1] Birkhoff,

G., £attice

[2] Bryant,

R. E.,

Transactions [3] Cameron, for

[4] CamiUeri, Order

No.

Birtwistle Synthesis, No.

pp.

A.,

Gordon,

115,

[6] Gordon,

Kluwer

M. J. C.,

Birtwistle

and

Synthesis,

Kluwer

103,

University

[7] Hayes, ceedings

J. P., of the

and

editor,

Systems,"

IEEE

Logic

State

Requirements

" 1987

IEEE

International

Sz Processors,

IEEE

Publishers,

Computer

Switching Vol.

pp.

Generating

70, No.

pp.

Also

Report

Technical 1986.

Design

Specification,

293-321,

1988.

Also

Technical

August,

System

for Higher-Order

73-128,

Laboratory, with

10, pp.1140-1151,

Also

August,

Applications October

in

G. and

Report

1987.

Specification, 1988.

Style,"

Verification,

Laboratory,

VLSI

Higher Correct

Circuit

VLSI

editors,

Theory

1987.

Using

to Guaranteed

September

Integrated

Computer

Computer

43-67,

Laboratory,

editors,

Publishers,

Verification

Descriptions

pp.

of An

Subrahmanyam,

of Cambridge

IEEE,

1984.

"Hardware

HDL

Computer

A Proof

Academic

T.,

From

Validation

"HOL:

"A Unified

Digital

Simulators,

Publishers,

of Cambridge

P. A.

for MOS February

in Computers

Melham,

Subrahmanyam,

Academic

University

1948.

Minimum

Logic

VLSI

Scientific

"Formal

"Calculating

MOS

of Cambridge

P. A.

Simulator

pp.160-177,

Society,

1987.

M.

Elsevier

I. S., and

J. C.,

in D. Borrione,

Designs,

and

C-33,

Design:

672-675,

91, University

[5] Dhingra,

Shovic,

on Computer

Logic,"

Circuit

Vol.

Multi-Value

Press,

Mathematical

Model

Computers,

K. B. and

Conference

American

"A Switch-Level on

Multi-Strength

Society

Theory,

Logic,"

in G.

Verification,

and

Technical

Report

No.

1987. to VLSI 1982.

Design,"

Pro-

!0.2,12

[8] Melham, a_d

T. F.,

"Abstraction

Mechanisms

P, A- Subrahmanyam,

K1ywer yersity [9] Melham, Technical

Academic

Publishers,

of Cambridge T.

F.,

Report

editors,

No.

[11]

U l!man,

J. D.,

Laboratory,

Recursive

Types

135, University

[I0] Miles, L', Prins, P:, Camer0n, Simulator," 2nd NASA

VLSI

pp. 267-291,

Computer

"Using

SERC

Computational

for Hardw_e

Verification,"

Specification, 1988.

Also

May,

Verification, Technical

About Computer

K., and Shovic, J., "NOVA: Symposium Aspect_

on VLS!

o.f VLSI,

and

Report

SyntheJi_,

No. !06,

Um-

1987.

to Re_son

of Cambridge

in G. ]3irtwistle

Hardware L,_boratory, A New

Verification," May,

1988.

Multi'Level Logic

Design, pp. 4.1.1-4.1.13,1990.

Computer

Science

Press,

1984.

3nd

NASA

SERC

Symposium

on VLSI

Design

1991

10.3.1

Formal Verification State Machines M. Alahmad NASA

Space

and

Research

System

University

- A

invariant logical tion

formal

of any an

implement

the

ification

and

state

proving

circuit

structure

With

the

method the

advancement correctness

in use,

desired

but,

recently,

that

a stated

behavioral

interest

description

of the

as stated.

This

machine.

The

behavioral

definition

circuit, paper

i.e.,

specification

grown

involves

that

a formal

is a logical

using

the

the

for new

Simulation

remains

formal

theorem-proving

is a logical structure

and

and

representation

forces state

machine.

that

the

ing

system

any

state

2 As

known

specification

implies

the

behavioral

as HOL

Hence,

the

VLSI

[1].

specification

architecture

is capable

The

a particular Invariant connected

shows, using

state

by

Arand

analysis,

a theorem

prov-

of implementing

machine.

The described

_higher logic

structural

it to behave

Using

verification

The

structural

machine.

state

machine.

to verify

of a general

of the

built

of the

to show

of the

verification

of a state

dominant

techniques

circuit

structure

of en-

analysis

consequence of the

specification behavior

logical

on the Sequence components are

operation

that

the

description based clearly specifies how

the

in HOL_

methods

design in VLSI technology, a structural chitecture is described. The structure to achieve

verand/or

analytically

need

in using

of a circuit

describes

to

future

is done

shows

the

prominent.

has

proving

presents

specification

for

machines

machine

verification

technology,

more

correctness of digital systems. Formal verification of hardware

state

specificatechnology

a tool

dedicated

a

behavior.

circuit

is becoming

the

a sequence represents

VLSI

becomes using

of the

on

structural

using

specification

HOL_

of integrated

The

developed

verification

the

based description

machine.

machines

Using

has

Introduction

design

The

system.

1

suring

This

machines

behavioral

state

of state

technologies.

a theorem

state

architecture

machine.

83843

The

synchronous

specification

alternative

of VLSI

adoptive

Design

Idaho

is presented.

description represents

the

specification

architecture

Center

of Idaho

Moscow, Abstract

P. Windley

Engineering

for VLSI

of

order

in which

HOL by

System

Birtwistle

logic')

and Subrahmanyam

is designed

problems

to facilitate

can be expressed

[3], the the

interactive

is interfaced

HOL

system

generation

to a programndng

('HOL'

standing

of formal language

for

proofs. in which

A

10.3.2

proof procedures and strategies can be encoded.

The combination

enables deduction in

logic (in the sense of chains of pfimitiveinference steps) to be produced programming The

constructs

logic

axioms

can

part

of HOL

be introduced

language of HOL only way

at a higher

of abs_iacthess.

is conventional by the

is ML

level

user,

by invocation of

hlgher-order

and

organized

logic.

New

in logic

types,

theories.

(for 'recta-language').The type disciplineof ML

to create theorems in the object logic is by performing

constants

The

and

programming

ensures that the

proofs; theorems

have

the ML type thin, objects of which can only be constructed by the application of interface rules to other theorems or axioms.

3

Sequential

Circuits

Sequential circuits whether

or not

operation

are categorized the

behavior

of synchronous

synchronizing

pulse

Sequential tables).

signal

of the

called are

table

as either

has

a column

corresponding

to

represents

the

produced

I shows

a flow

flow

table

assignment

Karnaugh

encoding

from

SISM

the

techniques. the

flow

states

the

next

input.

circuit

state

state

of the

equations

We

can

also

derive

table

with the

derived an

and

from

equation

qi and

the that

state

Once

variables assignment the

architecture has been developed

trol inputs 2",without a knowledge

[2],that enables the designer to

With the $iSM

(SISM)

realization,any flow table can be implemented

configuration. That is given _0,and I, a hardware any state machine that has a maximum

states.

Architecture

And

of con-

about the sequence to be incorporated. This adaptive

architecture is called a Sequence Invariant State Machine

3.2

output

table.

design any sequential circuitbased on the width of the machine w, and the number

can implement

using

Overview

adaptive hardware

hardware

the

A state

assignment

describes

I,_

ql. Table

state

entries

and

column

inputs.

internal state

(flow

machine

is in state

three

the

bya

tables

is performed.

next

The

..... of the

in row

assignment

and

_

machine

six-states

flow are

the

of times.

or state

state

entry

Upon

is controlled

_

diagrams

internal

a state

assignment

paper)

a cloc_k.

The

depending

instants

of this

when

with

circuit,

discrete

by state

if Im is applied

of the

2 shows

topic

to every

possible

a given

at

puls e or simply

corresponding

arbitrary

for

(the

represented

every

for an

Table

1. Finally, map

behavior

An

table

is the

for Table

state

is constructed

(Y_,Y2, .... ,y,,).

3.1

next

a clock

or asynchronous,

is clocked

circuits

usually

a row

synchronous

circuit

Sequenilal

machines

A flow

Overview

Operation

design. without a change in the

circuitis easilyderived, that

of 2-control inputs, and 2`0internal

3nd

NASA

SERC

Symposium

on VLSI

Design

I1

Table yl 0

y2 0

10.3.3

12

I3

A

C, 1]B,I

A, 0

B

D, 0

C, 1

B, 0

C

E, 0

D, 0

C, 0

D

F, 1

E,I

D, 1

E

A, 0

F, 0

E, 1

F

B, 0

A,I

1: General

'_

6-states,

I

3-input

flow

I,

y3 0

A

0

1

table.

I_

13

0, 1

0

0

1

1

0

0

0

1

0

1

0

0

10

0

0

0

1

B

0

1

1,0

0

0

1

0

C

1

0

0,0

0

1

1 0

0

1

00

0

1

1

D

1

0

I,I

1

0

0

1

0

1

1

1

1

0

0

E

0

0

0, 0

1

0

1 0

1

0

0

1

0

0 1

1

0

1

1 0

1

0

1

F

0

0

1,0

0

1

1

0

G

0

0

0, 0

0

0

0 0

0

0

0

1

1

1

H

0

0

0, 0

0

0

0 0

0

0

0, 0

Table

Figure 1 shows one of the next

1991

2: State

Assignment

a general SISM architecture, state variables in Table 2.

this

for Table

architecture

I

can

be used

to implement

Y

i

Destination

1.

]

All Next States

Input Codes State

architecture

• The

contains

destination

assignment and

state

table

state

variable

destination

state

and

variables

constants, could

that

1: General

the

following

codes

are

by inspection. y_ are the codes

(yl;y2;y3)

For

for state

SISM

B are

ones the

Architecture.

from

example,

state

respectively. into

Yi

components:

derived

next

is, presenting

be programmed

Next Logic State

...._-'-][

Figure

The

yi

I

Switch Matrix

i

bits

and

the

next

zeros

way

with under

input

various

entries

of the memory

in the

state

codes

state

B. Therefore,

control

to implement

at the

using

state

destination

Yi associated

(000,110,101) One

structure

the

for state

inputs

those devices

B the

(/1; 12; I3)

codes

structure.

state

is to use Also,

[3].

they

10.3.4

* The

input

state

switch

entries

• The next the

state

state

• The

present will

4

of the

next

state

assume

at the

The previous

control

consists flow

of an independent

is a D-FF

that select

next

the

that

that

path

preserves

the

is as follows.

circuit

the

clock

logic

produces

all the

possible

next

input. for each

of the present

states

in

table.

architecture

states

variables

Formal

section cation

logic

element

The operation

is combinational

current

assignment

storage

of potential

matrix

for each

The current

can assume

exact

next

present

(input

state

(row

state. control

column

in the

iiow

input

in the table)

selects

the set

flow table). that

the

The circuit

pulse.

Specification section

presentecl

presents the is introduced

a_description

of the S_IVI

formal specii_cation of the first and then a structural W

architecture

SISM architecture. implementation

C

and operation.

The behavioral is described.

This specifi-

CS(T)

DATA

CS(T+I) SM DEVICE

T CLR Figure

4.1

The Behavioral

A general

behavioral

icate

relates

that

a general by

state

the

variables responding

input

signals

data

and

and

state

of all state outputs

and

device. cir, ld;

machine

device

Specification

inputs

5ism-spec,

w, g, data,

2: General

description

machine

a predicate

LD

The

that and

behavior

is true the

output

signals

as explained

below.

machines

and

only

state of the

can be specified

defines

the

of the

state

when

the

variable device.

state

machine combination

cs is one The

by defining

transition.

that

variables

device

can

of the could

a pred_

Figure

2 shows

be specified values

occur

are references

of the

on the

cor-

to actual

3nd NASA

SERC

Symposium

'w', "(:num)". This represents

the

on

width

VLSI

Design

of the state

1991

10.3.5

machine,

i.e.,

the number

of next

state

vari-

ables. 'g', "(: time --4 hum)". This is the control input to time. from

That

zero

to the

is at time

to I. Where

state

(t),

machine.

the

I is the

input

It is represented

(g)

maximum

is the

of the •

associated next

'clr',"(:

with

state

time

the

input

of control

'data', "(: hum ---+ hum -_ hum ---+ boot)". This is the destination state codes for the entire function

control

number

as function

state

of the

state

machine

will forces

the

output

values

is a number

inputs.

machine.

width

which

associated

and

It is represented the

llst

of data

as a for each

variables.

_

bool)".

This

signal

when

enabled

'ld', This

"(: time ---* bool)". signal when enabled

will load

the

input

data

to be cleared

to the

D-ff

to low.

and

present

it to the

output. 'cs', This

"(: time --* num ---* boot)". is the current state value. It is represented

is at time The

overall

sism--spec l-de!

(t)

this

value

behavior

will enable

of the

state

one

as function

path

machine

from

is given

the

associated

input

by the

to the

following

to time.

That

output. logic

term:

=

sisn_spec

v

g

data

elr Id (es :num-->num-->bool)

:

es (t+l) : (¢1r t -_

(V t:num,

ld

t

-_

data

(g

t)

ZEROS ,,[ (val

.

(cs

t))

I

cs t))"

The

predicates

to the time

way (t+l)

sism-spec

the

state

The

An

implementation

sented.

machine

is a function

4.2

asserts works

of the

Structural

Using

value

the

relationship

in practice. of the

between

That

data

is, the

input

and

those

next the

values

state

of the

current

state

corresponds machine at time

at (t).

Specification

of state tools

that

machines

available

based

in HOL

the

on the

sequence

structure

of the

invariant SISM

architecture can

be

is pre-

described

by

specifying high level descriptions of the major pieces them so that they correspond to the actual structure.

of the SISM device and combining The structure of the SISM can be

represented

as follows:

by a predicate

sism-imp

with

a definition

10.3.6

(sisa_imp= w g data

sism_imp

The

predicate

clx

ldcs

=

defines

sism-±mp-rec

fiued recurslvely on its width is defined as follows:

(sism_imp_rec

(sism_inrp_re¢

the

indicating

the

clr

idcs)"

circuit.

The

of the

circuit.

w w g data

structure iterative

of the structure

predicate The

is depredicate

=

"(sism_imp_rec

0 w g data

clr

ldcs

=

block clr

0

w g

data

ldcs)

A (sism_$mp_rec

(n+l)

w g data

((sisaimprec

n

(block

(n+l)

w g

w g

clr

data

data

ldcs clr

clr

=

ldcs)

A

ldcs

)))"

The predicate block gives the structure of a single by conjoln_ng t_he predicates that speedy the behaviors connective

(A)

following

and

logic

block

=

Fd,!

block (3 outl

using

term

id

existential

describes

w out2.

g

data

In this

definition

clr

(sel

id

(mux

v

values those

the

using

which

the

which

satisfy

from next.

which

The

Selector

The

predicates

w g

data

outl out2

two

module

outl

cs

out2

ld

clr

defines

id

w g data

V (t:time) (line

Suggest Documents