From: luciano@athos.Berkeley.EDU (Luciano Lavagno)
Subject: Re: Why universities shouldn't write IC CAD tools
Reply-To: luciano@athos.Berkeley.EDU (Luciano Lavagno)
Organization: UC Berkeley IC CAD Group
Date: Fri, 16 Oct 1992 22:53:20 GMT

Sorry about the delay: I was away. My posting refers mostly to Berkeley tools
only because I KNOW them better, not because I am implying that they ARE
better.

In article <1992Oct8.190248.20655@ccu.umanitoba.ca>, meier@ee.umanitoba.ca
(Martin Meier) writes:
>           Why universities shouldn't write IC CAD tools:

I would rather phrase it as "why I would never use a CAD tool written by a
university". The mere fact that you don't like them does not mean that they
should not exist (good old cousin Adolph thought so some time ago :-) ).

>
>1. Most tools don't work as advertised. Usually features written about in
>   publications don't work properly, or the tool works only within a narrow
>   scope.

That is common to all advertised goods I know of. You seem to argue that there
is NO way of getting students to produce good, working code as part of their
academic career. Why ?

>2. These tools usually have limited usefulness. They cover a small part of a
>   general problem or are limited to specific cases. The given publication
>will
>   often say something to the effect:
>   A program that will do X in a Y in the case of Z

Then don't get that tool...

>3. University designed CAD tools are often not maintained.  When the student
>   who wrote the tool leaves, no one will want to maintain it.  
[...]
>   This leaves debugging for the end user of the program. Even if code is
>   available, most users don't want to bother hunting for bugs in 10k's of
>   code. They want to implement their IC, not debug other peoples tools.

This is a VERY serious problem. I had troubles with some members of the
Octtools family even if the author was literally living in the next cubicle.
I would say that if you need to get your job done as a designer, you should
look carefully for "expert" opinions (and this forum is probably a good
source). And you probably should pay the fees for a commercial product, as you
seem to be able to afford it. 
On the other hand, if you need to "tweak" things, either to do your own
research as an addition to an existing framework or to develop a modification,
say, to a logic synthesis package for a specific use/technology, then you are
probably MUCH better off with university tools than with commercial ones.
You seem to belong to the designer side, but you are not the only person on
earth...

>4. Most tools end up being non-standard in many ways, usually just for the
>   sake of being different. Most of these tools can't interface with other
>   tools.

Then they will die. Or become standards. Just as industrial tools.

[...]

>5. Source code is usually kept 'secret'. This is to stop others from stealing
>>   ideas and publish papers on same subject. This would also stop readers of
>the
>   paper from finding out that the tool doesn't work as stated. Secrecy is
>   especially true for people from industry. The company which they are
>   working for does not want anything released to their competition.

So this seems to be an argument in favor of university tools, as universities
are providing source code IN ADDITION to what they are paid for: papers and
ideas.

>6. If you're thinking that CAD tools from universities will create an 
>   abundance of free software, remember that all reasonably useful software 
>   from universities is not necessarily free. Octtools, for example, needs a 
>   license and fee before it can be used. SPICE needs a fee for tape copy. 

If you can afford Cadence, then you can buy a tape. As for anonymous ftp,
octttools had problems due to the DOD funding (as far as I remmber), so they
could not be distributed in that way.
And the quality versus cost ratio tends to infinity for zero cost even if the
quality is close to zero :-).

>7. The IC design market is too small for a GNU type project. GNU's C
>compiler,
>   GCC, has 10000's of users, and each of these a C programer. IC design is a
>   small group by comparison. GNU type projects get many 'power programers'
>   that do this for a useful product, not as a publishing vehicle.

This may explain why Microsoft seems to be in much better shape than most CAD
vendors :-).

>8. The scope of IC design is too large for a comprehensive project by a
>   university. The many stages of IC design (high level description, layout,
>   testing, timing, design rules checking, etc) make it a nearly impossible
>   task to create a set of tools for IC design.

That is why, for example, frameworks such as octtools are useful. Then even a
smaller university could integrate its tool in it and make it useful to thw
world.

[...]

>THEREFORE:
>
>1. No large, general purpose tools should be written for general use by a
>   university.

Excuse me, the rest of your posting seems to imply that no university should
write SMALL, special-case, undocumented tools. Why should large GOOD general
purpose tools be avoided ?
By the way, are you sure that the computer you are typing from has not been
simulated with Spice :-)

>2. Code written should only be for 'proof of concept'. Some researchers don't
>   make the mistake of designing a tool. Instead they follow the correct
>   research path and attempt to prove that their algorithm is correct.

I am sorry, I don't understand this point. Could you clarify it, please ?

>3. Industry offers Universities a 'good' deal for IC tools (Mentor aprox.
>   $1500/10 seats per year).  While not free, its a small sum for a 
>   QUALITY tool.

No doubt about that.
But there are also, as far as I know, smaller "garage type" designers who could
not get discounted university prices from Cadence, and still are more than
happy do do layout and DRC with, say, Magic and simulate with, say, Spice.

>4. Groups like the CMC (Canadian Microelectronics Corporation) offer tools
>   at no cost.

Are they "quality" tools, by the way ?

>COROLLARY: If a U wants to make IC cad tools successfully, all above issues 
>           must be addressed.

Point taken. If this was the purpose of your posting, and the title was just to
attract the attention, then we agree.

>------------------------------------------------------------------------------
>--
>------------------------------------------------------------------------------
>--
>
>Some general points about IC CAD tool publications:
[...]
>  - sometimes only one performance test is done(ie. a single ALU is
>analyzed).
>    While this will always show the tool is better than what is it compared
>    against, it is not show better performance in the general case.

Very true (unfortunately).

>  - sometimes a new tool or algorithm is compared against existing University
>    or commercial tool. Some researchers take commercial tools as a
>performance
>    acme. In many cases this is the only other tool to which the researcher
>has
>    access, and is not necessarily the true best algorithm.
>    
>    While all researchers will(hopefully) do the comparison on the same
>    computer, they often do not consider other factors. These include what
>    algorithm is used in the comparison tool, what language the comparison
>    tool is written in, if the compiler used had optimization capabilities,
>    and if the algorithm was implemented efficiently. Often this information
>    is not know to the researcher, but an empirical comparison is done
>anyways.

I don't see this as a significant problem with CAD TOOLS. The reviewers of the
research paper should make sure that the paper is not published unless it has a
clear description of experimental conditions (as they often require, e.g., in
physics).

>  - In many new algorithms put forward, the research fails to formally prove
>   that the new algorithm is correct.  In many cases a formal proof might be
>   impossible to do.

I would just say "hard". But in any case, have you seen a proof that Mentor or
Cadence tools are correct ???

> Many times in cases like these, only a few items are
>   tested in the new algorithm, and the method is assumed correct from then
>on.
>   The most useful publications in an area are ones which can formally prove
>a
>   method correct and be formally proved to be quicker(lower order of
>   complexity) than an existing method which is commonly used. 

Given that most CAD problems (at least in the area of combinatorial
optimization, that includes most automated tools, except simulation and layout
editors...) are NP-complete or harder, proving to be quicker would be worth a
Turing award at least :-).

In summary, I hope you were not "totally serious" and just trying to IMPROVE
THE QUALITY of the university tools, rather than trying to kill them as a
whole.
This would be, in my humble opinion (and not only mine) a BIG mistake.

Luciano
-- 
Luciano Lavagno            luciano@ic.Berkeley.EDU            +1-510-642-5012
Dept. of EECS, 207-69 Cory Hall, Univ. of California, Berkeley, CA 94720, USA
Newsgroups: comp.lsi.cad