EDA/IC设计
IC设计,Integrated Circuit Design,或称为集成电路设计,是电子工程学和计算机工程学的一个学科,其主要内容是运用专业的逻辑和电路设计技术设计集成电路(IC)。
IC的设计可以分为两个部分,分别为:前端设计(也称逻辑设计)和后端设计(也称物理设计),这两个部分并没有统一严格的界限,凡涉及到与工艺有关的设计可称为后端设计。
IC设计是将系统、逻辑与性能的设计要求转化为具体的物理版图的过程, 也是一个把产品从抽象的过程一步步具体化、直至最终物理实现的过程。为了完成这一过程, 人们研究出了层次化和结构化的设计方法:层次化的设计方法能使复杂的系统简化,并能在不同的设计层次及时发现错误并加以纠正;结构化的设计方法是把复杂抽象的系统划分成一些可操作的模块,允许多个设计者同时设计,而且某些子模块的资源可以共享。
前段设计的主要流程:
1、规格制定
芯片规格也就像功能列表一样,是客户向芯片设计公司(称为Fabless,无晶圆设计公司)提出的设计要求,包括芯片需要达到的具体功能和性能方面的要求。
2、详细设计
Fabless根据客户提出的规格要求,拿出设计解决方案和具体时间架构,划分模块功能。
3、HDL编码
使用硬件描述语言(VHDL、Verilog HDL,业界公司一般都是用后者)将模块功能以代码来描述实现,也就是将实际的硬件电路功能通过HDL语言描述出来,形成RTL(寄存器传输级)代码。
4、仿真验证
仿真验证就是检验编码设计的正确性,检验的标准就是第一步制定的规格。看设计是否满足了规格中的所有要求。规格是设计正确与否的黄金标准,一切违反不符合规格要求的,就需要重新修改设计和编码。设计和仿真验证是反复迭代的过程,知道验证结果显示完全符合规格标准。仿真验证工具:Mentor公司的Modelsim,Synopsys的VCS,还有Cadence的NC-verilog均可以对RTL级的代码进行设计验证,该部分个人一般是用第一个-Modelsim。该部分称为前段仿真,接下来逻辑部分综合之后再一次进行的仿真可以称为后仿真。
5、逻辑总和-Design Compiler
仿真验证通过,进行逻辑综合。逻辑综合的结果就是把设计实现的HDL代码翻译成门级网表netlist。综合需要设定约束条件,就是你希望综合出来的电路在面积、时序等目标参数上达到的标准。逻辑总和需要基于特定的综合库,不同的库中,门电路基本标准单元(standard cell)的面积,时序参数是不一样的。所以,选用的综合库不一样,综合出来的电路在时序,面积上是有差异的。一般来说,综合完成后需要再次做仿真验证(这个也称为后仿真,之前的称为前仿真)逻辑综合工具Synopsys的Design Compiler,仿真工具选择上面的三种仿真工具均可。
6、STA
State Timing Analysis (STA),静态时序分析,这也属于验证范畴,它主要是在时序上对电路进行验证,检查电路是否存在建立时间(setup time)和保持时间(hold time)的违例(violation)。这个是数字电路基础知识,一个寄存器出现这两个时序违例时,使没有办法正确采样数据和输出数据的,所以以寄存器为基础的数字芯片功能肯定会出现问题。STA工具有Synopsys的prime time。
7、形式验证
这也是验证范畴,他是从功能上(STA是时序上)对综合后的网表进行验证。常用的就是等价性检查方法,以功能验证后的HDL设计为参考,对比综合后的网表功能,他们是否在功能上存在等价性。这样做是为了博啊正在逻辑综合过程中没有改变原先HDL描述的电路功能。性试验真工具有Synopsys的Formality。前端设计的流程暂时写到这里。从设计程度上来讲,前端设计的结果就是得到芯片的门级网表电路。
Backend design flow后端设计流程
1、DFT
Design For Test,可测性设计。芯片每步往往都自带测试电路,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条评论
快来发表一下你的评论吧 !