当前位置:   article > 正文

高云FPGA学习-闪烁LED之gowin软件流程_高云程序

高云程序

 

参考手册把对应的引脚绑定

 

 设置完时钟后保存退出这个界面,在全编译一边

 

根据自己的版本选择正确的型号,版本可以看芯片丝印第二排第五位(高云同一型号会有多个版本的芯片,如这里就是A版本和C版本来选择)。

  1. filename : .v
  2. description :
  3. time :
  4. author : jie
  5. function :
  6. qq :1323299504
  7. ========================================*/
  8. module led(
  9. input Clk , //system clock 40MHz
  10. input Rst_n , //reset, low valid
  11. output reg [1:0] led //
  12. );
  13. parameter CNT = 2000_0000;//0.5s
  14. reg [15:00] cnt;
  15. //cnt
  16. always @(posedge Clk or negedge Rst_n) begin
  17. if(~Rst_n)
  18. cnt <= 16'd0;
  19. else if(cnt ==CNT - 1)
  20. cnt<=16'd0;
  21. else
  22. cnt <= cnt + 16'd1;
  23. end
  24. //led
  25. always@(posedge Clk or negedge Rst_n )begin
  26. if(~Rst_n)
  27. led <=2'b11;
  28. else if(cnt == CNT-1)
  29. led <= ~led;
  30. end
  31. endmodule

  1. `timescale 1ns/1ns //仿真系统时间尺度定义
  2. `define clk_period 20 //时钟周期参数定义
  3. module tb_led();
  4. //激励信号定义
  5. reg Clk ;
  6. reg Rst_n ;
  7. //响应信号定义
  8. defparam U_led.CNT = 100;
  9. wire [1:0] led;
  10. //实例化
  11. led U_led(
  12. /*input */.Clk (Clk), //system clock 40MHz
  13. /*input */.Rst_n(Rst_n) , //reset, low valid
  14. /*output reg [1:0] */.led (led) //
  15. );
  16. //产生时钟
  17. initial Clk = 1'b0;
  18. always #(`clk_period / 2) Clk = ~Clk;
  19. //产生激励
  20. initial begin
  21. Rst_n = 1'b0;
  22. #(`clk_period * 10 + 3);
  23. Rst_n = 1'b1;
  24. #(`clk_period * 500);
  25. $stop(2);
  26. end
  27. endmodule

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/在线问答5/article/detail/801761
推荐阅读
相关标签
  

闽ICP备14008679号