Comments (6)
I now realize that my labels should be ports, which I found out by reading archived emails and ctrl-F searching for "extresist". My problem doesn't exist anymore, thanks for keeping old emails in the website.
from magic.
I really need to update some of the tutorials with newer information. The original extresist would only extract nets between transistor terminals, so a resistor ending in a label would be completely ignored. I did not attempt to mess with that general principle of ignoring dangling wires going to nowhere, but I did add the capability to treat a port as a driver or receiver point.
I'm glad the email archive was useful (even if the documentation was lacking)!
from magic.
Something still bothers me... the behavior is not really consistent as I thought so. I created another simple circuit with ports and "extresist" crashed everytime I ran it, but when I created a complete circuit, with VDD, GND, NMOS and PMOS, it worked fine with the ports. I feel that for educational purposes at least, being able to create a model of a single line of polysilicon should be possible, instead of only "complete circuits". Here's a print of the minimal setup I needed for extresist not crashing with ports, which makes sense with your description of looking for wires between transistors. While trying to understand it earlier I figured it could be an actual project decision.
A few more things bugging my head:
-
The tutorial file (tut8r.mag) doesn't use any ports whatsoever and it still extracts resistances as I expected, without segmentation faults.
-
"ext2sim" running in "example.ext" sometimes creates "example.ext.sim" and sometimes "example.sim" (same thing happens with .nodes whenever labels are on).
By the way, your initiative is amazing, Tim, and I really hope I could learn the most out of Magic so I can contribute with it as well someday. Thank you very much.
from magic.
If your layout crashes extresist, please post the layout file, as I would like to use it to debug the (first) problem. I am inclined not to worry about the ".ext.sim" problem because my goal (which I hope to get around to soon, because it is becoming a high priority) is to get rid of the dependence of "extresist" on the .sim files completely. The .ext files have all the needed information, and the .sim files are missing some needed information. This goal would also simplify the full-parasitic extraction to just a few commands.
from magic.
Here are the files of a layout that crashes extresist.
An interesting thing about it: I made the substrate a port so I could connect it anyway I'd prefer in spice, but (even though extresist crashes), the ext2spice output doesn't present the body connection in PIN 4 of the FET model, but it uses a "Gnd" that I never included.
.option scale=1u
.subckt crashte source drain in body
M1000 drain in source Gnd nfet w=5 l=2
+ ad=30 pd=22 as=30 ps=22
C0 in Gnd 11.27fF
.ends
from magic.
The "Gnd" connection is a limitation of the SCMOS technology files. . . they are old and do not have support for some things like substrate extraction that I added to Magic. But it is also a limitation of the .sim format, which has no concept of a substrate at all (all .sim transistors are 3-terminal devices). Which is why I want to remove the dependence on the .sim format.
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
- extresist : output of TOP.res.ext halts at 98,304 bytes with a segmentation fault error message. HOT 7
- 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.