急求verilog 十彩灯控制器程序

 我来答
百度网友0835e59
2011-06-16 · TA获得超过161个赞
知道答主
回答量:51
采纳率:0%
帮助的人:43.9万
展开全部
always @ (posedge clk or negedge rst_n) begin
if (rst_n == 1'b0)
intv <= 2'b0;
else
intv <= intv[1:0] + 2'b01; // 假设输入时钟的周期是0.25s的做法
end

always @ (posedge clk or negedge rst_n) begin
if (rst_n == 1'b0)
led <= 10'h0; //0为亮,1灭
cnt <= 5'h0;
else
if ( sel_1s & intv[1] or ~sel_1s & intv[0]) // 选间隔
if (cnt < 5'h5)
led <= {led[9:2], 2'b10}; // 奇数灭
else if (cnt < 5'ha)
led <= {led[9:2], 2'b11}; // 偶数灭
else if (cnt == 5'ha)
led <= 10'h0; // 加个全亮的步骤,不然后面没得灯灭了
else if (cnt < 5'h14)
led <= {led[9:1], 1'b1}; // 依次灭
else if (cnt == 5'h14)
led <= 10'h0; // 加个全亮的步骤,不然后面没得灯灭了

if (cnt == 5'h14)
cnt <= 5'h0;
else
cnt <= cnt[4:0] + 5'h1;
end
end
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式