IC设计简单概述

IC设计行业是一个高科技行业,有着复杂而细致的分工,严格的流程规范、多种不同类型的EDA工具。下面简单概述以下几个方面。

IC设计公司的分类

IC设计公司有多种分类方法。若按有无芯片生产能力来分,可以分为兼具设计与生产能力(Integrated Design and Manufacture,IDM)的企业和只有设计能力,找专门工厂进行生产(Fabless)的企业两大类。
历史上最早出现的第一类企业,当时芯片仅仅是印刷电路板的微缩版本,生产和设计分工并不明确。随着芯片技术的发展,设计和生产逐渐分离,并各自按照不同的技术路线发展演进。
以台积电为代表,开启了芯片“代工”的新模式,即代替设计公司生产芯片的模式。只要设计公司提供规定规格格式的设计文件,代工厂就能够生产出他们想要的芯片。这种代工厂称为 Foundry。芯片代工厂的成立,让那些资金较少但又有芯片设计需求的企业和个人成立专门的设计公司,从而形成了当前的“设计公司+代工厂”模式。就如当年“微软+IBM”的商业联合力压苹果,占据了个人计算机的大部分份额。韩国三星电子属于IDM公司,但它除了满足自己的需求外,偶尔也做代工,苹果设计的手机芯片有一部分由台积电代工,另一部分由三星代工。Intel、TI、ST等国外大厂都是IDM公司,但由于生产技术的强保密性,一些企业的生产技术、加工精度已相对落后,不在属于芯片制造的第一梯队。

数字IC设计流程

只关注设计流程的主干部分,则可以看出主要分为3步。第1步由数字IC设计工程师编写电路设计文件,该文件常用verilog设计语言描述,实际上就是一个文本文件,称为寄存器传输层(Register Transfer Level,RTL)设计文件。第2步将RTL文件输入至综合工具,被工具转换为实际电子元器件的连接,称为综合(Synthesis),输出称为网表,也属于存文本的。第3步将综合网表输入后端布局布线工具中,该工具能将文本形式的网表文件变为实际电路提,类似于常见的PCB图,称为版图(Layout)。版图的绘制主要包含2个问题:1个是元器件如何摆放,即,布局问题(Place),第2个是元器件如何连接,即布线问题(Route)。版图为Foundry 能够识别的通用格式,根据它来制造芯片。制造芯片的过程称为流片,有设计厂将版图交付给Foundry的行为称为交付流片。
数字IC设计流程
验证和验收(SignOff)负责对设计质量进行把控和最终验收。数字前端设计完之后,将RTL设计文件提交给数字验证,用以确定设计的正确性和合理性。对RTL设计文件的验证和仿真称为前仿,即,版图成形前的仿真。在验证过程中,由验证人员编写的测试平台(Testbench)文件是对实际应用环境的仿真。当后端完成版图设计后,还要经过时序和功耗检查,只有合格后才能交付给Foundry,这种检查叫做SignOff检查。若检查不通过,首先是数字后端工程师自己努力,重新绘制版图或微调元器件位置,若无法达到目的,则再修改综合策略,重新综合,并绘制版图,若仍无法达到目的,要反馈到前端IC设计,在RTL上进行调整。在SignOff合格后,需要将最终网表和延迟信息提供给验证人员,进行后仿。所谓后仿,即,版图成形后的仿真。
可测性设计(Design For Test,DFT)属于附属工序,在芯片中加入一些附属电路,这些电路与芯片的主要功能无关。用于在生产过程中使用测试机台快速判断芯片的功能是否完好,内部结构是否正常。如果芯片中包含DFT电路,则测试机台可以向芯片的某些引脚发送实现准备好的测试向量,在芯片的另一些引脚上采样芯片对测试向量的反应。将事先准备好的预期效果与实际采样得到的结果进行对比,从而判断芯片的内部功能是否正常。DFT功能被称为扫描(Scan),即,用测试机台扫描芯片内部之意。DFT检查的是生产差错,而不是设计问题。不是必需的。

IC设计工具

数字前端编写RTL,需要文本编辑器即可,一般用 Vim或图形化增强版Gvim,Linux和Windows都可用,且免费的。
设计中主要的电子设计自动化(Electronic Design Automation,EDA)工具。世界三大巨头分别是铿腾(Cadence)、新思(Synopsys)和明导(Mentor)。粗略地说,数字设计较常用Synopsys,而模拟设计常用Cadence。
表 常用EDA软件(括号中为公司名)

数字/模拟数字流程常用软件其他软件
数字RTL编写Vim/Gvim普通文本编辑器
数字仿真VCS (Synopsys)Insicive(Cadence)
数字看波形Verdi(Synopsys)DVE (Synopsys)、Simvision(Cadence)、ModelSim(Mentor)
数字设计检查Spyglass(Synopsys)nLint(Cadence)
数字综合DC(Synopsys)Genus(Cadence)
数字时序验收PT(Synopsys)Tempus(Cadence)
数字自动布局布线ICC2(Synopsys)、 Innouvus(Cadence)
数字设计版图形式验证Formality(Synopsys)Conformal(Cadence)
数字提取寄生参数StarRC(Synopsys)
模拟原理图/版图/仿真等Virtuoso(Cadence)
模拟寄生抽取/DRC/LVSCalibre(Mentor)

数字IC设计与FPGA开发的区别

FPGA的特点是可实现硬件逻辑的灵活连接,元器件之间的连接关系可以修改,而普通芯片是固定的。FPGA配套的EDA是一个集成开发环境,它集编辑、语法检查、仿真、综合、布局布线、时序分析于一身。目前主流的三大FPGA厂商及其EDA开发环境如下表所示:
表 主流三大FPGA厂商及其EDA开发环境

厂商EDA开发环境
赛灵思(Xilinx)Vivado(原名ISE)
阿尔特拉(Altera)Quartus
赛迪斯(Lattice)Diamone

数字芯片中的元器件都是真实元器件。例如,芯片设计中的与门,在电路中就对应一个真正的与门,而FPGA设计中的与门,由一个查找表(Look Up Table,LUT)实现。不仅是与门,FPGA中的其他电路也多是由LUT实现的。保证其可修改性,即,一个LUT可以在不同的设计中用作不同的功能,但同时也增加了单个门电路的面积、功耗,并降低了处理速度。同一功能,在芯片中实现比在FPGA中实现,其面积、功耗要小的多,同时速度也更快。FPGA主要是可修改性、易实现性。使用FPGA实现要比从头开始研制芯片周期短得多,若做成芯片,则成本会更加划算。可以用FPGA实现当做验证中的一环,或是直接采用FPGA设计功能。

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

(Ant X6)子组件里的流程图画布无法显示

(Ant X6)子组件里的流程图画布无法显示 问题背景:侧导航页面都是子组件,建模页面的画布无法显示 解决前: 解决后: 解决思路:点击建模菜单时再次加载对应组件 在 Vue 中,每个组件都有一个唯一的 key 属性。当组件的 ke…

二叉堆的实现

文章目录 堆堆的概念及性质 二叉堆的实现Heap.hHeap.c堆的初始化堆的销毁向堆中插入数据删除堆中的数据找堆顶元素判断堆是否为空Heap.c完整代码 test.c 堆 堆的概念及性质 二叉堆的实现 Heap.h #pragma once #include<stdio.h> #include<stdlib.h> #include<…

SSM校园学习助手系统开发mysql数据库web结构java编程计算机网页源码eclipse项目

一、源码特点 SSM 校园学习助手系统是一套完善的信息系统&#xff0c;结合springMVC框架完成本系统&#xff0c;对理解JSP java编程开发语言有帮助系统采用SSM框架&#xff08;MVC模式开发&#xff09;&#xff0c;系统具有完整的源代码和数据库&#xff0c;系统主要采用B/S模…

HTML—列表、表格、表单

1、列表 作用&#xff1a;布局内容排列整齐的区域 列表分类&#xff1a;无序列表、有序列表、定义列表 1.1 无序列表 作用&#xff1a;布局排列整齐的不需要规定顺序的区域 标签&#xff1a;ul 嵌套 li&#xff0c;ul 是无序列表&#xff0c;li 是列表条目 注意事项&#…

Microsoft Remote Desktop高效、安全、稳定的远程办公解决方案

在今天的数字化时代&#xff0c;Remote Desktop远程办公已成为许多人的日常生活。无论你是因为工作需要&#xff0c;还是因为在家中需要访问公司服务器&#xff0c;微软远程连接软件都是一个理想的选择。 微软远程连接软件Remote Desktop是一款高效、安全、稳定的远程办公解决…

(动手学习深度学习)第13章 实战kaggle竞赛:树叶分类

文章目录 实战kaggle比赛&#xff1a;树叶分类1. 导入相关库2. 查看数据格式3. 制作数据集4. 数据可视化5. 定义网络模型6. 定义超参数7. 训练模型8. 测试并提交文件 竞赛技术总结1. 技术分析2. 数据方面模型方面3. AutoGluon4. 总结 实战kaggle比赛&#xff1a;树叶分类 kagg…

数据库管理-第119期 记一次迁移和性能优化(202301130)

数据库管理-第119期 记一次迁移和性能优化&#xff08;202301130&#xff09; 1 迁移 之前因为DV组件没有迁移成功的那个PDB&#xff0c;后来想着在目标端安装DV组件迁移&#xff0c;结果目标端装不上&#xff0c;而且开了SR也没看出个所以然来。只能换一个方向&#xff0c;尝…

云计算生成式 -给你不一样的音乐推荐新体验

目录 摘要&#xff1a; 正文&#xff1a; 一、亚马逊云与生成式 AI 结合的展望/总结 二、我用亚马逊云科技生成式 AI 产品打造了什么&#xff0c;解决了什么问题 三、未来云端技术发展趋势的见解 四、云端技术未来需要解决的问题 1、如何保护数据安全和隐私&#xff1f; …

虚拟机系列:Oracle VM VirtualBox安装/更新/卸载出现 无法访问你试图使用的功能所在的网络位置

Oracle VM VirtualBox安装/更新/卸载出现 无法访问你试图使用的功能所在的网络位置 Oracle VM VirtualBox安装/更新/卸载出现 无法访问你试图使用的功能所在的网络位置Oracle VM VirtualBox安装/更新/卸载出现 无法访问你试图使用的功能所在的网络位置 在更新Oracle VM Virtua…

STC15-串口通信打印输出数据printf函数与sprintf函数

STC15-串口通信打印输出数据printf函数与sprintf函数 1.打印输出数据有二种printf函数与sprintf函数&#xff0c;不同之处有&#xff1a;&#xff08;1&#xff09;函数的声明不同&#xff08;2&#xff09;函数的功能不同&#xff08;3&#xff09;用法举例 该问题引用百度知道…

【面试HOT200】回溯篇

系列综述&#xff1a; &#x1f49e;目的&#xff1a;本系列是个人整理为了秋招面试的&#xff0c;整理期间苛求每个知识点&#xff0c;平衡理解简易度与深入程度。 &#x1f970;来源&#xff1a;材料主要源于【CodeTopHot300】进行的&#xff0c;每个知识点的修正和深入主要参…

恒驰服务 | 华为云云上运维服务offering

恒驰运维服务主要针对运维要求高或自身运维能力有限的客户&#xff0c;通过服务增购的形式&#xff0c;提供运维服务以协助客户做好云上资源运维管理&#xff0c;规避业务风险&#xff0c;降低运维开销&#xff0c;提升客户业务稳定性。 适用场景&#xff1a; 如何保障业务稳定…

音乐播放器Swinsian mac功能介绍

Swinsian mac是一款音乐播放器&#xff0c;它的特点是轻量级、快速、易用。Swinsian支持多种音频格式&#xff0c;包括MP3、AAC、FLAC、WAV等。它还具有iTunes集成功能&#xff0c;可以自动导入iTunes音乐库中的音乐&#xff0c;并支持智能播放列表、标签编辑、自定义快捷键等功…

ssh连接docker容器处理备忘

1、查看容器ip&#xff0c;记下来之后要用 docker inspect elastic | grep IPAddress 2、使用root进入docker容器 docker exec -it -u root elastic /bin/bash 3、安装openssh #更新apt apt-get update#安装ssh client apt-get install openssh-client#安装ssh server apt-…

Ps:用好钢笔工具

使用钢笔工具时&#xff0c;应随时注意鼠标指针的形状。 ◆ ◆ ◆ 基本操作方法 1、绘制闭合路径 路径绘制结束时回到起点即可创建闭合路径。 2、绘制开放路径 想结束绘制时&#xff0c;按住 Ctrl 键点击画布空白处&#xff0c;或者&#xff0c;直接按 Esc 键&#xff0c;即可…

STM32的看门狗原理和示例代码

看门狗基础&#xff1a; STM32微控制器上的看门狗主要有两种类型&#xff1a;独立看门狗&#xff08;IWDG&#xff09;和窗口看门狗&#xff08;WWDG&#xff09;&#xff0c;这两者都是用于监控系统运行状态的机制&#xff0c;但它们在实现和应用上有一些区别&#xff1a; 独立…

docker buildx跨架构构建笔记(x86_64构建下构建aarch64镜像)

docker buildx跨架构构建(x86_64构建aarch64镜像) 文章目录 docker buildx跨架构构建(x86_64构建aarch64镜像)简介第一步 先交叉编译一个aarch64的HelloWorld程序。准备一个用于跨架构的Dockerfile文件使用docker buildx命令构建aarch64架构的镜像。查看镜像具体详细信息&#…

建堆的时间复杂度和堆排序

文章目录 建堆的时间复杂度向下调整建堆向上调整建堆 堆排序实现 建堆的时间复杂度 下面都以建大堆演示 向下调整建堆 void Adjustdown(HPDataType* a, int size,int parent) {int child parent * 2 1;while (child < size){if (child1<size&&a[child 1] &…

【shell】正则表达式和AWK

一.正则表达式 通配符匹配文件&#xff08;而且是已存在的文件&#xff09; 基本正则表达式扩展正则表达式 可以使用 man 手册帮助 正则表达式&#xff1a;匹配的是文章中的字符 通配符&#xff1a;匹配的是文件名 任意单个字符 1.元字符&#xff08;字符匹配&…