0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

验证IP用户的期望:事务建模

星星科技指导员 来源:synopsys 作者:S. Prashanth 2023-05-29 10:09 次阅读

在开发和使用验证IP中都发挥了作用,我认为交易类是VIP中最重要的组成部分。事务类的质量定义了 VIP 的质量。无论是UVM还是任何其他方法,决定交易类结构都需要充分的规划,因为它会影响整个VIP架构和验证环境。

让我列出一些我认为相关的准则:

协议的所有变体都应在事务类中定义。这使得事务类可用于生成各种可能的激励(同时驱动DUT)。然后,监视器的总线功能模型还能够从 DUT 接口中提取信息并填充事务类的相关字段。特别是对于总线协议,我们应该在事务类中具有随机属性,不仅用于信号值,还用于所有可能的延迟。这将使生成器能够使用约束随机生成来模拟不同的速度,并在交易中创建不同的延迟。然后,BFM 可以使用事务类中嵌入的信息,而不是自行生成任何信息。

pYYBAGR0COqAJmdwAAFKQ3-xOo0722.png

分层与扁平化事务模型:扁平化事务易于维护,并且更容易添加新约束。但是,当协议很复杂并且需要在程序上随机化字段时,最好让父类实例化子类对象数组。
在下面的示例中,AXI 突发类实例化特定于突发的每个节拍的数据类队列。生成突发字段后,将在突发的 post randomize() 方法中生成数据字段。如果此事务模型被平展,则axi_data类的所有字段都将是axi_burst类中的数组。这里的缺点是什么?如果必须生成随机突发,则所有数组都将并行生成。如果您有复杂的约束,这可能会导致额外的性能开销。

poYBAGR0CO6ACE4XAAJs20uZJn8146.png

配置信息应该可以从事务类中访问。任何可重用的 VIP 都必须是可配置的,并且通常具有与之关联的配置描述符。不同的交易需要根据VIP的配置生成信息。因此,通过分层选项 (VMM) 或资源/配置数据库 (UVM) 将 VIP 配置句柄作为引用传递给事务。

poYBAGR0CPKALfTjAAHkm_ZBYn4172.png

提供一组丰富的实用程序方法:UVM 提供了一组预定义的宏,这些宏定义了事务中的复制、比较、显示等实用程序方法。特别是对于验证IP中使用的事务,与要验证的总线协议相关的其他实用程序方法可能非常有用。这可用于 VIP 的不同组件。在下面的AXI示例中,方法get_trans_addr_by_idx()计算并提供“数据节拍”的地址,用户不必担心“突发”是包装型、固定型还是增量型。类似地,你可以有一个 get_data() 方法,它可以提供一个字节队列以及相应的数据。因此,用户无需在其记分牌中单独计算此信息。

pYYBAGR0CPaAf_zZAAIc_K316dI140.png

我们可以进一步完善这些。最后,重要的是要知道构建有效的事务模型将产生高效的验证IP。在这里,我放下了我的想法。根据要验证的协议和所涉及的复杂性,不同的人可能希望以不同的方式构建他们的交易类。但是,我相信上述准则可以纳入当今使用的大多数协议中。希望这对您有用,我绝对有兴趣知道您对这个主题的看法。

审核编辑:郭婷

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • IP
    IP
    +关注

    关注

    5

    文章

    1710

    浏览量

    149626
  • UVM
    UVM
    +关注

    关注

    0

    文章

    182

    浏览量

    19185
  • AXI
    AXI
    +关注

    关注

    1

    文章

    127

    浏览量

    16636
收藏 人收藏

    评论

    相关推荐

    关于功能验证、时序验证、形式验证、时序建模的论文

    设计的验证平台,以此来提高工作效率。论文介绍了FF-DX地址计算部件的时序建模和静态时序分析方法。在静态时序分析之后,将SDF文件中的延时信息反标到逻辑网表中,通过动态时序验证进一步保证设计的时序收敛
    发表于 12-07 17:40

    用户验证问题

    我是待验证用户组,想要成为验证用户。可是存在一个问题,我不知道怎么验证。打开用户组界面,点击
    发表于 11-08 10:23

    Saber软件功率MOSFET自建模与仿真验证

    利用功率MOSFET手册,利用Saber软件里的自建模工具对功率MOSFET进行建模,并仿真验证其性能。淘宝上搜索“功率MOSFET建模”,则可看到课程链接。
    发表于 04-12 20:43

    什么是IP开发及FPGA建模

    随着系统级芯片技术的出现,设计规模正变得越来越大,因而变得非常复杂,同时上市时间也变得更加苛刻。通常RTL已经不足以担当这一新的角色。那么我们就需要弄明白,什么是IP开发及FPGA建模
    发表于 08-01 07:41

    《TCP-IP详解_卷3_TCP事务协议,HTTP,NNTP

    《TCP-IP详解_卷3_TCP事务协议,HTTP,NNTP和UNIX域协议》
    发表于 03-24 22:42 39次下载

    基于VHDL语言的IP验证

    探讨了IP 核的验证与测试的方法及其和VHDL 语言在IC 设计中的应用,并给出了其在RISC8 框架CPU 核中的下载实例。关键词:IP 核;片上系统;验证
    发表于 06-15 10:59 32次下载

    基于SystemC事务级的建模仿真研究

    事务级(Transaction-Level,TL)建模是SystemC 中提出的一种新型高层次建模方法,以CoCentric System Studio(CCSS)作为SystemC 仿真工具,以一个
    发表于 07-30 15:27 24次下载

    一种基于事务的SoC功能验证方法

    本文介绍了基于事务的SoC验证方法,详细说明了事务事务处理器的概念和事务验证平台的功能结构。
    发表于 02-24 11:44 8次下载

    基于事务断言验证及SDH芯片验证平台

    提出了基于事务断言验证技术,用属性说明语言(Property Specification Language,PSL)描述系统的属性,用事务进行系统的验证,通过编程语言接口机理和工具控制
    发表于 08-02 17:26 0次下载

    基于OVM验证平台的IP芯片验证

      芯片验证的工作量约占整个芯片研发的70%,已然成为缩短芯片上市时间的瓶颈。应用OVM方法学搭建SoC设计中的DMA IP验证平台,可有效提高验证效率。
    发表于 06-20 09:03 2840次阅读

    符合验证方法手册VMM的基于SystemVerilog事务的测试平台详细介绍

    本文描述了一个符合验证方法手册(VMM)的基于SystemVerilog事务的测试平台,并通过实例说明了使用基于事务的方法创建一个全面的约束随机验证环境中的VMM方法。这包括交易的生成
    发表于 05-28 08:00 2次下载
    符合<b class='flag-5'>验证</b>方法手册VMM的基于SystemVerilog<b class='flag-5'>事务</b>的测试平台详细介绍

    事务建模使IP加速

    硬件和软件及其交互的功能验证是系统项目关键路径上的另一项任务。SoC 和软件中不断增加的功能范围正在提高设计复杂性,并以指数方式推高功能验证成本。此外,大多数当前的设计流程将设计捕获为寄存器传输级别
    的头像 发表于 06-09 16:14 1016次阅读
    <b class='flag-5'>事务</b>级<b class='flag-5'>建模</b>使<b class='flag-5'>IP</b>加速

    ESL设计的核心——事务建模介绍

    设计、软硬件划分、软硬件协同设计和验证,都离不开事务建模。 在系统级的设计中,首先要解决的问题是如何描述系统也就是所谓系统建模。在当前的集成电路设计中,算法层次上建立的功能模型(AL
    的头像 发表于 11-02 14:38 1444次阅读

    ESL设计中事务建模的一般理论

    在更详细地描述事务建模之前,首先介绍在事务建模中用到的一些术语。首先事务表示数据和事件的交换过程。各个连续的
    的头像 发表于 11-02 14:48 625次阅读

    ESL事务建模语言简介

    任何系统级建模语言,都需要具备在较高层次的抽象能力和对不同来源的IP的集成能力。建模方法的选择通常基于语言熟悉程度、建模支持、模型可用性和简单性。 在各种软硬件描述语言中,Verilo
    的头像 发表于 11-02 15:10 731次阅读