From viet at asicadvantage.com Thu Jan 11 09:50:56 2007 From: viet at asicadvantage.com (Viet Dinh) Date: Thu Oct 30 14:33:57 2008 Subject: [Magic-dev] DBPlanetoResidue missing in magic-7.4.32? Message-ID: <45A67900.3070805@asicadvantage.com> I compiled magic-7.4.32 and tried running it but I get this error message: loading history file ... 48 events added error in slave eval: couldn't load file "/tmp/lib/magic/tcl/tclmagic.so": /tmp/lib/magic/tcl/tclmagic.so: undefined symbol: DBPlanetoResidue Main console display active (Tcl8.4.13 / Tk8.4.13) (bin) 49 % I ran "grep -r DBPlanetoResidue *" from the root of the extracted magic directory. grep -r DBPlanetoResidue * extract/ExtCouple.c: thisType = DBPlanetoResidue(thisType, thisPlane); Binary file extract/ExtCouple.o matches Binary file extract/libextract.o matches Binary file magic/tclmagic.so matches make.log:/tmp/magic/extract/ExtCouple.c:286: undefined reference to `DBPlanetoResidue' I did the same for magic-7.4.30 and there is no reference to DBPlanetoResdiue anywhere. Am I missing something? Thanks, Viet ------------------------------------------------------------------------------ This email may contain confidential and/or proprietary material for the sole use of the intended recipient. Be aware that any disclosure, copying, distribution or other unintended use of its contents, without the express permission of ASIC Advantage, INC. is prohibited. From sebasroy at gel.ulaval.ca Wed Jan 17 13:05:49 2007 From: sebasroy at gel.ulaval.ca (=?ISO-8859-1?Q?S=E9bastien_Roy?=) Date: Thu Oct 30 14:34:01 2008 Subject: [Magic-dev] DBPlanetoResidue missing in magic-7.4.32? Message-ID: I just compiled magic 7.4.32 under Mac OS X and it runs without a hitch. I have also compiled it under Fedora Core 5, but I get the same problem as Viet Dinh (see below) when I try to run it. I've tried alternative methods of starting magic (without too much hope), but to no avail. > I compiled magic-7.4.32 and tried running it but I get this error > message: > > loading history file ... 48 events added > error in slave eval: > couldn't load file "/tmp/lib/magic/tcl/tclmagic.so": > /tmp/lib/magic/tcl/tclmagic.so: undefined symbol: DBPlanetoResidue > Main console display active (Tcl8.4.13 / Tk8.4.13) > (bin) 49 % Any ideas? Sebastien --------------------------------------------------------------------- Sebastien Roy, PhD, P. Eng. Associate Professor Dept. of electrical and computer engineering Universite Laval Quebec (Quebec) G1K 7P4 T: 1-418-656-2131, ext. 2981 F: 1-418-656-3159 S.Roy@ieee.org Avis relatif ? la confidentialit? Ce message contient des renseignements qui peuvent ?tre confidentiels ou prot?g?s. Il s'adresse au destinataire pr?vu ou ? une personne autoris?e ? le recevoir en son nom.? Si vous l'avez re?u par erreur, nous vous prions d'en informer l'auteur dans les meilleurs d?lais, de ne pas divulguer son contenu et de le supprimer de votre syst?me. ========================= Notice of Confidentiality This message contains information that may be confidential or privileged.? It is intended for the exclusive use of the addressee or any person entitled to receive it.? If you received this message in error,? please inform the author as soon as possible, do not disclose its contents and delete it from your system. -------------- next part -------------- A non-text attachment was scrubbed... Name: not available Type: text/enriched Size: 2187 bytes Desc: not available Url : http://vlsi.csl.cornell.edu/pipermail/magic-dev/attachments/20070117/245aac23/attachment.bin From tim.edwards at multigig.com Wed Jan 17 23:09:03 2007 From: tim.edwards at multigig.com (R. Timothy Edwards) Date: Thu Oct 30 14:34:01 2008 Subject: [Magic-dev] Re: Re. 0.13um parameter file In-Reply-To: <82087A46029CB74A9EA3AA6AA31A367393D9FC@stexchange1.students.ltu.edu.au> References: <82087A46029CB74A9EA3AA6AA31A367393D9FC@stexchange1.students.ltu.edu.au> Message-ID: <45AF1D0F.2000406@multigig.com> Dear Harsh, > I am a student pursuing Masters degree in Microelectronics Engg. and undertaking > project on structured ASIC development. I am using 0.13um process from chartered > semiconductor. Could you kindly inform me from where can I get .prm file for the > same process (chartered or tsmc) or do you have .prm file for the same process? It would probably be a bad idea to trust the results of IRSIM to the point that the exact values in a .prm file make a difference to the simulation. If you are using, for example, reasonably well-designed standard cells, you should be able to generate a .prm file with decent values. Nevertheless, you probably want the most accurate values you can get, and it's not an unreasonable request. I looked at the set of .prm files available from Jeff Sondeen and most of these have only a few useful values in them, far from being comprehensive. The worst thing is that I don't know of any documentation describing what values can go into an IRSIM .prm file, what they mean, or what values they take. With that information, it's reasonably easy to fill in a few values from the process electrical parameters manual. I will try to write up a complete description of the .prm file format over the weekend and post it on the opencircuitdesign web page for IRSIM. I am also CC'ing this message to the magic-dev group in case anybody reading it knows of any documentation covering the .prm file format. Regards, Tim +--------------------------------+-------------------------------------+ | Dr. R. Timothy Edwards (Tim) | email: tim.edwards@multigig.com | | MultiGiG, Inc. | web: http://www.multigig.com | | 100 Enterprise Way, Suite A-3 | phone: (831) 621-3283 | | Scotts Valley, CA 95066 | cell: (240) 401-0616 | +--------------------------------+-------------------------------------+ From Mark.Martin at jhuapl.edu Thu Jan 18 09:22:44 2007 From: Mark.Martin at jhuapl.edu (Martin, Mark) Date: Thu Oct 30 14:34:01 2008 Subject: [Magic-dev] Re: Re. 0.13um parameter file In-Reply-To: <45AF1D0F.2000406@multigig.com> References: <82087A46029CB74A9EA3AA6AA31A367393D9FC@stexchange1.students.ltu.edu.au> <45AF1D0F.2000406@multigig.com> Message-ID: <2B7AE358F7B72040879A71F946D99CA70282B4CD@aplesjustice.dom1.jhuapl.edu> Under the lib directory of the irsim source, you should find a calibrate_spice3 and a calibrate_hspice directory. The README under the calibrate_spice3 directory gives a description, of the prm file. There you will also find a script, some c code and sample decks to run spice and generate irsim parameters based on the simulation results. The scripts under calibrate_hspice are similar, but make use of the MEASURE feature in hspice to extract the numbers instead of the findr.c program in the calibrate_spice3 directory. Hope this helps Mark > -----Original Message----- > From: magic-dev-bounces@csl.cornell.edu > [mailto:magic-dev-bounces@csl.cornell.edu] On Behalf Of R. > Timothy Edwards > Sent: Thursday, January 18, 2007 2:09 AM > To: HARSH RAMESHCHANDRA TRIVEDI > Cc: magic-dev@csl.cornell.edu > Subject: [Magic-dev] Re: Re. 0.13um parameter file > > Dear Harsh, > > > I am a student pursuing Masters degree in Microelectronics > Engg. and > > undertaking project on structured ASIC development. I am > using 0.13um > > process from chartered semiconductor. Could you kindly > inform me from > > where can I get .prm file for the same process (chartered > or tsmc) or do you have .prm file for the same process? > > It would probably be a bad idea to trust the results of IRSIM > to the point that the exact values in a .prm file make a > difference to the simulation. If you are using, for example, > reasonably well-designed standard cells, you should be able > to generate a .prm file with decent values. Nevertheless, > you probably want the most accurate values you can get, and > it's not an unreasonable request. > > I looked at the set of .prm files available from Jeff Sondeen > and most of these have only a few useful values in them, far > from being comprehensive. > > The worst thing is that I don't know of any documentation > describing what values can go into an IRSIM .prm file, what > they mean, or what values they take. With that information, > it's reasonably easy to fill in a few values from the process > electrical parameters manual. > > I will try to write up a complete description of the .prm > file format over the weekend and post it on the > opencircuitdesign web page for IRSIM. I am also CC'ing this > message to the magic-dev group in case anybody reading it > knows of any documentation covering the .prm file format. > > Regards, > Tim > > +--------------------------------+---------------------------- > ---------+ > | Dr. R. Timothy Edwards (Tim) | email: > tim.edwards@multigig.com | > | MultiGiG, Inc. | web: > http://www.multigig.com | > | 100 Enterprise Way, Suite A-3 | phone: (831) 621-3283 > | > | Scotts Valley, CA 95066 | cell: (240) 401-0616 > | > +--------------------------------+---------------------------- > ---------+ > > _______________________________________________ > magic-dev mailing list > magic-dev@vlsi.cornell.edu > http://vlsi.csl.cornell.edu/mailman/listinfo/magic-dev > From nestorj at lafayette.edu Thu Jan 18 10:57:41 2007 From: nestorj at lafayette.edu (John Nestor) Date: Thu Oct 30 14:34:01 2008 Subject: [Magic-dev] Xcircuit: seg fault on OS X 10.4 Message-ID: Hello, I am trying to run xcircuit on my iBook running OS X 10.4.8. Compile and install went smoothly, but when I try to run it from Xwindows I get a segmentation fault with the following message: /usr/bin/wish: line 2: 3863 Segmentation fault "$(dirname $0)/../../System/Library/Frameworks/Tk.framework/Versions/8.4/Resources/Wish Shell.app/Contents/MacOS/Wish Shell" "$@ Any suggestions about what to do? Thanks! -- John Nestor, Associate Professor ECE Department Lafayette College Easton, PA 18042 http://foghorn.cadlab.lafayette.edu/~nestorj From tim.edwards at multigig.com Thu Jan 18 10:42:16 2007 From: tim.edwards at multigig.com (R. Timothy Edwards) Date: Thu Oct 30 14:34:01 2008 Subject: [Magic-dev] Re: Magic 7.4 runtime error In-Reply-To: <6D8558D03563D341BEFDF4037A67FE3A94CA45@exchangemb1.bnl.gov> References: <6D8558D03563D341BEFDF4037A67FE3A94CA45@exchangemb1.bnl.gov> Message-ID: <45AFBF88.6000201@multigig.com> Dear Anand, > After some hardship, I got magic 7.4 (cvs snapshot as of last nite) > compiled in RHEL WS 4.0 X64 machine, Now when I try to run magic, I > get "couldn't load file "/cad/lib/magic/tcl/tclmagic.so": > /cad/lib/magic/tcl/tclmagic.so: Undefined symbol: DBPlanetoResidue" Sorry, it looks like a typo got into the distribution. If you change extract/ExtCouple.c line 286 from "DBPlanetoResidue" to "DBPlaneToResidue" everything should be okay. I'll fix the 7.4 distribution. Thanks, Tim +--------------------------------+-------------------------------------+ | Dr. R. Timothy Edwards (Tim) | email: tim.edwards@multigig.com | | MultiGiG, Inc. | web: http://www.multigig.com | | 100 Enterprise Way, Suite A-3 | phone: (831) 621-3283 | | Scotts Valley, CA 95066 | cell: (240) 401-0616 | +--------------------------------+-------------------------------------+ From chitlesh at fedoraproject.org Fri Jan 19 20:49:34 2007 From: chitlesh at fedoraproject.org (Chitlesh GOORAH) Date: Thu Oct 30 14:34:01 2008 Subject: [Magic-dev] DBPlanetoResidue missing in magic-7.4.32? In-Reply-To: References: Message-ID: <13dbfe4f0701191149k7881fad8s244a050fd37804e@mail.gmail.com> On 1/17/07, S?bastien Roy wrote: > I just compiled magic 7.4.32 under Mac OS X and it runs without a > hitch. I have also compiled it under Fedora Core 5, but I get the same > problem as Viet Dinh (see below) when I try to run it. I've tried > alternative methods of starting magic (without too much hope), but to > no avail. Hello there, I'm having that error as well on Fedora Core 6 with magic-7.4.32. http://chitlesh.googlepages.com/snapshot53.jpg Are there some special build-requires for magic ? Is there any icon for magic so that a desktop file of magic can pull for kmenu or gnome menu ? http://chitlesh.googlepages.com/magic.desktop However, if I have working magic package, I'll be pushing it to official Fedora repositories. Chitlesh -- http://clunixchit.blogspot.com From chitlesh at fedoraproject.org Sat Jan 20 14:31:22 2007 From: chitlesh at fedoraproject.org (Chitlesh GOORAH) Date: Thu Oct 30 14:34:01 2008 Subject: [Magic-dev] 3D display error Message-ID: <13dbfe4f0701200531y1bfa7341r1baa6ab3ed015908@mail.gmail.com> Hello there, I'm having trouble with the 3D display. On Options > 3D display, I have the following error messages: invalid command name ".render.magic" invalid command name ".render.magic" while executing ".render.magic cutbox box" (procedure "magic::render3d" line 7) invoked from within "magic::render3d [.layout1.magic cellname list window] " invoked from within ".layout1.titlebar.optsbutton.optsmenu invoke active" ("uplevel" body line 1) invoked from within "uplevel #0 [list $w invoke active]" (procedure "tk::MenuInvoke" line 50) invoked from within "tk::MenuInvoke .layout1.titlebar.optsbutton.optsmenu 1" (command bound to event) What could be wrong with my magic ? Chitlesh -- http://clunixchit.blogspot.com From nestorj at lafayette.edu Sat Jan 20 13:07:09 2007 From: nestorj at lafayette.edu (John Nestor) Date: Thu Oct 30 14:34:01 2008 Subject: [Magic-dev] Xcircuit: seg fault on OS X 10.4 In-Reply-To: Message-ID: Here's a followup. It appears that the problem is that xcircuit wants to start "wish", which is part of tcl/tk. But, the version of wish running on OS X tiger runs under aqua, the standard Mac windowing system. It appears that I need an X11 version of wish. Any suggestions about how to get this? Thanks, John On 1/18/07 10:57 AM, "John Nestor" wrote: > Hello, > > I am trying to run xcircuit on my iBook running OS X 10.4.8. Compile and > install went smoothly, but when I try to run it from Xwindows I get a > segmentation fault with the following message: > > /usr/bin/wish: line 2: 3863 Segmentation fault "$(dirname > $0)/../../System/Library/Frameworks/Tk.framework/Versions/8.4/Resources/Wish > Shell.app/Contents/MacOS/Wish Shell" "$@ > > Any suggestions about what to do? Thanks! -- John Nestor, Associate Professor ECE Department Lafayette College Easton, PA 18042 nestorj@lafayette.edu http://foghorn.cadlab.lafayette.edu/~nestorj From philippe at alpha.ece.jhu.edu Sun Jan 21 13:27:58 2007 From: philippe at alpha.ece.jhu.edu (Philippe Pouliquen) Date: Thu Oct 30 14:34:01 2008 Subject: [Magic-dev] Xcircuit: seg fault on OS X 10.4 In-Reply-To: References: Message-ID: <20070121132426.N855@alpha.ece.jhu.edu> Hi John, > Here's a followup. It appears that the problem is that xcircuit wants > to start "wish", which is part of tcl/tk. But, the version of wish > running on OS X tiger runs under aqua, the standard Mac windowing > system. It appears that I need an X11 version of wish. Any suggestions > about how to get this? Download MacPorts from Apple's web site (http://www.apple.com/downloads/macosx/unix_open_source/macports.html). If someone has ported an X11 version of wish, that's most likely where it will be... Philippe Pouliquen The Johns Hopkins University From fang at csl.cornell.edu Sun Jan 21 15:40:25 2007 From: fang at csl.cornell.edu (David Fang) Date: Thu Oct 30 14:34:01 2008 Subject: [Magic-dev] Xcircuit: seg fault on OS X 10.4 In-Reply-To: Message-ID: <20070121153657.S97159-100000@maxwell.csl.cornell.edu> > Here's a followup. It appears that the problem is that xcircuit wants to > start "wish", which is part of tcl/tk. But, the version of wish running on > OS X tiger runs under aqua, the standard Mac windowing system. It appears > that I need an X11 version of wish. Any suggestions about how to get this? 'fink' is a package-manager for Mac OS X, and contains thousands of open source packages including Tck/Tk. http://fink.sourceforge.net/ After you install it, you can run: fink install tcltk By default fink-managed installations (including itself) reside in the /sw tree. Direct 'configure' to look for Tck/Tk there instead of the default. (something like: --with-tcl=/sw) HTH, David Fang Computer Systems Laboratory Electrical & Computer Engineering Cornell University http://www.csl.cornell.edu/~fang/ -- (2400 baud? Netscape 3.0?? lynx??? No problem!) From tim.edwards at multigig.com Tue Jan 23 07:15:39 2007 From: tim.edwards at multigig.com (R. Timothy Edwards) Date: Thu Oct 30 14:34:01 2008 Subject: [Magic-dev] Re: Tool for Electromigration. In-Reply-To: <20070123061749.59272.qmail@web8702.mail.in.yahoo.com> References: <20070123061749.59272.qmail@web8702.mail.in.yahoo.com> Message-ID: <45B6269B.6060804@multigig.com> Dear Rachit, > I am working on magic tool and have a issue with > electromigration check.Is there any enhancement tool with magic to check > electromigration at a particular frequency.Please tell if it is not > available. There is nothing in the Magic DRC code that understands the electrical network. Electromigration checks require some estimate of (at least) DC current throughout the circuit. It might be possible to make such a check using a combination of extresist (to get detailed resistance or width measurements on line segments) and pulling a DC operating point from SPICE. I'm not aware of anyone who has ever done this. ---Tim +--------------------------------+-------------------------------------+ | Dr. R. Timothy Edwards (Tim) | email: tim.edwards@multigig.com | | MultiGiG, Inc. | web: http://www.multigig.com | | 100 Enterprise Way, Suite A-3 | phone: (831) 621-3283 | | Scotts Valley, CA 95066 | cell: (240) 401-0616 | +--------------------------------+-------------------------------------+ From viet at asicadvantage.com Mon Jan 22 16:34:16 2007 From: viet at asicadvantage.com (viet) Date: Thu Oct 30 14:34:01 2008 Subject: [Magic-dev] DBPlanetoResidue missing in magic-7.4.32? Message-ID: <45b55808.185.37e8.30158@asicadvantage.com> I was able to run it on Fedora Core 5 if I commented out lines 285 and 286 from the file extract/ExtCouple.c 285 //if (DBIsContact(thisType)) 286 // thisType = DBPlanetoResidue(thisType, thisPlane); I did not find DBPlanetoResidue anywhere else in the code so I do not know if this breaks anything. It still compiles. > On 1/17/07, S?bastien Roy wrote: > > I just compiled magic 7.4.32 under Mac OS X and it runs > > without a hitch. I have also compiled it under Fedora > > Core 5, but I get the same problem as Viet Dinh (see > > below) when I try to run it. I've tried alternative > > methods of starting magic (without too much hope), but > to no avail. > > Hello there, > I'm having that error as well on Fedora Core 6 with > magic-7.4.32. > http://chitlesh.googlepages.com/snapshot53.jpg Are there > some special build-requires for magic ? > > Is there any icon for magic so that a desktop file of > magic can pull for kmenu or gnome menu ? > http://chitlesh.googlepages.com/magic.desktop > > However, if I have working magic package, I'll be pushing > it to official Fedora repositories. > > Chitlesh > -- > http://clunixchit.blogspot.com > ------------------------------------------------------------------------------ This email may contain confidential and/or proprietary material for the sole use of the intended recipient. Be aware that any disclosure, copying, distribution or other unintended use of its contents, without the express permission of ASIC Advantage, INC. is prohibited. From viet at asicadvantage.com Mon Jan 22 16:39:27 2007 From: viet at asicadvantage.com (viet) Date: Thu Oct 30 14:34:01 2008 Subject: [Magic-dev] DBPlanetoResidue missing in magic-7.4.32? Message-ID: <45b5593f.272.3800.26968@asicadvantage.com> > On 1/17/07, S?bastien Roy wrote: > > I just compiled magic 7.4.32 under Mac OS X and it runs > > without a hitch. I have also compiled it under Fedora > > Core 5, but I get the same problem as Viet Dinh (see > > below) when I try to run it. I've tried alternative > > methods of starting magic (without too much hope), but > to no avail. > > Hello there, > I'm having that error as well on Fedora Core 6 with > magic-7.4.32. > http://chitlesh.googlepages.com/snapshot53.jpg Are there > some special build-requires for magic ? > Chitlesh I commented out lines 285 and 286 from extract/ExtCouple.c 285 //if (DBIsContact(thisType)) 286 // thisType = DBPlanetoResidue(thisType, thisPlane); It still compiles but now runs on Fedora Core 5. I do not know if this breaks anything in magic. This was the only file that has DBPlanetoResidue in it. ------------------------------------------------------------------------------ This email may contain confidential and/or proprietary material for the sole use of the intended recipient. Be aware that any disclosure, copying, distribution or other unintended use of its contents, without the express permission of ASIC Advantage, INC. is prohibited. From viet at asicadvantage.com Mon Jan 22 16:55:11 2007 From: viet at asicadvantage.com (viet) Date: Thu Oct 30 14:34:01 2008 Subject: [Magic-dev] Tech file segfaults Message-ID: <45b55cef.18e.3813.8433@asicadvantage.com> Magic segfaults on my techfile. In the cifoutput section, if I move "style cifdrc" and everything for that style above "style normal" magic will run. Or if it is just "style cifdrc" by itself magic will run. It is only when "style cifdrc" is at the end of the cifoutput section does it segfault. Is this a bug or is my techfile messed up? Command used: magic -T minpb.tech This is my techfile minpb.tech: tech 28 minimum end version version 0.0 description "Minimum technology file structure" end planes m1 end types m1 m1 end contact end styles styletype mos m1 20 end compose end connect end cifoutput style normal scalefactor 10 layer MET1 m1 calma 30 0 style cifdrc scalefactor 10 templayer MET1 m1 end cifinput end # mzrouter # end drc width m1 10 "Minimum width m1 is 10 " cifstyle cifdrc end extract end ------------------------------------------------------------------------------ This email may contain confidential and/or proprietary material for the sole use of the intended recipient. Be aware that any disclosure, copying, distribution or other unintended use of its contents, without the express permission of ASIC Advantage, INC. is prohibited. From chitlesh at fedoraproject.org Tue Jan 23 20:23:34 2007 From: chitlesh at fedoraproject.org (Chitlesh GOORAH) Date: Thu Oct 30 14:34:01 2008 Subject: [Magic-dev] DBPlanetoResidue missing in magic-7.4.32? In-Reply-To: <45b55808.185.37e8.30158@asicadvantage.com> References: <45b55808.185.37e8.30158@asicadvantage.com> Message-ID: <13dbfe4f0701231123w259e594bw692982af468fb814@mail.gmail.com> On 1/23/07, viet wrote: > I was able to run it on Fedora Core 5 if I commented out > lines 285 and 286 from the file > extract/ExtCouple.c Hello, I'm pushing magic to Fedora Repositories soon. Once it has been approved, it will be available via yum to download. https://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=223591 Meanwhile you can test the src.rpm package, of perhaps if you want I can ship you personnaly a working rpm for magic for fc5 and fc6 on i386. testing never hurts :) well if you want to join the review, go on :) Chitlesh -- http://clunixchit.blogspot.com From chitlesh at fedoraproject.org Tue Jan 23 20:31:38 2007 From: chitlesh at fedoraproject.org (Chitlesh GOORAH) Date: Thu Oct 30 14:34:01 2008 Subject: [Magic-dev] Tech file segfaults In-Reply-To: <45b55cef.18e.3813.8433@asicadvantage.com> References: <45b55cef.18e.3813.8433@asicadvantage.com> Message-ID: <13dbfe4f0701231131q16100c47v797e9f66d803491f@mail.gmail.com> On 1/23/07, viet wrote: > Magic segfaults on my techfile. In the cifoutput section, if > I move "style cifdrc" and everything for that style above > "style normal" magic will run. Or if it is just "style > cifdrc" by itself magic will run. It is only when "style > cifdrc" is at the end of the cifoutput section does it > segfault. Is this a bug or is my techfile messed up? > Command used: magic -T minpb.tech I confirm that I'm having the same crash on fc6 with that minpb.tech file. Chitlesh -- http://clunixchit.blogspot.com From nestorj at lafayette.edu Fri Jan 26 17:08:27 2007 From: nestorj at lafayette.edu (Nestor, John A) Date: Thu Oct 30 14:34:02 2008 Subject: [Magic-dev] IRSIM - PS output prints rotated Message-ID: Hello, I am trying to use IRSIM to print out a timing diagram as a PostScript file. When I try to print the file, it comes out rotated 90 degrees (in portrait mode) with the ends of the timing diagram chopped off. When I try examining the file with GhostScript (gs), it displays properly as portrait mode, although the rendered image itself is rotated 90 degrees CCW from what you'd like to see on the screen. I've tried printing the PS file on several printers and gotten the same result, except for one ancient LaserJet 5MP, which prints properly. Am I missing something basic here? Thanks, John From kecman at srl.caltech.edu Sat Jan 27 11:34:46 2007 From: kecman at srl.caltech.edu (Branislav Kecman) Date: Thu Oct 30 14:34:02 2008 Subject: [Magic-dev] IRSIM - PS output prints rotated In-Reply-To: References: Message-ID: Hi John, I encountered a similar problem, in my case only the right-hand side end of the timing diagram was chopped off due to inadvertent rotation from landscape to portrait mode. It has something to do with PostScript file settings and how a printer interprets them. I'm not an authority on this, so maybe somebody will tell us where to look and what to play with inside a PS file in order to get the orientation right. My work-around for this problem is to open the PS file with a PDF file viewer (I use Preview or Acrobat) which, of course, converts it to PDF first. But it's worthwhile, as it opens it automatically in landscape mode and the printing is straightforward, no need to rotate or tweak anything. I run IRSIM on a Linux machine and use a Mac for PDF viewing/printing. Regards, Branislav From vcsowmya at gmail.com Wed Jan 31 18:13:49 2007 From: vcsowmya at gmail.com (sowmya vc) Date: Thu Oct 30 14:34:03 2008 Subject: [Magic-dev] query Message-ID: <6a50e2d80701310443u29d1990bx5455609e565ce478@mail.gmail.com> sir, I have downloaded 7.1 version of Magic and installed it on a linux station. Installation was successful and when I start the tool, the graphical window doesnt display the toolbar stating the file and options and also there is no display that shows different metals, polys, vias etc. Its just displaying a plain window with a cursor and am able to run commands from console. am new to magic, can you suggest something to debug this? thanking you, sowmya -------------- next part -------------- An HTML attachment was scrubbed... URL: http://vlsi.csl.cornell.edu/pipermail/magic-dev/attachments/20070131/46c5d0fa/attachment.html From fang at csl.cornell.edu Wed Jan 31 11:23:56 2007 From: fang at csl.cornell.edu (David Fang) Date: Thu Oct 30 14:34:03 2008 Subject: [Magic-dev] query In-Reply-To: <6a50e2d80701310443u29d1990bx5455609e565ce478@mail.gmail.com> Message-ID: <20070131111523.L19786-100000@maxwell.csl.cornell.edu> > I have downloaded 7.1 version of Magic and installed it on a linux > station. Installation was successful and when I start the tool, the > graphical window doesnt display the toolbar stating the file and options and > also there is no display that shows different metals, polys, vias etc. Its > just displaying a plain window with a cursor and am able to run commands > from console. am new to magic, can you suggest something to debug this? Hi Sowmya, The window features you refer to are not present in magic-7.1, try one of the newer ones like 7.4 or 7.5: http://opencircuitdesign.com/magic/index.html Nevertheless, magic-7.1, though lacking in bells and whistles, is still quite usable for learning and even serious designs. :) David Fang Computer Systems Laboratory Electrical & Computer Engineering Cornell University http://www.csl.cornell.edu/~fang/ -- (2400 baud? Netscape 3.0?? lynx??? No problem!) From graham.petley at vlsitechnology.org Sun Feb 18 00:34:44 2007 From: graham.petley at vlsitechnology.org (Graham Petley) Date: Thu Oct 30 14:34:03 2008 Subject: [Magic-dev] Extraction of cross coupling caps with shielding Message-ID: <20070218083444.55593.qmail@web208.biz.mail.re2.yahoo.com> Hallo, I have found out that Magic extraction does not take account of shielding when calculating cross coupling capacitances between metal wires. Take the example below (you need to view this with a monospaced font). The numbers 1 and 2 are metal wires 1 and 2, and the letters S are a shielding wire. In the left hand example wire S is shielding metal 1 from 2. In the right hand example it is not. 111111111 111111111 SSSSSSSSSSS SS 22222222222 22222222222 I find that the cross coupling cap between 1 and 2 is the same. What changes is the cross coupling caps between 1 and S and 2 and S, which is lower in the right hand example. I'm using a Magic technology file that I wrote myself, so this could be the source of the error. But before I start investigating, I wondered if anyone could confirm how Magic should handle the extraction of cross coupling caps in the above situation. I'm using Magic 7.4 revision 33. Best regards, Graham Petley From johan.estrada at tunku.uady.mx Mon Mar 5 15:10:00 2007 From: johan.estrada at tunku.uady.mx (Johan Estrada) Date: Thu Oct 30 14:34:04 2008 Subject: [Magic-dev] Can't make cygwin/magic run on my XP PC Message-ID: <000601c75f6a$a70fa160$70cfd194@fmat.uady.mx> Dear friends developers of magic: Hope this mail find you well. I'm trying to make cygwin/magic (and hopefully IRSIM) to run on my laptop (Windows XP Professional SP2), following the instructions found in http://opencircuitdesign.com/magic/index.html. I'd already have installed the cygwin program, I even installed all the X11, Devel, Interpreters, Editors and archive options, and cygwin runs when I bring up a terminal. I type XWin -multiwindow and apparently it runs because I can see the X in my taskbar. But when I try to open another cygwin terminal, I type export DISPLAY=:0, and then oclock, and nothing happens! The prompt just displays an flashing _ and then the terminal doesn't responds to any key. The same happens when I do the instructions: 1. export PATH=$PATH:/usr/local/lib 2. export DISPLAY=":0" 3. wish after installing the Tcl-cygwind distribution and the same happens after installing the magic program. I just type magic and nothing happens! At this moment I have installed, uninstalled and installed again the cygwin/magic (even once installing ALL the cygwin program) and it's turning very frustrating. What could be happening? A friend has successfully runned magic in a PC using cygwing, doing the same steps that you provide. What could be the difference? It could be silly or naive on my part, but the only thing I can imagine, is that I have installed a "Parental Control" software in my computer, that monitors all internet traffic. Do you believe that this can interfere with the cygwin X11 use? I would like to receive some help from you guys, because I would really like to give magic a try. I have used LASI and from what I can read on the internet, magic is 100% much better software. Thanks in advance for all your help and time. Johan Estrada -------------- next part -------------- An HTML attachment was scrubbed... URL: http://vlsi.csl.cornell.edu/pipermail/magic-dev/attachments/20070305/3198d579/attachment.html From tim.edwards at multigig.com Mon Mar 5 13:49:13 2007 From: tim.edwards at multigig.com (R. Timothy Edwards) Date: Thu Oct 30 14:34:04 2008 Subject: [Magic-dev] Re: Can't make cygwin/magic run on my XP PC In-Reply-To: <000601c75f6a$a70fa160$70cfd194@fmat.uady.mx> References: <000601c75f6a$a70fa160$70cfd194@fmat.uady.mx> Message-ID: <45EC9059.9030909@multigig.com> Dear Johan, > I type XWin ?multiwindow and apparently it runs because I can see the X > in my taskbar. But when I try to open another cygwin terminal, I type > export DISPLAY=:0, and then oclock, and nothing happens! The prompt just > displays an flashing _ and then the terminal doesn?t responds to any key. If "oclock" isn't running, then I expect nothing you do with Tcl, magic, etc., will make any difference. That's why I threw in the simple test case, to check that the X11 server is fundamentally sound before proceeding. I suppose it is theoretically possible for parental control or spam control software to be responsible; if it is configured to prevent unauthorized pop-up windows, it may be able to intercept a window mapping request between the X11 server and Windows. If the software provides any statistics on blocked pop-ups, you might see if it records a window blocked whenever you attempt to run an X11 application. It does sound as if the applications are running, but the windows are not being displayed. You can try invoking magic from the Cygwin terminal as "magic -noconsole" or even "magic -dnull -noconsole". At least you should be able to confirm that Magic is running, even if the windows are not being displayed. Regards, Tim +--------------------------------+-------------------------------------+ | Dr. R. Timothy Edwards (Tim) | email: tim.edwards@multigig.com | | MultiGiG, Inc. | web: http://www.multigig.com | | 100 Enterprise Way, Suite A-3 | phone: (831) 621-3283 | | Scotts Valley, CA 95066 | cell: (240) 401-0616 | +--------------------------------+-------------------------------------+ From rpangrazio at gmail.com Tue Mar 6 15:20:08 2007 From: rpangrazio at gmail.com (Robert Pangrazio) Date: Thu Oct 30 14:34:05 2008 Subject: [Magic-dev] Dumb Newbie question Message-ID: I am trying to do some custom asic/ ic design work and was looking at using Magic and related tools to do so. What i want to do is this VHDL/Verilog -> Placement -> FPGA. Its been a little while since I did this and we used Mentor Graphics in school. Am I even on the right track with using these tools for that? If I am what other tools besides magic would I need. I am having problems figuring out how the data flows between the tools. Any help would be greatly appriciated. Bob -------------- next part -------------- An HTML attachment was scrubbed... URL: http://vlsi.csl.cornell.edu/pipermail/magic-dev/attachments/20070306/42b22016/attachment.html From svenn at bjerkem.de Wed Mar 7 09:31:17 2007 From: svenn at bjerkem.de (Svenn Are Bjerkem) Date: Thu Oct 30 14:34:05 2008 Subject: [Magic-dev] Re: Can't make cygwin/magic run on my XP PC In-Reply-To: <45EC9059.9030909@multigig.com> References: <000601c75f6a$a70fa160$70cfd194@fmat.uady.mx> <45EC9059.9030909@multigig.com> Message-ID: <1efff110703070031g580ec9caj7d206b451e9f7bcb@mail.gmail.com> On 3/5/07, R. Timothy Edwards wrote: > It does sound as if the applications are running, but the windows are > not being displayed. You can try invoking magic from the Cygwin > terminal as "magic -noconsole" or even "magic -dnull -noconsole". At > least you should be able to confirm that Magic is running, even if > the windows are not being displayed. > I can confirm that there may be a problem with the firewall if it is running on XP. Got a message from it that it had blocked a connection when I tried to start an X11-application on cygwin. -- Svenn From Charlie.Boecker_CONTRACTOR at Micrel.Com Thu Mar 15 14:54:15 2007 From: Charlie.Boecker_CONTRACTOR at Micrel.Com (Boecker, Charlie Contractor) Date: Thu Oct 30 14:34:05 2008 Subject: [Magic-dev] GDSII won't import Message-ID: <833282413A3D1040AFD8F935A5D70DBC230677@MALACHITE.micrel.com> I am having trouble importing stream files. I am typing the following command in tkcon: %calma read drc_temp3.gds and tkcon gives the following: Warning: Calma reading is not undoable! I hope that's OK. Library written using GDS-II Release 3.0 Library name: DRC_TEMP3.DB Reading "X601562". Reading "X60162". Reading "X60262". Reading "X651662". Reading "X65162". Reading "X65262". Reading "DEN162". Reading "X403462". Reading "X58162". Reading "DRC_TEMP3". Cell DRC_TEMP3.DB couldn't be found Creating new cell BTW, I am able to CIF in and out ok, but one of the tools that I am using has GDSII as its output. I am using the Cygwin binary download version of magic. Thanks, Charlie From fang at csl.cornell.edu Sat Apr 7 02:22:13 2007 From: fang at csl.cornell.edu (David Fang) Date: Thu Oct 30 14:34:05 2008 Subject: [Magic-dev] magic-7.1 Mac OS X fink package Message-ID: <20070407010057.V77544-200000@shannon.csl.cornell.edu> Mac OS X magic-users (fink), I've prepared and submitted a packaging for magic-7.1 to fink's package tracker for review. (I see that someone else has also submitted a package for the 7.4 series, nice!) I'm hoping that the package family will be able to support multiple versions, since some of us like it "old-school." :) If you'd like to preview the package and test it out, I've attached the .info file for testing. So far, I've tested it out on powerpc-darwin7, powerpc-darwin8, i686-darwin8. % cp magic71.info /sw/fink/dists/local/main/finkinfo/ % fink index % fink install magic71 and the executables (magic, ext2sim, net2ir, etc.) are installed as: /sw/bin/magic-7.1 etc. which are actually sym-linked to /sw/lib/magic71/bin/ Feedback is welcome, as always. Enjoy! David Fang Computer Systems Laboratory Electrical & Computer Engineering Cornell University http://www.csl.cornell.edu/~fang/ -- (2400 baud? Netscape 3.0?? lynx??? No problem!) -------------- next part -------------- Package: magic71 Version: 7.1-20070406 Revision: 1 Maintainer: David Fang Source: http://www.csl.cornell.edu/~fang/sw/magic-%v.tar.gz Source-MD5: 783cb2c585dd41fd7c7f5eaad81aa903 Conflicts: magic, magic72, magic73, magic74, magic75 Replaces: magic, magic72, magic73, magic74, magic75 License: BSD Homepage: http://vlsi.cornell.edu/magic/ Description: Very capable VLSI layout CAD tool BuildDepends: readline, x11-dev Depends: readline-shlibs, x11-shlibs DocFiles: README.FIRST READ_ME TODO ChangeLog DescDetail: << Magic is a venerable VLSI layout tool, written in the 1980's at Berkeley by John Ousterhout, now famous primarily for writing the scripting interpreter language Tcl. Due largely in part to its liberal Berkeley open-source license, magic has remained popular with universities and small companies. The open-source license has allowed VLSI engineers with a bent toward programming to implement clever ideas and help magic stay abreast of fabrication technology. However, it is the well thought-out core algorithms which lend to magic the greatest part of its popularity. Magic is widely cited as being the easiest tool to use for circuit layout, even for people who ultimately rely on commercial tools for their product design flow. << DescPackaging: << Installed in %p/lib/magic71 to avoid conflicting with other versions, and we provide symlink to the installed magic-7.1 in bin for convenience. Readline functionality is only statically linked, so magic doesn't really depend on it being installed. << DescPort: << Porting notes (by Fang) can be found at: http://www.csl.cornell.edu/~fang/sw/magic-7.1-osx.html << CompileScript: << #!/bin/sh -ev export CAD_HOME=%p/lib/magic71 # lousy interactive config... make config < defs.mak # "recursive make is the devil" cd utils make cd .. cd extflat make cd .. make << InstallScript: << #!/bin/sh -ev make install DESTDIR=%d mkdir -p %i/bin cd %i/bin for exe in magic ext2spice ext2sim extcheck magicusage net2ir spice2sim do ln -s %p/lib/magic71/bin/$exe-7.1 $exe-7.1 done << RuntimeVars: << CAD_HOME: %p/lib/magic71 << From chitlesh at fedoraproject.org Fri Apr 13 01:39:38 2007 From: chitlesh at fedoraproject.org (Chitlesh GOORAH) Date: Thu Oct 30 14:34:05 2008 Subject: [Magic-dev] invert simulation isn't working as should Message-ID: <13dbfe4f0704121539p38266668hba8cceee812712f8@mail.gmail.com> Hello there, I'm fair new to the magic world, however I'm trying to test a .sim (from magic) simulation with irsim. My example is the inverter. irsim scmos100 invert.sim -example.cmd My problem is that my output is 'X'. I don't know what I'm missing and where. Here is my : - invert.mag magic tech scmos timestamp 1176416578 << polysilicon >> rect 0 29 3 31 rect 9 29 11 31 rect 0 7 2 29 rect 0 5 3 7 rect 6 5 8 7 << ndiffusion >> rect 3 7 6 9 rect 3 2 6 5 << pdiffusion >> rect 3 31 9 34 rect 3 27 9 29 << metal1 >> rect -1 34 3 38 rect 9 34 16 38 rect 3 20 7 23 rect -5 16 -4 20 rect 3 16 16 20 rect 3 13 7 16 rect -1 -2 3 2 rect 7 -2 16 2 << ntransistor >> rect 3 5 6 7 << ptransistor >> rect 3 29 9 31 << polycontact >> rect -4 16 0 20 << ndcontact >> rect 3 9 7 13 rect 3 -2 7 2 << pdcontact >> rect 3 34 9 38 rect 3 23 9 27 << psubstratepcontact >> rect -5 -2 -1 2 << nsubstratencontact >> rect -5 34 -1 38 << labels >> rlabel metal1 13 36 13 36 6 Vdd! rlabel metal1 12 0 12 0 8 GND! rlabel metal1 5 17 5 17 1 out rlabel metal1 -5 18 -5 18 1 in1 << end >> - invert.sim | units: 100 tech: scmos format: MIT p in1 out Vdd! 2 6 3 29 n in1 GND! out 2 3 3 5 R GND! 125 C out GND 3.6 R out 115 C in1 GND 10.0 R in1 489 C Vdd! GND 2.1 R Vdd! 96 - example.cmd stepsize 50 analyzer in1 out vector in in1 out h in1 set in 00 s h in1 set in 01 s l in1 set in 10 s h in1 set in 11 s Chitlesh -- http://clunixchit.blogspot.com From chitlesh at fedoraproject.org Fri Apr 13 11:41:08 2007 From: chitlesh at fedoraproject.org (Chitlesh GOORAH) Date: Thu Oct 30 14:34:05 2008 Subject: [Magic-dev] netgen segfault Message-ID: <13dbfe4f0704130141s2c672959qc94cfc06b633ab6@mail.gmail.com> Hello there, on comparing invert1.sim and inver.sim, netgen crashed with: chitlesh(inverter)[0]$netgen *** glibc detected *** /usr/bin/wish: free(): invalid next size (fast): 0x0967ad88 *** ======= Backtrace: ========= /lib/libc.so.6[0x26e09d] /lib/libc.so.6(cfree+0x90)[0x2716f0] /usr/lib/netgen/tcl/tclnetgen.so[0x356290] /usr/lib/netgen/tcl/tclnetgen.so[0x357339] /usr/lib/netgen/tcl/tclnetgen.so[0x363fda] /usr/lib/libtcl8.4.so[0x1b83a9] /usr/lib/libtcl8.4.so(TclEvalObjvInternal+0x2fb)[0x168f3b] /usr/lib/libtcl8.4.so(Tcl_EvalEx+0x40f)[0x1694cf] /usr/lib/libtcl8.4.so(Tcl_EvalObjEx+0x165)[0x16a185] /usr/lib/libtcl8.4.so(Tcl_UplevelObjCmd+0x137)[0x1c74d7] /usr/lib/libtcl8.4.so(TclEvalObjvInternal+0x2fb)[0x168f3b] /usr/lib/libtcl8.4.so[0x195dc5] /usr/lib/libtcl8.4.so(TclCompEvalObj+0x9c)[0x199cac] /usr/lib/libtcl8.4.so(Tcl_EvalObjEx+0x69)[0x16a089] /usr/lib/libtcl8.4.so[0x1a24bb] /usr/lib/libtcl8.4.so(Tcl_InterpObjCmd+0x753)[0x1a39f3] /usr/lib/libtcl8.4.so(TclEvalObjvInternal+0x2fb)[0x168f3b] /usr/lib/libtcl8.4.so[0x195dc5] /usr/lib/libtcl8.4.so(TclCompEvalObj+0x9c)[0x199cac] /usr/lib/libtcl8.4.so(TclObjInterpProc+0x2dc)[0x1c6c4c] /usr/lib/libtcl8.4.so(TclEvalObjvInternal+0x2fb)[0x168f3b] /usr/lib/libtcl8.4.so(Tcl_EvalObjv+0x11b)[0x169edb] /usr/lib/libtcl8.4.so[0x1a4156] /usr/lib/libtcl8.4.so(TclEvalObjvInternal+0x2fb)[0x168f3b] /usr/lib/libtcl8.4.so[0x195dc5] /usr/lib/libtcl8.4.so(TclCompEvalObj+0x9c)[0x199cac] /usr/lib/libtcl8.4.so(TclObjInterpProc+0x2dc)[0x1c6c4c] /usr/lib/libtcl8.4.so(TclEvalObjvInternal+0x2fb)[0x168f3b] /usr/lib/libtcl8.4.so[0x195dc5] /usr/lib/libtcl8.4.so(TclCompEvalObj+0x9c)[0x199cac] /usr/lib/libtcl8.4.so(TclObjInterpProc+0x2dc)[0x1c6c4c] /usr/lib/libtcl8.4.so(TclEvalObjvInternal+0x2fb)[0x168f3b] /usr/lib/libtcl8.4.so(Tcl_EvalEx+0x40f)[0x1694cf] /usr/lib/libtk8.4.so(Tk_BindEvent+0xa03)[0x8f9853] /usr/lib/libtk8.4.so(TkBindEventProc+0xcd)[0x8ff21d] /usr/lib/libtk8.4.so(Tk_HandleEvent+0x35d)[0x904b5d] /usr/lib/libtk8.4.so[0x90517b] /usr/lib/libtcl8.4.so(Tcl_ServiceEvent+0x86)[0x1bbea6] /usr/lib/libtcl8.4.so(Tcl_DoOneEvent+0xa7)[0x1bc177] /usr/lib/libtk8.4.so(Tk_MainLoop+0x2f)[0x90457f] /usr/lib/libtk8.4.so(Tk_MainEx+0x490)[0x912680] /usr/bin/wish(main+0x4b)[0x80487cb] /lib/libc.so.6(__libc_start_main+0xdc)[0x21df2c] /usr/bin/wish[0x8048651] ======= Memory map: ======== 00101000-00105000 r-xp 00000000 03:01 9103925 /usr/lib/libXfixes.so.3.1.0 00105000-00106000 rwxp 00003000 03:01 9103925 /usr/lib/libXfixes.so.3.1.0 00110000-00112000 r-xp 00000000 03:01 9103914 /usr/lib/libXau.so.6.0.0 00112000-00113000 rwxp 00001000 03:01 9103914 /usr/lib/libXau.so.6.0.0 00113000-0011e000 r-xp 00000000 03:01 8963664 /lib/libgcc_s-4.1.1-20070105.so.1 0011e000-0011f000 rwxp 0000a000 03:01 8963664 /lib/libgcc_s-4.1.1-20070105.so.1 00148000-00202000 r-xp 00000000 03:01 9114487 /usr/lib/libtcl8.4.so 00202000-00208000 rwxp 000ba000 03:01 9114487 /usr/lib/libtcl8.4.so 00208000-0033f000 r-xp 00000000 03:01 8960920 /lib/libc-2.5.so 0033f000-00341000 r-xp 00137000 03:01 8960920 /lib/libc-2.5.so 00341000-00342000 rwxp 00139000 03:01 8960920 /lib/libc-2.5.so 00342000-00345000 rwxp 00342000 00:00 0 00345000-0036d000 r-xp 00000000 03:01 9130222 /usr/lib/netgen/tcl/tclnetgen.so 0036d000-0036e000 rwxp 00027000 03:01 9130222 /usr/lib/netgen/tcl/tclnetgen.so 0036e000-00524000 rwxp 0036e000 00:00 0 00630000-00643000 r-xp 00000000 03:01 8960944 /lib/libpthread-2.5.so 00643000-00644000 r-xp 00012000 03:01 8960944 /lib/libpthread-2.5.so 00644000-00645000 rwxp 00013000 03:01 8960944 /lib/libpthread-2.5.so 00645000-00647000 rwxp 00645000 00:00 0 007c0000-007d9000 r-xp 00000000 03:01 8960913 /lib/ld-2.5.so 007d9000-007da000 r-xp 00018000 03:01 8960913 /lib/ld-2.5.so 007da000-007db000 rwxp 00019000 03:01 8960913 /lib/ld-2.5.so 00845000-00847000 r-xp 00000000 03:01 8960926 /lib/libdl-2.5.so 00847000-00848000 r-xp 00001000 03:01 8960926 /lib/libdl-2.5.so 00848000-00849000 rwxp 00002000 03:01 8960926 /lib/libdl-2.5.so 008dd000-009bc000 r-xp 00000000 03:01 9095931 /usr/lib/libtk8.4.so 009bc000-009c8000 rwxp 000df000 03:01 9095931 /usr/lib/libtk8.4.so 00a74000-00a79000 r-xp 00000000 03:01 9103915 /usr/lib/libXdmcp.soAborted my invert1.sim | units: 100 tech: scmos format: MIT p in1 out Vdd 2 6 3 29 n in1 GND out 2 3 3 5 my invert.sim | sim circuit "invert" from XCircuit v3.40 rev 26 n in1 GND out p in1 Vdd out chitlesh(~)[0]$gdb wish GNU gdb Red Hat Linux (6.5-15.fc6rh) Copyright (C) 2006 Free Software Foundation, Inc. GDB is free software, covered by the GNU General Public License, and you are welcome to change it and/or distribute copies of it under certain conditions. Type "show copying" to see the conditions. There is absolutely no warranty for GDB. Type "show warranty" for details. This GDB was configured as "i386-redhat-linux-gnu"...(no debugging symbols found) Using host libthread_db library "/lib/libthread_db.so.1". (gdb) attach 6053 Attaching to program: /usr/bin/wish, process 6053 Reading symbols from /usr/lib/libtk8.4.so...(no debugging symbols found)...done. Loaded symbols for /usr/lib/libtk8.4.so Reading symbols from /usr/lib/libtcl8.4.so...(no debugging symbols found)...done. Loaded symbols for /usr/lib/libtcl8.4.so Reading symbols from /lib/libpthread.so.0...(no debugging symbols found)...done. [Thread debugging using libthread_db enabled] [New Thread -1208445248 (LWP 6053)] [New Thread -1208448112 (LWP 6054)] Loaded symbols for /lib/libpthread.so.0 Reading symbols from /usr/lib/libX11.so.6...(no debugging symbols found)...done. Loaded symbols for /usr/lib/libX11.so.6 Reading symbols from /lib/libdl.so.2... (no debugging symbols found)...done. Loaded symbols for /lib/libdl.so.2 Reading symbols from /lib/libm.so.6...(no debugging symbols found)...done. Loaded symbols for /lib/libm.so.6 Reading symbols from /lib/libc.so.6...(no debugging symbols found)...done. Loaded symbols for /lib/libc.so.6 Reading symbols from /lib/ld-linux.so.2...(no debugging symbols found)...done. Loaded symbols for /lib/ld-linux.so.2 Reading symbols from /usr/lib/libXau.so.6... (no debugging symbols found)...done. Loaded symbols for /usr/lib/libXau.so.6 Reading symbols from /usr/lib/libXdmcp.so.6...(no debugging symbols found)...done. Loaded symbols for /usr/lib/libXdmcp.so.6 Reading symbols from /usr/lib/libXcursor.so.1...(no debugging symbols found)...done. Loaded symbols for /usr/lib/libXcursor.so.1 Reading symbols from /usr/lib/libXrender.so.1...(no debugging symbols found)...done. Loaded symbols for /usr/lib/libXrender.so.1 Reading symbols from /usr/lib/libXfixes.so.3... (no debugging symbols found)...done. Loaded symbols for /usr/lib/libXfixes.so.3 Reading symbols from /usr/lib/netgen/tcl/tclnetgen.so...Reading symbols from /usr/lib/debug/usr/lib/netgen/tcl/tclnetgen.so.debug...done. done. Loaded symbols for /usr/lib/netgen/tcl/tclnetgen.so 0x00d0a402 in __kernel_vsyscall () (gdb) continue Continuing. Program received signal SIGSEGV, Segmentation fault. [Switching to Thread -1208445248 (LWP 6053)] 0x003d76da in free () from /lib/libc.so.6 I have the following installed: glibc-2.5-10.fc6 netgen-1.3.7 I'm also trying to add netgen into official fedora repositories: https://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=226725 I hope someone could point out what's failing so that it can be fixed. regards, Chitlesh -- http://clunixchit.blogspot.com From snicholes at engineering.ucsb.edu Tue Apr 17 14:24:39 2007 From: snicholes at engineering.ucsb.edu (Steve Nicholes) Date: Thu Oct 30 14:34:05 2008 Subject: [Magic-dev] Magic Installation on Ubuntu Message-ID: <46252D07.1060205@engineering.ucsb.edu> Hello, I am trying to install magic with ubuntu edgy with no success. My "make" error log has the following message: make[1]: Entering directory `/home/steve/Applications/magic-7.4.34' --- making header file database/database.h ./scripts/makedbh database/database.h.in database/database.h /bin/bash: ./scripts/makedbh: /bin/csh: bad interpreter: No such file or directory When I run "make install" I get the following error: make[1]: Entering directory `/home/steve/Applications/magic-7.4.34' --- making header file database/database.h ./scripts/makedbh database/database.h.in database/database.h /bin/bash: ./scripts/makedbh: /bin/csh: bad interpreter: No such file or directory I am new to linux but want to move away from L-edit. Thanks, Steve From stefan.jones at multigig.com Wed Apr 18 09:49:16 2007 From: stefan.jones at multigig.com (Stefan Jones) Date: Thu Oct 30 14:34:05 2008 Subject: [Magic-dev] Magic Installation on Ubuntu In-Reply-To: <46252D07.1060205@engineering.ucsb.edu> References: <46252D07.1060205@engineering.ucsb.edu> Message-ID: <46263DFC.4080708@multigig.com> Steve Nicholes wrote: > Hello, > > I am trying to install magic with ubuntu edgy with no success. My > "make" error log has the following message: > > make[1]: Entering directory `/home/steve/Applications/magic-7.4.34' > --- making header file database/database.h > ./scripts/makedbh database/database.h.in database/database.h > /bin/bash: ./scripts/makedbh: /bin/csh: bad interpreter: No such file > or directory > > You need to install a C-shell first. Try "sudo apt-get install tcsh" first and then try again. Stefan From tim at opencircuitdesign.com Thu Apr 19 21:56:10 2007 From: tim at opencircuitdesign.com (R. Timothy Edwards) Date: Thu Oct 30 14:34:05 2008 Subject: [Magic-dev] Re: Need some clarification on techfile In-Reply-To: <2B7AE358F7B72040879A71F946D99CA702E982E1@aplesjustice.dom1.jhuapl.edu> References: <2B7AE358F7B72040879A71F946D99CA702E981A9@aplesjustice.dom1.jhuapl.edu> <4624F631.7050900@opencircuitdesign.com> <2B7AE358F7B72040879A71F946D99CA702E9826C@aplesjustice.dom1.jhuapl.edu> <46255B54.4060900@opencircuitdesign.com> <2B7AE358F7B72040879A71F946D99CA702E982E1@aplesjustice.dom1.jhuapl.edu> Message-ID: <462839DA.4010109@opencircuitdesign.com> Dear Mark, > One thing that did confuse me, is the syntax of scalegrid. > scalegrid a b > is supposed to "Set the ratio of magic internal units to lambda units" > On first reading, I interpret this to be a internal units to b lambda > units, while in fact it is the other way around. Maybe I am wrong, > but that is how some others I have posed the question also interpret > this. Any change I make to this now could break all of my startup scripts. One thing I could do is allow an alternate syntax: scalegrid b:a or maybe just allow the suffix "l" and "i" to represent lambda and internal, like I did for units of movement (e.g., "snap int; box move e 3l" (3-ell) or "snap lambda; box move e 3i"). That would mean that scalegrid 2i 1l and scalegrid 1l 2i would be equivalent and unambiguous. It would also avoid the *other* confusion that you failed to mention, namely that "scalegrid a b" is not even interpreted as "a lambda units to b internal units", but rather "scale current grid by a factor of b to a", such that you get the following sequence: : scalegrid 1 2 2 Magic internal units = 1 Lambda : scalegrid 1 2 4 Magic internal units = 1 Lambda So stating absolute units of "i" and "l" would avoid the problem of relative scaling when you may or may not know what the current scale is (which, by the way, you can find out with the "tech lambda" command, although one might rationally ask why you shouldn't get the same answer by simply typing "scalegrid"). I'll work on it. ---Tim +--------------------------------+-------------------------------------+ | Dr. R. Timothy Edwards (Tim) | email: tim@opencircuitdesign.com | | Open Circuit Design, Inc. | web: http://opencircuitdesign.com | | 22815 Timber Creek Lane | phone: (301) 528-9364 | | Clarksburg, MD 20871-4001 | cell: (240) 401-0616 | +--------------------------------+-------------------------------------+ From chitlesh at fedoraproject.org Fri Apr 20 20:02:44 2007 From: chitlesh at fedoraproject.org (Chitlesh GOORAH) Date: Thu Oct 30 14:34:05 2008 Subject: [Magic-dev] Re: invert simulation isn't working as should In-Reply-To: <13dbfe4f0704121539p38266668hba8cceee812712f8@mail.gmail.com> References: <13dbfe4f0704121539p38266668hba8cceee812712f8@mail.gmail.com> Message-ID: <13dbfe4f0704201002v1b65e225naeb519da281b5fa1@mail.gmail.com> Hello any help in here ? thanks On 4/13/07, Chitlesh GOORAH wrote: > Hello there, > > I'm fair new to the magic world, however I'm trying to test a .sim > (from magic) simulation with irsim. My example is the inverter. > > irsim scmos100 invert.sim -example.cmd > > My problem is that my output is 'X'. I don't know what I'm missing and where. > > Here is my : > - invert.mag > magic > tech scmos > timestamp 1176416578 > << polysilicon >> > rect 0 29 3 31 > rect 9 29 11 31 > rect 0 7 2 29 > rect 0 5 3 7 > rect 6 5 8 7 > << ndiffusion >> > rect 3 7 6 9 > rect 3 2 6 5 > << pdiffusion >> > rect 3 31 9 34 > rect 3 27 9 29 > << metal1 >> > rect -1 34 3 38 > rect 9 34 16 38 > rect 3 20 7 23 > rect -5 16 -4 20 > rect 3 16 16 20 > rect 3 13 7 16 > rect -1 -2 3 2 > rect 7 -2 16 2 > << ntransistor >> > rect 3 5 6 7 > << ptransistor >> > rect 3 29 9 31 > << polycontact >> > rect -4 16 0 20 > << ndcontact >> > rect 3 9 7 13 > rect 3 -2 7 2 > << pdcontact >> > rect 3 34 9 38 > rect 3 23 9 27 > << psubstratepcontact >> > rect -5 -2 -1 2 > << nsubstratencontact >> > rect -5 34 -1 38 > << labels >> > rlabel metal1 13 36 13 36 6 Vdd! > rlabel metal1 12 0 12 0 8 GND! > rlabel metal1 5 17 5 17 1 out > rlabel metal1 -5 18 -5 18 1 in1 > << end >> > > - invert.sim > | units: 100 tech: scmos format: MIT > p in1 out Vdd! 2 6 3 29 > n in1 GND! out 2 3 3 5 > R GND! 125 > C out GND 3.6 > R out 115 > C in1 GND 10.0 > R in1 489 > C Vdd! GND 2.1 > R Vdd! 96 > > - example.cmd > stepsize 50 > analyzer in1 out > vector in in1 out > > h in1 > set in 00 > s > > h in1 > set in 01 > s > > l in1 > set in 10 > s > > h in1 > set in 11 > s > > Chitlesh > -- > http://clunixchit.blogspot.com > -- http://clunixchit.blogspot.com From philippe at alpha.ece.jhu.edu Sun Apr 22 12:27:38 2007 From: philippe at alpha.ece.jhu.edu (Philippe Pouliquen) Date: Thu Oct 30 14:34:05 2008 Subject: [Magic-dev] Re: invert simulation isn't working as should In-Reply-To: <13dbfe4f0704201002v1b65e225naeb519da281b5fa1@mail.gmail.com> References: <13dbfe4f0704121539p38266668hba8cceee812712f8@mail.gmail.com> <13dbfe4f0704201002v1b65e225naeb519da281b5fa1@mail.gmail.com> Message-ID: <20070422110950.H48960@alpha.ece.jhu.edu> Hi Chitlesh, You've got a pretty basic problem: you don't understand how to drive Irsim. I did not look at your layout, because you didn't specify a tech file, but the invert.sim file looks fine, so the layout is basically irrelevant. It looks to me like all the problems are in example.cmd. Take a look at the following lines for example: > vector in in1 out This defines a 2 bit vector composed of the signals in1 and out. > h in1 This sets signal in1 to 1 (high). So far so good... > set in 00 This sets bit vector in to 00. That is, it should set in1 to 0 and out to 0. Why you would want to force the output to a given state is beyond me. > s You should now get in1=0 and out=0. (You actually get X's, but that's for another reason). Try the following more basic command sequence instead: irsim scmos100 invert.sim h Vdd! l GND! w out l in1 s h in1 s q BTW, if you want to avoid having to set the power supply (Vdd! and GND!), label them Vdd and Gnd instead. Philippe Pouliquen The Johns Hopkins University From viet at asicadvantage.com Fri Apr 27 16:54:13 2007 From: viet at asicadvantage.com (Viet Dinh) Date: Thu Oct 30 14:34:05 2008 Subject: [Magic-dev] Magic Questions Message-ID: <46327F15.6080206@asicadvantage.com> Hi everyone, We've been working off the magic 7.4.27 version for a while now. We're running both under linux fedora core 6 and Solaris 2.8 This version appears quite stable - we've been able to do a lot of work with it, but we have noticed a number of small issues with it and are wondering if any of them can get fixed. 1. Some of our users prefer to use this version w/o the Tcl/tk interface - basically the old style. In that mode two problems seem to be pretty problematic: - When DRC is enabled, it takes over and basically runs in the foreground; as a result no interactive command can be entered until it is finished. While not a problem on small cells ( drc completes quickly ), interactive DRC has to be turned off on larger blocks/chips. I remember from a few years back a similar problem with version 7.2 that had been fixed. Is there anyway this could be fixed ? - Also, under Solaris, a suspend command (ctrl-Z) in the window will usually cause magic to crash when the process is woken up. Something about interrupt handling I think, but I am not sufficiently knowledgeable about this. 2. We make use of the cif DRC options available and have a special "cifoutput drc style" section in our techfile to handle it. In a previous email, I was reporting that if that "drc style" section is not the first one in the cifoutput style section, the techfile will not load properly. Someone reported the same problem but I don't think it has been fixed. 3. Read only mode of magic files One of the nice new feature is that when magic files are read-only, you cannot edit them. However, a "flatten" command won't work on a read-only design even though this command creates a new cell and does not modify the design. Is that an intended behavior ? Thanks again for all the hard work! These newer versions are really keeping magic alive and kicking! ------------------------------------------------------------------------------ This email may contain confidential and/or proprietary material for the sole use of the intended recipient. Be aware that any disclosure, copying, distribution or other unintended use of its contents, without the express permission of ASIC Advantage, INC. is prohibited. From dinal.andreasen at gtri.gatech.edu Sun May 20 00:49:00 2007 From: dinal.andreasen at gtri.gatech.edu (Dinal Andreasen) Date: Thu Oct 30 14:34:05 2008 Subject: [Magic-dev] Toolbar OPENGL Message-ID: <000001c79a91$cfeb7ac0$c2f7f50a@atasad.ccrf> Greetings I am using Cygwin and startxwin.sh and the precompiled magic version 7.5 revision 78. When I run magic -d OGL and click on the toolbar the following error messages appear and all the windows close. 11 [unknown (0xF70)] XWin 1916 _cygtls::handle_exceptions: Error while dumping state (probably corrupted stack) 65110 [unknown (0xF70)] XWin 1916 _cygtls::handle_exceptions: Error while dumping state (probably corrupted stack) xterm: fatal IO error 104 (Connection reset by peer) or KillClient on X server "127.0.0.1:0.0" Without -d OGL there is no problem. I had it working once on this machine. I reloaded cygwin and have been unable to get magic -d OGL to allow the toolbar option. Any recommendations are appreciated. Dinal -------------- next part -------------- An HTML attachment was scrubbed... URL: http://vlsi.csl.cornell.edu/pipermail/magic-dev/attachments/20070519/1623c38e/attachment.html From brad.broerman at convergys.com Fri Jun 1 18:28:09 2007 From: brad.broerman at convergys.com (brad.broerman@convergys.com) Date: Thu Oct 30 14:34:05 2008 Subject: [Magic-dev] Error running Magic on Win XP and Cygwin Message-ID: Hi, I just downloaded and installed the latest version of CygWin and Magic onto a Windows 2000 box, and get the following: error in slave eval: couldn't load library "/usr/local/lib/magic/tcl/tclmagic.dll": this library or a dependent library could not be found in library path Main console display active (Tcl8.4.1 / Tk8.4.1) I was wondering if you have any suggestions... I tried adding the directory to LD_LIBRARY_PATH as well as ensuring the libraries were chmod 777... Thanks Brad Broerman -------------- next part -------------- An HTML attachment was scrubbed... URL: http://vlsi.csl.cornell.edu/pipermail/magic-dev/attachments/20070601/b496e2f6/attachment.html From chitlesh at fedoraproject.org Fri Jun 15 22:47:32 2007 From: chitlesh at fedoraproject.org (Chitlesh GOORAH) Date: Thu Oct 30 14:34:05 2008 Subject: [Magic-dev] netgen anyone ? Message-ID: <13dbfe4f0706151247p14732520t105bbd6b1a976a97@mail.gmail.com> Hello there, Having encountered some segmentation faults with netgen, as said previously: http://vlsi.cornell.edu/pipermail/magic-dev/2007/000384.html does anyone have mere simple :* * sim for a layout and * sim for a schematic which one has tested it with their netgen. so that I can test my netgen if it is working ? thanks Chitlesh -- http://clunixchit.blogspot.com From chitlesh at fedoraproject.org Sat Jun 16 23:54:27 2007 From: chitlesh at fedoraproject.org (Chitlesh GOORAH) Date: Thu Oct 30 14:34:05 2008 Subject: [Magic-dev] resistance extraction Message-ID: <13dbfe4f0706161354xc8aa656rdd748a15350292a1@mail.gmail.com> Hello there, I'm trying to understand how magic extracts resistance to a .sim file. I'm using the default scmos.tech of magic and i have created a rectangle (2 by 7) with polysilicium. A sim file was extracted and the output is as follows: | units: 100 tech: scmos format: MIT R a_0_n2# 84 A second sim file was extracted from a similar rectangle but twice the width that is (4 by 7) and the output is: | units: 100 tech: scmos format: MIT C a_0_n2# GND 2.9 R a_0_n2# 42 Ok if I follow the simple R = ?*L /A relation where ? is the resistivity, L : the length in this case 7 A :the area (H*W), so R = (?/H) L/W by this ratio I have ?/H = 24. Where and how magic sets ?/H to be 24 when the scmos.tech allows 2.0/1.6/1.2 ?m ? Is there a table somewhere which defines the resistance/?m for * metal1,metal2,metal3 * ndiff,pdiff * polysilicium * ... with respect to 2.0/1.6/1.2 ?m ? google wasn't useful this time. regards, Chitlesh -- http://clunixchit.blogspot.com From lindsay at don-lindsay-archive.org Thu Jun 21 22:02:48 2007 From: lindsay at don-lindsay-archive.org (Don Lindsay) Date: Thu Oct 30 14:34:05 2008 Subject: [Magic-dev] lib64 bug Message-ID: <1182484968l.2947l.0l@kludge> I installed magic-7.4.35-2.fc7.rpm on my x86_64 box. But when I typed in: magic I got a window named "tkcon 2.3 Main" which said: ----------------------------------------- loading history file ... 1 events added error in slave eval: couldn't load file "/usr/lib/tk8.4/../libtk8.4.so": /usr/lib/tk8.4/../libtk8.4.so: wrong ELF class: ELFCLASS32 Main console display active (Tcl8.4.13 / Tk8.4.13) (lindsay) 2 % ----------------------------------------- Sure enough, /usr/lib/libtk8.4.so is 32 bit. The code needs to look in /usr/lib64. I assume there's some magic environment variable that I haven't set? Thanks, Don From nagarakr at email.uc.edu Tue Jul 3 19:59:46 2007 From: nagarakr at email.uc.edu (Haran) Date: Thu Oct 30 14:34:06 2008 Subject: [Magic-dev] Re: Layout in sub 100-nm technology In-Reply-To: References: Message-ID: Hello, I understand that at present Magic supports feature sizes till 1 nanometer. So, how does one draw layouts in 65 nm, 90 nm processes? Obtain permission and get the related tech files? What does this scalefactor mean? Is it possible to draw the layout in say 180 nm process and then scale it down to 65 nm? Can someone throw some light! Thanks! Haran -------------- next part -------------- An HTML attachment was scrubbed... URL: http://vlsi.csl.cornell.edu/pipermail/magic-dev/attachments/20070703/b628daff/attachment.html From chitlesh at fedoraproject.org Fri Jul 6 03:38:59 2007 From: chitlesh at fedoraproject.org (Chitlesh GOORAH) Date: Thu Oct 30 14:34:06 2008 Subject: [Magic-dev] lib64 bug In-Reply-To: <1182484968l.2947l.0l@kludge> References: <1182484968l.2947l.0l@kludge> Message-ID: <13dbfe4f0707051738q661675fl7d1f12e1c1bddbd3@mail.gmail.com> On 6/22/07, Don Lindsay wrote: > I installed > magic-7.4.35-2.fc7.rpm > > on my x86_64 box. But when I typed in: > > magic > > I got a window named "tkcon 2.3 Main" which said: > ----------------------------------------- > loading history file ... 1 events added > error in slave eval: > couldn't load file "/usr/lib/tk8.4/../libtk8.4.so": > /usr/lib/tk8.4/../libtk8.4.so: wrong ELF class: ELFCLASS32 > Main console display active (Tcl8.4.13 / Tk8.4.13) > (lindsay) 2 % > ----------------------------------------- > > Sure enough, /usr/lib/libtk8.4.so is 32 bit. The code needs to look in > /usr/lib64. > > I assume there's some magic environment variable that I haven't set? Actually, at the fedora project, we are moving towards to the multilib system. Hence you are likely to see some i386 rpm installed on your x86_64. This isn't a bug, but a feature. However magic should be able to pick up the proper libraries for tk. And this is a bug in the magic rpm. Sorry my fault, I don't have a 64 bit platform to test. Can you give me the output of: rpm -qa | grep tk rpm -qa | grep tcl and finally rpm -qR magic Chitlesh -- http://clunixchit.blogspot.com From sondeen at ISI.EDU Thu Jul 5 17:52:04 2007 From: sondeen at ISI.EDU (Jeff Sondeen) Date: Thu Oct 30 14:34:06 2008 Subject: [Magic-dev] lib64 bug In-Reply-To: <1182484968l.2947l.0l@kludge> References: <1182484968l.2947l.0l@kludge> Message-ID: <18061.33828.863264.228714@vapor.isi.edu> i forget all the details, but there's a kindof bug in the tcl install on redhat 64 bit machines, you have to work around it by editting a magic startup file, to get the 64bit libs looked at first, below is what i added, you may have to edit for yours. /jeff edit for lib/magic/tcl/tkcon.tcl: #jws: #set auto_path [linsert $auto_path 0 /usr/lib64 ] #set auto_path puts stderr "old auto_path: $auto_path" set auto_path [lreplace $auto_path 2 2] set auto_path [linsert $auto_path end /usr/lib64/blt2.4 ] puts stderr "new auto_path: $auto_path" Don Lindsay writes: > I installed > magic-7.4.35-2.fc7.rpm > > on my x86_64 box. But when I typed in: > > magic > > I got a window named "tkcon 2.3 Main" which said: > ----------------------------------------- > loading history file ... 1 events added > error in slave eval: > couldn't load file "/usr/lib/tk8.4/../libtk8.4.so": > /usr/lib/tk8.4/../libtk8.4.so: wrong ELF class: ELFCLASS32 > Main console display active (Tcl8.4.13 / Tk8.4.13) > (lindsay) 2 % > ----------------------------------------- > > Sure enough, /usr/lib/libtk8.4.so is 32 bit. The code needs to look in > /usr/lib64. > > I assume there's some magic environment variable that I haven't set? > > Thanks, > Don > > _______________________________________________ > magic-dev mailing list > magic-dev@vlsi.cornell.edu > http://vlsi.csl.cornell.edu/mailman/listinfo/magic-dev From chitlesh at fedoraproject.org Fri Jul 6 21:28:15 2007 From: chitlesh at fedoraproject.org (Chitlesh GOORAH) Date: Thu Oct 30 14:34:06 2008 Subject: [Magic-dev] lib64 bug In-Reply-To: <18061.33828.863264.228714@vapor.isi.edu> References: <1182484968l.2947l.0l@kludge> <18061.33828.863264.228714@vapor.isi.edu> Message-ID: <13dbfe4f0707061128o148fa0e7ja9dbb6134481fe9e@mail.gmail.com> On 7/6/07, Jeff Sondeen wrote: > i forget all the details, but there's a kindof bug in the tcl install > on redhat 64 bit machines, you have to work around it by editting a > magic startup file, to get the 64bit libs looked at first, below is > what i added, you may have to edit for yours. Well that doesn't look like a bug in tcl, but rather some scripts of magic should be corrected. Can you send me a copy of the files you have edited to make magic work on 64 bit please to chitlesh [AT] fedoraproject DOT org ? I'll like to analyse them. thanks Chitlesh -- http://clunixchit.blogspot.com From chitlesh at fedoraproject.org Tue Jul 10 15:08:32 2007 From: chitlesh at fedoraproject.org (Chitlesh GOORAH) Date: Thu Oct 30 14:34:06 2008 Subject: [Magic-dev] lib64 bug In-Reply-To: <18061.33828.863264.228714@vapor.isi.edu> References: <1182484968l.2947l.0l@kludge> <18061.33828.863264.228714@vapor.isi.edu> Message-ID: <13dbfe4f0707100508q429b7dd3j808054b8cae4fd13@mail.gmail.com> On 7/6/07, Jeff Sondeen wrote: > i forget all the details, but there's a kindof bug in the tcl install > on redhat 64 bit machines, you have to work around it by editting a > magic startup file, to get the 64bit libs looked at first, below is > what i added, you may have to edit for yours. Thanks Jeff, magic for 64bits arch of fedora has corrected and released yesterday into the mirrors. Chitlesh -- http://clunixchit.blogspot.com From chitlesh at fedoraproject.org Tue Jul 10 17:03:51 2007 From: chitlesh at fedoraproject.org (Chitlesh GOORAH) Date: Thu Oct 30 14:34:06 2008 Subject: [Magic-dev] spice model on the layout Message-ID: <13dbfe4f0707100703g5c36a29bu9cd9ea9165fc50ac@mail.gmail.com> Hello there, How can I attach a spice model to a particular component(capacitor for example) so that it would be pulled out during ext2spice ? Chitlesh -- http://clunixchit.blogspot.com From chitlesh at fedoraproject.org Thu Jul 12 02:59:22 2007 From: chitlesh at fedoraproject.org (Chitlesh GOORAH) Date: Thu Oct 30 14:34:06 2008 Subject: [Magic-dev] Re: netgen anyone ? In-Reply-To: <13dbfe4f0706151247p14732520t105bbd6b1a976a97@mail.gmail.com> References: <13dbfe4f0706151247p14732520t105bbd6b1a976a97@mail.gmail.com> Message-ID: <13dbfe4f0707111659r4311f50csc2e13d3060a5de68@mail.gmail.com> I guess no one is using netgen anymore. On 6/15/07, Chitlesh GOORAH wrote: > Hello there, > Having encountered some segmentation faults with netgen, as said previously: > http://vlsi.cornell.edu/pipermail/magic-dev/2007/000384.html > does anyone have mere simple :* > * sim for a layout > and > * sim for a schematic > which one has tested it with their netgen. > so that I can test my netgen if it is working ? > > thanks > Chitlesh > -- > http://clunixchit.blogspot.com > -- http://clunixchit.blogspot.com From chitlesh at fedoraproject.org Mon Aug 6 03:43:20 2007 From: chitlesh at fedoraproject.org (Chitlesh GOORAH) Date: Thu Oct 30 14:34:06 2008 Subject: [Magic-dev] Re: netgen anyone ? In-Reply-To: <13dbfe4f0707111659r4311f50csc2e13d3060a5de68@mail.gmail.com> References: <13dbfe4f0706151247p14732520t105bbd6b1a976a97@mail.gmail.com> <13dbfe4f0707111659r4311f50csc2e13d3060a5de68@mail.gmail.com> Message-ID: <13dbfe4f0708051743r38d36eecg9c90a7934db03199@mail.gmail.com> Well, it's a pity I was thinking to add it in my electronic vlsi simulation kit at the fedora project, however that particular bug is preventing me from doing so. I'm giving up netgen. chitlesh On 7/12/07, Chitlesh GOORAH wrote: > I guess no one is using netgen anymore. > > On 6/15/07, Chitlesh GOORAH wrote: > > Hello there, > > Having encountered some segmentation faults with netgen, as said previously: > > http://vlsi.cornell.edu/pipermail/magic-dev/2007/000384.html > > does anyone have mere simple :* > > * sim for a layout > > and > > * sim for a schematic > > which one has tested it with their netgen. > > so that I can test my netgen if it is working ? > > > > thanks > > Chitlesh > > -- > > http://clunixchit.blogspot.com > > > > > -- > http://clunixchit.blogspot.com > -- http://clunixchit.blogspot.com From anthony.m.andriano at intel.com Thu Aug 30 12:33:13 2007 From: anthony.m.andriano at intel.com (Andriano, Anthony M) Date: Thu Oct 30 14:34:06 2008 Subject: [Magic-dev] prototype? Message-ID: <58272D4E77272944B80C5484780AD47B01155BF8@azsmsx419.amr.corp.intel.com> I am interested in making a design with Magic, but I am pretty new to this. Who will make a prototype of the design for me when I am finished? I am very familiar with designing and printing PCBs as I do this on a regular basis, but I don't have a clue where to start with a VLSI design. Thanks, Tony -------------- next part -------------- An HTML attachment was scrubbed... URL: http://vlsi.csl.cornell.edu/pipermail/magic-dev/attachments/20070830/edc82ac5/attachment.html From svenn.bjerkem at googlemail.com Fri Aug 31 22:25:18 2007 From: svenn.bjerkem at googlemail.com (Svenn Are Bjerkem) Date: Thu Oct 30 14:34:06 2008 Subject: [Magic-dev] prototype? In-Reply-To: <58272D4E77272944B80C5484780AD47B01155BF8@azsmsx419.amr.corp.intel.com> References: <58272D4E77272944B80C5484780AD47B01155BF8@azsmsx419.amr.corp.intel.com> Message-ID: <1efff110708311225v1a8dc4d9t8531c296a1dbad73@mail.gmail.com> Hi, to get an idea what it is all about, go to www.mosis.org and look around. -- Svenn On 8/30/07, Andriano, Anthony M wrote: > > > > > I am interested in making a design with Magic, but I am pretty new to this. > Who will make a prototype of the design for me when I am finished? I am very > familiar with designing and printing PCBs as I do this on a regular basis, > but I don't have a clue where to start with a VLSI design. > > > > Thanks, > > > > Tony > _______________________________________________ > magic-dev mailing list > magic-dev@vlsi.cornell.edu > http://vlsi.csl.cornell.edu/mailman/listinfo/magic-dev > > From dean at ece.gatech.edu Thu Sep 20 18:18:03 2007 From: dean at ece.gatech.edu (Dean Lewis) Date: Thu Oct 30 14:34:06 2008 Subject: [Magic-dev] Good Tools to Use With Magic Message-ID: <51065.143.215.154.50.1190323083.squirrel@secure2.ece.gatech.edu> Hi, this is Dean Lewis. I've been using Magic for a couple months now, and I have top say that I much prefer it to Cadence which I've used before. However, I do miss the schematic editor and LVS. Are there tools that provide this functionality and work well with Magic that you could recommend? Also, could you recommend a spice program? Right now I'm working with a bare-bones hspice program that requires me to manually edit the spice file. I'd prefer something more automated. Thanks in advance. -- Dean Lewis PhD Student, Computer Engineering Georgia Institute of Technology From fang at csl.cornell.edu Fri Sep 21 10:09:35 2007 From: fang at csl.cornell.edu (David Fang) Date: Thu Oct 30 14:34:06 2008 Subject: [Magic-dev] Good Tools to Use With Magic In-Reply-To: <51065.143.215.154.50.1190323083.squirrel@secure2.ece.gatech.edu> References: <51065.143.215.154.50.1190323083.squirrel@secure2.ece.gatech.edu> Message-ID: <20070921090401.X99906@shannon.csl.cornell.edu> > Hi, this is Dean Lewis. I've been using Magic for a couple months now, and > I have top say that I much prefer it to Cadence which I've used before. > However, I do miss the schematic editor and LVS. Are there tools that > provide this functionality and work well with Magic that you could > recommend? Also, could you recommend a spice program? Right now I'm > working with a bare-bones hspice program that requires me to manually edit > the spice file. I'd prefer something more automated. Thanks in advance. Hi, Take a look at http://geda.seul.org/ http://www.opencircuitdesign.com/ for collections of open-source EDA tools. Frankly, I haven't gotten around to playing with many of these, but they are on my watch list. Some candidate replacements for spice: http://geda.seul.org/tools/gnucap/index.html http://geda.seul.org/tools/ngspice/index.html Editing of spice files should be minimal, using ext2spice (comes with magic), so you might want to look at its various options, e.g. -f spice3. Going to other formats might take some sed/awk-ing, however. Fang David Fang Computer Systems Laboratory Electrical & Computer Engineering Cornell University http://www.csl.cornell.edu/~fang/ -- (2400 baud? Netscape 3.0?? lynx??? No problem!) From tim.edwards at multigig.com Thu Sep 27 10:35:36 2007 From: tim.edwards at multigig.com (R. Timothy Edwards) Date: Thu Oct 30 14:34:06 2008 Subject: [Magic-dev] Re: SegFault on Magic startup In-Reply-To: References: <46F932FA.6040504@multigig.com> Message-ID: <46FBDBD8.4050103@multigig.com> Dear Stefano, > Program received signal SIGSEGV, Segmentation fault. > [Switching to Thread -1224078544 (LWP 23411)] > 0xb7f24400 in pthread_cancel () from /lib/tls/i686/cmov/libpthread.so.0 > (gdb) bt > #0 0xb7f24400 in pthread_cancel () from /lib/tls/i686/cmov/libpthread.so.0 > #1 0x080b1873 in xloop_end () > #2 0x080f1591 in MainExit () > #3 0x080f1639 in magicMain () > #4 0x0804bff2 in main () > (gdb) Thanks for the bug report. I tracked the problem down to an attempt to cancel a thread that was never created. Because it couldn't find any technology file, it never created a layout window, and likewise didn't create the associated thread for capturing X11 events. I have already corrected the source distribution, and hopefully it will make its way back into a new debian package. > I've not used the standard make and make install procedure but i've > made a debian package using debian utils. I've solved that problem. > It's not a huge problem, because loading the right tech files magic > works well. but segfault is quite bad to see. It sounded like a mismatch between the install location given at the time of installation vs. the install location compiled into the code at compile time. I can see this being an issue with pre-compiled packages. How did you solve the problem? Regards, Tim +--------------------------------+-------------------------------------+ | Dr. R. Timothy Edwards (Tim) | email: tim.edwards@multigig.com | | MultiGiG, Inc. | web: http://www.multigig.com | | 100 Enterprise Way, Suite A-3 | phone: (831) 621-3283 | | Scotts Valley, CA 95066 | cell: (240) 401-0616 | +--------------------------------+-------------------------------------+ From dean at ece.gatech.edu Thu Oct 4 13:52:55 2007 From: dean at ece.gatech.edu (Dean Lewis) Date: Thu Oct 30 14:34:06 2008 Subject: [Magic-dev] Free ATPG Simulation Tool Message-ID: <2241.143.215.207.134.1191516775.squirrel@secure2.ece.gatech.edu> This is a follow-up to my previous email (thanks for all the responses). Can anyone recommend a good tool for test simulation (i.e. generating the test patterns and calculating test time and coverage)? Thanks -- Dean Lewis PhD Student, Computer Engineering Georgia Institute of Technology From tim.edwards at multigig.com Fri Oct 5 10:37:18 2007 From: tim.edwards at multigig.com (R. Timothy Edwards) Date: Thu Oct 30 14:34:06 2008 Subject: [Magic-dev] Re: Magic VLSI In-Reply-To: <707ac7370710041948j487a0f43x5a47622e1d0b827c@mail.gmail.com> References: <707ac7370710041422t1522ff1ag1f35897b93be6058@mail.gmail.com> <47055CE8.70503@multigig.com> <707ac7370710041948j487a0f43x5a47622e1d0b827c@mail.gmail.com> Message-ID: <4706683E.9020304@multigig.com> Dear Gagi, > I did however have some problems with your DEF and LEF readers. I am > fairly confident that the DEF files I have are correct since they have > been manufactured, but the def reader finds many errors. Is it always > required to read a LEF file before the corresponding DEF file? Also if > you know of any other freeware DEF readers that can visualize a circuit > please let me know. Thanks for such a great product! There are not supposed to be any errors per se, but there are a number of LEF and DEF statements and structures that are not implemented. I developed the routines based on output from specific software packages, so you may have some piece of software that produces LEF or DEF files that break my parser. If so, I'd like some examples so I can fix it. Also note that the Magic LEF and DEF routines depend on having a techfile for magic that contains a "lef" block outlining the mapping between LEF/DEF layers and magic layers. Otherwise, Magic will make some guesses that may very well be wrong. Please read in the Magic online documentation on the technology file format how to add a "lef" section: http://opencircuitdesign.com/~tim/programs/magic/techref/maint2.html#lef Since most DEF files contain references to macros defined in LEF files, it is the usual practice to read a LEF file first, followed by the corresponding DEF file. Magic should have no trouble reading parts of a DEF file without a corresponding LEF file, but I can't say how much without trying it myself. I'm not aware of any other freeware DEF readers, which is the main reason I wrote one for Magic. I'll post this message to the magic-dev email list in case anyone reading the list knows of other freeware LEF/DEF readers. Regards, Tim +--------------------------------+-------------------------------------+ | Dr. R. Timothy Edwards (Tim) | email: tim.edwards@multigig.com | | MultiGiG, Inc. | web: http://www.multigig.com | | 100 Enterprise Way, Suite A-3 | phone: (831) 621-3283 | | Scotts Valley, CA 95066 | cell: (240) 401-0616 | +--------------------------------+-------------------------------------+ From tim at opencircuitdesign.com Wed Oct 10 00:40:44 2007 From: tim at opencircuitdesign.com (R. Timothy Edwards) Date: Thu Oct 30 14:34:06 2008 Subject: [Magic-dev] spice model on the layout Message-ID: <470C73EC.4040501@opencircuitdesign.com> Dear Chitlesh, > How can I attach a spice model to a particular component (capacitor for > example) so that it would be pulled out during ext2spice ? This is explained in the online "Maintainer's Manual #2" http://opencircuitdesign.com/magic/techref/maint2.html#extract where I quote: Devices are represented in Magic by explicit tile types. The extraction of a device is determined by the declared device type and the information about types which comprise the various independent terminals of the device. device mosfet model gate_types sd_types subs_types subs_node_name [perim_cap [area_cap]] device capacitor model top_types bottom_types [perim_cap] area_cap device resistor model resist_types term_types device bjt model base_types emitter_types collector_types device diode model pos_types neg_types device subcircuit model gate_types [term_types [subs_types]] device rsubcircuit model id_types term_types In the above list, "model" is passed through to the SPICE output of ext2spice as the model name. In the case of capacitors and resistors, one may use the keyword "None" for "model" to get a simple device without a model. In that case, magic will determine the resistance or capacitance according to its extraction models and pass these values to the SPICE output. The older "fet" statement in the techfile extraction section works the same way, but the newer "device" statement is more flexible, and has a lot more options. Regards, Tim +--------------------------------+-------------------------------------+ | Dr. R. Timothy Edwards (Tim) | email: tim@opencircuitdesign.com | | Open Circuit Design, Inc. | web: http://opencircuitdesign.com | | 22815 Timber Creek Lane | phone: (301) 528-9364 | | Clarksburg, MD 20871-4001 | cell: (240) 401-0616 | +--------------------------------+-------------------------------------+ From tim at opencircuitdesign.com Wed Oct 10 01:09:40 2007 From: tim at opencircuitdesign.com (R. Timothy Edwards) Date: Thu Oct 30 14:34:06 2008 Subject: [Magic-dev] Dumb Newbie question (a.k.a. digital design flows) Message-ID: <470C7AB4.4090905@opencircuitdesign.com> Dear Bob, > I am trying to do some custom asic/ ic design work and was looking at using > Magic and related tools to do so. What i want to do is this > > VHDL/Verilog -> Placement -> FPGA. > > Its been a little while since I did this and we used Mentor Graphics in > school. Am I even on the right track with using these tools for that? If I > am what other tools besides magic would I need. I am having problems > figuring out how the data flows between the tools. Any help would be greatly > appreciated. This is not a "dumb newbie" question at all. It's central to the whole problem of open-source EDA tools in the sense that this flow practically does not exist at all in open-source tools. I have been working on this problem a lot over the past year, from which experience you can find a bit of information at http://opencircuitdesign.com/verilog/index.html I can assure you that the flow works, as I have put together some fairly complicated digital blocks from Verilog and XCircuit schematics for MultiGiG production chips, and they have been manufactured, tested, and verified on the Jazz 0.35um SiGe process with the Jazz standard cells (which are probably Artisan/ARM or derived from them) and on the IBM 0.18um SiGe process using the IBM standard cells that come with the design kit. This does not mean that the process is convenient, or easy, or will work at all on your system or for your target process. There are several hurdles including compiling programs like SIS, VIS, and TimberWolf, which do not have especially good support for all processor/ OS types. The other hurdle is getting Magic to do auto-routing, the pain of which varies greatly depending on the specifics of each fabrication process. Since posting the web page mentioned above, I have solved a few issues like adding pre-processing and post-processing scripts to VIS and SIS to handle multiple clock domains and initialization of set/reset flops. Still, it's a long way from where I would like it to be. Having worked heavily with Verilog for about a year now, I have reached the conclusion that it is a lousy way to define circuitry (apart from the fact that it is a much better way to define circuitry than VHDL, which is even lousier). I've found it much easier to define (relatively simple) systems with schematics, and restrict Verilog mostly to big combinatorial logic blocks, for which it is well suited. I assume that since digital flows are used to build microprocessors, the software tools to manage the flows are highly valued, very lucrative, and therefore are rarely to be found in the public domain. Regards, Tim +--------------------------------+-------------------------------------+ | Dr. R. Timothy Edwards (Tim) | email: tim@opencircuitdesign.com | | Open Circuit Design, Inc. | web: http://opencircuitdesign.com | | 22815 Timber Creek Lane | phone: (301) 528-9364 | | Clarksburg, MD 20871-4001 | cell: (240) 401-0616 | +--------------------------------+-------------------------------------+ From tim at opencircuitdesign.com Wed Oct 10 01:25:29 2007 From: tim at opencircuitdesign.com (R. Timothy Edwards) Date: Thu Oct 30 14:34:06 2008 Subject: [Magic-dev] Layout in sub 100-nm technology Message-ID: <470C7E69.9010708@opencircuitdesign.com> Dear Haran, > I understand that at present Magic supports feature sizes till 1 nanometer. A common but unfortunate misconception. Magic can support feature sizes infinitesimally small due to the scalable nature of the CIF specification. With GDS files, magic versions up to 7.4 can handle data on grid points on 1 nanometer spacing (which is not quite the same thing as a 1 nanometer feature size!), while version 7.5 can handle data on grid points on 1 angstrom spacing. > So, how does one draw layouts in 65 nm, 90 nm processes? Obtain permission > and get the related tech files? Magic uses an internal database of unscaled, dimensionless internal units. The technology file defines a "cifoutput" section (also good for GDS output) which translates internal units to physical units when generating output. Having a "cifoutput" style declare "scalefactor 65 nanometers" will give you 65 nm output. By the way, note that if you have a 65nm process and you want to draw something at half lambda, it ends up at 32.5nm, which necessitates moving to angstroms to represent such coordinates in integer units in a GDS output file. This is why magic supports "angstroms" in the scalefactor line, not that any foundry is going to allow data on a 1-angstrom grid any time soon. > What does this scalefactor mean? Is it possible to draw the layout in say > 180 nm process and then scale it down to 65 nm? The "scalability" of CMOS processes has always been more theoretical than practical. However, Magic was designed to do just what you said, to read in a database at, say, 180nm, and write it back out at 65nm, with any necessary subtle geometric manipulations necessary because no process ever scales perfectly (at least none that I have ever encountered). ---Tim +--------------------------------+-------------------------------------+ | Dr. R. Timothy Edwards (Tim) | email: tim@opencircuitdesign.com | | Open Circuit Design, Inc. | web: http://opencircuitdesign.com | | 22815 Timber Creek Lane | phone: (301) 528-9364 | | Clarksburg, MD 20871-4001 | cell: (240) 401-0616 | +--------------------------------+-------------------------------------+ From tim.edwards at multigig.com Tue Oct 9 21:01:26 2007 From: tim.edwards at multigig.com (R. Timothy Edwards) Date: Thu Oct 30 14:34:06 2008 Subject: [Magic-dev] Long time no bit traffic. Message-ID: <470C4086.4070203@multigig.com> Hello everyone, It seems that I never changed my email address for the magic-dev mailing list, and at some point my previous address stopped forwarding mail to me without my noticing it. Consequently, the only mail I've been posting to magic-dev has been responses to email sent directly to me which I thought helpful to share with the group. Undoubtedly this has created the impression that I'm ignoring a lot of postings. Indeed I have been, but not on purpose. Fortunately, David Fang thought to send an email directly to me asking whether I had been looking at the magic-dev postings recently, otherwise who knows how long that would have gone on. Anyway, I will make some attempt to respond to postings from the past six months. Beyond that, I figure most problems will have either been resolved or people will have given up on them or forgotten about them. So, if anyone has a problem dating back more than six months that is still unresolved, please let me know about it. ---Tim +--------------------------------+-------------------------------------+ | Dr. R. Timothy Edwards (Tim) | email: tim.edwards@multigig.com | | MultiGiG, Inc. | web: http://www.multigig.com | | 100 Enterprise Way, Suite A-3 | phone: (831) 621-3283 | | Scotts Valley, CA 95066 | cell: (240) 401-0616 | +--------------------------------+-------------------------------------+ From tim.edwards at multigig.com Tue Oct 9 21:13:35 2007 From: tim.edwards at multigig.com (R. Timothy Edwards) Date: Thu Oct 30 14:34:06 2008 Subject: [Magic-dev] Free ATPG Simulation Tool Message-ID: <470C435F.8030604@multigig.com> Dear Dean, > This is a follow-up to my previous email (thanks for all the responses). > Can anyone recommend a good tool for test simulation (i.e. generating the > test patterns and calculating test time and coverage)? For *digital* simulation, or rather circuits that are primarily digital, IRSIM is an excellent tool for simulation. It is a digital simulator in the sense that it expects all signals to resolve to GND or VDD, but takes a transistor-level netlist and models transistors as resistive switches. IRSIM version 9.7 is based on Tcl/Tk, and I have found it very easy to write test patterns in Tcl scripts. As far as methodical ways to ensure 100% coverage, though, it doesn't do that. For a way to quickly write massively complicated test benches for digital circuits, I know of no better tool. I use it to verify all the digital standard cell blocks I design for MultiGiG. ---Tim +--------------------------------+-------------------------------------+ | Dr. R. Timothy Edwards (Tim) | email: tim.edwards@multigig.com | | MultiGiG, Inc. | web: http://www.multigig.com | | 100 Enterprise Way, Suite A-3 | phone: (831) 621-3283 | | Scotts Valley, CA 95066 | cell: (240) 401-0616 | +--------------------------------+-------------------------------------+ From tim.edwards at multigig.com Tue Oct 9 21:55:18 2007 From: tim.edwards at multigig.com (R. Timothy Edwards) Date: Thu Oct 30 14:34:06 2008 Subject: [Magic-dev] Re: magic resistance extraction Message-ID: <470C4D26.3010303@multigig.com> Dear Chitlesh, Getting back as far as your June postings now. . . > I'm using the default scmos.tech of magic and i have created a > rectangle (2 by 7) with polysilicium. > A sim file was extracted and the output is as follows: > | units: 100 tech: scmos format: MIT > R a_0_n2# 84 Item number 1: When you don't define a specific device, then Magic will extract what's called a "lumped resistance". This does not mean that it thinks your resistor is 84 ohms. It means that if a signal was passed through this net, it would have a time constant of t=R*C. If you haven't placed any transistors or other devices, then magic will presumably decide at random whether your resistor is oriented vertically or horizontally. You've probably already figured this out, but I thought I would mention it for the sake of completeness. > A second sim file was extracted from a similar rectangle but twice the > width that is (4 by 7) and the output is: > | units: 100 tech: scmos format: MIT > C a_0_n2# GND 2.9 > R a_0_n2# 42 The first file found the capacitance to be less than its cutoff point and didn't print the value (default is 2fF, I think?). Now you have a file with a lumped R*C value on the node a_0_n2#, R in ohms and C in femtoFarads (the man page for "sim (5)" describes the format in detail). > Ok if I follow the simple R = ?*L /A relation > where ? is the resistivity, > L : the length in this case 7 > A :the area (H*W), > so R = (?/H) L/W > by this ratio I have ?/H = 24. > Where and how magic sets ?/H to be 24 when the scmos.tech allows > 2.0/1.6/1.2 ?m ? > Is there a table somewhere which defines the resistance/?m for > * metal1,metal2,metal3 > * ndiff,pdiff > * polysilicium > * ... > with respect to 2.0/1.6/1.2 ?m ? Item 2: Magic's internal representation is in unitless values of "lambda". Magic's tech file defines various "styles" for extraction, each of which defines a scalefactor relating internal units to microns. Type: : ext style The current style is "lambda=1.0(scna20_orb)". to get the current style. The tech file itself has the scalefactor in the "extract" section for this style: lambda 100 which means that 1 lambda (internal unit) = 100 centimicrons, correct for the default (and defunct!) 1.0 micron process from (the also defunct, at least in name) Orbit Semiconductor foundry. For more information on resistance and capacitance extraction, try the Magic tutorials online and the online version of the Magic Maintainer's Manual #2: http://opencircuitdesign.com/magic/userguide.html http://opencircuitdesign.com/magic/tutorials/tut8.html and http://opencircuitdesign.com/magic/techref/maint2.html esp. http://opencircuitdesign.com/magic/techref/maint2.html#extract You should find these helpful. Regards, Tim +--------------------------------+-------------------------------------+ | Dr. R. Timothy Edwards (Tim) | email: tim.edwards@multigig.com | | MultiGiG, Inc. | web: http://www.multigig.com | | 100 Enterprise Way, Suite A-3 | phone: (831) 621-3283 | | Scotts Valley, CA 95066 | cell: (240) 401-0616 | +--------------------------------+-------------------------------------+ From tim.edwards at multigig.com Tue Oct 9 23:48:02 2007 From: tim.edwards at multigig.com (R. Timothy Edwards) Date: Thu Oct 30 14:34:06 2008 Subject: [Magic-dev] Tech file segfaults Message-ID: <470C6792.7010501@multigig.com> Dear Viet, I'm now catching up on postings I never received, and found that this one was never properly answered. Better late than never. So here goes: > Magic segfaults on my techfile. In the cifoutput section, if > I move "style cifdrc" and everything for that style above > "style normal" magic will run. Or if it is just "style > cifdrc" by itself magic will run. It is only when "style > cifdrc" is at the end of the cifoutput section does it > segfault. Is this a bug or is my techfile messed up? This goes back to a modification I made several years ago when I was trying to figure out why Magic would soak up so much main memory on startup before it even got around to loading a layout. It turned out that one of the main offenders was a slew of arrays created for every cifinput, cifoutput, extract, and DRC style defined in the techfile. This became an obvious target for saving memory: Remember only the names of all the styles, and only keep one in memory at any one time. The problem with "cifdrc" is that if it refers to the first defined style, then there is no problem, because all the data arrays for that style are properly defined. If it refers to a style after the first one, then it attempts to access an undefined space and crashes. I (perhaps unadvisedly) removed all the code for "cifdrc" from version 7.5 to prevent fatal crash conditions. I was not aware that the "cifdrc" was used so much and will make some attempt to fix the crash condition, probably by some method like disabling that part of the DRC whenever the cifoutput style it refers to is not active. ---Tim +--------------------------------+-------------------------------------+ | Dr. R. Timothy Edwards (Tim) | email: tim.edwards@multigig.com | | MultiGiG, Inc. | web: http://www.multigig.com | | 100 Enterprise Way, Suite A-3 | phone: (831) 621-3283 | | Scotts Valley, CA 95066 | cell: (240) 401-0616 | +--------------------------------+-------------------------------------+ From dean at ece.gatech.edu Wed Oct 10 13:24:39 2007 From: dean at ece.gatech.edu (Dean Lewis) Date: Thu Oct 30 14:34:06 2008 Subject: [Magic-dev] Free ATPG Simulation Tool In-Reply-To: <470C435F.8030604@multigig.com> References: <470C435F.8030604@multigig.com> Message-ID: <3299.143.215.207.134.1192033479.squirrel@secure2.ece.gatech.edu> Thank you for the response. However, I think I have not made my needs clear. I can test my circuits for correct operation well enough with spice simulations. I'm looking for a fault simulator and test pattern generator. Such a program would give me an estimate of the cost vs coverage trade-off were I to actually manufacture my circuit and subsequently test it for manufacturing errors. -- Dean Lewis PhD Student, Computer Engineering Georgia Institute of Technology > Dear Dean, > > > This is a follow-up to my previous email (thanks for all the > responses). > > Can anyone recommend a good tool for test simulation (i.e. generating > the > > test patterns and calculating test time and coverage)? > > For *digital* simulation, or rather circuits that are primarily digital, > IRSIM is an excellent tool for simulation. It is a digital simulator > in the sense that it expects all signals to resolve to GND or VDD, but > takes a transistor-level netlist and models transistors as resistive > switches. IRSIM version 9.7 is based on Tcl/Tk, and I have found it > very easy to write test patterns in Tcl scripts. As far as methodical > ways to ensure 100% coverage, though, it doesn't do that. For a way > to quickly write massively complicated test benches for digital circuits, > I know of no better tool. I use it to verify all the digital standard > cell blocks I design for MultiGiG. > > ---Tim > > +--------------------------------+-------------------------------------+ > | Dr. R. Timothy Edwards (Tim) | email: tim.edwards@multigig.com | > | MultiGiG, Inc. | web: http://www.multigig.com | > | 100 Enterprise Way, Suite A-3 | phone: (831) 621-3283 | > | Scotts Valley, CA 95066 | cell: (240) 401-0616 | > +--------------------------------+-------------------------------------+ > From tim.edwards at multigig.com Wed Oct 10 10:39:51 2007 From: tim.edwards at multigig.com (R. Timothy Edwards) Date: Thu Oct 30 14:34:06 2008 Subject: [Magic-dev] Free ATPG Simulation Tool In-Reply-To: <3299.143.215.207.134.1192033479.squirrel@secure2.ece.gatech.edu> References: <470C435F.8030604@multigig.com> <3299.143.215.207.134.1192033479.squirrel@secure2.ece.gatech.edu> Message-ID: <470D0057.8070508@multigig.com> Dear Dean, > Thank you for the response. However, I think I have not made my needs > clear. I can test my circuits for correct operation well enough with spice > simulations. I'm looking for a fault simulator and test pattern generator. > Such a program would give me an estimate of the cost vs coverage trade-off > were I to actually manufacture my circuit and subsequently test it for > manufacturing errors. No, you made your needs clear. I don't know of any freeware/open source solutions for automatic test pattern generation. However, IRSIM does have a built-in fault simulator that you can look into. If there are published formulae or algorithms for automatic test pattern generation, I could add them into IRSIM. It's not an unreasonable request! Regards, Tim +--------------------------------+-------------------------------------+ | Dr. R. Timothy Edwards (Tim) | email: tim.edwards@multigig.com | | MultiGiG, Inc. | web: http://www.multigig.com | | 100 Enterprise Way, Suite A-3 | phone: (831) 621-3283 | | Scotts Valley, CA 95066 | cell: (240) 401-0616 | +--------------------------------+-------------------------------------+ From bertrand at asicadvantage.com Thu Oct 11 08:04:04 2007 From: bertrand at asicadvantage.com (Bertrand Irissou) Date: Thu Oct 30 14:34:06 2008 Subject: [Magic-dev] Illegal overlaps not flagged Message-ID: <470E2D54.1040805@asicadvantage.com> Hi Tim, I think I ran into a rather big bug... If you have to cells each with different paint on the same plane, overlapping them when included in a parent cell will not flag a problem.... For instance, using scmos: Paint nwell in cellA, paint pwell in cellB. getcell cellA and cellB in a cellC. Overlap them. No error gets flagged. I am using version 7.4.27. I think this must be a bug as the code for checking is still there and this used to be standard behavior in version 6.4 or 7.2 (which I have used a lot in the past). Thanks, Bertrand. ------------------------------------------------------------------------------ This email may contain confidential and/or proprietary material for the sole use of the intended recipient. Be aware that any disclosure, copying, distribution or other unintended use of its contents, without the express permission of ASIC Advantage, INC. is prohibited. From birissou at yahoo.com Wed Oct 10 05:01:06 2007 From: birissou at yahoo.com (Bertrand) Date: Thu Oct 30 14:34:06 2008 Subject: [Magic-dev] plane overlap on different cells Message-ID: <68731.71940.qm@web30014.mail.mud.yahoo.com> Hi Tim, I've been using magic 7.4.27 for a while now with excellent results. However I have just found out one major difference with older magic versions ( I was using 6 before). If you paint nwell in cell A and pwell in cell B and include both in cell C, you can actually overlap both without generating a DRC. In practice, this should be flagged since both are on the same plane. This used to be the default behavior in magic 6.x. The only time the problem gets flagged is when generating gds with a "parent and child disagree on cif". Is there any way to restore the old behavior (via a flag or an option, or is that a side effect of other changes that have happened ? Thanks, Bertrand. ____________________________________________________________________________________ Pinpoint customers who are looking for what you sell. http://searchmarketing.yahoo.com/ From mika at async.caltech.edu Wed Oct 10 13:15:52 2007 From: mika at async.caltech.edu (Mika Nystrom) Date: Thu Oct 30 14:34:06 2008 Subject: [Magic-dev] Free ATPG Simulation Tool In-Reply-To: Your message of "Tue, 09 Oct 2007 20:13:35 PDT." <470C435F.8030604@multigig.com> Message-ID: <200710101915.l9AJFqHE087254@camembert.async.caltech.edu> If you're using non-overlapping clocks (does anyone still do that?) or some other kind of race-free timing discipline, the COSMOS simulator has a lot of features for calculating test coverage. It simulates using BDDs rather than literal values, and it compiles your circuit to a C program, so it can be much faster than IRSIM. It also verifies that your circuit is free from timing races. Mika "R. Timothy Edwards" writes: >Dear Dean, > > > This is a follow-up to my previous email (thanks for all the responses). > > Can anyone recommend a good tool for test simulation (i.e. generating the > > test patterns and calculating test time and coverage)? > >For *digital* simulation, or rather circuits that are primarily digital, >IRSIM is an excellent tool for simulation. It is a digital simulator >in the sense that it expects all signals to resolve to GND or VDD, but >takes a transistor-level netlist and models transistors as resistive >switches. IRSIM version 9.7 is based on Tcl/Tk, and I have found it >very easy to write test patterns in Tcl scripts. As far as methodical >ways to ensure 100% coverage, though, it doesn't do that. For a way >to quickly write massively complicated test benches for digital circuits, >I know of no better tool. I use it to verify all the digital standard >cell blocks I design for MultiGiG. > > ---Tim > >+--------------------------------+-------------------------------------+ >| Dr. R. Timothy Edwards (Tim) | email: tim.edwards@multigig.com | >| MultiGiG, Inc. | web: http://www.multigig.com | >| 100 Enterprise Way, Suite A-3 | phone: (831) 621-3283 | >| Scotts Valley, CA 95066 | cell: (240) 401-0616 | >+--------------------------------+-------------------------------------+ > >_______________________________________________ >magic-dev mailing list >magic-dev@vlsi.cornell.edu >http://vlsi.csl.cornell.edu/mailman/listinfo/magic-dev From svenn.bjerkem at googlemail.com Wed Oct 10 22:35:54 2007 From: svenn.bjerkem at googlemail.com (Svenn Are Bjerkem) Date: Thu Oct 30 14:34:07 2008 Subject: [Magic-dev] Dumb Newbie question (a.k.a. digital design flows) In-Reply-To: <470C7AB4.4090905@opencircuitdesign.com> References: <470C7AB4.4090905@opencircuitdesign.com> Message-ID: <1efff110710101235n3c5957cbvb6e974827fffb37c@mail.gmail.com> On 10/10/07, R. Timothy Edwards wrote: > > Having worked heavily with Verilog for about a year now, I have reached > the conclusion that it is a lousy way to define circuitry (apart from > the fact that it is a much better way to define circuitry than VHDL, > which is even lousier). I've found it much easier to define (relatively > simple) systems with schematics, and restrict Verilog mostly to big > combinatorial logic blocks, for which it is well suited. I totally agree with you on verilog and VHDL as lousy. VHDL would maybe be good as a backend saving file format that can be simulated directly, but to gain knowledge of a system it is a hassle. Every time I hit the xcircuit home page I see that system drawing there and wish that such a high-level drawing could be done in xcircuit and actually then having a netlist in verilog, vhdl, spice, spectre or a mixture like after defining a configuration like with the hierarchy editor in Cadence. Now I have to do the visualization in Visio and then do a human translation from visio to verilog/vhdl composer etc. which is error prone and require windows. Drawing system block diagrams in xcircuit is very fast. If I could have those block diagrams represent real blocks and netlist them that would be very good. Problem is that one has to define a lot of pins on the symbols which is a hassle when you want to represent a big logigal bus with just one thick line on the schematic. > > I assume that since digital flows are used to build microprocessors, > the software tools to manage the flows are highly valued, very lucrative, > and therefore are rarely to be found in the public domain. And the managers of companies are targeted with FUD from those manufacturers. -- Svenn From leandro.listas at gmail.com Thu Oct 11 01:04:14 2007 From: leandro.listas at gmail.com (=?ISO-8859-1?Q?Leandro_Mars=F3?=) Date: Thu Oct 30 14:34:07 2008 Subject: [Magic-dev] Dumb Newbie question (a.k.a. digital design flows) In-Reply-To: <470C7AB4.4090905@opencircuitdesign.com> References: <470C7AB4.4090905@opencircuitdesign.com> Message-ID: > I assume that since digital flows are used to build microprocessors, > the software tools to manage the flows are highly valued, very lucrative, > and therefore are rarely to be found in the public domain. And what is your opinion about describing circuits using functional languages like Haskell? I'm starting to study it, so I can't tell you much now, but there is a interesting site that addresses the subject: http://www.funhdl.org (Functional HDL) they are developing atom, a Hardware Description Language embeded in haskell. There is also a similar system called Lava where you could describe your circuit and then get a verilog output for xilinx fpga or "generic" verilog. Regards, Leandro From tim at opencircuitdesign.com Thu Oct 11 10:38:21 2007 From: tim at opencircuitdesign.com (R. Timothy Edwards) Date: Thu Oct 30 14:34:07 2008 Subject: [Magic-dev] Illegal overlaps not flagged In-Reply-To: <470E2D54.1040805@asicadvantage.com> References: <470E2D54.1040805@asicadvantage.com> Message-ID: <470E517D.5010201@opencircuitdesign.com> Dear Bertrand, > I think I ran into a rather big bug... > If you have to cells each with different paint on the same plane, > overlapping them when included in a parent cell will not flag a problem.... > For instance, using scmos: > Paint nwell in cellA, paint pwell in cellB. > getcell cellA and cellB in a cellC. Overlap them. No error gets flagged. > I am using version 7.4.27. > I think this must be a bug as the code for checking is still there and > this used to be standard behavior in version 6.4 or 7.2 (which I have > used a lot in the past). I made a quick check of the problem, and am working on it now. I confirmed that the paint tables are correct---that is, the paint tables are set up such that "nwell + pwell = TT_ERROR_S", which is supposed to create a tile type TT_ERROR_S when the two cells are flattened. I'm not sure why this is happening, but my guess is that it is an inadvertent result of changes I made to the paint routines. Hopefully I will have this figured out shortly. Regards, Tim +--------------------------------+-------------------------------------+ | Dr. R. Timothy Edwards (Tim) | email: tim@opencircuitdesign.com | | Open Circuit Design, Inc. | web: http://opencircuitdesign.com | | 22815 Timber Creek Lane | phone: (301) 528-9364 | | Clarksburg, MD 20871-4001 | cell: (240) 401-0616 | +--------------------------------+-------------------------------------+ From tim at opencircuitdesign.com Thu Oct 11 11:12:04 2007 From: tim at opencircuitdesign.com (R. Timothy Edwards) Date: Thu Oct 30 14:34:07 2008 Subject: [Magic-dev] Illegal overlaps not flagged In-Reply-To: <470E2D54.1040805@asicadvantage.com> References: <470E2D54.1040805@asicadvantage.com> Message-ID: <470E5964.308@opencircuitdesign.com> Dear Bertrand, > I think I ran into a rather big bug... > If you have to cells each with different paint on the same plane, > overlapping them when included in a parent cell will not flag a problem.... Okay, I found the error, which is that I commented out a line that I should not have that enables the paint tables that contain the overlap error rule. file drc/DRCsubcell.c, lines 572 and following should be: savedPaintTable = DBNewPaintTable(DRCPaintTable); /* savedPaintPlane = DBNewPaintPlane(DBPaintPlaneMergeOnce); */ (void) DBCellCopyAllPaint(&scx, &DBAllButSpaceBits, 0, DRCuse); (void) DBNewPaintTable(savedPaintTable); /* (void) DBNewPaintPlane(savedPaintPlane); */ That is, I meant to comment out the replacement of the paint routine, but should not have commented out the replacement of the paint table that is used during DRC subcell flattening. I am correcting the CVS database, and the new distribution should be available tomorrow. Thanks for the bug report. Regards, Tim +--------------------------------+-------------------------------------+ | Dr. R. Timothy Edwards (Tim) | email: tim@opencircuitdesign.com | | Open Circuit Design, Inc. | web: http://opencircuitdesign.com | | 22815 Timber Creek Lane | phone: (301) 528-9364 | | Clarksburg, MD 20871-4001 | cell: (240) 401-0616 | +--------------------------------+-------------------------------------+ From tim at opencircuitdesign.com Thu Oct 11 16:56:08 2007 From: tim at opencircuitdesign.com (R. Timothy Edwards) Date: Thu Oct 30 14:34:07 2008 Subject: [Magic-dev] Dumb Newbie question (a.k.a. digital design flows) In-Reply-To: References: <470C7AB4.4090905@opencircuitdesign.com> Message-ID: <470EAA08.4000103@opencircuitdesign.com> Dear Leandro, > And what is your opinion about describing circuits using functional > languages like Haskell? > I'm starting to study it, so I can't tell you much now, but there is a > interesting site that addresses the subject: > http://www.funhdl.org (Functional HDL) > they are developing atom, a Hardware Description Language embeded in haskell. > There is also a similar system called Lava where you could describe > your circuit and then get a verilog output for xilinx fpga or > "generic" verilog. I don't have much of an opinion because I'm not especially familiar with functional languages. I took a quick look through the list, and please correct me if I'm wrong, but the offerings I saw mostly compile into C, Verilog, VHDL, and occasionally some limited format like Xilinx logic blocks. While I do have many complaints about how Verilog is designed, it doesn't really help if the functional description ends up in Verilog format, since the real problem for VLSI design is getting from Verilog format to a standard-cell or transistor-level description. The only open-source tools that I have been able to obtain that can do this are the Berkeley VIS and SIS tools. Most of the work in coding these tools appears to have been devoted to the problem of logical optimization of combinatorial blocks. Unfortunately, these tools are extremely limited in their capability beyond handling combinatorial blocks. Every circuit can run off of at most one clock, and that clock must be an input to the system and cannot be derived from any logic. Also, only the positive edge of that clock can be handled. Level-sensitive latches are unknown, as are tri-state devices. Just to get a tool flow that could handle the simplest "always @(reset) begin. . ." block, I had to preprocess the Verilog, remove the reset procedure block so that VIS/SIS could handle the resulting Verilog, generate a standard cell netlist with VIS and SIS, then post-process the netlist to replace the standard flops with set and reset flops as necessary to produce all the reset conditions. Since that only solved about half of my problems, I eventually abandoned Verilog altogether for some of the blocks that required complicated timing and drew them as xcircuit schematics. If it weren't for the fact that I have a dozen other projects in mind, I'd like to embark on a project to develop a tool that converts Verilog, or functional code, or whatever makes the most sense, into some low-level description like transistor n- and p-stacks, and then either generates a transistor-level circuit or else maps the transistor stacks into standard cells. But if there were a halfway decent solution out there that costs less than a $100k+ Synopsys license, I wouldn't bother. Regards, Tim +--------------------------------+-------------------------------------+ | Dr. R. Timothy Edwards (Tim) | email: tim@opencircuitdesign.com | | Open Circuit Design, Inc. | web: http://opencircuitdesign.com | | 22815 Timber Creek Lane | phone: (301) 528-9364 | | Clarksburg, MD 20871-4001 | cell: (240) 401-0616 | +--------------------------------+-------------------------------------+ From svenn.bjerkem at googlemail.com Thu Oct 11 22:54:14 2007 From: svenn.bjerkem at googlemail.com (Svenn Are Bjerkem) Date: Thu Oct 30 14:34:07 2008 Subject: [Magic-dev] Dumb Newbie question (a.k.a. digital design flows) In-Reply-To: References: <470C7AB4.4090905@opencircuitdesign.com> Message-ID: <1efff110710111254t3d0a8b8cw27e2e8e817a5c38b@mail.gmail.com> On 10/11/07, Leandro Mars? wrote: > > I assume that since digital flows are used to build microprocessors, > > the software tools to manage the flows are highly valued, very lucrative, > > and therefore are rarely to be found in the public domain. > And what is your opinion about describing circuits using functional > languages like Haskell? > I'm starting to study it, so I can't tell you much now, but there is a > interesting site that addresses the subject: > http://www.funhdl.org (Functional HDL) AI have done digital design in semi-full custom with schematic capture of gates and a cell-based placement/routing of macros and verilog RTL design and full-custom high-speed digital as well as analog design. Since I have worked for a Japanese company, I took some lessons in Japanese and I have somehow experienced that the human pattern recognition is under-utilized if you do your design in text only. It doesn't matter what language it is, sooner or later you lose "the feeling" for the application. When we did schematic capture of digital logic, there was a convention how to draw the schematics. This lead to a huge "reuse" of functional blocks as the brain was able to categorize parts of the schematics into their functionality. This is of course sub-optimal design when speed or die utilization, but understanding and reuse across a team was larger. With textual capture of the design, the immediate structure is lost unless you have an editor with object parsing capabilities. (Which most HDL editors do have nowadays) > they are developing atom, a Hardware Description Language embeded in haskell. > There is also a similar system called Lava where you could describe > your circuit and then get a verilog output for xilinx fpga or > "generic" verilog. Verilog is now degraded to be a "file format" for the haskell front-end. It is in my opinion just a way to make it easier for people with haskell experience to do verilog. I have no experience with this flow so I should really not judge but my gut feeling is that a textual view of a textual view is just helping you implementing an algorithm in hardware (Which _is_ the main business of semiconductors), but unless you understand the language _and_ the algorithm, you don't have the posibility to trace signal paths to gain experience with a circuit. Whoever has tried to understand verilog by looking at a synthesis from Synopsys know that only a human can draw in a way that another human can understand the functionality from the gate structure of a netlist. (Or at least most humans....) -- Svenn From Simon.Harpham at ieee.org Sat Oct 13 21:05:59 2007 From: Simon.Harpham at ieee.org (Simon HARPHAM) Date: Thu Oct 30 14:34:07 2008 Subject: [Magic-dev] Dumb Newbie question (a.k.a. digital design flows) In-Reply-To: <470EAA08.4000103@opencircuitdesign.com> References: <470C7AB4.4090905@opencircuitdesign.com> <470EAA08.4000103@opencircuitdesign.com> Message-ID: <47111717.5090203@ieee.org> Hi Tim et al, ... perhaps I missed the point of this conversation, but personally I have found that once spice variants gave us heirarchy and the expression controlled source, almost all behavioural descriptions became possible including "digital" blocks. To be able to partition a design into smaller blocks then to be able to write progressively higher level descriptions and compare them to "equivalent" spice netlists extracted directly from a layout is extremely powerful and does not involve the use of any other language. The only two drawbacks I know of is the ability of many spice variants to converge large MOS netlist with "totem-pole" structures and the availability of a compact register (flip-flop) or state-engine description, something the "behavioural" equation overcomes in part if you know how to write it. Personally, as a circuit design and layout oriented person, I do not see the need for Verilog or VHDL other than being able to "interface" with the (digital) system designers and to convert their efforts in something physical. Why add another language when we already have a perfectly good one? (spice) - is not the issue one of improving the ability of the underlying algorithms in the existing tools to converger larger circuits in a more effecient way, rather than trying to create new tools? As a few of the PC based spice variants are written in C or C++, I would have thought that it was not that difficult to be able to bring the softies on board as well - it just seems to me that we (as an industry) should be going from C (or C++) directly to SPICE. Cheers, SimonH. > From tim at opencircuitdesign.com Sat Oct 13 18:34:14 2007 From: tim at opencircuitdesign.com (R. Timothy Edwards) Date: Thu Oct 30 14:34:07 2008 Subject: [Magic-dev] Dumb Newbie question (a.k.a. digital design flows) In-Reply-To: <47111717.5090203@ieee.org> References: <470C7AB4.4090905@opencircuitdesign.com> <470EAA08.4000103@opencircuitdesign.com> <47111717.5090203@ieee.org> Message-ID: <47116406.3020003@opencircuitdesign.com> Dear Simon, > ... perhaps I missed the point of this conversation, but personally I > have found that once spice variants gave us heirarchy and the expression > controlled source, almost all behavioural descriptions became possible > including "digital" blocks. To be able to partition a design into > smaller blocks then to be able to write progressively higher level > descriptions and compare them to "equivalent" spice netlists extracted > directly from a layout is extremely powerful and does not involve the > use of any other language. The only two drawbacks I know of is the > ability of many spice variants to converge large MOS netlist with > "totem-pole" structures and the availability of a compact register > (flip-flop) or state-engine description, something the "behavioural" > equation overcomes in part if you know how to write it. The main point of Verilog or any other HDL is to be able to, for example, declare A and B as n-bit vectors, write "A + B" or "A * B", synthesize it, and end up with a SPICE deck or other netlist format describing an adder or multiplier, or counter, accumulator, barrel shifter, etc. > Personally, as a circuit design and layout oriented person, I do not see > the need for Verilog or VHDL other than being able to "interface" with > the (digital) system designers and to convert their efforts in something > physical. One recent project we implemented an LFSR (linear feedback shift register) in Verilog, which is one of those things that is about as simple to express in a schematic as it is to express in Verilog. Another block, though, implemented a fairly complicated coarse-frequency auto-ranging algorithm for controlling a VCO. This block had multiple adders, timers, counters, and we kept changing the algorithm every few weeks (or sometimes days). That one, I would not have wanted to do in schematic form, and especially not as a raw netlist. > Why add another language when we already have a perfectly good one? (spice) Partly because SPICE is a netlist format, not a language. Furthermore, it dates back to the punch card/batch mode era, and hasn't been substantially updated since then. It has lasting power because a lot of people have done a lot of work creating sophisticated device models, not because it's a particularly good format, which it isn't. Regards, Tim +--------------------------------+-------------------------------------+ | Dr. R. Timothy Edwards (Tim) | email: tim@opencircuitdesign.com | | Open Circuit Design, Inc. | web: http://opencircuitdesign.com | | 22815 Timber Creek Lane | phone: (301) 528-9364 | | Clarksburg, MD 20871-4001 | cell: (240) 401-0616 | +--------------------------------+-------------------------------------+ From tim at opencircuitdesign.com Thu Oct 18 10:58:02 2007 From: tim at opencircuitdesign.com (R. Timothy Edwards) Date: Thu Oct 30 14:34:07 2008 Subject: [Magic-dev] Re: Magic VLSI In-Reply-To: <200710181301.30741.mustafagunay@gmail.com> References: <200710181301.30741.mustafagunay@gmail.com> Message-ID: <4717909A.3000004@opencircuitdesign.com> Dear Mustafa, > firstly i have BLT but i cant show to it. (its not error) > - ----------------------------------------------------------- > Configuration Summary (principle requirements): > > X11: yes > OpenGL: yes > Tcl/Tk: yes > BLT: no > and when i try to load BLT2.4 magic says me ; > > version conflict for package "Tcl": have 8.5b1, need exactly 8.5 > version conflict for package "Tcl": have 8.5b1, need exactly 8.5 > while executing > "load $library BLT" > (procedure "LoadBLT" line 30) > invoked from within > "LoadBLT 2.4 /usr/lib/blt2.4" > ("package ifneeded BLT 2.4" script) > invoked from within > "package require BLT 2.4" This would appear to be an issue between BLT and Tcl/Tk. The "configure" script that produces this message "BLT: no" merely ran tclsh and passed it the command "package require BLT". It would be instructive for you to run "wish", type "package require BLT", and report what it says. "package require BLT" is not supposed to complain about version numbers, unless it is confused by the "5b1" because it is expecting an integer version number, not a mixture of alphanumerics. > couldn't load > file "/usr/lib/magic/tcl/tclmagic.so": /usr/lib/magic/tcl/tclmagic.so: > cannot open shared object file: No such file or directory This is a ubiquitous error that occurs whenever there is a problem in the shared object library. To see the real error, again run "wish", then type "load /usr/lib/magic/tcl/tclmagic.so" and see what the real error message is. Regards, Tim +--------------------------------+-------------------------------------+ | Dr. R. Timothy Edwards (Tim) | email: tim@opencircuitdesign.com | | Open Circuit Design, Inc. | web: http://opencircuitdesign.com | | 22815 Timber Creek Lane | phone: (301) 528-9364 | | Clarksburg, MD 20871-4001 | cell: (240) 401-0616 | +--------------------------------+-------------------------------------+ From dean at ece.gatech.edu Mon Oct 22 18:16:10 2007 From: dean at ece.gatech.edu (Dean Lewis) Date: Thu Oct 30 14:34:07 2008 Subject: [Magic-dev] Font Gone Haywire Message-ID: <49824.143.215.207.133.1193087770.squirrel@secure2.ece.gatech.edu> I'm attempting to install Magic on my laptop, which is running Ubuntu. I finally got it to compile, but when I run it, Magic nukes the terminal's font and then closes. Here is a screen shot of the problem: http://img86.imageshack.us/img86/7159/screenshotoo6.png You can see the affects in the bottom of the right terminal. I just installed Ubuntu Gutsy Gibbon fresh this past weekend, so its very possible I'm missing a library or some other such thing is wrong. Any suggestions? -- Dean Lewis PhD Student, Computer Engineering Georgia Institute of Technology From dean at ece.gatech.edu Mon Oct 22 19:33:01 2007 From: dean at ece.gatech.edu (Dean Lewis) Date: Thu Oct 30 14:34:07 2008 Subject: [Magic-dev] Font Gone Haywire In-Reply-To: <20071022173342.R857@alpha.ece.jhu.edu> References: <49824.143.215.207.133.1193087770.squirrel@secure2.ece.gatech.edu> <20071022173342.R857@alpha.ece.jhu.edu> Message-ID: <35542.128.61.83.93.1193092381.squirrel@secure2.ece.gatech.edu> Results of 'make config': Everything that all the Makefiles use is in this files. You can change compilers, compiler flags, and libraries there. Configuration completed. The following files were changed: defs.mak (old version in old.defs.mak) Now you need to look at defs.mak and make sure it makes sense. Then type "make". After it completes, you'll have a magic binary in the magic sub directory and a graphics helper program in the graphics subdir. Now type "make install". This will install the appropriate files in /home/dean/Research/3DMagic''. Log files of the make process are found in make.log and install.log. To run magic, needs to find the X*Helper program in your path. It also needs to find the tech libraries. The easiest way to do this is to: setenv CAD_HOME /home/dean/Research/3DMagic set path = ( $path /home/dean/Research/3DMagic/bin ) If you have any problems, please read a man page or two and try to figure it out. If you're stuck, send us (magic-hackers@csl.cornell.edu) mail and we'll try to help. ----- Also, I've attached defs.mak, in case that will. Please let me know if I can provide any more info to help diagnose the problem. Thanks -- Dean Lewis PhD Student, Computer Engineering Georgia Institute of Technology > Hi Dean, > > It looks to me like Magic is spewing some control characters to your > terminal window. I can't solve your problem with that. And in any case > you need to say what 'configure' reports at the end, otherwise no one > (including me) is likely to be able to help debug your problem. What I > can suggest is that typing: > > stty sane > > after magic exits may return your terminal to normal operation. (Note that > you won't be able to see what you're typing) > > Philippe Pouliquen > -------------- next part -------------- A non-text attachment was scrubbed... Name: defs.mak Type: application/octet-stream Size: 2828 bytes Desc: not available Url : http://vlsi.csl.cornell.edu/pipermail/magic-dev/attachments/20071022/a150debe/defs.obj From tim at opencircuitdesign.com Mon Oct 22 17:17:53 2007 From: tim at opencircuitdesign.com (R. Timothy Edwards) Date: Thu Oct 30 14:34:07 2008 Subject: [Magic-dev] Font Gone Haywire In-Reply-To: <49824.143.215.207.133.1193087770.squirrel@secure2.ece.gatech.edu> References: <49824.143.215.207.133.1193087770.squirrel@secure2.ece.gatech.edu> Message-ID: <471D2FA1.4070202@opencircuitdesign.com> Dear Dean, > I'm attempting to install Magic on my laptop, which is running Ubuntu. I > finally got it to compile, but when I run it, Magic nukes the terminal's > font and then closes. Here is a screen shot of the problem: > http://img86.imageshack.us/img86/7159/screenshotoo6.png > > You can see the affects in the bottom of the right terminal. > > I just installed Ubuntu Gutsy Gibbon fresh this past weekend, so its very > possible I'm missing a library or some other such thing is wrong. Any > suggestions? Try Magic version 7.4 or 7.5. In particular, if you compile the Tcl version, it bypasses the terminal altogether in favor of a console window, which is not to say that if the problem still exists in 7.4/7.5, it might just trash the console window instead. From your screenshot, I feel inclined to comment on the "Magic3D" directory name. Since you were compiling version 7.1, are you aware of the 3D rendering capability of the OpenGL graphics package, introduced in 2003 into Magic version 7.3? Regards, Tim +--------------------------------+-------------------------------------+ | Dr. R. Timothy Edwards (Tim) | email: tim@opencircuitdesign.com | | Open Circuit Design, Inc. | web: http://opencircuitdesign.com | | 22815 Timber Creek Lane | phone: (301) 528-9364 | | Clarksburg, MD 20871-4001 | cell: (240) 401-0616 | +--------------------------------+-------------------------------------+ From dean at ece.gatech.edu Mon Oct 22 20:30:56 2007 From: dean at ece.gatech.edu (Dean Lewis) Date: Thu Oct 30 14:34:07 2008 Subject: [Magic-dev] Font Gone Haywire In-Reply-To: <471D2FA1.4070202@opencircuitdesign.com> References: <49824.143.215.207.133.1193087770.squirrel@secure2.ece.gatech.edu> <471D2FA1.4070202@opencircuitdesign.com> Message-ID: <2951.128.61.83.93.1193095856.squirrel@secure2.ece.gatech.edu> No, 3D has nothing to do with graphics; 3D is an extension of Magic developed at MIT for laying out circuits using 3D integration technology. Unfortunately, the latest version of Magic they support is 7.1, so I'm stuck with that. Anyways, this seemed like a Magic issue, not 3D Magic-specific, so I posted it here. -- Dean Lewis PhD Student, Computer Engineering Georgia Institute of Technology > Dear Dean, > >> I'm attempting to install Magic on my laptop, which is running Ubuntu. I >> finally got it to compile, but when I run it, Magic nukes the terminal's >> font and then closes. Here is a screen shot of the problem: >> http://img86.imageshack.us/img86/7159/screenshotoo6.png >> >> You can see the affects in the bottom of the right terminal. >> >> I just installed Ubuntu Gutsy Gibbon fresh this past weekend, so its >> very >> possible I'm missing a library or some other such thing is wrong. Any >> suggestions? > > Try Magic version 7.4 or 7.5. In particular, if you compile the Tcl > version, it bypasses the terminal altogether in favor of a console > window, which is not to say that if the problem still exists in 7.4/7.5, > it might just trash the console window instead. > > From your screenshot, I feel inclined to comment on the "Magic3D" > directory name. Since you were compiling version 7.1, are you aware > of the 3D rendering capability of the OpenGL graphics package, > introduced in 2003 into Magic version 7.3? > > Regards, > Tim > > +--------------------------------+-------------------------------------+ > | Dr. R. Timothy Edwards (Tim) | email: tim@opencircuitdesign.com | > | Open Circuit Design, Inc. | web: http://opencircuitdesign.com | > | 22815 Timber Creek Lane | phone: (301) 528-9364 | > | Clarksburg, MD 20871-4001 | cell: (240) 401-0616 | > +--------------------------------+-------------------------------------+ > From tim at opencircuitdesign.com Mon Oct 22 19:03:12 2007 From: tim at opencircuitdesign.com (R. Timothy Edwards) Date: Thu Oct 30 14:34:07 2008 Subject: [Magic-dev] Font Gone Haywire In-Reply-To: <2951.128.61.83.93.1193095856.squirrel@secure2.ece.gatech.edu> References: <49824.143.215.207.133.1193087770.squirrel@secure2.ece.gatech.edu> <471D2FA1.4070202@opencircuitdesign.com> <2951.128.61.83.93.1193095856.squirrel@secure2.ece.gatech.edu> Message-ID: <471D4850.4070103@opencircuitdesign.com> Dear Dean, > No, 3D has nothing to do with graphics; 3D is an extension of Magic > developed at MIT for laying out circuits using 3D integration technology. > Unfortunately, the latest version of Magic they support is 7.1, so I'm > stuck with that. Thanks for the clarification. Any chance of MIT GPL'ing the code, or is it not general-purpose enough (or too proprietary)? I'm having a hard time thinking up an explanation why Magic is trashing your terminal, but it's almost certain to be in TxSetTerminal(), or more specifically, the two functions it calls, txSetTermState() and txInitTermRec(), both in textio/txInput.c. It could be that an incorrect definition like SYSV may result in the attempt to write to a "termio" structure that is system-incompatible, so that modifying flags causes unexpected behavior. This *shouldn't* happen in a Linux system, because version 7.1 was developed on Linux (among others), and major things like SYSV vs. BSD definitions and correct header files should be correct for all variants. But there's always a chance that it could be something specific to Ubuntu or even your laptop hardware. ---Tim +--------------------------------+-------------------------------------+ | Dr. R. Timothy Edwards (Tim) | email: tim@opencircuitdesign.com | | Open Circuit Design, Inc. | web: http://opencircuitdesign.com | | 22815 Timber Creek Lane | phone: (301) 528-9364 | | Clarksburg, MD 20871-4001 | cell: (240) 401-0616 | +--------------------------------+-------------------------------------+ From dean at ece.gatech.edu Mon Oct 22 23:42:55 2007 From: dean at ece.gatech.edu (Dean Lewis) Date: Thu Oct 30 14:34:07 2008 Subject: [Magic-dev] Font Gone Haywire In-Reply-To: <471D4850.4070103@opencircuitdesign.com> References: <49824.143.215.207.133.1193087770.squirrel@secure2.ece.gatech.edu> <471D2FA1.4070202@opencircuitdesign.com> <2951.128.61.83.93.1193095856.squirrel@secure2.ece.gatech.edu> <471D4850.4070103@opencircuitdesign.com> Message-ID: <3014.128.61.83.93.1193107375.squirrel@secure2.ece.gatech.edu> I haven't checked the actual terms of the license as I am funded under the same research program that funded 3DMagic's development. However, I know it is free for non-commercial use. The code is available here, though you have to request a password, and they're not all the prompt responding :/ http://www-mtl.mit.edu/researchgroups/icsystems/3dcsg/downloads.html Thanks for the pointers to the various functions. I'll check them out. txInput.c though, not txOutput.c? I know I had to hack up txOutput.c pretty bad to get it working with stdarg instead of varargs, so I wouldn't be surprised if that was the problem. -- Dean Lewis PhD Student, Computer Engineering Georgia Institute of Technology > Dear Dean, > >> No, 3D has nothing to do with graphics; 3D is an extension of Magic >> developed at MIT for laying out circuits using 3D integration >> technology. >> Unfortunately, the latest version of Magic they support is 7.1, so I'm >> stuck with that. > > Thanks for the clarification. Any chance of MIT GPL'ing the code, or > is it not general-purpose enough (or too proprietary)? > > I'm having a hard time thinking up an explanation why Magic is > trashing your terminal, but it's almost certain to be in > TxSetTerminal(), or more specifically, the two functions it calls, > txSetTermState() and txInitTermRec(), both in textio/txInput.c. > It could be that an incorrect definition like SYSV may result in > the attempt to write to a "termio" structure that is system-incompatible, > so that modifying flags causes unexpected behavior. > > This *shouldn't* happen in a Linux system, because version 7.1 was > developed on Linux (among others), and major things like SYSV vs. > BSD definitions and correct header files should be correct for all > variants. But there's always a chance that it could be something > specific to Ubuntu or even your laptop hardware. > > ---Tim > > +--------------------------------+-------------------------------------+ > | Dr. R. Timothy Edwards (Tim) | email: tim@opencircuitdesign.com | > | Open Circuit Design, Inc. | web: http://opencircuitdesign.com | > | 22815 Timber Creek Lane | phone: (301) 528-9364 | > | Clarksburg, MD 20871-4001 | cell: (240) 401-0616 | > +--------------------------------+-------------------------------------+ > From tim at opencircuitdesign.com Mon Oct 22 21:42:09 2007 From: tim at opencircuitdesign.com (R. Timothy Edwards) Date: Thu Oct 30 14:34:07 2008 Subject: [Magic-dev] Font Gone Haywire In-Reply-To: <3014.128.61.83.93.1193107375.squirrel@secure2.ece.gatech.edu> References: <49824.143.215.207.133.1193087770.squirrel@secure2.ece.gatech.edu> <471D2FA1.4070202@opencircuitdesign.com> <2951.128.61.83.93.1193095856.squirrel@secure2.ece.gatech.edu> <471D4850.4070103@opencircuitdesign.com> <3014.128.61.83.93.1193107375.squirrel@secure2.ece.gatech.edu> Message-ID: <471D6D91.1030207@opencircuitdesign.com> Dear Dean, > txInput.c though, not txOutput.c? I know I had to hack up txOutput.c > pretty bad to get it working with stdarg instead of varargs, so I wouldn't > be surprised if that was the problem. Well, with that information, I'd probably put my money on txOutput.c as well. You might find it helpful to look at Magic version 7.4, just to see the corrections made for stdarg uses. Some of this stuff can be very abstruse. Since most of my development has been on the Tcl/Tk based version, there won't be many changes to the textio routines other than those necessary to make the thing compile under gcc 3.0 and up. Just note that the definition "MAGIC_WRAPPER" refers to the Tcl/Tk version. In particular, you'll want to note the use of "va_copy". On some hardware, arguments are all pointers and can be copied just with an "=" operator. This is not true in Linux and x86 hardware, so copying stdarg arguments with "=" will tend to produce trash. I have no idea if that has anything to do with your problem or not, but it's one of the trickier aspects of stdarg that I've had to deal with. ---Tim +--------------------------------+-------------------------------------+ | Dr. R. Timothy Edwards (Tim) | email: tim@opencircuitdesign.com | | Open Circuit Design, Inc. | web: http://opencircuitdesign.com | | 22815 Timber Creek Lane | phone: (301) 528-9364 | | Clarksburg, MD 20871-4001 | cell: (240) 401-0616 | +--------------------------------+-------------------------------------+ From fang at csl.cornell.edu Tue Oct 23 00:55:32 2007 From: fang at csl.cornell.edu (David Fang) Date: Thu Oct 30 14:34:07 2008 Subject: [Magic-dev] Font Gone Haywire In-Reply-To: <471D4850.4070103@opencircuitdesign.com> References: <49824.143.215.207.133.1193087770.squirrel@secure2.ece.gatech.edu> <2951.128.61.83.93.1193095856.squirrel@secure2.ece.gatech.edu> <471D4850.4070103@opencircuitdesign.com> Message-ID: <20071022234917.Y48604@shannon.csl.cornell.edu> > I'm having a hard time thinking up an explanation why Magic is > trashing your terminal, but it's almost certain to be in > TxSetTerminal(), or more specifically, the two functions it calls, > txSetTermState() and txInitTermRec(), both in textio/txInput.c. > It could be that an incorrect definition like SYSV may result in > the attempt to write to a "termio" structure that is system-incompatible, > so that modifying flags causes unexpected behavior. Hi, FWIW, I've seen this sort of thing happen to terminals before with other console programs (and only twice ever with magic-7.4, never with 7.1) -- I'm not sure if magic is at fault. Is this deterministically reproducible? I've had difficulty reproducing it in the past, since (if I recall) it happened while trying to interrupt magic [^C] or kill magic. (This has even happened with simple text/console applications that don't do anything fancy with the host terminal.) > This *shouldn't* happen in a Linux system, because version 7.1 was > developed on Linux (among others), and major things like SYSV vs. > BSD definitions and correct header files should be correct for all > variants. But there's always a chance that it could be something > specific to Ubuntu or even your laptop hardware. Fang David Fang Computer Systems Laboratory Electrical & Computer Engineering Cornell University http://www.csl.cornell.edu/~fang/ -- (2400 baud? Netscape 3.0?? lynx??? No problem!) From philippe at alpha.ece.jhu.edu Tue Oct 23 12:05:45 2007 From: philippe at alpha.ece.jhu.edu (Philippe Pouliquen) Date: Thu Oct 30 14:34:07 2008 Subject: [Magic-dev] Font Gone Haywire In-Reply-To: <471D6D91.1030207@opencircuitdesign.com> References: <49824.143.215.207.133.1193087770.squirrel@secure2.ece.gatech.edu> <2951.128.61.83.93.1193095856.squirrel@secure2.ece.gatech.edu> <3014.128.61.83.93.1193107375.squirrel@secure2.ece.gatech.edu> <471D6D91.1030207@opencircuitdesign.com> Message-ID: <20071023110023.X857@alpha.ece.jhu.edu> Hi Dean, Tim, >> txInput.c though, not txOutput.c? I know I had to hack up txOutput.c >> pretty bad to get it working with stdarg instead of varargs, so I >> wouldn't be surprised if that was the problem. > > Well, with that information, I'd probably put my money on txOutput.c > as well. You might find it helpful to look at Magic version 7.4, > just to see the corrections made for stdarg uses. Didn't 7.1 still have the hack from 6.x that bypassed vararg/stdarg altogether? I think it was a preprocessor macro like NO_VARARGS... The other thing I'm wondering is if the readline hack is causing problems. As I recall, we had incorporated the 'readline' source directly at the time because of compatibility issues with system provided readline libraries (and there was at least one version that had a hacked readline function that I had added). So Dean might want to try and disable 'readline' as well. Philippe Pouliquen From dean at ece.gatech.edu Tue Oct 23 22:23:06 2007 From: dean at ece.gatech.edu (Dean Lewis) Date: Thu Oct 30 14:34:07 2008 Subject: [Magic-dev] Font Gone Haywire In-Reply-To: <20071023110023.X857@alpha.ece.jhu.edu> References: <49824.143.215.207.133.1193087770.squirrel@secure2.ece.gatech.edu> <471D2FA1.4070202@opencircuitdesign.com> <2951.128.61.83.93.1193095856.squirrel@secure2.ece.gatech.edu> <471D4850.4070103@opencircuitdesign.com> <3014.128.61.83.93.1193107375.squirrel@secure2.ece.gatech.edu> <471D6D91.1030207@opencircuitdesign.com> <20071023110023.X857@alpha.ece.jhu.edu> Message-ID: <34672.68.120.110.67.1193188986.squirrel@secure2.ece.gatech.edu> Well, I've certainly got a lot to look into now, haha. To answer David Fang, its completely reproducible. Every time I start 3DMagic, it happens, and I don't get any GUI windows. To answer Philippe Pouliquen, yes, the NO_VARARGS macro is in 7.1, but I've been systematically cutting it out and just updating everything to stdarg. Its quite likely I wasn't systematic enough and bugged it. Its been a couple months since I successfully installed it on the school puter, so I tried to reproduce the steps as well as possible, which partially involved a massive varargs -> stdarg conversion. -- Dean Lewis PhD Student, Computer Engineering Georgia Institute of Technology > Hi Dean, Tim, > >>> txInput.c though, not txOutput.c? I know I had to hack up txOutput.c >>> pretty bad to get it working with stdarg instead of varargs, so I >>> wouldn't be surprised if that was the problem. >> > >> Well, with that information, I'd probably put my money on txOutput.c >> as well. You might find it helpful to look at Magic version 7.4, >> just to see the corrections made for stdarg uses. > > Didn't 7.1 still have the hack from 6.x that bypassed vararg/stdarg > altogether? I think it was a preprocessor macro like NO_VARARGS... > > The other thing I'm wondering is if the readline hack is causing problems. > As I recall, we had incorporated the 'readline' source directly at the > time because of compatibility issues with system provided readline > libraries (and there was at least one version that had a hacked readline > function that I had added). So Dean might want to try and disable > 'readline' as well. > > Philippe Pouliquen > From bertrand at asicadvantage.com Tue Oct 30 14:08:50 2007 From: bertrand at asicadvantage.com (Bertrand Irissou) Date: Thu Oct 30 14:34:07 2008 Subject: [Magic-dev] Postscript plotting larger than A size Message-ID: <47278F52.5080702@asicadvantage.com> Hello, My question regarding Postscript plotting is actually 2 fold. First, has anyone had success plotting on anything larger than an A size paper ? I have tried B, C, D and E size, but to no avail... By using the PS_width and PS_height values in plot param, I have changed the paper size. Magic creates a postscript file but the printer crashes on the file. Similarly, ghostscript chokes on the file and returns an error. Any idea ? Secondly, is there a way to specify a scale when plotting to postscript ? Ideally a lambda->real size would be create (15X , 100X, etc..). It looks like this was done for PNM plotting. Sincerely Bertrand. ------------------------------------------------------------------------------ This email may contain confidential and/or proprietary material for the sole use of the intended recipient. Be aware that any disclosure, copying, distribution or other unintended use of its contents, without the express permission of ASIC Advantage, INC. is prohibited. From nestorj at lafayette.edu Tue Oct 30 17:25:52 2007 From: nestorj at lafayette.edu (John Nestor) Date: Thu Oct 30 14:34:07 2008 Subject: [Magic-dev] Postscript plotting larger than A size In-Reply-To: <47278F52.5080702@asicadvantage.com> Message-ID: Hi, Bertrand I encountered this problem when trying to plot large size plots on our HP DesignJet 800PS. My suspicion is that when magic creates the PS file at full size, an overflow occurs in the plotter's PS interpreter. My workaround was to do something like this: 1) set PS_width and PS_height to HALF the desired size 2) On the plotter, use the settings menu to 200% magnification Hope this helps, John Nestor On 10/30/07 4:08 PM, "Bertrand Irissou" wrote: > > Hello, > > My question regarding Postscript plotting is actually 2 fold. > > First, has anyone had success plotting on anything larger than an A > size paper ? I have tried B, C, D and E size, but to no avail... > By using the PS_width and PS_height values in plot param, I have > changed the paper size. Magic creates a postscript file but the printer > crashes on the file. Similarly, ghostscript chokes on the file and > returns an error. Any idea ? > > Secondly, is there a way to specify a scale when plotting to postscript > ? Ideally a lambda->real size would be create (15X , 100X, etc..). It > looks like this was done for PNM plotting. > > Sincerely > > Bertrand. > > ------------------------------------------------------------------------------ > This email may contain confidential and/or proprietary material for the > sole use of the intended recipient. Be aware that any disclosure, copying, > distribution or other unintended use of its contents, without the express > permission of ASIC Advantage, INC. is prohibited. > > _______________________________________________ > magic-dev mailing list > magic-dev@vlsi.cornell.edu > http://vlsi.csl.cornell.edu/mailman/listinfo/magic-dev -- John Nestor, Associate Professor ECE Department Lafayette College Easton, PA 18042 nestorj@lafayette.edu http://foghorn.cadlab.lafayette.edu/~nestorj From tim at opencircuitdesign.com Tue Oct 30 14:49:31 2007 From: tim at opencircuitdesign.com (R. Timothy Edwards) Date: Thu Oct 30 14:34:07 2008 Subject: [Magic-dev] Postscript plotting larger than A size In-Reply-To: <47278F52.5080702@asicadvantage.com> References: <47278F52.5080702@asicadvantage.com> Message-ID: <472798DB.5020506@opencircuitdesign.com> Dear Bertrand, > First, has anyone had success plotting on anything larger than an A size > paper ? I have tried B, C, D and E size, but to no avail... > By using the PS_width and PS_height values in plot param, I have changed > the paper size. Magic creates a postscript file but the printer crashes > on the file. Similarly, ghostscript chokes on the file and returns an > error. Any idea ? I just did a quick test by doubling PS_width to get a 11" x 17" sheet size, and ghostscript (ghostview) had no problem with it. What error is ghostscript giving you? > Secondly, is there a way to specify a scale when plotting to postscript > ? Ideally a lambda->real size would be create (15X , 100X, etc..). It > looks like this was done for PNM plotting. Not difficult to add, but it hasn't been done. Right now, the routine fits the data bounds (clipped to the cursor box) to the maximum fit in PS_width and PS_height (minus margins). So you would have to hand- calculate the scalefactor. ---Tim +--------------------------------+-------------------------------------+ | Dr. R. Timothy Edwards (Tim) | email: tim@opencircuitdesign.com | | Open Circuit Design, Inc. | web: http://opencircuitdesign.com | | 22815 Timber Creek Lane | phone: (301) 528-9364 | | Clarksburg, MD 20871-4001 | cell: (240) 401-0616 | +--------------------------------+-------------------------------------+ From bertrand at asicadvantage.com Tue Oct 30 15:22:00 2007 From: bertrand at asicadvantage.com (Bertrand Irissou) Date: Thu Oct 30 14:34:07 2008 Subject: [Magic-dev] Postscript plotting larger than A size In-Reply-To: <472798DB.5020506@opencircuitdesign.com> References: <47278F52.5080702@asicadvantage.com> <472798DB.5020506@opencircuitdesign.com> Message-ID: <4727A078.1000209@asicadvantage.com> Hi Tim, The 11" x 17" seems to work OK in ghostview . However a landscape mode, 17"x11" breaks it... Here is the error: Error: /rangecheck in --getinterval-- Operand stack: 0.0 2805.97 ch (\011\011\011\011\011\011\011\011\011\011\011\011\011\011\011) 0 24 Execution stack: %interp_exit .runexec2 --nostringval-- --nostringval-- --nostringval-- 2 %stopped_push --nostringval-- --nostringval-- --nostringval-- false 1 %stopped_push 1 3 %oparray_pop .runexec2 --nostringval-- --nostringval-- --nostringval-- 2 %stopped_push --nostringval-- --nostringval-- --nostringval-- --nostringval-- Dictionary stack: Looks like it going outside the bounding box. I will look into putting a scale factor in. I think this might be useful to others! Bertrand. R. Timothy Edwards wrote: > Dear Bertrand, > >> First, has anyone had success plotting on anything larger than an A >> size paper ? I have tried B, C, D and E size, but to no avail... >> By using the PS_width and PS_height values in plot param, I have >> changed the paper size. Magic creates a postscript file but the >> printer crashes on the file. Similarly, ghostscript chokes on the >> file and returns an error. Any idea ? > > I just did a quick test by doubling PS_width to get a 11" x 17" sheet > size, and ghostscript (ghostview) had no problem with it. What error > is ghostscript giving you? > >> Secondly, is there a way to specify a scale when plotting to >> postscript ? Ideally a lambda->real size would be create (15X , 100X, >> etc..). It looks like this was done for PNM plotting. > > Not difficult to add, but it hasn't been done. Right now, the routine > fits the data bounds (clipped to the cursor box) to the maximum fit in > PS_width and PS_height (minus margins). So you would have to hand- > calculate the scalefactor. > > ---Tim > > +--------------------------------+-------------------------------------+ > | Dr. R. Timothy Edwards (Tim) | email: tim@opencircuitdesign.com | > | Open Circuit Design, Inc. | web: http://opencircuitdesign.com | > | 22815 Timber Creek Lane | phone: (301) 528-9364 | > | Clarksburg, MD 20871-4001 | cell: (240) 401-0616 | > +--------------------------------+-------------------------------------+ -- Bertrand Irissou, V.P. Business Development ASIC Advantage, Inc. mailto:bsi@asicadvantage.com 1290-B Reamwood Avenue Tel:(408)541-8686 x125 Fax:(408)541-8675 Sunnyvale, CA 94089 http://www.asicadvantage.com --- registered to ISO 9001:2000 ------------------------------------------------------------------------------ This email may contain confidential and/or proprietary material for the sole use of the intended recipient. Be aware that any disclosure, copying, distribution or other unintended use of its contents, without the express permission of ASIC Advantage, INC. is prohibited. From bertrand at asicadvantage.com Wed Oct 31 02:14:00 2007 From: bertrand at asicadvantage.com (Bertrand Irissou) Date: Thu Oct 30 14:34:07 2008 Subject: [Magic-dev] flatten command crashes Message-ID: <47283948.3060607@asicadvantage.com> Hi everyone, Here is a somewhat annoying problem I have run into. If you open a readonly cell and use the command : flatten, magic will crash. If you open the readonly cell, then open a read/write cell, then re-load the readonly cell, then :flatten does not crash... Looks like something not getting initialized right.... Any idea ? Thanks! Bertrand. ------------------------------------------------------------------------------ This email may contain confidential and/or proprietary material for the sole use of the intended recipient. Be aware that any disclosure, copying, distribution or other unintended use of its contents, without the express permission of ASIC Advantage, INC. is prohibited. From mika at async.caltech.edu Wed Oct 31 06:45:15 2007 From: mika at async.caltech.edu (Mika Nystrom) Date: Thu Oct 30 14:34:07 2008 Subject: [Magic-dev] Postscript plotting larger than A size In-Reply-To: Your message of "Tue, 30 Oct 2007 16:25:52 EDT." Message-ID: <200710311245.l9VCjFSI019379@camembert.async.caltech.edu> What we always did was to generate the files as PNMs and pass them through a program called p3. This program generates HPR (HP Raster) files that drive HP DesignJets far more efficiently than PostScript, which by its very nature requires the plotter to render the entire image in its internal memory, because unlike a real pen plotter, these inkjet "plotters" can't back up... The P3 README has the following to say: ---- P3 was last updated on Jan 4, 1995 ... P3 has been tested on an HP9000s800 and Sun3 (SunOS 4.1.1). If you a) find it to work on another architecture b) make any changes (to support other formats or output devices) or c) fix any bugs I would like a copy of the changes. Noel (ngorelic@speclab.cr.usgs.gov) ---- It works just fine on FreeBSD and OSF/1. The following command did the trick for us with a plotter with a 36-inch carriage. (E size.) p3 -DJET -render 4 -width 34i poster-situs-sep2003_150.ppm > poster-situs-sep2003_150.hpr lpr -Pplotter poster-situs-sep2003_150.hpr The results are of noticeably higher quality than those which come out of using PostScript files. I don't remember how much RAM the plotter had (but it was a lot). Mika P.S. If anyone needs P3 and can't find it let me know. Also let me know if you'd like a standalone plotting program for Magic that unfortunately doesn't handle triangles, isn't very efficient, but is capable of producing very pretty plots of quite large chips (we tried it on 100M+ transistors---that takes days). John Nestor writes: >Hi, Bertrand > >I encountered this problem when trying to plot large size plots on our HP >DesignJet 800PS. My suspicion is that when magic creates the PS file at full >size, an overflow occurs in the plotter's PS interpreter. > >My workaround was to do something like this: > >1) set PS_width and PS_height to HALF the desired size > >2) On the plotter, use the settings menu to 200% magnification > >Hope this helps, > >John Nestor > >On 10/30/07 4:08 PM, "Bertrand Irissou" wrote: > >> >> Hello, >> >> My question regarding Postscript plotting is actually 2 fold. >> >> First, has anyone had success plotting on anything larger than an A >> size paper ? I have tried B, C, D and E size, but to no avail... >> By using the PS_width and PS_height values in plot param, I have >> changed the paper size. Magic creates a postscript file but the printer >> crashes on the file. Similarly, ghostscript chokes on the file and >> returns an error. Any idea ? >> >> Secondly, is there a way to specify a scale when plotting to postscript >> ? Ideally a lambda->real size would be create (15X , 100X, etc..). It >> looks like this was done for PNM plotting. >> >> Sincerely >> >> Bertrand. >> >> ------------------------------------------------------------------------------ >> This email may contain confidential and/or proprietary material for the >> sole use of the intended recipient. Be aware that any disclosure, copying, >> distribution or other unintended use of its contents, without the express >> permission of ASIC Advantage, INC. is prohibited. >> >> _______________________________________________ >> magic-dev mailing list >> magic-dev@vlsi.cornell.edu >> http://vlsi.csl.cornell.edu/mailman/listinfo/magic-dev > >-- >John Nestor, Associate Professor >ECE Department >Lafayette College >Easton, PA 18042 >nestorj@lafayette.edu >http://foghorn.cadlab.lafayette.edu/~nestorj > > > >_______________________________________________ >magic-dev mailing list >magic-dev@vlsi.cornell.edu >http://vlsi.csl.cornell.edu/mailman/listinfo/magic-dev From bertrand at asicadvantage.com Thu Nov 1 13:59:32 2007 From: bertrand at asicadvantage.com (Bertrand Irissou) Date: Thu Oct 30 14:34:07 2008 Subject: [Magic-dev] Extraction error Message-ID: <472A3024.40305@asicadvantage.com> Hi Tim, I think I have uncovered a pretty serious extraction error. If you extract the file bug.mag, you will see that the bug.ext file merges the nodes "n1" and "gnd". This is clearly a bug since the ptub and ntub are not connected. I have narrowed it down to the fact that the ntub has a 45 degree angle. If the tub has 90 degree angles it work fine, but as long as a single one is present, it extract incorrectly. Sincerely, Bertrand. ====================== bug.mag ========================== magic tech scmos timestamp 1193946343 << metal1 >> rect 3058 1147 3089 1177 rect 3176 732 3204 759 use cell cell timestamp 1193946343 transform 1 0 2518 0 1 722 box 10 10 686 686 << labels >> rlabel metal1 3058 1147 3089 1177 0 n1 rlabel metal1 3176 732 3203 759 0 gnd << end >> ===================== cell.mag ========================== magic tech scmos timestamp 1193947126 << checkpaint >> rect -4 -4 700 700 << pwell >> rect 10 612 686 686 rect 10 84 84 612 tri 572 168 612 208 se rect 612 168 686 612 tri 488 84 572 168 se rect 572 84 686 168 rect 10 10 686 84 << nwell >> rect 84 208 612 612 rect 84 168 572 208 tri 572 168 612 208 nw rect 84 84 488 168 tri 488 84 572 168 nw << psubstratepcontact >> rect 666 18 678 30 << nsubstratencontact >> rect 550 426 562 438 << labels >> rlabel psubstratepcontact 666 18 678 30 0 sub << end >> ============================================================ -- Bertrand Irissou, V.P. Business Development ASIC Advantage, Inc. mailto:bsi@asicadvantage.com 1290-B Reamwood Avenue Tel:(408)541-8686 x125 Fax:(408)541-8675 Sunnyvale, CA 94089 http://www.asicadvantage.com --- registered to ISO 9001:2000 ------------------------------------------------------------------------------ This email may contain confidential and/or proprietary material for the sole use of the intended recipient. Be aware that any disclosure, copying, distribution or other unintended use of its contents, without the express permission of ASIC Advantage, INC. is prohibited. From tim at opencircuitdesign.com Thu Nov 1 23:17:38 2007 From: tim at opencircuitdesign.com (R. Timothy Edwards) Date: Thu Oct 30 14:34:07 2008 Subject: [Magic-dev] flatten command crashes In-Reply-To: <47283948.3060607@asicadvantage.com> References: <47283948.3060607@asicadvantage.com> Message-ID: <472AB2F2.9060603@opencircuitdesign.com> Dear Bertrand, > Here is a somewhat annoying problem I have run into. > If you open a readonly cell and use the command : flatten, magic will > crash. I was right. . . I *did* already fix that one, but I fixed it in version 7.5 and never corrected version 7.4 to match (must have been a busy day). I just added the correction to the CVS repository for 7.4 and it should be a new tarball by tomorrow morning. ---Tim +--------------------------------+-------------------------------------+ | Dr. R. Timothy Edwards (Tim) | email: tim@opencircuitdesign.com | | Open Circuit Design, Inc. | web: http://opencircuitdesign.com | | 22815 Timber Creek Lane | phone: (301) 528-9364 | | Clarksburg, MD 20871-4001 | cell: (240) 401-0616 | +--------------------------------+-------------------------------------+ From tim at opencircuitdesign.com Thu Nov 1 23:55:48 2007 From: tim at opencircuitdesign.com (R. Timothy Edwards) Date: Thu Oct 30 14:34:07 2008 Subject: [Magic-dev] Re: Small Magic bug In-Reply-To: <47293B68.5090204@austin.rr.com> References: <47293B68.5090204@austin.rr.com> Message-ID: <472ABBE4.4070907@opencircuitdesign.com> Dear Erwin, > I found a small bug in magic 7.5 which does not exist in magic 7.4. > I have a techfile in which I name my contacts "co" or "CO". When I do a > paint co > nothing happens. If I rename the contacts in the tech file to "cont" > instead of "co" everything works. There is a "special" type called "connect" (which is irrelevant for the "paint" command, anyway) that is conflicting with the "co", and Magic simply assumes the former, never gets around to checking if there is a conflicting layer type defined in the tech file, and consequently paints space. Although I added the type name "connect" in magic version 7.5, this error also crops up in version 7.4 (and probably all versions) if you give a layer a name that is a substring of any of the "special" types "labels", "subcells", or "errors", because magic checks these type names first. The quick fix for this is to find the call to LookupStruct() in commands/CmdSubrs.c (line 414, I think) and change it to "LookupFull", which requires the "special" types to be spelled out in full. The "correct" fix is to search for tile types first, then look for special types if no matching tile type was found. I have made this fix on my computer, but it's not going to make it into a new distribution for a few days, because I am working on several other code changes at the moment. Regards, Tim +--------------------------------+-------------------------------------+ | Dr. R. Timothy Edwards (Tim) | email: tim@opencircuitdesign.com | | Open Circuit Design, Inc. | web: http://opencircuitdesign.com | | 22815 Timber Creek Lane | phone: (301) 528-9364 | | Clarksburg, MD 20871-4001 | cell: (240) 401-0616 | +--------------------------------+-------------------------------------+ From mika at async.caltech.edu Thu Nov 1 13:45:35 2007 From: mika at async.caltech.edu (Mika Nystrom) Date: Thu Oct 30 14:34:07 2008 Subject: [Magic-dev] Postscript plotting larger than A size In-Reply-To: Your message of "Thu, 01 Nov 2007 09:45:23 PDT." <472A02A3.4000404@asicadvantage.com> Message-ID: <200711011945.lA1JjZ94082052@camembert.async.caltech.edu> Well I don't remember where I got P3 from... I think it might have been on a USGS site, way back when. I put a copy at http://www.async.caltech.edu/~mika/p3.tgz but I'm afraid I can't guarantee that that will be a permanent link. Mika Bertrand Irissou writes: > > Hi Mika, John, Tim, > > Mika, > > I agree with you that Postscript plotting is not the most efficient of >plotting for large size plotter as all the rendering is left to the >plotter... > > I do have RTL plotting routines for magic (derived from the versatec) >that were originally written by Brian Richard at UCB back in 1995 (I was >a student there... :) ). I don't think they're part of the Magic >distribution and I never made them public because I don't know the legal >status (there is a UCB copyright on them)... Since it's been so long, I >don't think it would be a problem BUT .. these routines do not support >non-Manhattan geometries, so someone would have to go fix it - I don't >know how to. > Also, I think support for Versatec like plotter was being dropped so I >never followed up with it. > So..... > >1. Is there any interest in publishing these routines, adding >non-Manhattan support and making them part of the magic distribution ? >It does make printing simple as you can directly send to any RTL >compatible (hp) printer w/o any external filter. It is also very fast >and the plots look great on an E-size printer. > >2. The PNM approach looks great too. Mika I look for the P3 software on >Google but could not find any reference to it. It must be old too - >perhaps it could be made part of the magic distribution ? Or at least >make a reference to it in the Wiki so that people could grab it. > > Thanks in advance, > > Bertrand. > >Mika Nystrom wrote: >> What we always did was to generate the files as PNMs and pass them >> through a program called p3. This program generates HPR (HP Raster) >> files that drive HP DesignJets far more efficiently than PostScript, >> which by its very nature requires the plotter to render the entire >> image in its internal memory, because unlike a real pen plotter, >> these inkjet "plotters" can't back up... >> >> The P3 README has the following to say: >> >> ---- >> >> P3 was last updated on Jan 4, 1995 >> >> ... >> >> P3 has been tested on an HP9000s800 and Sun3 (SunOS 4.1.1). If you >> a) find it to work on another architecture >> b) make any changes (to support other formats or output devices) > or >> c) fix any bugs >> >> I would like a copy of the changes. >> >> Noel (ngorelic@speclab.cr.usgs.gov) >> >> ---- >> >> It works just fine on FreeBSD and OSF/1. >> >> The following command did the trick for us with a plotter with a >> 36-inch carriage. (E size.) >> >> p3 -DJET -render 4 -width 34i poster-situs-sep2003_150.ppm > poster-situs-se >p2003_150.hpr >> >> lpr -Pplotter poster-situs-sep2003_150.hpr >> >> The results are of noticeably higher quality than those which come >> out of using PostScript files. I don't remember how much RAM the >> plotter had (but it was a lot). >> >> Mika >> >> P.S. If anyone needs P3 and can't find it let me know. Also let >> me know if you'd like a standalone plotting program for Magic that >> unfortunately doesn't handle triangles, isn't very efficient, but >> is capable of producing very pretty plots of quite large chips (we >> tried it on 100M+ transistors---that takes days). >> >> John Nestor writes: >> >>> Hi, Bertrand >>> >>> I encountered this problem when trying to plot large size plots on our HP >>> DesignJet 800PS. My suspicion is that when magic creates the PS file at ful >l >>> size, an overflow occurs in the plotter's PS interpreter. >>> >>> My workaround was to do something like this: >>> >>> 1) set PS_width and PS_height to HALF the desired size >>> >>> 2) On the plotter, use the settings menu to 200% magnification >>> >>> Hope this helps, >>> >>> John Nestor >>> >>> On 10/30/07 4:08 PM, "Bertrand Irissou" wrote: >>> >>> >>>> Hello, >>>> >>>> My question regarding Postscript plotting is actually 2 fold. >>>> >>>> First, has anyone had success plotting on anything larger than an A >>>> size paper ? I have tried B, C, D and E size, but to no avail... >>>> By using the PS_width and PS_height values in plot param, I have >>>> changed the paper size. Magic creates a postscript file but the printer >>>> crashes on the file. Similarly, ghostscript chokes on the file and >>>> returns an error. Any idea ? >>>> >>>> Secondly, is there a way to specify a scale when plotting to postscript >>>> ? Ideally a lambda->real size would be create (15X , 100X, etc..). It >>>> looks like this was done for PNM plotting. >>>> >>>> Sincerely >>>> >>>> Bertrand. >>>> >>>> --------------------------- > > >-- >Bertrand Irissou, V.P. Business Development ASIC Advantage, Inc. >mailto:bsi@asicadvantage.com 1290-B Reamwood Avenue >Tel:(408)541-8686 x125 Fax:(408)541-8675 Sunnyvale, CA 94089 >http://www.asicadvantage.com --- registered to ISO 9001:2000 > >------------------------------------------------------------------------------ >This email may contain confidential and/or proprietary material for the >sole use of the intended recipient. Be aware that any disclosure, copying, >distribution or other unintended use of its contents, without the express >permission of ASIC Advantage, INC. is prohibited. From tim at opencircuitdesign.com Sun Nov 4 11:33:16 2007 From: tim at opencircuitdesign.com (R. Timothy Edwards) Date: Thu Oct 30 14:34:07 2008 Subject: [Magic-dev] Extraction error In-Reply-To: <472A3024.40305@asicadvantage.com> References: <472A3024.40305@asicadvantage.com> Message-ID: <472E1E7C.6040400@opencircuitdesign.com> Dear Bertrand, > I think I have uncovered a pretty serious extraction error. > If you extract the file bug.mag, you will see that the bug.ext file > merges the nodes "n1" and "gnd". This is clearly a bug since the ptub > and ntub are not connected. > I have narrowed it down to the fact that the ntub has a 45 degree angle. > If the tub has 90 degree angles it work fine, but as long as a single > one is present, it extract incorrectly. I was surprised to find that the error was in a routine that I had already worked over several times, and still failed to get it right. I have corrected version 7.4 in the CVS source, and it will be made into a new tarball tonight. The extraction code is extensive, so I'm not sure how many places it might potentially produce the wrong result for non-Manhattan geometry, but at least I have confirmed that your example extracts correctly with the new code. Regards, Tim +--------------------------------+-------------------------------------+ | Dr. R. Timothy Edwards (Tim) | email: tim@opencircuitdesign.com | | Open Circuit Design, Inc. | web: http://opencircuitdesign.com | | 22815 Timber Creek Lane | phone: (301) 528-9364 | | Clarksburg, MD 20871-4001 | cell: (240) 401-0616 | +--------------------------------+-------------------------------------+ From tim at opencircuitdesign.com Wed Nov 7 06:59:03 2007 From: tim at opencircuitdesign.com (R. Timothy Edwards) Date: Thu Oct 30 14:34:07 2008 Subject: [Magic-dev] Re: Magic VLSI installing on Ubuntu error In-Reply-To: <1194422593.15800.20.camel@thinkernb> References: <1194422593.15800.20.camel@thinkernb> Message-ID: <4731D2B7.2070107@opencircuitdesign.com> > I have install magic-7.4.43 to ubuntu linux, but I got a problem. > I run './configure ' and also install Tcl/tk 8.3 ,BLT ,OpenGL libs. > I run 'make ', and there is no error. > After I run 'make install ', I got this message below: > -------------------------------------------------------------------- > --- installing executable to /usr/local/bin > --- installing runtime files to /usr/local/lib > /usr/bin/ld: cannot find -lXmu > collect2: ld returned 1 exit status > make[2]: *** [tclmagic.so] Error 1 > --------------------------------------------------------------------- This should be a simple matter of obtaining libXmu, or just removing the reference to libXmu from "defs.mak". It's an extension library belonging to X11, but I can't really tell you off the top of my head what subroutines it defines. Either you can get by without it, or you will have to install it. > And I noticed that when I run 'make' there had been a warning message > like below: > --------------------------------------------------------------------- > --- compiling lef/lefRead.o > lefRead.c: In function ?LefReadRect?: > lefRead.c:603: warning: incompatible implicit declaration of built-in > function ?roundf? This shouldn't be a problem, although it still concerns me that the "roundf" function is flagged as an implicit declaration, because it means that "configure" is able to find the roundf() function in the libm (math) library, but the "math.h" header file doesn't define it. Probably "math.h" wants something defined like "-DC99", but I can't tell without looking at the math.h file. At any rate, the warning message does not indicate a real error. Regards, Tim +--------------------------------+-------------------------------------+ | Dr. R. Timothy Edwards (Tim) | email: tim@opencircuitdesign.com | | Open Circuit Design, Inc. | web: http://opencircuitdesign.com | | 22815 Timber Creek Lane | phone: (301) 528-9364 | | Clarksburg, MD 20871-4001 | cell: (240) 401-0616 | +--------------------------------+-------------------------------------+ From ezhaoguang at gmail.com Wed Nov 7 16:03:13 2007 From: ezhaoguang at gmail.com (Thinker) Date: Thu Oct 30 14:34:08 2008 Subject: [Magic-dev] Magic VLSI installing on Ubuntu error Message-ID: <1194422593.15800.20.camel@thinkernb> Hi, I have install magic-7.4.43 to ubuntu linux, but I got a problem. I run './configure ' and also install Tcl/tk 8.3 ,BLT ,OpenGL libs. I run 'make ', and there is no error. After I run 'make install ', I got this message below: -------------------------------------------------------------------- --- installing executable to /usr/local/bin --- installing runtime files to /usr/local/lib /usr/bin/ld: cannot find -lXmu collect2: ld returned 1 exit status make[2]: *** [tclmagic.so] Error 1 --------------------------------------------------------------------- And I noticed that when I run 'make' there had been a warning message like below: --------------------------------------------------------------------- --- compiling lef/lefRead.o lefRead.c: In function ?LefReadRect?: lefRead.c:603: warning: incompatible implicit declaration of built-in function ?roundf? lefRead.c: In function ?LefReadMacro?: lefRead.c:1050: warning: incompatible implicit declaration of built-in function ?roundf? lefRead.c: In function ?LefReadLayerSection?: lefRead.c:1268: warning: incompatible implicit declaration of built-in function ?roundf? --- compiling lef/defRead.o defRead.c: In function ?DefAddRoutes?: defRead.c:123: warning: incompatible implicit declaration of built-in function ?roundf? defRead.c:268: warning: incompatible implicit declaration of built-in function ?roundf? defRead.c:288: warning: incompatible implicit declaration of built-in function ?roundf? defRead.c: In function ?DefReadLocation?: defRead.c:626: warning: incompatible implicit declaration of built-in function ?roundf? --- linking liblef.o --------------------------------------------------------------------- My Linux version: (Linux 2.6.20-16-generic #2 SMP Sun Sep 23 19:50:39 UTC 2007 i686 GNU/Linux) -------------- next part -------------- # defs.mak.in -- # source file for autoconf-generated "defs.mak" for magic # defs.mak. Generated from defs.mak.in by configure. # Feel free to change the values in here to suit your needs. # Be aware that running scripts/configure again will overwrite # any changes! SHELL = /bin/bash prefix = /usr/local exec_prefix = ${prefix} bindir = ${exec_prefix}/bin libdir = ${exec_prefix}/lib mandir = ${prefix}/man SCRIPTS = ${MAGICDIR}/scripts INSTALL = /usr/bin/install -c INSTALL_PROGRAM = ${INSTALL} INSTALL_DATA = ${INSTALL} -m 644 INSTALL_SCRIPT = ${INSTALL} # Override standard "make" target when compiling under TCL ALL_TARGET = tcl INSTALL_TARGET = install-tcl # Change libdir to install in a different place BINDIR = ${bindir} MANDIR = ${mandir} LIBDIR = ${libdir} SYSDIR = ${libdir}/magic/sys SCMDIR = ${libdir}/magic/scm TCLDIR = ${libdir}/magic/tcl MAIN_EXTRA_LIBS = ${MAGICDIR}/calma/libcalma.o ${MAGICDIR}/cif/libcif.o ${MAGICDIR}/plot/libplot.o ${MAGICDIR}/lef/liblef.o ${MAGICDIR}/extflat/libextflat.o ${MAGICDIR}/garouter/libgarouter.o ${MAGICDIR}/mzrouter/libmzrouter.o ${MAGICDIR}/router/librouter.o ${MAGICDIR}/irouter/libirouter.o ${MAGICDIR}/grouter/libgrouter.o ${MAGICDIR}/gcr/libgcr.o ${MAGICDIR}/tcltk/libtcltk.o LD_EXTRA_LIBS = LD_SHARED = TOP_EXTRA_LIBS = SUB_EXTRA_LIBS = MODULES += calma cif plot lef garouter grouter irouter mzrouter router gcr tcltk UNUSED_MODULES += readline lisp PROGRAMS += net2ir tcltk INSTALL_CAD_DIRS += graphics tcltk PROGRAM_SUFFIX = RM = rm -f CP = cp AR = ar ARFLAGS = crv LINK = ld -r LD = /usr/bin/ld M4 = /usr/bin/m4 RANLIB = ranlib SHDLIB_EXT = .so LDDL_FLAGS = -shared -Wl,-soname,$@ -Wl,--version-script=${MAGICDIR}/magic/symbol.map LD_RUN_PATH = LIB_SPECS = -ltk8.3 -ltcl8.3 WISH_EXE = /usr/bin/wish TCL_LIB_DIR = /usr/lib CC = gcc CPP = gcc -E -x c CXX = g++ CPP_TRADITIONAL = cpp CPPFLAGS = -I. -I${MAGICDIR} DFLAGS = -DCAD_DIR=\"${LIBDIR}\" -DBIN_DIR=\"${BINDIR}\" -DTCL_DIR=\"${TCLDIR}\" -DPACKAGE_NAME=\"\" -DPACKAGE_TARNAME=\"\" -DPACKAGE_VERSION=\"\" -DPACKAGE_STRING=\"\" -DPACKAGE_BUGREPORT=\"\" -DMAGIC_VERSION=\"7.4\" -DMAGIC_REVISION=\"43\" -DSTDC_HEADERS=1 -DHAVE_SYS_TYPES_H=1 -DHAVE_SYS_STAT_H=1 -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_MEMORY_H=1 -DHAVE_STRINGS_H=1 -DHAVE_INTTYPES_H=1 -DHAVE_STDINT_H=1 -DHAVE_UNISTD_H=1 -DSIZEOF_VOID_P=4 -DSIZEOF_UNSIGNED_INT=4 -DSIZEOF_UNSIGNED_LONG=4 -DSIZEOF_UNSIGNED_LONG_LONG=8 -DSTDC_HEADERS=1 -DHAVE_SETENV=1 -DHAVE_PUTENV=1 -DHAVE_DIRENT_H=1 -DHAVE_LIMITS_H=1 -DHAVE_PATHS_H=1 -DHAVE_VA_COPY=1 -DHAVE___VA_COPY=1 -DHAVE_ROUND=1 -DHAVE_ROUNDF=1 -DFILE_LOCKS=1 -DCALMA_MODULE=1 -DCIF_MODULE=1 -DPLOT_MODULE=1 -DLEF_MODULE=1 -DNONMANHATTAN=1 -DROUTE_MODULE=1 -DUSE_NEW_MACROS=1 -DHAVE_LIBGL=1 -DMAGIC_WRAPPER=1 -DTHREE_D=1 -Dlinux=1 -DSYSV=1 -DISC=1 -DNDEBUG -DGCORE=\"/usr/bin/gcore\" DFLAGS += -DSHDLIB_EXT=\".so\" CFLAGS = -g -fPIC -I/usr/include/tcl8.3/tk-private/generic -I/usr/include/tcl8.3 READLINE_DEFS = READLINE_LIBS = DEPEND_FILE = Depend DEPEND_FLAG = -MM EXEEXT = GR_CFLAGS = GR_DFLAGS = -DX11 -DXLIB -DOGL -DNDEBUG GR_LIBS = -lX11 -lGLU -lGL -lXi -lXmu -lXext -lm -lstdc++ -lbsd-compat GR_SRCS = ${TK_SRCS} ${TOGL_SRCS} ${TKCOMMON_SRCS} GR_HELPER_SRCS = GR_HELPER_PROG = OA = OA_LIBS = DEPSRCS = ${SRCS} OBJS = ${SRCS:.c=.o} ${CXXSRCS:.cpp=.o} LIB_OBJS = ${LIB_SRCS:.c=.o} CLEANS = ${OBJS} ${LIB_OBJS} lib${MODULE}.a lib${MODULE}.o ${MODULE} -------------- next part -------------- A non-text attachment was scrubbed... Name: install.log Type: text/x-log Size: 13343 bytes Desc: not available Url : http://vlsi.csl.cornell.edu/pipermail/magic-dev/attachments/20071107/9dad6630/install.bin -------------- next part -------------- A non-text attachment was scrubbed... Name: make.log Type: text/x-log Size: 411964 bytes Desc: not available Url : http://vlsi.csl.cornell.edu/pipermail/magic-dev/attachments/20071107/9dad6630/make.bin From bertrand at asicadvantage.com Thu Nov 8 10:54:54 2007 From: bertrand at asicadvantage.com (Bertrand Irissou) Date: Thu Oct 30 14:34:08 2008 Subject: [Magic-dev] read-only cell - more crash Message-ID: <47335B7E.1050001@asicadvantage.com> Hi Tim, Looks like read-only cells cause magic to crash a lot! The latest one I have found is using : findlabel on a read-only cell causes magic to crash. Annoying but not critical. I'm running 7.4.43. Bertrand. -- Bertrand Irissou, V.P. Business Development ASIC Advantage, Inc. mailto:bsi@asicadvantage.com 1290-B Reamwood Avenue Tel:(408)541-8686 x125 Fax:(408)541-8675 Sunnyvale, CA 94089 http://www.asicadvantage.com --- registered to ISO 9001:2000 ------------------------------------------------------------------------------ This email may contain confidential and/or proprietary material for the sole use of the intended recipient. Be aware that any disclosure, copying, distribution or other unintended use of its contents, without the express permission of ASIC Advantage, INC. is prohibited. From graham.petley at vlsitechnology.org Wed Nov 14 08:08:34 2007 From: graham.petley at vlsitechnology.org (Graham Petley) Date: Thu Oct 30 14:34:08 2008 Subject: [Magic-dev] Starting magic with custom tech file Message-ID: <109544.50004.qm@web206.biz.mail.re2.yahoo.com> Hallo, I want to start magic with my own tech file called pharosc.tech. If this is in the working directory or in $CAD_ROOT/magic/sys, then I can start magic like $ magic -Tpharosc But I want to put the file in ~/magic/etc. I tried editing the .magicrc file to define the path, but this is read *after* the -T on the command line, so magic fails to find pharosc.tech and uses scmos.tech instead (without saying it has ignored the -Tpharosc). I added a tech file load after the path in .magicrc: path sys ". /home/graham/magic/etc /home/cad/lib/magic/sys" tech load pharosc.tech -noprompt Now I can start magic $ magic and it loads my tech file, but after scmos.tech which causes a red warning message in the tkcon window Magic 7.4 revision 44 - Compiled on Tue Nov 13 21:05:00 GMT 2007. Using Tk console window Using TrueColor, VisualID 0x23 depth 16 Input style lambda=1.0(gen): scaleFactor=100, multiplier=1 Using technology "scmos", version 8.2.8. MOSIS Scalable CMOS Technology for Standard Rules Processing system .magicrc file Processing /home/graham/.magicrc file Input style lambda=1um(vsclib200): scaleFactor=100, multiplier=1 Warning: Number of planes has changed. Any existing layout may be invalid. ...more And I also don't get the version message from my tech file which I would like to see. I really prefer not having red warning messages on a correct start, so how can I cleanly start magic with my own tech file in my own location?? Best regards, Graham Petley From tim at opencircuitdesign.com Wed Nov 14 11:02:48 2007 From: tim at opencircuitdesign.com (R. Timothy Edwards) Date: Thu Oct 30 14:34:08 2008 Subject: [Magic-dev] Starting magic with custom tech file In-Reply-To: <109544.50004.qm@web206.biz.mail.re2.yahoo.com> References: <109544.50004.qm@web206.biz.mail.re2.yahoo.com> Message-ID: <473B4658.3040509@opencircuitdesign.com> Dear Graham, > I want to start magic with my own tech file called pharosc.tech. If this is > in the working directory or in $CAD_ROOT/magic/sys, then I can start magic like > > $ magic -Tpharosc > > But I want to put the file in ~/magic/etc. I tried editing the .magicrc file to > define the path, but this is read *after* the -T on the command line, so magic > fails to find pharosc.tech and uses scmos.tech instead (without saying it has > ignored the -Tpharosc). > > I added a tech file load after the path in .magicrc: > > path sys ". /home/graham/magic/etc /home/cad/lib/magic/sys" > tech load pharosc.tech -noprompt > > Now I can start magic > > $ magic > > and it loads my tech file, but after scmos.tech which causes a red warning > message in the tkcon window > Warning: Number of planes has changed. Any existing layout may be invalid. > > And I also don't get the version message from my tech file which I would > like to see. I can't say that I have thought much about this since I coded the part that allows you to reload the techfile from the .magicrc file, which you did correctly. Basically I've just gotten used to it always generating one red warning message. However, there are two things I can do here: 1) Print out the version information upon "tech load" (which seems sensible enough and simple enough to implement), and 2) Check for actual layout before printing the abovementioned warning message. The "any existing layout may be invalid" is a true statement to be taken at face value, but it should not be very difficult for magic to make a quick check that (a) only the default top-level cell has been loaded, and (b) all planes in the default cell contain only "space" tiles. If it passes that check, then it should not print the warning message. Otherwise, what you have done is exactly correct. You should be able run "magic -T /home/graham/magic/etc/pharosc" from the command line (if that doesn't work, let me know). I prefer loading the correct techfile from the .magicrc file, so I create a .magicrc file for each project. Regards, Tim +--------------------------------+-------------------------------------+ | Dr. R. Timothy Edwards (Tim) | email: tim@opencircuitdesign.com | | Open Circuit Design, Inc. | web: http://opencircuitdesign.com | | 22815 Timber Creek Lane | phone: (301) 528-9364 | | Clarksburg, MD 20871-4001 | cell: (240) 401-0616 | +--------------------------------+-------------------------------------+ From bertrand at asicadvantage.com Mon Nov 19 17:48:54 2007 From: bertrand at asicadvantage.com (Bertrand Irissou) Date: Thu Oct 30 14:34:08 2008 Subject: [Magic-dev] scmos-tm.tech drc question Message-ID: <47423D06.7080906@asicadvantage.com> Hi Tim, Looking into the scmos-tm.tech file I came across the following observation: The layer "pad" is defined on the metal2 plane. It is not defined as a contact. However, on line 3000 of the scmos-tm.tech : spacing pdc/m1,ndc/m1,psc/m1,nsc/m1,hpdc/m1,hndc/m1,hpsc/m1,hnsc/m1,pc/m1,ec/m1,capc/m1,clc/m1,emc/m1,pbc/m1,nbdc/m1,m1,m2c/m1,gc,pad/m1 pdc/m1,ndc/m1,psc/m1,nsc/m1,hpdc/m1,hndc/m1,hpsc/m1,hnsc/m1,pc/m1,ec/m1,capc/m1,clc/m1,emc/m1,pbc/m1,nbdc/m1,m1,m2c/m1,gc,pad/m1 2 touching_ok "First-level metal spacing must be at least 2 (MOSIS rule #7.2)" there are statements referring to pad/m1. However I have checked that pad spacing to metal1 violations are not reported. Is this the intended behavior ? If so, should magic report a problem during reading the technology file ? Thanks, Bertrand. -- Bertrand Irissou, V.P. Business Development ASIC Advantage, Inc. mailto:bsi@asicadvantage.com 1290-B Reamwood Avenue Tel:(408)541-8686 x125 Fax:(408)541-8675 Sunnyvale, CA 94089 http://www.asicadvantage.com --- registered to ISO 9001:2000 ------------------------------------------------------------------------------ This email may contain confidential and/or proprietary material for the sole use of the intended recipient. Be aware that any disclosure, copying, distribution or other unintended use of its contents, without the express permission of ASIC Advantage, INC. is prohibited. From tim at opencircuitdesign.com Tue Nov 20 14:37:38 2007 From: tim at opencircuitdesign.com (R. Timothy Edwards) Date: Thu Oct 30 14:34:08 2008 Subject: [Magic-dev] scmos-tm.tech drc question In-Reply-To: <47423D06.7080906@asicadvantage.com> References: <47423D06.7080906@asicadvantage.com> Message-ID: <474361B2.5020301@opencircuitdesign.com> Dear Bertrand, > Looking into the scmos-tm.tech file I came across the following > observation: > > The layer "pad" is defined on the metal2 plane. It is not defined as a > contact. > However, on line 3000 of the scmos-tm.tech : > > spacing > pdc/m1,ndc/m1,psc/m1,nsc/m1,hpdc/m1,hndc/m1,hpsc/m1,hnsc/m1,pc/m1,ec/m1,capc/m1,clc/m1,emc/m1,pbc/m1,nbdc/m1,m1,m2c/m1,gc,pad/m1 > pdc/m1,ndc/m1,psc/m1,nsc/m1,hpdc/m1,hndc/m1,hpsc/m1,hnsc/m1,pc/m1,ec/m1,capc/m1,clc/m1,emc/m1,pbc/m1,nbdc/m1,m1,m2c/m1,gc,pad/m1 > 2 touching_ok "First-level metal spacing must be at least 2 (MOSIS rule > #7.2)" > > there are statements referring to pad/m1. > > However I have checked that pad spacing to metal1 violations are not > reported. > Is this the intended behavior ? If so, should magic report a problem > during reading the technology file ? If the pad is really defined on metal2, then "pad/m1" can only be an empty set. However, other places in the techfile (such as, most importantly, the operations in "cifoutput") define "pad" to cover metal1, m2c, metal2, m3c, and metal3 (a standard full stackup for processes that don't have many metal layers and/or thick top metal). I'm really not sure why "pad" is not defined as a contact between metal1, metal2, and metal3. In the source (magic distribution, file scmos/scmos.tech.in), the last line of the "contacts" section is pad metal1 metal2 metal3 and has been commented out. I am wondering when this was commented out. Most of the pad rules (cifoutput, drc, extract) only make sense if "pad" is defined as a contact this way. I checked that the comment exists in distributions as far back as version 7.1.5. If you add the line above (or uncomment it from the source and re-install) then everything seems to work okay. Can anybody confirm if the "pad" line is in the techfile "connect" section prior to version 7.1.5? It appears to predate my implementation of stacked contacts, although that doesn't guarantee that it wasn't something I did once for a test and forgot to put back the way it was. ---Tim +--------------------------------+-------------------------------------+ | Dr. R. Timothy Edwards (Tim) | email: tim@opencircuitdesign.com | | Open Circuit Design, Inc. | web: http://opencircuitdesign.com | | 22815 Timber Creek Lane | phone: (301) 528-9364 | | Clarksburg, MD 20871-4001 | cell: (240) 401-0616 | +--------------------------------+-------------------------------------+ From tim at opencircuitdesign.com Tue Nov 20 23:26:28 2007 From: tim at opencircuitdesign.com (R. Timothy Edwards) Date: Thu Oct 30 14:34:08 2008 Subject: [Magic-dev] Starting magic with custom tech file In-Reply-To: <640027.46009.qm@web212.biz.mail.re2.yahoo.com> References: <640027.46009.qm@web212.biz.mail.re2.yahoo.com> Message-ID: <4743DDA4.6070603@opencircuitdesign.com> Dear Graham, > I don't want to release a .magicrc file > which might interfere with a user's own file in unexpected ways for him. What you would normally expect in a user's home .magicrc file would be macro definitions and other non-technology related commands and settings. A project's .magicrc file should be loading a technology file, for example, but not mess with macros or window dimensions and such. I think a common-sense usage should not result in any interference. Magic will always first source the system default .magicrc, followed by the user's home .magicrc, followed by the local (project) .magicrc. I really need to have the system .magicrc file source a "site.tcl" script that would allow people to install site-specific startup files that don't get overwritten whenever a new version of magic is installed. I did this for xcircuit, but haven't ever copied that line over to the Magic distribution. > I have to date simply copied the same tech files into each library > directory. But since I will also release my own versions of the style and cmap > files, that means a lot of files to be copied. Still, if the version and > existing layout status were checked, that would be good. If I remember right, > there is an option to explicitly call your own startup file, so maybe then > that's the way to go. What you mentioned in your first email is the right way to go---set the paths and load the techfile from the .magicrc file, which is the only file that needs to be in each (layout) directory of your distribution. Magic version 7.5 allows the use of "-rc <.rcfilename>" on the command line to source a specific startup file, but magic-7.4 doesn't support that. > I am working with 7.4.44. Is the 7.5 release robust, or is it better to > wait? One feature I want a *lot* is extract with 5nm layout snap grid. I > haven't got there yet, but something I read inferred that this was a feature > only in 7.5. You should be able to use a 5nm snap grid with version 7.4. The one thing it won't do (that 7.5 does) is to limit the GDS output to a minimum grid spacing, but that's largely a convenience and not a critical feature. I have 7.5 in rather a state of disrepair while working on DRC issues, and you should probably treat 7.5 as "unstable". Once I get that and a few other things sorted out, hopefully 7.5 can become the new stable distribution. But not right now. . . Regards, Tim +--------------------------------+-------------------------------------+ | Dr. R. Timothy Edwards (Tim) | email: tim@opencircuitdesign.com | | Open Circuit Design, Inc. | web: http://opencircuitdesign.com | | 22815 Timber Creek Lane | phone: (301) 528-9364 | | Clarksburg, MD 20871-4001 | cell: (240) 401-0616 | +--------------------------------+-------------------------------------+ From graham.petley at vlsitechnology.org Wed Nov 21 06:57:01 2007 From: graham.petley at vlsitechnology.org (Graham Petley) Date: Thu Oct 30 14:34:08 2008 Subject: [Magic-dev] Small bug with cifoutput variants Message-ID: <436801.83936.qm@web208.biz.mail.re2.yahoo.com> Hallo Tim, There is a small bug when using the variants option in the cifoutput section of the technology file (seen on version 7.4.44). If a comma is used in the variant name, then the name is truncated when writing out the name in the comments in the cif header. style pharosc variants (1um,vsclib200),(1um,rgalib200) gives the following line in the cif header ( @@style : pharosc(1um ); The unclosed parenthesis is probably illegal. It certainly causes some cif file readers to choke. Replacing the comma with a dash works: style pharosc variants (1um-vsclib200),(1um-rgalib200) ( @@style : pharosc(1um-vsclib200) ); Best regards, Graham Petley From graham.petley at vlsitechnology.org Wed Nov 21 07:02:04 2007 From: graham.petley at vlsitechnology.org (Graham Petley) Date: Thu Oct 30 14:34:08 2008 Subject: [Magic-dev] Odd warning msg from system .magicrc file Message-ID: <180000.18976.qm@web207.biz.mail.re2.yahoo.com> Hallo Tim, The following lines are in the system .magicrc file magic::suspendout if {![catch {set Opts(tools)}]} { magic::enable_tools } set GND "gnd!" set VDD "vdd!" magic::resumeout When I run magic in batch mode magic -Tpharosc -dnull -noconsole < Hallo Tim, I'd like to keep multiple versions of Magic active. With other programs I do this by say renaming magic to magic_7.4.44 and linking magic to this version. By changing the link I change the magic executable. But the magic executable is the same and calls other programs and libs. What's the best way to keep multiple versions around? Best regards, Graham Petley From graham.petley at vlsitechnology.org Wed Nov 21 07:13:20 2007 From: graham.petley at vlsitechnology.org (Graham Petley) Date: Thu Oct 30 14:34:08 2008 Subject: [Magic-dev] cifwidth oddity Message-ID: <479832.11475.qm@web201.biz.mail.re2.yahoo.com> Hallo Tim, I'm using 7.5.95 and the cifwidth DRC check. I find that the values have to be twice the checked value. Eg. style pharosc013 variants (55nm-vsclib) variant (55nm-vsclib) cifstyle pharosc013(55nm-vsclib) # POLY RULES cifwidth CPG 24 "3.1.01 POLY Width < 0.12" cifspacing CPG CPG 20 touching_ok "3.2.01 POLY Space < 0.20" The spacing rule is OK but to check for a 0.2um width the value must be 24 instead of 12. Best regards, Graham Petley From tim at opencircuitdesign.com Wed Nov 21 07:49:59 2007 From: tim at opencircuitdesign.com (R. Timothy Edwards) Date: Thu Oct 30 14:34:08 2008 Subject: [Magic-dev] Small bug with cifoutput variants In-Reply-To: <436801.83936.qm@web208.biz.mail.re2.yahoo.com> References: <436801.83936.qm@web208.biz.mail.re2.yahoo.com> Message-ID: <474453A7.2010707@opencircuitdesign.com> Graham, > There is a small bug when using the variants option in the cifoutput section > of the technology file (seen on version 7.4.44). > If a comma is used in the variant name, then the name is truncated when > writing out the name in the comments in the cif header. > > style pharosc variants (1um,vsclib200),(1um,rgalib200) > > gives the following line in the cif header > > ( @@style : pharosc(1um ); > > The unclosed parenthesis is probably illegal. It certainly causes some cif file > readers to choke. Replacing the comma with a dash works: > > style pharosc variants (1um-vsclib200),(1um-rgalib200) > ( @@style : pharosc(1um-vsclib200) ); It's not really a bug, it's just that (as usual) I didn't consult anyone on the syntax before I implemented the feature. The variants are always separated by commas, and as there are no other syntax rules, parentheses are not parsed at all. So "(((" is a valid variant. Maybe I should have used something less common as a delimiter, like a colon. However, magic uses the comma as a delimiter for groups of layers, so I followed that style. At very least I will document the syntax. Regards, Tim +--------------------------------+-------------------------------------+ | Dr. R. Timothy Edwards (Tim) | email: tim@opencircuitdesign.com | | Open Circuit Design, Inc. | web: http://opencircuitdesign.com | | 22815 Timber Creek Lane | phone: (301) 528-9364 | | Clarksburg, MD 20871-4001 | cell: (240) 401-0616 | +--------------------------------+-------------------------------------+ From tim at opencircuitdesign.com Wed Nov 21 14:56:11 2007 From: tim at opencircuitdesign.com (R. Timothy Edwards) Date: Thu Oct 30 14:34:08 2008 Subject: [Magic-dev] Keeping multiple versions of Magic active In-Reply-To: <79877.3228.qm@web205.biz.mail.re2.yahoo.com> References: <79877.3228.qm@web205.biz.mail.re2.yahoo.com> Message-ID: <4744B78B.60808@opencircuitdesign.com> Dear Graham, > I'd like to keep multiple versions of Magic active. With other programs I do > this by say renaming magic to magic_7.4.44 and linking magic to this version. > By changing the link I change the magic executable. > > But the magic executable is the same and calls other programs and libs. > What's the best way to keep multiple versions around? I keep separate active versions by putting the one I normally use in the default /usr/local/ location, which I put the alternative one in /home/tim/cad/. I do this by specifying: ./configure --prefix=/home/tim/cad I specifically *don't* put this directory in my (tcsh) search path, so there's no confusion about search order when looking for the "magic" shell script, but instead type the full pathname /home/tim/cad/bin/magic when I want to run the alternative version. The prefix is compiled into the program as the default location for finding runtime files, so the versions will always be internally consistent. Regards, Tim +--------------------------------+-------------------------------------+ | Dr. R. Timothy Edwards (Tim) | email: tim@opencircuitdesign.com | | Open Circuit Design, Inc. | web: http://opencircuitdesign.com | | 22815 Timber Creek Lane | phone: (301) 528-9364 | | Clarksburg, MD 20871-4001 | cell: (240) 401-0616 | +--------------------------------+-------------------------------------+ From tim at opencircuitdesign.com Wed Nov 21 15:05:58 2007 From: tim at opencircuitdesign.com (R. Timothy Edwards) Date: Thu Oct 30 14:34:08 2008 Subject: [Magic-dev] cifwidth oddity In-Reply-To: <479832.11475.qm@web201.biz.mail.re2.yahoo.com> References: <479832.11475.qm@web201.biz.mail.re2.yahoo.com> Message-ID: <4744B9D6.6010705@opencircuitdesign.com> Dear Graham, > I'm using 7.5.95 and the cifwidth DRC check. I find that the values have to > be twice the checked value. Eg. > > style pharosc013 variants (55nm-vsclib) > variant (55nm-vsclib) > cifstyle pharosc013(55nm-vsclib) > # POLY RULES > cifwidth CPG 24 "3.1.01 POLY Width < 0.12" > cifspacing CPG CPG 20 touching_ok "3.2.01 POLY Space < 0.20" > > The spacing rule is OK but to check for a 0.2um width the value must be 24 > instead of 12. Bertrand Irissou solved this for me recently, noting that the DRC-CIF checks don't multiply by the CIF "expander" value (which is by default 2, thus the error of a factor of 2). He submitted a correction for the "drcCifSpacing()" routine, which is to add centidistance *= drcCifStyle->cs_expander; // BSI immediately after the "scalefactor =" line. I assume that this is why the "cifspacing" works correctly. I also assume that the same change needs to be made in each of the three other routines drcCifWidth(), drcCifArea() (where it probably needs to be squared), and drcCifMaxwidth(). Just add the same line in the equivalent place for each routine. I will update the distribution for Magic 7.4, but as I mentioned before, I have version 7.5 in a state of flux and will not generate any new downloadable distributions until I have finished coding changes to the (non-CIF) DRC code. Regards, Tim +--------------------------------+-------------------------------------+ | Dr. R. Timothy Edwards (Tim) | email: tim@opencircuitdesign.com | | Open Circuit Design, Inc. | web: http://opencircuitdesign.com | | 22815 Timber Creek Lane | phone: (301) 528-9364 | | Clarksburg, MD 20871-4001 | cell: (240) 401-0616 | +--------------------------------+-------------------------------------+ From tim at opencircuitdesign.com Wed Nov 21 18:51:06 2007 From: tim at opencircuitdesign.com (R. Timothy Edwards) Date: Thu Oct 30 14:34:08 2008 Subject: [Magic-dev] Odd warning msg from system .magicrc file In-Reply-To: <180000.18976.qm@web207.biz.mail.re2.yahoo.com> References: <180000.18976.qm@web207.biz.mail.re2.yahoo.com> Message-ID: <4744EE9A.50604@opencircuitdesign.com> Dear Graham, > Hallo Tim, > The following lines are in the system .magicrc file > > magic::suspendout > if {![catch {set Opts(tools)}]} { magic::enable_tools } > set GND "gnd!" > set VDD "vdd!" > magic::resumeout > > When I run magic in batch mode > > magic -Tpharosc -dnull -noconsole < > I get the following error > > : invalid command name "magic::suspendout" > : invalid command name "magic::resumeout" Hmmm. I have this feeling that I solved this error before. The problem is that "suspendout" and "resumeout" are functions passed to the console, and so are defined in the console, which is a separate interpreter thread from magic. In batch mode, magic runs without the console, so these commands are not defined. I suggest adding to tcltk/magic.tcl.in the following lines around line number 56: #----------------------------------------------------------------- # Define these console routines so that they don't produce errors # when Magic is run in batch mode proc magic::suspendout {} proc magic::resumeout {} I think this will eliminate the problem. Regards, Tim +--------------------------------+-------------------------------------+ | Dr. R. Timothy Edwards (Tim) | email: tim@opencircuitdesign.com | | Open Circuit Design, Inc. | web: http://opencircuitdesign.com | | 22815 Timber Creek Lane | phone: (301) 528-9364 | | Clarksburg, MD 20871-4001 | cell: (240) 401-0616 | +--------------------------------+-------------------------------------+ From tim at opencircuitdesign.com Wed Nov 21 19:09:03 2007 From: tim at opencircuitdesign.com (R. Timothy Edwards) Date: Thu Oct 30 14:34:08 2008 Subject: [Magic-dev] Odd warning msg from system .magicrc file In-Reply-To: <4744EE9A.50604@opencircuitdesign.com> References: <180000.18976.qm@web207.biz.mail.re2.yahoo.com> <4744EE9A.50604@opencircuitdesign.com> Message-ID: <4744F2CF.1040009@opencircuitdesign.com> Dear Graham, > I suggest adding > to tcltk/magic.tcl.in the following lines around line number 56: > > #----------------------------------------------------------------- > # Define these console routines so that they don't produce errors > # when Magic is run in batch mode > > proc magic::suspendout {} > proc magic::resumeout {} > > I think this will eliminate the problem. Okay, reminder to self to always test patches before posting them! The above suggestion works perfectly except that the correct syntax is: proc magic::suspendout {} {} proc magic::resumeout {} {} ---Tim +--------------------------------+-------------------------------------+ | Dr. R. Timothy Edwards (Tim) | email: tim@opencircuitdesign.com | | Open Circuit Design, Inc. | web: http://opencircuitdesign.com | | 22815 Timber Creek Lane | phone: (301) 528-9364 | | Clarksburg, MD 20871-4001 | cell: (240) 401-0616 | +--------------------------------+-------------------------------------+ From graham.petley at vlsitechnology.org Mon Dec 10 06:14:13 2007 From: graham.petley at vlsitechnology.org (Graham Petley) Date: Thu Oct 30 14:34:08 2008 Subject: [Magic-dev] Custom dstyle and cmap files Message-ID: <599546.40521.qm@web213.biz.mail.re2.yahoo.com> Hallo Tim, I'm working on changing the colours and fill patterns for Magic. How can I call custom dstyle and cmap files? The only way I have found is to have local copies in the working directory, but this means duplicating the files. Best regards, Graham Petley From tim at opencircuitdesign.com Mon Dec 10 09:45:24 2007 From: tim at opencircuitdesign.com (R. Timothy Edwards) Date: Thu Oct 30 14:34:08 2008 Subject: [Magic-dev] Custom dstyle and cmap files In-Reply-To: <599546.40521.qm@web213.biz.mail.re2.yahoo.com> References: <599546.40521.qm@web213.biz.mail.re2.yahoo.com> Message-ID: <475D7B34.3080004@opencircuitdesign.com> Dear Graham, > I'm working on changing the colours and fill patterns for Magic. How can I > call custom dstyle and cmap files? The only way I have found is to have local > copies in the working directory, but this means duplicating the files. I rewrote the code to make what you're doing easier, but I have not tested it exhaustively, so please let me know if it doesn't work as I describe it. The default dstyle and cmap files are "mos.24bit.dstyle" and "mos.24bit.std.cmap" (or, if you prefer the OpenGL interface, like I do, it's "mos.OpenGL.dstyle" and "mos.OpenGL.std.cmap"). The initial "mos" is significant in that it corresponds directly to the line "styletype mos" in the techfile. Prior to changes I made to version 7.3, changing the default would require intervention on the command line. What I did in version 7.3 was to hold off loading the colormap and display style files until the techfile was being read, at which point the proper filenames would be derived from the "styletype" line in the "styles" section. So (theoretically) what you want to do is to use your own unique styletype, e.g., styles styletype custom corresponding to the files: custom.24bit.dstyle and custom.24bit.std.cmap If you're polite, you'll also provide the "7bit" and "OpenGL" style files and colormaps. The load routines will look for the filenames in "SysLibPath", which can be altered using the "path sys" command. So instead of copying display and colormap files everywhere, you should be able to put them in some obvious place, then copy only a ".magicrc" file to every working directory, containing the "path sys +" command, followed by "tech load -noprompt". And once again, let me know if you are not seeing the behavior as advertised. Regards, Tim +--------------------------------+-------------------------------------+ | Dr. R. Timothy Edwards (Tim) | email: tim@opencircuitdesign.com | | Open Circuit Design, Inc. | web: http://opencircuitdesign.com | | 22815 Timber Creek Lane | phone: (301) 528-9364 | | Clarksburg, MD 20871-4001 | cell: (240) 401-0616 | +--------------------------------+-------------------------------------+ From graham.petley at vlsitechnology.org Wed Dec 12 09:05:17 2007 From: graham.petley at vlsitechnology.org (Graham Petley) Date: Thu Oct 30 14:34:08 2008 Subject: [Magic-dev] Custom dstyle and cmap files In-Reply-To: <475D7B34.3080004@opencircuitdesign.com> Message-ID: <454613.20997.qm@web203.biz.mail.re2.yahoo.com> Hallo Tim, I found custom styletypes work, but I don't think it's a good choice for me. Users who want to view my cells will need to use my custom tech file because I use new layer synonyms and have an extra abutmentbox plane defined. This can be done by loading Magic and calling the tech file from the command line: $ magic -T ../../etc/pharosc -D xnr2v0x1 The dstyle and cmap files are searched in the working directory and then in install_dir/lib/magic/sys. If styletype mos is used and the files are missing in the working directory, then the default files from install_dir/lib/magic/sys are used. If I use styletype custom and the files are missing from the working directory, then Magic chokes with messages like: Couldn't open color map file "custom.24bit.std.cmap" ../../etc/pharosc.tech: line 117: section styles: Invalid style "67" for tile type ab ... more ... I can always copy my custom files to install_dir/lib/magic/sys but users of my library may not realise that this is the solution to the error message above. So I'm keeping my styletype mos so that even if my files are not found, the default ones are and allow the cell to be viewed. Not very nicely, but certainly better than nothing. What would be nice is the possibility to define styles styletype custom mos where the mos files would be used if the custom ones were not found. Best regards, Graham Petley --- "R. Timothy Edwards" wrote: > Dear Graham, > > > I'm working on changing the colours and fill patterns for Magic. How can > I > > call custom dstyle and cmap files? The only way I have found is to have > local > > copies in the working directory, but this means duplicating the files. > > I rewrote the code to make what you're doing easier, but I have not > tested it exhaustively, so please let me know if it doesn't work as > I describe it. > > The default dstyle and cmap files are "mos.24bit.dstyle" and > "mos.24bit.std.cmap" (or, if you prefer the OpenGL interface, like > I do, it's "mos.OpenGL.dstyle" and "mos.OpenGL.std.cmap"). The > initial "mos" is significant in that it corresponds directly to the > line "styletype mos" in the techfile. Prior to changes I made to > version 7.3, changing the default would require intervention on the > command line. What I did in version 7.3 was to hold off loading the > colormap and display style files until the techfile was being read, > at which point the proper filenames would be derived from the > "styletype" line in the "styles" section. > > So (theoretically) what you want to do is to use your own unique > styletype, e.g., > > styles > styletype custom > > corresponding to the files: > > custom.24bit.dstyle and > custom.24bit.std.cmap > > If you're polite, you'll also provide the "7bit" and "OpenGL" style > files and colormaps. The load routines will look for the filenames > in "SysLibPath", which can be altered using the "path sys" command. > So instead of copying display and colormap files everywhere, you > should be able to put them in some obvious place, then copy only > a ".magicrc" file to every working directory, containing the "path > sys +" command, followed by "tech load -noprompt". > > And once again, let me know if you are not seeing the behavior as > advertised. > > Regards, > Tim From graham.petley at vlsitechnology.org Thu Dec 13 15:15:11 2007 From: graham.petley at vlsitechnology.org (Graham Petley) Date: Thu Oct 30 14:34:08 2008 Subject: [Magic-dev] Viewing metal layers without seeing via cuts Message-ID: <514051.79884.qm@web205.biz.mail.re2.yahoo.com> Hallo Tim, I have a question about the appearance of metal in Magic where there are via cuts. Let us say that I am looking at metal4 and its connection to metal3 through via3 (called m4c is most tech files). I have switched all other layers off. What I see on metal4 are holes where there are via4 connections. Since I have switched off via4 I don't want to see the cuts at all. Is there any way to code the tech file so that when via4 is not being viewed, it is replaced by metal4 and metal5 rather than by whitespace? And if metal5 is not being viewed, then by metal4 only? Best regards, Graham Petley From philippe at alpha.ece.jhu.edu Thu Dec 13 18:35:48 2007 From: philippe at alpha.ece.jhu.edu (Philippe Pouliquen) Date: Thu Oct 30 14:34:08 2008 Subject: [Magic-dev] Viewing metal layers without seeing via cuts In-Reply-To: <514051.79884.qm@web205.biz.mail.re2.yahoo.com> References: <514051.79884.qm@web205.biz.mail.re2.yahoo.com> Message-ID: <20071213182259.N34084@alpha.ece.jhu.edu> Hi Graham, On Thu, 13 Dec 2007, Graham Petley wrote: > Is there any way to code the tech file so that when via4 is not being > viewed, it is replaced by metal4 and metal5 rather than by whitespace? > And if metal5 is not being viewed, then by metal4 only? Not in the current version of the code, since the vias are distinct tile types (and what you can or can't see is encoded in the tile type bitmask). However, since the information about how a via decomposes into its constituent metal layers is present in the tech file (via the "contact" section and also the "compose" section), it shouldn't be too hard to implement this change. Unfortunately, it would significantly alter the semantics of the "see" command. I expect (and my .magicrc file reflects this) to be able to turn individual tyle types on and off via the "see" command, in particular with respect to the "select visible" command I implemented years ago. For instance, I wouldn't want "see no ; see m4" to show metal 4 where the vias are, because then I wouldn't be able to select only the metal 4 for copy/move/stretch. It may be possible to modify the "see" command so that the command "see m4c/m4" would show m4c as if all other layers it encompasses had been erased. How about it Tim? Something to implement in version 7.5.20000 :-) ? Philippe Pouliquen The Johns Hopkins University From tim at opencircuitdesign.com Thu Dec 13 16:51:33 2007 From: tim at opencircuitdesign.com (R. Timothy Edwards) Date: Thu Oct 30 14:34:08 2008 Subject: [Magic-dev] Viewing metal layers without seeing via cuts In-Reply-To: <514051.79884.qm@web205.biz.mail.re2.yahoo.com> References: <514051.79884.qm@web205.biz.mail.re2.yahoo.com> Message-ID: <4761D395.4040709@opencircuitdesign.com> Dear Graham, > I have a question about the appearance of metal in Magic where there are via > cuts. > > Let us say that I am looking at metal4 and its connection to metal3 through > via3 (called m4c is most tech files). I have switched all other layers off. > What I see on metal4 are holes where there are via4 connections. Since I have > switched off via4 I don't want to see the cuts at all. > > Is there any way to code the tech file so that when via4 is not being > viewed, it is replaced by metal4 and metal5 rather than by whitespace? And if > metal5 is not being viewed, then by metal4 only? Actually, this is so trivial to do, I don't know why I didn't investigate it earlier. Personally, I think that the proper solution is not to make this accomodation in the techfile, but to make this accomodation in Magic itself, because I can't imagine why anyone who executes the command "see no *; see metal1" would want to have holes displayed wherever vias are present. I've tried this before and found it annoying (which is why it is especially strange that I had not previously fixed it). The fix is trivial because Magic displays one style at a time, so it is easy to just add the contact types to the search's layer mask for the metal layer whenever the contact itself is not being displayed but the metal layer type is. Here's the change: In dbwind/DBWdisplay.c, line 334 for either magic-7.4 or magic-7.5, right after the lines if (!TTMaskIsZero(&layers)) { add the following lines: /* For each contact type, if the contact is not visible, */ /* display any of its residue layers that are visible. */ TileType t; for (t = TT_TECHDEPBASE; t < DBNumTypes; t++) if (DBIsContact(t)) if (!TTMaskHasType(&layers, t)) if (TTMaskIntersect(DBResidueMask(t), mask)) TTMaskSetType(&layers, t); Ah, so nice to have this change! I'm checking it into CVS right away. Regards, Tim +--------------------------------+-------------------------------------+ | Dr. R. Timothy Edwards (Tim) | email: tim@opencircuitdesign.com | | Open Circuit Design, Inc. | web: http://opencircuitdesign.com | | 22815 Timber Creek Lane | phone: (301) 528-9364 | | Clarksburg, MD 20871-4001 | cell: (240) 401-0616 | +--------------------------------+-------------------------------------+ From tim at opencircuitdesign.com Thu Dec 13 17:02:18 2007 From: tim at opencircuitdesign.com (R. Timothy Edwards) Date: Thu Oct 30 14:34:08 2008 Subject: [Magic-dev] Viewing metal layers without seeing via cuts In-Reply-To: <20071213182259.N34084@alpha.ece.jhu.edu> References: <514051.79884.qm@web205.biz.mail.re2.yahoo.com> <20071213182259.N34084@alpha.ece.jhu.edu> Message-ID: <4761D61A.6060709@opencircuitdesign.com> Philippe, > Unfortunately, it would significantly alter the semantics of the "see" > command. I expect (and my .magicrc file reflects this) to be able to > turn individual tyle types on and off via the "see" command, in > particular with respect to the "select visible" command I implemented > years ago. For instance, I wouldn't want "see no ; see m4" to show > metal 4 where the vias are, because then I wouldn't be able to select > only the metal 4 for copy/move/stretch. The change I implemented doesn't affect the semantics of the "see" command except that if you do "see no *; see m4" followed by "select visible", then you would get a selection including all metal4 but *not* m4c or m5c. Then probably the sane thing to do is to change the effect of "select visible" such that where m4c or m5c are present, metal4 is copied into the select buffer. That way, "select visible" continues to select what is visible. Normally, I would think that if you do "see no *; see m4", you want to see unbroken m4 nets, and if you then do "select visible", then you want to select unbroken m4 nets. I expect the suggested change to "select visible" to be a bit more involved than the one to the display routine. ---Tim +--------------------------------+-------------------------------------+ | Dr. R. Timothy Edwards (Tim) | email: tim@opencircuitdesign.com | | Open Circuit Design, Inc. | web: http://opencircuitdesign.com | | 22815 Timber Creek Lane | phone: (301) 528-9364 | | Clarksburg, MD 20871-4001 | cell: (240) 401-0616 | +--------------------------------+-------------------------------------+ From graham.petley at vlsitechnology.org Fri Dec 14 08:08:19 2007 From: graham.petley at vlsitechnology.org (Graham Petley) Date: Thu Oct 30 14:34:08 2008 Subject: [Magic-dev] How to add custom commands to .magicrc? Message-ID: <552159.1910.qm@web211.biz.mail.re2.yahoo.com> I want to have magic power up with a grid. When I use the grid command in my .magicrc file grid 8 8 4 0 nothing happens. The command is read and accepted (a deliberate syntax error gives an error message) but no grid appears. Best regards, Graham Petley From tim at opencircuitdesign.com Fri Dec 14 09:43:55 2007 From: tim at opencircuitdesign.com (R. Timothy Edwards) Date: Thu Oct 30 14:34:08 2008 Subject: [Magic-dev] How to add custom commands to .magicrc? In-Reply-To: <552159.1910.qm@web211.biz.mail.re2.yahoo.com> References: <552159.1910.qm@web211.biz.mail.re2.yahoo.com> Message-ID: <4762C0DB.20700@opencircuitdesign.com> Dear Graham, > I want to have magic power up with a grid. When I use the grid command in my > .magicrc file > > grid 8 8 4 0 > > nothing happens. The command is read and accepted (a deliberate syntax error > gives an error message) but no grid appears. The problem with the .magicrc file is that it is run only once, at the start, before any windows are defined. Commands like "grid" are per-window settings, not global, and so a window has to be defined before the grid can be defined. In magic version 7.5, the correct way to make this work is to put the following in your .magicrc file: set Opts(callback) "grid 8 8 4 0" which saves the statement in a Tcl variable and then applies it to each new layout window that is created. If you're using magic version 7.4, just add the following to tcltk/wrapper.tcl (I'm adding it to the distribution now) at line 1272: # If the variable $Opts(callback) is defined, then attempt to execute it. catch {eval $Opts(callback)} # If the variable $Winopts(callback) is defined, then attempt to execute it. catch {eval $Winopts(${framename}, callback)} The second statement allows you to define something to be applied to just a single window and no others; e.g., "set Winopts(.layout1, callback) "grid 8 8 4 0"" would just produce the grid on the initial layout window, but no others. Regards, Tim +--------------------------------+-------------------------------------+ | Dr. R. Timothy Edwards (Tim) | email: tim@opencircuitdesign.com | | Open Circuit Design, Inc. | web: http://opencircuitdesign.com | | 22815 Timber Creek Lane | phone: (301) 528-9364 | | Clarksburg, MD 20871-4001 | cell: (240) 401-0616 | +--------------------------------+-------------------------------------+ From philippe at alpha.ece.jhu.edu Fri Dec 14 12:50:07 2007 From: philippe at alpha.ece.jhu.edu (Philippe Pouliquen) Date: Thu Oct 30 14:34:08 2008 Subject: [Magic-dev] Viewing metal layers without seeing via cuts In-Reply-To: <4761D61A.6060709@opencircuitdesign.com> References: <514051.79884.qm@web205.biz.mail.re2.yahoo.com> <4761D61A.6060709@opencircuitdesign.com> Message-ID: <20071214123047.I34084@alpha.ece.jhu.edu> Hi Tim, > The change I implemented doesn't affect the semantics of the "see" > command except that if you do "see no *; see m4" followed by > "select visible", then you would get a selection including all metal4 > but *not* m4c or m5c. You don't think that's confusing? After all, "see no *; see m4" won't show tight metal or metal resistors, etc... Why the special case just for contacts? > Then probably the sane thing to do is to change the effect of "select > visible" such that where m4c or m5c are present, metal4 is copied into > the select buffer. That way, "select visible" continues to select what > is visible. Please don't! If you do that, I won't be able to select just the metal without the contacts. > Normally, I would think that if you do "see no *; see m4", you want to > see unbroken m4 nets, and if you then do "select visible", then you want > to select unbroken m4 nets. I expect the suggested change to "select > visible" to be a bit more involved than the one to the display routine. No, the purpose of "select visible" is to allow you to turn off layers (or tile types) so that moves and copies won't touch them. This happens mostly with nwell, where you want to grab an entire P transistor (i.e. with contacts and gate) and rotate it for instance. If the nwell is selected, after rotation you will have gaps in the nwell (because it's unlikely that the selection box was square) and hence major DRVs. This also happens when you have a circuit underneath some wiring. For instance, the circuit may be in m1 and m2, but there is an m3 shield (or wiring) above it. So you hide the m3 and its contacts and you edit the m2. Whether you are able to edit the m2-to-m3 vias should be user selectable, and you are proposing to disallow the user from choosing! I agree with Graham that the feature he proposed is useful (although I usually just program macro to do "see no ; see m3 ; see m3c etc" so that say key F3 shows only stuff that has m3 in it). I am merely saying that you shouldn't break existing *useful* commands. To keep with your motivation, I propose that Graham's effect should only happen if the user invokes: see m4* (or see /m4) and leave: see m4 to mean just the m4 tile type as it has always been. Philippe From tim at opencircuitdesign.com Fri Dec 14 10:02:10 2007 From: tim at opencircuitdesign.com (R. Timothy Edwards) Date: Thu Oct 30 14:34:08 2008 Subject: [Magic-dev] Custom dstyle and cmap files In-Reply-To: <454613.20997.qm@web203.biz.mail.re2.yahoo.com> References: <454613.20997.qm@web203.biz.mail.re2.yahoo.com> Message-ID: <4762C522.7040807@opencircuitdesign.com> Dear Graham, > I found custom styletypes work, but I don't think it's a good choice for me. > Users who want to view my cells will need to use my custom tech file because > I use new layer synonyms and have an extra abutmentbox plane defined. This can > be done by loading Magic and calling the tech file from the command line: > > $ magic -T ../../etc/pharosc -D xnr2v0x1 But I'm not sure why you prefer this method over putting "tech load ..." in the .magicrc file, to avoid having to specify a techfile on the command line. Any number of things can be coded into the command-line parsing, but there's a point at which it is just a pain to require users to remember the entire project setup when typing in the command line. To me, the preferred method is to have a README file that says "project setup instructions: copy this .magicrc file to your project working directory". This is what every other EDA tool does, as well, except that Cadence insists on throwing a bunch of useless crap into your home directory and declaring 500 environment variables that interfere with the way everything else runs under UNIX. At least magic isn't that rude. So. . . is it just that I have not yet got around to correcting the warning message that prints out when the techfile is changed from inside .magicrc? There is another halfway reasonable solution which is to allow the search paths to be set from inside the techfile. Of course, what I'd really like to see is that every techfile declaration should be a command in magic, then the techfile is just a command file that can be sourced, and can contain statements like "path sys ...". But that's a rather long-term project. Instead, I would suggest extending the "styletype