首页 > 其他分享 >SystemVerilog -- 6.2 Interface Bundles

SystemVerilog -- 6.2 Interface Bundles

时间:2024-04-19 15:25:48浏览次数:25  
标签:if0 clk -- myDesign Bundles 接口 使用 Interface 设计

Introduction涵盖了对接口的需求,如何实例化接口并将其与设计连接起来。设计有两种编写方式:

  • 通过使用现有接口名称专门使用该接口
  • 通过使用可以将任何接口传递到的泛型接口句柄

显然,当接口定义更新到具有不同名称的较新版本时,泛型方法效果最佳,并且需要支持使用它的旧设计。

Example using a named bundle

在本例中,设计引用实际接口名称来访问其信号。下面的示例显示,设计模块myDesignyouryDesign都在端口列表中声明了一个名为if0的端口,类型为myInterface以访问信号。

module myDesign ( myInterface if0,
                  input logic clk);
    always @(posedge clk) begin
      if (if0.clk)
        if0.gnt <= 1;
    end
endmodule

module yourDesign ( myInterface if0,
                    input logic clk);
    ...

endmodule

module tb;
    logic clk = 0;
    myInterface _if;
    myDesign   md0 (_if, clk);
    yourDesign yd0 (_if, clk);
endmodule

Example using a generic bundle

在本例中,设计使用关键字作为实际接口类型的占位符。下面的示例显示,设计模块myDesign和youryDesign`都使用占位符句柄来引用信号。然后,在设计模块实例化期间传递实际接口。此泛型接口引用只能使用 ANSI 样式的端口声明语法进行声明,否则是非法的。

module myDesign (interface a,
                 input logic clk);
    always @(posedge clk) begin
      if (if0.ack)
        if0.gnt <= 1;
    end
endmodule

module yourDesign (interface b,
                   input logic clk);
    ...
endmodule

module tb;
    logic clk = 0;
    myInterface   _if;
    myDesign   md0 (.*, .a(_if));    // use partial implicit connections
    yourDesign yd0 (.*, .b(_if));
endmodule

标签:if0,clk,--,myDesign,Bundles,接口,使用,Interface,设计
From: https://www.cnblogs.com/sys-123456/p/18144442

相关文章

  • 新建vite vue2 项目
    1.1创建项目注意:这里vite的版本采用2.8.0的,最新的版本创建后续会出现问题[email protected]后续,安装如图  创建好项目后依次运行以下命令//1.进入项目cdvite-vue2​//2.安装依赖npminstall​//3.启动项目npmrundev访问效果如下  1.2安装vite对vue2支持......
  • 数仓的两种轻量级数据交换格式:json与jsonb
    本文分享自华为云社区《GaussDB(DWS)——探究JSON,JSONB》,作者:yd_283975606。1.前言适用版本:【8.1.1(及以上)】JSON(JavaScriptObjectNotation)是一种轻量级的数据交换格式,常用于将数据从服务器发送到Web应用程序。它采用人类易读和机器易解析的文本格式,基于键值对的集合,用于......
  • 若依框架中配置使得每次打包不修改前端访问接口IP和端口
    1.添加配置文件配置文件中的数据和application.yml中的context-path保持一致 2.添加配置代码<scripttype="text/javascript">document.write("<scriptsrc='./static/config.js?v="+newDate().getTime()+"'><\/script>");&......
  • P4168 [Violet] 蒲公英(题解)
    题目题目描述输入格式输出格式数据范围![]样例输入:63123212153615输出:121思路暴力本题求区间内的最小众数,容易想到去用数组sum[i]表示第i种花的个数,在去便利比较,但是复杂度nm一定会T,这时候就要对暴力进行优化。分块优化1如果我们将所......
  • windows11 配置账户登录锁定策略
    原文链接:https://blog.csdn.net/weixin_46119529/article/details/134162164一、打开本地策略有两种方法,都可以!!1、搜索“组策略”,或者 2、Win键+R输入“secpol.msc” 二、打开配置界面1、如果是搜索“组策略”,按以下步骤:      2、如果是Win键+R输入“sec......
  • C++六种内存序详解
    前言要理解C++的六种内存序,我们首先须要明白一点,处理器读取一个数据时,可能从内存中读取,也可能从缓存中读取,还可能从寄存器读取。对于一个写操作,要考虑这个操作的结果传播到其他处理器的速度。并且,编译器的指令重排和CPU处理器的乱序执行也是我们需要考虑的因素。 我们先看......
  • 视觉专业英语(三)
    1.demonstrates 展示2.ausecase使用案例3.demonstratesvarioususecases展示各种用例4.Gaussian-Mixture-Models(GMM)高斯混合模型5.ExpectationMaximization(EM)algorithm期望最大算法/最大似然法6.Covariancematrices协方差矩阵7.densityf......
  • VGA色块显示#VGA显示数字
    VGA驱动色块显示了解了VGA的显示原理和ADV7123控制后,再去实现色块显示就容易了。像素坐标跟显示色条不同,要在屏幕上不同的地方显示色块,需要用像素坐标来定位色块。其实,就是分别用行扫描的计数值和场扫描的计数值来表示坐标的x,y值。   VGA显示数字比如,用屏幕显示计......
  • 洛谷题单指南-动态规划1-P1077 [NOIP2012 普及组] 摆花
    原题链接:https://www.luogu.com.cn/problem/P1077题意解读:n种花选m个的选法,每种花数量为ai。解题思路:设dp[i][j]表示前i种花选j个的选法对于第i种花,可以选0,1,2...min(ai,j)个则有递推式:dp[i][j]=∑dp[i-1][j-k],k取0,1,2...min(ai,j)初始化dp[0][0]=1100分代码:#incl......
  • 低速无人驾驶低时延高可靠如何实现
    在繁忙的城市街道上,一辆无人驾驶汽车以优雅的姿态穿梭而过,它的动作流畅而精确,仿佛有一种隐形的力量在指引着它的每一个转弯和停靠。这不是科幻小说的情节,而是低时延高可靠性技术所带来的现实。一、5G网络:速度与反应的极致5G网络是实现无人驾驶低时延的关键。它提供了毫秒级的超......