( ESNUG 326 Item 2 ) ---------------------------------------------- [8/25/99]
Subject: CynApps To Give Away Its Hardware Design Oriented C++ Class Libs
> To make the first converts, some start-ups offer C/C++ to Verilog/VHDL
> translators like C-Level Design ( http://www.cleveldesign.com ), CynApps
> ( http://www.cynapps.com ), and Frontier ( http://www.frontierd.com ).
> And there's already a company, LavaLogic ( http://www.lavalogic.com )
> that's offering the heretical idea of translating *Java* to synthesizable
> Verilog. These tools all effectively give designers the basic ability to
> create C/C++/Java -> translate 2 Verilog/VHDL -> Design Compiler to gates.
>
> (Not to be left behind, Synopsys in their NDA suites, discussed 'Scenery',
> a way to standardize C/C++ for synthesis purposes and their C-based
> synthesis tool -- which is almost identical to CynApps' Cynlib approach.)
>
> - from the DAC'99 Trip Report
From: John Sanguinetti <jws@cynapps.com>
John,
About the beginning of last year, an old friend (Andy Goodrich) showed me a
C++ class HW library he had written for his own purposes -- he was the
architect at a graphics company. Through a series of experiments I did with
it and discussions with other former Chronologic people, I came to the
conclusion that using C++ as a hardware description language is quite
attractive, and a better idea than creating a new language. It seems that a
number of other people have come to the same conclusion at about the same
time. At any rate, I started the company with Andy Goodrich and Randy Allen
(who was one of the former Chronologic people I had consulted) in the spring
of last year and we are now making good progress in creating a usable design
environment in C++.
Now for the punch line, Why am I sending you this message? Because we are
going to make the class library, Cynlib, available *freely* under an open
source license. Since you are now an official MOVER AND SHAKER in this
industry, I figure that when we make this announcement, people are likely
to ask you your opinion of this move, and I should give you a little
background.
There are a couple of obvious questions about taking this course of action.
What's the advantage to using Cynlib?
There are several advantages to using the free Cynlib class lib and C++ as a
design language. The first, and obvious one, is that you can do a real
top-down elaboration, starting from a pretty high-level design and proceed
all the way to RTL. Another benefit is that you can do your simulation using
nothing besides Cynlib and gcc. Ultimately, I think this will be a huge
benefit, since the simulation is cycle-based, two-state, light-weight, and
quite efficient. Since you can actually run the model at a high level of C++
abstraction, you can do a lot of simulation where it is the fastest, and when
you do get down to RTL, it still goes as fast, or nearly as fast, as the
high-priced simulators.
Why make Cynlib free?
The reason for doing it is that a class library is pretty light-weight. It
is not a trivial piece of code, but once you see the general idea, it's not
too hard to do something similar. So if we tried to sell it, it wouldn't
support a high enough price to be really interesting for us, and it would
encourage people to roll their own. While rolling your own is not easy, it
is just easy enough so that some people would succeed, and we would have a
number of competing dialects, losing the advantages of standardization. So
the answer is that we want to promote Cynlib as a standard, and this is the
best way to do it.
Why make it open source?
There are actually quite a few features that could be added to the class
library, and by opening the source up, other people can implement them, so
we are not the bottleneck in the development of the library. The other
reason is that this should give people more confidence when using a new
design method, since they can actually look at the source to see how it
works.
How is CynApps going to make money on this?
The short answer is we don't know. The longer answer is that we are making
other products that are needed to effectively design in C++. Particularly,
you need to be able to translate the C++ code into something Design
Compiler can take as input, and that is the product we expect to make our
money on. So if lots of people use Cynlib, we will have a market to sell
our Cynthesizer into. I should also mention that we have a couple of other
products, including a translator from Verilog to C++ (works with
synthesizable Verilog code) and a macro language which turns C++/Cynlib
into a Verilog dialect of C.
Cynlib will be up at <http://www.cynapps.com> on Wednesday, Sept. 1st, free
for the taking.
- John Sanguinetti, CEO
CynApps, Inc. Santa Clara, CA
|
|