Verilog代码可移植性设计
1. 参数定义
localparam,实例代码如下:
module tm1(
clk,rst_n,
pout
);
input clk;
input rst_n;
output[M:0] pout;
localparam N = 4;
localparam M = N-1;
reg[M:0] cnt;
always @(posedge clk or negedge rst_n)
if(!rst_n) cnt <= 0;
else cnt <= cnt+1'b1;
assign pout = cnt;
endmodule
其实所谓localparam即local parameter(本地参数定义)。简单的说,通常我们习惯用parameter在任何一个源代码文件中进行参数定义,如果不在例化当前代码模块的上层代码中更改这个参数值,那么这个parameter可以用localparam代替。而localparam定义的参数是不可以如param