vlsitechnology.org /download /cif | |
Discussion of CIF format |
Web data books
Further information
The layout in both Magic and Graal shows CMOS layout drawn with separate N and P diffusions. Foundries however use a single diffusion layer, and separate N and P implant masks to identify the type. With Alliance, when converting the Graal layout to CIF, the implant masks are made by oversizing the diffusion areas. This leaves gaps which have no implant layer, which isn't acceptable for DSM technologies.
In Magic, the implant layers can be made by manipulating the diffusion, well and abutment box geometries, so that the entire cell is covered by either N or P implant. The CIF files written from Magic are cleaner too than the ones written from Alliance with S2r. The Alliance files have overlapping geometries and can contain zero width rectangles.
The CIF files written from Magic contain both the N and P diffusions and a single diffusion layer with N and P implants so that the layout can be visualised either way.
CIF format does not define a connector syntax. The workaround has been to use user defined extensions. The most common one is to declare a connector definition by starting the line with "94". The Alliance CIF uses a different convention, declaring a connector by a line starting with "4X". This is a VLSI Technology/Compass Design Automation convention, which isn't understood elsewhere. I have written a simple script which converts CIF files written by Alliance and using the "94" syntax to the "4X" syntax and successfully reading these CIF files into Magic.
I have used the MOSIS CIF layer definitions. These are not the same as the original Alliance ones. In order to read the CIF files in Alliance Dreal, you will need to use the right RDS files. Each directory with CIF or GDS files has a README file. If you source this, the correct variables will allow Dreal to view the files.
cd pharosc/magic/cif/vsclib013 source ./README |
An example CIF file. The layer CAA which defines all of the diffusion contains the geometries of layers CPD and CND which define the separate N and P diffusions.
( @@user : graham ); ( @@machine : kimchi ); ( @@source : iv1v0x2.mag ); ( @@tool : Magic 7.4.33 ); ( @@compiled : Thu Feb 1 20:26:32 CET 2007 ); ( @@technology : scmos ); ( @@version : 14-FEB-07 ); ( @@techdesc : vsclib 0.13um, Lambda=0.055um, 4LM ); ( @@style : lambda=0.055um(vsclib013) ); ( @@date : Thu May 17 09:10:21 2007 ); DS 1 1 4; 9 iv1v0x2; 4A 0 0 528 1584; L AB; B 528 1584 264 792; L CWN; B 704 968 264 1188; L CWP; B 704 792 264 308; L CPD; B 330 308 253 1298; B 374 308 231 990; L CND; B 374 308 231 418; L CAA; B 330 308 253 1298; B 374 308 231 990; B 374 308 231 418; L CPG; B 48 770 220 1157; B 158 136 275 704; B 48 484 220 394; L CCC; B 64 64 330 1386; B 64 64 330 1232; B 64 64 110 1078; B 64 64 110 924; B 64 64 110 506; B 64 64 330 484; B 64 64 110 352; B 64 64 330 330; B 64 64 286 704; L CM1; B 528 176 264 1496; B 132 220 330 1298; B 264 132 176 1056; B 110 132 99 924; B 88 286 88 715; B 88 352 440 946; B 264 132 352 704; B 110 286 99 429; B 88 374 330 363; B 528 176 264 88; L CSN; B 628 754 264 327; L CSP; B 628 930 264 1169; 94 z 88 704 CM1; 94 vss 264 88 CM1; 94 a 264 704 CM1; 94 z 264 1056 CM1; 94 vdd 264 1496 CM1; 94 a 440 880 CM1; L REF; 4N a_32 264 704; B 80 80 264 704; 4N z_48 264 1056; B 80 80 264 1056; 4N a_32 440 704; B 80 80 440 704; 4N a_40 440 880; B 80 80 440 880; 4N a_48 440 1056; B 80 80 440 1056; 4N z_16 88 352; B 80 80 88 352; 4N z_24 88 528; B 80 80 88 528; 4N z_32 88 704; B 80 80 88 704; 4N z_40 88 880; B 80 80 88 880; 4N z_48 88 1056; B 80 80 88 1056; DF; C 1; End |