随着SOC/ASIC 设计规模不断增大,且结构愈加复杂,导致验证的复杂度呈指数级增长。为了缩短芯片的上市周期,在不同设计阶段工程师们往往选择不同的仿真验证工具,提高整个芯片开发效率。在一个芯片的设计开发流程中,软件仿真是其中重要的一个部分。这种基于软件的逻辑仿真可以说在整个功能验证中都需要用到。 什么是软件仿真? 软件仿真,简单说来,就是用软件和编程语言将所有的硬件特征虚拟出来。它先是通过计算机结合测试激励来模拟芯片在真实环境下的运行状况,帮助工程师通过各种调试手段来判断运行结果是否符合预期。由于它能够较快速地搭建一个仿真环境,十分简便;而且软件仿真对DUT的结果可视化较好(输出波形可直接观测),可以以用户友好的GUI模式来进行debug;工程师也可以随时暂停或者中断验证工具的运行,提高了整个debug的效率。此外,回归测试(regression test)是逻辑仿真不能忽略的一部分。对于芯片这种人类史上既宏大又细微的工程,任何一个改变就像多米诺骨牌一样,牵一发而动全身。因此,工程师会重新进行测试以确认修改没有引入新的错误或导致其他代码产生错误。这样的动作就是回归测试,也是软件仿真的主要功能之一。基于以上特性,在数字芯片的前端设计中,软件仿真是工程师们常规必备的验证工具,其重要性不言而喻。 软件仿真面临哪些挑战? 不过,这种通过运行软件的方式验证芯片的设计方案固然简单方便,但对于SOC/ASIC规模越来越大,设计越来越复杂的今天,仿真运行需要花费的时间也越来越长。从运行效率来看,软件仿真更适合一些小规模的设计,尤其是在一些模块级别的功能验证上,软件仿真的编译速度很快,这在一定程度上会加快整体项目的验证速度。此外,软件仿真会在具有不同物理抽象层次(级别)下进行,例如晶体管级、逻辑门级、RTL级和行为级。为了加速整个芯片开发周期,在外购IP越来越普遍的今天,芯片开发大多是自主设计部分和多个IP模块集成,形成复杂芯片的设计。如果交付的IP模块源代码并不是RTL代码,就没办法使用软件仿真进行验证。因此,基于以上两点,软件仿真在运行时,还需要支持连接第三方工具如数学建模,硬件仿真加速器,原型验证平台等共同完成功能仿真。虽然软件仿真技术对工程师来说非常有必要,但就现有的商业模式来说,提供的商用软件仿真服务会以软件许可证(software license)的形式收费。但在实际使用时,工程师们难以依赖经验进行有效算力与工具需求计算的匹配。因为项目开发中对于算力的需求是波动的。有时候已购买的license无法满足现实使用需求,有部分设计工程师获取不到就会造成抢占或拥堵。但如果超前部署,又会带来巨额的成本投入,有可能在闲置时造成资源的浪费。这就对芯片开发效率产生致命影响。对于企业来说怎么平衡生产和效益匹配的问题是当下急需解决的事情。 高性能、多语言混合的 商用数字软件仿真工具 PegaSim 芯神驰是思尔芯倾力打造的一款高性能、多语言混合的商用数字软件仿真工具,已得到多家海内外厂商验证。 // 关于思尔芯S2C 思尔芯(S2C)自2004年设立上海总部以来始终专注于集成电路EDA领域。作为业内知名的EDA解决方案专家,公司业务聚焦于数字芯片的前端验证,已覆盖验证云服务、架构设计、软件仿真、硬件仿真、原型验证等工具。已与超过500家国内外企业建立了良好的合作关系,服务于人工智能、超级计算、图像处理、数据存储、信号处理等数字电路设计功能的实现,广泛应用于物联网、云计算、5G通信、智慧医疗、汽车电子等终端领域。 公司总部位于上海,并建立了全球化的技术研发与市场服务网络,在北京、深圳、西安、香港、东京、首尔及圣何塞等地均设有分支机构或办事处。 全文完 (责任编辑:admin) |