- 申明变量
- parameter的跨模块传递
//module的端口申明之前 module 【模块名】#(【参数定义】) (【端口列表】); 【参数定义】 【逻辑功能】 endmodule //module的端口申明之后 module 【模块名】(【端口列表】); 【参数定义】 【逻辑功能】 endmodule若希望parameter赋值能在模块之间传递,即parameter值从上层模块传递到例化的下层模块,建议在module的端口申明之前进行parameter定义。
//下层模块 module para_example_sub#( parameter MSB = 3, parameter LSB = 0 // 注意这里没有分号或逗号 ) ( input [MSB:0] i_data, output [MSB:LSB] o_data ); assign o_data = i_data[MSB:LSB]; endmodule //上层模块 module vlg_design( input [7:0] i_data, output [7:0] o_data ); localparam LOCAL_MSB = 7; localparam LOCAL_LSB = 4; para_example_sub#( .MSB (LOCAL_MSB), .LSB (LOCAL_LSB) ) uut_para_example_sub( .i_data (i_data[LOCAL_MSB:0]) .o_data (o_data[LOCAL_MSB:LOCAL_LSB]) ); assign o_data[LOCAL_LSB-1:0] = 'b0; endmodule
标签:LSB,parameter,化及,module,Verilog,模块,HDL,data,MSB From: https://www.cnblogs.com/Ivan0506/p/17349107.html