verilog语言初始化,直接赋值
wire [4:0] data_rise = {data_in[8],data_in[6],data_in[4],data_in[2],data_in[0]};
wire [4:0] data_fall = {data_in[9],data_in[7],data_in[5],data_in[3],data_in[1]};
这直接省略了assign赋值语句。
reg [4:0] data_rise_s = 0;
reg [4:0] data_fall_s = 0;
这是寄存器类型变量,直接初始化,为后面省略初始化
always@(posedge clk_5x)
begin
cnt <= (cnt[2] == 1'b1) ? 3'd0 : cnt + 1'b1;
data_rise_s <= (cnt[2] == 1'b1) : data_rise :data_rise_s[4:1];
end
//利用三目运算符,省去了if else 嵌套语句。
//可以直接使用initial进行时钟的初始化
initial begin
clkin_50m = 0;
forever #(10)
clkin_50m = ~clkin_50m;
end