【Verilog学习】Verilog中localparam和parameters关键字的区别

localparam和parameters关键字语法格式

parameter [参数名] 数值
localparam [常数名] 数值

例子:

//将A赋值为100
parameter A = 100;
localparam A = 100;

localparam和parameters关键字的区别

在以前时parameter关键字即作为常数又做为参数,这样容易导致安全性问题,因此在IEEE 2005标准后Verilog增加了localparam关键字表示常数,parameter关键字仅表示参数。那么常数和参数都是什么呢?

常数用于定义当前工程和文件中那些固定不变的变量。而参数则是可以用作LPM交换的数值。localparam关键字对应的常数只能用于当前模块中,其值不能改变。而parameter关键字的值则可以在上层模块例化模块时修改。

关于parameter关键字对应的参数举个例子

一个模块在定义的时候

module lamp(
			clk,
			...
			)
parameter n = 7; //定义一个参数
...
...
endmodule

或者

module lamp #
(
	parameter n = 7; //定义一个参数
)
(
	clk,
	...
)

...
...
endmodule

后期顶层模块需要调用的时候需要把参数n变为4,就可以在例化lamp的时候这样修改n

lamp //被调用模块
#(.n(4)) //参数例化
u_lamp( //例化模块
			.clk(clk),
			...
			);

这样不需要改变的值就可以定义为常数(localmeter),外部不可改变,提高了软件的安全性

  • 3
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值