1/57芯片设计工具及应用浙江大学ICLAB实验室韩雁教授hany@zju.edu.cn2017年9月2/57一、基础知识二、课程介绍三、Linux命令及上机操作目录3/57名词术语及其关系微电子学半导体芯片集成电路半导体产品制造业+分立器件半导体设备制造业+光电子器件半导体材料制造业+传感器(学科)(产业)(主要产品)(产品形式)基础知识课程介绍Linux命令及上机操作4/572013-15年全球半导体芯片产品销售比例201120122013集成电路(IC)82.5%81.7%81.4%分立器件(Discrete)7.1%6.8%6.9%光电器件(Optoelectronic)7.7%8.7%8.9%传感器(Sensors)2.7%2.7%2.7%资料来源:世界半导体贸易统计组织(WSTS)半导体产业现状基础知识课程介绍Linux命令及上机操作5/57摩尔定律每过18个月,IC中晶体管的集成度增加一倍微米时代3um-2um-1.2um-亚微米时代0.8um-0.5um-深亚微米时代0.35um-0.25um-0.18um-0.13um-纳米时代90nm-65nm-45nm-40nm-28nm32nmN+N+PLL–特征尺寸N+N+PLL–特征尺寸基础知识课程介绍Linux命令及上机操作6/57课程介绍•3学分,每周二下午1-3节。课程分为三个模块。•13次课堂教学,每堂布置1道作业,分3次验收:–模块一:3次课堂教学,3次作业,1次现场验收。–模块二:5次课堂教学,5次作业,1次现场验收。–模块三:4次课堂教学,4次作业,1次现场验收。•教材:–《半导体器件TCAD设计与应用》,韩雁等编著,2013年3月出版。对应模块一–《模拟集成电路与数字集成电路设计工具实用教程》,韩雁等编著,2017年8月出版。对应模块二、三课程介绍基础知识Linux命令及上机操作7/57今天上课内容•课程介绍(课堂教学+作业随堂验收)–模块一:半导体工艺与器件设计工具(3+1)–模块二:模拟IC设计工具(5+1)–模块三:数字IC设计工具(4+1)•Linux命令及上机操作•上机实验作业介绍课程介绍基础知识Linux命令及上机操作8/57模块一1.工艺仿真工具TSUPREM-4和器件仿真工具MEDICI2.新一代工艺及器件仿真工具Sentaurus3.设计实例--用TCAD设计ESD防护器件•上机实验验收课随堂验收工艺与器件设计的3次作业半导体工艺与器件设计工具(3+1)课程介绍基础知识Linux命令及上机操作9/571/3:工艺仿真工具TSUPREM-4和器件仿真工具MEDICI•工艺仿真工具TSUPREM-4介绍–模型介绍–TSUPREM-4基本命令介绍–双极晶体管的工艺仿真示例•器件仿真工具MEDICI介绍–MEDICI实例1——LDMOS器件仿真–MEDICI实例2——NPN三极管仿真模块一(续1)课程介绍基础知识Linux命令及上机操作10/572/3:新一代工艺及器件仿真工具Sentaurus•工艺仿真系统SentaurusProcess•器件结构编辑工具SentaurusStructureEditor•器件仿真工具SentaurusDevice•集成电路虚拟制造系统SentaurusWorkbench模块一(续2)课程介绍基础知识Linux命令及上机操作11/573/3:设计实例--用TCAD设计ESD防护器件•ESD防护器件简介•工艺仿真•器件仿真及模型的选取•热边界条件的设定•ESD防护器件仿真中收敛性问题•对关键性能有影响的关键参数•二次击穿电流的仿真模块一(续3)课程介绍基础知识Linux命令及上机操作12/57随堂验收工艺与器件设计的3次作业•作业1-1–用T4做出一个NMOS管,再输入到MEDICI中,进行栅特性仿真。•作业1-2–用Sentaurus工艺仿真软件跑出一个NMOS器件,通过修改器件参数,使得耐压提高20%。•作业1-3–将一个仿真不收敛的ESD防护器件,通过网格调整而变得收敛。模块一(3+1)课程介绍基础知识Linux命令及上机操作13/57模拟IC设计工具(5+1)1.系统级仿真与Matlab2.模拟电路仿真工具+快速仿真+数模混合仿真3.设计实例--基准源、噪声、开关电容及Monte-Carlo仿真4.模拟IC版图绘制及Virtuoso工具软件5.版图验证与后仿真•上机实验验收课--随堂验收模拟IC设计的5次作业模块二课程介绍基础知识Linux命令及上机操作14/571/5:系统级仿真与Matlab•集成电路设计的一般流程•系统级建模工具----Matlab•设计实例--利用Matlab设计一个数字IC模块二(续1)课程介绍基础知识Linux命令及上机操作15/572/5:模拟电路仿真工具+快速仿真+数模混合仿真•Spectre模拟电路仿真•Ultrasim快速仿真•Spectreverilog数模混合仿真•演示模块二(续2)课程介绍基础知识Linux命令及上机操作16/573/5:设计实例--基准源、噪声、开关电容及Monte-Carlo仿真•电压基准源设计•集成电路噪声分析及仿真•开关电容电路理论、设计举例及仿真•Monte-Carlo仿真模块二(续3)课程介绍基础知识Linux命令及上机操作17/574/5:模拟IC版图绘制及Virtuoso工具软件•典型深亚微米CMOS工艺流程•DesignRule简介•Virtuoso软件简介及使用•PDK简介•版图设计中的相关专题模块二(续4)课程介绍基础知识Linux命令及上机操作18/575/5:版图验证与后仿真•概述•DRC、LVS与后仿真介绍•验证工具介绍•Calibre使用方法•Diva规则文件简介•实例分析模块二(续5)课程介绍基础知识Linux命令及上机操作19/57上机实验验收课--随堂验收模拟IC设计5次作业•作业2-1–利用Simulink搭建一个4-16线译码器的仿真模型•作业2-2–对一个数模混合的FSK电路进行数模混合仿真•作业2-3–仿基准电压源的温度系数/工艺角/电源抑制比/环路稳定性•作业2-4–绘制一个电流控制振荡器,版图面积0.05mm^2•作业2-5–通过DRC以及LVS,获得前仿、后仿结果模块二(5+1)课程介绍基础知识Linux命令及上机操作20/57数字IC设计工具(4+1)1.可综合Verilog语言及FPGA验证2.逻辑综合与可测性设计3.数字IC自动布局布线4.数字集成电路验证方法学•上机实验验收课--随堂验收数字IC设计4次作业模块三课程介绍基础知识Linux命令及上机操作21/571/4:可综合Verilog语言及FPGA验证•可综合Verilog•Testbench编写•HDL的软件仿真•FPGA简介及验证流程•FPGA设计中的基本问题模块三(续1)课程介绍基础知识Linux命令及上机操作22/572/4:逻辑综合与可测性设计•逻辑综合基本概念•逻辑综合工具--DesignCompiler•可测性设计基础•可测性设计工具•测试矢量生成软件TetraMAX模块三(续2)课程介绍基础知识Linux命令及上机操作23/573/4:数字IC自动布局布线•数字IC设计典型流程•自动布局布线基本概念•自动布局布线工具Astro介绍模块三(续3)课程介绍基础知识Linux命令及上机操作24/574/4:数字集成电路验证方法学•验证的必要性•验证方法学介绍•验证工具介绍•演示模块三(续4)课程介绍基础知识Linux命令及上机操作25/57上机实验验收课--随堂验收数字IC设计的4次作业•作业3-1–制作流水灯,完成前仿及FPGA布局布线后的后仿•作业3-2–完成流水灯控制电路的逻辑综合及可测性设计•作业3-3–在SMIC40nm工艺下完成流水灯IC的布局布线•作业3-4–完成流水灯控制电路的验证平台,得出代码覆盖率模块三(4+1)课程介绍基础知识Linux命令及上机操作26/57关于上课和考试•听课必须到课•作业可以三个模块选做一个、二个或三个•考试三个模块内容都要考(考概念为主)•平时作业占50%•期末闭卷考占50%•问题?•建立微信群课程介绍基础知识Linux命令及上机操作27/57Linux命令及上机操作课程介绍基础知识Linux命令及上机操作1、基本操作与基本命令2、压缩与解压缩命令3、ftp软件用法4、vi编辑器5、启动cadence、sentaurus等应用软件6、常见问题及解决办法28/57将电脑的IP设置到闭路环境中1、在IP配置页面中点击高级选项2、添加IP地址192.168.83.XXX(自己的IP地址)课程介绍基础知识Linux命令及上机操作29/57基本操作与基本命令步骤一下载安装putty软件网址可在微纳电子研究所网站服务指南栏目里寻找。在Hostname处填工作站IP地址(133),putty默认端口22,协议protocol选SSH,把所选服务器133Load上,然后按Open登录服务器。课程介绍基础知识Linux命令及上机操作30/57Putty软件界面用户名(本人学号)输入UNIX密码,默认为eda@zuedaVNC端口申请VNC端口密码设置(牢记!)端口号(牢记!)UNIX密码修改课程介绍基础知识Linux命令及上机操作31/57步骤二下载winvnc软件网址可在微纳电子研究所网站服务指南下寻找。运行winvnc,填入服务器名称:端口号码192.168.83.138:2端口号注意!此处的:号要切换到英文输入法下输入,中文输入法下输入的:号无效192.168.83.138:2VNC软件界面课程介绍基础知识Linux命令及上机操作32/57此处填入vnc端口密码,只能用英文输入法输入在Xterm窗口中,用命令行处理数据或启动软件VNC登录课程介绍基础知识Linux命令及上机操作33/57LINUX文件命名规则•大小写敏感(file1和File1表示两个不同的文件);•无专用扩展名(LINUX文件名可出现多个小数点,并无特殊含义)。课程介绍基础知识Linux命令及上机操作34/57LINUX特殊字符•/表示根目录•.表示当前目录•..表示当前目录的父目录•.字符串表示隐藏文件,如.profile文件•*任何字符,如“ab*10”表示以ab开头和以10结尾的任何文件名。课程介绍基础知识Linux命令及上机操作35/57LINUX文件系统常用命令LINUX命令LINUX命令举例显示当前目录pwdpwd改变目录cdcd/usr创建目录mkdirmkdirabc删除文件rmrmcall.list删除空目录rmdirrmdirabc删除目录及其内容rm-rrm-rabc显示目录内容lslsabcls-aabc(所有类型文件)拷贝文件cpcpfile1file2移动(重命名)文件mvmvcall.testcall.list课程介绍基础知识Linux命令及上机操作36/57cp命令该命令的功能是将给出的文件或目录拷贝到另一文件或目录中。语法:cp[选项]源文件或目录目标文件或目录例如:cp–i/home/lx/test.tar./把/home/lx目录下的test.tar文件拷贝到当前目录下。常用选项:–-f覆盖已经存在的目标文件而不提示。–-i在覆盖目标文件之前将给出提示要求用户确认。–-r若给出的源文件是一目录文件,此时cp将递归复制该目录下所有的子目录和文件。此时目标文件必须为一个目录名。课程介绍基础知识Linux命令及上机操作37/57mv命令用户可以使用mv命令来为文件或目录改名或将文件由一个目录移入另一个目录中。语法:mv[选项]源文件或目录目标文件或目录例如:mvtest1test2把当前目录下的test1文件重命名为test2mv/home/lx/test.tar../把/home/lx目录下的test.tar文件移动到上级目录下。常用选项:-i交互方式操作。如果mv操作将导致对已存在的目标文件的覆盖,此时系统将会询问,以避免误覆盖文件。-f禁