lu@odin.m2c.org (Thomas Lu) (02/09/91)
Greetings: I have a question regarding to Magic V6_3 & irsim V8.6: When I extract a 2-input nand gate circuit from Magic V6_3, and run ext2sim to generate the *.sim file, irsim produces incorrect simulation result. However, if I modified the *.sim file by deleting the ! and # sign (e.g. changed Vdd! to Vdd), irsim produces the correct simulation. Can someone who has used the above tools please comment on this? Thank you ! Tom
naumann@autarch.acsu.buffalo.edu (Dirk Naumann) (02/10/91)
In article <6466@m2c.M2C.ORG>, lu@odin.m2c.org (Thomas Lu) writes: |> |> Greetings: |> |> I have a question regarding to Magic V6_3 & irsim V8.6: |> |> When I extract a 2-input nand gate circuit from Magic V6_3, |> and run ext2sim to generate the *.sim file, irsim produces |> incorrect simulation result. However, if I modified the |> *.sim file by deleting the ! and # sign (e.g. changed Vdd! |> to Vdd), irsim produces the correct simulation. |> |> Can someone who has used the above tools please comment on |> this? Thank you ! |> |> |> Tom We had the same problem, and solved it the same way - just by deleting the ! sign in Vdd!. irsim seems to work fine then. -- Dirk Naumann naumann@eng.buffalo.edu, ECE Department, SUNY at Buffalo
rtaylor@batcomputer.tn.cornell.edu (Russ Taylor) (02/11/91)
In article <6466@m2c.M2C.ORG> lu@odin.m2c.org (Thomas Lu) writes: > >Greetings: > > I have a question regarding to Magic V6_3 & irsim V8.6: > > When I extract a 2-input nand gate circuit from Magic V6_3, > and run ext2sim to generate the *.sim file, irsim produces > incorrect simulation result. However, if I modified the > *.sim file by deleting the ! and # sign (e.g. changed Vdd! > to Vdd), irsim produces the correct simulation. The problem is the defaults assumed by ext2flat. I believe you can fix the problen with the proper command line arguements (using -t). We prefered to fix the code to set the defaults properly. The patch is very short and follows. This patches EFargs.c in the extflat directory. -------------cut here--------------cut here-------------- *************** *** 42,48 **** /* Command-line flags */ int EFCapThreshold = 10; /* -c/-C: (fF) smallest interesting C */ int EFResistThreshold = 10; /* -r/-R: (Ohms) smallest interesting R */ ! int EFTrimFlags = 0; /* -t: output of nodename trailing #!'s */ char *EFSearchPath = NULL; /* -p: Search path for .ext files */ char *EFArgTech = NULL; /* -T: Tech specified on command line */ --- 42,49 ---- /* Command-line flags */ int EFCapThreshold = 10; /* -c/-C: (fF) smallest interesting C */ int EFResistThreshold = 10; /* -r/-R: (Ohms) smallest interesting R */ ! int EFTrimFlags = EF_TRIMGLOB | EF_TRIMLOCAL; ! /* -t: output of nodename trailing #!'s */ char *EFSearchPath = NULL; /* -p: Search path for .ext files */ char *EFArgTech = NULL; /* -T: Tech specified on command line */ *************** *** 189,196 **** case 't': if ((cp = ArgStr(&argc, &argv, "trim characters")) == NULL) goto usage; ! if (index(cp, '!')) EFTrimFlags |= EF_TRIMGLOB; ! if (index(cp, '#')) EFTrimFlags |= EF_TRIMLOCAL; break; case 'C': EFCapThreshold = INFINITE_THRESHOLD; --- 190,197 ---- case 't': if ((cp = ArgStr(&argc, &argv, "trim characters")) == NULL) goto usage; ! if (index(cp, '!')) EFTrimFlags &= ~EF_TRIMGLOB; ! if (index(cp, '#')) EFTrimFlags &= ~EF_TRIMLOCAL; break; case 'C': EFCapThreshold = INFINITE_THRESHOLD; -- ---------------------------------------------------------------------- Mark Linderman | Cornell University linder@ee.cornell.edu | Department of Electrical Engineering ----------------------------------------------------------------------