背景:
在最近实战开发中发现:对外部芯片进行初始化时,往往需要定义大量参数。
若直接在module中通过localparam或者parameter进行参数定义的话,会带来两个问题:
1.代码长度增加,不够美观;
2.不利于参数和代码修改;
为了解决这两个问题,我想到了在之前在《verilog数字系统设计教程》(夏闻宇)看到过的`define宏定义+`inlude "file.v"文件包含来实现参数模块化设计的方式。
实战:
1.新建参数模块文件(我命名为para.v);
2.在para.v文件中使用'define宏定义参数(部分、有错误):
//`define+name+参数
`define STATE_INIT 3'd0;
`define STATE_IDLE 3'd1;
`define STATE_WRIT 3'd2;
`define STATE_READ 3'd3;
`