码迷,mamicode.com
首页 > 其他好文 > 详细

verilog HDL-参数型数据对像 与‘define

时间:2018-11-11 17:59:32      阅读:217      评论:0      收藏:0      [点我收藏+]

标签:fine   efi   def   一个   mod   span   符号   实例   不能   

参数新数据对象是用来定义常量的,它可以提升verilog hdl代码的可读性和维护性。

verilog hdl支持参数有两种,普通参数和局部参数。普通参数在模块例化时可以从新赋值,局部参数在模块例化时不能从新赋值。参数值更改可以通过defparam语句实现。

Verilog中可以用关键字parameter定义常数,其作用范围是一个module的内部。参数代表的是常数,不可以被赋值,即不能成为左值,但是每个参数值可以在module实例化的编译阶段被重新赋值或保持原始的赋值。通过模块实例化调用参数赋值或使用defparam语句可以改变参数值,这个过程叫做改写(覆盖)参数。


Verilog中也允许使用关键字localparam定义常数,其作用范围同parameter相同,都是module的内部,但是与parameter不同之处在于它定义的常量不能被修改。最常用的地方就是用于定义状态机的状态编码。


`define属于Verilog提供的编译指令,用于文本宏定义,其使用的一般形式是[`define 标识符(宏名) 字符串(宏内容)],其作用范围可以跨模块。在编译阶段,当编译器遇到`<宏名>时,使用预定义的宏文本进行替换。在使用预定义的常数或文本宏时,要注意在宏名前加上“`”,这个符号是键盘左上角Esc键正下方的那个键。注意:宏定义不是Verilog语句,其后不需要分号“;”结尾;宏定义要在一行内进行。

verilog HDL-参数型数据对像 与‘define

标签:fine   efi   def   一个   mod   span   符号   实例   不能   

原文地址:https://www.cnblogs.com/caiya/p/9942678.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!