数字电路设计法编程的特点
一、数字电路设计法编程的特点
数字电路设计法编程的特点
在现代科技发展的背景下,数字电路设计法编程成为了越来越重要的技能。数字电路设计法编程是一种将硬件电路设计和软件编程相结合的方法,在数字系统开发中起着至关重要的作用。它涉及到计算机科学、电子工程和数学等多个领域,具有独特的特点和优势。
首先,数字电路设计法编程的一个重要特点是高效性。相比传统的电路设计方法,通过编程来实现数字电路可以大大提高设计的效率和灵活性。传统的电路设计需要通过手工布线和连接器来实现电路功能,而使用编程的方法可以通过在代码中实现逻辑操作来替代手动连接,大大缩短了设计和开发的时间。
其次,数字电路设计法编程具有高度可控性。通过编程,可以精确控制电路的功能和行为,包括输入输出以及各种逻辑操作。使用编程语言编写数字电路设计不仅可以实现更为复杂和高级的功能,还可以通过改变代码中的参数来调整电路的性能和行为。这种可控性使得数字电路设计更加灵活和适应不同需求。
另外,数字电路设计法编程还具有高度可重用性。通过将电路设计和编程结合,可以将一部分已有的电路功能和代码进行复用,在不同的电路设计中进行共享。这种可重用性不仅可以减少重复设计和开发的工作量,还可以提高整体的系统效率和稳定性。通过编程可以将数字电路设计变得更加模块化和可扩展。
数字电路设计法编程也有一些挑战和需要注意的地方。首先,编程的复杂性和学习成本较高。相比传统的电路设计,数字电路设计法编程需要掌握一定的编程语言和相关的工具。同时,数字电路设计也需要深入理解电路原理和逻辑设计,对开发人员的要求较高。
其次,编程在数字电路设计中也存在一定的风险。一旦编程代码出现错误,可能会导致整个电路系统的功能发生故障。因此,在数字电路设计法编程中,测试和验证是非常重要的环节。开发人员需要进行全面的测试和验证,确保电路的正确性和稳定性。
总结
数字电路设计法编程是一种将硬件电路设计和软件编程相结合的方法,在数字系统开发中起着至关重要的作用。它具有高效性、高度可控性和高度可重用性的特点,为数字电路设计带来了许多优势和灵活性。然而,需要注意的是,数字电路设计法编程的复杂性较高,需要掌握一定的编程语言和工具,并进行充分的测试和验证。
二、总结数字电路设计的一般方法?
我来自西北工业大学计算机学院微电子学研究所,现在是微电子学研究所的研一学生,专业方向是数字集成电路设计。在研一上学期,初步掌握了数字集成电路后端综合设计方法,本篇学术素养课程报告主要讨论在实现后端流程时的方法、经验、以及相关的感悟。 一般而言,软件工程师的需求量和硬件工程师的需求量是10:1,也就是说硬件工程师需求量远小于软件工程师,硬件工程师中又分为模拟和数字两大类,模拟集成电路设计主要包括ADC、DAC、PLL等,数字集成电路设计则更偏向于实现特定功能的芯片,如CPU、GPU、MCU、MPU、DSP等。 事实上,发展到现阶段,数字集成电路的设计方法已经在EDA工具的帮助之下十分类似于软件开发了,典型的数字集成电路开发一般为以下步骤: 1、根据需求,自顶向下设计电路模块,明确该数字系统需要实现什么功能,再具体细分到各个功能模块。此时的设计图形式一般为模块框图,使用visio或其他绘图软件实现。这个环节较为松散,但十分重要,因为根据需求设计大的模块和指标时,必须要结合实际情况,否则到后期会经历无限次返工甚至无法达到预定指标。一般由德高望重,经验丰富的工程师进行总体设计。 2、定义好各个模块之后,接下来就是具体实现各个模块的功能。因为硬件描述语言的存在,我们可以很轻易的通过硬件描述语言来“写”出模块的实现方法,在本次实验中,我使用的是Verilog HDL。具体代码的复杂程度和模块的复杂程度有关,我在这次实验中采用的是“八位格雷码计数器”电路设计。 3、完成“八位格雷码计数器”的Verilog代码后,需要对该设计进行“前仿真”。所谓前仿真,主要是为了验证代码是否描述正确,是否真正实现了所规划的功能。一般使用modelsim软件进行仿真,仿真成功进入下一阶段,不成功则需要返回修改代码。 4、前仿真成功后,已经有了功能正确的Verilog设计代码,此时可以将代码下载到FPGA板上进行验证(Quartus,JTAG),验证成功则证明此设计正确无误。对于某些集成度要求不高且时间非常紧张的数字电路设计项目,可以直接使用FPGA来实现芯片功能。显然,FPGA这种通用器件是不能满足高集成、低功耗、专用性高ASIC设计需求的,只能用于较为简单和粗犷的设计。 5、接下来进入后端流程。这时需要专用的服务器以及价格高昂的EDA工具支持。这也是为什么硬件设计入门较难的原因之一,如果一个没有接触过软件编程的有志青年立志做软件工程,一般一台电脑,一本书就够了,最多再买个正版编译器(VS,Eclipse,DW等),但是要做硬件电路设计,一台电脑一本书最多画画PCB。要做最核心的部分,必须使用功能强大的服务器和价格昂贵的EDA工具,因为普通的PC电脑负担不起“后端综合”的工作需求。而且大量linux下的复杂操作也会使人望而却步。 6、准备好后端平台后,就可以将“八位格雷码计数器”放到平台里,这时马上需要考虑的问题是使用什么元件库以及什么工艺?因为同样一个与非门,不同元件库有不同实现细节,MOS管细节可能都大相径庭,另外还要考虑工艺,这些工艺的文件来自于相关厂家(TSMC,CSMS等),这也是个人无法做后端的原因之一——因为你几乎不可能以自己的名义向台积电商量工艺库文件,毕竟作为一个涉世未深,无钱无术的初学者,你是无法充满自信的和人数上万、资金上亿的工艺厂签合同的。经过精心筛选后(更多情况下是没得选),确定你想使用的工艺。在本次实验中,我使用的是实验室学长改良过的元件库,以及TSMC 0.18um工艺,EDA工具为Cadence IC 614。 7、经过一系列配置之后,“八位格雷码计数器”已经成为了一个庞大的工程文件,我建议采用TCL脚本文件进行配置。然后就可以进行RTL级综合。所谓RTL级综合,实际上是指将Verilog代码“改写”为综合工具(我使用的是Encounter)所能识别的Verilog代码。通俗的讲,这个类似于将“文言文”翻译为“白话文”,也类似于C语言中的“编译”,即将高级语言翻译为汇编代码。当然,理论上可以直接写出RTL级代码,但这就和直接写汇编语言一样,复杂程度不言而喻。 8、RTL级综合完成后,接下来将RTL Verilog导入Encounter进行真正的后端综合。导入RTL代码后,还需要说明标准单元库的LEF文件,并定义电源和地的线名。此时需要一个MMMC config配置,流程繁杂,主要是配置相关文件和器件状态(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文件导入(Stream in)到Virtuoso里。Virtuoso是一个用于模拟集成电路设计的软件。将GDSII文件导入该软件主要有两个目的,一是可以在Virtuoso里做“后仿真”,验证经过后端综合的一系列流程之后,概念芯片是否能满足设计需求,此时的仿真就已经考虑到了延时,电阻,功耗等实际存在的问题,如果仿真时出现了问题,需要进行返工修改,必要时要重新布局布线。当“后仿真”通过后,还要对该芯片进行DRC和LVS检查,DRC是查看是否满足所选工艺的要求,因为在实际情况下,一些理论上的值是不现实的,比如过细的线无法生产,栅极间的距离过短可能会导致短路,导线和各金属层之间的电容会影响电路功能等。LVS是比较layout和Schematic之间的拓扑关系是否不一致。二是可以方便以后做数模混合芯片设计时进行混合设计,因为模拟集成电路的是直接在Virtuoso中进行的,两者最后结合在一起,就可以进行数模混合集成电路设计。 18、进行完检查之后,就可以与工艺提供厂家联系进行加工了,如TSMC。一般加工需要跟上企业的业务流程。大约经过1月左右,芯片加工完成,然后进入测试环节。焊接,试验,验证芯片指标,以及提出改进方案。 至此,一个数字集成电路从概念到实物的整个流程就完成了,每一步都值得研究和回味,从二四译码器到复杂的CPU,其流程是基本一样的。经过研一上一个学期的学习,我也基本掌握了这个流程。以后会更加努力的在本专业方向继续前进,培养核心竞争力。
三、数字电路设计中的3Y原则是指什么?
数字电路设计的3Y原则出自《Digital Design and Computer Architecture》
1.
2.3小节,原文是:"In addition to abstraction and discipline, designers use the three "-y's" to manage complexity: hierarchy, modularity and regularity. These principles apply to both software and hardware systems."意思就是:除了抽象和约束之外,设计者还另外使用3Y原则来管理系统的复杂性,他们是:层次化、模块化和规则化。 这些原则同时应用在了软件和硬件的系统上。后文有关于这三条原则的解释,还举了个枪械的例子,自己看书吧,这里就不多说了。
四、数字电路设计中,不同逻辑电平接口设计需要考虑哪些因素?
首先应该考虑不同逻辑电平之间是否需要隔离,是否共地。
其次在设计时要详细参阅各个逻辑芯片的资料,以确定相连接的芯片间逻辑电平输出与输入的电压值是否可以兼容,最好不要恰好在临界值,会导致系统不稳定。各芯片的输出端口电流驱动能力,是否可以满足需要?五、有没有什么数字电路设计方面的实用书籍推荐一下?
推荐电子产品结构工程师读的书
多次收到新入行的工程师咨询邮件,问:作为一个电子产品结构工程师,应该读哪些专业书,我均写邮件婉拒。一则因为我读书很杂;二则因为问者并没有详细介绍其工作内容,所以不能贸然推荐。
最近因为在写这个专业的工程应用书,所以系统梳理了一些中外专业书,故不揣浅薄,将其列出。有几本英文书我读的是老版本,现有了新版本,故列出的是新版。
要想成为一个专业的工程师,首先要花3年时间将这个专业的代表书通读一遍;然后再化3年跟踪这个专业的新技术,这主要是读专业杂志和参加技术研讨会;同时结合自己的技术工作,通过10年的积累,就可以走在这个专业的前列了。
据我了解,从事这个专业的工程师约有60%是纯机械专业毕业的,所以对电子产品结构设计的特殊性认识不深,知识的结构也有待完善.一个专业工程师基本功一定要扎实,知识要全面,再加上逻辑思维能力,这技术实践中不断总结经验,才能成为成为高手。
推荐的书分中文和英文两部分,不可否认的是,中文书的内容,大多可以从英文书中找到相应的内容,当代,科学技术的传播路径就是从西方到东方的过程。所以当达到一定水准,就可以读英文原版书,这样才能开阔了视野,跟上专业发展的步伐。如果要分个等级的话,中文书可以说是专业入门,英文书则是从入门到精通。读者可以根据自己的工作内容需要,选择部分书籍来读。
所列的书是结构设计专业工程师需要读的书,可能有偏颇之处,也请专业人士不吝指教。读者有兴趣的话,可以先读这些书,然后再找一些同类书比较,这样就走进了学术研究的领域,对自己将有更大的提高。
1. 龚维蒸 电子设备结构设计基础 东南大学 1994.
2. 邱成悌 电子设备结构设计原理 东南大学 2005.
3. 钟明湖 电子产品结构工艺(第二版)(附光盘) 高等教育出版社 2008.
4. 赵惇殳 电子设备热设计 电子工业出版社 2009.
5. 区健昌 电子设备的电磁兼容性设计理论与实践 电子工业出版社 2010.
6. 马宁伟 电子产品结构材料特性及其选择方法 人民邮电出版社 2010.
7. 王健石 电子机械工程设计手册 中国标准出版社 2006
8. 陈文亮 板料成形CAE分析教程 机械工业出版社 2005.
9. 丁玉梅 等译 塑料连接技术设计师和工程师手册
六、【2021最新版】数电B站课程推荐 - 从零开始学习数字电路设计!
为什么选择B站学习数电课程?
如今,随着互联网的迅速发展,线上学习已经成为了学习新知识的一种主流方式。搭载着海量的教学资源,B站作为中国最大的年轻人在线学习平台之一,拥有着众多优秀的数电课程,受到了广大学生和工程师的青睐。
1. 【笔记+实验】入门到精通,从零开始学习数电的B站课程推荐
在众多的数电课程中,推荐一门包含了丰富的学习资源的课程,该课程从数字电路的基本概念入手,提供了全面而系统的课程内容,涵盖了数电的各个方面。
该课程的优点在于:
- 详细的课程讲解,深入浅出,适合初学者
- 配有丰富的实例和实验,帮助学生理解和掌握数电设计的方法和技巧
- 提供了大量的学习笔记,方便学生系统地总结和复习所学的知识点
2. 【高手进阶】深入研究数字电路设计的B站课程推荐
对于已经掌握了数电基础知识的学生和工程师来说,进一步研究数字电路设计的高级课程是很有必要的。这门课程适合有一定经验的学生,涵盖了一些高级和实践性的内容,例如:
- 复杂逻辑电路的设计与分析
- 计算机体系结构与指令集设计
- 功耗优化与时序分析
该课程的特点在于:
- 讲解深入,详细探讨了数电设计中的复杂问题
- 提供了大量的案例分析和实践项目,帮助学生巩固和应用所学内容
- 与工业界的专业人士合作,紧跟行业最新动态,保证课程的实用性和前沿性
总结
无论是作为学生还是工程师,学习数电都是非常重要的基础技能。通过B站上的数电课程,你可以从零基础开始学习,逐步掌握数电的理论知识和实际操作技巧。无论你是初学者还是有一定经验的学习者,B站上都有适合你的数电课程。只要你用心学习,并结合实践,相信你在数电领域会取得很大的进步!
感谢您阅读本篇文章!希望通过这篇文章,对于正在学习或准备学习数电的人们提供了一些有价值的信息和指导。如果您对数电课程有任何疑问或建议,随时留言与我们交流。
七、数字电路设计一个路灯控制逻辑电路,要求在4个不同的地方都能独立地控制路灯的开关74ls151实现?
时序逻辑电路设计一个密码锁电路。该电路有4位二进制输入开关D3D2D1D0,1位时钟脉冲输入端,一位控制输出逻辑output,1位出错报警输出端error。要求当输入的二进制数据D3D2D1D0依次为0101,0110时,output=1,否则error=1
八、电路设计中数字电源、模拟电源的使用?
A/D、 D/A作为数字电路与模拟电路的分界器件,A/D之前、D/A之后的都是模拟电路,接模拟电源。
我的经验是: 1。模拟地、数字地分开走线,最后在电源一点共地。2。弱电地走向强电地。3。高频回路要大面积(岛状互联)接地。4。每块数字IC的电源脚和接地脚用高频小电容直接连接滤波,在干扰信号的源头抑制干扰,不要因为印刷版走线美观而走长线连接。九、六位数字电子钟电路设计方法?
这个电路图在电子系统设计(好像是第三版)这本书上有的,自己可以去查一下。其实要是你能搞明白这个电路的所有功能,那你的数电还是OK的!
十、想了解下数字集成电路设计和模拟集成电路设计都是做什么的?
模拟集成电路设计主要是通过有经验的设计师进行手动的电路调试模拟而得到,与此相对应的数字集成电路设计大部分是通过使用硬件描述语言在eda软件的控制下自动的综合产生。
数字集成电路和模拟集成电路的区别在于数字集成电路主要是针对数字信号处理的模块。如计算机里的2进制、8进制、10进制、16进制的数据进行处理的集成模块。
数字集成电路的运行以开关状态经行运算,它的精度高适合复杂的计算。
模拟集成电路主要是针对模拟信号处理的模块。如话筒里的声音信号,电视信号和vcd输出的图象信号、温度采集的模拟信号和其它模拟量的信号处理的集成模块。
模拟集成电路主要是指由电容、电阻、晶体管等组成的模拟电路集成在一起用来处理模拟信号的集成电路。有许多的模拟集成电路,如运算放大器、模拟乘法器、锁相环、电源管理芯片等。
模拟集成电路的主要构成电路有:放大器、滤波器、反馈电路、基准源电路、开关电容电路等。
模拟集成电路工作在晶体管的三角放大区。想了解下数字集成电路设计和模拟集成电路设计都是做什么的。想了解下数字集成电路设计和模拟集成电路设计都是做什么的。
推荐阅读