在线咨询
eetop公众号 创芯大讲堂 创芯人才网
切换到宽版

EETOP 创芯网论坛 (原名:电子顶级开发网)

手机号码,快捷登录

手机号码,快捷登录

找回密码

  登录   注册  

快捷导航
搜帖子
查看: 4827|回复: 19

[求助] TSMC .18um工艺mos管总栅宽改了仿真结果不变

[复制链接]
发表于 2017-3-7 22:21:57 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?注册

x
1.png

ic 617环境下,TSMC .18um工艺下总栅宽并不会随着finger number和width的变化而变化,如果手动改total width的话仿真结果跟没改是一样的,也就是说mos'管栅宽最大只有8um,不知坛友是否也有遇到上述情况的?能否给小弟支支招?
发表于 2017-3-8 09:09:27 | 显示全部楼层
增加M不就增大栅宽了?
 楼主| 发表于 2017-3-8 12:22:40 | 显示全部楼层
回复 2# fightshan

谢谢回复,增大m也没有,跟没增大之前一样的
发表于 2017-3-8 16:40:01 | 显示全部楼层
 楼主| 发表于 2017-3-8 21:52:48 | 显示全部楼层
回复 4# fightshan

电流电压,改了和没改一模一样
发表于 2017-3-10 13:28:38 | 显示全部楼层
把finger设成10试试看呢
发表于 2017-3-10 13:39:05 | 显示全部楼层
可能是工艺库没有装全?比如说skill文件丢失?
 楼主| 发表于 2017-3-12 10:30:20 | 显示全部楼层
回复 7# ouyang00032

CentOS-2017-03-12-10-18-17.png

这是我在tsmc .18工艺库安装文件夹下搜skill文件的结果,也不知道缺不缺文件,能麻烦帮忙看一下吗?

这是 libInit.il 文件的内容:





  1. ;;; If you rename the library you will have to change the
  2. ;;; libName definition in the following let statement.
  3. let( ( (libName "tsmc18rf") libId libPath file element)
  4. ;;
  5. ;; Load PDK Skill Code
  6. ;;
  7.   libId = ddGetObj( libName )
  8.   if( ddIsId( libId ) then
  9.     libPath = ddGetObjReadPath( libId )
  10.     envSetVal("layoutXL" "setPPConn" 'boolean nil)
  11. ;    envSetVal( "layout" "xSnapSpacing" 'float 0.005 )
  12. ;    envSetVal( "layout" "ySnapSpacing" 'float 0.005 )
  13.     libPath = strcat( libPath "/../skill")
  14.     foreach( file setof(element getDirFiles(libPath) equal(".cbe" index(element ".cbe")))
  15.       printf( "Initializing %s from libInit.il for library %s...\n" file libName )
  16.       load( strcat( libPath sprintf(nil "/%s" file)))
  17.     )
  18.     foreach( file setof(element getDirFiles(libPath) equal(".ile" index(element ".ile")))
  19.       printf( "Initializing %s from libInit.il for library %s...\n" file libName )
  20.       load( strcat( libPath sprintf(nil "/%s" file)))
  21.     )
  22.     foreach( file setof(element getDirFiles(libPath) equal(".cb" index(element ".cb")))
  23.       printf( "Initializing %s from libInit.il for library %s...\n" file libName )
  24.       load( strcat( libPath sprintf(nil "/%s" file)))
  25.     )
  26.     foreach( file setof(element getDirFiles(libPath) equal(".il" index(element ".il")))
  27.       printf( "Initializing %s from libInit.il for library %s...\n" file libName )
  28.       load( strcat( libPath sprintf(nil "/%s" file)))
  29.     )
  30.   else
  31.     printf( "An error occured while initializing the libInit.il file.\n" )
  32.     printf( "The library, %s, specified in this file, could\n" libName )
  33.     printf( "not be found. If you have:\n" )
  34.     printf( "    o   moved/copied the library to a new name.\n" )
  35.     printf( "    o   edited this file and made a typographical error.\n" )
  36.     printf( "    o   copied this file from another library.\n" )
  37.     printf( "you must edit the libInit.il file and correct the\n" )
  38.     printf( "library name.\n" )
  39.   )
  40. ;;
  41. ;; Set the Spectre Model Path
  42. ;;
  43.   if(isContextLoaded("schView") then
  44.      envSetVal("asimenv.startup" "simulator" 'string "spectre")
  45.      libPath = ddGetObjReadPath( libId )
  46.      asiSetEnvOptionVal(asiGetTool('spectre) "modelFiles"
  47.         list(
  48.            list(strcat( libPath "/../models/spectre/rf018.scs") "tt")
  49.            list(strcat( libPath "/../models/spectre/rf018.scs") "tt_3v")
  50.            list(strcat( libPath "/../models/spectre/rf018.scs") "tt_na")
  51.            list(strcat( libPath "/../models/spectre/rf018.scs") "tt_3vna")
  52.            list(strcat( libPath "/../models/spectre/rf018.scs") "tt_m")
  53.            list(strcat( libPath "/../models/spectre/rf018.scs") "tt_3m")
  54.            list(strcat( libPath "/../models/spectre/rf018.scs") "tt_bip")
  55.            list(strcat( libPath "/../models/spectre/rf018.scs") "tt_bip3")
  56.            list(strcat( libPath "/../models/spectre/rf018.scs") "dio")
  57.            list(strcat( libPath "/../models/spectre/rf018.scs") "dio3")
  58.            list(strcat( libPath "/../models/spectre/rf018.scs") "dio_dnw")
  59.            list(strcat( libPath "/../models/spectre/rf018.scs") "tt_res")
  60.            list(strcat( libPath "/../models/spectre/rf018.scs") "tt_mim")
  61.            list(strcat( libPath "/../models/spectre/rf018.scs") "tt_rfmos")
  62.            list(strcat( libPath "/../models/spectre/rf018.scs") "tt_rfmos33")
  63.            list(strcat( libPath "/../models/spectre/rf018.scs") "tt_rfmim")
  64.            list(strcat( libPath "/../models/spectre/rf018.scs") "tt_rfind")
  65.            list(strcat( libPath "/../models/spectre/rf018.scs") "tt_rfmvar")
  66.            list(strcat( libPath "/../models/spectre/rf018.scs") "tt_rfjvar")
  67.            list(strcat( libPath "/../models/spectre/rf018.scs") "tt_rfres_sa")
  68.            list(strcat( libPath "/../models/spectre/rf018.scs") "tt_rfres_rpo")
  69.            list(strcat( libPath "/../models/spectre/rf018.scs") "tt_rfres_hri")
  70.            list(strcat( libPath "/../models/spectre/rf018.scs") "tt_rfesd")
  71.            list(strcat( libPath "/../models/spectre/rf018.scs") "tt_bbmvar")

  72.         )
  73.      )

  74.      asiSetEnvOptionVal(asiGetTool('hspiceS) "modelPath" strcat(libPath "/../models/hspice") )
  75.      asiSetEnvOptionVal(asiGetTool('hspiceS) "includeFile" "hspice.mdl")
  76.   if(getd('ADSsim) then
  77.      asiSetEnvOptionVal(asiGetTool('ADSsim) "modelFiles"
  78.         list(
  79.            list(strcat( libPath "/../models/ADS/rf018_inc.net") "")
  80.            list(strcat( libPath "/../models/ADS/ResModel.net") "res_t")
  81.         )
  82.      )
  83.     );end ADS if
  84.   ); if schematic context is loaded
  85. ;;
  86. ;; Set the VXL significan Digits
  87. ;;
  88.   when( getd('aelPushSignifDigits)
  89.      aelPushSignifDigits(6)
  90.   )

  91.   auCdlCDFPinCntrl = 't

  92. )



复制代码
CentOS-2017-03-12-10-18-17.png
 楼主| 发表于 2017-3-12 10:32:53 | 显示全部楼层
回复 7# ouyang00032

CentOS-2017-03-12-10-18-17.png
   
这是我在tsmc .18工艺库安装文件夹下搜skill文件的结果,也不知道缺不缺文件,能麻烦帮忙看一下吗?

这是 libInit.il 文件的内容:





  1. ;;; If you rename the library you will have to change the
  2. ;;; libName definition in the following let statement.
  3. let( ( (libName "tsmc18rf") libId libPath file element)
  4. ;;
  5. ;; Load PDK Skill Code
  6. ;;
  7.   libId = ddGetObj( libName )
  8.   if( ddIsId( libId ) then
  9.     libPath = ddGetObjReadPath( libId )
  10.     envSetVal("layoutXL" "setPPConn" 'boolean nil)
  11. ;    envSetVal( "layout" "xSnapSpacing" 'float 0.005 )
  12. ;    envSetVal( "layout" "ySnapSpacing" 'float 0.005 )
  13.     libPath = strcat( libPath "/../skill")
  14.     foreach( file setof(element getDirFiles(libPath) equal(".cbe" index(element ".cbe")))
  15.       printf( "Initializing %s from libInit.il for library %s...\n" file libName )
  16.       load( strcat( libPath sprintf(nil "/%s" file)))
  17.     )
  18.     foreach( file setof(element getDirFiles(libPath) equal(".ile" index(element ".ile")))
  19.       printf( "Initializing %s from libInit.il for library %s...\n" file libName )
  20.       load( strcat( libPath sprintf(nil "/%s" file)))
  21.     )
  22.     foreach( file setof(element getDirFiles(libPath) equal(".cb" index(element ".cb")))
  23.       printf( "Initializing %s from libInit.il for library %s...\n" file libName )
  24.       load( strcat( libPath sprintf(nil "/%s" file)))
  25.     )
  26.     foreach( file setof(element getDirFiles(libPath) equal(".il" index(element ".il")))
  27.       printf( "Initializing %s from libInit.il for library %s...\n" file libName )
  28.       load( strcat( libPath sprintf(nil "/%s" file)))
  29.     )
  30.   else
  31.     printf( "An error occured while initializing the libInit.il file.\n" )
  32.     printf( "The library, %s, specified in this file, could\n" libName )
  33.     printf( "not be found. If you have:\n" )
  34.     printf( "    o   moved/copied the library to a new name.\n" )
  35.     printf( "    o   edited this file and made a typographical error.\n" )
  36.     printf( "    o   copied this file from another library.\n" )
  37.     printf( "you must edit the libInit.il file and correct the\n" )
  38.     printf( "library name.\n" )
  39.   )
  40. ;;
  41. ;; Set the Spectre Model Path
  42. ;;
  43.   if(isContextLoaded("schView") then
  44.      envSetVal("asimenv.startup" "simulator" 'string "spectre")
  45.      libPath = ddGetObjReadPath( libId )
  46.      asiSetEnvOptionVal(asiGetTool('spectre) "modelFiles"
  47.         list(
  48.            list(strcat( libPath "/../models/spectre/rf018.scs") "tt")
  49.            list(strcat( libPath "/../models/spectre/rf018.scs") "tt_3v")
  50.            list(strcat( libPath "/../models/spectre/rf018.scs") "tt_na")
  51.            list(strcat( libPath "/../models/spectre/rf018.scs") "tt_3vna")
  52.            list(strcat( libPath "/../models/spectre/rf018.scs") "tt_m")
  53.            list(strcat( libPath "/../models/spectre/rf018.scs") "tt_3m")
  54.            list(strcat( libPath "/../models/spectre/rf018.scs") "tt_bip")
  55.            list(strcat( libPath "/../models/spectre/rf018.scs") "tt_bip3")
  56.            list(strcat( libPath "/../models/spectre/rf018.scs") "dio")
  57.            list(strcat( libPath "/../models/spectre/rf018.scs") "dio3")
  58.            list(strcat( libPath "/../models/spectre/rf018.scs") "dio_dnw")
  59.            list(strcat( libPath "/../models/spectre/rf018.scs") "tt_res")
  60.            list(strcat( libPath "/../models/spectre/rf018.scs") "tt_mim")
  61.            list(strcat( libPath "/../models/spectre/rf018.scs") "tt_rfmos")
  62.            list(strcat( libPath "/../models/spectre/rf018.scs") "tt_rfmos33")
  63.            list(strcat( libPath "/../models/spectre/rf018.scs") "tt_rfmim")
  64.            list(strcat( libPath "/../models/spectre/rf018.scs") "tt_rfind")
  65.            list(strcat( libPath "/../models/spectre/rf018.scs") "tt_rfmvar")
  66.            list(strcat( libPath "/../models/spectre/rf018.scs") "tt_rfjvar")
  67.            list(strcat( libPath "/../models/spectre/rf018.scs") "tt_rfres_sa")
  68.            list(strcat( libPath "/../models/spectre/rf018.scs") "tt_rfres_rpo")
  69.            list(strcat( libPath "/../models/spectre/rf018.scs") "tt_rfres_hri")
  70.            list(strcat( libPath "/../models/spectre/rf018.scs") "tt_rfesd")
  71.            list(strcat( libPath "/../models/spectre/rf018.scs") "tt_bbmvar")

  72.         )
  73.      )

  74.      asiSetEnvOptionVal(asiGetTool('hspiceS) "modelPath" strcat(libPath "/../models/hspice") )
  75.      asiSetEnvOptionVal(asiGetTool('hspiceS) "includeFile" "hspice.mdl")
  76.   if(getd('ADSsim) then
  77.      asiSetEnvOptionVal(asiGetTool('ADSsim) "modelFiles"
  78.         list(
  79.            list(strcat( libPath "/../models/ADS/rf018_inc.net") "")
  80.            list(strcat( libPath "/../models/ADS/ResModel.net") "res_t")
  81.         )
  82.      )
  83.     );end ADS if
  84.   ); if schematic context is loaded
  85. ;;
  86. ;; Set the VXL significan Digits
  87. ;;
  88.   when( getd('aelPushSignifDigits)
  89.      aelPushSignifDigits(6)
  90.   )

  91.   auCdlCDFPinCntrl = 't

  92. )



复制代码
 楼主| 发表于 2017-3-12 12:11:19 | 显示全部楼层
回复 7# ouyang00032
CentOS-2017-03-12-10-18-17.png

这是我在tsmc .18工艺库安装文件夹下搜skill文件的结果,也不知道缺不缺文件,能麻烦帮忙看一下吗?
这是 libInit.il 文件的内容:




  1. ;;; If you rename the library you will have to change the
  2. ;;; libName definition in the following let statement.
  3. let( ( (libName "tsmc18rf") libId libPath file element)
  4. ;;
  5. ;; Load PDK Skill Code
  6. ;;
  7. libId = ddGetObj( libName )
  8. if( ddIsId( libId ) then
  9. libPath = ddGetObjReadPath( libId )
  10. envSetVal("layoutXL" "setPPConn" 'boolean nil)
  11. ; envSetVal( "layout" "xSnapSpacing" 'float 0.005 )
  12. ; envSetVal( "layout" "ySnapSpacing" 'float 0.005 )
  13. libPath = strcat( libPath "/../skill")
  14. foreach( file setof(element getDirFiles(libPath) equal(".cbe" index(element ".cbe")))
  15. printf( "Initializing %s from libInit.il for library %s...\n" file libName )
  16. load( strcat( libPath sprintf(nil "/%s" file)))
  17. )
  18. foreach( file setof(element getDirFiles(libPath) equal(".ile" index(element ".ile")))
  19. printf( "Initializing %s from libInit.il for library %s...\n" file libName )
  20. load( strcat( libPath sprintf(nil "/%s" file)))
  21. )
  22. foreach( file setof(element getDirFiles(libPath) equal(".cb" index(element ".cb")))
  23. printf( "Initializing %s from libInit.il for library %s...\n" file libName )
  24. load( strcat( libPath sprintf(nil "/%s" file)))
  25. )
  26. foreach( file setof(element getDirFiles(libPath) equal(".il" index(element ".il")))
  27. printf( "Initializing %s from libInit.il for library %s...\n" file libName )
  28. load( strcat( libPath sprintf(nil "/%s" file)))
  29. )
  30. else
  31. printf( "An error occured while initializing the libInit.il file.\n" )
  32. printf( "The library, %s, specified in this file, could\n" libName )
  33. printf( "not be found. If you have:\n" )
  34. printf( " o moved/copied the library to a new name.\n" )
  35. printf( " o edited this file and made a typographical error.\n" )
  36. printf( " o copied this file from another library.\n" )
  37. printf( "you must edit the libInit.il file and correct the\n" )
  38. printf( "library name.\n" )
  39. )
  40. ;;
  41. ;; Set the Spectre Model Path
  42. ;;
  43. if(isContextLoaded("schView") then
  44. envSetVal("asimenv.startup" "simulator" 'string "spectre")
  45. libPath = ddGetObjReadPath( libId )
  46. asiSetEnvOptionVal(asiGetTool('spectre) "modelFiles"
  47. list(
  48. list(strcat( libPath "/../models/spectre/rf018.scs") "tt")
  49. list(strcat( libPath "/../models/spectre/rf018.scs") "tt_3v")
  50. list(strcat( libPath "/../models/spectre/rf018.scs") "tt_na")
  51. list(strcat( libPath "/../models/spectre/rf018.scs") "tt_3vna")
  52. list(strcat( libPath "/../models/spectre/rf018.scs") "tt_m")
  53. list(strcat( libPath "/../models/spectre/rf018.scs") "tt_3m")
  54. list(strcat( libPath "/../models/spectre/rf018.scs") "tt_bip")
  55. list(strcat( libPath "/../models/spectre/rf018.scs") "tt_bip3")
  56. list(strcat( libPath "/../models/spectre/rf018.scs") "dio")
  57. list(strcat( libPath "/../models/spectre/rf018.scs") "dio3")
  58. list(strcat( libPath "/../models/spectre/rf018.scs") "dio_dnw")
  59. list(strcat( libPath "/../models/spectre/rf018.scs") "tt_res")
  60. list(strcat( libPath "/../models/spectre/rf018.scs") "tt_mim")
  61. list(strcat( libPath "/../models/spectre/rf018.scs") "tt_rfmos")
  62. list(strcat( libPath "/../models/spectre/rf018.scs") "tt_rfmos33")
  63. list(strcat( libPath "/../models/spectre/rf018.scs") "tt_rfmim")
  64. list(strcat( libPath "/../models/spectre/rf018.scs") "tt_rfind")
  65. list(strcat( libPath "/../models/spectre/rf018.scs") "tt_rfmvar")
  66. list(strcat( libPath "/../models/spectre/rf018.scs") "tt_rfjvar")
  67. list(strcat( libPath "/../models/spectre/rf018.scs") "tt_rfres_sa")
  68. list(strcat( libPath "/../models/spectre/rf018.scs") "tt_rfres_rpo")
  69. list(strcat( libPath "/../models/spectre/rf018.scs") "tt_rfres_hri")
  70. list(strcat( libPath "/../models/spectre/rf018.scs") "tt_rfesd")
  71. list(strcat( libPath "/../models/spectre/rf018.scs") "tt_bbmvar"))
  72. )asiSetEnvOptionVal(asiGetTool('hspiceS) "modelPath" strcat(libPath "/../models/hspice") )
  73. asiSetEnvOptionVal(asiGetTool('hspiceS) "includeFile" "hspice.mdl")
  74. if(getd('ADSsim) then
  75. asiSetEnvOptionVal(asiGetTool('ADSsim) "modelFiles"
  76. list(
  77. list(strcat( libPath "/../models/ADS/rf018_inc.net") "")
  78. list(strcat( libPath "/../models/ADS/ResModel.net") "res_t")
  79. )
  80. )
  81. );end ADS if
  82. ); if schematic context is loaded
  83. ;;
  84. ;; Set the VXL significan Digits
  85. ;;
  86. when( getd('aelPushSignifDigits)
  87. aelPushSignifDigits(6)
  88. )auCdlCDFPinCntrl = 't)



复制代码
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

站长推荐 上一条 /1 下一条

小黑屋| 手机版| 关于我们| 联系我们| 在线咨询| 隐私声明| EETOP 创芯网
( 京ICP备:10050787号 京公网安备:11010502037710 )

GMT+8, 2024-11-18 13:58 , Processed in 0.024903 second(s), 8 queries , Gzip On, Redis On.

eetop公众号 创芯大讲堂 创芯人才网
快速回复 返回顶部 返回列表