ASIC 数字设计:概述和开发流程

概述

集成电路是由硅晶圆(wafer)切割出来的芯片(die)组成的。每个晶圆可以切割出数百个芯片。

4545922fb3bc054c5e0796cb75dd1a38.png

ASIC是指针对特定应用而设计的集成电路(Application Specific Integrated Circuit),与通用的存储器、微处理器等不同。ASIC有以下几种类型:

  1. 全定制ASIC(Full-Custom ASIC):这种类型的ASIC是完全手工设计的,没有使用预先设计好的逻辑门,而是自己绘制芯片的版图(layout)。

  2. 标准单元ASIC(Standard Cell ASIC):这种类型的ASIC是使用预先设计好的逻辑门,例如AND,NOR等,来构建电路。这些逻辑门被称为标准单元(Standard Cell)。标准单元ASIC的优点是设计者可以节省时间、金钱和风险,因为标准单元库已经过设计和测试。每个标准单元都是用全定制的方法设计的,可以进行单独的优化。

设计ASIC时,需要平衡以下几个目标:

  1. 速度(Speed):指芯片运行的时钟频率和响应时间,影响芯片的性能和效率。

  2. 面积(Area):指芯片占用的硅晶圆面积,影响芯片的成本和产量。

  3. 功耗(Power):指芯片运行时消耗的电能,影响芯片的可靠性和散热。

  4. 上市时间(Time to Market):指从设计开始到产品上市所需的时间,影响芯片的竞争力和市场占有率。

为了实现这些目标,设计者需要熟悉CMOS工艺,即使用互补金属氧化物半导体(Complementary Metal Oxide Semiconductor)制造芯片的技术。

CMOS工艺

1.1 CMOS工艺

CMOS工艺是目前最常用的芯片制造技术,它利用互补金属氧化物半导体(Complementary Metal Oxide Semiconductor)来构建电路。CMOS电路由NMOS和PMOS两种类型的MOSFET晶体管组成。

1.2 MOSFET晶体管

MOSFET是金属氧化物半导体场效应晶体管(Metal Oxide Semiconductor Field Effect Transistor)的简称,它是一种电压控制的开关器件,也是数字集成电路设计中的基本单元。MOSFET的结构和工作原理如下图所示。

b2c106d23765568bc7d2024ffa31498d.png 7224e8393a98cbbef151eb62decf00cc.png

CMOS工艺利用NMOS和PMOS两种MOSFET来实现高密度、复杂的数字集成电路,主要用于信号处理。CMOS工艺的优点是低功耗、高速度和易于集成等。在数字IC中,MOSFET可以看作是简单的开关。例如:CMOS反相器只需要一个PMOS和一个NMOS晶体管。

  • 当输入为逻辑“0”时,PMOS导通,NMOS截止,输出负载电容被充电,输出为逻辑“1”。

  • 当输入为逻辑“1”时,PMOS截止,NMOS导通,输出负载电容被放电,输出为逻辑“0”。

逻辑门的输出负载电容由两部分组成:本征电容和外部电容(走线、扇出等)。PMOS和NMOS的载流子分别是空穴和电子。由于电子的迁移率比空穴高出一倍多,导致输出上升时间和下降时间不对称。

为了平衡这种差异,通常让PMOS的宽长比(W/L)比NMOS的大一些。这样可以使PMOS和NMOS具有相近的驱动能力(drive strength)。

在标准单元库中,晶体管的长度L一般是固定的,而宽度W则根据不同门的驱动需求进行调整。

1.3 CMOS集成电路的功耗

CMOS集成电路的功耗主要有以下三个来源:

  1. 动态功耗:由于电路负载电容在开关过程中的充放电而产生。给定频率f,动态功耗为:负载电容* Vdd * Vdd * f

  2. 短路功耗:由于PMOS和NMOS在开关过程中同时导通而形成短路路径而产生。

  3. 静态功耗:由于晶体管存在漏电流而产生。

1.4 CMOS传输门

将PMOS和NMOS并联起来就形成了传输门。传输门可以将输入信号传递到输出端。

1.5 时序元件

在CMOS中,可以通过反馈回路来实现逻辑值的存储,这样的元件被称为时序元件。最简单的时序元件就是两个反相器相互连接。基于这种结构,可以有两种基本的时序元件,分别是:

1、锁存器(Latch):锁存器是在两个反相器之间加入一个传输门来控制数据的输入和输出。

  • 当传输门的控制信号为逻辑“1”时,传输门打开,输入信号“D”可以传递到输出端。

  • 当控制信号为逻辑“0”时,传输门关闭,输出端保持原来的值不变。

19ffa5db5791e12700027045ce306968.png

2、触发器(Flip-Flop):触发器是由两个锁存器串联而成的。第一个锁存器叫做主锁存器(Master latch),第二个锁存器叫做从锁存器(Slave latch)。

在这种情况下,传输门的控制信号就是时钟信号(Clock)。时钟信号经过反相后送到从锁存器的传输门。

  • 当时钟信号为高电平时,主锁存器的传输门打开,输入信号“D”可以被两个反相器锁定。同时,由于时钟信号反相,从锁存器的传输门关闭,输出信号“Q”保持原来的值不变。

  • 当时钟信号为低电平时,从锁存器的传输门打开,输出信号“Q”更新为主锁存器锁定的值。此时,输出信号“Q”与输入信号“D”的变化无关。

由于触发器只在时钟信号由低变高的上升沿更新数据,所以这种类型的触发器叫做正边沿触发器。如果触发器只在时钟信号由高变低的下降沿更新数据,则叫做负边沿触发器。
e7f7bcf0d6f9c06566317f597fc68ded.png

芯片设计的过程

要设计芯片,首先需要有一个清晰的设计目标和功能需求(Idea)。

在ASIC设计流程中,这个Idea会不断地转化为不同的表现形式。

ASIC设计流程的第一步就是把Idea写成详细的规格说明书(Specifications)。规格说明书包括:

  • 设计的目标和约束条件。

  • 设计的功能描述。

  • 设计的性能指标,如速度和功耗。

  • 设计的面积预估。

  • 设计的制造工艺和设计方法选择。

传统意义上,ASIC设计流程如下所示:

3f28da31bd18cbc403bdc1d01ba95494.png

1、给出设计的结构和功能分解(Structural and Functional Description)。这意味着要确定使用什么样的设计架构,例如 RISC / CISC,ALU,流水线等,并且将整个系统划分为若干个子模块。每个子模块的功能也要在规格说明书中明确定义。

2、确定了系统层次结构之后,就要开始用具体的逻辑元素来实现设计的功能。这一步称为RTL级逻辑设计(Register Transfer Level)。RTL设计通常用硬件描述语言(Verilog、VHDL)来编写。硬件描述语言(HDL)是一种用于描述数字系统的语言,可以用来表示逻辑门、微处理器、存储器、触发器等任何级别的硬件。在这个阶段,要对设计进行功能验证,以确保设计符合规格说明书的要求。

3、功能验证

4、逻辑综合(Logic synthesis),使用Design Compiler (Synopsys),Genus(Cadence)等综合工具,将 RTL代码转换为优化后的门级网表(Gate Level Netlist)。综合工具需要输入RTL代码和标准单元库(Standard cell library),输出门级网表。标准单元库是集成电路设计中常用的基本逻辑模块的集合。综合工具在进行逻辑综合时,要考虑各种约束(Constraints),如时序、面积、可测性和功耗等。综合工具会根据不同的优化策略和代价函数(cost function),来寻找满足约束条件的最佳实现方案。逻辑综合完成之后,会得到一个只包含结构信息而不包含行为信息的门级网表。

5、对门级网表进行功能验证,以检查是否与RTL代码一致。

6、门级网表的物理实现(Physical Implementation)。这一步是将门级网表映射到芯片上的具体位置和连线。物理实现需要考虑制造工艺对布局布线(Layout)的限制条件,如DRC规则等。物理实现步骤包括三个子步骤:Floor planning->Placement->Routing。物理实现的输出是GDSII文件。这是芯片制造厂所需要的文件格式。物理实现可以由IC Compiler (Synopsys)、Innovus (Cadence)等软件完成。

7、进行物理验证(Physical Verification),以检查是否满足DRC规则、LVS规则等。

8、时序分析。对于任何有特定时钟频率要求的设计,都必须进行时序分析(timing analysis)。我们需要检查设计是否满足规格说明书中的时序要求。这是通过静态时序分析(Static Timing Analysis)工具完成的,例如Primetime(Synopsys)。它会检查设计中所有的时序路径,来验证设计是否存在时序违规(timing violations)。例如:建立时间(setup)、保持时间(hold)等。

9、在物理实现和时序分析都通过之后,设计就可以交付给制造厂进行制造(Fabrication)了。制造完成之后,芯片会被切割、封装和测试。

最后,值得思考的是,我们是否一定要遵从这种瀑布式开发流程???能否尽可能地流程左移。

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

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

相关文章

git merge和git rebase的区别

本文来说下git merge和git rebase的区别 文章目录 分支合并解决冲突git rebase和git merge的区别本文小结 分支合并 git merge是用来合并两个分支的。比如:将 b 分支合并到当前分支。同样git rebase b,也是把 b 分支合并到当前分支。他们的 「原理」如下…

信号链噪声分析15

文章目录 概要整体架构流程技术名词解释技术细节小结 概要 提示:这里可以添加技术概要 模数转换器(ADC)将模拟量——现实世界中绝大部分现象的特征——转换为数字语言, 以便用于信息处理、计算、数据传输和控制系统。数模转换器(DAC)则用于将发送或存 储…

Java单例模式

Java单例模式 1、概念2、代码实现方案饿汉式实现:懒汉式实现:饿汉式PK懒汉式: 3、单例模式的特点及适用场景优点:缺点:适用场景: 4、关于单例模式的常见问题4.1 public static SingletonOne getlnstance(){}A.该方法为什么用静态的…

lesson6 ZIgbee网络特性抓包分析

目录 ZIgbee网络特性抓包分析 理论部分: 实验部分: 入网前相关数据帧(仅单个设备供电): 首先以路由器和协调器为例:(帧的类别从头部的Type可以看到,在四大帧类别中根据不同作用也…

Java POI (2)—— Excel文件的上传与导出(实例演示)

一、单文件的上传功能 这里是一个demo的流程图,下面按照这个流程图做了一个简单的实现,有部分判断没有加上,实际操作中,可以根据自己的需求进行增加或者修改。并且此处还是在接受文件传入后将文件进行了下载,保存到本地…

分类预测 | MATLAB实现GA-LSTM遗传算法优化长短期记忆网络的数据多输入分类预测

分类预测 | MATLAB实现GA-LSTM遗传算法优化长短期记忆网络的数据多输入分类预测 目录 分类预测 | MATLAB实现GA-LSTM遗传算法优化长短期记忆网络的数据多输入分类预测效果一览基本介绍程序设计参考资料 效果一览 基本介绍 MATLAB实现GA-LSTM遗传算法优化长短期记忆网络的数据多…

douyin23.9 deviceid和iid设备注册分析

使用23.9版本进行注册(版本多少 其实没有那么重要) 老生常谈,老规矩注册接口device_register不能少吧,然后要检测设备app_alert_check吧,之后要发app_log日志包吧。 当然除了只有这些接口肯定是不行啦,加密…

蓝牙资讯|未来几年物联网迅猛发展,蓝牙发挥重要作用

IDC预测,2023年全球物联网(IoT)支出将达到8057亿美元,比2022年增长10.6%。物联网生态系统的投资预计将在2026年超过1万亿美元,在2023-2027年的预测期内,复合年增长率(CAGR)为10.4%。 到2023年,物联网服务将成为最大的…

【Java EE】-博客系统二(前后端分离)

作者:学Java的冬瓜 博客主页:☀冬瓜的主页🌙 专栏:【JavaEE】 分享: 徘徊着的 在路上的 你要走吗 易碎的 骄傲着 那也曾是我的模样 ——《平凡之路》 主要内容:显示用户信息、上传头像、新增博客、删除博客、修改博客…

Java HelloWorld

一、java命令 目录 一、java命令 二、Java HelloWorld 1.单个java文件 2.单个包多java文件 3.多个包 三、jar包 1.生成jar包 2.引用jar包 三、IntelliJ IDEAMaven HelloWorld 四、IntelliJ IDEAMavenspringboot HelloWorld javac:将.java文件编译成.clas…

设计模式篇(Java):适配器模式

设计模式篇(Java):建造者模式 八、适配器模式 8.1 适配器模式基本介绍 生活中的适配器例子 比如生活中的插座,在不同国家插座有着不同的规格,如果我们从一个国家去另外一个国家需要使用插座时就需要一个中间转换器把两种不同规则的插座适配一…

Spring Security系列之基础概念

文章目录 基本原理Authentication接口UserDetailsService 接口PasswordEncoder 接口EnableWebSecurity 注解 基本原理 SpringSecurity 本质是一个过滤器链,采用的是责任链设计模式。 启动的时候,控制台打印出来的 DefaultSecurityFilterChain 过滤器&…