Verilog HDL小练习
2024-10-16 16:51:56
5s内15Hz4个LED闪烁,再两秒熄灭,循环往复。
引入en,可以使得4个LED灯全亮,以及恢复周期变化。
module led(clk_27MHZ, en, led1, led2, led3, led4);
input clk_27MHZ, en;
output reg led1, led2, led3, led4;
reg[25:0] counter_15HZ;
reg[25:0] counter_1HZ;
reg[3:0] count_5s, count_7s;
reg clk_15HZ;
reg clk_1HZ;
always@(posedge clk_27MHZ) begin
if(counter_15HZ <= 899999) begin
counter_15HZ <= counter_15HZ+1;
end
else begin
counter_15HZ <= 0;
clk_15HZ <= ~clk_15HZ;
end
if(counter_1HZ <= 13499999) begin
counter_1HZ <= counter_1HZ+1;
end
else begin
counter_1HZ <= 0;
clk_1HZ <= ~clk_1HZ;
end
end
always@(posedge clk_1HZ, posedge en) begin
if(en) begin
{led1, led2, led3, led4} <= 'b1111;
end
else begin
if(count_5s <= 4) begin
count_5s <= count_5s+1;
count_7s <= count_7s+1;
if(clk_15HZ) begin
{led1, led2, led3, led4} <= 'b1111;
end
else begin
{led1, led2, led3, led4} <= 'b0000;
end
end
else begin
count_7s <= count_7s+1;
{led1, led2, led3, led4} <= 'b0000;
if(count_7s == 6) begin
count_7s <= 0;
count_5s <= 0;
end
end
end
end
endmodule
最新文章
- Ajax接收不到PHP return后的结果的原因
- java多线程等待协调工作:CountDownLatch类的高级应用
- java编译正常javac出错不是内部或外部命令
- SAP程序代码中RANGE表的用法禁忌
- 深度学习笔记------windows系统下进行Linux-Ubuntu14.04双系统安装笔记(二)
- ural 1242. Werewolf
- diff和patch配合使用(转载备用)
- 斜率dp cdq 分治
- SourceTree - 好用的 Git / Mercurial GUI 管理工具 for Mac OS X
- 服务端调用js:javax.script
- Lenovo Y430P安装Linux无线网卡
- Spring 注入数据源
- 纪念SlingShot 矩阵
- 2014.12.01 B/S之windows8.1下安装IIS
- 控制器controller与指令中的link、controller中变量作用域的关系
- NYOJ--128--前缀式计算(表达式求值)
- 「【算法进阶0x30】数学知识A」作业简洁总结
- 批量将PowerDesigner中表字段由小写变成大写
- 实用:Git 中的一些常见错误
- Tips_方格拼图效果