SystemVerilog和SystemC协同验证环境简单介绍

本文介绍了SystemVerilog (SV) 和 SystemC (SC) 在协同验证环境中的应用,包括两者的互操作性和如何通过UVMConnect库实现SV与SC模型之间的高效交互。探讨了SV与SC在不同验证场景中的优势及其实现细节。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

下图是一个典型的sv和sc协同验证环境的testbench。

systemverilog大家都比较熟悉了,UVM就是基于sv创建的一个验证方法学的库。但是systemc用的就比较少。

一般情况下,systemc用于:

  • 事务级别建模和验证
  • HW / SW协同设计
  • SOC架构分析和优化

sv和sc协同验证环境,主要应用于:

  • 使用SystemC TL模型作为SystemVerilog测试平台中的参考模型(可重用)
  • 通过常用的SV测试平台确保RTL和SystemC TL模型的一致性

SC和SV具有互操作性

SC模块可以实例化SV,反之亦然

  • - 具有混合语言组件的单模块层次结构

SC和SV调度程序需要统一的语义

  • - 混合语言系统应该像使用单一语言一样工作 

引脚级:SC信号可以绑定到SV端口,反之亦然

  • - 支持标准转化集
  • - 使用简单,但很少能匹配设计流程要求

TL:SC调用SV任务/函数,SV调用SC方法

  • - 符合大多数设计流程要求
  • - 更高的仿真和建模效率

那么怎么将SV和SC两种不同的语言连接起来呢?

大家都知道dpi可以作为c和sv之间互相访问的桥梁,那么它作为SV和SC之间的桥梁够用吗?当然不够。

DPI只能调用非阻塞方法/任务/函数,但是不能调用耗时的任务/方法。

  • 仅指定C接口,而不能指定C ++,而不能指定SystemC
  • DPI不能用于遍历SystemC层次结构,处理实例或对象不容易实现
  • DPI构建为与单线程非时序的C程序的接口

Mentor也开源了UVM Connect的库。

UVM Connect是一个基于开源UVM的库,提供TLM1和TLM2连接以及SystemC和SystemVerilog UVM模型和组件之间的对象传递。它还提供了一个UVM Command API,用于从SystemC(或C或C ++)访问和控制UVM仿真。 UVM Connect允许您在UVM验证中重用SystemC架构模型作为参考模型和/或重用SystemVerilog UVM代理来验证SystemC中的模型。它还有效地扩展了您的VIP产品组合,因为您现在可以使用两种语言访问VIP。通过UVM Connect,您可以轻松开发集成的验证环境,从而充分利用每种语言的优势,最大限度地提高验证效率。

UVM版本2.3增加了新的“快速打包程序”功能,可在通过TLM2连接传递通用有效负载时提高性能。它们还增加了对无限数据有效负载的支持以及对配置扩展的有限支持。

附录:SV和SC语言之间的数据类型映射

SystemVerilogSystemC在现代电子设计自动化(EDA)项目中的互补性,是通过各自独特的优势相互配合来实现的。SystemVerilog在硬件描述验证方面具有深厚的背景,提供了丰富的接口协议库以及强大的断言机制,这使得它在硬件功能的详细设计验证中表现出色。SystemVerilog 3.1版本增强了验证功能,引入了更复杂的验证构造,使得设计师可以构建更为强大的测试平台验证环境。 参考资源链接:[SystemVerilogSystemC的融合:互补的语言环境](https://wenku.youkuaiyun.com/doc/r166w26207?spm=1055.2569.3001.10343) 另一方面,SystemC则专注于高层次的系统建模,允许设计师利用C++的强大功能进行软硬件的协同设计,以及在更早的阶段进行性能评估分析。SystemC的抽象层次使得设计师可以快速创建原型,并进行系统级的性能优化。 将SystemVerilogSystemC结合使用,设计团队可以利用SystemVerilog在细节层面的优势,同时使用SystemC在高层次系统级描述的优势。设计师可以在SystemC中进行系统规格的定义早期验证,随后用SystemVerilog进行更深入的硬件描述测试。这种分层次的设计验证流程可以显著减少重复工作,缩短设计周期,并确保设计的完整性。 为了充分利用这种互补性,EDA工具供应商已经开发了一系列支持SystemVerilogSystemC集成的工具。这些工具允许设计师在一个统一的设计环境中切换管理这两种语言的项目,减少了语言间的转换需求可能出现的错误。例如,一些先进的EDA工具提供了直接从SystemC模型到SystemVerilog硬件描述的转换,支持自动化标准化的设计流程。 总的来说,SystemVerilogSystemC的融合,允许设计师在不同的设计阶段使用适当的语言工具,以最佳的方式利用各自的优势,从而在缩短项目周期的同时,提高设计的质量效率。对于希望深入了解SystemVerilogSystemC融合技术的设计者,推荐阅读《SystemVerilogSystemC的融合:互补的语言环境》,这将帮助你更全面地理解这两种语言如何协同工作,以及如何在你的项目中实施这一流程。 参考资源链接:[SystemVerilogSystemC的融合:互补的语言环境](https://wenku.youkuaiyun.com/doc/r166w26207?spm=1055.2569.3001.10343)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值