1,879 research outputs found
Recommended from our members
Chippe : a system for constraint driven behavioral synthesis
This report describes the Chippe system, gives some background previous work and describes several sample design runs of the system. Also presented are the sources of the design tradeoffs used by Chippe, and overview of the internal design model, and experiences using the system
Recommended from our members
VSS : a VHDL synthesis system
This report describes a register transfer synthesis system that allows a designer to interact with the design process. The designer can modify the compiled design by changing the input description, selecting optimization and mapping strategies, or graphically changing the generated design schematic. The VHDL language is used for input and output descriptions. An intermediate representation which incorporates signal typing and component attributes simplifies compilation and facilitates design optimization. The compilation process consists of two phases. First, a design composed of generic components is synthesized from the input description. Second, this design is translated into components from a particular library by a mapper and optimized by a logic optimizer. Redesign to new technologies can be accomplished by changing only the component library
Using C to build a satellite scheduling expert system: Examples from the Explorer platform planning system
Recently, many expert systems were developed in a LISP environment and then ported to the real world C environment before the final system is delivered. This situation may require that the entire system be completely rewritten in C and may actually result in a system which is put together as quickly as possible with little regard for maintainability and further evolution. With the introduction of high performance UNIX and X-windows based workstations, a great deal of the advantages of developing a first system in the LISP environment have become questionable. A C-based AI development effort is described which is based on a software tools approach with emphasis on reusability and maintainability of code. The discussion starts with simple examples of how list processing can easily be implemented in C and then proceeds to the implementations of frames and objects which use dynamic memory allocation. The implementation of procedures which use depth first search, constraint propagation, context switching and a blackboard-like simulation environment are described. Techniques for managing the complexity of C-based AI software are noted, especially the object-oriented techniques of data encapsulation and incremental development. Finally, all these concepts are put together by describing the components of planning software called the Planning And Resource Reasoning (PARR) shell. This shell was successfully utilized for scheduling services of the Tracking and Data Relay Satellite System for the Earth Radiation Budget Satellite since May 1987 and will be used for operations scheduling of the Explorer Platform in November 1991
ECLSS advanced automation preliminary requirements
A description of the total Environmental Control and Life Support System (ECLSS) is presented. The description of the hardware is given in a top down format, the lowest level of which is a functional description of each candidate implementation. For each candidate implementation, both its advantages and disadvantages are presented. From this knowledge, it was suggested where expert systems could be used in the diagnosis and control of specific portions of the ECLSS. A process to determine if expert systems are applicable and how to select the expert system is also presented. The consideration of possible problems or inconsistencies in the knowledge or workings in the subsystems is described
Automated Quantum Oracle Synthesis with a Minimal Number of Qubits
Several prominent quantum computing algorithms--including Grover's search
algorithm and Shor's algorithm for finding the prime factorization of an
integer--employ subcircuits termed 'oracles' that embed a specific instance of
a mathematical function into a corresponding bijective function that is then
realized as a quantum circuit representation. Designing oracles, and
particularly, designing them to be optimized for a particular use case, can be
a non-trivial task. For example, the challenge of implementing quantum circuits
in the current era of NISQ-based quantum computers generally dictates that they
should be designed with a minimal number of qubits, as larger qubit counts
increase the likelihood that computations will fail due to one or more of the
qubits decohering. However, some quantum circuits require that function domain
values be preserved, which can preclude using the minimal number of qubits in
the oracle circuit. Thus, quantum oracles must be designed with a particular
application in mind. In this work, we present two methods for automatic quantum
oracle synthesis. One of these methods uses a minimal number of qubits, while
the other preserves the function domain values while also minimizing the
overall required number of qubits. For each method, we describe known quantum
circuit use cases, and illustrate implementation using an automated quantum
compilation and optimization tool to synthesize oracles for a set of benchmark
functions; we can then compare the methods with metrics including required
qubit count and quantum circuit complexity.Comment: 18 pages, 10 figures, SPIE Defense + Commercial Sensing: Quantum
Information Science, Sensing, and Computation X
Fault-tolerant computer study
A set of building block circuits is described which can be used with commercially available microprocessors and memories to implement fault tolerant distributed computer systems. Each building block circuit is intended for VLSI implementation as a single chip. Several building blocks and associated processor and memory chips form a self checking computer module with self contained input output and interfaces to redundant communications buses. Fault tolerance is achieved by connecting self checking computer modules into a redundant network in which backup buses and computer modules are provided to circumvent failures. The requirements and design methodology which led to the definition of the building block circuits are discussed
- …