MICROELECTRONIC SYSTEMS NEWS
FILENUMBER: 7014
BEGIN_KEYWORDS
Proceedings Workshop Rapid System Prototyping
END_KEYWORDS
DATE: july 1994
TITLE: Proceedings of IEEE Workshop on Rapid System Prototyping
Proceedings of IEEE Workshop on Rapid System Prototyping
(Contributed by Roderick McConnell of IRISA, France)
IEEE INTERNATIONAL WORKSHOP ON RAPID SYSTEM PROTOTYPING
June 21-23, 1994, Grenoble, France
1. This year the workshop gathered 41 participants from 14 coun-
tries, with a shared interest in techniques for rapid systems
prototyping i.e. going quickly from an idea (specification) to a
working system (implementation). Notably sparse were discussions
on theory & proofs. The workshop was also unique in that, with a
relatively small group of participants, it also gathered practi-
tioners from both software-systems and hardware-systems develop-
ment. One of the organizers of the workshop emphasized that it
was important to have both software and hardware people SIT IN
THE SAME ROOM - that way, one could hope to have at least some
cross-fertilization (my experience is that interaction between
the two camps is rare).
The majority of the presentations were nevertheless concerned
with hardware: 14 out of 21 (if one includes those on HW/SW
codesign among the hardware group). This probably reflects more
than anything the relative maturity of software tools for
hardware design; software tools for software are still pretty
new, and hardware tools for software design don't exist yet.
What follows is a summary of three themes which interested me
during the workshop: the use of FPGA's for prototyping; model-
ing periodic processing (including my presentation); and manage-
ment techniques for prototyping. It goes without saying that
there were lots of other themes.
2. Most of the hardware presented, was at least partly done using
FPGA's. While this is probably somewhat typical of University
projets, I think it also reflects the possibilties of solving
"real" problems using programmable circuits. For example, the
presentation of David Andrews from the University of Arkansas,
"Rapid Prototype of an SIMD Processor Array (using FPGA's)",
talked of software development before first silicon, using a re-
duced array of processors programmed into some Xilinx 4000-series
chips. This is not a new idea, but I had the impression that
this time it worked (I compare it to an effort at AT&T, using a
previous generation of Xilinx: they needed so many Xilinx, that
by the time everything was partitioned & programmed and the
boards wired, first silicon was ready).
Likewise, Paul Fiore from Lockheed Sanders (to become just
"Lockheed" some day, I imagine) gave an example of using the Ap-
tix Field-Programmable Circuit Board to rapidly prototype a whole
system. Instead of re-wrapping a wire-wrap board (or cutting the
traces of a PCB!), they just re-programmed the routing circuit.
This allowed them to fix errors, but perhaps just as important,
this allowed them to start using the system with a standard
memory circuit, and then change components (and pinouts) when a
low-power version became available. It should be pointed out
that programmable circuits and circuit boards are particularly
interesting for prototyping low-speed applications such as low-
power (for high-speed applications, they should be used with
care). I'll come back to this presentation, "Rapid Development
of Signal Processors and the RASSP Program", when I mention the
RASSP program.
3. There were four presentations which were addressed exclusively
at periodic applications (read high-throughput DSP). The advan-
tage of periodicity, is that one knows in advance exactly which
tasks must be done when. This forms the basis for Synchronous
Data Flow, and for its extension to a hierarchical form in
Cyclo-static Data Flow. Apparently there are as yet no defini-
tive references to Cyclo-static, but the presentation entitled
"Geometric Parallelism and Cyclo-Static Data Flow in Grape-II" by
Rudy Lauwereins from KU Leuven talked about it.
Rudy's presentation was complemented by a demo using Grape-II, a
Compact Disc decoder and equalizer running in real time. Grape-
II is a programming environment of the same genre as Ptolemy (a
competitor, as Rudy put it, 'though both are given away for
free), targeted at code for multi-processor programmable systems.
The systems-level partitioning and scheduling was handled by
Grape, while the operations were programmed in 'C', and executed
on a multi-processor 'C40 board. The resulting system handled
both left and right channels of the CD in real time. As usual,
there were some unexpected technical difficulties with the demo -
the difficulties didn't delay completion by much, but indicated
for me the maturity of the Grape-II system. In fact, the folks
from K.U. Leuven had kept only source code as a backup, and used
the Grape-II compiler to redo the partitioning and scheduling on
the spot, rather than having kept a backup copy of the final exe-
cutable.
My impression ('though shared by others) is that Grape-II has
just the right mix of capability and small size, to be an in-
teresting software package for people in the domain. And think-
ing of domains, a nice advantage of Grape vis a vis Ptolemy, is
that Grape automatically chooses the domain depending on the
operator, whether it be static (or Cyclo-static) or dynamic
(data-dependent). Apparently ISI plans to bring it out as a pro-
duct under the name Virtuoso Synchro.
4. The last of the themes that I'll write about was how to organ-
izate a project for rapid prototyping. The keynote speaker, Mark
Richards, presented one approach, the RASSP projet: "The Rapid
Prototyping of Application-Specific Signal Processors (RASSP)
Program: Overview and Status". RASSP is a United States Depart-
ment of Defense program to try and speed up prototyping. I ima-
gine that the DoD is one of the parties most interested in rapid
prototyping, as defense equipment is rarely produced in large
enough quantities to amortize high development costs, and pro-
jects are typically constrained by performance (hence the desire
to see if that "cutting-edge" processor or system functions, at
least as a prototype). There were two things I particularly
liked about RASSP: first, it uses the idea of "model-year"
demonstrators, a series of throw-away demonstrators throughout a
project to let the users try out the equipment (and to let the
designers see what does and doesn't work); second, it includes a
plan to finance getting the ideas into the Universities, so that
engineers can learn about RASSP before getting into industry.
Paul Fiori also talked about RASSP, but his presentation more
than anything showed why one needs such a program. He described
the rapid prototyping environment at Lockheed Sanders, which con-
sists of reputable tools: Matlab for algorithm development; Xi-
linx "apr" and "xact" for the FPGA's; ViewLogix for the simula-
tion; and a H.P. pattern generator to generate the test vectors
for the target hardware. The problem: each of these tools re-
quires a fairly sophisticated user (i.e. months or years of prac-
tice), not only in terms of understanding of the problem to be
solved, but also in terms of the "stupid details" of using each
tool. If RASSP can provide a framework to integrate at least
some of these tools or their equivalents, that in itself would
help engineers, at least in getting started quickly. My personal
experience, based on a project that included the same sort of
components (CPU's, and programmable and regular components on a
wire-wrap board), is that for someone who knows the different
tools, using a specialized tool for the task at hand makes
development and debugging much faster. If the time between a new
algorithm and modifying the hardware is short (measured in
minutes or hours), one has the chance to "play" with different
algorithms; this in turn lets one optimize the algorithm and the
hardware at the same time. On the other hand, getting the in-
teractions between the tools at least semi-automated takes time,
and learning to use a new tool can be a painful task.
Another presentation on project-level approaches, but this time
exclusively for software development, was given by Richard Estra-
da of Bolt Beranek and Newman: "Dynamic Analysis and Replanning
Tool (DART): a Case Study of Accelerated Evolutionary Develop-
ment". If "Accelerated Evolution" seems like an oxymoron, it
might be because the comparision is to current DoD practice,
where a software package takes typically 5.5 to 9 years to
develop (according to R. Estrada). As with RASSP, part of the
proposed approach is to provide intermediary models to the user
every few months (though part of the hope with software is to
re-use, rather than throw away as with RASSP). The success story
used to justify the approach, was a logistics package developed
for the Gulf War in a span of 10 weeks! Another interesting idea
was the way in which intermediary software is distributed for
on-site demos: either by putting it on disk and carrying it, or
by transfer across the electronic net. A nifty debugging idea:
send the software over, install and compile it, and then use X-
windows across the net to debug it from the originating site.
5. In conclusion, some general observations about this & that.
The conference site, the Grand Hotel de Paris at Villard de Lans,
was a nice choice: a resort hotel, in the mountains and surround-
ed by hiking trails. The food was of quality, however their
selection of red wine was disappionting (un vin de pays de
l'Arde`che). There was also a tennis court, where I had the
chance to play with the man who holds the record for the world's
fastest gate: latency of 12 ps for a multiple-input gate with
fanout > 1. Finally, the relatively limited number of partici-
pants meant that it was easy to ask questions, both during and
after the presentations. It also meant that one could go to (al-
most) all the presentations, and still have time to relax.
The proceedings for the 1994 workshop (and for those held in
1991, 1992 and 1993) can be obtained at a cost of $25 per copy by
contacting:
Nick Kanopoulos
Research Triangle Institute
P. O. Box 12194
Research Triangle Park, NC 27709
TEL: (919)-541-7341
FAX: (919)-541-6515
nick@rti.rti.org
The following is a list of papers presented at the 1994 workshop:
P.1.1 "Rapid Prototyping of a Real-Time Video Encoder" - M. Engels, T.
Meng, Stanford University, Stanford, California, USA.
P.1.2 "Using an FPGA Based Computer as a Hardware Emulator for
Built-In Self-Test Structures" - R.W. Wieler, Z. Zhang, R.D.
McLeod, University of Manitoba, Winnipeg, Manitoba, Canada.
P.1.3 "A Reconfigurable DSP Board Based on Cordic Elements" - E.P.
Mariatos, M.K. Birbas, A.N. Birbas, University of Patras, Patras,
Greece.
P.2.1 "Rapid Prototype of an SIMD Processor Array (using FPGA's)" -
D.L. Andrews, A. Wheeler, University of Arkansas, Fayetteville,
Arkansas, USA; B. Wealand, Lockheed Corporation,
Sunnyvale, California, USA.
P.2.2 "A real-time Test-bed for Prototyping Cell-based Communication
Networks" - C. Papadopoulos, A. Maniatopoulos, T.
Antonakopoulos, V. Makios, University of Patras, Patras, Greece.
P.3.1 "ProTR: A TOOL FOR REAL-TIME SYSTEMS DEVELOPMENT" -
G.D.F. Azevedo, FCTI; H. Azevedo, STC Telecomunicacos; M.
Jino, UNICAMP, Campinas, Spain.
P.3.2 "An Integrated Framework for Rapid System Prototyping and
Automatic Code Distribution" - W. El Kaim, F. Kordon, MASI
Laboratory, Paris, Cedex, France.
P.3.3 "Experience with RAPID Prototypes" - D. Dolev, Hebrew
University, Jerusalem, Israel; R. Strong, E. Wimmers, Almaden
Research Center, San Jose, California, USA.
P.3.4 "An Approach for Hardware-Software Codesign" - T.B. Ismail, M.
Abid, K. O'Brien, A.A. Jerraya, Institut IMAG, Grenoble, Cedex,
France.
P.4.1 "Rapid Development of Signal Processors and the RASSP Program"
- C. Myers, P. Fiore, Lockheed Sanders, Inc., Nashua, New
Hampshire, USA; J.P. Letellier, Naval Research Laboratory,
Washington, DC, USA.
P.4.2 "Geometric Parallelism and Cyclo-Static Data Flow in GRAPE-II" -
R. Lauwereins, P. Wauters, M. Ade, J.A. Peperstraete,
Katholieke Universiteit Leuven, Heverlee, Belgium.
P.4.3 "Buffer Memory Requirements in DSP Applications" - M. Ade, R.
Lauwereins, J.A. Peperstraete, Katholieke Universiteit Leuven,
Heverlee, Belgium.
P.5.1 "Hardware Emulation Board based on FPGAs and Programmable
Interconnections" - O.C.S. Choy, W.Y. Lo, C.F. Chan, The
Chinese University of Hong Kong, Shatin, N.T., Hong Kong.
P.5.2 "Some design issues in Multi-chip FPGA Implementation of DSP
Algorithms" - A. Saha, R. Krishnamurthy, Mississippi State
University, Mississippi State, Mississippi, USA.
P.5.3 "Project Spinnaker: A New Generation of Rapid Prototyping
System" - M. Courtoy, Quickturn Systems, Mountain View,
California, USA.
P.6.1 "Extended VHDL for the Rapid System Prototyping of Systems
With Synthesizable and Nonsynthesizable Subsystems" - J.D.S.
Babcock, A. Dollas, Duke University, Durham, North Carolina,
USA.
P.6.2 "From Behavioral to RTL Models: An Approach" - R. McConnell, D.
Lavenier, Institut de Recherche en Informatique et Systems
Aleatoires, Rennes, Cedex, France.
P.6.3 "Quantitative Design of a Scalable MicroSystem Using ALMA: The
Example of the Dictionary Machine" - J.Y. Brunel, I. Auge, M.
Hervieu, Limeil-Brevannes, Cedex, France.
P.7.1 "Safe Rapid Prototyping of Object-Oriented Database Applications"
- M. Missikoff, M. Toiati, IASI-CNR, Rome, Italy.
P.7.2 "Dynamic Analysis and Replanning Tool (DART): a Case Study of
Accelerated Evolutionary Development" - S.E. Cross, ARPA,
Arlington, Virginia, USA; R. Estrada, BBN Systems and
Technology Corp., Cambridge, Massachusetts, USA.
P.7.3 "A Formal Approach Based on the Rewriting Logic for Prototyping
Distributed Information Systems" - A. Attoui, M. Schneider,
Laboratoire d'Informatique, Aubiere, Cedex, France.
P.8.1 "Algorithms and Architectures to Computational Systems
Implementation" - L. Carro, A. Suzim, Universidade Federal do
Rio Grande do Sul, Porto Alegre, Brazil.
P.8.2 "Accelerating the design process by using architectural synthesis" -
P. Kission, H. Ding, A.A. Jerraya, Laboratory TIMA/INPG,
Grenoble, Cedex, France.
dbouldin@utk.edu