【日记】2023年7月19日

2023年7月19日 晴

日程安排

七点四十起床可以在八点二十刚好到公司,去买面包当早饭所以耽误了五分钟,八点二十五才开始打卡,所以下午五点半才可以走。今晚有组会,导师肯定会问我上班时什么感受,做好心理准备哈哈哈哈,得知本科舍友找到了百度外包的公司,好厉害,我有机会一定找他取取经,学习一下经验。然后就是继续学习前辈发给的文章啦~~

 

 


学习内容

数字芯片设计介绍

将周总发出来的文章先进行学习,把文章中学到的内容先做一个梳理。

芯片设计方向一般是有三个:数字芯片、模拟芯片、数模混合芯片

其中数字芯片的设计流程包括前端和后端两个大部分:

前端:

  1. 功能和指标定义:目的是确定芯片所需的功能。包含系统基本输入输出及基本算法需求,以及系统要求的功能、性能、功耗、成本和开发时间。将用户需求转换为用于设计的技术文档,并初步确定系统的设计流程。

  2. 架构设计:目的是完成芯片中数字部分的高层次算法或架构的分析与建模,为硬件提供一个正确的软件功能模型,更为重要的是,通过大量的高层次仿真和调试,为RTL实现提供总体性的指导。数字部分越复杂,这一点越重要。这部分工作至关重要,基本上奠定了整个芯片的性能和功耗的基础

  3. RTL编写:目的是根据架构设计的结果,完成由高层次描述到Verilog HDL(硬件描述语言)实现的过程。要求工程师需要有极强的大局观,能够在书写Verilog HDL、描述逻辑功能的同时,还能够兼顾逻辑综合、STA、P&R、DFX、功耗分析等多方面因素,最终提供一份其他环节的工程都赏心悦目的代码。

  4. 功能验证(前仿真):目的是在无延迟的理想形况下,通过大量的仿真,发现电路设计规程中的人为或非人为引起的bug。但功能验证是动态仿真,时间长,难以覆盖全面。主要指标是功能覆盖率。这个阶段会占用大量的时间,数以月计。

  5. 逻辑综合:将RTL代码映射为与工艺库相关的网表,及RTL级的HDL通过编译产生符合约束条件的门级网表,综合做三件事

    • translate:把代码转化为内部数据类型,过程:analyse(分析语法)elaborate(转换电路),通过两个步骤将代码部分转化成电路

    • optimization:基于约束文件,进行逻辑上优化

    • mapping:把电路映射到提供的标准库单元上,最终产生门级网表文件

    芯片生产中逻辑综合之前所有的工作都可以看作是虚拟性工作,从逻辑综合之后,后续所有的工作都将与工艺的物理特性、电特性等息息相关

  6. 静态时序分析:相对于动态仿真的类穷举式验证方法而言,从静态分析的角度,保证设计中所有的路径满足内部时序单元对建立时间和保持时间的要求。

  7. 一致性验证:RTL代码和逻辑综合后的网表都可以抽象为两幅由节点和边构成的图,一致性验证阶段采用类似于直接比较两幅图是否一致的方法,来确定逻辑综合生成的网表是否正确。

DTF(Design for Test实验设计)

目的是检查芯片的加工制造过程中所产生的缺陷和故障。

数字后端流程

  1. Floorplan:目的是确定design的形状大小,出Pin的位置,所有macro的拜访

  2. Placement:目的是将所有的std cell放入core area中,并且满足congestion和timing要求。分为两步:global place:不考虑cell放的位置是否legal;detail place:将cell放到附近legal的位置。

  3. Prects:Prects在Place之后CTS之前,进行一次setup timing优化

  4. CTS(Clock Tree synthesis)

  5. Routing:CTS之后整个芯片的大体结构已定。要将信号线通过金属连接起来。Routing是吧逻辑连接关系变成物理实际的连接关系

  6. 时序仿真:目的是在延迟等近似实际工作的条件下,观察功能是否还能保持正确

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

概述:集成电路是由硅晶圆切割出来的芯片组成,每个晶圆可以切割出数百个芯片。ASIC是指针对特定应用而设计的集成电路(Application Specific Integrated Circuit)与通用的存储器、微处理器等不同。ASIC有以下几种类型:

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

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

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

  • 速度:芯片运行的时钟频率和响应时间,影响芯片的性能和效率

  • 面积:芯片占用的硅晶圆面积,影响芯片的成本和产量

  • 功耗:芯片运行时消耗的电能,影响芯片的可靠性和散热

  • 上市时间:指从设计开始到产品上市所需的时间,影响芯片的竞争里和市场占有率。

为了实现这些目标的话就得明白和熟悉CMOS工艺,即使用互补金属氧化物半导体制造芯片的技术

CMOS工艺

CMOS工艺利用互补金属氧化物半导体来构建电路,CMOS电路由NMOS和PMOS两种类型的MOSFET晶体管组成。

 

MOSFET是金属氧化物半导体场效应晶体管的简称,它是一种电压控制的开关器件,也是数字集成电路设计中的基本单元。CMOS工艺利用NMOS和PMOS两种MOSFET来实现高密度、复杂的数字集成电路,主要用于信号处理。CMOS工艺的优点是低功耗、高速度和易于集成等。

 

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

  • 动态消耗:由于电路负载电容在开关过程中的中充放电而产生

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

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

 

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

 

时序原件

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

芯片设计过程

要设计芯片,首先需要有一个清晰的设计目标和功能需求(idea,这个idea会在ASIC设计流程中被转化为不同表现形式)。

ASIC设计流程的第一步就是把idea携程详细的规格说明书。规格说明书包括:

  • 设计的目标和约束条件

  • 设计的功能描述

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

  • 设计的面积预估

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

 

传统意义上的ASIC设计流程如下

  1. 给出设计的结构和功能分解。意味着要确定使用什么样的设计架构

  2. 确定了系统层次结构之后,就要开始用具体的逻辑元素来实现设计的功能,这一步称为RTL级逻辑设计(Register Transfer Level)

  3. 功能验证

  4. 逻辑综合,使用Design Compiler (Synopsys),Genus(Cadence)等综合工具,将 RTL代码转换为优化后的门级网表(Gate Level Netlist)。逻辑综合完成之后,会得到一个只包含结构信息而不包含行为信息的门级网表。

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

  6. 门级网表的物理实现(Physical Implementation)。这一步是将门级网表映射到芯片上的具体位置和连线。

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

  8. 时序分析。对于任何有特定时钟频率要求的设计,都必须进行时序分析(timing analysis)。我们需要检查设计是否满足规格说明书中的时序要求。这是通过静态时序分析(Static Timing Analysis)工具完成的

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

  10.  

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

posted @   Rswxgs  阅读(63)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· winform 绘制太阳,地球,月球 运作规律
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
点击右上角即可分享
微信分享提示