我实际测过Cadence Virtuoso IC617以及Synopsys IC Compiler 2020,遭遇过工具混合使用期间数据转换出差错的情况,也碰到过库文件不兼容的情况。
操作前务必检查PDK库版本
不少新手一开始就急忙着手建工程,然而在画版图时却发觉管子调不出来。首要的实操步骤是确认PDK库与工具的版本相匹配。开启Cadence Virtuoso,在CIW窗口执行load”check_pdk.il”脚本,查看返回的版本号。要是PDK是2022年的,而工具是2018年的,极有可能报invalid technology file错误。
【新手避坑】
常见出现的报错情况为, Error get_cellView: file not found。其核心导致原因在于, PDK库当中的cell view版本处于过低的情况, Virtuoso新版本在进行读取操作时默认采用oa格式,而旧版本所采用的则是cdb格式。极速解决之道:在Library Manager内选定库,点击Edit,再点击Library Path,把techLibFile路径指向你已下载好的正确版本,别手动改名,直接复制路径粘贴。
紧接着开展第二个步骤,将数字网表导入至Virtuoso,在IC617的File -> Import -> Verilog里,挑选你综合后的.v文件,在Target Library Name填上你建好的库名。此处存在一个关键参数,那就是默认的Time Scale为1ns/1ps。然而要是你所进行的是高速RF设计,那就必须将其改换为1ps/1fs。不然的话,后续仿真的时序将会全部混乱。
【新手避坑】
导入的时候会报出 WARNING (LBR-4) 这样的提示,提示内容为 No view named ‘symbol’ found这种情况,原因在于你所导入的模块缺少symbol视图,解决的办法是,返回Library Manager,用右键点击该cell这一操作动作 ->;进行New -> View的步骤,选择symbol,然后从其他已经存在的symbol那里拷贝粘贴端口就行。千万不要重新去画,否则特别容易出现对不上pin顺序的情况。
关键参数推荐值与方案对比
排在第三位的步骤是去设定仿真环境方面的参数,在Analog Design Environment这个环境里,点击Setup之后再点击Simulator,从中挑选spectre。原因是, liberal模式,其速度快,然而会遗漏毛刺, moderate模式,处于低频时情况尚可,可到GHz级别,就直接报convergence failure,唯有conservative模式,能够于速度与精度之间达成平衡,使得后续LVS不会报误判。
在这个时候,将会碰到一个呈现高频状态且完整无缺的报错内容: Error: The simulator has reached a state of convergence failure. The last accepted point is at time=1.2345e-09。完成一整套完整且无其他途径仅一站即可搞定的解决流程:先的第一步,在ADE所对应的Options里的Analog那里,将Max Iterations这个项目从原本的50变更成为200;接着的第二步,把reltol改变成从1e – 3直至1e – 6;最后的第三步,在Simulation对应的Netlist and Run之前,要先凭借手动方式去删除掉~/simulation这个目录下的旧run目录。三步走完,基本能跑通。
最终对两组实操方案对比,方案A:全然采用Cadence工具链,自原理图直至版图,其优点在于工艺厂PDK支持最为出色、数据无需转换,不足之处是在开展数模混合时后端流程显得笨重,方案B:数字部分运用Synopsys的Design Compiler + IC Compiler,模拟部分采用Cadence,在交接时借助Milkyway库来实施数据转换。适合数字模块占比超70%项目的是方案B,适合纯模拟或者小规模混合信号的是方案A。要是新手仅进行模拟项目,切勿触碰方案B,因为数据转换一次就会丢失好些网表连接,排查时会让你对人生产生怀疑。
此工具所运用之对比方法,在纯数字后端项目而言并不适用,原因在于你全然无须开启Virtuoso的模拟仿真环境。其替代方案是直接运用Synopsys的VCS去运行功能验证,再与PrimeTime协同开展时序分析,整个流程连贯一体,省去了跨工具数据转换所带来的麻烦。










