Free Electronic Lab

Opensource EDA software development, some thoughts about the EDA/Semiconductor industry and Mixed-signal integrated circuit design

magic : Use of LEF/DEF files


This is still a draft page.

Lef section

This section defines a mapping between magic layers and layers that may be found in LEF and DEF format files. Without the section, magic cannot read a LEF or DEF file. The LEF and DEF layer declarations are usually simple and straightforward (as they typically define metal layers only), so often it will suffice to insert a plain vanilla lef section into a technology file if one is missing. The lef section was introduced in technology file format 28, and is therefore absent from all .tech27technology files. All of the statements in the lef section have the same format:

layer magic-type lefdef-type ...
cut magic-type lefdef-type ...
route|routing magic-type lefdef-type ...
obstruction magic-type lefdef-type ...
obstruction magic-type1,magic-type2 lefdef-cut-type ...
masterslice magic-type lefdef-type ...
overlap magic-type lefdef-type ...
ignore lefdef-type ...

Each statement defines a mapping between a Magic layer type magic-type and one or more type names lefdef-type (space-separated) that might be encountered in a LEF or DEF file. The different command names all refer to different type classes defined by the LEF/DEF specification. For most purposes, it is only necessary to use the layer statement. If the magic type is a contact type, then the layer statement is equivalent to specifying cut; otherwise, it is equivalent to route.

Note the special case of “obstruction” in which the magic tile type is a comma-separated list of exactly two types. Because magic contacts are normally defined as existing on the two metal planes they connect, rather than existing on a separate plane in-between, there may not be a correct way do define a via layer obstruction. In such a case, it may be helpful to define the LEF layer as corresponding to the two residue types that define the layers connected by the contact type.

The “ignore” keyword tells Magic to ignore the LEF layer types listed. Any geometry found defined on ignored layers will be discarded without comment. This can be useful, for example, to ignore geometry on the poly or active layers when one does not expect to route on the active plane.

Table 11 is a typical lef section for a 5-metal technology, which encompasses the most commonly used layer names found in LEF and DEF files.

Table 11: A plain vanilla lef section.
lef
masterslice ndiff diffusion active
masterslice poly poly POLY1 pl
routing m1 m1 metal1 METAL1 METAL_1
routing m2 m2 metal2 METAL2 METAL_2
routing m3 m3 metal3 METAL3 METAL_3
routing m4 m4 metal4 METAL4 METAL_4
routing m5 m5 metal5 METAL5 METAL_5
cut pc cont1 pl-m1
cut m2c via1 cont2 VIA12 m1-m2
cut m3c via2 cont3 VIA23 m2-m3
cut m4c via3 cont4 VIA34 m3-m4
cut m5c via4 cont5 VIA45 m4-m5
overlap comment overlap OVERLAP
end


Leave a Reply

Please log in using one of these methods to post your comment:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Connecting to %s

Profile

Chitlesh Goorah
Digital IC design engineer
Neuchâtel, Switzerland

Read the blog ….


This blog is featured on Sean Murphy's EDA blogger list.

Also, on a side track, I sometimes write about the success stories of opensource EDA tools on [open electrons] on edacafe.com.

Enter your email address to subscribe to this blog and receive notifications of new posts by email.

Join 27 other followers

Archives

Je touitte – I tweet

Follow

Get every new post delivered to your Inbox.

Join 27 other followers

%d bloggers like this: