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设计功能。

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

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

相关文章

Shopee引流妙招!Shopee产品标签重要吗?教你有效打标签引爆流量!

对Shopee平台的卖家来说,在新产品上架时除了要注重产品title、介绍以及图文的优化,还有一件事情很重要,那就是——产品打标签。 对于每个跨境电商卖家来讲,对产品打标签都是必不可少的一个运营环节 下面小宇就来告诉大家&#xf…

SpringSecurity的默认登录页的使用

SpringSecurity的默认登录页的使用 01 前期准备 引入依赖 <dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId></dependency><!--mysql驱动--><dependency><grou…

主机的容器化技术介绍

☞ ░ 前往老猿Python博客 ░ https://blog.csdn.net/LaoYuanPython 一、什么是容器 容器是一个标准化的单元&#xff0c;是一种轻量级、可移植的软件打包技术&#xff0c;容器将软件代码及其相关依赖打包&#xff0c;使应用程序可以在任何计算介质运行。例如开发人员在自己的…

python pytorch实现RNN,LSTM,GRU,文本情感分类

python pytorch实现RNN,LSTM&#xff0c;GRU&#xff0c;文本情感分类 数据集格式&#xff1a; 有需要的可以联系我 实现步骤就是&#xff1a; 1.先对句子进行分词并构建词表 2.生成word2id 3.构建模型 4.训练模型 5.测试模型 代码如下&#xff1a; import pandas as pd im…

命名管道:简单案例实现

&#x1f4df;作者主页&#xff1a;慢热的陕西人 &#x1f334;专栏链接&#xff1a;Linux &#x1f4e3;欢迎各位大佬&#x1f44d;点赞&#x1f525;关注&#x1f693;收藏&#xff0c;&#x1f349;留言 本博客主要内容讲解了什么是命名管道&#xff0c;匿名管道和命名管道的…

深入了解Rabbit加密技术:原理、实现与应用

一、引言 在信息时代&#xff0c;数据安全愈发受到重视&#xff0c;加密技术作为保障信息安全的核心手段&#xff0c;得到了广泛的研究与应用。Rabbit加密技术作为一种新型加密方法&#xff0c;具有较高的安全性和便捷性。本文将对Rabbit加密技术进行深入探讨&#xff0c;分析…

六、初识FreeRTOS之FreeRTOS的任务挂起和恢复函数介绍

本节需要掌握以下内容&#xff1a; 1&#xff0c;任务的挂起与恢复的API函数&#xff08;熟悉&#xff09; 2&#xff0c;任务挂起与恢复实验&#xff08;掌握&#xff09; 3&#xff0c;课堂总结&#xff08;掌握&#xff09; 一、任务的挂起与恢复的API函数&#xff08;熟…

C++ day41 动态规划 整数拆分 不同的二叉搜索树

题目1&#xff1a;343 整数拆分 题目链接&#xff1a;整数拆分 对题目的理解 将正整数n&#xff0c;拆分成k个正整数的和&#xff08;k>2&#xff09;使得这些整数的乘积最大化&#xff0c;返回最大乘积 动规五部曲 1&#xff09;dp数组的含义以及其下标i的含义 dp[i]…

Verilog 入门(四)(门电平模型化)

文章目录 内置基本门多输入门简单示例 内置基本门 Verilog HDL 中提供下列内置基本门&#xff1a; 多输入门 and&#xff0c;nand&#xff0c;or&#xff0c;nor&#xff0c;xor&#xff0c;xnor 多输出门 buf&#xff0c;not 三态门上拉、下拉电阻MOS 开关双向开关 门级逻辑…

OSG编程指南<十七>:OSG光照与材质

1、OSG光照 OSG 全面支持 OpenGL 的光照特性&#xff0c;包括材质属性&#xff08;material property&#xff09;、光照属性&#xff08;light property&#xff09;和光照模型&#xff08;lighting model&#xff09;。与 OpenGL 相似&#xff0c;OSG 中的光源也是不可见的&a…

工博会新闻稿汇总

23届工博会媒体报道汇总 点击文章标题即可进入详情页 9月23日&#xff0c;第23届工博会圆满落幕&#xff01;本届工博会规模之大、能级之高、新展品之多创下历史之最。高校展区在规模、能级和展品上均也创下新高。工博会系列报道深入探讨了高校科技发展的重要性和多方面影响。…

【合集】MQ消息队列——Message Queue消息队列的合集文章 RabbitMQ入门到使用

前言 RabbitMQ作为一款常用的消息中间件&#xff0c;在微服务项目中得到大量应用&#xff0c;其本身是微服务中的重点和难点。本篇博客是Message Queue相关的学习博客文章的合集篇&#xff0c;目前主要是RabbitMQ入门到使用文章&#xff0c;后续会扩展其他MQ。 目录 前言一、R…

自定义链 SNAT / DNAT 实验举例

参考原理图 实验前的环境搭建 1. 准备三台虚拟机&#xff0c;定义为内网&#xff0c;外网以及网卡服务器 2. 给网卡服务器添加网卡 3. 将三台虚拟机的防火墙和安全终端全部关掉 systemctl stop firewalld && setenforce 0 4. 给内网虚拟机和外网虚拟机 yum安装 httpd…

阿里云国际短信业务网络超时排障指南

选取一台或多台线上的应用服务器或选取相同网络环境下的机器&#xff0c;执行以下操作。 获取公网出口IP。 curl ifconfig.me 测试连通性。 &#xff08;推荐&#xff09;执行MTR命令&#xff08;可能需要sudo权限&#xff09;&#xff0c;检测连通性&#xff0c;执行30秒。 m…

Scrapy框架中间件(一篇文章齐全)

1、Scrapy框架初识&#xff08;点击前往查阅&#xff09; 2、Scrapy框架持久化存储&#xff08;点击前往查阅&#xff09; 3、Scrapy框架内置管道&#xff08;点击前往查阅&#xff09; 4、Scrapy框架中间件 Scrapy 是一个开源的、基于Python的爬虫框架&#xff0c;它提供了…

HashMap的实现原理

1.HashMap实现原理 HashMap的数据结构&#xff1a; *底层使用hash表数据结构&#xff0c;即数组链表红黑树 当我们往HashMap中put元素时&#xff0c;利用key的hashCode重新hash计算出当前对象的元素在数组中的下标 存储时&#xff0c;如果出现hash值相同的key&#xff0c;此时…

自动化测试 —— 如何优雅实现方法的依赖!

在 seldom 3.4.0 版本实现了该功能。 在复杂的测试场景中&#xff0c;常常会存在用例依赖&#xff0c;以一个接口自动化平台为例&#xff0c;依赖关系&#xff1a; 创建用例 --> 创建模块 --> 创建项目 --> 登录。 用例依赖的问题 •用例的依赖对于的执行顺序有严格…

一文讲透Python机器学习特征工程中的特征标准化

在Python中&#xff0c;可通过scikit-learn模块中的StandardScaler()函数实现对特征的标准化处理。StandardScaler()函数处理的数据对象同样是每一列&#xff0c;也就是每一维特征。StandardScaler()函数通过去除平均值和缩放到单位方差来标准化特征&#xff0c;将样本特征值转…

使用最小花费爬楼梯(力扣LeetCode)动态规划

使用最小花费爬楼梯 题目描述 给你一个整数数组 cost &#xff0c;其中 cost[i] 是从楼梯第 i 个台阶向上爬需要支付的费用。一旦你支付此费用&#xff0c;即可选择向上爬一个或者两个台阶。 你可以选择从下标为 0 或下标为 1 的台阶开始爬楼梯。 请你计算并返回达到楼梯顶…

使用canvas实现代码雨高级升阶版【附带源码和使用方法】

文章目录 前言基本绿色的彩色版本飘散雪花状后言 前言 hello world欢迎来到前端的新世界 &#x1f61c;当前文章系列专栏&#xff1a;前端面试 &#x1f431;‍&#x1f453;博主在前端领域还有很多知识和技术需要掌握&#xff0c;正在不断努力填补技术短板。(如果出现错误&…