打造IC人才
科技生态圈

芯片设计前端还是后端好?两者区别?

发布时间:2022-12-13

来源:IC修真院

很多同学在转行ic时都比较纠结选前端还是后端?有什么区别呢?以生成的门级网表为分界线,在这之前的为前端,后端则是将门级网表转化为物理版图的形式。两个岗位不存在优劣之分,都很热门也都很缺人,薪资也相差不大。

image

数字ic前端与数字ic后端岗位区别:

数字前端以设计架构为起点,以生成可以布局布线的网表为终点;是用设计的电路实现想法。

主要包括:基本的RTL编程和仿真,前端设计还可以包括IC系统设计、验证(verification)、综合、STA、逻辑等值验证 (equivalence check)。其中IC系统设计最难掌握,它需要多年的IC设计经验和熟悉那个应用领域,就像软件行业的系统架构设计一样,而RTL编程和软件编程相当。

数字后端以布局布线为起点,以生成可以可以送交foundry进行流片的GDSⅡ文件为终点。

是将设计的电路制造出来,在工艺上实现想法。

主要包括:后端设计简单说是P&R,像芯片封装和管脚设计,floorplan,电源布线和功率验证,线间干扰的预防和修 正,时序收敛,自动布局布线、STA,DRC,LVS等,要求掌握和熟悉多种EDA工具以及IC生产厂家的具体要求。

数字ic前端设计流程

1、需求分析与规格制定

对市场调研,弄清需要什么样功能的芯片。

芯片规格,也就像功能列表一样,是客户向芯片设计公司提出的设计要求,包括芯片需要达到的具体功能和性能方面的要求。

2、架构设计与算法设计

根据客户提出的规格要求,对一些功能进行算法设计,拿出设计解决方案和具体实现架构,划分模块功能。

3、HDL编码

使用硬件描述语言(VHDL,Verilog HDL,业界公司一般都是使用后者)将模块功能以代码来描述实现,也就是将实际的硬件电路功能通过HDL语言描述出来,形成RTL(寄存器传输级)代码。

设计输入工具:具有强大的文本编辑功能,多种输入方法(VHDL,Verilog,状态转移图,模块图等),语法模板,语法检查,自动生产代码和文档等功能。如Active-HDL,VisualVHDL/Verilog等。

4、功能仿真(功能验证)

仿真验证就是检验编码设计的正确性,不符合规格要重新设计和编码。

你可以理解为验证就是为设计纠错的存在,这就是验证的价值体现,一个小问题没发现就直接去后端设计,最终流片失败,那带来的损失将是巨大的。因此,好的IC设计公司一般设计和验证的比例都是1:3。

设计和仿真验证是反复迭代的过程,直到验证结果显示完全符合规格标准。该部分称为前仿真。

先进行模块级仿真(IP Level),然后在放到一起片级仿真(chip level)。

仿真工具:Synopsys的VCS,Mentor ModelSim(Linux版本为Questasim),Cadence Verilog-XL,Cadence NC-Verilog。该部分个人一般使用Modelsim,公司里应用最广泛的还是VCS。

IP级验证要用到基于SystemVerilog的UVM方法学,这个是属于验证工程师的范畴。

5、逻辑综合――Logic Synthesis

逻辑综合是个比较灵活的环节,有时放在前端,有时放在后端,不同公司不同安排。

仿真验证通过,进行逻辑综合。逻辑综合就是把HDL代码翻译成门级网表netlist。

综合需要设定约束条件,就是你希望综合出来的电路在面积,时序等目标参数上达到的标准。逻辑综合需要基于特定的综合库,不同的库中,门电路基本标准单元(standard cell)的面积,时序参数是不一样的。所以,综合库不一样,综合出来的电路在时序,面积上是有差异的。一般来说,综合完成后需要再次做仿真验证(这个也称为后仿真)

逻辑综合工具:Synopsys的Design Compiler,仿真工具选择上面的三种仿真工具均可。

6、静态时序分析——STA

Static Timing Analysis(STA),静态时序分析,验证范畴,它主要是在时序上对电路进行验证,检查电路是否存在建立时间(setup time)和保持时间(hold time)的违例(violation)。这个是数字电路基础知识,一个寄存器出现这两个时序违例时,是没有办法正确采样数据和输出数据的,所以以寄存器为基础的数字芯片功能肯定会出现问题。

STA工具:Synopsys的Prime Time。

7、形式验证——Formality

验证范畴,它是从功能上(STA是时序上)对综合后的网表进行验证。

常用的就是等价性检查方法,以功能验证后的HDL设计为参考,对比综合后的网表功能,他们是否在功能上存在等价性。这样做是为了保证在逻辑综合过程中没有改变原先HDL描述的电路功能。

形式验证工具:Synopsys的Formality。

从设计程度上来讲,前端设计的结果就是得到了芯片的门级网表电路。

数字ic后端设计流程

1、可测性设计——DFT

Design ForTest,可测性设计。芯片内部往往都自带测试电路,DFT的目的就是在设计的时候就考虑将来的测试。DFT的常见方法就是,在设计中插入扫描链,将非扫描单元(如寄存器)变为扫描单元。关于DFT,有些书上有详细介绍,对照图片就好理解一点。

DFT工具:Synopsys的DFT Compiler

2、布局规划(FloorPlan)

布局规划就是放置芯片的宏单元模块,在总体上确定各种功能电路的摆放位置,如IP模块,RAM,I/O引脚等等。布局规划能直接影响芯片最终的面积。

工具为Synopsys的Astro。

3、时钟树综合——CTS

Clock Tree Synthesis,时钟树综合,简单点说就是时钟的布线

由于时钟信号在数字芯片的全局指挥作用,它的分布应该是对称式的连到各个寄存器单元,从而使时钟从同一个时钟源到达各个寄存器时,时钟延迟差异最小。这也是为什么时钟信号需要单独布线的原因。

CTS工具,Synopsys Physical Compiler。

4、布线(Place & Route)

这里的布线就是普通信号布线了,包括各种标准单元(基本逻辑门电路)之间的走线。比如我们平常听到的0.13um工艺,或者说90nm工艺,实际上就是这里金属布线可以达到的最小宽度,从微观上看就是MOS管的沟道长度。

工具Synopsys的Astro

5、寄生参数提取

由于导线本身存在的电阻,相邻导线之间的互感,耦合电容在芯片内部会产生信号噪声,串扰和反射。这些效应会产生信号完整性问题,导致信号电压波动和变化,如果严重就会导致信号失真错误。提取寄生参数进行再次的分析验证,分析信号完整性问题是非常重要的。

工具Synopsys的Star-RCXT

6、版图物理验证

对完成布线的物理版图进行功能和时序上的验证,验证项目很多,

如LVS(Layout Vs Schematic)验证,简单说,就是版图与逻辑综合后的门级电路图的对比验证;

DRC(Design Rule Checking):设计规则检查,检查连线间距,连线宽度等是否满足工艺要求;

ERC(Electrical Rule Checking):电气规则检查,检查短路和开路等电气规则违例;等等。

工具为Synopsys的Hercules

实际的后端流程还包括电路功耗分析,以及随着制造工艺不断进步产生的DFM(可制造性设计)问题,在此不说了。物理版图验证完成也就是整个芯片设计阶段完成,下面的就是芯片制造了。

给大家总结一下

从工作的内容来看呢,后端的工作要比前端的工作要复杂一点,会更累一点。

从薪资的角度看,两者的差异不大;

从入门的角度来看的话,前端可能要求会高一点,后端入门要求会低一点;

从未来前景看,公司的高层更可能是前端在做,后端相对较难;

至于跳槽的难易程度,则是后端比前端容易一些。

其实,无论你从事前端也好后端也好,作为一名ic设计新人,你当前要做的第一件事情就是踏入这个行业,找一份满意的工作。

如果大家想要了解更多,可以点击数字ic前端设计数字ic后端实现免费视频

相关推荐:

转数字IC后端设计,报培训班靠谱么?

数字IC前端设计、验证、后端、哪个好?

数字ic前端设计学霸笔记

推荐阅读

换一换