请教systemverilog中的interface问题
时间:10-02
整理:3721RD
点击:
有如下interface定义
interface axi;
logic valid;
logic ready;
modport slave(input valid, ready);
有下面3个模块top, a, b
module top(
input valid, output ready);
module a(
input valid, output ready);
module b(
input valid, input ready);
top包含a和b
也就说,valid由外部输入来driven,ready由a模块来driven,而valid和ready都被b模块使用
请问如果上面的valid和ready用interface来实现应该如何写呢?
我感觉top和a的连接是没问题的,应该它们都是一个方向
可是和b的连接不知道应该如何写
因为b把valid和ready都作为输入
interface axi;
logic valid;
logic ready;
modport slave(input valid, ready);
有下面3个模块top, a, b
module top(
input valid, output ready);
module a(
input valid, output ready);
module b(
input valid, input ready);
top包含a和b
也就说,valid由外部输入来driven,ready由a模块来driven,而valid和ready都被b模块使用
请问如果上面的valid和ready用interface来实现应该如何写呢?
我感觉top和a的连接是没问题的,应该它们都是一个方向
可是和b的连接不知道应该如何写
因为b把valid和ready都作为输入
top和a直接用例化的interface名.valid和.ready连接即可,b的话,则要用interface例化名.modport.valid和.ready连接。手边没有语法书,没法验证正确性,大概是如此。欢迎探讨。
