Monthly R&D Status Report Date: March 15, 1994 Title: "SYSTEM-LEVEL DESIGN METHODOLOGY FOR EMBEDDED SIGNAL PROCESSORS" Contract Number: F33615-93-C-1317 Principal Investigator: Edward A. Lee Organization: University of California at Berkeley 1. Tasks Performed Much of our energy was devoted to finalizing the 0.5 release of Ptolemy, particularly the documentation. To help this process, we have installed "gnats" bug tracking system, and appointed Christopher Hylands to administer it. We have also made significant software improvements in the 0.6-development version, and have started to make progress again on the research front. 2. Significant Accomplishments The final release of version 0.5 of Ptolemy is ready. During the day tomorrow (3/16), it will be made publicly available. To get it, do the following: 1. FTP to Internet host "ptolemy.eecs.berkeley.edu" 2. Login as "anonymous"; use your full email address as the password 3. cd pub/ptolemy/ptolemy0.5 4. get the README file and follow its instructions. The beta release has thoroughly exercised at the following places (that we know of): 1. Synopsys 2. IMEC (in Belgium) 3. Comsat 4. Lincoln Labs 5. Technical University of Delft (in The Netherlands) 6. AT&T Bell Labs 7. Berkeley Design Technology 8. U. C. Berkeley instructional lab (about 90 students doing assignments) Most of the reported problems were specific to the HP port; there are significant incompatibilities in the HP Unix system. We have fixed most of these, thanks to particularly hard work on the part of Christopher Hylands. The 0.5 release still does not support dynamic linking on the HP platform, although IMEC reports that they have succeeded in getting this working with the 0.5-beta version. We will be incorporating their changes during the next period, and plan to release a 0.5.1 version that support dynamic linking on the HP. A significant technical improvement in the 0.5 release is that it can now be installed in any arbitrary user directory, and all functions, including dynamic linking and recompilation from source, can be made to work. In other words, the software has been freed of any dependence on hard-wired directory names. This means that users without root access can install and use the entire system, including the g++ compiler. Thanks to Christopher Hylands for this. Much of the effort in the last month was on documentation. All four volumes of the Kernel manual are complete, and are included with the 0.5 release as postscript files. The total page count exceeds 1000 pages, unfortunately. Most users will only need volumes one and three, however, the User's and Programmer's manuals. We have created an experimental hypertext document accessible worldwide via Mosaic with the following features: 1. A brief overview of Ptolemy 2. A mockup of an animated adaptive filter demo 3. A mockup of a speech coding demo, with sound 4. Access to the released software 5. Access to many of our published papers 6. Access to the User's Manual 7. Access to the Kernel Manual To access all of these on line, you need a Mosaic configured with sound capabilities, MPEG video display (for the animated demo mockup), and postscript display (such as ghostview). Any Mosaic setup can access the overview, look at a couple of block diagrams, and download code or postscript files. To access this, the URL (universal resource locator) for the home page is: file://ptolemy.eecs.berkeley.edu/pub/ptolemy/www/Ptolemy.html Our home page is also available through a worldwide DSP document that is under development, accessible with URL: http://tjev.tel.etf.hr/josip/DSP/sigproc.html On the research front, we have mapped out a strategy for modeling candidate architectures at a high level for implementing signal processing applications. The strategy will to describe the hardware architecture using the CP (communicating processes domain), where the processor nodes will execute C programs synthesized from SDF (synchronous dataflow) descriptions of signal processing applications. The basic C code generation mechanism will be adapted for this by designing a specialized target that can handle the partitioning and generate performance estimates. Mike Chen has introduced a new capability to initialize delays in the dataflow domains to arbitrary values. Previously, they could only be initialized to zero. This change is not included in the 0.5 release because it was fairly extensive, and requires more testing. it may be included in the 0.5.1 release. Joe Buck (of Synopsys) has sent in a proposal to create a usenet newsgroup, named comp.soft-sys.ptolemy, following the model of the Khoros newgroup. The volume of mail on the ptolemy-hackers mailing list has gotten too large for a mailing list. Jose Pino demonstrated at ILP his heterogeneous target facility, in which code is generated in C for the workstation and in assembly code for an attached DSP. Both synchronous and asynchronous communication between the two are supported. His demonstration generated an audio sound synthesis implementation on the DSP, with a user control interface and signal analysis and display on the workstation. We believe that this was a major milestone, and will be developing this capability much further. 3. Problems Encountered Neal Becker of Comsat performed particularly intensive testing of the 0.5-beta release, and ran up against a serious bug in the g++ compiler that seriously degraded the performance of certain Ptolemy simulations when user-defined stars were written in a certain way. In particular, if the state variables of the functional blocks were not explicitly cast to the appropriate numerical data type, the compiler for some reason chooses, by default, to cast everything to our fixed-point type. Arithmetic operations on the fixed-point type are much more expensive than ordinary floating point operations, and can degrade performance by as much as a factor of 50. We have documented the work-around, and reported the bug to Cygnus. The lack of adequate HP computing resources has become critical. We haven't yet had the time to explore further equipment purchases. 4. Schedule Reconciliation We are slightly behind schedule (the 0.5 release was scheduled for 3/1, but we are not releasing it until now). 5. Next Period Activities We will be creating a "Ptolemy-lite" release that will be much smaller than the full release, and will include only the most mature domains. This will make it much easier for people to experiment with the system without having to locate 130Mbytes of free disk space. The "lite" system will not support dynamic linking. We will be improving our mosaic server by adding a more extensive tour of Ptolemy. Wan-Teh Chang has taken the lead on serious development of a simulation control language. The functions to be supported include: - Running the same simulation multiple times with different parameters. (This is actually already supported, and is explained in the User's Manual -- but it needs some improvement). - Running a simulation until certain condition becomes true: E.g. running until 213 packets have been lost at a network switch, or running until a certain star has been fired 17 times. - Dynamic monitoring of block states as execution proceeds. Other topics being addressed include (repeated from the previous report): - redesign of our basic code generation mechanism, - use of higher order functions in graphical programming, - implementation of multidimensional dataflow, - rethinking the approach to image processing, - improved algorithm-level design, - a domain for design flow management, - a system-level methodology for evaluating parallel architectures, - a domain for finite-state machine control functions, and - a real-time multithreaded dataflow model of computation. 6. Budget Summary We are on-budget, as near as I can tell. Details will be provided by the University accounting office. 7. Conferences, Meetings, and Trips On March 10 and 11 we held our annual Industrial Liaison Program conference. We conducted extensive Ptolemy demos that were well attended. The 0.5-beta release of Ptolemy was demonstrated at the Martin-Marietta 6-month RASSP review by Jeff Bier of Berkeley Design Technology. 8. Other Comments We welcome feedback on the content and format of this report, as we would like these reports as useful as possible.