Comments (7)
@3zki Can you at least share the magic commands that you are using to extract the layout.
from magic.
(sorry I made a mistake)
@d-m-bailey Here are the commands I ran
% gds read "layout_flatten.gds"
% load TOP
% select top cell
% expand
% extract all
% ext2sim labels on
% ext2sim
% extresist tolerance 10
% extresist simplify on
% extresist
Log:
user@DESKTOP:~$ magic -dnull -noconsole
Magic 8.3 revision 473 - Compiled on Sun Apr 14 01:22:16 JST 2024.
Starting magic under Tcl interpreter
Using the terminal as the console.
Using NULL graphics device.
Processing system .magicrc file
Sourcing design .magicrc for technology gf180mcuD ...
10 Magic internal units = 1 Lambda
Input style import: scaleFactor=10, multiplier=2
The following types are not handled by extraction and will be treated as non-electrical types:
obsactive mvobsactive filldiff fillpoly m1hole obsm1 fillm1 obsv1 m2hole obsm2 fillm2 obsv2 m3hole obsm3 fillm3 m4hole obsm4 fillm4 m5hole obsm5 fillm5 glass fillblock lvstext obscomment
Scaled tech values by 10 / 1 to match internal grid scaling
Loading gf180mcuD Device Generator Menu ...
Using technology "gf180mcuD", version 1.0.470-0-g6d4d117
% gds read "layout_flatten.gds"
Warning: Calma reading is not undoable! I hope that's OK.
Library written using GDS-II Release 6.0
Library name: LIB
Reading "TOP".
% load TOP
% select top cell
Topmost cell in the window
% expand
% extract all
Extracting TOP into TOP.ext:
% ext2sim labels on
% ext2sim
exttosim finished.
% extresist tolerance 10
% extresist simplify on
% extresist
Port: name = vdd exists, forcing drivepoint
Location is (-20546, -3587); drivepoint (-20547, -3588)
Port: name = vout exists, forcing drivepoint
Location is (18504, 70628); drivepoint (18504, 70628)
Port: name = vss exists, forcing drivepoint
Location is (-20379, -7397); drivepoint (-20380, -7398)
Adding a_n4171_8677#; Tnew = 0.02ns, Told = 0.00ns
Adding a_n3884_17415#; Tnew = 0.02ns, Told = 0.00ns
Adding a_n16913_8764#; Tnew = 0.14ns, Told = 0.00ns
Adding w_n17293_8626#; Tnew = 20.04ns, Told = 0.00ns
Adding a_n10549_8764#; Tnew = 0.09ns, Told = 0.02ns
Adding w_8627_2519#; Tnew = 7.29ns, Told = 0.00ns
Adding a_n7393_5583#; Tnew = 0.18ns, Told = 0.00ns
Adding a_n14675_11203#; Tnew = 0.19ns, Told = 0.00ns
Adding a_n14759_31476#; Tnew = 0.46ns, Told = 0.00ns
Segmentation fault
user@DESKTOP:~$
Then magic crashed leaving 98,304 bytes of TOP.res.ext.
from magic.
@3zki : There is a known issue in extresist for non-manhattan geometry of a device; I have seen this cause a segfault when extracting the ESD transistors (with flanged 45 degree gates) in the sky130 I/O pads. I'm not aware of any non-manhattan device geometry in gf180mcuD, though. Can you please share the layout?
from magic.
@RTimothyEdwards Here it is.
https://github.com/ishi-kai/Chipathon2023_ADC/blob/main/noritsuna/ldo/waffle/ldo_pex_7_waffle.zip
Labels are placed on the metal1 34/0 layer (instead of the metal1_label 34/10 layer) in the bipolar transistors, but removing them had the same result.
This layout contains non-manhattan geometry in the metal layer so probably they are the same issues.
from magic.
@3zki : I ran extraction on my computer and it completed without crashing; This could be due to some changes that I made the last time when I was working with a database that crashed on the non-Manhattan gate of the ESD device, but I am rather doubtful about it. I did not commit those changes because the changes were a quick patch to prevent crashing and do not fix the root of the problem. However, I will go ahead and commit the change now in the hope that you might be able to get a completed extraction. Note that while the extraction completed, I have not checked whether it is valid.
One thing I noted about your layout: I do not know how you created it, but the flattened labels are not being prepended with the instance name, and so labels in the bipolar transistors "B", "E", and "C" are forming direct shorts. You should at least run "extract unique" to make sure the labels are not shorting the nets and preventing them from extracting resistance properly.
from magic.
Magic version 8.3.474 possibly solves the crash issue. I have pushed to opencircuitdesign.com and the github mirror will update in about 6 hours.
Please note that even with the fix, the waffle geometry of the power transistor is a worst-case scenario for extresist and running extresist takes several hours.
from magic.
The extraction worked correctly. Thank you.
from magic.
Related Issues (20)
- DEF Write Error HOT 10
- Hierarchy under abstract cells is extracted and netlisted. HOT 3
- make font size adjustable HOT 3
- select more cell <instance> does not work.
- Devices from array not imported HOT 4
- ext2spice hierarchy off mode did not flatten a subcircuit HOT 1
- Magic extraction appears to be stuck in a loop. HOT 2
- LEF obstruction for nwell seems incomplete HOT 5
- Disallowed overlapping shapes between cells are not flagged if one shape completely overlaps the other.
- Technology file: include does not work anymore
- Parasitic intermittent crashes, reproducibility of extract files HOT 3
- erasing a corner makes labels fly to space HOT 4
- magic filename.mag shows only boring window since 8.7.472 with tcl enabled HOT 3
- Regression in DRC detection HOT 6
- Couldn't load file: /usr/local/lib/magic/tcl/tclmagic.so HOT 1
- magic crashes when placing a pcell in a layout that is read-only HOT 1
- extract style "lost" after running exttospice
- Extraction of custom mim caps partially broken
- implementation of stacked mimcaps HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from magic.