将VHDL包从库(而不是WORK)导入SV
我有一个VHDL模块,它被编译成一个库,比如说,将VHDL包从库(而不是WORK)导入SV,vhdl,system-verilog,assertions,Vhdl,System Verilog,Assertions,我有一个VHDL模块,它被编译成一个库,比如说,LIB\u a。该模块具有作为记录的端口,相应的类型在也编译到LIB_a中的包中定义。我想为模块编写一些断言,并使用OneSpin检查它们 目前的问题是,我可以访问SV中模块的简单端口,但无法访问作为记录元素的端口。我尝试使用import和库/包名称的不同组合导入VHDL包,但没有成功 从库LIB_a导入VHDL包的确切语法是什么?我还需要考虑其他事情吗?< 代码示例: import my_package::*; // LIB_A? module
LIB\u a
。该模块具有作为记录的端口,相应的类型在也编译到LIB_a
中的包中定义。我想为模块编写一些断言,并使用OneSpin检查它们
目前的问题是,我可以访问SV中模块的简单端口,但无法访问作为记录元素的端口。我尝试使用import
和库/包名称的不同组合导入VHDL包,但没有成功
从库LIB_a
导入VHDL包的确切语法是什么?我还需要考虑其他事情吗?<
代码示例:
import my_package::*; // LIB_A?
module checker_m;
//
// A plain SVA assertion
//
always dummy_a: assert ( my_module.record_output.Reg1.some_sig == 0 );
endmodule
bind my_module checker_m checker_inst ();
正如@toolic所提到的,问题似乎确实是特定于供应商的。由于某些原因,当我用小写写记录元素时,它会起作用。其余的(信号、模块)都是我用VHDL写的,并且工作正常。只有记录元素会导致问题,直到它们被写在小写字母中