论文部分内容阅读
摘要:针对“大规模集成电路设计”课程实践性强的特点,围绕大规模集成电路设计流程和主流EDA工具,构建高效的理论教学内容框架与实践教学流程,把集成电路设计的理论和实际紧密结合,充分发挥学生的主动性和创造性,强化学生的实际动手能力,培养了学生的工程意识和系统观念,取得了良好的效果。
关键词:集成电路设计;EDA工具;教学改革;设计流程
作者简介:叶波(1971-),男,江苏泰兴人,上海电力学院计算机与信息工程学院,教授,理学博士,主要研究方向:集成电路设计。(上海 200090)赵倩(1969-),女,湖南衡阳人,上海大学机电工程与自动化学院博士研究生,上海电力学院计算机与信息工程学院,(上海 200090)副教授,主要研究方向:集成电路设计、机器视觉。(上海 200072)
基金项目:本文系上海市重点课程建设项目(项目编号:20085303)的研究成果。
信息产业是21世纪的支柱产业,微电子技术作为当代信息技术的一大基石,[1]与国民经济发展、人民生活水平提高乃至国防建设都密切相关,是衡量一个国家综合国力的重要标志之一。目前,我国正大力发展微电子技术,并在上海浦东等地建立了微电子产业化基地,因而急需集成电路设计、工艺技术、产品开发和应用、封装、测试等各个层次的微电子专业人才。国内很多大学也都相继开设了电子科学与技术专业,以培养集成电路方向的专业人才。
本文结合上海电力学院电子科学与技术专业的实际,提出了“大规模集成电路设计”课程的教学改革研究项目,旨在为该专业和相关专业的学生提供良好的理论教学和实践平台,使学生能够实现理论与实际的结合,极大地提高学生的学习兴趣,培养学生的创新意识和实践能力,同时也为青年教师进行教学科研提供良好环境。
在该课程实践教学方面,通过对各种EDA开发工具的学习和使用,[2]让学生掌握现代EDA设计思想和方法,了解和掌握从芯片定义、RTL语言编写、[3]功能验证、[4]逻辑综合、[5]版图设计,[6]到寄生参数提取和版图验证的整个集成电路正向设计流程。熟练运用Cadence、Synopsys等公司的主流EDA工具,熟悉从系统建模到芯片版图设计的全过程。培养学生具备从简单的电路设计到复杂电子系统设计的能力,具备进行集成电路设计的基本专业知识和技能。
一、理论教学内容体系改革
该课程的主要内容包括集成电路设计的基本概念、HDL代码的语法和编码风格、功能仿真和验证、逻辑综合、版图设计和EDA工具的使用等。改革的重点是以集成电路设计流程为主线,理论与实践并重,让学生建立一个系统的集成电路设计思路和架构。
理论教学部分重点进行集成电路设计原理、Verilog HDL语言、功能验证、逻辑综合,以及常用EDA工具,如Cadence NC-Verilog和Synopsys VCS仿真软件、逻辑综合软件Synopsys DC的讲解等。
集成电路设计原理部分将集成电路设计中电路与系统的视角统一起来,在深入系统地介绍深亚微米工艺条件下半导体器件的基本知识和最基本的门电路,如倒相器之后,逐步把这些基础知识引入到更加复杂的模块,比如更复杂的门、寄存器、控制器、移位器、加法器、乘法器和存储器等。在深亚微米工艺的设计条件下,设计者不仅仅需要考虑整个系统的设计问题,还要随时警惕各种器件和连线的延迟所带来的问题。另外,针对深亚微米工艺条件下设计人员所面对的新挑战,例如串扰问题、天线效应、信号完整性问题、时钟分布问题、功耗问题等,都必须有非常详细的阐述。
目前集成电路工艺水平已经发展到纳米时代,教科书的更新速度远远落后于工艺的发展速度,对于集成电路在纳米工艺条件下出现的新问题,通过查阅最新的文献资料,并通过大量的设计实例向学生介绍最新的集成电路设计技术与发展趋势,紧跟集成电路技术的发展,及时解决当前集成电路设计的核心问题。
由于NC-Verilog和VCS是针对Verilog HDL代码的仿真工具,所以在理论课程中除了重点介绍HDL源代码和测试平台的编写方法和语法外,讲课过程中还要与其他相关课程融会贯通,例如,讲解软件使用方法时与“FPGA应用开发”课程中常用的工具——Altera公司的Quartus II软件进行比较,让学生了解其区别。
对于逻辑综合环节,除了进行理论讲解外,还针对最常用的Synopsys逻辑综合工具DC的语法进行详细的描述,这样,学生在这些基本知识的引导下,在做实验写综合约束文件时,就能够深刻领会每条命令的使用方法和含义,以及修改时序违反约束条件时的理论根据。对于建立时间、保持时间以及时钟偏斜(Clock Skew)等对时序路径的约束作用有深刻的理解。
二、实践环节的教学改革
实践环节的目标是构建完善的集成电路设计实验平台,让学生初步具备基本的集成电路设计能力。
为了使学生毕业后能很快适应岗位,尽快进入角色,就需要在实践环节进行改革。以往,实践环节只是让学生照着实验指导书,按照流程一步步地做,最后每人选择一个主题进行设计实验,如交通灯控制、频率计、数字跑表等。实践教学的效果并不理想,实验做完后许多学生对一些基本的概念还是不能很好地掌握,主要原因是学生在实践过程中缺乏主动性,是在被动地进行实验,印象不深刻,再加上考核的题目比较单一,学生没有经过复杂电路或系统的训练,所以改革势在必行。为此,我们重新设置了实验流程,更新了实验设备,购买了目前集成电路行业主流的EDA软件和多台高性能Sun工作站服务器和60台供学生实验用的PC机。同时对集成电路设计流程认知实验的大纲、指导书、实验项目的开发作了较大的改革,充分利用学校与Altera公司建立的联合实验室,让学生在完成实验流程后,考核时实行一人一题,最终的RTL代码需要在FPGA平台上进行验证和调试。另外,学生也可以在教师的指导下,自己选择实验题目,自主设定实验方案,以培养学生的专业兴趣和创新能力。引导学生“在干中学,在学中干”,使学生由“要我做实验”变为“我要做实验”。既培养了学生的设计能力和动手能力,又能检验出学生掌握理论知识的水平,同时也加深了对理论课的理解,并促使学生更加努力地学习理论课。
此外,在实践环节,将科研与教学贯通,形成科研、综合实验、毕业设计相结合的体系,把工业界需求及时引入教学平台、开拓学生的眼界和思路,提高学生设计复杂数字系统的能力。
实践环节改革后,实践教学有了较好的软硬件环境,学生得到了更完善的实践教学和工程训练,实验阶段的设计性、综合性、实践性得到了进一步的完善。通过一系列的实践锻炼,学生具备了微电子的基本理论知识和专业技能,毕业后成为能从事集成电路及相关行业的设计、工艺、封装测试或集成电路版图设计工作的专业人才。
集成电路设计流程如图1所示。
围绕集成电路设计流程,改革后设置的实验项目如下。
1.UNIX系统的使用
目前一些主流的集成电路设计EDA软件大多是在SUN公司的Solaris操作系统及网络环境支持下的设计平台,以此为基础实现集成电路设计流程和工作环境。因此要利用此类平台进行集成电路设计,首先要学会使用UNIX系统相关命令的使用,这对没有接触过UNIX系统的学生来说,无疑是非常必要的。
2.功能验证
通过设计实例介绍硬件描述语言RTL代码的语法、编码风格和仿真测试文件的编写以及主流仿真工具的使用。在整个设计流程中,仿真分为三个步骤来进行:RTL级仿真、综合后的门级仿真、版图布局布线后的仿真(带寄生参数的后仿真)。仿真贯穿于设计的每个阶段,是确保设计成功的关键。
3.逻辑综合
逻辑综合是在标准单元库(Standard Libraty)和特定的设计约束(Design Constrain)的基础上,把设计的高层次描述(如RTL代码)转化为优化的门级网表(Netlist)的过程。它是根据一个系统逻辑功能与性能的要求,在一个包含众多结构、功能、性能均已知的逻辑元件的单元库的支持下,寻找出一个逻辑网络结构的最佳实现方案,即在满足设计电路的功能、速度及面积等限制条件下,把行为级描述转化为指定的工艺库中单元电路的连接。目前基于RTL的逻辑综合已经成为IC设计流程的一个重要步骤。
逻辑综合对本科生来说具有一定的难度,讲解时通过典型的实例来介绍Synopsys逻辑综合工具DC的语法和时序约束技巧,让学生通过实验掌握逻辑综合的基本概念、语法以及EDA工具的使用方法。
4.版图设计
版图设计是根据电路功能和性能的要求以及流片工艺,设计在集成电路制造过程中必须用到的光刻掩膜版图,是集成电路设计的最终目标。该部分内容通过介绍Cadence公司版图设计工具的使用来说明如何进行版图设计。
以上内容涵盖了集成电路设计的基本流程,使学生对集成电路设计有一个整体认识,从而提高学生的学习兴趣。
三、理论教学内容和实践教学改革的依据
为了培养学生建立大规模集成电路设计流程的概念,熟练掌握各个环节的工具使用,能解决NC-Verilog或VCS仿真和DC综合过程中出现的各种问题,促进理论知识的理解和深化,因而围绕大规模集成电路设计流程这个主线,设置合理的理论教学体系,改革相应的实践教学体系具有重要意义。
利用原有设计软件和平台,以具体的实例详细地介绍集成电路的正向设计流程,使学生深刻理解和掌握集成电路设计的各个环节,如RTL语言描述、功能验证、逻辑综合、版图设计等,熟练运用Cadence、Synopsys等与设计环节相配套的EDA工具。
通过各个实验建设项目的经验积累,逐步完善实验体系,并结合一些相关的辅助设备,与其它多门相关课程相结合,组建一些比较大型的系统性实验,为学生的毕业设计和未来就业打下坚实的基础。
四、改革特色与创新
通过理论教学与实践环节的改革,“大规模集成电路设计”的教学取得了良好的效果,其特色与创新归纳如下:
(1)采用了当前集成电路行业的主流EDA软件,涵盖了本学科几乎全部的相关课程内容,完成HDL语言编程的教学、集成电路设计透视以及主流EDA工具的使用。
(2)详细地阐述了集成电路设计的整个流程,使学生对IC设计的理论知识和实际知识紧密结合,可以充分发挥学生的创造性思维,进一步强化学生的动手能力,培养学生的工程意识和系统概念。
(3)通过制作多媒体课件,学生可以在做实验前就直观地了解和熟悉实验原理、实验步骤、设计平台和流程,从而提高学生的积极性和实验效果。
五、结束语
集成电路自诞生以来,经历了小规模、中规模、大规模的发展过程,目前已进入系统芯片SoC阶段,并正朝着更高集成度、超小型化、高性能、高可靠性的方向发展。集成电路的发展离不开计算机辅助设计,熟练掌握集成电路设计技术和主流的EDA工具已成为IC工程师的必备技能。集成电路的应用越来越广泛,对其设计的要求将会跨越电子工程的界限,进入更广泛的技术领域。作为微电子及相关专业的毕业生,掌握IC的设计流程和常用EDA工具是十分必要的,因此,围绕集成电路设计流程构建大规模集成电路设计的教学与实践体系,并在教学工作中不断修改和完善,具有重要的意义。
参考文献:
[1]王志功,朱恩,陈莹梅.集成电路设计[M].北京:电子工业出版社,2008:1-3.
[2]陈立静.EDA技术在数字电路教学中的应用[J].中国电力教育,2009,(3):83-84.
[3]夏闻宇.Verilog数字系统设计教程[M].北京:北京航空航天大学出版社,2009:10-13.
[4]吴继华,王诚.Verilog HDL设计与验证[M].北京:人民邮电出版社,2006:159-160.
[5]Samir Palnitkar.Verilog HDL数字设计与综合[M].夏闻宇,等,译.北京:电子工业出版社,2008:201-202.
[6]Jan M.Rabaey,等.数字集成电路——电路、系统与设计[M].周润德,译.北京:电子工业出版社,2008:48-51.
(责任编辑:刘辉)
关键词:集成电路设计;EDA工具;教学改革;设计流程
作者简介:叶波(1971-),男,江苏泰兴人,上海电力学院计算机与信息工程学院,教授,理学博士,主要研究方向:集成电路设计。(上海 200090)赵倩(1969-),女,湖南衡阳人,上海大学机电工程与自动化学院博士研究生,上海电力学院计算机与信息工程学院,(上海 200090)副教授,主要研究方向:集成电路设计、机器视觉。(上海 200072)
基金项目:本文系上海市重点课程建设项目(项目编号:20085303)的研究成果。
信息产业是21世纪的支柱产业,微电子技术作为当代信息技术的一大基石,[1]与国民经济发展、人民生活水平提高乃至国防建设都密切相关,是衡量一个国家综合国力的重要标志之一。目前,我国正大力发展微电子技术,并在上海浦东等地建立了微电子产业化基地,因而急需集成电路设计、工艺技术、产品开发和应用、封装、测试等各个层次的微电子专业人才。国内很多大学也都相继开设了电子科学与技术专业,以培养集成电路方向的专业人才。
本文结合上海电力学院电子科学与技术专业的实际,提出了“大规模集成电路设计”课程的教学改革研究项目,旨在为该专业和相关专业的学生提供良好的理论教学和实践平台,使学生能够实现理论与实际的结合,极大地提高学生的学习兴趣,培养学生的创新意识和实践能力,同时也为青年教师进行教学科研提供良好环境。
在该课程实践教学方面,通过对各种EDA开发工具的学习和使用,[2]让学生掌握现代EDA设计思想和方法,了解和掌握从芯片定义、RTL语言编写、[3]功能验证、[4]逻辑综合、[5]版图设计,[6]到寄生参数提取和版图验证的整个集成电路正向设计流程。熟练运用Cadence、Synopsys等公司的主流EDA工具,熟悉从系统建模到芯片版图设计的全过程。培养学生具备从简单的电路设计到复杂电子系统设计的能力,具备进行集成电路设计的基本专业知识和技能。
一、理论教学内容体系改革
该课程的主要内容包括集成电路设计的基本概念、HDL代码的语法和编码风格、功能仿真和验证、逻辑综合、版图设计和EDA工具的使用等。改革的重点是以集成电路设计流程为主线,理论与实践并重,让学生建立一个系统的集成电路设计思路和架构。
理论教学部分重点进行集成电路设计原理、Verilog HDL语言、功能验证、逻辑综合,以及常用EDA工具,如Cadence NC-Verilog和Synopsys VCS仿真软件、逻辑综合软件Synopsys DC的讲解等。
集成电路设计原理部分将集成电路设计中电路与系统的视角统一起来,在深入系统地介绍深亚微米工艺条件下半导体器件的基本知识和最基本的门电路,如倒相器之后,逐步把这些基础知识引入到更加复杂的模块,比如更复杂的门、寄存器、控制器、移位器、加法器、乘法器和存储器等。在深亚微米工艺的设计条件下,设计者不仅仅需要考虑整个系统的设计问题,还要随时警惕各种器件和连线的延迟所带来的问题。另外,针对深亚微米工艺条件下设计人员所面对的新挑战,例如串扰问题、天线效应、信号完整性问题、时钟分布问题、功耗问题等,都必须有非常详细的阐述。
目前集成电路工艺水平已经发展到纳米时代,教科书的更新速度远远落后于工艺的发展速度,对于集成电路在纳米工艺条件下出现的新问题,通过查阅最新的文献资料,并通过大量的设计实例向学生介绍最新的集成电路设计技术与发展趋势,紧跟集成电路技术的发展,及时解决当前集成电路设计的核心问题。
由于NC-Verilog和VCS是针对Verilog HDL代码的仿真工具,所以在理论课程中除了重点介绍HDL源代码和测试平台的编写方法和语法外,讲课过程中还要与其他相关课程融会贯通,例如,讲解软件使用方法时与“FPGA应用开发”课程中常用的工具——Altera公司的Quartus II软件进行比较,让学生了解其区别。
对于逻辑综合环节,除了进行理论讲解外,还针对最常用的Synopsys逻辑综合工具DC的语法进行详细的描述,这样,学生在这些基本知识的引导下,在做实验写综合约束文件时,就能够深刻领会每条命令的使用方法和含义,以及修改时序违反约束条件时的理论根据。对于建立时间、保持时间以及时钟偏斜(Clock Skew)等对时序路径的约束作用有深刻的理解。
二、实践环节的教学改革
实践环节的目标是构建完善的集成电路设计实验平台,让学生初步具备基本的集成电路设计能力。
为了使学生毕业后能很快适应岗位,尽快进入角色,就需要在实践环节进行改革。以往,实践环节只是让学生照着实验指导书,按照流程一步步地做,最后每人选择一个主题进行设计实验,如交通灯控制、频率计、数字跑表等。实践教学的效果并不理想,实验做完后许多学生对一些基本的概念还是不能很好地掌握,主要原因是学生在实践过程中缺乏主动性,是在被动地进行实验,印象不深刻,再加上考核的题目比较单一,学生没有经过复杂电路或系统的训练,所以改革势在必行。为此,我们重新设置了实验流程,更新了实验设备,购买了目前集成电路行业主流的EDA软件和多台高性能Sun工作站服务器和60台供学生实验用的PC机。同时对集成电路设计流程认知实验的大纲、指导书、实验项目的开发作了较大的改革,充分利用学校与Altera公司建立的联合实验室,让学生在完成实验流程后,考核时实行一人一题,最终的RTL代码需要在FPGA平台上进行验证和调试。另外,学生也可以在教师的指导下,自己选择实验题目,自主设定实验方案,以培养学生的专业兴趣和创新能力。引导学生“在干中学,在学中干”,使学生由“要我做实验”变为“我要做实验”。既培养了学生的设计能力和动手能力,又能检验出学生掌握理论知识的水平,同时也加深了对理论课的理解,并促使学生更加努力地学习理论课。
此外,在实践环节,将科研与教学贯通,形成科研、综合实验、毕业设计相结合的体系,把工业界需求及时引入教学平台、开拓学生的眼界和思路,提高学生设计复杂数字系统的能力。
实践环节改革后,实践教学有了较好的软硬件环境,学生得到了更完善的实践教学和工程训练,实验阶段的设计性、综合性、实践性得到了进一步的完善。通过一系列的实践锻炼,学生具备了微电子的基本理论知识和专业技能,毕业后成为能从事集成电路及相关行业的设计、工艺、封装测试或集成电路版图设计工作的专业人才。
集成电路设计流程如图1所示。
围绕集成电路设计流程,改革后设置的实验项目如下。
1.UNIX系统的使用
目前一些主流的集成电路设计EDA软件大多是在SUN公司的Solaris操作系统及网络环境支持下的设计平台,以此为基础实现集成电路设计流程和工作环境。因此要利用此类平台进行集成电路设计,首先要学会使用UNIX系统相关命令的使用,这对没有接触过UNIX系统的学生来说,无疑是非常必要的。
2.功能验证
通过设计实例介绍硬件描述语言RTL代码的语法、编码风格和仿真测试文件的编写以及主流仿真工具的使用。在整个设计流程中,仿真分为三个步骤来进行:RTL级仿真、综合后的门级仿真、版图布局布线后的仿真(带寄生参数的后仿真)。仿真贯穿于设计的每个阶段,是确保设计成功的关键。
3.逻辑综合
逻辑综合是在标准单元库(Standard Libraty)和特定的设计约束(Design Constrain)的基础上,把设计的高层次描述(如RTL代码)转化为优化的门级网表(Netlist)的过程。它是根据一个系统逻辑功能与性能的要求,在一个包含众多结构、功能、性能均已知的逻辑元件的单元库的支持下,寻找出一个逻辑网络结构的最佳实现方案,即在满足设计电路的功能、速度及面积等限制条件下,把行为级描述转化为指定的工艺库中单元电路的连接。目前基于RTL的逻辑综合已经成为IC设计流程的一个重要步骤。
逻辑综合对本科生来说具有一定的难度,讲解时通过典型的实例来介绍Synopsys逻辑综合工具DC的语法和时序约束技巧,让学生通过实验掌握逻辑综合的基本概念、语法以及EDA工具的使用方法。
4.版图设计
版图设计是根据电路功能和性能的要求以及流片工艺,设计在集成电路制造过程中必须用到的光刻掩膜版图,是集成电路设计的最终目标。该部分内容通过介绍Cadence公司版图设计工具的使用来说明如何进行版图设计。
以上内容涵盖了集成电路设计的基本流程,使学生对集成电路设计有一个整体认识,从而提高学生的学习兴趣。
三、理论教学内容和实践教学改革的依据
为了培养学生建立大规模集成电路设计流程的概念,熟练掌握各个环节的工具使用,能解决NC-Verilog或VCS仿真和DC综合过程中出现的各种问题,促进理论知识的理解和深化,因而围绕大规模集成电路设计流程这个主线,设置合理的理论教学体系,改革相应的实践教学体系具有重要意义。
利用原有设计软件和平台,以具体的实例详细地介绍集成电路的正向设计流程,使学生深刻理解和掌握集成电路设计的各个环节,如RTL语言描述、功能验证、逻辑综合、版图设计等,熟练运用Cadence、Synopsys等与设计环节相配套的EDA工具。
通过各个实验建设项目的经验积累,逐步完善实验体系,并结合一些相关的辅助设备,与其它多门相关课程相结合,组建一些比较大型的系统性实验,为学生的毕业设计和未来就业打下坚实的基础。
四、改革特色与创新
通过理论教学与实践环节的改革,“大规模集成电路设计”的教学取得了良好的效果,其特色与创新归纳如下:
(1)采用了当前集成电路行业的主流EDA软件,涵盖了本学科几乎全部的相关课程内容,完成HDL语言编程的教学、集成电路设计透视以及主流EDA工具的使用。
(2)详细地阐述了集成电路设计的整个流程,使学生对IC设计的理论知识和实际知识紧密结合,可以充分发挥学生的创造性思维,进一步强化学生的动手能力,培养学生的工程意识和系统概念。
(3)通过制作多媒体课件,学生可以在做实验前就直观地了解和熟悉实验原理、实验步骤、设计平台和流程,从而提高学生的积极性和实验效果。
五、结束语
集成电路自诞生以来,经历了小规模、中规模、大规模的发展过程,目前已进入系统芯片SoC阶段,并正朝着更高集成度、超小型化、高性能、高可靠性的方向发展。集成电路的发展离不开计算机辅助设计,熟练掌握集成电路设计技术和主流的EDA工具已成为IC工程师的必备技能。集成电路的应用越来越广泛,对其设计的要求将会跨越电子工程的界限,进入更广泛的技术领域。作为微电子及相关专业的毕业生,掌握IC的设计流程和常用EDA工具是十分必要的,因此,围绕集成电路设计流程构建大规模集成电路设计的教学与实践体系,并在教学工作中不断修改和完善,具有重要的意义。
参考文献:
[1]王志功,朱恩,陈莹梅.集成电路设计[M].北京:电子工业出版社,2008:1-3.
[2]陈立静.EDA技术在数字电路教学中的应用[J].中国电力教育,2009,(3):83-84.
[3]夏闻宇.Verilog数字系统设计教程[M].北京:北京航空航天大学出版社,2009:10-13.
[4]吴继华,王诚.Verilog HDL设计与验证[M].北京:人民邮电出版社,2006:159-160.
[5]Samir Palnitkar.Verilog HDL数字设计与综合[M].夏闻宇,等,译.北京:电子工业出版社,2008:201-202.
[6]Jan M.Rabaey,等.数字集成电路——电路、系统与设计[M].周润德,译.北京:电子工业出版社,2008:48-51.
(责任编辑:刘辉)