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

Posted caiya

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了verilog HDL-参数型数据对像 与‘define相关的知识,希望对你有一定的参考价值。

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

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

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


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


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



以上是关于verilog HDL-参数型数据对像 与‘define的主要内容,如果未能解决你的问题,请参考以下文章

Verilog HDL数据流建模与运算符

3.初识Verilog HDL

ZYNQ从入门到秃头04 Verilog HDL语法

实现FPGA Verilog HDL与NIOS II的通信数据交换——利用AVALON总线

Verilog HDL函数与任务的使用

Verilog HDL仿真常用命令