对付很多其他专业转IC的同学来说,每每很难明得数字IC设计前端到后真个岗位划分和职能哀求,总是先入为主地认为只有前端设计才是最热门的,反倒是忽略了功能验证和后端设计的代价和意义。
从就业的角度来说,三个岗位是不存在利害之分的,都很热门也都很缺人,薪资也相差不大。
更多还是看自己能在所选择的方向上深耕的努力程度以及走多高多远。

数字前端以设计架构为出发点,以天生可以布局布线的网表为终点;是用设计的电路实现想法。
紧张包括:基本的RTL编程和仿真,前端设计还可以包括IC系统设计、验证(verification)、综合、STA、逻辑等值验证 (equivalence check)。个中IC系统设计最难节制,它须要多年的IC设计履历和熟习那个运用领域,就像软件行业的系统架构设计一样,而RTL编程和软件编程相称。
数字后端以布局布线为出发点,以天生可以可以送交foundry进行流片的GDSⅡ文件为终点。
是将设计的电路制造出来,在工艺上实现想法。紧张包括:后端设计大略说是P&R,像芯片封装和管脚设计,floorplan,电源布线和功率验证,线间滋扰的预防和修 正,时序收敛,自动布局布线、STA,DRC,LVS等,哀求节制和熟习多种EDA工具以及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。
从设计程度上来讲,前端设计的结果便是得到了芯片的门级网表电路。
后端设计流程
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(可制造性设计)问题,在此不说了。物理版图验证完成也便是全体芯片设计阶段完成,下面的便是芯片制造了。
物理版图以GDSII的文件格式交给芯片代工厂(称为Foundry)在晶圆硅片上做呈现实的电路,再进行封装和测试,就得到了我们实际瞥见的芯片。