SystemVerilog界面中modport的优点和动机是什么?

sar*_*a8d 4 system-verilog

我是SystemVerilog的新手.

我正在阅读以下教程:

https://www.doulos.com/knowhow/sysverilog/tutorial/interfaces/

我不确定在SystemVerilog界面中modport的优点和动机是什么?

sha*_*111 5

Modport用于指定相对于特定模块/组件的信号方向.

它们还用于限制对某些模块/类的某些信号的访问.

通常,testbench modport包含一串激励驱动信号作为输出,而相同的信号作为RTL的输入.此外,一些输出到RTL的响应信号被作为modport的输入.

考虑以下示例:

interface my_interface(input logic clk, reset);

logic a;
logic b;
logic c;
logic sum;
logic carry;

modport tb  (input sum,carry,  output a,b,c,reset);
modport dut (output sum,carry, input a,b,c,reset);

endinterface
Run Code Online (Sandbox Code Playgroud)

在这里,测试平台被允许开车 a,bcreset.但是测试平台驱动sumcarry发出信号将是错误的.

如果我们不使用modport并且意外地测试台/ RTL驱动它们各自的输入信号,那么它将导致意外行为.

此后,modport通常用于限制用于驱动/采样信号的组件.

它们还允许界面内信号的不同视图的容易性.人们可以只看一下modport并判断它是否是特定模块/类或输出的输入.

请参阅此链接了解更多信息.