( ESNUG 328 Item 2 ) ----------------------------------------------- [9/9/99]
Subject: ( ESNUG 326 #2 ) Users React To CynApps' Free HW C++ Class Libs
> (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: Prabhat Jain <prabhat@glenfiddich.lcs.mit.edu>
Hi John,
Saw your post about Cynapps making their class library public. In fact, the
first paper that was written on such class libraries was published in DAC'97
by a bunch of Synopsys folks -- Stan Liao (an ex fellow grad student), Tjiang
and Rajesh Gupta (professor in U.C. Irvine). That is most probably what
"Scenery" is.
- Prabhat Jain
MIT
---- ---- ---- ---- ---- ---- ----
> 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. ... 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
From: Tony Bybell <bybell@vnet.ibm.com>
I downloaded the CynLib yesterday and checked it out. Some observations:
1) There's a 9MB solaris executable sitting in there eating up most of
the archive. They really should trim it out..the tgz is 400k then.
2) Few problems with compiling under linux... mainly, I had to change all
of the gcc instances to g++ (otherwise I got "cc1plus missing" errors)
and manually copy some files over to where they belong. No big deal.
It's plain vanilla C++ so it'll probably compile on anything.
3) For the most part, the examples are "weak" and some appear to do nothing.
I don't know about you, but I'm really sick of seeing traffic lights...
The line drawing ones in the instruction manual are nice though.
4) One example created a file named "barf" that had incorrectly writtenVCD.
(Zeros throughout the simulation).
5) The "really neat" Verilog->Cynlib file twister is not present in the
OSS version. I have to look at the license and see if there's anything
that precludes OSS developers from distributing their own. I have
a bare antlr LL(2) grammar laying around for 1364 and this could be a
fun project. Interestingly, cynlib classes could be used as an
intermediate format for verilog compilation. Not the full language,
but a decent synthesizable subset.
As far as the concept goes, it's a decent idea. What they've done is added
pseudoparallel execution to C++ through some class library tricks. By
doing that, HDL simulation is made possible. I give them an A for effort
on this one. (Though I'm wondering if something like cilk can be adapted
to do the same thing..and better b/c it's designed for SMP.)
Most of the problems that I can see would be related to hardware designers
themselves and not cynlib itself. Convincing teams to try out cynlib when
they know verilog/vhdl already "works" may be a tough pill to swallow.
Additionally, the relative newness of the product may scare off a lot of
people because they'd have questions like, "does it really synthesize into
what the cynlib source specs out?"
It looks like it has a lot of potential..if anything, I can see it being
used as a quick and dirty back-end for HDL simulation, even if it never
does get used for its intended use of being an "all in one" solution.
Their distro does need a little bit more work. Non-toy examples would
go a long way to convincing designers that the product has potential.
For "freedom of speech" type fans, the actual source code is quite small and
I don't think it would be too too difficult for someone to eventually make a
GNU knockoff based on the same concept/API. I have to look at the OSS
license for it and see what the development restrictions are. Time to
forward it off to Bruce Perens...
- Tony Bybell
IBM
|
|