我在这里找到了一个verilog I2S模块,我正在尝试理解它。
模块从开端开始 parameter AUDIO_DW = 32
再往下看是:
input [AUDIO_DW-1:0] left_chan,
input [AUDIO_DW-1:0] right_chan
然后
reg [AUDIO_DW-1:0] bit_cnt;
reg [AUDIO_DW-1:0] left;
reg [AUDIO_DW-1:0] right;
我仍在学习verilog,我的文字以及在线教程不建议使用这种端口声明格式。
这是一辆公共汽车。 参数只是被替换。 所以这相当于说这样的话:
input [31:0] left_chan,
input [31:0] right_chan
reg [31:0] bit_cnt;
reg [31:0] left;
reg [31:0] right;
也就是说,您正在声明两个 32 位输入总线和三个 32 位寄存器。
请注意,在实例化模块时,可以使用 defparam 覆盖参数值。