Top Up Prev Next Bottom Contents Index Search

4.16 Interfaces to Foreign Tools


The Ptolemy design environment is a collection of dozens of collaborating tools with interfaces to dozens of others, as shown in Figure 4-4.
Within Ptolemy there are many different domains, schedulers, and targets, each of which is a tool in its own right. Those tools are derived from a common framework provided by the Ptolemy kernel. Other tools, such as an expression evaluator for parameter expressions and filter design programs, are also embedded.

Not every Ptolemy interface is listed in Figure 4-4. We have written several targets and domains that we have not released to the public. For example, we are developing a CGC target for the UltraSparc Visual Instruction Set. We have developed but never released code generation domains for the AT&T DSP 3 multiprocessor system and the Philips Video Signal Processor system [Shi94]. We have eliminated several domains, as listed in Section 4.15, such as a code generation for the Sproc multiprocessor DSP system [Mur93].

This rest of this section focuses on Ptolemy interfaces to foreign tools that are not included in the Ptolemy release. These foreign tools are standalone programs, such as compilers, assemblers, interpreters, and simulators.

4.16.1 Specification and Layout

Defining systems, subsystems, blocks, and connections can be expressed graphically using pigi (see Chapter 2) and textually using ptcl (see Chapter 3). Graphical descriptions can be converted to textual specifications. The two interfaces can work together. By running pigi with the -console option, one can evaluate ptcl commands in the pigi console. The pigi run-control panel allows control of runs by ptcl scripts. Blocks exists that execute ptcl scripts.

Schematic entry is implemented by vem, and schematics are databased in oct. Scalable systems can be specified graphically using higher-order functions. Tycho provides a language-sensitive editor and an evolving framework for future graphical user interfaces.

4.16.2 Parameter Calculation

Parameter calculation maps system parameters into parameters in the subsystems, blocks, and connections. The calculation is controlled by an expression evaluator, which supports calls to ptcl. Because ptcl has interfaces to MATLAB and Mathematica, MATLAB and Mathematica expressions can be embedded in parameter specifications.

4.16.3 Algorithm Prototyping and Visualization

A designer can develop domain-specific algorithms in Ptolemy, such as for speech coding. For filter design, one can use MATLAB or Ptolemy's filter design programs. A variety of Unix and X windows utilities are used for display and visualization of data.

4.16.4 Simulation

Ptolemy provides the ability to simulate complex systems. The key is the notion of a wormhole that allows a designer to mix domain-specific algorithms together to cosimulate the functionality or behavior of the system. wormholes & hierarchical scheduling

4.16.5 Synthesis

Ptolemy provides mature abilities to synthesis dataflow systems. From dataflow graphs, Ptolemy can generate C, C++, Motorola 56000 assembly code, and VHDL for uniprocessor and multi-processor systems.

Ptolemy provides the ability to synthesis complex systems. The key is the notion of hierarchical scheduling that allows multiple implementation technologies to cosimulate. Mixing this with wormholes allows simulation domains to participate in cosimulation. This combinations allows a complex system to be simulated at a variety of levels of detail.



Top Up Prev Next Bottom Contents Index Search

Copyright © 1990-1997, University of California. All rights reserved.