集成电路设计流程

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
布线(Routing):建立单元和快之间的连接,完成互联布线。具体工作是确定所有互连线的位置以及最小化互连线所占的面积和连线长度。有时候版图规划、布局、布线的划分并不是十分独立的,实际使用中一些EDA工具可能将这些步骤结合在一起来实现。
参数提取与后仿真(Extraction&Postlayout simulation):确定互连线的电阻、电容等寄生参数。检查设计在增加了互连负载之后是否仍然能正常工作。
在通过后仿真后,如果没有出现问题,就可以把设计拿到制造厂商(Foundry)进行流片,制成实际的芯片,最后还要经过封装和测试通过后才能成为产品并最终上市。
上述设计步骤中,每个设计步骤依赖于前一个步骤的结果,如果有一步骤出现问题就要返回到上一步骤重新进行修改设计,直至没有问题出现。
IC的设计流程也不是一成不变的。随着新工具、新方法的不断出现,IC设计流程也随之要发生相应的变化。同时,由于半导体生产工艺的不同,设计层次的不同、甚至设计规模的不同,IC设计流程也不一样。但是,无论我们用什么样的设计流程,具体的设计思路应该是一样的。
随着半导体制ห้องสมุดไป่ตู้工艺的快速发展,集成电路的设计方法也日新月异,传统的依靠经验的原理图设计方法也不符合时代的需要,具有可移植性及独立于半导体工艺外特性的硬件描述语言(Hardware Description Language)的设计方法应运而生。本文着眼于数字专用集成电路(ASIC)的设计,其开发流程如图4-1所示。
图 4-1 ASIC设计流程
ASIC设计流程分为前端和后端两部分,前端主要包括设计输入、模拟/仿真、逻辑综合;后端包括门级仿真、版图规划、布局、布线、参数提取与后仿真。前端(Front End)的工作主要是将电路的功能转换为用硬件描述语言来实现,然后把代码转综合成逻辑门级的电路。而后端(Back End)的部分做的是布局(Place)与布线(Route)以及版图,后仿真主要是测试经过P&A后某些电路产生的延时对整个系统的影响。下面简要介绍流程中各个阶段的任务。
设计输入(Design entry):输入使用硬件描述语言(Verilog或VHDL)描述的设计或原理图。
用硬件描述语言描述产品的功能和编写测试模块。良好的代码风格应该具有以下特点:足够的注释说明和有意义的命名,一行不要太长,组合逻辑中没有必要用非阻塞赋值,利用参数定义提高可读性和可维护性,注意向量的宽度,在对向量赋值时也应当指明数值的宽度,符合代码可综合的原则。
近年来,集成电路的设计在规模和复杂度方面不断取得进展,而对逻辑电路及系统的设计时间要求却越来越短。在一片晶圆上可以容纳的晶体管数目及运行的频率不断飙升,达到几乎每两年增加一倍的速度,此即著名的摩尔定律(Moore’s Law)。这使得过去需要庞大面积的电路缩小到仅仅一颗小小的芯片,甚至能大大超过原有的功能。
(注:本资料素材和资料部分来自网络,仅供参考。请预览后才下载,期待你的好评与关注!)
前仿真(门级,Prelayout simulation):进行版图设计之前通过仿真检查设计功能是否符合要求。在这个环节,要把逻辑综合生产的网表文件添加到仿真文件中并需要添加编译工艺库来仿真。门级仿真比模拟/仿真能更真实的反应电路的工作情况,因为门级仿真把逻辑门之间的连接关系以及延时信息都考虑进去了。功能仿真是在标准工艺库下进行的仿真,门级仿真需要自己编译工艺库来仿真,这也是门级仿真的必要之处。
逻辑综合(Logic synthesis):通过逻辑综合工具(常用的是Synopsys公司的DC)将硬件描述语言描述的设计通过转译(translation)、优化(optimization)和映射(mapping)产生与实现工艺相关的网表(netlist)文件。网表文件是一种记录有逻辑门之间连接关系以及延时信息的文件。综合是连接电路高层与物理实现的桥梁,综合结果的好坏决定于电路的设计,综合给定的限制条件与综合之后的门级网表将送到后端工具用于布局布线。
模拟/仿真(simulation):又称功能仿真。通过仿真检查设计功能是否符合要求。在设计完成后,还必须对设计的正确性进行测试。通常的方法是对设计模块施加激励,通过观察其输出波形来检验功能的正确性。激励模块一般称为测试台,在仿真环节可以编写不同的测试台对设计进行全方位的验证。激励模块同样可以使用硬件描述语言来编写。
版图规划(Floorplanning):将网表文件中的快放置到芯片的合适位置上。具体工作是计算各个快的大小并安排它们的位置,保持有高度连接的模块在物理上也是彼此连接的。随着工艺技术的改进,连线的作用越来越重要,版图规划对最终结果的影响也越来越大。
布局(Placement):确定快中单元的位置。具体工作是安排布线面积和可变动快中的单元位置以及最小化ASIC面试和互连线密度。
相关文档
最新文档