1、 IC设计实习报告 郑培柱 实习报告 实习名称 IC设计实习 实习内容 HDMI高清多媒体接口研究与设计 学生学院 材料与能源学院 专业班级 2012级微电子学2班 学 号 3112007374 学生姓名 郑培柱 实习总负责人 徐明 2015年 8 月 18 日 目录 【前言】
2、 - 3 - 正文 - 5 - 0. linux介绍与常用命令 - 5 - VCS实验设计和步骤
3、 -7- 1. DC实验设计和步骤 - 12 - 3.ICC实验设计和步骤 - 16 - 4.PT实验设计和步骤 - 22 - 结尾
4、 - 26 - - 27 - 【前言】 现代社会正在飞速的发展,集成电路已经成为现代科技发展的支柱产业,现代技术产业的心脏,可以说,没有集成电路,就没有现代社会。集成电路发展迅猛,按功能结构分类集成电路可以分为模拟集成电路、数字集成电路和数/模混合集成电路三大类。按制作工艺分类集成电路可分为半导体集成电路和膜集成电路。按集成度高低分类集成电路可分为 SSI小规模集成电路、MSI中规模集成电路、LSI大规模集成电路、VLSI超大规模集成电路、ULSI特大规模集成电路、GSI 巨大规模集成电路也被称作极大规
5、模集成电路或超特大规模集成电路。 IC集成芯片设计流程主要包括代码设计和验证VCS(Verilog Compiled Simulator)、前段设计与逻辑综合DC(Design Compiler)、后端实体设计ICC(IC Compiler)和时序验证PT(Prime Time)。此次实习根据初学者的知识掌握程度合理地安排了实习的难度,也让实习生同学能够初步了解IC芯片设计的整个流程,充分的了解芯片设计每一阶段所需要的基本知识和技能。HDMI芯片的仿真验证设计是本次实习的主要研究内容,其中每一阶段从工具介绍、指令操作、仿真设计和最后所要达到的实验目的都有严格的标准,能够达到本次实习要求的目的
6、 HDMI的全称是“High Definition Multimedia Interface 高清多媒体接口”。2002年4月,来自电子电器行业的7家公司——日立、松下、飞利浦、Silicon Image、索尼、汤姆逊、东芝共同组建了HDMI高清多媒体接口组织HDMI founders(HDMI论坛),开始着手制定一种适合高清时代标准的全新数字化视频/音频接口技术。经过半年多时间的准备,HDMI founders 在2002年12月9是正式发布了HDMI1.0版标准,标志着HDMI技术正式进入历史舞台。 此外该实习的课程安排如下: 地点位于广州市国家集成电路基地,聘请了业界工程
7、师亲临授课。以HDMI高清多媒体接口研究与设计为引子,重点介绍四大IC设计软件的应用和基本知识。实践过程中,由徐明老师担任总负责人,邹承辉工程师等为我们系统讲解以上课程并带领我们完成实验。以下正文具体阐述实验内容。 【关键词】:集成电路设计 实习报告 VCS ICC DC PT 正文 2. linux介绍与常用命令 本次实习的开始内容是介绍Linux系统并熟悉相关的指令操作,这是因为IC设计的流程一大部分都是在Linux系统平台上完成的。这对之后的实习内容其中不可忽视的作用。基本上贯穿这整个实习的始
8、终。 a . linux介绍 Linux是一套免费使用和自由传播的类Unix操作系统,是一个基于POSIX和UNIX的多用户、多任务、支持多线程和多CPU的操作系统。它能运行主要的UNIX工具软件、应用程序和网络协议。它支持32位和64位硬件。Linux继承了Unix以网络为核心的设计思想,是一个性能稳定的多用户网络操作系统。 Linux操作系统诞生于1991 年10 月5 日(这是第一次正式向外公布时间)。Linux存在着许多不同的Linux版本,但它们都使用了Linux内核。Linux可安装在各种计算机硬件设备中,比如手机、平板电脑、路由器、视频游戏控制台、台式计算机、大型机和超
9、级计算机。 严格来讲,Linux这个词本身只表示Linux内核,但实际上人们已经习惯了用Linux来形容整个基于Linux内核,并且使用GNU 工程各种工具和数据库的操作系统。 总结如下: · linux操作系统可以说是UNIX操作系统的一个克隆体,它最初是1991年10月5日由他的作者Linux Torvalds于赫尔辛基大学发布。 ·Linux操作系统遵从公共许可证(General Public License,简称GPL)的规定。 ·Linux对外的一个重要的特点就是“Free”,自由和免费。 b. Linux目录结构 /:根目录,所有的目录、文件、设备都在/之
10、下,/就是Linux文件系统的组织者,也是最上级的领导者。 /bin:bin 就是二进制(binary)英文缩写。在一般的系统当中,都可以在这个目录下找到linux常用的命令。系统所需要的那些命令位于此目录。 /boot:Linux的内核及引导系统程序所需要的文件目录,比如 vmlinuz initrd.img 文件都位于这个目录中。在一般情况下,GRUB或LILO系统引导管理器也位于这个目录。 /dev:dev 是设备(device)的英文缩写。这个目录对所有的用户都十分重要。因为在这个目录中包含了所有linux系统中使用的外部设备。但是这里并不是放的外部设备的驱动程序。这一点和常用的
11、windows,dos操作系统不一样。它实际上是一个访问这些外部设备的端口。可以非常方便地去访问这些外部设备,和访问一个文件,一个目录没有任何区别。 /home:如果建立一个用户,用户名是"xx",那么在/home目录下就有一个对应的/home/xx路径,用来存放用户的主目录。 /lib:lib是库(library)英文缩写。这个目录是用来存放系统动态连接共享库的。几乎所有的应用程序都会用到这个目录下的共享库。因此,千万不要轻易对这个目录进行什么操作,一旦发生问题,系统就不能工作了。 /root:Linux超级权限用户root的家目录。 /tmp:临时文件目录,用来存放不同程序执行时产
12、生的临时文件。有时用户运行程序的时候,会产生临时文件。/tmp就用来存放临时文件的。/var/tmp目录和这个目录相似。 /usr 这是linux系统中占用硬盘空间最大的目录。用户的很多应用程序和文件都存放在这个目录下。在这个目录下,可以找到那些不适合放在/bin或/etc目录下的额外的工具 /var:这个目录的内容是经常变动的,看名字就知道,可以理解为vary的缩写,/var下有/var/log 这是用来存放系统日志的目录。/var/ www目录是定义Apache服务器站点存放目录;/var/lib 用来存放一些库文件,比如MySQL的,以及MySQL数据库的的存放地。 c.
13、常用指令 ls 显示文件或目录 -l 列出文件详细信息l(list) -a 列出当前目录下所有文件及目录,包括隐藏的a(all) mkdir 创建目录 -p 创建目录,若无父目录,则创建p(parent) cd 切换目录 cp 拷贝 mv 移动或重命名 rm 删除文件 -r 递归删除,可删除子目录及文件
14、 -f 强制删除 pwd 显示当前目录 ln 创建链接文件 more、less 分页显示文本文件内容 head、tail 显示文件头、尾内容 ctrl+alt+F1 命令行全屏模式 d.打包和压缩文件 tar -cvf archive.tar file1 创建一个非压缩的 tarball tar -cvf archive.tar file1 file2 dir1 创建一个包含了 'file1', 'file2' 以及 'dir1'的档案文件 tar -tf archiv
15、e.tar 显示一个包中的内容 tar -xvf archive.tar 释放一个包 tar -xvf archive.tar -C /tmp 将压缩包释放到 /tmp目录下 tar -cvfj archive.tar.bz2 dir1 创建一个bzip2格式的压缩包 tar -xvfj archive.tar.bz2 解压一个bzip2格式的压缩包 tar -cvfz archive.tar.gz dir1 创建一个gzip格式的压缩包 tar -xvfz archive.tar.gz 解压一个gzip格式的压缩包 zip file1.zip file1 创建一个
16、zip格式的压缩包 zip -r file1.zip file1 file2 dir1 将几个文件和目录同时压缩成一个zip格式的压缩包 unzip file1.zip 解压一个zip格式压缩包 e.小结 经过由老师对Linux系统的介绍和讲解,以及我们上机实操,我大概对这个系统有了初步的了解和操作,熟悉了基本的指令操作,实习期间,老师还给我们增加了一些关于Linux的课外的技能,这让我们感觉收获更多。尽管,一开始会遇到不少问题,经常写错指令等等,但是老师都给我们一一解答,手把手地教导我们,加上老师热情幽默的授课方式,使我们更加轻松地学到东西。 1. VCS实验设计和步骤
17、了解熟悉Linux操作系统之后,我们正式进入IC设计实践,由于实习题目是HDMI高清多媒体接口研究与设计,老师先讲授HDMi的基本知识和Verilog代码设计,以及如何实验VCS软件进行编译和仿真,这是本次实验的重点。此外,老师还帮我们简单复习了verilog语言的知识,并重点讲解了仿真事件队列,使我们更加透彻和深入理解HDMI的设计以及verilog RTL 设计的方法和技巧。verilog的层次化事件队列,简单来说,四种事件队列,一是动态事件队列(下列事件的执行顺序可以随意安排)阻塞赋值,计算非阻塞赋值语句右边的表达式,连续赋值,执行display命令,计算原语的输入和输出的变化;二是停止
18、运行的事件队列:#0延时阻塞赋值;三是非阻塞事件队列:更新非阻塞赋值语句(lhs)左边的值;四是监控事件的队列执行$monitor,$strobe命令;还有其他指令的pli命令队列。 1.2 HDMI简介 HDMI的全称是“High Definition Multimedia Interface 高清多媒体接口”。2002年4月,来自电子电器行业的7家公司——日立、松下、飞利浦、Silicon Image、索尼、汤姆逊、东芝共同组建了HDMI高清多媒体接口组织HDMI founders(HDMI论坛),开始着手制定一种适合高清时代标准的全新数字化视频/音频接口技术。经过
19、半年多时间的准备,HDMI founders 在2002年12月9是正式发布了HDMI1.0版标准,标志着HDMI技术正式进入历史舞台。 TMDS(Transition Minimized Differential Signaling)信道由四个差分线对信道组成(三个数据信道和一个时钟信道),这些信道主要用于传递视频,音频和辅助数据。 HDMI提供一个VESA DDC(Video Electronics Standards Association)( Display Data Channel)信道。DDC是用于配置和在一个单独的信源端和一个单独的接收端交换状态,读取接收端的E-EDI
20、D 数据结构。 CEC(Consumer Electronics Control)是一个可选信道,可选择在用户的各种不同的音视频产品中,为高端用户提供高水平的控制功能。 可选择的以太网和音频返回(HEAC),在连接的设备中提供以太网兼容的网HDMI络数据和一个和TMDS 相对方向的音频返回信道。 一个HDMI连接包括三个TMDS数据信道和一个单一的TMDS时钟信道。TMDS时钟信道持续地以一定的与视频像素传输速率成比例的速率运行。在每一个TMDS时钟信道周期中,三个TMDS数据信道的每一个传输10bits数据。每个10 bits的数据采用某种不同编码技术编码。 1.3 H
21、DMI编码 实验一:介绍了VCS中常用的13个开光选项。 使用VCS打开HDMI编码器的代码如下: 使用Linux终端查看vcs对4个Verilog文件进行编译,然后会产生可以执行的二进制文件sinv。 运行这个simv这个二进制文件,然后可以看到如下结果 实验二:通过VCS提示信息,对简单的warning和error进行纠正。 实验三:熟悉VCS的图形DVE,学会查看原理图,源代码,波形图。其中为了更好验证波形图的正确性,程序中不仅有编码模块“Hdmi_encoder”,还添加了顶层模块“Top.v”和解码模块“Hdmi_decodern” 部分时序截图
22、 小结:VCS通常有3个步骤,代码编写和仿真,其中编译有很多的开关选项,本次实验只介绍了常用的13个;对于源代码的debug还需要根据涉及实际项目和编码规则找错和纠错;对于编解码使用DVE查看编码前的data和解码后的data是否一致,能够很直接看到代码的正确性。 2. DC实验设计和步骤 完成了VCS的实验之后,我们继续快马加鞭,进入到了DC的实验。 2.1、基本概念介绍 Design Compiler为Synopsys公司逻辑合成工具。DC得到全球60多个半导体厂商、380多个工艺库的支持。据最新Dataquest的统计,Synopsys的逻辑综合工具占据91%的市场份
23、额。DC是十多年来工业界标准的逻辑综合工具,也是Synopsys最核心的产品。它使IC设计者在最短的时间内最佳的利用硅片完成设计。它根据设计描述和约束条件并针对特定的工艺库自动综合出一个优化的门级电路。它可以接受多种输入格式,如硬件描述语言、原理图和网表等,并产生多种性能报告,在缩短设计时间的同时提高设计性能。Synopsys发布的最新版Design Compiler综合解决方案--Design Compiler。新版本扩展了拓扑技术,以加速采用先进低功耗和测试技术的设计收敛,帮助设计人员提高生产效率和IC性能。拓扑技术可帮助设计人员正确评估芯片在综合过程中的功耗,在设计早期解决所有功耗问题。
24、此外,还支持Design Compiler中新的测试压缩技术,在实现高质量测试的同时,减少测试时间和测试数据量超过100倍,并减少后续物理实现阶段由于测试电路带来的可能的布线拥塞。新的Design Compiler采用了多项创新综合技术,如自适应retiming和功耗驱动门控时钟,性能较以前版本平均提高8%,面积减少4%,功耗降低5%。此外,Synopsys Formality等效检测解决方案得到了增强,能够独立、彻底地验证这些技术,因此设计者无需舍去验证就可以实现更高的性能。 如上图所示,综合主要包括三个阶段:转换(translation)、映射(mapping)与优化(op
25、timization)。综合工具首先将HDL的描述转换成一个与工艺相关的RTL级网表(网表中RTL模块通过连线互联),然后根据具体指定的工艺库,将RTL级网表映射到工艺库上,成为一个门级网表,最后再根据设计者施加的诸如延时、面积方面的约束条件,对门级网表进行优化。 2.2 启动DC 2.3 检查.sysnopsys_dc.setup文件 2.4 设置库文件和搜索路径 另外还有一种设置库文件和搜索路径的方法,source脚本文件(tcl) 2.5 读Verilog代码 2.6 添加约束 2.7 保存并查看报告: 时序报告: 3.ICC实验设计和步
26、骤 完成了DC逻辑综合试验之后,我们进入到了ICC后端物理实现实验。 3.1.后端设计全局简介 IC Compiler是Synopsys新一代布局布线系统(Astro是前一代布局布线系统),通过将物理综合扩展到整个布局和布线过程以及签核驱动的设计收敛,来保证卓越的质量并缩短设计时间。上一代解决方案由于布局、时钟树和布线独立运行,有其局限性。IC Compiler的扩展物理综合(XPS)技术突破了这一局限,将物理综合扩展到了整个布局和布线过程。IC Compiler采用基于TCL的统一架构,实现了创新并利用了Synopsys的若干最为优秀的核心技术。作为一套完整的布局布线设计系
27、统,它包括了实现下一代设计所必需的一切功能,如物理综合、布局、布线、时序、信号完整性(SI)优化、低功耗、可测性设计(DFT)和良率优化。Synopsys发布的新一代布局布线解决方案--IC Complier。新版ICC运行时间更快、容量更大、多角/多模优化(MCMM)更加智能、而且具有改进的可预测性,可显著提高设计人员的生产效率。同时,新版本还推出了支持45nm、32nm技术的物理设计。IC Compiler正成为越来越多市场领先的IC设计公司在各种应用和广泛硅技术中的理想选择。新版的重大技术创新将为加速其广泛应用起到重要作用。IC Compiler引入了用于快速运行模式的新技术,在保证原有
28、质量的情况下使运行时间缩短了35%。新技术将16Gb平台的容量增加到接近1,000万门,有助于用户实现更大的模块划分。新版增加了集成的、层次化的设计规划的早期介入,有助于用户高效处理一亿门级的设计。提高生产能效的另一个关键在于物理可行性流程,它能够使用户迅速生成和分析多次试验布局,以确定具体实现的最佳起始值。 3.2 import_design 3.3 design_planning 生成相应引脚、 最后进行LVS对比: 4.PT实验设计和步骤 完成ICC后端设计试验之后,我们进入到最后一个实验,就是时序仿真实验。 4.1 基本概念介绍
29、 PrimeTime是针对复杂、百万门芯片进行全芯片、门级静态时序分析的工具。PrimeTime可以集成于逻辑综合和物理综合的流程,让设计者分析并解决复杂的时序问题,并提高时序收敛的速度。PrimeTime是众多半导体厂商认可的、业界标准的静态时序分析工具。Galaxy™ 设计平台中的时序验证核心工具--PrimeTime®的最新版本凭借其静态时序分析能力和对数百万门设计进行认可的能力,成为新的时序工具标准。从用户使用情况显示,最新发布的PrimeTime的运行速度比之前版本平均提高了2到7倍,从而提升了设计者的设计能力,并实现快速的时序认可。PrimeTime强大的性能得益于在生成报告和基
30、于标准延迟文件(SDF)的时序分析方面的算法的改进。PrimeTime提供全芯片级的静态时序分析,同时整合了延迟计算和先进的建模功能,以实现有效而又精确的时序认可。PrimeTime SI是全芯片门级信号完整性分析工具。PrimeTime SI建立在成功流片验证过的PrimeTime平台之上的,提供精确的串扰延迟分析,IR drop(电压降落)分析和静态时序分析。PrimeTime SI业界领先的超快运行时间和处理容量让数百万门的复杂设计一次流片成功,让设计者取得极快的进入市场时间。 4.2 实验步骤 结尾 此次实习历经两个星期,引导我们进入IC设计实践,
31、虽然实践时间比较段,不过内容丰富,老师认真授课,加上我认真积极地学习,总算不辜负此次实习,颇有收获。这其中我也遇到了不少问题,比如使用ICC后端设计的时候,由于操作不当无法生成版图,但在老师的帮助下一步步完成了,顺利完成实验。我感受比较大的是,以后还是要多熟悉Linux的操作指令,因为IC设计都是基于这个平台,几乎所有操作都可以使用终端指令操作完成,所以这个对指令操作的要求很高。本次实习的很多操作都是输入指令,而这些指令到底什么意思,因为时间关系,其实我并没有完全搞懂,所以以后我仍需继续学习,力图比较深入地学习。还有由于是初次学习,老师给我们的是已经完成的项目,让我们操作一遍而已。以后如果要深入研究的话,就必须参加到实际的项目中去,但这需要我们对IC设计更娇了解和熟悉。最后我感谢徐明老师、邹承辉老师,还有贺春华老师等对这次实习的指导和关心。






