discuss-gnu-electric
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Creating transistor nodes with multicut rules in Electric tech. edit


From: Steven Rubin
Subject: Re: Creating transistor nodes with multicut rules in Electric tech. editor
Date: Mon, 15 Dec 2003 08:07:23 -0800


I've been working on creating an Electric technology library so it can be
used for full-custom designs for our chosen foundry. Largely I have had no
problems and have successfully extracted and DRC-checked Electric's GDS-II
output with third-party tools.

The problem I now have is that I can't make nMOS and pMOS transistor
primitives where a varying number of Active-Metal1 contacts are inserted
as the transistor is made wider. As far as I can determine, the Electric
technology compiler does not seem to determine multicut rules for
transistor primitives. The 'mocmos' technology source file provides
additional C routines to allow it to do this for the
'*-Scalable-Transistor' primitives.

Can Electric's technology editor derive multicut rules for transistors?

I have tried numerous examples, for instance:
  http://www.cl.cam.ac.uk/users/afw27/transient/scalable.gif
In every case I have tried converting the library into a technology
Electric has either complained about unassociated contacts, differing
number of contacts in the examples or failed to infer the rule.

What I would ideally like to do is to instantiate an nMOS primitive and
then change the width from, say, 100 to 1000 units, and have Electric
automatically add more contacts. Is this possible just using the
technology editor to create the technology library?

If not, does this mean I have to integrate the mocmos
'Scalable-Transistor' code into the dumped C code of the technology
library I have built, or can anyone offer an easier way of doing this?

Electric's technology editor cannot ever be as powerful as the C code that it generates. You are right: the current version does not understand the "scalable-transistor" primitives of the "mocmos" technology. That means you cannot build contacts into a transistor and expect it to understand. This is why it all boils down to code in the end: there are many special-cases that only hand-coding can solve.

One alternative to hand-editing the results of tech-edit is to enhance the technology editor itself. However, one look at that code will convince you that it is easier to use the "scalable transistor" code in "mocmos.c".

   -Steven Rubin





reply via email to

[Prev in Thread] Current Thread [Next in Thread]