在2020年的用户大会(SNUG)上,Synopsys介绍了一款新的数字前端工具RTL Architect, 虽然现场没有演讲提供使用体验,但是相信不少公司已经在测试导入了。到底这是一款什么产品呢?让我们来一探究竟!
相信很多前端设计者都有经历,在现今的超大规模、高性能或者低功耗芯片设计中,由于物理设计的很多限制,很多初版RTL设计都无法达到理想的PPA,不得不经过和综合、后端设计的沟通来多次迭代和修改设计才能够最终实现收敛。
在此之前,很多前端工程师所跑的逻辑综合大多数是小模块级别,甚至在没有物理约束的情况下使用wire load model进行综合,虽然能够发现一些问题,但是由于与后端的实际物理情况差距较大,很多潜在的长距离path, high-fanout path, congestion area都无法得到很好的模拟。如果是使用DCT/DCG来综合,在一定程度能够缓解,但是仍然可能有另外的问题如:很多的前端模块其实是合并在一起得到的后端的block,因此大部分模块并没有现成的物理约束如size, port位置, 电源绕线等信息可用;另外即使有这些约束也很可能和后端的最新floorplan有较大区别,尤其是memory和port较多的模块;最重要的是,DC使用的数据格式和物理优化引擎与后端工具不同,导致correlation较差。所有的这些问题都会导致更长的反馈周期和更多的迭代次数。
RTL Architect看起来是针对这些问题而推出的一款工具。根据Synopsys的介绍,它主要的功能有以下几种功能:
个人认为这个工具最重要的功能是physical floorplanning和unified GUI&Database,其目的是打通前端设计和物理实现的壁垒,让设计者能够更快地发现和解决问题。
首先,根据小编的测试,设计者可以在综合阶段使用和后端工具完全相同floorplan和powerplan的命令来设计物理约束,能够以更接近后端的条件进行综合和优化;如果对后端的流程和命令不太了解,也可以选择让工具自动做floorplan来生成物理约束,只不过这样做出的floorplan会缺少一些如physical only cell和power绕线的约束而让优化变得比较乐观。
第二,RTL Architect使用的数据格式NDM和后端工具ICC2一致,和已经在推广的RTL-GDSII实现工具Fusion Compiler也相同。因此在以后的各个阶段的设计中,可以做到数据的无障碍传递,能够进一步促进前后端的交流和沟通。根据小编的测试,RTL Architect可以无障碍打开和操作后端保存的NDM数据,可以让设计者更直接地拿到物理设计的数据和结果。
第三,RTL Architect的图形界面也与ICC2和Fusion Compiler一致,很多后端的结果查看和分析功能都能够从这个工具中启动,十分有利于设计者分析问题。当然这也需要设计者对后端的概念和知识有基本的了解。根据小编的测试,用这个工具读入设计、加入物理约束并综合优化后,图形界面大概是这个样子,可以显示设计的各种信息,也能够从最左侧的物理界面选中某些cell直接定位到最右侧的RTL代码,十分方便。个人认为这里面的大部分功能都不算新鲜,但是真正做到前端和后端的一致性和连贯性还是比较有新意。
物理界面方面和ICC2完全相同,下面这个图后端工程师应该很熟悉。但是和ICC2也并不完全一样,因为部分后端功能是处于disabled的状态,比如post-cts的优化clock\_opt, route\_opt等和chipfinish用的filler insertion, ICV-in-Design等。据小编测试,这个工具可以用rtl\_opt命令做到类似place\_opt的效果,所有的cell都摆放好并且是legalized的状态,而且也可以做支持传统CTS和multisource, fishbone等时钟树综合。个人认为这对设计者已经足够发现和分析问题了。
至于其它功能,schemetics分析不一定有verdi好用,timing分析和DC差距不大,clock tree analyzer用到场景应该的也不会很多,就不详细讲了。尝鲜功能基本到这里,后面我会详细测试一下其主要功能并对比QoR,敬请关注。
相关文章
如果大家有任何后端技术与职业发展方面的问题,抑或关于数字后端感兴趣的技术话题想要了解和探讨,欢迎关注我的知乎专栏: 数字IC后端设计工程师修炼之路同时欢迎关注微信公众号:数字后端芯讲堂,一起探讨技术,共同提升!
本极术专栏也会同步更新芯片设计后端的技术干货,也请关注数字IC后端设计工程师修炼之路。