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

news/2024/11/17 6:54:57/

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) beginif (!sys_rst_n)counter <= 24'd0;else if (counter < 24'd1000_0000)counter <= counter + 1'b1;elsecounter <= 24'd0;
end//通过移位寄存器控制IO口的高低电平,从而改变LED的显示状态
always @(posedge sys_clk or negedge sys_rst_n) beginif (!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]};elseled <= led;
endendmodule 

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

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

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

 

 


http://www.ppmy.cn/news/35213.html

相关文章

Autosar诊断-DCM模块内的子模块

文章目录 前言一、DCM模块内的子模块1.1、DSL(Diagnostic Session Layer)1.2、DSD(Diagnostic Service Dispatcher)1.3、DSP(Diagnostic Service Processing)二、DCM和其他模块的交互2.1 DCM和PduR的交互2.2 DCM和ComM的交互总结前言 诊断通信管理(Diagnostic Communica…

摄影入门 | 相机的基本原理

一、获取图像——小孔成像实验 小孔成像实验中&#xff0c;点燃蜡烛&#xff0c;会在小孔另一面的白纸上看到一个倒立的烛焰。 此现象可以用来解释物理学原理&#xff1a;光在同种均匀介质中&#xff0c;在不受引力作用干扰的情况下沿直线传播。 这样&#xff0c;我们就用一种…

【CE进阶】lua脚本使用

▒ 目录 ▒&#x1f6eb; 导读需求开发环境1️⃣ 脚本窗口Lua ScriptLua EngineAuto assemble2️⃣ 全局变量3️⃣ 进程当前打开的进程ID系统的进程列表系统的顶部窗口列表4️⃣ 线程5️⃣ 输入设备6️⃣ 屏幕7️⃣ 剪贴板&#x1f6ec; 文章小结&#x1f4d6; 参考资料&#x…

AUTOSAR-各个模块作用初识(下)

文章目录 一、Autoasr整体框架图(Vector)二、各个模块简介13.AVB-Audio video Bridge13.1.vAVTP13.2.vSrp13.3.vRtp14.MCAL14.1.CAN driver14.2.ETH driver14.3.EthSwt14.4.FR14.5.LIN14.6.RamTst14.7.ADC-AD采集驱动程序14.8.DIO-通用的输入输出端口的控制驱动程序14.9.Eep-…

不做孔乙己也不做骆驼祥子

对教书育人的探讨前言一、为什么要“育人”1.育人为先2.育人是快乐的二、怎么“育人”前言 借着本次师德师风建设的主题&#xff0c;跟各位老师谈一谈对于“育人”的一些观点&#xff0c;和教育的一些看法。本文仅代表自己的观点&#xff0c;有不到位的地方&#xff0c;大家可以…

git为什么要先commit,然后pull,最后再push?而不是commit完直接push?

情况是这样的&#xff0c;现在远程有一个仓库&#xff0c;分支就一个&#xff0c;是master。然后我本地的仓库是从远程的master上clone下来的。大家都是clone下来&#xff0c;再在自己本地改好&#xff0c;再commit然后pull然后push&#xff0c;大家都是这么做的。那么现在问题…

java:序列化与反序列化

目录 序列化和反序列化的定义&#xff1a; 如何使用序列化&#xff1f; 总结 序列化和反序列化的定义&#xff1a; (1)Java序列化就是指把Java对象转换为字节序列的过程 比如可以将一个类转化为json类型 Java反序列化就是指把字节序列恢复为Java对象的过程。 (2)序列化最重要…

主线程与子线程之间相互通信(HandlerThread)

平时&#xff0c;我们一般都是在子线程中向主线程发送消息&#xff08;要在主线程更新UI&#xff09;&#xff0c;从而完成请求的处理。那么如果需要主线程来向子线程发送消息&#xff0c;希望子线程来完成什么任务。该怎么做&#xff1f;这就是这篇文章将要讨论的内容。 一、…