should magic be able to extract mosfet subcircuit ...
# magic
a
should magic be able to extract mosfet subcircuit with exact source and drain area/perimeter when the entire cell is just the mosfet, without the ext2spice -d option? I'm getting all zeros without the -d option and the -d option result doen't seem to make sense at all. The nodes and connections after extraction works great tho, just wondering how it works and how magic detects diffusion areas so I can double check whether I'm defining anything wrong
t
I deprecated the "-d" option recently and had magic find the gate and source areas and perimeters individually for each device, dividing among the number of devices connected to the same area when needed. You didn't indicate what result you were getting. The "`*psilicide`" for the drain and source indicates
psilicide
plus its contact type(s), so the contact section needs to be properly defined or the contact area might not get counted. Your extract section is missing a
lambda
statement and does not use `units microns`; if the width and length of the device are coming out right in the netlist, then the
lambda
is probably okay. I implemented the subcircuit parameters relatively recently and may have never tested it with a tech file that doesn't use
units microns
, which might also impact how the values are computed. Finally, what version of magic are you using?
a
image.png
this is the results I got, and I'm using magic verison 8.3.413
This is the psilicide contact defined
I added
units micron
, ad, pd, as, ps are all 0s
image.png
t
@Anderson Hsieh: The current magic version is 8.3.460 and I did some significant work on separating out individual source/drain areas and perimeters that very likely post-date your version, so you probably want to update first.
a
ok I will do a update right now
it works now, thank you!
t
Good to know!
a
@Tim Edwards I shrunk the diffusion area down to 2*200 grids each side (source/drain), this is how the numbers turn out. Each grid is 0.5um * 0.5um = 0.025um^2 but the numbers seems to still be in lambda, not microns. this is with the
units microns
statement. Any chance you may know what went wrong?
image.png