芯片设计流程


        VLSI 代表超大规模集成(Very Large Scale Integration),这是一种通过将数百万个晶体管集成到单个芯片中来创建集成电路 (IC) 的技术。超大规模集成电路技术可以生产出紧凑、功能强大且低成本的微处理器、存储芯片、数字信号处理器和其他先进电子设备,这彻底地改变了电子行业。

        截至2020年,超大规模集成电路技术的集成规模已达到纳米级工艺,特征尺寸在7-5纳米量级,允许在单个芯片上集成数十亿个晶体管。最新的处理器和集成电路采用 7 纳米和 5 纳米工艺节点制造,可实现更高的性能和功效。


什么是 ASIC?

        ASIC(Application Specific Integrated Circuit,专用集成电路)是一种旨在实现特定任务或功能的集成电路(IC)。与微处理器和存储芯片等通用 IC 不同,它是针对特定应用而定制的。

        ASIC 通常用于需要满足特定处理要求的高性能应用,例如网络、通信和消费电子产品。ASIC 是针对特定客户或应用而设计和制造的,它可以在单个芯片上集成数字、模拟和混合信号组件。


芯片设计流程

        典型的设计流程遵循如下所示的结构,可以分为多个步骤。其中一些阶段是并行发生的,还有一些阶段是顺序发生的。接下来我们将了解当今行业中典型的项目设计周期。

需求(Requirements)

        半导体公司的客户通常是计划在其系统或最终产品中使用该芯片的其他公司。因此,客户的要求在决定如何设计芯片方面也发挥着重要作用。理所当然的,第一步就是收集需求,估计最终产品的市场价值,并评估完成该项目所需的资源数量。

规范(Specifications)

        下一步将是收集规范----抽象地描述要设计的芯片的功能、接口和整体架构。类似这样的:

  • 需要算力来运行图像算法以支持虚拟现实
  • 需要两个具有一致性互连的 ARM A53 处理器,并且以600 MHz 的速度运行
  • 需要 USB 3.0、蓝牙和 PCIe 第二代接口
  • 应通过适当的控制器支持 1920x1080 像素显示

架构(Architecture)

        现在,架构师提出了芯片如何运行的系统级视图。他们将决定需要哪些其他组件、系统应该运行在时钟频率以及如何满足功耗和性能要求。他们还决定数据如何在芯片内流动,一个例子是处理器从系统 RAM 获取成像数据并执行它们。同时,图形引擎将执行转储到另一部分内存中的上一批数据的后处理数据,等等。

数字化设计(Digital Design)

        由于现代芯片的复杂性,不可能从头开始构建某些组件,在许多情况下,许多组件都将被重复利用。假设 X 公司需要FlexCAN 模块来与汽车中的其他模块交互。他们可以从另一家公司购买 FlexCAN 设计以节省时间和精力,也可以花费资源自行构建一个。同样的,使用触发器和 CMOS 晶体管等基本组件来设计这样的系统也是不切实际的。相反,使用Verilog 或 VHDL 等硬件描述语言开发行为描述来分析功能、性能和其他高级问题的设计。这通常由类似于具备数字电子技能的高级计算机程序员的数字设计师完成。

验证(Verification,前仿真)

        RTL 设计准备就绪后,就需要验证其功能的正确性。例如,DSP 处理器预计会发出总线事务以从内存中获取指令,但我们如何知道这是否会按预期发生?因此,这个阶段就需要进行功能验证,这是在能够对设计进行建模并对其应用不同的测试激励的EDA 仿真工具的帮助下完成的。这是流片前验证工程师的工作。

        为了节省时间并实现功能收敛,设计和验证团队一般是并行运作,设计人员“发布”RTL 版本,验证团队开发测试平台环境和测试用例来测试该 RTL 版本的功能。如果这些测试中的任何一个失败,则可能表明设计存在问题,并且该设计元素上将出现“BUG”。设计团队必须在下一版本的 RTL 版本中修复此错误。这个过程一直持续到对设计的功能正确性有足够的信心为止。 


逻辑综合(Logic Synthesis)

        现在我们对设计感到满意,所以是时候将其转换为具有组合门电路和触发器等真实元素的硬件原理图了。此步骤称为综合(Synthesis)。逻辑综合工具能够将 HDL 中的 RTL 描述转换为门级网表。该网表只不过是根据门电路及其之间的连接对电路进行的描述。它可能看起来像:

        逻辑综合工具确保网表满足时序、面积和功耗规范。通常,他们可以访问不同的技术节点流程和数字元件库,并可以进行智能计算以满足所有这些不同的标准。这些库是从半导体工厂获得的,可以提供不同组件的数据特性,例如触发器的上升/下降时间、组合门的输入-输出时间等。

逻辑等价(Logic Equivalence)

        然后检查门级网表与 RTL 的逻辑等效性,有时会执行“门级验证”,再次对某些元素进行验证,不同之处在于这次是在门级并且处于较低的抽象层级。由于此阶段的设计涉及大量元素以及反向注释的延迟信息,因此仿真时间往往会变慢。

布局布线(Placement and Routing)

        然后将网表输入到物理设计流程中,在 EDA 工具的帮助下完成自动布局布线(APR 或 PnR)。Cadence Encounter 和Synopsys IC Compiler 就是此类工具的一个很好的例子。这将选择标准单元并将其放置到行中,定义输入输出的球图,创建不同的金属层,并放置Buffer以满足时序要求。一旦完成此过程,就会生成layout,然后发出去制造。此阶段通常由熟悉技术节点和物理实现细节的物理设计团队处理。

确认(Validation,后仿真)

        事情还没有结束。样品芯片将由同一家半导体公司制造,或发送给台积电或格罗方德等第三方代工厂。该示例现在正在经历流片后验证过程,其中另一个工程师团队在测试仪上运行不同的模式。流片后验证比流片前验证要困难得多,因为芯片内部节点的可见性水平大大降低了。此外,一百万个时钟周期将在一秒钟内完成,并且追溯错误的确切时间将非常耗时。如果在此阶段发现任何实际问题或设计错误,则必须在 RTL 中修复、重新验证,并且必须执行此后的所有步骤。

        尽管设计流程中有多个步骤,但许多设计活动通常集中在电路 RTL 描述的优化和验证上。需要注意的是,虽然 EDA 工具可用于自动化流程,但使用不当会导致设计效率低下,因此设计人员必须在设计过程中做出选择。


  • 📣您有任何问题,都可以在评论区和我交流📃!
  • 📣本文由 孤独的单刀 原创,首发于CSDN平台🐵,博客主页:wuzhikai.blog.csdn.net
  • 📣您的支持是我持续创作的最大动力!如果本文对您有帮助,还请多多点赞👍、评论💬和收藏⭐!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/109368.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

人脸识别三部曲

人脸识别三部曲 首先看目录结构图像信息采集 采集图片.py模型训练 训练模型.py人脸识别 人脸识别.py效果 首先看目录结构 引用文121本 opencv │ 采集图片.py │ 训练模型.py │ 人脸识别.py │ └───trainer │ │ trainer.yml │ └───data │ └──…

React总结1

3 React技术 React是Facebook于2013年开源的框架。React解决的是前端MVC框架中的View视图层的问题。 3.1 Virtual DOM* DOM(文档对象模型Document Object Model) 将网页内所有内容映射到一棵树型结构的层级对象模型上,浏览器提供对DOM的支…

62、SpringBoot 使用RestTemplate 整合第三方 RESTful 服务

这节的要点: 就是弄两个项目 , 从 端口9090 这个项目,通过 restTemplate, 去访问 端口8080 的项目,并获取8080项目的数据。 ★ RESTful服务包含两方面的含义 1. 自己的应用要暴露一些功能供别人来调用。此时我们是服…

Linux基本认识

一、Linux基本概念 Linux 内核最初只是由芬兰人林纳斯托瓦兹(Linus Torvalds)在赫尔辛基大学上学时出于个人爱好而编写的。 Linux 是一套免费使用和自由传播的类 Unix 操作系统,是一个基于 POSIX 和 UNIX 的多用户、多任务、支持多线程和多…

摄像头:输出图像YUV格式理论知识

本篇文章主要记录一下camera2输出摄像头的编码格式,及数据之间转换。本文章参考链接: https://blog.csdn.net/qq_39312146/article/details/129252235。 http://www.360doc.com/content/21/0522/14/17136639_978452591.shtml 只为了记录使用。 一、Came…

管理方法论:5. 团队发展的阶段模型——调整管理策略

概念 布鲁斯塔克曼(Bruce Tuckman)提出团队发展阶段模型。 团队发展的五个阶段是:组建期(Forming)、激荡期(Storming)、规范期(Norming)、执行期(Performing)和休整期&…

使用凌鲨进行聚合搜索

作为研发人员,我们经常需要在多个来源之间查找信息,以便进行研发工作。除了常用的搜索引擎如百度和必应之外,我们还需要查阅各种代码文档和依赖包等资源。这些资源通常分散在各个网站和文档库中,需要花费一定的时间和精力才能找到…

C++之生成详细汇编代码(二百一十六)

简介: CSDN博客专家,专注Android/Linux系统,分享多mic语音方案、音视频、编解码等技术,与大家一起成长! 优质专栏:Audio工程师进阶系列【原创干货持续更新中……】🚀 人生格言: 人生…

前端JavaScript修饰器:简化代码,增强功能

​ 🎬 岸边的风:个人主页 🔥 个人专栏 :《 VUE 》 《 javaScript 》 ⛺️ 生活的理想,就是为了理想的生活 ! ​ 目录 引言 1. 修饰器简介 2. 修饰器语法 3. 类修饰器 应用场景 示例代码 4. 方法修饰器 应用场景 示例代码 5. 属性…

webpack实战:最新QQ音乐sign参数加密分析

文章目录 1. 写在前面2. 接口抓包分析3. 扣webpack代码4. 补浏览器环境5. 验证加密结果 1. 写在前面 现在!很多的网站使用Webpack加载和处理JS文件。所以对于使用了Webpack加载的JS代码,一旦它们被打包并在浏览器中执行,通常是难以直接阅读和…

CSS预编译:提升样式开发效率与可维护性的关键工具

💂 个人网站:【工具大全】【游戏大全】【神级源码资源网】🤟 前端学习课程:👉【28个案例趣学前端】【400个JS面试题】💅 寻找学习交流、摸鱼划水的小伙伴,请点击【摸鱼学习交流群】 引言 CSS预编译是一项前…

AMEYA360详解芯力特SIT1145AQ收发器芯片CAN FD Passive功能详解

01CAN FD Passive功能说明 芯力特在SIT1145AQ/FD版本中加入了CAN FD Passive功能,CAN FD Passive功能简单来说就是SIT1145AQ/FD在休眠或待机模式下屏蔽总线上的CAN FD报文。 为什么需要CAN FD Passive功能呢? SIT1145AQ的特定帧唤醒只支持CAN报文,当SIT…