当前位置:首页 > 嵌入式 > 嵌入式硬件

我认为IC设计流程按照功能和应用场合不同大致可以划分为三个部分进行介绍,分别是数字IC、模拟IC和FPGA。这三者之间既有相同点又有相异点。在进行设计时,所使用的软件工具也有相同和不同的。
1、数字ASIC设计流程前端到后端使用工具
通用型数字ASIC(从上到下)
在验证算法时一般使用C语言或者verilog来对系统算法进行建模,使用行为级描述来对算法功能的正确与否进行仿真。一般比较常用的方法是使用C语言在Matlab软件环境下进行算法验证。

算法验证完成之后,需要进行的工作就是将算法转化为对应的行为级或者寄存器传输级描述,并且对其进行功能仿真验证。在该阶段可以使用的工具有很多,常用的 有Active—HDL、Mentor的Modelsim系列软件和QuestaSim系列(前者使用三个核进行仿真,后者使用一个核,因此后者可以对不 同语言环境下的描述进行混合仿真)。

完成功能仿真之后需要进行的工作就是根据foundry提供的标准数字单元工艺库,对前面得到的表述一定功能的代码进行综合,得到代码对应的由标准单元库中的门电路组成的实际电路映射。在综合的过程中,要根据设计规范来制定各种约束以使综合得到的电路映射能够满足设计的要求,同时也要注意综合报告中所给出的违反约束的各个信息,并且利用这些信息来修改代码或者算法。在综合的过程中使用的工具最主要是Synopsys的DC和PC。

做完综合之后,利用综合得到的实际电路映射、时序约束与foundry提供的与版图有关的工艺库就可以进行自动布局布线的操做了。此时常用的软件有Synopsys的ASTRO和Cadence的Se工具。

自动布局布线完成后就可以根据产生的版图文件信息提取寄生参数来进行包含寄生参数与互联延迟的后仿真了。一般常用的寄生参数提取工具有AVANTI的 STAR-RC和Cadence的DRECULA或Diva,两者都需要将自动布局布线得到的版图和工艺库文件导入软件中进行寄生参数提取。 Cadence的软件还可以通过导入版图,来对自动布局布线得到的版图中不满意的地方进行修补。

寄生参数提取结束后将得到的寄生参数信息与自动布局布线得到的网表导入PT进行包含寄生参数的时序参数提取,然后利用所提取的时序参数在底层网表中反标进 行后仿真,观察后仿真的时序是否满足设计规范的要求。如果满足则设计基本完成,不满足还需要进行迭代修改。产生反标需要的时序文件的软件是PT,而将时序 反标文件反标回综合后的网表并且进行后仿真的软件比较多,比如Modelsim和Nclaunch(NC主要针对大型系统,而Modelsim则主要是针 对小的设计,因为前者的工作平台是工作站后者是PC)。

全定制数字Asic或者混合信号ASIC(从下到上与从上到下结合)
当需要制作全定制的数字芯片时,传统的从上到下的设计流程就不完全奏效了。其中最大的不同就是全定制芯片为了实现更小的体积与功耗,更高的集成度将可能不采用厂家提供的标准数字单元库而是通过与foundry沟通自己设计满足自己需要的工艺库。比如Xilinx的FPGA芯片的设计采用的就是全定制的设计方法。

对于全定制设计而言,也需要采用算法验证、功能描述与仿真验证、综合、寄生参数提取与后仿真的过程,但是相对通用型Asic的设计而言,在做后仿真时全定 制可以使用模拟仿真的方法进行后仿真而不需要进行时序反标的过程,因为在设计全定制Asic时使用的不是foundry提供的标准数字工艺库而是根据设计 需要自己设计的数字工艺库。因此对于全定制的Asic设计而言,它的后仿真需要采用foundry提供的标准模拟库,由于不使用时序的反标而采用模拟仿真 的方法后仿真得到最终版图对应信息,因此耗时可能比设计通用型的Asic更长。

全定制设计流程的使用软件有,算法验证与功能仿真的软件同通用型使用的基本相同。但是在综合这一步就不太一样了,对于全定制的设计而言一般在设计时采用 Cadence的软件比较多,因为全定制设计更象模拟电路设计。在综合这一步之前先要根据设计规范对每个模块进行时序与功耗的分配,并且最好能够细化到每 个门级电路。然后根据要求来构建设计所需要的设计者需要的单元库。因为全定制的ic综合这一步更象是利用设计者自己定义的库来搭积木的过程,人为的控制因 素与经验也更加重要,在这里良好的布局可以使搭出的电路效率更高。

在这里可以先使用cadence的 版图与电路图输入工具Virtuoso来根据设计规范的要求构建建立在单管基础上的基本单元库,然后再根据已经验证的算法和功能描述,利用所构建的基本单 元库来得到整个芯片的电路图布局结构,最后根据芯片内各个信号的关系来进行电路布线的操作。以上的操作都可以在Cadence的IC 5.1集成设计环境下的Virtuoso中完成,当完成布局布线后全定制Asic的版图基本就确定了,然后根据基于基本单元库所对应版图的全芯片电路来搭 建全芯片电路对应的全芯片版图。此时可以利用Cadence的Diva或者Drucla工具进行DRC、ERC、LVS检查,并且可以根据版图利用上述工 具进行参数提取。然后将提取得到的参数与搭建全芯片时所得到的全芯片网表或者全芯片电路进行后仿真。如果在后仿真时不想使用Cadence或者系统太大仿 真不了时,可以使用Hsim进行仿真。Hsim在使用时需要根据版图提取寄生参数和全芯片电路基于基本单元库的网表。(还有不详细的地方,回来需要具体再 阐述下)。

在进行通用型数字Asic设计时需要注意代码的风格,因为代码风格的好坏直接影响到综合软件的效果,风格规范的代码可以得到性能更高的芯片电路。另外,在写代码时还要注意尽量使用可综合的代码和能够避免系统出现毛刺与亚稳态的电路描述方法。

在进行全定制数字Asic设计时一定要注意单元库的建立,在建立时除了满足基本的逻辑功能外还要注意宽长比与所构造单元的功耗和延迟之间的关系,最好能够 建立基于verilog和电路图等多种不同表达方式的电路结构。这样便于后面的进一步分析与仿真。另外,在全定制数字IC设计中经常会把数字电路当成模拟 电路来分析功耗与延迟,所以可以使用模数混合的方法来对所设计的基于自建单元库的电路进行仿真,从而可以相对全电路模拟仿真大幅度提高仿真的速度,相对全 电路数字仿真得到更精确的延时信息。不过对于功耗的仿真还是只能使用全电路的模拟仿真。最为重要的一点是通用型数字IC的版图布局可以利用软件实现自动 化,而全定制则更多的依靠有经验的版图设计师来实现。

以上是数字IC部分的,一点个人的看法与大家共同研究,欢迎各位达人指出错误与不足的地方!!

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

现在有许多PCB不再是单一功能电路(数字或模拟电路),而是由数字电路和模拟电路混合构成的。因此在布线时就需要考虑它们之间互相干扰问题,特别是地线上的噪音干扰。

关键字: 数字 模拟电路

为增进大家对嵌入式的认识,本文将对嵌入式开发以及学习嵌入式需要注意的事项予以介绍。

关键字: 嵌入式 指数 嵌入式开发

中国上海,2025年4月7日 — 全球领先的嵌入式系统开发软件解决方案供应商IAR正式发布全新云就绪平台,为嵌入式开发团队提供企业级的可扩展性、安全性和自动化能力。该平台于在德国纽伦堡举办的embedded world...

关键字: 自动化 嵌入式开发 RISC-V

在嵌入式系统开发领域,VS Code(Visual Studio Code)作为一款轻量级但功能强大的代码编辑器,正逐渐成为开发者的首选工具。本文将详细介绍如何在VS Code上搭建嵌入式开发环境,并分享一些调试技巧。

关键字: VS Code 嵌入式开发

随着汽车电子化、智能化程度的不断提高,车载以太网(Automotive Ethernet)作为新一代车载网络通信技术,正逐渐成为汽车内部通信的主干网络。它以其高带宽、低延迟和强抗干扰能力,为汽车提供了更加高效、可靠的数据...

关键字: 车载以太网 嵌入式开发

随着物联网技术的飞速发展,嵌入式系统对实时性、低功耗和可扩展性的要求越来越高。Zephyr RTOS(实时操作系统)作为一款专为资源受限设备设计的开源RTOS,凭借其轻量级、模块化和高可扩展性,在嵌入式开发领域得到了广泛...

关键字: 嵌入式开发 Zephyr RTOS 物联网

嵌入式开发,作为电子工程和计算机科学交叉领域的重要分支,对于构建稳定、高效的软件系统提出了独特挑战。本文将深入探讨嵌入式开发的可靠方法论,结合实例与代码,为开发者提供一套系统化的指导原则。

关键字: 嵌入式开发 计算机科学

嵌入式开发,作为电子工程和计算机科学的交汇点,对软件系统的稳定性和效率提出了极高的要求。本文将结合具体案例,深入探讨嵌入式开发中的可靠方法论,为开发者提供一套系统化的指导原则。

关键字: 嵌入式开发 智能家居

在科技日新月异的今天,嵌入式开发作为连接硬件与软件的桥梁,在物联网、智能设备、工业自动化等领域扮演着至关重要的角色。对于许多技术爱好者而言,自学嵌入式开发既是一个充满魅力的挑战,也是一条通往创新实践的必由之路。然而,这条...

关键字: 嵌入式开发 物联网

在科技日新月异的今天,嵌入式开发与Java开发作为软件开发领域的两大重要分支,各自展现出了独特的发展轨迹和市场前景。近年来,关于嵌入式开发是否会像Java开发一样“卷”的讨论日益增多,这背后既反映了市场对技术趋势的敏锐洞...

关键字: 嵌入式开发 Java开发
关闭