定义一个.v文件,用于创建和管理整个工程中的宏定义
宏定义的内容可以是软件的版本号、探测器的分辨率、像素的数据位宽、等等。
`define VIDEO_1024_768
这种.v文件相当于VHDL中的package文件,c语言中的.h文件。
在编写rtl代码过程中,如果用到了上述中的宏定义,只需要使用`include关键字将.v文件引用到这个模块,就可以对宏定义直接使用。
后续使用中,如果宏定义参数需要更改,只需要到.v文件中进行修改即可。
这种宏定义的使用方式,方便了代码的统一管理,尤其是在大型设计中,使用较多。
`include "video_define.v"
module color_bar(
input clk, //pixel clock
input rst, //reset signal high active
output hs, //horizontal synchronization
output vs, //vertical synchronization
output de, //video valid
output[7:0] rgb_r, //video red data
output[7:0] rgb_g, //video green data
output[7:0] rgb_b //video blue data
);
//video timing parameter definition
`ifdef VIDEO_1280_720
parameter H_ACTIVE = 16'd1280; //horizontal active time (pixels)
parameter H_FP = 16'd110; //horizontal front porch (pixels)
parameter H_SYNC = 16'd40; //horizontal sync time(pixels)
parameter H_BP = 16'd220; //horizontal back porch (pixels)
parameter V_ACTIVE = 16'd720; //vertical active Time (lines)
parameter V_FP = 16'd5; //vertical front porch (lines)
parameter V_SYNC = 16'd5; //vertical sync time (lines)
parameter V_BP = 16'd20; //vertical back porch (lines)
parameter HS_POL = 1'b1; //horizontal sync polarity, 1 : POSITIVE,0 : NEGATIVE;
parameter VS_POL = 1'b1; //vertical sync polarity, 1 : POSITIVE,0 : NEGATIVE;
`endif