当前位置:   article > 正文

FPGA流水灯闪烁_fpga灯闪烁间隔两秒是多少khz

fpga灯闪烁间隔两秒是多少khz

本次设计是基于Xilinx旗下的Artix-7的开发环境下,首先需要设计流水灯的闪烁规则。本次设计采用的开发板只有四个LED灯,所以循环规则应该是0001→0010→0100→1000→0001...1000;本次设计流水灯闪烁为1S一次的间隔,由这些条件可以先进行模块的设计。

LED流水灯基本面板如下:

 

 

由上图模块可以知道,模块有两路输入一路输出,根据这个模块可以进行波形的绘制

首先是时钟和复位的波形图

设置的延迟间隔为1S,时钟频率为50MHz,所以每秒计数等于1/(1/50_000_000),每秒计数为50_000_000 ,转换成二进制位26位,所以可以画出1s计数的波形

为了准确判断1S计数结束可以增加一个1S计数的标志位

标志位在计数到达最大值之前的一个时钟周期变成高电平,在计数到最大值之后变为低电平

然后是LED的输出

 

在1S延迟后进入下一个循环指令,由这个波形图就可以编写LED流水灯的模块代码了

  1. module water_led
  2. #(
  3. parameter CNT_MAX = 26'd50_000_000
  4. )
  5. (
  6. input sys_clk,
  7. input sys_rst_n,
  8. output reg [3:0] led_out
  9. );
  10. reg [25:0] cnt_1s;
  11. reg cnt_flag;
  12. //1s计数器
  13. always@(posedge sys_clk or negedge sys_rst_n)
  14. if(!sys_rst_n)
  15. cnt_1s <= 26'd0;
  16. else if(cnt_1s == CNT_MAX)
  17. cnt_1s <= 26'd0;
  18. else
  19. cnt_1s <= cnt_1s + 26'd1;
  20. //1s计数器标志位
  21. always@(posedge sys_clk or negedge sys_rst_n)
  22. if(!sys_rst_n)
  23. cnt_flag <= 1'b0;
  24. else if(cnt_1s == CNT_MAX - 26'd1)
  25. cnt_flag <= 1'b1;
  26. else
  27. cnt_flag <= 1'b0;
  28. //led_out
  29. always@(posedge sys_clk or negedge sys_rst_n)
  30. if(!sys_rst_n)
  31. led_out <= 4'b0001;
  32. else if((led_out == 4'b1000) && (cnt_flag == 1'b1))
  33. led_out <= 4'b00001;
  34. else if(cnt_flag == 1'b1)
  35. led_out <= led_out <<1;
  36. else
  37. led_out <= led_out;
  38. endmodule

在simulate source 这里添加测试文件testbench.v 文件

  1. `timescale 1ns/1ns
  2. module tb_water_led();
  3. reg sys_clk;
  4. reg sys_rst_n;
  5. wire [3:0] led_out;
  6. initial
  7. begin
  8. sys_clk <= 1'b1;
  9. sys_rst_n <= 1'b0;
  10. #20
  11. sys_clk <= 1'b1;
  12. end
  13. always #10 sys_clk <= ~sys_clk;
  14. water_led
  15. #(
  16. .CNT_MAX(26'd20)
  17. )
  18. water_led_inst
  19. (
  20. .sys_clk (sys_clk),
  21. .sys_rst_n (sys_rst_n),
  22. .led_out (led_out)
  23. );
  24. endmodule

程序基本这样,纯手打没有进行验证,大概就是这个循环,接下来就是可以创建DXC文件进行管脚的约束,LED流水灯的实现基本就告一段落了。

本文内容由网友自发贡献,转载请注明出处:https://www.wpsshop.cn/w/Monodyee/article/detail/722041
推荐阅读
相关标签
  

闽ICP备14008679号