throbber
MICO(\): A Knowledge Based SinglE!
`Board Computer Designe,r
`
`William p, Birmingham
`Daniel P. Siewiorek
`
`Department of Electrical
`and Computer Engineering
`Carnegie-Mellon
`University
`Pennsylvania 15213
`Pittsburgh,
`
`Abstract
`For some time there has been interest in automatically
`produced much of the pioneering work in transforming
`a high
`implementing designs described in a high level representation.
`level design description,
`at the Instruction
`Set Processor (ISP)
`This paper presents a workbench that allows a designer to
`level, through to physical realization
`in either integrated
`circuits
`or
`describe a single board computer at the hardware requirements
`boards [2]. While the M ICON project is not directly related to
`level and have a design produced automatically.
`CMU.DA, a co-operative
`relationship
`has been developed. An
`The designs
`produced by the system, M ICON, compare favorably to
`example of higher level design support is the SARA [3] system,
`commercial designs. In comparison to manual techniques,
`which is concerned with architectural aspects
`of system design.
`the
`design time has been drastically
`reduced; a series of three
`For the synthesis of hardware from high level descriptions,
`the
`commercial desi�Jnswas reproduced
`in a few hours. MICON lIses
`International Business
`Machines (IBM) 3081 project has
`knowledge based engineering approaches
`in its implementation
`generated some interesting
`tools and methodologies [10].
`and is written in the OPS 5 production system language.
`Examples of various knowledge engineering systems
`can be
`found in [5]. In addition,
`examples of work done at C-MU can be
`found in [7] [6]. A somewhat related project [11] selects from a
`1. !nt rodllction
`library of commercially
`available
`single board computers one that
`To help improve the efficiency
`of the designer, thete has
`most closely matches the requirements described by a user.
`been an effort to provide design methodoiogies
`that help to
`Projects underway at Rutgers [8] and MIT [1] are also concerned
`abstract away tedious details and to perform as m�ny ot the
`with the application
`of expert systems to design problems.
`mundane aspects of design as possible, The project dl�scrib�)d
`in
`However, these projects are primarily
`concerned with changing or
`this paper, MICON (Micro,
`processor gQ1.lfigurer),
`provides the
`diagnosing existing systems, not synthesizing
`new designs.
`designer with a wori(bench that takes a very high ievel design
`description,
`at the hardware requirements
`level, and produces a
`nefwork interconnection
`list.
`3. Task Domain
`There is little software support and few algorithms to help a
`The task domain for this project is the construction
`of single
`designer who wor\c;s at the hardware requirements level.
`board computers, Single board computers use micro·processors
`Apparently,
`traditional
`design automation approaches are not well
`as the primary computational
`engine. They also contain some
`suited for design at this level. Also, since designs are specified
`at a
`local memory, input/output
`(1/0) devices, and often an interface
`high level, the number of candidate designs can become very
`to a common bussing scheme. Since these computers must, by
`large, To overcome these problems, MICON has applied a
`definition,
`fit on a single board a premium is placed on board real
`know/edge based engineering approach to design.
`estate.
`Before developing MICON, a model of the task domain was
`There are a large number of different
`micro processors on
`derived. Based on this model, a knowledge based production
`the market. While the machines are similar in many respects, it
`system was written that duplicates
`many of the key aspects of the
`would be difficult
`to develop the expertise to design with each of
`model. Section 2 briefly presents some related work. Section
`them in a reasonable time period, For this reason, the "micro·
`3 discusses the model, while Section 4 presents its
`processor space" was pared down to a manageable size. Several
`implementation. An introduction
`to the production system
`criteria
`were used in evaluating
`the candidate micro· processors:
`paradigm and a rationale explaining why the system was
`implemented as a production system is given in Section 5. Section
`Availability
`of a local expert on the processor.
`For reasons discussed later (see Section 5), it
`6 compares MICON generated designs against commercial
`designs. Section 7 offers some concluding remarks.
`is critical
`that an expert designer familiar with
`the processor be available.
`Number of support chips in the processor family.
`The processor mllst have a family of
`established
`peripheral
`chips. The
`growth of
`micro-processor
`systems is closely linked
`to
`the availability
`and functionality
`of peripherals
`compatible with it. While it is true that most
`processors may lise peripherals
`outside of its
`family, it takes several glue chips to convert
`between different
`protocols;
`for a single board
`
`2. Related Work
`Much of the work done in this project is related to the parent
`project DErvI ETER which is concerned with aspects of design
`above the register transfer
`level [9]. The CMU-OA pr<?ject has
`.
`This work was funded ;n part by the SRC and by Siemens A,G. The views
`presented here are solely those of the au thor ana do not necl'-ssarily
`represent
`those of the funding agencies.
`
`© 1984 IEEE
`0738·100Xl84/0000/0565$1.00
`
`Paper 34.2
`565
`
`21st Design Automation Conference
`
`Page 1 of 7
`
`FORD 1106
`
`

`
`and their inter·rehtionships
`are
`subtasks
`The specific
`computer this should be avoided since the
`illustrated
`in Figure 1. The order shown in the diagram is very
`board space.
`extra chips consume limited
`in one step is built upon in later
`determined
`information
`important;
`of the processor.
`Usefulness
`used in memory
`the type of controller
`steps. For instance,
`used to determine
`the
`There are two features
`design
`device subsystem
`Oil tlie peripheral
`has an effect
`selection
`First is the
`of the processor.
`usefulness
`since both may share some parts.
`for a processor.
`existing
`amount of software
`4.1. Processor Design
`generally
`have
`families
`processor
`Established
`of M ICON is to allow novice designers
`to
`A requirement
`than new processor
`available
`more software
`It is assumed that the
`build single board computers.
`successfully
`would rank·
`processors
`so established
`families,
`but has a feel for
`processors,
`about specific
`novice knows nothing
`higher in this measure. Second, in order to
`Through a
`processors.
`used in describing
`some of the attributes
`of designs produced by
`the quality
`evaluate
`element are
`of the processing
`the requirements
`set of queries,
`is needed. To gain
`MICON, a set of metrics
`below does not
`The set of queries presented
`determined.
`for these metrics,
`a
`points of comparison
`criteria,
`other imaginable
`a closed set, there are several
`represent
`number of designs using the processors
`is
`may be added at a
`queries
`such as data path width. Additional
`of designs
`and variety
`The availability
`required.
`the queries
`to
`of this project,
`for the purposes
`later date; however,
`very important.
`is considered
`available
`If the user would like to use a
`adequate.
`follow are considered
`is based upon
`of single board computers
`The construction
`the automatic
`to circumvent
`it is possible
`processor,
`particular
`are well Imown
`The subsystems
`of subsystems.
`the integration
`by naming the processor.
`process
`selection
`units:
`to functional
`and cormspond
`are:
`The queries
`• processor
`
`• memory array and controller
`
`and controllers.
`devices
`• peripheral
`
`name.
`• Processor
`
`time. This is intended
`• Average instruction execution
`power.
`to be a rough measure of processing
`
`.. Cycle time.
`
`qualification,
`each
`By a predetermined
`• Application.
`stored in the
`applications
`has its potential
`processor
`data base as an attribute.
`
`cost and power
`• Cost and Power. The suggested
`of the processor.
`consumption
`
`chips to realize
`have developed
`manufacturers
`circuit
`Integrated
`single board
`Thus, the task of designing
`these functions.
`units
`needed functional
`as selecting
`can be pictured
`computers
`this appears simple it should
`them. Although
`and interconnecting
`as trivial.
`not be construed
`subtasks
`MICON is based on a set of tasks and associated
`units.
`The
`of the function
`to the construction
`which correspond
`two major tasks involve
`design (of a single board computer)
`and
`of a set of
`Each task is comprised
`analysis (of the design).
`subtas/<s,
`of the system
`later. The philosophy
`to be described
`In fact, the designer
`can
`must be answered.
`Not all the queries
`for each subsystem
`in
`requirements
`the user to specify
`requires
`answer none of them. If this is done, MICON assumes no
`turn and then have MICON implement that
`subsystem.
`The
`virtually
`at
`and selects a processor
`preferences
`processor
`gained through
`is based on knowledge
`design of each subsystem
`random.
`that preceded
`it.
`the design of the subsystem
`Weights are
`a weight is required.
`Along with each criterion,
`which
`the processor
`for choosing
`function
`used in an evaluation
`4. The Design Subtasks
`function
`The evaluation
`matches the requirements.
`most closely
`steps towards
`incremental
`may be considered
`The subtasks
`a processor
`for a
`since the method for choosing
`is essential
`of a task. For the design task, each of the subtasks
`the completion
`that a processor
`It is doubtful
`task is not well specified.
`particular
`For the
`at some time during the design process.
`must be activated
`matches the needs of the user. The
`will be found that exactly
`may be
`that only some of the subtasks
`task, it is possible
`analysis
`is qiven in Figure 2.
`evaluation function
`used.
`4.2. Memory Design
`of each subtask
`in
`required
`basic functions
`There are several
`the design task:
`The next step in the design task is memory specification
`and
`memory are RAM (static
`The three types of recognized
`selection.
`Specification:
`to enter requirements
`The user is requested
`and ROM (blown fuse). The user must specify
`the
`and dynamic)
`if the
`For example,
`subsystem.
`for a particular
`If the amount
`memory required.
`type and amount of addressable
`the memory array, it is
`user is designing
`range of the
`the addressing
`of memory specified exceeds
`the type of memory, the
`to specify
`necessary
`d
`that the amount of specifie
`user is notified
`processor, the
`arid so forth.
`amount required,
`memory should be changed. The power and area limit for the
`Selection:
`has been ascertained,
`memory array may also be specified.
`After the requirement
`parts are sought. If no part
`the required
`of the memory array is the
`The first step in the construction
`the closest
`matches the requirement,
`exactly
`For dynamic FlAM 16K, 64K. and
`of a memory chip.
`selection
`If there is no
`will be substituted.
`alternative
`RAM 1 Kx4, 4Kx1, and 16Kx1
`For static
`256K chips are available.
`the case for
`(frequently
`alternative
`For ROM 2Kx4, 4Kx4, and 8Kx8 chips are
`chips are available.
`the user is notified
`and
`dCNices)
`input/output
`ThH most dense chip that uses the least amount of area
`available.
`must change the requirement.
`was 20K of
`if the requirement
`will always be chosen. For example,
`dynamic RAM, a single row of 64K chips would be used, ralher
`Instantiation:
`they are instantiated
`Once parts are selected
`the single most
`than two rows of 16K. Real estate is considered
`into the design. This is done by creating
`even for an increase
`and is always �onserved,
`resource
`valuable
`copies of the devices from the data
`"logical"
`in the cost of some other factors.
`base and interconnecting
`them.
`
`Paper 34.2
`566
`
`Page 2 of 7
`
`FORD 1106
`
`

`
`Figu r� 1: Task and Subtask hierarchy in MICON
`
`
`
`For those devices that handle a large amount of data quickly, it is
`
`
`possible
`
`to connect a direct memory access (DMA) controller to
`them.
`After the appropriate device has been found in the data base,
`
`
`
`the user is requested to give the device an address. If a device
`
`address is not given, MICON will automatically select the address
`
`
`and reserve several words in memory for the device's control
`
`
`register locations. The amount of memory needed for control
`
`
`registers is stored as an attribute of the device in ttie data base. It
`
`
`
`is recommended that peripheral device addresses be placed at the
`
`
`top of RAM when no ROM is present. The peripheral devices
`
`should be placed just below ROM when it is present. M ICON will
`
`always select addresses in this fashion. An automatically
`
`
`
`generated address is displayed to the user.
`After all devices have been assigned an address, they are
`
`
`
`
`
`
`then assigned an interrupt priority (all the peripheral chips used
`
`
`
`have interrupt capability). If the user does not want to specify a
`
`
`priority for each device, then all are assumed to be equal. The
`
`
`
`peripherals are instantiated into the design by interconnecting the
`
`
`
`
`interrupt lines followed by the data, address, and control lines.
`
`
`
`the method of connecting Each processor has its own special
`
`
`interrupt lines. To handle each case, MICON invokes an interrupt
`
`
`model for each processor. The models are represented in the form
`
`
`
`of rules which describe in what manner the processor expects its
`
`
`
`
`interrupt structure to be built. As in previous subtasks, all the
`
`
`
`
`necessary glue chips are included without designer intervention.
`After the type of memory chip has been selected, M ICON
`
`
`
`
`This includes wait·state generators for slow chips, interrupt
`
`determines the array size. The chips are then logically
`
`prioritizers, and baud rate generators.
`
`
`interconnected. For example, the chip select lines are connected
`
`
`to the address decoder. The inclusion of any support chips,
`
`
`Once all the subtasks outlined above have been completed,
`a
`
`
`
`design exists that represents the system's best attempt to match
`
`
`usually in the form of memory controllers, occurs automatically
`
`
`
`the specifications. A list may be obtained that documents the
`
`
`without intervention of the designer. To accomplish this,
`
`templates are used (see Section 4.5).
`
`
`
`logical interconnections and a memory map of the addm�;ses for
`
`
`the memory and peripheral devices.
`The actual memory chip part number and manufacturer to be
`
`
`used in the design is selected from the data base after the
`f(e)=(user-specified-value/stored-value)
`
`
`
`controller has been determined. This order is mandatory because
`.. wei�ll1t
`
`
`the memory chip speed will be directly 'related to the speed of the
`Where:
`
`
`
`
`controller. For the initial design, the memory chips selected are
`user-specified value = value that the
`
`fast enough to ensure zero wait states for the processor.
`user supplies to a query.
`
`
`For ROM there are some special requirements. Since many
`stored-value = the processor's
`
`
`
`
`designers use a particular ROM chip, it is possible to specify a
`characteristic for a particular
`query. For example, the zao would
`
`specific part number. If the system does not know the part, the
`have 1.0 watt as its value for
`
`user is queried about the part to enhance the system data base.
`power consumption.
`
`
`For a designer who has no preference, the system will determine
`weight = the user specified importance of
`
`the correct chip in the same manner as used for RAM selection.
`that particular
`
`
`Additionally, the user must specify where to place the ROM in the
`user specified-value.
`
`
`
`
`address space. For the processors currently described in the data
`
`Figu re 2: Evaluation Function
`
`base it is recomnwnded that the ROM be placed at the top of
`4.4. Analysis Task
`
`
`memory: this is where the processors look for boot programs
`Analysis provides the user with the capability to verify part of
`
`
`
`
`
`
`during power· up and reset. It is possible to overlay ROM on RAM
`
`
`the design, or modify a portion of the design to bring it into closer
`so that no RAM space is lost. If the user does not have any idea
`
`
`
`agreement with the requirements. Modifications take the form of
`about where the ROM should be placed M ICON will locate it at
`
`
`part replacement. Chips which more closely match the
`
`the top of the address space.
`
`requirements of the user (e.g. with respect to cost and power
`4.3. Peripheral Device Design
`
`
`dissipation) may be substituted. If there is a need for a change in
`The speCification of peripheral devices is slightly more
`
`
`
`
`
`the structure of the design the current design should be saved,
`
`
`
`complicated than for the previously mentioned subsystems.
`
`and M ICON be invoked again with different design parameters.
`
`
`
`Peripherals are specified after memory so certain parts can be
`
`
`
`
`The two subtasks forming the analysis task are described below.
`
`
`shared between subsystems, Typically these parts are chip select
`
`
`logic and bus drivers. The user is required to give the type of
`
`
`
`The verification subtask enables the user to critically evaluate
`
`
`device needed. The choices consist of:
`
`
`what MICON has produced along three dimensions. These are:
`
`• timers
`
`cost:
`
`The cost of each component is given as well
`
`as the total cost of the system. The costs are
`
`
`based on estimates and act as a guideline in
`
`
`evaluating the relative costs of, different
`designs.
`
`Paper 34.2
`567
`
`
`
`• parallel input/output devices (PIO)
`
`
`
`
`
`
`
`
`
`• serial input/output devices (SIO).
`
`
`
`Page 3 of 7
`
`FORD 1106
`
`

`
`power:
`
`timing:
`
`• Memory path:
`processor
`driver/latch
`address
`-memory
`control
`decode/memory
`chip access -data driver.
`
`-driver
`path: processor
`• Peripheral
`-address decode -peripheral
`chip
`access -data driver.
`
`then the design will be
`part is slower,
`replacement
`of each component
`The power consumption
`inconsistent.
`and thetotal system power are calculated.
`that system
`is true, the user is notified
`If the precondition
`timing paths are known to the
`critical
`Several
`with the new part. To determine
`if
`may be degraded
`performance
`can verify the system
`system. The designer
`the access time of the new part is
`a design is inconsistent,
`critical
`has chosen parts that meet certain
`of the processor"
`The number
`with the requirements
`compared
`timi!!g paths by examing each path. The paths
`the delay of the
`by comparing
`of wait states needed is determined
`are :
`data ready time and bus cytle
`new part with the processor's
`the design is considered
`length. If no wait states are required,
`then the wait state
`If wait states are required,
`consistent.
`(if it had not been previously)
`and all
`is instantiated
`generator
`are made. The number of wait states
`connections
`necessary
`to the user .
`needed is reported
`above deals with
`to the method outlined
`The one exception
`is the
`used in dynarnic RAM designs
`dynamic RAM. The controller
`Intel 8207 which only allows chips with either 100 ns or 150 ns
`the range of change for dynamic RAM is
`access times. Therefore,
`for a read operation.
`The
`above are typical
`The paths listed
`limited.
`devices and memory stems
`made between peripheral
`distinction
`Memory
`devices.
`needed for peripheral
`control
`from the simpler
`to some form of
`in addition
`needs address decode logic,
`typically
`4.5. Data Base
`timing control.
`It holds
`part of the workbench.
`The data base is an interyal
`paths thClt e)(ist for each of
`parallel
`Since there are several
`and chip
`two key parts of the system: design templates
`for each and
`is perfor med
`a timing calculation
`the subsystems,
`below.
`base is discussed
`Each part of the data
`information.
`paths
`to the user. In the memory path above, the parallel
`reported
`about the chips used in the design are
`All the information
`the iAPX-186 as an example.
`Consider
`by slashes.
`are delineated
`of the production
`held in working memory: this is a vestige
`This chip has its data and address bus time multiplexed.
`The
`100 chips
`system (see Section 5). There are approximately
`After
`since it only lasts for one bus cycle.
`must be latched,
`address
`to be added. Not all
`base, with more expected
`in the data
`currently
`of the bus cycle, data is applied for the
`the address portion
`those chips
`For efficiency
`these chips are used in a single design.
`are available
`cycle. The control signals
`of the instruction
`duration
`can be
`Activation
`to the design are activated.
`essential
`cycle and they only need pass
`the entire instruction
`throughout
`in two ways. The first way keeps the attention
`of the
`accomplished
`a driver.
`through
`with the selected
`system focused on those chips associated
`to note that the timing subtask uses nominal
`It is important
`The second way forms a list of part instantiations
`used
`processor.
`and does not take into account delays in
`times for calculations
`design. MICON makes use of both ways; attention
`in the current
`Delays
`slew rates are also assumed.
`Instantaneous
`board lines.
`for glue chips.
`and list generation
`selection
`for template
`focusing
`since no routing
`calculated
`can not be accurately
`due to routing
`and are represented
`Three major chip types were identified
`occurs at a later time).
`to MICON (routing
`is available
`information
`Working
`type of working memory element.
`with their own specific
`task is replacement.
`The
`in the analysis
`The second subtask
`Each field
`of as Pascal records.
`can be thought
`memory elements
`allows the user to change the parts selected
`subtask
`replacement
`of the chip.
`an attribute
`in the working memory element represents
`but not all, parts ill the
`to change certain,
`by M ICON. It is possible
`The chip types and their attributes are:
`family,
`It would not make sense to change the processor
`design.
`change the bus
`since this would significantly
`for instance,
`of the design
`It is assumed that memory is the portion
`structure.
`to need redesign.
`most likely
`to change apart:
`is required
`information
`The following
`
`• memory chip element-name, manufacturer,
`cost,
`access-time, cycle­
`power dynamic,
`power-static,
`number of
`RAM, ROM, etc.),
`time, type (dynamic
`number of rows, number of pins, width,
`columns,
`flags.
`and several
`area, power supply required,
`
`part
`• the number of the current
`
`change (e.g. cost)
`of the part to
`• what attribute
`
`(e.g. less power).
`• the type of change requested
`
`• 110 chip element-name, function parallel
`address
`device, etc.), manufacturer,
`input/output
`with, number of
`compatible
`space needed, processors
`cost, power, access time.
`generated,
`interrupts
`chip elementclock cycle time, average
`• processor
`power, memory access
`time, name, cost,
`execution
`u"nit (byte, word), time for zero wait state data
`flags
`several
`available,
`
`the type of part is determined
`and an
`Based on this information,
`attempt is made to find a part that will match the new
`a series of candidates
`and
`MICON will "activate"
`requirements.
`each to the user until one is found or there are no more
`describe
`candidates.
`"activated"
`stored in
`I'vllCON has most of its design knowledge
`time by providing large
`save computational
`Templates
`templates.
`by the user for change, it
`Once a part has been accepted
`so 11 ICON does not have to re create
`the
`sections,
`pre-designed
`whether the timing of this part is consistent
`must be determined
`A precondition
`generic
`may be considered
`The templates
`basics of each design.
`is used to determine
`if
`with the rest of the design.
`for each processor.
`which are modified
`designs
`The precondition
`is:
`be violated.
`could possibly
`the consistency
`The major templates
`are used to describe
`the relationship
`than the replaced
`If a new part is as fast, or faster,
`between the processor,
`the board level bus, and the generation
`of
`that timing will be consistent.
`If the
`pmt it is concluded
`
`,.
`Each processor's descliption
`when it assumes datil
`telling
`has an attribute
`that both devices are active in
`Please note that the symbol "/" indicates
`will be ready in a zero wait '>tate machine cycle.
`parallel.
`
`Paper 34.2
`568
`
`Page 4 of 7
`
`FORD 1106
`
`

`
`'i
`
`a few extraneous signals needed by various parts, e.g. data
`
`
`have catastrophic effects n another part of the program when
`
`
`
`
`
`there is no apparent connection. One of the simplest and most
`
`
`�ransmit signal for bus transceivers. The iAPX 186one of the
`
`
`
`
`effective ways to organize the productions is to partition them
`
`
`
`orocessors which M ICON uses· template is tailored to construct
`MICON.
`
`
`
`
`according to the different tasl<s and subtasks constituting
`
`
`templates for the other processors used by I'vIICON. Due to the
`
`
`In MICON's implementation task and subtasks correspond to
`
`
`
`iAPX 186 bus structure (multiplexed data and address) this
`
`
`contexts. Each production is specified to run only in a certain
`
`
`
`processor requires a superset of parts compared with those
`
`
`
`context, with the exception of a few special productions.
`
`
`needed for the other two processors, which have separate data
`
`
`and address busses. If a processor other than the iAPX 186 is
`
`
`
`Switching between contexts is controlled by the user.
`
`being used in a design, M ICON knows how to modify a template
`
`
`
`Whenever the user decides to build a.specific subsystem, or verify
`
`for proper customization. An important point to keep in mind: the
`
`
`
`
`a portion of the design, I'vI ICON's context is implicitly changed. In
`
`
`
`templates represent a "logical" design, dealing with such entities
`
`
`
`many expert systems, much effort is devoted to deciding when to
`
`
`
`as busses or control lines. Templates do not contain actual pin
`
`switch contexts or to generating new contexts. Since MICON
`
`
`
`
`information. The mapping to chip pin information occurs during
`
`
`allows the user to switch the context, some effort was saved in the
`post processing.
`
`
`control structure implementation.
`
`
`
`Tho templates are represented as amalgamations of parts
`(p design-phase-help
`
`
`and ports. All the parts needed for a template are represented as
`{ <s> (state tuser-mode deSign-phase) }
`
`
`working memory elements. Representing the connections
`{ <t> (tokan Hype design-command-string
`tval « help? ») }
`
`
`between these paris are port descriptors. Port-descriptors are
`-- >
`
`
`
`working memory elements that detail port linkages across chips.
`(write (crlf)The following subsystems are)
`
`
`Ports may correspond to actual chip pins, although in some cases
`(write rocognized:)
`
`
`they represent a group of pins, e.g. a bus. Templates typically
`(write (crlf)memory processor 1/0)
`
`
`contain about 10 parts and have about 50 connections.
`lwrita (crlf)status-shows state of design)
`(remove <t»
`(modify <s> tuser-mode design)
`)
`
`5. Production System Implementation
`
`
`
`Expert systems are rapidly becoming an important approach
`
`
`in tackling many engineering tasks. Expert systems should
`5.3. Searc:h
`
`perform as well as human experts. Generally, expert systems are
`The job of building a single board computer can be thought
`
`
`
`
`
`build on the extracted collective knowledge of "human" experts.
`
`
`of as a search through a large space, which can be quite costly in
`
`One of the acknowledged weak pOints of expert systems is the
`both computer and human time. With the chips in I'vI ICON's
`
`
`
`
`limited domain of discourse, or knowledge; they are "experts" in
`
`
`current data base, over 1600 different combinations of
`
`one field and usually only in a small subset of that field. Many
`
`
`
`processors, memory and peripheral chips are possible. Search in
`
`
`
`
`expert systems are written as production systems: a collection of
`
`
`
`I'vIICON is directed by knowledge gained from the construction of
`
`previous subsystems. For this reason it is important that the order
`
`
`knowledge repres�nted as a large number of IF-THEN clauses.
`
`
`5.1. The Production System Paradigm
`
`
`of the subtasks be preserved, otherwise the search may become
`Knowledge is explicitly represented in production systems as
`
`
`
`
`
`
`
`unbound, or nonsensical designs may result.
`
`
`a set of rules, or productions. lhe terminology used to refer to
`Once the decision is made to build a certain subsystem, it is
`
`
`
`
`
`
`these productions is situation action pairs. The left hand side
`
`constructed in a linear fashion without backtracking across
`
`
`
`(LHS) of a production, corresponding to the IF part, defines some
`
`
`
`contexts. If the design techniques of the subsystems were not
`
`
`l;iiuation or pattern to match. The right hand side (RHS),
`
`
`
`
`well defined, it would be necessary to provide a mechanism for
`
`
`
`corresponding to the THEN part, describes some action that is to
`
`
`
`allowing design decisions to be undone. A limited form of
`
`
`take place. Working memory elements are used in evaluating the
`
`
`
`
`backtracking is permitted within a context to recover from a bad
`
`
`
`
`left hand side. In essence, productions look for specific patterns
`
`
`specification. The attention of I'vI ICON remains focused on the
`
`
`in memory and upon recognizing them, carrying out some action.
`
`
`
`
`
`particular path it is currently following, performing a depth· first
`Often the action will change working memory causing another
`search.
`
`
`production to fire. in the course of program execution, the
`The directed search paradigm works effectively for the
`
`
`
`
`paltern·match/production fire steps occur repeatedly until there
`
`
`
`
`situations tested. For the selection of a processor, an evaluation
`
`
`
`is an explicit halt or no LHS can find a matching pattern in
`
`
`function was developed and is used in an A' ·like search
`Illemory.
`
`paradigm. It should also be noted that the working memory is
`An example OPS 5 [41 production taken from I'vIICON is given
`
`
`
`
`
`organized to help in search. The working memory t;llements have
`
`in Figure 3. The first line is the name of the production. The two
`
`
`been sorted, usually slowest chip first, so that the search path is
`
`
`
`statements before the " .. >" constitute the left hand side (the
`shortened.
`
`
`
`working memory pattern to match), the statements after are the
`
`
`
`right hand side (the actions to be carried out). The English
`
`
`tnmslation for the production in Figure;3 is:
`6. Performance
`
`
`If there exists a working memory element named state whose
`
`Expert systems should perform as well as a human expert in
`
`
`attribute user mode has the value "design phase" AND there
`
`the domain of expertise. For the purpose of this paper, the
`
`is a working memory element named token whose type
`
`
`
`following criteria are presented on which to judge the
`
`
`attribute has the value "design command string" and
`
`performance of MICON.
`
`attribute val has the value "heip" or "?"
`
`
`performance Quality of design: The number of chips, relative
`
`
`THEN execute the statement.
`
`and cost are a good basis of comparison with
`5.2. Contexts
`A metllod of organizing the productions is needed, especially
`
`
`
`other systems.
`when a large number of productions
`
`
`are required. Sometimes, a
`
`Design Time: Design time is defined to be the time it tak�s to
`
`
`seemingly insignificant change in ope part of the program can
`bring a '»design trom the hardware
`
`Figure 3: Rule Example
`
`Paper 34.2
`569'
`
`Page 5 of 7
`
`FORD 1106
`
`

`
`requirements to net list generation. For the
`
`
`designs to which this program is to be
`
`
`compared, design time is estimated as the
`
`overall run time of M ICON.
`
`PI'ocessor
`Performance
`Execution Time(s)
`
`iAPX-186
`
`Z80
`
`I
`101.2
`I
`107.5
`I
`98.6
`
`I
`103.0
`101. 1
`I
`I
`101.5
`
`comparing the run time required for M ICON to select the
`
`
`
`
`
`processor to designing a system with a processor the user had
`
`
`
`chosen. It is expected that total execution time for experts will
`
`
`
`probably be longer than for novices: experts will perform more
`
`
`
`
`parts replacement and analysis functions, a result of exploring the
`For each of the processors currently used by MICON· the
`
`
`
`design space to a greater degree.
`
`iAPX 186, Z80, and Tl 9900· several designs have been chosen
`From analysis of the production traces, selecting and
`
`
`
`
`
`that bound the design space of each processor. The variables
`
`
`
`
`
`customizing templates require the majority of the execution time.
`
`
`perturbated are cost and performance. Through general
`
`
`
`
`This includes the subtasks of parts selection and instantiation. Of
`
`
`
`
`consensus of experienced designers it was concluded that power
`
`
`these two activities, the instantiation subtask is mor

This document is available on Docket Alarm but you must sign up to view it.


Or .

Accessing this document will incur an additional charge of $.

After purchase, you can access this document again without charge.

Accept $ Charge
throbber

Still Working On It

This document is taking longer than usual to download. This can happen if we need to contact the court directly to obtain the document and their servers are running slowly.

Give it another minute or two to complete, and then try the refresh button.

throbber

A few More Minutes ... Still Working

It can take up to 5 minutes for us to download a document if the court servers are running slowly.

Thank you for your continued patience.

This document could not be displayed.

We could not find this document within its docket. Please go back to the docket page and check the link. If that does not work, go back to the docket and refresh it to pull the newest information.

Your account does not support viewing this document.

You need a Paid Account to view this document. Click here to change your account type.

Your account does not support viewing this document.

Set your membership status to view this document.

With a Docket Alarm membership, you'll get a whole lot more, including:

  • Up-to-date information for this case.
  • Email alerts whenever there is an update.
  • Full text search for other cases.
  • Get email alerts whenever a new case matches your search.

Become a Member

One Moment Please

The filing “” is large (MB) and is being downloaded.

Please refresh this page in a few minutes to see if the filing has been downloaded. The filing will also be emailed to you when the download completes.

Your document is on its way!

If you do not receive the document in five minutes, contact support at support@docketalarm.com.

Sealed Document

We are unable to display this document, it may be under a court ordered seal.

If you have proper credentials to access the file, you may proceed directly to the court's system using your government issued username and password.


Access Government Site

We are redirecting you
to a mobile optimized page.





Document Unreadable or Corrupt

Refresh this Document
Go to the Docket

We are unable to display this document.

Refresh this Document
Go to the Docket