[comp.lsi.cad] IRSIM

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
----------------------------------------------------------------------