Verilog拾遗(三)

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

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值