CorelDRAW Graphics Suite非凡的设计能力广泛地应用于商标设计、标志制作、模型绘制、插图描画、排版及分色输出等等诸多领域。其被喜爱的程度可用事实说明,用于商业设计和美术设计的PC电脑上几乎都安装了CorelDRAW。
目前,Calibre工具已经被众多设计公司、单元库和IP开发商、晶圆代工厂采用为深次微米集成电路的实体验证工具。Calibre具有先进的分层次处理功能,是唯一能在提高验证速率的同时,可最佳化重复设计层次化的实体验证工具。Calibre DRC用于版图的设计规则检查,具有高效能、高容量和高精密度,还具有足够的d性,即便是系统芯片包含有设计方法差异极大的模拟与数字电路,也可以方便地进行验证。具体表现在以下几个方面:
(1) 检查内容丰富准确:既包括简单的DRC规则检查,如宽度、间距、包含关系等的检查,又包括一些复杂的DRC检查,如天线规则、电流流向规则和导线密度规则等。本公司所设计SoC为数字模拟混合电路,采用Calibre DRC除进行了宽度、间距、包含关系等简单的DRC检查外,也进行了一些复杂的DRC检查。其结果得到了台积电等晶圆厂的认可。
(2) 档执行方式可选:执行DRC档时,可以采用命令行的方式,也可以采用图形接口方式,Calibre Interactive-DRC是Mentor Graphics公司推出的Calibre实体验证的新版本(Calibre Interactive),它已作为Cadence Design Systems公司全定制设计环境Virtuoso的插件。现在,Virtuoso的用户能够直接从Virtuoso中调用Calibre Interactive进行工作。对于规模较小的版图应用Interactive非常方便而且直观的图形化接口便于初学者使用。在我们的计划开发过程中,同时用到了这两种方式。对于全定制版图,经常要选用图形接口工具Calibre Interactive-DRC,对于自动布局布线出来的SoC版图,我们采用了命令行的形式,可以快速地得到DRC检查报告。
(3) 结果浏览快捷方便:透过Calibre RVE(Results Viewing Environment,验证结果视图环境)和版图编辑器分析DRC的结果进行查错,准确快捷,一目了然。RVE可以指出错误类型和数目,使用Highlight命令可以直接标明版图中的出错地方(图2),可以很方便地修正版图中的错误。无论是规模不大的模拟电路,还是大规模的SoC电路,其DRC检查都可以透过启动RVE,对照版图和分析DRC结果档,可以快速修改错误或进行最佳化。
RVE能够同常见的版图环境实现自动整合,这些版图环境包括:Mentor Graphics的Calibre DESIGNrev和IC Station以及Cadence的Virtuoso和Seiko,Avant!的Apollo和Enterprise等工具。在我们的设计中使用的是Virtuoso。
(4) 多执行绪能力:Calibre的多执行绪技术(CalibreMT)提供多CPU环境下的杰出性能。Calibre几何划分版图层次化使之成为上千个独立的'执行绪'支持多处理器工作站或者服务器应用,每一个执行绪可以在独立的处理器上执行,这样的结构对性能的提高是巨大的。简单的'turbo'命令行选项就可以实现高性能的CalibreMT的调用,而不需要任何辅助文件或者设置约束信息的支撑。CalibreMT支持多CPU高度灵活的结构并且不会导致RAM的大量增加。
Calibre LVS简介
Calibre LVS是一个出色的版图与线路图对比检查工具,具有高效率、高准确度和大容量等优点。Calibre LVS不仅可以对所有的'组件'进行验证,而且还能在不影响性能的条件下,处理无效数据。主要表现在以下几个方面:
(1) 执行模式快捷方便:Calibre LVS有两种执行模式,即命令行模式和接口模式(Calibre Interactive-LVS)。采用命令行模式可以快速输入控制命令,快速执行,其结果精确稳定。Calibre Interactive-LVS能够自动选择验证正被编辑的单元,并且能够选择所有的Calibre执行时间选项以及标准文件的规格。该验证技术,允许用户选择特定标准文件以及独立规则和规则组的任何子集。GUI可控制普通使用的LVS选项,并记录执行设置过程。当采用修改控制或冻结标准档时,它可将执行配置数据传给Calibre。其接口友好,使用方便。我们在做LVS过程中,对于规模较小的模拟电路和数字模拟混合电路,一般采用方便的图形接口模式(Calibre
Interactive-LVS)进行对比检查,这样可以在启动RVE后,对照LVS结果文件和版图,将电路(或者网表)和版图直接对应起来检查,非常方便;对于大规模的SoC电路,由于命令行方式输入简单直接,执行速度更快,执行结果稳定精确,这次就采用了命令行方式来执行LVS,获得了极大的成功。
(2) 多种比较方式可选:Calibre LVS可以进行版图与电路图(layout vs shematic)和网表与网表(netlist vs netlist)的方式对比检查,还可以单独从版图撷取网表。而且,透过v2lvs命令,可以将自动布局布线所产生的verilog网表转换成spice网表,然后与自动布局布线的版图进行对比,作业简单方便,结果精确。由此可见,可以根据不同需要,在LVS验证过程的不同阶段,灵活地选择比较方式,以获得最有效的执行和最佳的结果。
(3) 侦错方便快捷:当执行完LVS后,Calibre LVS会产生一个结果报告,明确指出出错类型和数目,并且可以对层次化中的每个模块都有一个完整的LVS报告,简单明了。这个报告还能明确指出短路(特别是电源和地短路的情况)、开路、浮空或孤立的nets、pin swapping以及软连接等问题。Calibre LVS还能产生一个详细的结果数据库,其中包括原理图网表、从版图抽取的网表、结果报告、版图中的组件及连接关系等。这样透过RVE来读取这些数据,就可以在版图和网表中准确地Highlight有错误的地方(图1)。
由此可见,Calibre LVS所产生的结果文件结构清晰,又可以透过RVE来准确定位,能有效地帮助用户快速地消除错误以降低设计风险,这在我们计划的开发过程中得到了完全的体现。由于时间紧迫,致使后端设计时间相当紧张,正是Calibre LVS能准确无误、快速地查出短路、开路、浮空或孤立的网络、接脚、软连接等问题,还能很好地识别晶体管、闸级电路和模块级电路,才使得我们按时地完成了百万闸级的信息安全SoC的设计。
在反复使用Calibre LVS的图形接口的执行方式和命令行方式过程中,发现Calibre LVS图形接口的执行方式方便快捷,但是其稳定性不如命令行方式好,若能加以改进,则能进一步提高验证精准度。
总结:Calibre工具作为ASIC特别是SoC的实体验证工具,正成为设计公司的设计与半导体制造公司交接的标准框架。Calibre DRC和Calibre LVS使用方式灵活快捷,验证准确精密度高,结果浏览一目了然;加上Mentor Graphics公司能及时提供高水平的技术支持,因而可以快速地消除错误,降低设计成本,减少设计失败的风险。
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 这种大厂。欢迎分享,转载请注明来源:内存溢出
评论列表(0条)