当前位置: 首页 > article >正文

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

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,如下:

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

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

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

module flow_led(
    input               sys_clk  ,  //系统时钟
    input               sys_rst_n,  //系统复位,低电平有效
    input               k,  //移位方向控制	 
    output  reg  [3:0]  led         //4个LED灯
    );

//reg define
reg [23:0] counter;

//*****************************************************
//**                    main code
//***************************************************** 
                                                                                                                                                                                                                         
//计数器对系统时钟计数,计时0.2秒
always @(posedge sys_clk or negedge sys_rst_n) begin
    if (!sys_rst_n)
        counter <= 24'd0;
    else if (counter < 24'd1000_0000)
        counter <= counter + 1'b1;
    else
        counter <= 24'd0;
end

//通过移位寄存器控制IO口的高低电平,从而改变LED的显示状态
always @(posedge sys_clk or negedge sys_rst_n) begin
    if (!sys_rst_n)
        led <= 4'b0111;
    else if(counter == 24'd1000_0000) 
        led[3:0]<= (k==1)?{led[2:0],led[3]}:{led[0],led[3:1]};
	else
        led <= led;
end

endmodule 

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

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

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

 

 


http://www.kler.cn/a/3365.html

相关文章:

  • Android SystemUI——系统快捷设置面板(十三)
  • 微调Qwen2:7B模型,加入未知信息语料
  • JVM面试题解,垃圾回收之“分代回收理论”剖析
  • GPSd定时检测保活TCP GPS源
  • Dify:低代码 AI 应用开发平台详解与实战指南
  • 后端的config包中的常用配置
  • Python | 蓝桥杯进阶第五卷——数论
  • 计算机组成原理|第四章(笔记)
  • 【C语言】动态内存分配malloc,realloc等函数使用和常见错误
  • 【C++】stack|queue|deque(适配器模式)
  • 一个看起来非常科幻的人脸识别接口与其实现逻辑,用于二次开发
  • 【算法】回溯法详解
  • 2023年区块链面试宝典整理版(一)
  • 【算法】生成分布式 ID 的雪花算法
  • WinForm | C# 界面弹出消息通知栏 (仿Win10系统通知栏)
  • 什么是Python3网络爬虫?
  • Nginx是什么,是干嘛的
  • 内存泄漏 定位方法
  • 老杜MySQL入门基础 第二天
  • 【22年蓝桥杯】十三届蓝桥杯真题JavaB组解析+代码(带你复习知识点)(一)
  • 【LeetCode】消失的数字
  • 【数据结构】用栈实现队列
  • vue3:setup
  • U - 速算24点
  • 2022(一等奖)D775北部湾红树林生理结构参数对水位变化的响应特征研究
  • 【去哪儿旅行笔试题】德州扑克