2016 - 2024

感恩一路有你

数字电路与系统设计 总结数字电路设计的一般方法?

浏览量:1263 时间:2022-12-29 20:17:07 作者:采采

数字电路与系统设计 总结数字电路设计的一般方法?

总结数字电路设计的一般方法?

我是西北工业大学计算机学院微电子研究所的。现在是微电子所的研究生,专业是数字集成电路设计。第一届研究生上学期,初步掌握了数字集成电路后端综合设计方法。本学术素养课程报告主要探讨了实现后端过程中的方法、经验和相关感悟。

一般来说,软件工程师和硬件工程师的需求量是10:1,也就是说硬件工程师的需求量比软件工程师的需求量小很多。硬件工程师分为模拟和数字两类。模拟集成电路设计主要包括ADC、DAC、PLL等。而数字集成电路设计更倾向于具有特定功能的芯片,如CPU、GPU、MCU、MPU、DSP等。

其实到了现阶段,数字集成电路的设计方法已经非常类似于借助EDA工具进行软件开发。典型的数字集成电路开发一般包括以下步骤:

1.根据需求,自顶向下设计电路模块,定义数字系统需要实现什么功能,然后再细分到各个功能模块。此时,的设计形式一般是框图,通过visio或其他绘图软件来实现。这个环节虽然松散,但是很重要,因为在根据需求设计大模块和指标的时候,一定要结合实际情况,否则后期会经历无限的返工,甚至达不到预定的指标。一般由德高望重、经验丰富的工程师进行整体设计。

2.定义好每个模块之后,接下来就是实现每个模块的功能。由于硬件描述语言的存在,我们可以很容易地通过硬件描述语言“写出”模块的实现方法。在这个实验中,我使用了Verilog HDL。具体代码的复杂程度与模块的复杂程度有关。在这个实验中,我采用了“八位格雷码计数器”的电路设计。

3.“八位格雷码计数器”的Verilog代码完成后,需要进行“预模拟”设计。所谓预仿真,主要是验证代码描述是否正确,计划的功能是否真正实现。通用modelsim软件用于仿真。如果模拟成功,将进入下一阶段。如果不成功,需要返回修改后的代码。

4.预仿真成功后,具有正确功能的Verilog设计代码已经可用。此时,可以将代码下载到FPGA板进行验证(JTAG Quartus)。成功的验证证明了设计的正确性。对于一些集成度要求低、时间紧的数字电路设计项目,可以直接用FPGA实现芯片功能。显然,FPGA这种通用器件无法满足高集成度、低功耗、高专用性的ASIC设计要求,只能用于更简单、更粗糙的设计。

5.接下来,进入后端流程。这时候就需要专门的服务器和昂贵的EDA工具。这也是硬件设计入门难的原因之一。如果一个从未接触过软件编程的有志青年立志做软件工程,一般一台电脑一本书就够了。最多买个正版编译器(VS,Eclipse,DW等。),但是做硬件电路设计,一台电脑一本书最多能画PCB。要做核心部分,就必须使用强大的服务器和昂贵的EDA工具,因为普通PC承担不起“后端集成”的工作。而且linux下大量复杂的操作也会让人望而却步。

6.后端平台准备好之后,就可以把“八位格雷码计数器”放入平台了。这时候,需要马上考虑的问题是,用什么组件库,用什么流程?因为同一个与非门,不同的元件库实现细节不同,MOS管细节可能差别很大。此外,我们还要考虑技术。这些技术的文件来自相关制造商(TSMC、CSMS等)。),这也是个人做不了后端的原因之一。3354因为你几乎不可能以自己的名义与TSMC讨论技术图书馆文件。毕竟作为一个没有钱和技术的初学者,你不可能自信的和几万人一样。仔细筛选后(大多数情况下,没有选择),确定你要用的流程。这个实验我用的是实验室学长改进的组件库和TSMC 0.18um工艺,EDA工具是Cadence IC 614。

7.经过一系列配置,“八位格雷码计数器”已经成为一个庞大的工程文件。我建议配置TCL脚本文件。那么可以执行RTL级合成。所谓的RTL级合成实际上是指将Verilog代码“改写”成合成工具(我用的是Encounter)可以识别的Verilog代码。总的来说,这类似于C语言把“文言文”翻译成“白话文”和“编译”,也就是把高级语言翻译成汇编代码。当然,理论上可以直接写RTL级代码,但是就像直接写汇编语言一样,复杂度不言而喻。

8.在RTL级合成完成后,RTL Verilog将被导入到真正的后端合成遇到。导入RTL码后,还需要解释标准单元库的LEF文件,定义电源和地的线名。这时候就需要一个MMMC config配置,过程比较复杂,主要是配置相关文件和设备状态(TT、ss、FF等。).

9.完成导入配置,接着是芯片版图设计,即布图规划。Floorplan需要设置一些基本的参数,比如芯片的长宽(面积),引脚留的空间,芯片的利用率等等。长宽比建议为0.2-5,复杂电路利用率为0.85,一般电路为0.90,简单电路为0.95。

10.功率计算,电力线排列的依据,主要是环形和条形。比如一个数字电路芯片的功耗是55mW,冗余增加到2倍左右,设计成100mW,电流按照1.8V大概是60mA也就是电源线总长度是60 U,如果每条线是10u,那么电源线就有6条,两边1条,中间4条。在遭遇战中有专门的接线配置器。接线后,可以先申请,再撤销重复尝试。

11.IO引脚的布局。如果IO没有提前导入,可以重新导入(TCL)或者自己调整。

12.前置,因为Verilog中往往有很多模块,每个模块对应一个布局模块。布局时要注意一些布局原则。一般只需要简单的拖拽就可以完成布局。“八位格雷码计数器”只有一个模块,所以不需要复杂的布局。

13.布局是一个不断修改和完善的过程。放置是在前置后进行,然后是后置。布局之后,需要时钟树综合(CTS)。时钟树综合的目的是使每一个信号在约束时间内传输到下一个顺序单元,否则会影响芯片的主频(主频是设计前设定的一个指标),然后在Post-CTS中进行不满足时钟约束的部分的布线调整。

14.布局后,布线,即路线。对于特殊布线,需要SRoute,然后进行后置处理。这些步骤在某种程度上是“点击按钮”和“匹配参数”,但是你在合成后端的时候一定要有清醒的头脑。您必须知道为什么需要这些按钮,以及需要配置哪些参数。

15.经过多次布局布线迭代,配置好IO引脚后,就可以填充整个画面,不用的区域可以覆盖各种金属层。单个“八位格雷码计数器”由于结构简单而具有较大的未覆盖面积。

16.至此,邂逅中的后端综合已经完成,GDSII格式的网表可以导出了。为了检查DRC和LVS,还需要将“网表”格式转换为原理图(电路原理图)。

17.将后端集成的GDSII文件导入Virtuoso。Virtuoso是一款模拟集成电路设计软件。将GDSII文件导入该软件有两个主要目的。首先可以在Virtuoso中做“后仿真”,验证概念芯片经过一系列后端集成工艺后是否能达到设计要求。此时,仿真已经考虑了延迟、电阻、功耗等实际问题。如果仿真出现问题,需要返工修改,必要时需要重新布置布局和布线。“后仿真”通过后,芯片应由DRC和LVS检查。DRC是检查是否符合所选工艺的要求,因为在实际情况下,有些理论值是不切实际的,比如太细的导线无法制作,栅极之间的距离太短可能导致短路,导线与各种金属层之间的电容会影响电路功能。LVS是比较版图和原理图之间的拓扑关系是否不一致。其次,可以方便以后设计数模混合芯片,因为模拟集成电路是直接在Virtuoso中实现的,最后可以将两者结合在一起设计数模混合集成电路。

18.检验后,您可以联系工艺供应商进行加工,如TSMC。一般处理需要跟上企业的业务流程。大约一个月后,芯片完成加工,然后进入测试阶段。焊接,测试,验证芯片指标,提出改进方案。

至此,一个数字集成电路从概念到实物的全过程已经完成,每一步都值得研究和回味。从第二个解码器到复杂的CPU,过程基本相同。经过一个学期的学习,我已经基本掌握了这个流程。今后我们会更加努力,在这个专业上继续前进,培养自己的核心竞争力。

设计 芯片 集成电路 文件 数字

版权声明:本文内容由互联网用户自发贡献,本站不承担相关法律责任.如有侵权/违法内容,本站将立刻删除。