向右滑动:上一篇 向左滑动:下一篇 我知道了
广告

深度解析Portable Stimulus:UVM集成

时间:2019-07-05 作者:Leigh Brady 阅读:
PSS和UVM的集成在一起不同于将两种语言进行集成。本文将列出这种集成的基本策略,以尽可能通用的语言来描述集成的六个步骤以及本文会详细介绍前三个步骤。

将便携式刺激标准(Portable Stimulus Standard,PSS)功能与通用验证方法学(UVM)集成在一起不同于将两种语言进行集成。hVwEETC-电子工程专辑

在我们之前的专栏中,Aileen Honess提供了这样一个背景,shuoming 为什么那些使用通用验证方法学(UVM)和SystemVerilog的团队会希望通过增加Portable Stimulus来扩展他们的验证方法。通过结合不仅理解组合约束而且理解设计时间方面的约束求解器,可以生成针对特定验证意图的更有效的测试。hVwEETC-电子工程专辑

本博客将列出这种集成的基本策略。需要注意的是,集成Portable Stimulus Standard (PSS)功能并没有对现存的功能产生任何影响,现有的测试平台仍然有效,继续提供相同的覆盖范围。但若在尝试达到理想覆盖水平时碰到问题,或者当希望测试用例被重定向为仿真或被用于芯片启动时,PSS增加的新功能就有用了。hVwEETC-电子工程专辑

随着时间的推移,对PSS功能的信心逐步增强,您可能会希望更改验证方法以支持PSS生成的测试用例,而不是来自现有UVM环境的简单、随机的测试用例。此外,PSS还提供了新的比对和评估覆盖范围的方法,相信这种方法也更直观。hVwEETC-电子工程专辑

还有一点需要注意,PSS和UVM的集成与两种语言之间的集成不同。PSS定义了一个利用工具生成测试用例的模型。它是与UVM集成生成的测试用例。这意味着,当谈到集成,就不能使其独立于特定供应商的工具。我会以尽可能通用的语言来描述集成的步骤,其他供应商可能也会有类似的步骤,但自动化的细节或级别可能会有所不同。hVwEETC-电子工程专辑

集成的六个步骤如下:hVwEETC-电子工程专辑

1. 识别UVM接口,包括事务级建模(TLM)接口、软件接口和内存。配置工具并集成到UVM。hVwEETC-电子工程专辑

2. 创建PSS寄存器类型描述。这一步可以通过硬件/软件接口(HSI)的寄存器定义来手工完成,也可以通过转换IP-XACT描述来完成。hVwEETC-电子工程专辑

3. 识别设计(包括组件、操作、资源等)的整体PSS模型/表示。hVwEETC-电子工程专辑

4. 提供每个“操作”(action)的详细信息。这些信息根据可合成TLM或软件驱动验证(SDV)测试的可移植基元定义。hVwEETC-电子工程专辑

5. 编译模型、合成测试用例,并运行UVM仿真。hVwEETC-电子工程专辑

6. 查看和调试结果,并分析覆盖范围。hVwEETC-电子工程专辑

下面我们将采用一个非常简单的设计来演示这些概念。该设计源自Breker发布的公共域示例,示例中有两个CPUS、两个UART、一个DMAC和一个AES加密块。hVwEETC-电子工程专辑

hVwEETC-电子工程专辑

图1:本示例包括两个CPUS、两个UART、一个DMAC和一个AES加密块。(来源:Breker)hVwEETC-电子工程专辑

每个UART都有一个验证IP(VIP),用于配置和发送/接收数据。此外,每个CPU都开放其由AMBA高级外设总线(APB)VIP驱动的端口。为UART VIP定义TLM事务和TLM端口; 并在TLB模式中为APB VIP定义处理器代理。同时定义存储器资源以供DMAC操作使用。hVwEETC-电子工程专辑

20190705-004.gifhVwEETC-电子工程专辑
hVwEETC-电子工程专辑
图2:从Portable Stimulus工具生成的UVM代码。(来源:Breaker)hVwEETC-电子工程专辑

20190705-005.gifhVwEETC-电子工程专辑
图3:生成的代码用于将工具中的事务转换为VIP使用的事务,类似于uvm_reg_adapter。(来源:Breker)
hVwEETC-电子工程专辑

20190705-006.gifhVwEETC-电子工程专辑

图4:生成的trek_sequence等待来自模型的数据,使用上面的代码转换数据,并将其发送给VIP。即该代码用于实现两种类型数据的转换。这里也可以使用用户创建的序列。当监视模块捕获动作或与比对模块一起使用时,反方向也存在类似的代码。(来源:Breker)hVwEETC-电子工程专辑

hVwEETC-电子工程专辑
步骤2建立了VIP的寄存器和存储器映射。通常情况下,该映射已经以IP-XACT格式定义。IP-XACT是第三方IP模块的通用格式,许多公司也用它来记录其内部IP。如果是这种情况,将采用实用程序执行必要的转换。Breker采用了建议的HSI,HSI在PSS标准第一版中并未获得批准。hVwEETC-电子工程专辑

三个组件(UART、DMAC、AES)中每个组件的寄存器描述都可以利用随设计发布的IP-XACT文件中的trekhsi轻松创建,而且可以修改字段名称以提高可读性。hVwEETC-电子工程专辑

20190705-007.gifhVwEETC-电子工程专辑
hVwEETC-电子工程专辑
图5:UART(hsi_uart.h)的HSI寄存器定义变为hsi :: reg_block。为了便于阅读,原始IP-XACT规范中的字段名称作了修改。(来源:Breker)hVwEETC-电子工程专辑

步骤3是识别系统组件。该设计中,主要的IP模块是UART、DMA和AES,称为“PSS组件”。每个模块都具有称为“操作”(action)的核心功能,并表示为“PSS操作”。这些模块的关键功能(actions) 可以定义如下:hVwEETC-电子工程专辑

· UART - 配置、接收、发送hVwEETC-电子工程专辑
· DMAC - 输出数据、输入数据hVwEETC-电子工程专辑
· AES - 加密、解密hVwEETC-电子工程专辑
· CPU - 输出数据、输入数据hVwEETC-电子工程专辑

需要注意的是,首次编写PSS模型时,不一定要定义所有操作。首先,只用定义最重要的,随着验证任务的进展,再定义附加的、次级的操作。这不会对已执行的验证有任何影响,只会造成更多的序列。hVwEETC-电子工程专辑

为每个计算元素(UART、DMAC、AES)创建资源池。hVwEETC-电子工程专辑

并使用流对象(FIFO,Reg)和为每个元素创建的相应“池”来定义到块的接口。hVwEETC-电子工程专辑
最后,PSS锁定对共享资源或独占资源使用的控制。调度程序将利用它来确保不会尝试使硬件同时执行互斥操作。hVwEETC-电子工程专辑

20190705-008.gifhVwEETC-电子工程专辑
hVwEETC-电子工程专辑
图6:Breker的TrekDesigner中显示的PSS图表创建了模型。在该模型中,“组件”是绿色框,“操作”是浅蓝色框,“资源”是深蓝色菱形,“锁”是与“操作”相关联的灰色框。“操作”块的输入和输出用蓝色输入/输出端口表示。 (来源:Breker)hVwEETC-电子工程专辑

Entry操作(顶部)同时安排了两个UART场景,即加密和解密操作。UART场景(左下方)将为DUT选择配置,配置VIP以匹配,同时并行执行多个接收和发送操作。加密和解密操作由DMAC传输(右下)提供。资源锁用于确保同一硬件块上的两个操作不会同时执行。hVwEETC-电子工程专辑

整个模型的PSS代码均由工具生成。每个生成的动作都有一对//用户代码开始和//用户代码结束标记,标记中间即为动作的详细描述。重新生成模型时,标记间的代码会保留。hVwEETC-电子工程专辑

在下一篇专栏文章中,我们将介绍其余三个步骤。如有任何问题或不清楚的地方,请与我联系https://www.eeweb.com/profile/lbrady。hVwEETC-电子工程专辑

本文同步刊登于电子工程专辑杂质2019年7月刊hVwEETC-电子工程专辑

本文为EET电子工程专辑 原创文章,禁止转载。请尊重知识产权,违者本司保留追究责任的权利。
您可能感兴趣的文章
  • 攻克小型电池供电器件中低静态电流的设计挑战 得益于小型化、Bluetooth®通信和嵌入式处理方面的进步,现代助听器具有比以往更多的功能,从流媒体音乐到能够通过智能手机上的应用程序调节听力放大。
  • 开发人员如何为嵌入式设计选择最优的8位MCU? 虽然8位MCU已在不断发展的MCU领域中占据一席之地,但嵌入式开发人员必须纳入新的考量因素。使用8位MCU的好处包括相对较低的成本和易用性,但这可能受到工具隐形成本、支持软件不足、误导的数据手册参数和缺乏可扩展性的影响。在为您的下一个设计评估适合的MCU时,记住所有这些考量因素可以大大提高您现在和长期的市场成功机会。
  • MOSFET Qrr——在追求能效时,忽视这一参数是危险的 在电流流经MOSFET体二极管的应用中,反向恢复电荷Qrr会引起一些重大的挑战,设计工程师需要仔细处理。在低功耗充电器和适配器产品应用中,其开关频率高且负载电流一般小于5A,对I2R损耗的关注较少,设计工程师应密切关注动态损耗。选择低Qrr MOSFET可以降低尖峰值,提高效率,降低EMI辐射。
  • I2C隔离调试那些事 本文基于荣湃半导体公司iDivider智能分压技术,应用了电容分压的原理,相对于其他隔离技术电路更为简化,功耗更低,速度更快,抗干扰能力增强。I2C隔离调试中一些调试技巧和案例分析,以及其典型电路和应用方法做了详细介绍。
  • 空中软件更新为联网汽车提供数据保护确保安全性 最近许多起针对互联汽车的黑客攻击已经引起了巨大轰动,这对系统的安全性提出了挑战。互联汽车的安全性至关重要,这一点目前对于 OEM 来说已经是显而易见的了。当汽车成为一种车主用来通信的个人移动设备、并且还可能通过应用来实现个性化时,这种设定就会在很大程度上受到潜在攻击者的操纵。那么汽车业如何来保护自身以及客户来免受黑客攻击呢?
  • GDDR6接口通道之特殊设计考量 本文探讨了几个设计考量和方法用以缓解GDDR6 DRAM实施所带来的挑战。特别指出了在整个接口通道保持信号完整性的重要性。必须特别重视GDDR6存储器接口设计的每个阶段,才能够成功解决信号完整性问题。
相关推荐
    广告
    近期热点
    广告
    广告
    广告
    可能感兴趣的话题
    广告