A KNOWLEDGE BASED DESIGN SYSTEM FOR DIGITAL ELECTRONICS* Milton R. Grinberg

advertisement
A KNOWLEDGE BASED DESIGN SYSTEM FOR DIGITAL ELECTRONICS*
Milton R. Grinberg
Department of Computer Science
University of Maryland
College Park, Maryland 20742
1.
Overview v----p
and Goals of the SADD System
the goal of a human ex e;ia;;
such as "build a digitsP
display interface into a
This is a problem solving
activity in which the expert's general purpose
roblem solving abilities interact with his rich
R nowledge of the digital world. By translatin the
ined
initial ideas through successively more re!!
"sketches", the human expert gradually arrives at a
chip-level digital schematic that realizes the
initial goals, and which may have bugs that will
only be discovered after the circuit has been
simulated or built and tested.
The Semi-Automatic Digital Designer (SADD) is an
experimental interactive knowledge-based design
s stem, whose domain of expertise is digital
eII
ectronics. The SADD project has two goals.
First, I want to provide an intermediate digital
design problem solver for which a human expert can
interactively provide the high-level functional
.
descriptions-of-a circuit and which can take
high-level circuit descri;tion and refine it in?:
ciycuit schematic that performs the required task.
Second, I am ;EaEyptmg to discover and express in
cornuter
that_.knowledge that makesT;F;
guman iii
esig;t; an expert in.digital desi n.
*
includes
eneric
information Kor
each
hi~h-le~~l d;g,f;zdsfun;;;c!;d(e.g.,
counter, clock)
f
transform these
functional descriptions into r%izable
circuits.
As a first case study in desi n, I adopted a
relative1 sophisticated TV video % isplay circuit
e Screensplitter. This is a real circuit
called t4:
of moderate overall complexity.
2. -Digital Design
How does a digital desi ner go about the task of
designing a circuit? The % esigner generally starts
with a well-defined goal for a circuit with only an
ill-defined solution for accomplis$;ng that goal.
Using his design experience,
designer can
pinpoint some of the required and hence pivotal
components needed in the circuit. The circuit is
slowly sketched around these pivotal components.
The
sketching process allows the designer to
specify where the inputs come from and where the
outputs
go.
The designer of:;: makes notes
concerning characteristics of
components.
I$f;;;gthis sketch phase, the expert discovers that
components are needed and adds them to the
design. Eventually the designer starts to refine
each component by selecting and interconnecting
chips to implement the component.
A function performs some desi nated digital task.
I have concentrated on nine 5ifferent functions
(i.e., counter, shifter, memory, combinational
divider, selector, and clockj
d in the Screensplitter. These are
components that a designer uses in the
A connection is an information path
It identifies where
between- two
functions.
information flows and when it is allowed to flow.
3.
SADD Organization
There are three distinct design
phases
in
In the specification acquistion phase, the user
describes the functionatsstructureoffEk;e;ircuit
in English.
phase,
are
During
.
introduced relevant information about the frames
is filled in, and the interrelationship among the
frames established. From this description, SADD
builds a model of the circuit, expressed as a
semantic net.
component is selected using the conceptual function
&zracteristics (which may-have to be deduced from
characteristics provided by the designer and
the functions relationship to the other functions
in the model).
the circuit schematic is
implemented using '%:
selected
strategy and
conceptual function description.
In the circuit simulation phase, the correctness
of the circuit is determined by simulating the
circuit on a conceptual simulator. If the designed
circuit proves not to fulfill the goal of the
desi ner during the simulation phase, it can be
modi3.led and redesigned.
3.1.
Screensplitter Circuit
In order to develop SADD, the Screensplitter was
chosen as a benchmark. Fig. 1 illustrates one of
DCCBR
DM ADDRESS
DCCBR
LOAD
READ
What are the "primitives" that a designer uses?
At the im leme$afion*(i.$., final circui;idlevel
$h;;; a;zdtRree prim+tives :
a chip
its
(2)(l)
wire
and (3) a
si nal. The"%!;tisPin?&rction those &tputs
are
def*
ined by its *current state ;~~,,a;;,,current
A wire
physical
i?!iE:siefininganizleFtrica1 equivalence. A ST:: f
is the electrical information present on a wire.
STCOL
At the sketch ad level there are two additional
"primitives": (17 a function and (2) a connection.
*This research is sup orted b the Office of Naval
Research under Grant 800014-765-0477.
Fig. 1. Schematic for the DCC Counter
the
283
the
12
logical components (the Display Character
Counter) from the original Screensplitter circuit
the circuit schematic a verbal
schematic.
design scenerYii%s develoned that descsibes the
funcrional components, characteristics of these
functional components and the interconnections.
Fig. 2 shows the relevant portion of the input
(e) Make a connection between (DCCBR LOAD) and
(DCC COUNT) under the condition (AND (HIGH
SLC DS~) (RISING UNKNOWN HBLANK)).
1. THE DISPLAY CHARACTER COUNTER (DCC)
.
_ COUNTS FROM
0 TO 3519.
WHEN THE COUNT OF THE SLC EQUALS 4, THE COUNT OF
THE DCC CAPTURED-IN THE LOAD OF THE DCC-BASE
REGISTER
(DCCBR) WHEN THE HORIZONTAL BLANK
(HBLANK) BEGINS. _
3. THE DCC CAPTURED-FROM THE DCC-BASE REGISTER
(DCCBR) WHEN HORIZONTAL BLANK (HBLANK) BEGINS.
4. EACH-TIME THE COUNT OF THE PIXEL COUNTER (PC)
EQUALS 5 ENDS, THE DCC INCREMENTS.
5. THE COUNT OF THE DCC CAPTURED-IN THE ADDRESS OF
THE DISPLAY MEMORY (DM).
3.
THE DCC CAPTURED-FROM THE DCC-BASE REGISTER
DCCBR WHEN HORIZONTAL BLANK (HBLANK) BEGINS.
[e) EPIC; cpon;;ti;;de:etween (DCC LOAD) and
the condition (RISING
UNKNOWN HBLANK).
4.
EACH-TIME THE COUNT OF THE PIXEL COUNTER (PC)
. _
EQUALS 5 ENDS, THE DCC INCREMENTS.
(a) Introduce COUNTER function
named
PIXEL
COUNTER (PC).
(e) Make a connection between (DCC COUNT-UP) and
T under the condition (FALLING PC DSS).
5.
THE COUNT OF THE DCC CAPTURED-IN THE ADDRESS OF
THE DISPLAY MEMORY (DM).
(a)
DISPLAY
. ~ Introduce MEMORY function named
MEMORY (DM).
(e) Make a connection between (DM ADDRESS) and
(DCC COUNT).
2.
Fig. 2. Scenerio for the DCC Counter
The model of the circuit after just these five
sentences are processed is shown in Fig. 3. After
description for the Display Character Counter. The
complete scenerio is 41 sentences.
3.2.
Parser
A phrase-keyword parser
using
procedurally
encoded case-frameworks for the verbs was develoned
to interpret the input. Phrase-keyword means that
to build up one of
the parser is $way;r;;z;ng
seven
that are common in the
digitalt$gE?gn worPd. It uz;; the keyworcl;tot::::
identify the beginnings
endings
phrases.
(II
After a sentence has been Darsed into Dhrases.
the procedure associated w!ith the verb' in the
This
processing
first
sentence is applied.
verifies
that
the
sentence
is semantically
acceptable (that the phrase types are legitimate
for the verb
Then those circuit objects not
currently in th g circuit model are introduced into
the model, and the verb's manipulations of the
model are processed.
The parser uses 5 directives to manipulate the
model. These directives either add new information
to the model or interrelate existing parts of the
model. The directives are:
-
HBLANK
Fig. 3. State of the Model - (1, 2, 3, 4, and 5)
this description, the DCC has been completely
specified and its implementation is discussed in
the next section.
(a>Specify a function - a function (e.g., clock,
counter) is introduced into the model.
n a value ~0 a function's.aspect -. one
(b) Assi
o,fvt,l;efunction
i?i
s characteristics 1s assigned
3.4.
i conceptual si nal - a global name
cc>Define
assumed to be a port oB either a known
Function
Each function type has an associated frame
structure that provides the prototypical knowledge
about that function. There are two cornonents to
the function frame: the ASPECT and the 8ONPT. The
ASPECT identifies the im ortant characteristics of
the function which mig Rt be mentioned by the user
in the input scenerio. The CONPT identifies the
ports
(the input and output lines) that are
associated with the function. The width of the
CONPT is also identified aseeither 1 or the value
of one of the ASPECTS of
function. When a
particoulfar
function is introduced into the model, a
the protot pe is copied intFhkhe database
co Y
x instantiated witK the name of
function.
Eg.
4 is the instantiation of the DCC counter as
represented in the model after sentences 1, 2, 3,
4, and 5 have been processed. The asterisked items
are those that were modified during the sentence
processing.
is
or
unknown function.
the source of a conceptual signal (d) Define
the source function of a global signal is
identified.
a connection - identify an information
(e>Make
path between two functions and a condition
gating the information flow.
3.3.
Example - Specification Acquisition
-_
To illustrate the specification acquistion
hase, the five sentences shown above for the
g*isplay Character Counter are reduced to their
The effects for each
effects
on the model.
sentence are preceded by a letter which references
the corresponding directive type from the above
list of directives.
1. THE DISPLAY CHARACTER COUNTER (DCC)
.
. COUNTS FROM
The ex ert has a conce tual view
of
the
component Eeinerdescribed. TK e function frame with
the- associated filled-;;easpect val;:; re,pL;ese:;,"
that conceptual view
exnert
I
component. -
?aT"Iz?k%uce a COUNTER function named DISPLAY
CHARACTER COUNTER (DCC).
(b) Assi n a value to the Aspect COUNT-SEQUENCE
of (b 3519).
4.
Designing ---_
a Circuit for a Function
There
are
two
phases
involved
'
the
implementation of a function. First a method for
implementing the function must be selected. Then
the selected method must be processed to produce
the chip-level design.
2. WHEN THE COUNT OF THE SLC EOUALS 4. THE COUNT OF
THE DCC CAPTURED-IN THE LOAD OF zTHE DCC-BASE
REGISTER
(DCCBR) WHEN THE HORIZONTAL BLANK
HBLANK) BEGINS.
tc) Define a conceptual signal named HORIZONTAL
?IANK (HBLANK).
284
a list of ports that can be explicitly available if
The Procedure is the
the method is selected.
build
the circuit.
It is
used
to
recipe
re resented procedurally in LISP code and is only
re!i
erenced by name in Fig. 5.
(COMPONENT DCC SADD COUNTER)
‘TYPE DCC DEVICE (DISPLAY CHARACTER COUNTER))
* DESC-VAL WIDTH DCC 10-2)
* DESC-VAL COUNT-SE UENCE DCC (0 3519))
ASPECT WIDTH DCC 8 IL)
ASPECT OUTPUT-CODING DCC NIL)
ASPECT COUNT-SEQUENCE DCC NIL)
ASPECT COUNT-DIRECTION DCC NIL)
ASPECT DISTINGUISHED-STATES DCC NIL)
ASPECT LOADABLE DCC NIL)
ASPECT RESETABLE DCC NIL
CONPT LOAD DCC WIDTH Gl 40))
CONPT READ DCC WIDTH G265 G171))
CONPT COUNT-UP DCC 1 1
CONPT COUNT-DOWN DCC 1 NIL
CONPT LOAD-LINE DCC 1 NIL)
CONPT CARRY DCC 1 NIL)
Each method that can be used to implement a
function is processed in the selection ph;s;liz
checking the Prerequisites and Eliminators.
of all acceptable methods is compiled during the
If there is only one acceptable method
selection.
it is used to implement the function. If more than
one method is acceDtable then the Traits of all
candidates are used to find the most appropriate
method. If this does not narrow the list to a
single method then one
randomly chosen or the
this examnle for the
user chooses the method.
assuming
there
are
I
two
DCC
that
implementation methods from Fig. 5 "ZZilk%e
im lement a counter, the BIN74161 method is tlt$
on51
y acceptable method and is selected.
where
IO-2 = 12
G150 - (CONNECT (DCc Mom)
The procedure associated with the
selected
method is then run. This procedure consults the
function
and
the
frame associated with the
connections involving the function and from this
information constructs a real diiital circuit,
that
introducin
and
interconnecting- chips
collective7 y implement the function.
(DCCBR READ)
UNKNOWN HBLANK)
C COUNT-UP)(:P
1 t~~~~~~ t % CBR LOAD) (DCC'D,g;TpC DSS))
IGH COMB1 OUTPUT
G265 - (CONNECT (DM ADDRESS) (Dd! COUNT) T)
Fig. 4. DCC Counter Function - (1, 2, 3, 4, and 5)
4.1.
4.2.
Implemented Circuit
After the first two phases, there are three
levels of the DCC design. A:e:;e,e;oplevel there
is the DCC function and the
connections.
At the bottom level are the chins and wires used to
The -intermediate level
im lement
Drovidine.
inferfaces %,e other
Dee* two levels bv
interconnections between chip pins or wire'sand th:
connection points on the function. Hence the
hierarchy of the components is maintained and. if
necessary, any circuit fragment can be altered
without much effect on the rest of the circuit.
The im lementation for the DCC as designed b the
BIN7416P implementation method is illustratei in
Fig. 6.
Implementation Method
The first ste in the selection recess is to
deduce values For many of the ASPECTs associated
with the function and to verify that there are no
The
inconsistencies '
ASPECT
values
is
deductions made flZr t'k DCC are that it
loadable, resetable, has a binary out ut, and that
the count
K
set
of
direction
*
Te
implementation methods aiiocii!ld with the type of
function is then considered.
components:
An implementation method has 4
Prere uisites, Eliminators, Traits, and Procedure.
Fig. 2 illustrates two im lementation methods for a
counter, one based on a 7e 161 loadable counter and
the other on a 7493 counter. The Prerequisites are
DCCBR
DM ADDRESS
DCCBR
LOAD
READ
vcc
(STRATEGY BIN7493 COUNTER
(PREREQUISITES
COUNT-DIRECTION UP
IOUTPUT-CODING BIN)
(ELIMINATORS )
(LOADABLE YES)
(RESETABLE YES))
mms
IPROCEDURE $BIN7493)
>
Fig. 6. DCC Implementation
5.
Conclusion
SADD is a general purpose design system based on
the ideas of structured, modular circuit design via
an interactive user interface. The current 41
sentences in the innut scenerio have been run
successfully thro h the parser creating a database
of approximately 6
3 0 entries. The design of the 3
counters in the Screensplitter are czmpleted and
circuits functional1 equivalent to those
used in the ScreenspPitter have been designed.
ac tuaktz
design of a symbolic simulator is currently in
progress. This simulator will allow the desi ner
to test and debug the circuits and will campf ete
the design
envisioned for SADD.
When
rovide a generaioFurpose and
completed, S&i?%?1
extensible knowledge-Eased system
digital
design.
Fig. 5. Example Counter Implementation Methods
a list of ASPECTS and their values that must be
valid for the function in order to select the
method. In the BIN74161 im lementation.method, the
function being implemente8 must re ;i;e a bi~~;~
1s
output coding that only counts up.
9
true for the BIN7493 implementation method.
The Eliminators are a list of ASPECTS and their
values which if matched by the function under
im lementation, eliminate that method from being
sePected to implement the function.
The Traits are a list of ASPECTS and their
values that are true if the method is selected and
285
Download