在系统verilog接口内声明的包

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在系统verilog接口内声明的包相关的知识,希望对你有一定的参考价值。

是否可以在SystemVerilog接口内定义包?

例:

interface my_ifc();

    package a;
        logic reset;
        logic clk_usb;

    endpackage

    logic Rwn; 
    logic [7:0] Addr;


endinterface
答案

不可以。包必须在任何其他嵌套范围之外声明(在编译单元级别)

另一答案

Package是一种在SystemVerilog中的模块,接口和程序之间共享代码的方法。在您的情况下,您可以在界面外创建一个包,然后只需导入包中的任何内容,以使其可见。像这样:

import a::*;

但是在界面内部编写的包没有用处。

以上是关于在系统verilog接口内声明的包的主要内容,如果未能解决你的问题,请参考以下文章

verilog语言中任务和函数的区别

声明数组时Verilog错误

vivadoAXI4接口verilog代码分析

systemverilog接口

基于 FPGA verilog 的 Ethercat 主站工程代码

Verilog学习(13)PLL与搜索代码