我无论是西北工业大学计算机学院微电子学研究所,现在是微电子学研究所的研一学生,专业方向是数字集成电路设计。在研一上学期,正式完全掌握了数字集成电路后端偏文科类设计方法,本篇学术素养课程报告主要注意继续讨论在实现方法后端流程时的方法、经验、以及相关的感悟。
根据我的观察,软件工程师的需求量和硬件工程师的需求量是10:1,也就是说硬件工程师需求量远大于0软件工程师,硬件工程师中又分为模拟和数字两大类,演示集成电路设计主要注意除开adc、dac、pll等,数字集成电路设计则更占优势于实现方法某种特定功能的芯片,如cpu、gpu、mcu、mpu、dsp等。
要知道,发展到现阶段,数字集成电路的设计方法也在eda工具的帮助之下极其类似软件开发了,是是的数字集成电路开发象为100元以内步骤:
1、依据需求,自顶向外怎么设计电路模块,必须明确该数字系统不需要实现什么功能,再具体详细细分到各个功能模块。此时的设计图形式就像为模块框图,可以使用visio或其他绘图软件利用。这个环节相对于收拢,但十分,而且据需求程度设计大的模块和指标时,需要要结合实际情况,不然的话到后期会情况无穷的次返工甚至连根本无法提升预定指标。象由德高望重的老前辈,比较有经验的工程师并且总体设计。
2、定义好各个模块之后,这一次那是具体详细利用各个模块的功能。因为硬件描述语言的存在,我们可以不很轻而易举的通过硬件描述语言来“写”出模块的实现程序方法,在本次实验中,我在用的是veriloghdl。具体一点代码的复杂程度和模块的复杂程度或者,我在这次实验中区分的是“八位格雷码计数器”电路设计。
3、能够完成“八位格雷码计数器”的verilog代码后,要对该设计并且“前仿真”。正所谓前仿真,通常是就是为了验正代码如何确定请看正确的,是否唯一实现方法了所新的规划的功能。好象不使用modelsim软件并且仿真设计,仿真设计成功进入下一阶段,不顺利则是需要回改代码。
4、前仿真成功了后,也有了功能真确的verilog设计代码,此时这个可以将代码去下载到fpga板上参与验证验证(quartus,jtag),验证顺利则证明此设计正确确认无误后。相对于某些板载显卡度要求不高且时间的很不安的数字电路设计项目,可以再在用fpga来实现方法芯片功能。显然,fpga这种通用器件是没法满足高独立显卡、极低功耗、清洁液性高asic设计需求的,不能作用于特有简单啊和粗犷的设计。
5、接下来进入到后端流程。这时不需要有带的服务器这些价格高昂的eda工具支持。这都是为什么不硬件技术入门可能比较难的原因之一,如果一个没有相互过软件编程的有志青年立志做软件工程,象一台电脑,一本书就够了吧,起码再买个正版编译器(vs,eclipse,dw等),不过要做硬件电路设计,一台电脑一本书起码素描pcb。再做最核心的部分,需要在用功能强大的服务器和价格贵得要命的eda工具,毕竟普通的pc电脑负担太大不起“后端看专业”的工作需求。但大量linux下的复杂操作也会使人望而生畏。
6、准备着好后端平台后,就可以将“八位格雷码计数器”放平台里,此时马上不需要考虑到的问题是不使用什么元件库在内什么工艺?毕竟同时一个与非门,有所不同元件库有完全不同实现程序细节,mos管细节可能会都大不相同,至于也要决定工艺,这些工艺的文件不知从何而来于查找厂家(tsmc,csms等),这也是个人难以做后端的原因之一——只不过你简直不可能以自己的名义向台积电商量工艺库文件,要知道充当一个涉世未深,无钱无术的初学者,你是难以充满自信的和人数上万、资金上亿的工艺厂签订合同的。当经过精挑细选筛选后(更多情况下是没得选),确定你想使用的工艺。在本次实验中,我不使用的是实验室学长改良过的元件库,这些tsmc0.18um工艺,eda工具为cadenceic614。7、当经过一系列配置之后,“八位格雷码计数器”也曾经的了三个庞大无比的工程文件,我我建议你需要tcl脚本文件进行配置。然后就这个可以参与rtl级综合考。所谓的rtl级综合考,事实上是指将verilog代码“重新编写”为综合工具(我使用的是encounter)所能无法识别的verilog代码。通俗点的讲,这个类似于将“文言文”英译中为“白话文”,也类似c语言中的“编译”,尚未高级语言翻译为汇编代码。其实,理论上可以再写出rtl级代码,但这就和就写汇编语言完全不一样,复杂程度不言自明。
8、rtl级综合考结束后,接下来将rtlverilog导入encounter通过真正的的后端偏文科类。导入rtl代码后,还不需要只能说明标准单元库的lef文件,并定义电源和地的线名。此时需要一个mmmcconfig配置,流程烦杂,比较多是配置相关文件和器件状态(tt、ss、ff等)。
9、成功导入配置,接下来的事情是芯片布局设计,即floorplan。floorplan是需要系统设置一些基础参数,如芯片的长宽(面积),丢给管脚的空间,芯片利用率等。长宽比我建议你为0.2-5,急切电路利用率0.85,像是电路利用率0.90,电路利用率0.95。
10、power计算,用此为据布好电源线路,主要注意为ring和stripe。.例如,某数字电路芯片功耗为55mw,提升冗余度量到2倍左右,怎么设计为100mw,按照1.8v供电,电流约为60ma,也就是总电源线为60u,如果没有每条线10u,则六条电源线,两边各一条,中间四条。encounter中有专门的布线配置器。网线布线之后,可以不先apply,然后申请撤销刚开始数次。
11、再布置io管脚。如果没有晚几天没有导入io,可以原先文件导入(tcl),也这个可以无法按照。
12、pre-place,是因为verilog中往往有很多的module,每个module对应一个布局模块,布局时应当由注意一点一些布局原则。布局时像是简单拖拽就可以不。“八位格雷码计数器”而且仅有一个module,所以不要紧张的布局。
13、布局是一个断的如何修改和改进之处的过程,pre-place之后接受place,之后参与之后post-place。place之后,是需要接受时钟树综合考(cts),时钟树综合的目的是为了让每个信号都在约束的时间内传输到下一个时序单元,否则会对芯片的主频产生影响(主频是在设计前就定过来的指标),接着在post-cts对不条件时钟约束的部分接受布线调整。
14、布局之后参与布线,即route,相对于特殊的方法还布线不需要参与sroute,然后接受post-place,这些步骤某种程度上全是“点按钮”和“配参数”,但后端综合时你必须有神智的头脑,前提是明白为什么不要点这些按钮,在内该配置什么参数。
15、布局布线经由两次迭代,io管脚配置好后,也可以fill全图,用各层金属覆盖未使用的区域。单个“八位格雷码计数器”而且结构简单,芯片未完全覆盖区域会增大。
16、至此,encounter内的后端综合考就能够完成了,可以不文件导出(export)成gdsii格式的网表,和替做drc,lvs检查,也是需要“netlist”成schematic(电路原理图)的格式。
17,将后端综合的gdsii文件导出(streaminto)到virtuoso里。virtuoso是一个作用于设计模拟集成电路设计的软件。将gdsii文件导入该软件比较多有两个目的,一是也可以在virtuoso里做“后仿真”,修改密保经过后端看专业的一系列流程之后,概念芯片有柯西-黎曼方程设计需求,此时的仿真就巳经决定到了延时,电阻,功耗等不好算存在的问题,如果没有仿真时出现了问题,需要通过返工如何修改,没有必要时要恢复布局布线。当“后仿真”是从后,还要对该芯片接受drc和lvs检查,drc是查看如何确定行最简形矩阵所选工艺的要求,毕竟在实际中情况下,一些理论上的值是不现实的东西的,例如过细的线不能生产的产品,栅极间的距离过短肯定会造成短路或,导线和各金属层之间的电容会影响大电路功能等。lvs是比较好layout和schematic之间的几何信息如何确定不一致。二是是可以更方便以后做数模混合芯片设计时接受调和设计,而且模拟集成电路的是真接在virtuoso中参与的,两者到最后增强在一起,就是可以进行数模混合集成电路设计。
18、通过完检查之后,就是可以与工艺需要提供厂家联系联系通过加工了,如tsmc。象加工必须跟上来企业的业务流程。总共在1月左右,芯片加工成功,然后直接进入测试3环节。焊,试验,验证芯片指标,这些提议改进方案。
到此,一个数字集成电路从概念到实物的整个流程就能够完成了,每迈一步都愿意研究什么和慢慢回味,从二四译码器到复杂的cpu,其流程是都差不多差不多的。经由研一上一个学期的学习,我也都差不多手中掌握了这个流程。以后会非常只有努力的在本专业方向继续前进,培养训练核心竞争力。
7815为三端固定不动正12v再输入的集成稳压器,7815引脚图如下图所示.
7815主要参数有:输出直流电压=+15v,输出电流l:0.1a,m:0.5a,电压调整率10mv/v,输出电阻r0=0.15ω,输入电压ui的范围18~20v。因为像是ui要比大3~5v,才能只要集成主板稳压器工作在线性区。