博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
FPGA学习之流水灯的实现
阅读量:5314 次
发布时间:2019-06-14

本文共 1543 字,大约阅读时间需要 5 分钟。

当然作为入门实验的流水灯实验是很简单的。基本没有什么可操作性

但是为了完整性,我也试着写了一个简单的。

module ledflow(

  input clk,
  input rst_n,

  output [7:0] leds

);

reg [7:0]leds_r;

assign leds = leds_r;

reg [24:0] clk_cnt_r;

reg en_leds_r;
reg [7:0]ledstate;
parameter leddata0 = 8'b1111_1110,
                leddata1 = 8'b1111_1101,
      leddata2 = 8'b1111_1011,
      leddata3 = 8'b1111_0111,
      leddata4 = 8'b1110_1111,
      leddata5 = 8'b1101_1111,
      leddata6 = 8'b1011_1111,
      leddata7 = 8'b0111_1111;
/17D7840 = 25M
always @ (posedge clk or negedge rst_n)
  if(!rst_n)
   clk_cnt_r <= 25'd0;
 else
  begin
   clk_cnt_r <= clk_cnt_r + 1'b1;
   case(clk_cnt_r)
   25'h17D7840 : begin clk_cnt_r <= 25'd0; en_leds_r <= 1'b1; end
   default           : en_leds_r <= 1'b0;
 endcase
 end

always @ (posedge clk or negedge rst_n)

  if(!rst_n)
    begin
    leds_r <= 8'b0000_0000;
  ledstate <= leddata0;
  end
  else
   begin
    if(en_leds_r)
     begin
     case(ledstate)
     leddata0 : begin  leds_r <= leddata0; ledstate <= leddata1; end
   leddata1 : begin  leds_r <= leddata1; ledstate <= leddata2; end
   leddata2 : begin  leds_r <= leddata2; ledstate <= leddata3; end
   leddata3 : begin  leds_r <= leddata3; ledstate <= leddata4; end
   leddata4 : begin  leds_r <= leddata4; ledstate <= leddata5; end
   leddata5 : begin  leds_r <= leddata5; ledstate <= leddata6; end
   leddata6 : begin  leds_r <= leddata6; ledstate <= leddata7; end
   leddata7 : begin  leds_r <= leddata7; ledstate <= leddata0; end
   default   : begin  leds_r <= 8'b11111111;ledstate<=leddata0;end
  endcase
   end
 end
endmodule

程序也是很简单的。  

但是中间的调试竟然也是花了我一点时间。

本程序也让我通过AS下载到了配置芯片中,从而是上电后会进行相应的配置。

转载于:https://www.cnblogs.com/zxqwolf/archive/2013/03/03/2941682.html

你可能感兴趣的文章
电脑的自带图标的显示
查看>>
[转载] redis 的两种持久化方式及原理
查看>>
C++ 删除字符串的两种实现方式
查看>>
ORA-01502: 索引'P_ABCD.PK_WEB_BASE'或这类索引的分区处于不可用状态
查看>>
Java抽象类和接口的比较
查看>>
开发进度一
查看>>
MyBaits学习
查看>>
管道,数据共享,进程池
查看>>
CSS
查看>>
[LeetCode] 55. Jump Game_ Medium tag: Dynamic Programming
查看>>
[Cypress] Stub a Post Request for Successful Form Submission with Cypress
查看>>
程序集的混淆及签名
查看>>
判断9X9数组是否是数独的java代码
查看>>
00-自测1. 打印沙漏
查看>>
UNITY在VS中调试
查看>>
SDUTOJ3754_黑白棋(纯模拟)
查看>>
Scala入门(1)Linux下Scala(2.12.1)安装
查看>>
如何改善下面的代码 领导说了很耗资源
查看>>
Quartus II 中常见Warning 原因及解决方法
查看>>
php中的isset和empty的用法区别
查看>>