FPGA新起点V1开发板(九)——流水灯

一、模块框图

在这里插入图片描述

二、代码编写

  1. endmodule下面需要敲出一个回车
  2. 代码拼接是大括号 led <= {led[2:0],led[3]}
  3. 注意二进制和十进制
module flow_led(
    input            sys_clk50,
    input            rst_n,
    
    output reg [3:0] led
);

reg [23:0] cnt;

always @(posedge sys_clk50 or negedge rst_n)
begin
    if(!rst_n) // 低电平有效(为复位信号),此时计数器清零
        cnt <= 1'b0;
    else
        if(cnt < 24'd10000000)
            cnt <= cnt + 1'b1;
        else
            cnt <= 24'd0;
end

always @(posedge sys_clk50 or negedge rst_n)
begin
    if(!rst_n) // 低电平有效(为复位信号)
        led <= 4'b0001;
    else
        if(cnt == 24'd10000000)
            led <= {led[2:0],led[3]};
        else
            led <= led;
end

endmodule

三、注意点

在这里插入图片描述
等会查查这些按钮

在这里插入图片描述

添加项目的时候,可以根据之前的文章的步骤一步步来就行
对于硬件管脚分配,查看execl表格就行

四、总结

第一就是一些创建仿真流程有点生疏了,这个无所谓都是套路
第二就是数字进制和位宽的长度
第三就是变量的设置(寄存器类型等等,这个有点头疼,不知道应该在什么时候设置,什么地方设置)
第四的话,就是对于fpga这个东西是并行的有了一个粗浅的感觉,always就像一个主函数,几个always就像几个主函数并行运行,有点像中断的意思但也不是中断,就像进程的那种感觉。

相关推荐

  1. 在 DE2-115 开发上使用 Chisel 编写流水程序

    2024-06-06 12:28:01       31 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-06-06 12:28:01       94 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-06-06 12:28:01       100 阅读
  3. 在Django里面运行非项目文件

    2024-06-06 12:28:01       82 阅读
  4. Python语言-面向对象

    2024-06-06 12:28:01       91 阅读

热门阅读

  1. 深度解读CHATGPT基本原理

    2024-06-06 12:28:01       31 阅读
  2. qemu虚拟机安装麒麟v10 arm版系统

    2024-06-06 12:28:01       27 阅读
  3. 微信小程序长图片自适应

    2024-06-06 12:28:01       23 阅读
  4. 算法——二分查找

    2024-06-06 12:28:01       32 阅读
  5. PHPstudy情况下上传图片马需要的.htaccess文件

    2024-06-06 12:28:01       30 阅读
  6. Redis命令实践

    2024-06-06 12:28:01       24 阅读
  7. Elasticsearch挂掉后,如何快速恢复数据

    2024-06-06 12:28:01       26 阅读
  8. centos系统上新建用户

    2024-06-06 12:28:01       27 阅读
  9. 渗透测试之Web安全系列教程(一)

    2024-06-06 12:28:01       26 阅读
  10. 游戏心理学Day05

    2024-06-06 12:28:01       25 阅读
  11. 关于django的一些基础问答

    2024-06-06 12:28:01       30 阅读