Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Path: utzoo!mnetor!uunet!seismo!ut-sally!husc6!bloom-beacon!think!ames!ucbcad!ucbvax!zion.berkeley.edu!spp From: spp@zion.berkeley.edu (Steve Pope) Newsgroups: comp.lsi Subject: Re: A Definition of Silicon Compilation Message-ID: <19746@ucbvax.BERKELEY.EDU> Date: Fri, 17-Jul-87 11:38:19 EDT Article-I.D.: ucbvax.19746 Posted: Fri Jul 17 11:38:19 1987 Date-Received: Sat, 18-Jul-87 14:31:34 EDT References: <7031@sci.UUCP> Sender: usenet@ucbvax.BERKELEY.EDU Reply-To: spp@zion (Steve Pope) Organization: Experimental Computing Facility, U.C. Berkeley Lines: 35 Keywords: silicon compiler defintion I will add just a few things to this discussion. The term "silicon compiler" was coined 10 or more years ago by, if I'm not mistaken, Ron Ayres. The original intent was quite obvious; to design a circuit layout by other than manipulating geometries, by using something a little higher level. Nothing more specific was spelled out at the time. As the term evolved, things which are called silicon compilers are more or less of two types. The first type, which is the less common and probably the least useful, involves something which compiles a transistor net-list (or equivalent higher-level representation) into a cell layout. The second type, which accounts for most of the silicon compliers out there (including all the commercial products I've seen) uses the following passes: a high-level front-end, the input to which may be either textual or graphical; a module generator, which generally accesses a cell library and produces two-dimensional blocks or macrocells of circuitry; and a place-and-route program (which sometimes is partially interactive). These passes correspond to the passes of a programming language compiler. Usually, two-dimensional module generation (as opposed to one-dimensional as in a standard-cell system) is a requirement. Also, to be called a compiler, the system should be able to produce a wide variety of circuits, not just a narrow subset such as PLA's or RAM's. Of course, other more restrictive definitions are possible. steve