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

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

3天内不再提示

接口中的modport连接模块都能看见什么

sanyue7758 来源:硅芯思见 2023-06-25 10:00 次阅读

在构建测试平台时,经常会用到interface用来简化模块和测试平台或者模块之间的连接,可以将一堆相关的信号封装在其中,为硬件模块的端口提供了一种标准化的封装方式,其中的modport(module port)结构对interface中的相关信号进行分组并指定方向,这样会使接口的定义条理更加清晰,明确了站在不一样的角度相关信号的输入输出方向。

例如在monitor中,信号大部分都是输入的,所以此时modport分组时将相关信号的方向都指定为输入,并且可以在具体模块定义的时候通过interface名直接使用modport名,那么此时就会有个问题:既然模块定义的时候直接了使用modport名,那么模块在例化的时候与interface的实例如何进行连接呢?本文将通过示例对此进行说明。

为了方便说明,文中相关模块的实现为“empty”,但是不影响其端口对于信号的可见性。

【示例】

519aefd4-11d5-11ee-962d-dac502259ad0.png

仿真结果】

51b77de8-11d5-11ee-962d-dac502259ad0.png

示例中,接口定义时指定了modport,其中只包含了sig0这一个变量,sig1并没有包含在内。test0定义端口列表采用“接口名.modport名”方式声明了接口变量,而test1定义端口列表采用“接口名”方式声明了接口变量。在模块例化时,dut0与“接口实例名”直接连接;dut1与“接口实例名.modport名”直接连接;dut2与“接口实例名”直接连接;dut3与“接口实例名.modport名”直接连接;

通过仿真结果可以看到,test0的两个实例,不管实例与接口采用何种方式进行连接,此时在实例中仅能观测到接口中modport分组中的变量sig0,其实主要原因在于test0在定义时其端口列表就已经限定了仅访问接口分组DUT中的变量。所有的实例中只有dut2中可以观测到接口中所有变量,这是因为首先test1在定义时其端口列表采用了“接口名”方式,其次例化连接接口时也是直接与接口例化名直接相连,而dut3因为在与接口连接时,限制了仅与接口中的modport分组TB进行连接,所以在dut3中观测不到sig1的变化。

为此,可以将上例进行简化汇总之间关系如下图所示,即如果模块定义时指定的端口采用了“接口名.modport名 接口变量”的方式,那么不管这个模块在实例化时与接口实例如何连接,模块实例对于接口仅可观测到对应modport分组中的变量。而如果模块定义时指定的端口采用了“接口名 接口变量”方式,那么模块实例具体能够观测到接口哪些变量,则取决于实例化连接时与接口实例的连接方式。

51cc589e-11d5-11ee-962d-dac502259ad0.png





审核编辑:刘清

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

    关注

    0

    文章

    190

    浏览量

    12521

原文标题:接口中的modport连接模块都能看见什么

文章出处:【微信号:处芯积律,微信公众号:处芯积律】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    请问这个论坛中如何插入图片,让别人看见我的帖子直接就能看见图片,而不需要下载图片看

    本帖最后由 whm9028 于 2016-1-13 23:30 编辑 如标题请问这个论坛中如何插入图片,让别人看见我的帖子直接就能看见图片,而不需要下载图片看
    发表于 01-13 23:30

    DIY只有你能看见内容的显示器

    很有趣的科技小制作,让你的电脑显示器只能被你一个人看见内容,只需把家里多余的液晶显示器拆开,小小地改装一下,一个只有你能看见内容的隐私显示器就当当当当地登场了。制作原理很简单:把液晶显示器拆开,剥除
    发表于 06-08 11:36

    使用SystemVerilog来简化FPGA中接口连接方式

    , b);  modport mod2 (input a, b, output c );  endinterface : my_itf  关键字interface就表示要创建一个接口模块,里面包含了3
    发表于 01-08 17:23

    草履虫都能看得明白的FOC 入门教程

    草履虫都能看得明白的FOC 入门教程 其利天下技开发 其利天下技开发 *附件:FOC技术笔记-新修版.pdf
    发表于 05-29 12:05

    脑机接口中基于VxWorks的ARM嵌入式系统

    脑机接口中基于VxWorks的ARM嵌入式系统
    发表于 03-29 12:27 15次下载

    隔离技术在嵌入式系统接口中的应用

    隔离技术在嵌入式系统接口中的应用  1 隔离技术的简介及应用场合   在许多应用中,数据链路之间需要(甚至是必要的)非直接的(导电)电连接,从而在提供数
    发表于 01-26 09:42 757次阅读
    隔离技术在嵌入式系统<b class='flag-5'>接口中</b>的应用

    如何将MPO接口模块与LC接口模块进行连接

    现在市场的光模块通常有MPO和LC两种接口,对于两个相同接口的光模块,使用MPO光纤跳线或LC光纤跳线就能基本实现二者的连接;而对于不同
    的头像 发表于 11-07 13:01 1.2w次阅读

    智能机器人已经得到了广泛普及和应用 各行各业中都能看见它们的身影

    现在,智能机器人已经得到了广泛的普及和应用,在各行各业中似乎都能看见它们的身影,最常见的有销售金融行业的语音机器人,酒店餐饮行业的服务机器人,还有用于家庭的家务机器人或者是深受儿童喜爱的教育陪伴智能机器人。
    发表于 01-09 14:54 3411次阅读

    接口在Vivado Synthesis中使用时连接逻辑的用处

    SystemVerilog 接口的开发旨在让设计中层级之间的连接变得更加轻松容易。 您可以把这类接口看作是多个模块共有的引脚集合。与必须在每个模块
    发表于 03-30 09:36 2278次阅读
    <b class='flag-5'>接口</b>在Vivado Synthesis中使用时<b class='flag-5'>连接</b>逻辑的用处

    dfrobotIIC接口模块专用连接线简介

    IIC接口模块专用连接线 ,能将IIC接口模块连接到Interface shield上。
    的头像 发表于 12-02 09:30 1447次阅读
    dfrobotIIC<b class='flag-5'>接口</b><b class='flag-5'>模块</b>专用<b class='flag-5'>连接</b>线简介

    简单了解APP接口中的版本控制

    说说APP接口中的版本控制 引言 接口是APP的重要组成部分,数据是APP的核心,接口连接APP和数据的纽带。一般情况下,APP中会有大量的接口
    的头像 发表于 11-03 10:42 2718次阅读
    简单了解APP<b class='flag-5'>接口中</b>的版本控制

    ADC时钟接口中的最小抖动

    ADC时钟接口中的最小抖动
    发表于 05-09 12:19 6次下载
    ADC时钟<b class='flag-5'>接口中</b>的最小抖动

    对于不同接口的光模块,该如何连接传输

    目前我们常见的光模块分为LC接口、SC接口和MPO接口,电口模块使用的是RJ45接口,光
    发表于 09-07 18:05 8393次阅读

    为什么要在串行通信接口中设置地线呢

    在串行通信接口中,为何要设置地线?
    的头像 发表于 02-02 17:47 3404次阅读

    数字硬件建模SystemVerilog之Interface和modport介绍

    SystemVerilog Interface是modport的一种,但比简单的输入、输出或输入输出端口的功能更多。
    的头像 发表于 04-28 14:12 4393次阅读
    数字硬件建模SystemVerilog之Interface和<b class='flag-5'>modport</b>介绍