如果SystemVerilog不可用,我会将所有多路复用器输入连接到一个宽矢量输入:
模块多路复用器
#(
参数
WIDTH = 8,//最小1
NUM_INPUTS = 16 //最小2
)
(
//输入线[NUM_INPUTS - 1:0] [WIDTH - 1:0] a_i,// SystemVerilog
输入线[NUM_INPUTS * WIDTH - 1:0] a_i,
输入线[clogb2(NUM_INPUTS) - 1:0] select_i,
输出线[WIDTH -1:0] y_o
);
赋值y _o = a_i >>(select_i * WIDTH);
endmodule
我已经将SystemVerilog样式输入注释掉了。
如果Systemverilog可用,代码将与该声明一样工作。
未经测试,但想法就在那里......
问候,
标记
如果SystemVerilog不可用,我会将所有多路复用器输入连接到一个宽矢量输入:
模块多路复用器
#(
参数
WIDTH = 8,//最小1
NUM_INPUTS = 16 //最小2
)
(
//输入线[NUM_INPUTS - 1:0] [WIDTH - 1:0] a_i,// SystemVerilog
输入线[NUM_INPUTS * WIDTH - 1:0] a_i,
输入线[clogb2(NUM_INPUTS) - 1:0] select_i,
输出线[WIDTH -1:0] y_o
);
赋值y _o = a_i >>(select_i * WIDTH);
endmodule
我已经将SystemVerilog样式输入注释掉了。
如果Systemverilog可用,代码将与该声明一样工作。
未经测试,但想法就在那里......
问候,
标记
举报