问个数模混合设计流程的主流方法
数字部分采用ARM标准单元库,将RTL描述用DC综合成门级网表,再用Encounter或者Astro做物理设计。
模拟部分在Virtuoso中完成设计仿真以及DRC和LVS等。
想问下这种情况下主流的设计方法是采用什么flow将这两部分放在一起进行设计和验证?
查了一下发现Cadence似乎提供了个AMS的flow,但是仔细试过才发现好像行不通,因为数字部分的标准单元库只有verilog和lib时序库,内部没有物理信息,无法做cell的extraction,只能对物理设计后的互连线做extraction,这样以来好像无法跟模拟部分一起进行仿真。
不知我的上述理解对不对?
同时想咨询下主流设计流程采用什么方法?
前仿就是AMS的flow跑transistor和verilog的混合仿真,当然也可以config成模拟的后仿netlist比如calibreview加verilog。数字部分的后仿看你是大analog加小数字还是大数字加小的analog。如果是大数字加小analog的话,可以用synopsys的XA+VCS。如果是小数字加大模拟的话,可以全部提成transistor level的netlist做仿真。
非常感谢回复!
前仿似乎没问题。
后仿在于标准单元库的单元内部看不到,也就是没有内部的layout,只有cell的形状以及pin的位置,cell的logic function是由verilog提供,timing由synopsis的lib提供,也就是说没有cell的layout,因此无法extraction,应该没法做transistor level的netlist仿真吧?
我下午时候找到了VCS+CustomSim的方案,应该就类似于您提到的XA+VCS吧?
这样看来,如果标准单元被foundary隐匿掉了的话,只能走digital-centric flow?无法走analog-centric flow?
我的理解是digital-centric在于:analog部分用virtuoso搞好,然后extract成spice netlist,然后放到synopsys dc/astro/encounter里面走digital flow,这些analog部分作为一个macro?
analog-centric在于:digital部分用dc/astro/encounter做好,扔到AMS designer里面跑仿真?这种情况似乎没法进行,对吧?
这样以来,只能走digital-centric flow?
以前用nanosim作cosim,fundary提供标准单元是可以转成spice网表的,不过肯定是非主流。
呃,我似乎找到一种将synopsys那个库转成带有时序的verilog netlist,叫做back annotation,然后弄到cadence的amsd flow里面一起仿真,不知这种方法靠谱吗?
嗯,明白你的意思。但是拿RTL和analog一起用ams cosim的话,往后面继续做怎么办?涉及到layout的话怎么办?RTL那部分总得搞成gate level,搞成layout,否则如果只是停留在RTL描述的话好像没有什么意义?RTL存在的意思也就是high level的evaluation吧?digital这部分总得去做implementation吧?
如果是analog part和digital part分别设计验证的话,似乎没太大问题。
关键是我感觉可能需要做个full chip的sign off的验证?所以我才想要把digital部分implement之后有layout的结果跟analog一起cosim。
单纯的digital的synthesis和physical design似乎没什么问题,但是担心跟analog一起的话,会影响analog的性能,也就是说还是想把整个design一起搞一搞signoff的验证。不知这种想法是否合理?
你是不是就是想做带数字的全后仿?
八成跑不起来啊。。。或者很慢很慢,压根不具有实用性
你这还是别跑的动,跑的动了还要啥经验,这么高级的影响都工具化了硅公还能干啥
嗯,是的,没法跑extraction之后的post sim。
请问back annotation之后的gate netlist跟analog一起跑这个靠谱吗?
另外,back annotation你都用什么工具做的?
signoff好像本身确实比较耗时吧?
慢点儿没关系,只求能够验证验证。
对的,想做带数字的全后仿,无奈standard cell内部layout没有,只有timing lib。如何破?
按照flamingliu的说法,我的design似乎仅仅关注timing,对power noise并不是很care,这样的话用back annotation的方法make sense么?
应该还是靠谱的,不过主要还是靠design阶段保证,不可能最后靠mixed-signal simulation来保证timing。
没记错的话,cadence的ams应该可以读sdf file?
嗯 好的 看来除了走vcs+xs的cosim以为还可以尝试back annotation这个路子。
多谢啦!