首页 > 其他分享 >【ASIC设计】ASIC设计流程

【ASIC设计】ASIC设计流程

时间:2022-10-10 15:38:50浏览次数:47  
标签:文件 标准单元 -- 流程 ASIC 时序 Pad 设计


项目策划
形成项目任务书(项目进度,周期管理等)。
流程:【市场需求--调研--可行性研究--论证--决策--任务书】。
 
系统说明及行为描述
    确定设计对象和目标,进一步明确芯片功能、内外部性能要求,参数指标,论证各种可行方案,选择最佳方式,加工厂家,工艺水准。系统说明是芯片设计到逻辑和布局的第一步。它是在设计付诸实践之前来进行的,抽象地描述了被设计的数字电路的功能、端口以及整体的结构。然后根据系统说明进行行为描述来分析电路设计的功能、性能、服从的标准以及其它高级问题
 
RTL描述
首先,设计者需要制定所要设计数字电路的工作流程或结构框图,然后把整个任务划分为几个模块,分模块建模,采用HDL语言进行结构设计。
工具:UltraEdit,vi
 
代码调试
对设计输入的文件做代码调试,语法检查。
工具: Debussy。
前仿真
功能仿真.
工具: Mentor公司的ModelSim、Synopsys公司的VCS和VSS、Aldec公司的Active、Cadense公司的NCsim.
 
逻辑综合
逻辑综合是将逻辑级的行为描述转换成逻辑级的结构描述,即逻辑门级网表。逻辑级的行为描述可以是状态转移图、有限状态机,也可以是布尔方程、真值表或硬件描述语言。逻辑综合过程还包括一些优化步骤,如资源共享、连接优化和时钟分配等。优化目标是面积最小,速度最快,功耗最低或他们之间的某种折衷。
工具: 有Mentor公司的LeonardoSpectrum、Synopsys公司的DC、Synplicity公司的Synplify。
 
前端结束
________________________________________
数据准备。对于 CDN 的 Silicon Ensemble而言后端设计所需的数据主要有是Foundry厂提供的标准单元、宏单元和I/O Pad的库文件,它包括物理库、时序库及网表库,分别以.lef、.tlf和.v的形式给出。前端的芯片设计经过综合后生成的门级网表,具有时序约束和时钟定义的脚本文件和由此产生的.gcf约束文件以及定义电源Pad的DEF(Design Exchange Format)文件。(对synopsys的Astro 而言,经过综合后生成的门级网表,时序约束文件 SDC 是一样的,Pad的定义文件--tdf,.tf文件technology file,Foundry厂提供的标准单元、宏单元和I/O Pad的库文件就与FRAM, CELL view, LM view 形式给出(Milkway参考库 and DB, LIB file)
________________________________________
进入后端
 
布局和布线 (floorplan and routing)
物理综合也称版图综合(LAYOUTSYNTHESIS),它的任务是将门级网表自动转换成版图,即完成布图。布图规划(FLOORPLAN)是对设计进行物理划分,同时对设计的布局进行规划和分析。
在这个过程中:
布局规划。主要是标准单元、I/O Pad和宏单元的布局。I/O Pad预先给出了位置,而宏单元则根据时序要求进行摆放,标准单元则是给出了一定的区域由工具自动摆放。布局规划后,芯片的大小,Core的面积,Row的形式、电源及地线的Ring和Strip都确定下来了。如果必要在自动放置标准单元和宏单元之后,你可以先做一次PNA(power network analysis)--IR drop and EM.
Placement -自动放置标准单元。布局规划后,宏单元、I/O Pad的位置和放置标准单元的区域都已确定,这些信息SE(Silicon Ensemble)会通过DEF文件传递给PC(Physical Compiler),PC根据由综合给出的.DB文件获得网表和时序约束信息进行自动放置标准单元,同时进行时序检查和单元放置优化。如果你用的是PC +Astro那你可用write_milkway, read_milkway  传递数据。
时钟树生成(CTS Clock tree synthesis) 。芯片中的时钟网络要驱动电路中所有的时序单元,所以时钟源端门单元带载很多,其负载延时很大并且不平衡,需要插入缓冲器减小负载和平衡延时。时钟网络及其上的缓冲器构成了时钟树。一般要反复几次才可以做出一个比较理想的时钟树。---Clock skew.
STA 静态时序分析和后仿真。时钟树插入后,每个单元的位置都确定下来了,工具可以提出Global Route形式的连线寄生参数,此时对延时参数的提取就比较准确了。SE把.V和.SDF文件传递给PrimeTime做静态时序分析。确认没有时序违规后,将这来两个文件传递给前端人员做后仿真。对Astro 而言,在detail routing 之后,用starRC XT参数提取,生成的E.V和.SDF文件传递给PrimeTime做静态时序分析,那将会更准确。
ECO(Engineering Change Order)。针对静态时序分析和后仿真中出现的问题,对电路和单元布局进行小范围的改动.
Filler的插入(pad fliier, cell filler)。Filler指的是标准单元库和I/O Pad库中定义的与逻辑无关的填充物,用来填充标准单元和标准单元之间,I/O Pad和I/O Pad之间的间隙,它主要是把扩散层连接起来,满足DRC规则和设计需要。
布线(Routing)。Global route-- Track assign --Detail routing--Routing optimization 布线是指在满足工艺规则和布线层数限制、线宽、线间距限制和各线网可靠绝缘的电性能约束的条件下,根据电路的连接关系将各单元和I/O Pad用互连线连接起来,这些是在时序驱动(Timing driven ) 的条件下进行的,保证关键时序路径上的连线长度能够最小。--Timing report clear
DRC和LVS
DRC是对芯片版图中的各层物理图形进行设计规则检查(spacing,width),它也包括天线效应的检查,以确保芯片正常流片。LVS主要是将版图和电路网表进行比较,来保证流片出来的版图电路和实际需要的电路一致。
工具Synopsyhercules/ mentor calibre/ CDN Dracula进行的.Astro also include LVS/DRC check commands
 
Tape out
在所有检查和验证都正确无误的情况下把最后的版图GDSⅡ文件传递给Foundry厂进行掩膜制造
 
Formality
     任何时候对一个电路设计进行了改动之后,都可以使用Formaliyt来验证这种改动是否影响或者改变了该设计的逻辑功能。如果证实了改动后的设计和源设计是等价的之后,就可以把修改后的设计作为下一次验证时的“源设计”。由于结构相似的设计所需要的比较时间较短,这样也就节省了花费在验证上的时间。
 

标签:文件,标准单元,--,流程,ASIC,时序,Pad,设计
From: https://blog.51cto.com/u_15815923/5743785

相关文章

  • 基于焦散线方法的自加速光束设计
       理论上,具体来说主要是通过魏格纳函数法,来产生多种自加速的光束,即中文文章中2.2节的相空间设计自加速光束方法,模拟出相应的图结果。魏格纳函数W(x,kx)可以表示为: ......
  • CIC滤波器的设计与仿真
        CIC滤波器已经被证明是在高速抽取和插值系统中非常有效的单元,具有结构简单,易于工程实现的特点。CIC滤波器是数据通讯中的常用模块,一般用于数字下变频(DDC)和数......
  • JavaScript高级程序设计笔记04 变量、作用域与内存
    变量、作用域与内存变量特定时间点一个特定值的名称。分类原始值:按值访问复制:两个独立使用、互不干扰引用值(由多个值构成的对象):按引用访问操作对象时,实际上......
  • MATLAB GUI设计——菜单选项中加入图标
    GUI中添加图标,能很大程度上提高用户的友好度,显得格外舒适。MATLAB官方并没有提供向菜单栏中添加图标的直接方法,基于figure设计的GUI中,可以通过JaveFrame属性间接设置图标......
  • 利用MVC设计模式构建GUI(PyQt5版)
    今天介绍一个PyQt5中利用MVC设计模式构建GUI的例子,这个案例来源于《MATLAB面向对象编程——从入门到设计模式(第2版)》第7章内容,关于存取款的GUI工具设计,详情请参考127~160页......
  • 插头亚马逊CE认证流程
    ​​接插件​​一般分为插头和插座两半。插头一般指不固定的那一半。插头是指一个可活动的接头,与使用电力的装置之间透过电线连接;而插座则是固定在设备或建筑结构上。CE认证......
  • Git&Gitlab开发流程与运维管理
     Git&Gitlab开发流程与运维管理  作者刘畅时间2020-10-31 实验系统版本centos7.5主机名称ip地址配置安装软件controlnode172.16.1.1204核/8G/60Gdocker、git、gitlabsla......
  • JVM结构和执行流程
    先说几个关键点:栈:1.每个线程创建一个栈,栈存方法执行信息2.栈线程私有无法共享堆:1.JVM全局唯一的2.所有线程共享的3.堆中存对象信息,对......
  • 一文理清pycharm+git+jenkins项目持续集成和自动化构建流程(Windows)
    最近得空,整理了一下pycharm+git+jenkins实现python项目持续集成和自动化构建的配置流程,包括软件包、所需插件的安装配置。1、安装和配置git    1.1安装git:官网下......
  • 测试用例设计的底层逻辑
    转载请注明出处❤️作者:测试蔡坨坨原文链接:caituotuo.top/aa1e1162.html你好,我是测试蔡坨坨。众所周知,测试用例是每个测试人员都绕不开的话题,也是大家习以为常的事情,无......