当前位置:   article > 正文

中科亿海微FPGA应用(一、点灯)_eq6hl45

eq6hl45

1.软件:

https://download.csdn.net/download/weixin_41784968/87564071

需要申请license才能使用:软件试用申请_软件试用申请_中科亿海微电子科技(苏州)有限公司

2.开发板:

 芯片EQ6HL45,42.5k LUT。

3.官方例程:

中科亿海微EQ6HL45例程-OS文档类资源-CSDN文库

4.上电,联机。注意板子需要单独用5V电源供电,下载器是不提供电源的。

5.运行eLinx,打开flow_led工程,如图:

 6.按以下示意生成Bitstream文件

 7.将板卡和下载器连好,点击“Open Target”,进入“Programmer”界面,点击“Auto Detect”探测到EQ6HL45。需要注意的是,Auto Detect有可能不成功,此时可重新插拔一下USB连线后再试。下载器主芯片为FT245R,市售的FT232H/FT2232H乃至国产的CH347模块均不能实现下载功能。下载图示如下:

 8.点击“Add File”,在工程所在的目录下\flow_led.runs\imple_1目录下找到flow_led.jpsk文件,点击“Start”下载到开发板,实现跑马灯效果。

 9.官方提供的跑马灯是亮3个灯,不亮的灯移动,因此效果不太明显,点开源程序,将led<=4'b0001修改为led<=4'b0111,保存(务必要做),重新生成Bitstream文件,重新下载。

11.进一步,改为可控双向跑马灯,代码如下:

  1. module flow_led(
  2. input sys_clk , //系统时钟
  3. input sys_rst_n, //系统复位,低电平有效
  4. input k, //移位方向控制
  5. output reg [3:0] led //4个LED灯
  6. );
  7. //reg define
  8. reg [23:0] counter;
  9. //*****************************************************
  10. //** main code
  11. //*****************************************************
  12. //计数器对系统时钟计数,计时0.2
  13. always @(posedge sys_clk or negedge sys_rst_n) begin
  14. if (!sys_rst_n)
  15. counter <= 24'd0;
  16. else if (counter < 24'd1000_0000)
  17. counter <= counter + 1'b1;
  18. else
  19. counter <= 24'd0;
  20. end
  21. //通过移位寄存器控制IO口的高低电平,从而改变LED的显示状态
  22. always @(posedge sys_clk or negedge sys_rst_n) begin
  23. if (!sys_rst_n)
  24. led <= 4'b0111;
  25. else if(counter == 24'd1000_0000)
  26. led[3:0]<= (k==1)?{led[2:0],led[3]}:{led[0],led[3:1]};
  27. else
  28. led <= led;
  29. end
  30. endmodule

 即增加了一个输入端k,利用三目运算符给led[3:0]赋了两个值。I/O Planning修改引脚,k设为F2:

 下载测试,不按KEY2时跑马灯自左往右,按下KEY2自右往左。

12.选择Flash模式,再次“Auto Detect”,点击“Start”,经过漫长时间(2-3分钟),程序下载成功,重新上电,Flash模式成功,即掉电后程序不丢失(JTAG模式掉电后程序丢失)。

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

闽ICP备14008679号