+ Post New Thread
Results 1 to 7 of 7
  1. #1
    Newbie level 3
    Points: 478, Level: 4

    Join Date
    May 2016
    Posts
    4
    Helped
    0 / 0
    Points
    478
    Level
    4

    How to use TSMC 0.35um CMOS Spice Model file to create different transistor sizes?

    1.)How do I modify the transistor size and multplier? Can I just add L=<value> W=<value> M=<value>?
    2.) How do I know what range of L and W, I can use for a certain model? I'm not sure if the range is determined by LMIN, LMAX, WMIN and WMAX?

    The link to the model file is given here:

    I've read this version was publicized so there should be no issue. It uses level 49 hspice or level7 pspice bsimv3.1.

    Thanks in advance. I know my question might sound stupid but I'm really desperate for help.

    I'm trying to use nch.1
    Code:
    .MODEL nch.1             NMOS   (                    LMIN    = '1.207E-06-dxl' 
    +LMAX    = 2.01E-05        WMIN    = '1.183E-06-dxw' WMAX    = '1.9983E-5-dxw' 
    +LEVEL   = 49              TNOM    = 25              VERSION = 3.1             
    +ACM     = 12              LDIF    = 1.2E-07         HDIF    = hdifn           
    +RSH     = 82.2            RD      = 0               RS      = 0               
    +TOX     = toxn            XJ      = 1E-07           NCH     = 2.3579E+17      
    +LLN     = 1               LWN     = 1               WLN     = 1               
    +WWN     = 1               LINT    = 4E-08           LL      = 0               
    +LW      = 0               LWL     = 0               WINT    = 4E-08           
    +WL      = 0               WW      = 0               WWL     = 0               
    +MOBMOD  = 1               BINUNIT = 2               XL      = '3E-08+dxl'     
    +XW      = '1.5E-07+dxw'   DWG     = 0               DWB     = 0               
    +VTH0    = 'dvtn+0.536027' LVTH0   = 3.726466E-08    WVTH0   = -2.1316E-08     
    +PVTH0   = -2.460013E-14   K1      = 0.5246611       LK1     = -1.639613E-08   
    +WK1     = -5.031044E-08   PK1     = 2.211867E-14    K2      = 0.02709882      
    +LK2     = -6.586022E-09   WK2     = 5.785586E-09    PK2     = 3.435911E-15    
    +K3      = 0               DVT0    = 0               DVT1    = 0               
    +DVT2    = 0               DVT0W   = 0               DVT1W   = 0               
    +DVT2W   = 0               NLX     = 0               W0      = 0               
    +K3B     = 0               VSAT    = 95850.88        LVSAT   = 0.01310061      
    +WVSAT   = 0.0008223997    PVSAT   = -1.641506E-08   UA      = 3.196265E-11    
    +LUA     = -3.698079E-17   WUA     = -6.408507E-16   PUA     = 7.414642E-22    
    +UB      = 2.045354E-18    LUB     = 6.227287E-25    WUB     = 5.533028E-26    
    +PUB     = -1.805726E-30   UC      = 6.725734E-11    LUC     = 1.901776E-17    
    +WUC     = -3.996494E-17   PUC     = -3.876839E-23   RDSW    = 750             
    +PRWB    = 0               PRWG    = 0               WR      = 1               
    +U0      = 0.04660162      LU0     = 5.515446E-09    WU0     = -1.626703E-08   
    +PU0     = -4.134264E-15   A0      = 0.5017616       LA0     = 5.552729E-07    
    +WA0     = 6.615518E-07    PA0     = -5.219843E-13   KETA    = -0.008348037    
    +LKETA   = 2.403177E-08    WKETA   = 2.44925E-08     PKETA   = -3.102829E-14   
    +A1      = 0               A2      = 0.99            AGS     = 0.09736285      
    +LAGS    = 1.223815E-07    WAGS    = 1.607973E-07    PAGS    = -4.561918E-14   
    +B0      = 0               B1      = 0               VOFF    = -0.1432202      
    +LVOFF   = 3.766451E-08    WVOFF   = 2.755289E-08    PVOFF   = -1.641511E-14   
    +NFACTOR = 1.071551        LNFACTOR= -3.18949E-07    WNFACTOR= -3.166332E-07   
    +PNFACTOR= 4.241266E-13    CIT     = -7.628655E-05   LCIT    = 2.723331E-10    
    +WCIT    = 4.660042E-10    PCIT    = -4.03804E-16    CDSC    = 0               
    +CDSCB   = 0               CDSCD   = 0               ETA0    = 0.0002181413    
    +LETA0   = 4.893156E-10    WETA0   = -2.201543E-10   PETA0   = 3.379313E-16    
    +ETAB    = 1.65427E-05     LETAB   = -1.913991E-11   WETAB   = -2.072801E-11   
    +PETAB   = 2.39823E-17     DSUB    = 0               PCLM    = 0.1632291       
    +LPCLM   = 7.33948E-07     WPCLM   = 7.523777E-09    PPCLM   = -1.501737E-13   
    +PDIBLC1 = 1E-05           PDIBLC2 = -0.0001189527   LPDIBLC2= 3.04769E-09     
    +WPDIBLC2= 7.281391E-12    PPDIBLC2= -5.988417E-16   PDIBLCB = 0.138753        
    +DROUT   = 0               PSCBE1  = 4.710076E+08    LPSCBE1 = -47.68667       
    +WPSCBE1 = -72.788         PPSCBE1 = -1.725277E-05   PSCBE2  = 0.0001510638    
    +LPSCBE2 = -1.69574E-10    WPSCBE2 = -1.390941E-10   PPSCBE2 = 1.578688E-16    
    +PVAG    = 0               DELTA   = 0.01            ALPHA0  = 2.5E-06        
    +BETA0   = 20.7            KT1     = -0.2700492      LKT1    = -3.095004E-08   
    +WKT1    = 2.812907E-08    PKT1    = 7.879249E-14    KT2     = -0.04153765     
    +LKT2    = 2.524311E-08    WKT2    = 2.833375E-08    PKT2    = -1.608147E-14   
    +AT      = 2219.528        LAT     = -0.02686487     WAT     = -0.002395568    
    +PAT     = 2.596705E-08    UTE     = -2.065168       LUTE    = -4.132515E-07   
    +WUTE    = 4.668071E-07    PUTE    = 3.33133E-13     UA1     = 1.422613E-10    
    +LUA1    = -1.44336E-15    WUA1    = 9.693937E-16    PUA1    = 1.598886E-22    
    +UB1     = -2.172033E-18   LUB1    = 1.404262E-24    WUB1    = 5.546184E-26    
    +PUB1    = 6.856764E-31    UC1     = -5.716306E-11   LUC1    = 5.31648E-17     
    +WUC1    = -2.396283E-17   PUC1    = -2.142338E-24   KT1L    = 0               
    +PRT     = 24.11496        LPRT    = -1.086812E-05   WPRT    = -0.000500091    
    +PPRT    = 1.361775E-11    
    +CJ      = cjn            CJSW     = cjswn          CJSWG    = cjswgn 
    +MJ      = 0.3297355      MJSW     = 0.1303453      MJSWG    = 0.1303453
    +PB      = 0.6944804      PBSW     = 0.6944804      PBSWG    = 0.6944804
    +CTA     = 9.42521E-4     CTP      = 4.91382E-04    PTA      = 1.485657E-03
    +PTP     = 1.485657E-03   CGDO     = cgon           CGSO     = cgon
    +XTI     = 3              N        = 1              CAPMOD   = 0
    +NQSMOD  = 0              XPART    = 1              CF       = 0 
    +CALCACM = 1              SFVTFLAG = 0              VFBFLAG  = 1       
    +NLEV    = 3              AF       = 0.85           KF       = 1.0E-24
    +JS      = 6.27496E-05    JSW      = 5.79847E-10          )

    •   AltAdvertisment

        
       

  2. #2
    Advanced Member level 5
    Points: 27,835, Level: 40
    BigBoss's Avatar
    Join Date
    Nov 2001
    Location
    Turkey
    Posts
    4,021
    Helped
    1206 / 1206
    Points
    27,835
    Level
    40

    Re: How to use TSMC 0.35um CMOS Spice Model file to create different transistor sizes

    All those SPICE variables are parametric so they are dependent on M,W and L values.
    W and L values are not chosen arbitrarily, there are always constraints that are defined by process itself.



  3. #3
    Advanced Member level 5
    Points: 7,121, Level: 20

    Join Date
    Apr 2016
    Posts
    1,515
    Helped
    261 / 261
    Points
    7,121
    Level
    20

    Re: How to use TSMC 0.35um CMOS Spice Model file to create different transistor sizes

    I doubt this is in the public domain, you should not put it here.

    As to parameters and their ranges, it's not in the model. It's in the documentation. You have to read it. Some models take any garbage input you come up with and will produce an equally garbage result.
    Really, I am not Sam.



    •   AltAdvertisment

        
       

  4. #4
    Newbie level 3
    Points: 478, Level: 4

    Join Date
    May 2016
    Posts
    4
    Helped
    0 / 0
    Points
    478
    Level
    4

    Re: How to use TSMC 0.35um CMOS Spice Model file to create different transistor sizes

    Quote Originally Posted by BigBoss View Post
    All those SPICE variables are parametric so they are dependent on M,W and L values.
    W and L values are not chosen arbitrarily, there are always constraints that are defined by process itself.
    So the SPICE variables are dependent on fixed Ws and Ls. So I can only use the transistor sizes they provided and it's up to me to come up with a design according to those values? Am I right? The problem is it has no L, W and M values, so I have to put it in myself, but I do not know the ranges...the model file has Lmax, Lmin, Wmin and Wmax so I assumed it was the size range for that particular model



  5. #5
    Newbie level 3
    Points: 478, Level: 4

    Join Date
    May 2016
    Posts
    4
    Helped
    0 / 0
    Points
    478
    Level
    4

    Re: How to use TSMC 0.35um CMOS Spice Model file to create different transistor sizes

    Quote Originally Posted by ThisIsNotSam View Post
    I doubt this is in the public domain, you should not put it here.

    As to parameters and their ranges, it's not in the model. It's in the documentation. You have to read it. Some models take any garbage input you come up with and will produce an equally garbage result.
    I found it while googling from the website of University of Dallas, they post their homeworks online and I found it there. I'll probably have to contact the admins to edit the post. i can't see any edit button

    Quote Originally Posted by ThisIsNotSam View Post
    As to parameters and their ranges, it's not in the model. It's in the documentation. You have to read it. Some models take any garbage input you come up with and will produce an equally garbage result.
    okay, I understand now thanks. i don't have any documentation for it, but the model file has readme notes in it when opened in notepad, it says it is made for HSPICE...I read the HSPICE documentation and it says that lmax, lmin wmin and wmax mean the range of transistor size for which the model applies.



    •   AltAdvertisment

        
       

  6. #6
    Advanced Member level 5
    Points: 7,121, Level: 20

    Join Date
    Apr 2016
    Posts
    1,515
    Helped
    261 / 261
    Points
    7,121
    Level
    20

    Re: How to use TSMC 0.35um CMOS Spice Model file to create different transistor sizes

    Quote Originally Posted by iampaul View Post
    okay, I understand now thanks. i don't have any documentation for it, but the model file has readme notes in it when opened in notepad, it says it is made for HSPICE...I read the HSPICE documentation and it says that lmax, lmin wmin and wmax mean the range of transistor size for which the model applies.
    You found a file you are not supposed to have access to and are asking us how to use it. Of course you will struggle. You have to read the PDK that this document refers to, not HSPICE documentation.
    Really, I am not Sam.



  7. #7
    Member level 2
    Points: 681, Level: 5

    Join Date
    Feb 2017
    Location
    Philippines
    Posts
    52
    Helped
    5 / 5
    Points
    681
    Level
    5

    Re: How to use TSMC 0.35um CMOS Spice Model file to create different transistor sizes

    The thing with library files is that they are provided by the fab. The code you have there is called a "bin" which is a small part of the library file. I recall that for a 0.18 um TSMC library file has 12 bins (i.e. nch1-nch12), I don't know for the 0.35 um. The way they work is that when you give a particular transistor its W and L values (W is limited to 100 um and L limited to 20 um for TSMC), the HSPICE tool uses the parameters in that particular bin for that particular size.

    You can either ask the fab for the model directly provided you sign a non-disclosure agreement. Or you could limit yourself with a Level 3 model.



--[[ ]]--