1. 首先是使用HDL语言进行电路描述,写出可综合的代码。然后用仿真工具作前仿真,对理想状况下的功能进行验证。这一步可以使用Vhdl或Verilog作为工作语言,EDA工具方面就我所知可以用Synopsys的VSS(for Vhdl)、VCS(for Verilog)Cadence的工具也就是著名的Verilog-XL和NC Verilog
2.前仿真通过以后,可以把代码拿去综合,把语言描述转化成电路网表,并进行逻辑和时序电路的优化。在这一步通过综合器可以引入门延时,关键要看使用了什么工艺的库这一步的输出文件可以有多种格式,常用的有EDIF格式。综合工具Synopsys的Design Compiler,Cadence的Ambit
3,综合后的输出文件,可以拿去做layout,将电路fit到可编程的片子里或者布到硅片上这要看你是做单元库的还是全定制的。全定制的话,专门有版图工程师帮你画版图,Cadence的工具是layout editor单元库的话,下面一步就是自动布局布线,auto place & route,简称apr cadence的工具是Silicon Ensembler,Avanti的是Apollo layout出来以后就要进行extract,只知道用Avanti的Star_rcxt,然后做后仿真,如果后仿真不通过的话,只能iteration,就是回过头去改。
4,接下来就是做DRC,ERC,LVS了,如果没有什么问题的话,就tape out GDSII格式的文件,送制版厂做掩膜板,制作完毕上流水线流片,然后就看是不是work了做DRC,ERC,LVSAvanti的是Hercules,Venus,其它公司的你们补充好了 btw:后仿真之前的输出文件忘记说了,应该是带有完整的延时信息的设计文件如:*.VHO,*.sdf
RTL->SIM->DC->SIM-->PT-->DC---ASTRO--->PT----DRC,LVS--->TAPE OUT 1。PT后一般也要做动态仿真,原因:异步路径PT是做不了的 2。综合后加一个形式验证,验证综合前后网表与RTL的一致性 3。布版完成后一般都会有ECO,目的手工修改小的错误
SPEC->ARCHITECTURE->RTL->SIM->DC->SIM-->PT-->DC---ASTRO--->PT----DRC,LVS--->TAPE OUT
SPEC:specification,在进行IC设计之前,首先需要对本IC的功能有一个基本的定义。
ARCHITECTURE:IC的系统架构,包括算法的设计,算法到电路的具体映射,电路的具体实现方法,如总线结构、流水方式等。
在IC前端的设计中,ARCHITECTURE才是精华,其他的大部分都是EDA工具的使用,技术含量不高。
dv, design verification,验证 和前端、后端并列。
DFT, design for test. 前后端合作,并与tapeout 后测试合作。
ir-drop. 后端和验证合作。 SI, 后端。
low-power design ,前后端合作.
数字ic设计流程2
根据我的工作写了一个数字ic的设计流程,肯定有很多不足甚至错误的地方,欢迎大家批评指正!数字ic设计流程; 1. 需求分析: 只有需求分析做好了才可能设计出一个好的产品。这个工作主要是根据市场需求规划整个chip所要实现的全部功能,这也是一个很痛苦的工作,因为市场要求设计人员设计出功能越多越好并且单价越低越好的产品(mission impossible ^_^)。如果你做得是一个很有前瞻性很有技术性的chip,那就更要命了,在你做规划的时候,你用的协议很可能只是一个草案,到你的代码仿真通过或者即将投片的时候,草案变成了一个国际标准,并且作了修改,修改的那部分你很可能就没有实现(痛苦啊),这个时候你怎么办?所以需求分析是很重要的,不过国内的工程师一般不重视这一步。 2. 系统设计: 就是考虑把需求怎么实现的过程。这个阶段涉及到的工作是时钟模块的实现思想、各个具体模块的划分、模块之间的接口和时序关系、管脚说明及封装、寄存器功能描述及编址等。Active HDL这个工具可以很清楚的表达出模块之间的层次和关系,推荐在系统设计的时候使用。系统设计做的好对代码编写和仿真有很大帮助,可以很大程度上减轻后端的压力。3. 代码编写: code,大家最喜欢的阶段也是大家认为比较没有前途的阶段。不过要想做出来的chip成本低,一个好的高质量的code也是很重要的。流行的编辑工具是Ultraedit32,Active HDL也很不错,没有这些工具就用记事本吧,赫赫,工作站上一般就是用vi编辑器了。 4. 代码仿真: 仿真用的工具工作站上的有VCS、nc_verilog和nc_sim等,也有用modelsim的,不过比较少;pc上一般就是用modelsim了,Active HDL也有比较多的人用,我觉得pc上还是modelsim比较好,但是Active HDL可以生成test_bench的框架,要是两个工具都有,不防结合起来用。 5. fpga测试: 这一步不是必需的,但是fpga测试很容易找出代码仿真很难发现的错误,比如异步fifo的空满判断等,只是fpga验证环境的构建比较困难。在fpga阶段经常用到下面的一些工具:Synplicity这是一个非常好的综合工具,综合效率比较高、速度也比较快,同时也能检查出代码编写中的一些错误,FPGA Express也不错。布线工具根据选用的不同公司的fpga而选用不同的工具,Xilinx公司的产品用ISE,Altera公司的产品选用QuartusII或者MaxplusII。 以上就是数字ic设计的所谓的前端工作,下面是后端流程,后端流程的工作和投片厂家有关,设计人员的工作量在不同厂家之间相差还是比较大的 6. 综合: 综合是指将rtl电路转换成特定目标(用约束来描述)的门级电路,分为Translation、Optimization和Mappin,设计者需要编写约束文件,主要为了达到时序,面积,功耗等的要求,涉及到的综合工具如synopsys的design compiler,cadence的ambit buildgates(包含在se_pks or spc中)。毫无疑问,synopsys的DC是大家常用的,最新的版本是2003.06版。还有一个工具是magma,主要是面向0.18及以下工艺,发展比较快。 7. 门级验证: 这一步是为了保证布局布线的正确性。 门级验证包括了门单元的延时信息,因而需要厂家工艺库的支持。 一开始要用到formality进行功能上的形式验证。 通过formality检查后,要进行动态仿真和静态时序分析(STA)。STA的工具常见的工具 是synopsys公司的primetime,这种工具只用来分析门级的时序,速度较快,对提高电路的分析速度很有帮助,可以在很短的时间找出timing violation,缩短验证所用的时间,并且分析的覆盖面比较广,不需要testbench。动态仿真和代码仿真一样,仿真用的工具有VCS、nc_verilog和nc_sim等,观察输出是否达到功能与时序的要求,这种验证方法需要testbench,对硬件要求高,速度慢,但是是一种比较可靠的方法 8布局布线 CADENCE的SPC、MONTEREY的ICWIZARD都是很好的工具,易于使用。 厂家根据工艺会加入线延时信息返回给设计者。 9后仿真 使用的工具和门级验证一样。有些厂家为了尽可能缩短后端时间,可以帮你做formality检查,但是需要设计者提供源代码,设计者一般都会拒绝。 好了,剩下的事情就让厂家去做吧。 欢迎大家批评指正!
我对IC设计流程的一些理解(模拟IC部分)
对于模拟Asic而言,在进行设计时是不能使用verilog或者其他的语言对行为进行描述,目前已知的可以对模拟电路进行描述的语言大部分都是针对比较底层的针对管级网表的语言,比如在软件hspice和hsim所使用的面向管级网表连接关系的语言——spice。因此如果使用语言对电路进行描述的话,在遇到比较大型的电路时使用门级或者管级网表就比较麻烦。所以,一般在进行模拟电路设计的时候可以使用图形化的方法来对模拟电路进行设计。比较常用的工具有Cadence公司的Virtuso、Laker、Epd(workview),其中Cadence自带有仿真器spectra可以实现从电路图输入到电路原理图仿真,以及根据电路图得到版图并且可以利用cadence的其他工具插件实现完整的版图验证,从而完成整个模拟电路芯片的设计流程。但是对于Laker和Epd而言,这些软件所能完成的工作只是利用foundry模拟库中基本单元构建模拟电路图,所得到的只是模拟电路的网表,而不能对该模拟电路进行仿真,因此一般在使用laker或者EPD的时候都需要将得到的模拟电路转化为网表的形式,利用第三方的仿真软件进行仿真,比如使用hsim、hspice或者pspice对得到的网表进行仿真。然后再使用第三方的版图软件进行版图设计和DRC、ERC、LVS检查,所以从设计的方便性上讲使用Cadence的全系列设计软件进行模拟电路设计是最为方便的。
在得到模拟电路的版图后就可以根据版图提取寄生参数了,寄生参数的提取方法和前面所讲的数字电路的版图参数提取是完全相同的,利用提取得到的寄生参数就可以得到互联线所对应的延迟并且将该延迟或者是RC参数反标回模拟电路图中去,从而得到更符合实际版图情况的电路图。对该电路图仿真就可以完成后仿真,得到更符合实际芯片工作情况的信号波形。
因此,在模拟电路设计中版图设计是非常重要的,一个有经验的版图设计师可以很好将各种模拟效应通过版图来避免,从而在相同设计的情况下得到性能更好的芯片设计。另外,一个准确的模拟单元库对于得到更贴近实际流片测试结果的仿真波形也具有很大帮助的。可惜目前国内的foundry做的库都不是很理想,做的比较好的就只有TSMC、UMC这种大厂。
欢迎各位达人指出错误,嘿嘿!
因篇幅问题不能全部显示,请点此查看更多更全内容
Copyright © 2019- huatuo0.com 版权所有 湘ICP备2023021991号-1
违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com
本站由北京市万商天勤律师事务所王兴未律师提供法律服务