尽管近年来已经开发了各种方法并且EDA工具中使用的优化方法来模拟大型复杂设计,但验证工程师经常抱怨性能问题,因为模拟中的任何延迟都被视为项目的最大障碍最后期限。对最终结果不满意,设计和验证(DV)工程师正在合作,以产生有助于缩短仿真时间的新想法。
然而,作为标准行业惯例,半导体设计中的所有专有块必须独立和正确验证。 大多数时候,公司选择在“块级”本身验证这些专有块,考虑到验证所有合法,错误和可能的非法场景所需的灵活性。一些SoC级场景并不总是真正有意义,但即便如此,最好在块级验证程序中覆盖它们以检测任何缺陷。 DV工程师可能不会遇到块级验证的模拟速度慢,但当他们转向芯片级或SoC级验证时,它开始变得日常普遍。在定义验证和验证环境时有效规划某些事情有助于清除某些重大问题,同时节省大量时间而不会妥协。
什么是UVC?
在设计验证领域,UVC越来越受欢迎。 UVC是通用验证方法(UVM)的一部分,该方法已得到Cadence,Mentor和Synopsys等领先企业的认可。非正式地,许多工程师将“UVC”缩写拼写为“UVM验证组件”。
UVC在接口上的作用是充当接口驱动程序(Active UVC)或监视器(Passive UVC)。它也可以同时提供基于所需功能场景模拟设计所需的所有控件。在SoC设计验证中,通常有几个UVC位于不同的接口上,以根据相应的接口协议驱动/监控信号。因此,可以使用几个UVC作为主要构建块来显示整个验证环境。
图1SoC设计的框图(部分)
图1显示了SoC设计的一部分,该设计具有多个复杂的专有模块(B0-B6)和用于AXI互连和DDR4控制器模块的第三方定制IP。块B0-B4充当AXI写或读主机,具体取决于它们对DDR4控制器的请求类型。 AXI总线接口用于片上通信。 D128/256表示数据线的宽度(128或256位),A32表示地址线的宽度。 B0和B4具有AXI写入主控的实例,B2具有AXI读取主控,B1和B3具有AXI写入和读取主控实例。 AXI互连将来自B0到B4主设备的所有请求发送到DDR4控制器块的从设备P0到P4端口上的相应请求,该端口连接到DDR4存储器。 AXI互连实现了流量控制机制,以根据其为B0-B4的多个请求提供服务的带宽来产生背压。
考虑到B0-B6的复杂性,我们假设每个块的块级验证都是在某个时间点开始的。与此活动并行,考虑到项目进度,端到端流程的芯片级别验证也应该快速开始。现在想象一下,如果所有或部分第三方IP都不可用,或者它们可用但未集成到设计中,需要几周时间才能集成。在这种情况下,芯片级验证工程师可能会选择等到设计完成就绪,然后再开始,但这可能会导致后续验证阶段的计划紧缩。在我们可以在不需要返工的情况下进展的情况下,有效的替代方案是什么?
图2显示了处理这些情况的有效解决方案。假设AXI互连设计已准备就绪,但DDR4 PHY控制器尚未推出。
图2使用AXI从器件UVC取代DDR4控制器
该解决方案利用AXI Wr/Rd从器件UVC和UVC用于从器件存储器。它集成了参数化的UVC(axi_p * _wr/rd_rcvr),用于处理指定数据宽度的AXI接口。现在,为了模仿相同的行为,就好像它只连接了一个DDR4内存一样,DDR4内存必须用128D&的两个从存储器代替。 256D,以及将128D的AXI部分转换为256D的基本转换器。这可确保任何数据宽度的Wr/Rd接收器都可以执行对内存中相同地址范围的写入/读取。
在集成DDR4控制器设计之前,所有这些Wr/Rd接收器都充当“有源”组件。它们执行对从存储器的写/读操作,并响应从B0-B4块接收的任何AXI写/读请求。一旦集成了DDR4控制器设计,UVC就变为无源,因此它们可以作为接口监视器,为参考模型提供端到端预测。
UVC的主要优势方法:
芯片级验证可以与块级验证并行开始。 DV团队可以在没有DDR4控制器的情况下证明测试用例和端到端场景,并且可以让他们准备好在DDR4集成后运行。这有助于隔离DDR4控制器问题(如果有的话)与专有块中的实际问题。
由于缺少庞大的DDR4控制器设计代码,芯片级的仿真速度相对较快。这可以节省大量的仿真运行时间。
UVC可以提供更大的灵活性和控制,以生成任何不常见的情况,这些情况可能无法通过DDR4控制器设计进行仿真。这种情况的例子是“产生人工背压”以验证AXI互连对B0-B4块的背压的预期传播。
控制AXI UVC的“有源”/“无源”模式,它们既可以用作接口监视器,也可以用作驱动程序+监视器。这不需要额外的更改来在设计中“使用”或“没有”DDR4控制器运行相同的测试。
DDR4 DRAM存储器的仿真模型与SDF反注释门级仿真(GLS)无法正常工作,因此这种UVC方法可用于填补此类时序GLS的空白并验证最终网表下降。由于GLS在验证周期结束时完成,这是项目开始时无法预见的一大优势。
使用UVC方法的限制:
必须花时间开发(如果不可用)并集成此类UVC
就像模拟一样采用DDR4控制器集成设计,无法使用UVC方法模拟实时背压或带宽情况。应确定此类情况与DDR4控制器(完整)设计一起运行
摘要
考虑到设计协议及其复杂性,DV工程师总是提出有效验证方法的新想法,为实现完整的验证计划增加价值。本文中的建议方法已帮助许多超过1亿门ASIC的验证时间表满足其最后期限。类似的方法可用于具有不同协议的设计,用于跨块的片上通信和处理外部存储器的协议。
全部0条评论
快来发表一下你的评论吧 !