caml-list - the Caml user's mailing list
 help / color / mirror / Atom feed
From: Brian Rogoff <bpr@best.com>
To: Dennis Gang Chen <Dennis.G.Chen@motorola.com>
Cc: caml-list@inria.fr
Subject: Re: [Caml-list] Why People Aren't Using OCAML? (was Haskell)
Date: Sun, 25 Mar 2001 19:03:05 -0800 (PST)	[thread overview]
Message-ID: <Pine.BSF.4.21.0103251835410.22300-100000@shell5.ba.best.com> (raw)
In-Reply-To: <3ABE8D60.6685E7C5@motorola.com>

On Mon, 26 Mar 2001, Dennis Gang Chen wrote:
> > I would have said that it's ideal for VLSI design software (any other EDA
> > hackers out there?) so maybe it's just ideal for everything?
> 
> I would like to hear more about using ocaml in VLSI design and
> verification. For simulation and formal verification of chips, speed is crucial.

Well, I work in the subfield called VLSI Physical Design, so simulation
here means SPICE, and the verification isn't formal. However, I do have 
a little bit of experience in the whole ASIC/RTL and behavioral modeling 
so I'll toss in my two cents. 

People write simulation models in all kinds of languages, including Perl
and Java, so speed is not always of the essence. For those cases where it
is, people often write in C (I worked at Denali for a while and I wrote
some of their models) since Verilog and VHDL simulators sometimes aren't 
quite good enough. Where would OCaml fit in there? Well, I've often
thought that the FFTW approach of just spitting out optimized C would be 
workable, and since most people acknowledge that MLs are really good for 
writing compilers, how about a Verilog (or VHDL if you're European :) RTL 
to C compiler? I had started on a Verilog front end for other reasons but
since migrating to physical design it's not as important. Incidentally, in 
the ASIC flows I've worked on a Verilog front end would have *lots* of
uses, flattening hierarchy, scan chain insertion, etc. Anyone interested
in working on such a tool? 

For formal verification I suspect you're asking about fast BDDs, a topic
that has come up a few times on this list. I suspect that for very
demanding problems you'll want the BDD library in C so as to minimize the 
overhead. I'd be delighted to find that a "pure OCaml" BDD library was
competitive to a well optimized C one, but I doubt that will be true. In
any case, you can just link with one of the available C libraries. I'm
surprised that no one has made a publically available binding to Cudd or 
some other C library. Maybe I'll do that one day if someone else doesn't
beat me to it. Once you have such a library available, I think that other 
tools (say a symbolic model checking tool) could be coded up far more
easily in OCaml than in many other languages, and the performance
bottleneck will have been addressed. 

>From the physical design standpoint, I just find it easier to express
complex algorithms in ML than other languages I've used, for all the 
old reasons. I suppose for things like linear programming OCaml isn't 
(yet :) ideal but the problems I work on are not huge, think leaf cell 
synthesis scale rather than whole chip (for now!). 

Anyways Dennis, if you're interested in pursuing any of those things I
mention, please contact me. One constraint is that I'd like to make source
available so that other EDA people get sucked into the OCaml vortex. There
are too many in-house point tools that die because they never get out. I've 
noticed quite a few postings from people in the industry (I post from my
ISP but I work at Artisan) so I know there are some more of us out there. 
Come on guys, do you want to hack on Perl for the rest of your careers? 
Let's make OCaml the EDA language of choice!

-- Brian


-------------------
To unsubscribe, mail caml-list-request@inria.fr.  Archives: http://caml.inria.fr


  reply	other threads:[~2001-03-26  3:04 UTC|newest]

Thread overview: 28+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2001-03-24  3:17 Arturo Borquez
2001-03-24  8:03 ` Vijay Chakravarthy
2001-03-24 18:38   ` Brian Rogoff
2001-03-24 21:55     ` Vijay Chakravarthy
2001-03-26  0:29     ` Dennis Gang Chen
2001-03-26  3:03       ` Brian Rogoff [this message]
2001-03-26  9:34         ` BDD and Ocaml (was: Re: [Caml-list] Why People Aren't Using OCAML?) David Mentre
2001-03-26 15:44           ` Brian Rogoff
2001-03-30 14:37             ` [Caml-list] OCaml binding to cmuBDD David Mentre
2001-03-26 14:10         ` [Caml-list] Why not article in journal ? (was Why People Aren't Using OCAML?) Christophe Raffalli
2001-03-26 12:43           ` Xavier Leroy
2001-03-26 13:25     ` [Caml-list] Why People Aren't Using OCAML? (was Haskell) FabienFleutot
2001-03-28  8:23       ` [Caml-list] [ora book] Why a horse? David Mentre
2001-03-29 13:48       ` [Caml-list] Why People Aren't Using OCAML? (was Haskell) Xavier Leroy
2001-03-29 14:05         ` Daniel de Rauglaudre
2001-03-29 14:14           ` Xavier Urbain
2001-03-29 14:38         ` Jean-Francois Monin
2001-03-29 16:19           ` Brian Rogoff
2001-03-27 23:43     ` John Max Skaller
2001-03-28  4:37       ` Brian Rogoff
2001-03-28 14:24         ` Joshua D. Guttman
2001-03-28 19:32       ` William Chesters
2001-03-27  3:43   ` Chris Hecker
2001-03-27  8:57     ` wester
2001-03-30 18:59       ` John Max Skaller
2001-03-28 22:00     ` Joseph R. Kiniry
  -- strict thread matches above, loose matches on Subject: below --
2001-03-29 14:26 Toby Moth
2001-03-23 18:04 [Caml-list] recursive modules redux, & interface files Brian Rogoff
2001-03-23 20:35 ` [Caml-list] Why People Aren't Using OCAML? (was Haskell) Mattias Waldau

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=Pine.BSF.4.21.0103251835410.22300-100000@shell5.ba.best.com \
    --to=bpr@best.com \
    --cc=Dennis.G.Chen@motorola.com \
    --cc=caml-list@inria.fr \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).