发 帖  
原厂入驻New
申请华秋企业认证 多层板首单免费打样!
30s提交资料,10分钟通过审核(免费赔付+顺丰包邮)>>立即报名
【雨的FPGA笔记】基础实践-------呼吸灯设计和实现
2020-1-12 19:50:05  523 FPGA 笔记 基础
分享
本帖最后由 拾光333 于 2020-1-12 19:54 编辑

呼吸灯设计和实现


内容
一个周期为1s的呼吸灯,从熄灭到完全点亮一共需要1s。


将1s分为1000个1ms作为呼吸灯变化周期。将1ms分成1000个1us作为呼吸灯的变化单元。
第一个1ms内的1000个1us为全暗;第二个1ms内的第一个1us为亮,其余的999个1us为暗
第三个1ms内的第一个和第二个1us为亮,其余的998个1us为暗依次类推。
关于LED的在led流水灯说过一点。
仿真文件
  1. `timescale 1 ns/ 1 ns
  2. module light_breathe_vlg_tst();

  3. reg sys_clk;
  4. reg sys_rst;

  5. // wires                                               
  6. wire [3:0]  led;

  7. // assign statements (IF any)                          
  8. light_breathe i1 (
  9. // port map - connection between master ports and signals/registers   
  10.         .led(led),
  11.         .sys_clk(sys_clk),
  12.         .sys_rst(sys_rst)
  13. );
  14. initial                                                
  15. begin                                                  
  16.     sys_clk = 1'd0;
  17.     sys_rst <= 1'd0;
  18.     #100 sys_rst <= 1'd1;
  19. end                                                   
  20. always  #10  sys_clk = ~sys_clk;   
  21.                                                                                                                                                                                    
  22. endmodule

复制代码
仿真结果
QLLIGBRYCZFK0Z08XKDK@KN.png PN$AO%}TRE$PJGKL}EDLTOC.png ZWX0{I]MZV]0HWE4DNCG91L.png 1C4RN81N%9(H]89B@}0W$LX.png
为了观察方便把各个计数器值缩短了,分别为为0~4,0~9,0~9,原来是0~49,0~999,0~999刚好1s。,计数器分别到达4,9,9时计数器清零相应计数器加一,可以看到在计数相同的1s里led波形变化一样,4个led等同时成呼吸状态。
4

light_breathe.zip

下载积分: 积分 -1 分

8.42 MB, 下载次数: 3, 下载积分: 积分 -1 分

分享淘帖 显示全部楼层
最近下载过的用户(3)
· 2020-1-12 21:43:16
软件能注释一下吗  对此不了解
· 2020-1-13 09:47:11
感谢分享,呼吸灯是计数器的经典范例之一。

评论

高级模式
您需要登录后才可以回帖 登录 | 注册

发资料
关闭

站长推荐 上一条 /6 下一条

快速回复 返回顶部 返回列表