集成电路基础知识入门?
一、集成电路的特点
①集成电路中晶体管用得多,电感、电容、电阻用得少,尤其是大容量电容,因为生产这些元件需要大面积的硅片,导致成本较高。
②集成电路中的电路多为直接连接(即两个电路直接用导线连接),较少用电容连接,可以减小集成电路的面积,使其适用于各种频率的电路。
③集成电路中经常使用对称电路(如差分电路),可以校正制造过程中的偏差。
(4)集成电路一旦生产出来,内部电路就无法更改,不像分立元件电路可以随时更改,所以当集成电路中的某个元件损坏时,只能更换整个集成电路。
⑤一般集成电路可以不能单独使用,它们需要与分立元件组合起来形成实用的电路。对于集成电路,大部分电子技术人员只需要知道它内部有什么样的功能电路,也就是了解内部结构框图和各个引脚的作用。
总结数字电路设计的一般方法?
我来自西北工业大学计算机学院微电子研究所。现在我是微电子学院一年级的学生。我的专业是数字集成电路设计。研究生一上学期,掌握了数字集成电路后端综合设计方法。本学术素养课程报告主要探讨了实现后端过程中的方法、经验和相关感悟。
一般来说,软件工程师和硬件工程师的需求量都是10:1,也就是说硬件工程师的需求量远远小于软件工程师。硬件工程师分为模拟和数字。模拟集成电路设计主要包括ADC、DAC、PLL等。,而数字集成电路设计更倾向于实现特定功能的芯片,如CPU、GPU、MCU、MPU、DSP等。
事实上,在这个阶段,数字集成电路的设计方法已经非常类似于借助EDA工具进行软件开发。典型的数字集成电路开发一般包括以下步骤:
1.根据需求,自上而下设计电路模块,明确数字系统需要实现哪些功能,再细分成各个功能模块。这时候的设计形式一般是框图,用visio或者其他绘图软件实现。这个环节虽然松散,但是很重要,因为在根据需求设计大模块和指标的时候,一定要结合实际情况,否则后期会经过无限的返工,甚至达不到预定的指标。一般由德高望重、经验丰富的工程师进行整体设计。
2.定义好每个模块之后,接下来就是实现每个模块的功能。由于硬件描述语言的存在,我们可以很容易地"写作与写作通过硬件描述语言的模块实现方法。在这个实验中,我使用了VerilogHDL。具体代码的复杂程度与模块的复杂程度有关。在这个实验中,我使用了""集成电路设计;"八位格雷码计数器"。
3.在完成了"八位格雷码计数器",有必要"预模拟和模拟设计。所谓预仿真,主要是验证代码描述是否正确,计划的功能是否真正实现。一般使用modelsim软件进行仿真。如果模拟成功,将进入下一阶段。如果不成功,它将需要返回到修改后的代码。
4.预仿真成功后,即可得到功能正确的Verilog设计代码。此时可以将代码下载到FPGA板上进行验证(JTAGQuartus),证明设计是正确的。对于一些集成度要求不高,时间非常紧的数字电路设计项目,可以直接用FPGA实现芯片功能。显然,FPGA这种通用器件可以不能满足ASIC高集成度、低功耗、高专用性的设计要求,只能用于相对简单粗糙的设计。
5.接下来,进入后端流程。这时候就需要专门的服务器和昂贵的EDA工具。这也是硬件设计入门难的原因之一。如果一个没有接触过软件编程的有志青年立志做软件工程,一般一台电脑一本书就够了,最多买个正版编译器(VS,Eclipse,DW等。),但是做硬件电路设计,一台电脑一本书最多能画PCB。要做核心部分,我们必须使用强大的服务器和昂贵的EDA工具,因为普通PC可以无法承担的工作需求后端集成"。而且linux下大量复杂的操作会让人望而却步。
6.在后端平台准备好之后,您可以将"八位格雷码计数器"进了站台。这时候应该马上考虑什么组件库和流程?因为同一个与非门,不同的元件库有不同的实现细节,MOS管的细节可能差别很大。另外,一定要考虑流程。这些工艺文件来自相关制造商(TSMC、CSMS等)。),这也是个人能够不要做后台——因为你几乎不可能以自己的名义与TSMC讨论工艺库文件。毕竟,作为一个没有经验,没有钱和技能的初学者,你可以不自信,有几万人。仔细筛选后(很多情况下没得选),确定你要用的流程。在这个实验中,我使用了我的高级实验室改进的组件库和TSMC0.18um技术,EDA工具是CadenceIC614。
7.经过一系列的配置后,"八位格雷码计数器"已经变成了一个巨大的工程文件。我建议使用TCL脚本文件进行配置。然后可以进行RTL级合成。所谓RTL级合成其实指的是"重写"Verilog代码转换成可以被合成工具识别的Verilog代码(我用的是Encounter)。一般来说,这类似于翻译"古典文学与艺术进入"白话文与汉语和"编译与编辑在C语言中,就是把一种高级语言翻译成汇编代码。当然,理论上可以直接写RTL级的代码,但是和直接写汇编语言一样复杂。
8.RTL级合成完成后,将RTLVerilog导入到Encounter中进行真正的后端合成。导入RTL码后,还需要解释标准单元库的LEF文件,定义电源和地的线名。这时候就需要一个MMMCconfig配置,过程比较复杂,主要是配置相关文件和设备状态(TT、ss、FF等。).
9.完成导入配置,然后是芯片版图设计,即布图。Floorplan需要设置一些基本的参数,比如芯片的长宽(面积),引脚留的空间,芯片利用率等等。长宽比建议为0.2-5,复杂电路利用率为0.85,一般电路为0.90,简单电路为0.95。
10.电力计算,电力线路排列的依据,主要为环形和条形。比如数字电路芯片功耗55mW,冗余增加到2倍左右。设计为100mW,电源为1.8V,电流约为60mA,即总供电线路为60U,如果每条线路为10u,则有六条供电线路,每侧一条,中间四条。在遭遇中有一个特殊的接线配置器。接线后,可以先申请,再取消重复尝试。
11.排列IO引脚。如果没有提前导入IO,可以重新导入(TCL)或者自行调整。
12.前置,因为Verilog中往往有很多模块,每个模块对应一个布局模块。布局时要注意一些布局原则。布局一般可以通过简单的拖动来完成。"八位格雷码计数器"只有一个模块,所以它不不需要复杂的布局。
13.布局是一个不断修改和改进的过程。放置是在前置后进行,然后是后置。布局之后,需要时钟树综合(CTS)。时钟树综合的目的是使每个信号在约束时间内传输到下一个顺序单元,否则会影响芯片的主频(主频是设计前确定的指标),然后在Post-CTS中调整不满足时钟约束的部分的布线。
14.布局后路由,即路由。特殊走线,需要先走线,再后置。这些步骤在某种程度上是"点击按钮"和"配置参数,但是后端合成一定要头脑清醒,知道为什么要点击这些按钮,要配置什么参数。
15.布局和布线经过多次迭代,配置好IO引脚后,就可以填充整张图片,不用的区域可以覆盖各种金属层。单人"八位格雷码计数器"由于其结构简单而具有较大的未覆盖面积。
16.至此,Encounter中的后端综合已经完成,网表可以导出为GDSII格式,为了检查DRC和LVS,还需要"网表"转换成示意图格式。
17.将后端集成的GDSII文件导入Virtuoso。Virtuoso是一款模拟集成电路设计软件。将GDSII文件导入该软件有两个主要目的。首先,你可以做"后期模拟与设计在Virtuoso中验证概念芯片经过后端综合的一系列流程后是否能达到设计要求。此时仿真已经考虑到了延迟、电阻、功耗等实际问题。如果仿真有问题,需要返工修改,必要时重新布线。在"后期模拟与设计通过后,芯片应由刚果共和国和LVS检查。DRC是看是否符合所选工艺的要求,因为在实际情况下,有些理论值是不现实的,比如太细的导线无法制作,栅极间距过短可能导致短路,导线与各种金属层之间的电容会影响电路功能。LVS是比较版图和原理图之间的拓扑关系是否不一致。第二,以后设计数模混合芯片时便于混合设计,因为模拟集成电路直接在Virtuoso中进行,最后可以将两者结合起来设计数模混合集成电路。
18.检验后,您可以联系工艺供应商进行加工,如TSMC。一般处理需要跟上企业的业务流程。大约一个月后,芯片加工完毕,然后进入测试阶段。焊接,测试,验证芯片指标,提出改进方案。
至此,一个数字集成电路从概念到实物的全过程已经完成,每一步都值得研究和回味。从24解码器到复杂的CPU,过程基本相同。一个学期后的学习,我基本掌握了这个流程。未来我们会更加努力,在这个专业上继续前进,培养核心竞争力。