尽管近年来已经开发了各种方法并且
EDA工具
中使用的优化方法来
模拟
大型复杂设计,但验证
工程师
经常抱怨性能问题,因为模拟中的任何延迟都被视为项目的最大障碍最后期限。对最终结果不满意,设计和验证(DV)工程师正在合作,以产生有助于缩短
仿真
时间的新想法。
然而,作为标准行业惯例,
半导体
设计中的所有专有块必须独立和正确验证。 大多数时候,
公司
选择在“块级”本身验证这些专有块,考虑到验证所有合法,错误和可能的非法场景所需的灵活性。一些SoC级场景并不总是真正有意义,但即便如此,最好在块级验证程序中覆盖它们以
检测
任何缺陷。 DV工程师可能不会遇到块级验证的模拟速度慢,但当他们转向
芯片
级或SoC级验证时,它开始变得日常普遍。在定义验证和验证环境时有效规划某些事情有助于清除某些重大问题,同时节省大量时间而不会妥协。
什么是UVC?
在设计验证领域,UVC越来越受欢迎。 UVC是通用验证方法(UVM)的一部分,该方法已得到
Cadence
,
Mentor
和Synopsys等领先企业的认可。非正式地,许多工程师将“UVC”缩写拼写为“UVM验证组件”。
UVC在
接口
上的作用是充当接口驱动程序(
Ac
ti
ve UVC)或监视器(Passive UVC)。它也可以同时提供基于所需功能场景模拟设计所需的所有控件。在SoC设计验证中,通常有几个UVC位于不同的接口上,以根据相应的接口协议驱动/监控
信号
。因此,可以使用几个UVC作为主要构建块来显示整个验证环境。
图1SoC设计的框图(部分)
图1显示了SoC设计的一部分,该设计具有多个复杂的专有模块(B0-B6)和用于AXI互连和
DDR
4
控制器
模块的第三方定制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_rc
vr
),用于处理指定数据宽度的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
存储器的仿真模型与
SD
F反注释门级仿真(GLS)无法正常工作,因此这种UVC方法可用于填补此类时序GLS的空白并验证最终网表下降。由于GLS在验证周期结束时完成,这是项目开始时无法预见的一大优势。
使用UVC方法的限制:
必须花时间开发(如果不可用)并集成此类UVC
就像模拟一样采用DDR4控制器集成设计,无法使用UVC方法模拟实时背压或带宽情况。应确定此类情况与DDR4控制器(完整)设计一起运行
考虑到设计协议及其复杂性,DV工程师总是提出有效验证方法的新想法,为实现完整的验证计划增加价值。本文中的建议方法已帮助许多超过1亿门
ASIC
的验证时间表满足其最后期限。类似的方法可用于具有不同协议的设计,用于跨块的片上通信和处理外部存储器的协议。
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。
PCB打样
当国际照明品牌增加传统
UVC
灯管产品线时,
UVC
LED该何去何从?
新冠肺炎带起
UVC
的需求 新冠肺炎, 让许多经济活动停摆, 正当人类开始是适应新常态的生活时,
有
一种旧应用(产品)犹如绝地重生般地活跃在舞台上, 它就是紫外光(UV), 尤其是可以杀死细菌的紫外光
发表于
07-07 09:44
•
1243
次阅读
如何设置
UVC
探针结构中的dwClockFrequency值?
如何设置
UVC
探针结构中的 dwClockFrequency 值? 我
有
clockConfig.setSysClk400 在我的 CyU3PSysClockConfig_t 配置中
发表于
05-27 06:34
: Pipe(
UVC
): ERROR_OVERFLOW
I (84110) USB_STREAM: usb stream task wait reset
W (85110) USB_STREAM: usb
发表于
09-09 06:01
cx3
uvc
demo和fx3
uvc
demo之间的区别
CX3
UVC
演示代码进行比较,这两个
UVC
演示代码的代码
有
很大的不同,这是非常奇怪的。例如,创建一个独立的EP0线程,用于处理AN75 79中的
UVC
设置命令。我们知道CX3是AN7
发表于
11-27 11:04
UVC
LED
主要
应用及使用简介
UVC
LED在光谱应用在不断增加,因为它们可以解决小型化、降低成本和实时测量方面的市场趋势,在一些水杀菌,空气杀菌,表面杀菌以及生物医疗中都有很高的使用率,
UVC
LED的波段范围一般在260nm,275nm以及280nm左右。
发表于
08-11 11:42
•
1.2w
次阅读
影响
UVC
LED的热管理和寿命的原因
有
哪些
UVC
LED技术仍处于起步阶段,最大的挑战是
UVC
LED的热管理。像任何电子组件一样,LED对热非常敏感。
UVC
LED具有特别低的外部量子效率(EQE)-它们仅将大约5%的输入功率转换为光
发表于
02-14 17:26
•
1917
次阅读
应用于车内消毒杀菌的
UVC
便携灭菌灯
UVC
紫外线杀菌灯珠系列产品是一种革命性的高效节能的杀菌和医疗应用光源,结合了发光二极管的寿命和可靠性
优势
与传统光源的亮度。它为您提供了设计自由,并创造了固态
UVC
光源取代传统UV技术的新机会。
发表于
09-29 09:18
•
711
次阅读