鲲鹏社区首页
中文
注册
基于香橙派鲲鹏Pro开发板实现FPGA的LED灯控制

基于香橙派鲲鹏Pro开发板实现FPGA的LED灯控制

香橙派鲲鹏pro

发表于 2025/05/27

0

作者|楼佳明

1.实验环境说明

  • 香橙派鲲鹏 Pro开发板、显示器+键鼠一套、openEuler22.03操作系统;
  • 每套实验环境可供1名学员上机操作。

2.实验原理介绍

FPGA上总共有16个可编程的LED。下图显示了这些LED的位置、其在原理图中的信号名称,以及在FPGA代码中驱动它们对应的FPGA引脚

本实验案例通过在开发板上自带的Gowin IDE软件,实现LED灯的闪烁控制

3.实验步骤

3.1 启动Gowin IDE软件

步骤1 打开终端

通过显示器连接到开发板后,以root用户完成登录,输入密码openEuler并按Enter键。

登录成功后点击桌面左上角的活动,然后点击终端。

步骤2  进入Gowin IDE启动程序所在文件夹

在终端中运行下面的命令进入Gowin IDE启动程序所在文件夹。

cd /opt/Gowin/IDE/bin

步骤3 运行软件

运行下面的命令打开Gowin IDE。 

./gw_ide

Gowin IDE打开后的界面显示如下所示:

3.2 创建工程

使用Gowin IDE创建一个名为led_on的工程。

步骤1 创建保存FPGA工程的文件夹

创建一个名为opimsoc的文件夹,用于保存在本手册中创建的FPGA工程文件。

mkdir -p /root/opimsoc

步骤2 创建FPGA工程

Gowin IDE启动后打开的页面如下图所示,主要分为分为4个板块:

1Recent Projects:显示近期打开过的工程。

2Quick Start:用来快速的创建一个新工程、打开已有工程和打开工程样例。

3Tools:包括 FloorPlanner(物理约束编辑器)、Timing

Constrains Editor(时序约束编辑器)和Programmer(FPGA下载器软件)工具。

4User Manuals:用户手册,点击可进入高云官网的产品介绍。


步骤3 新建工程

Quick Start中点击New Project来新建一个Gowin FPGA工程。

接着点击OK按键即可。

步骤4  完成Project wizard

然后在Project wizard界面中填写工程名称以及设置工程文件保存到前面创建的opimsoc文件夹。再根据实际情况确定是否勾选 Use as default project location,勾选之后,下一次建立工程的时候,将会默认保存到opimsoc文件夹中。设置完成之后,点击

注意,工程名称中不能有中文字符和空格。

步骤5 设置FPGA的器件信息

然后在Select Device界面中设置OPi MSOC使用的FPGA的器件信息,选择完成之后,再点击Next

a)      Series:用来过滤系列,OPi MSOC需要选择GW5AT。

b)      Device:用来过滤器件,OPi MSOC需要选择GW5AT-138。

c)      Package:用来过滤封装类型,OPi MSOC需要选择PGBA484A。

d)      Speed:用来过滤速度等级,OPi MSOC需要选择C1/10。

e)      Device Version:用来过滤器件的版本,OPi MSOC需要选择B。

f)       Part Number:用来选择型号,该栏中会显示所选择器件的详细资源信息。

步骤6  完成工程创建

最后会出现Summary界面,然后点击 Finish,完成工程的创建。

工程创建好后显示的界面如下所示:

3.3 编写FPGA源文件

Design板块的空白处点击鼠标右键。

然后选择New File

然后输入Verilog File源文件名字,led_on。再点击OK即可。

然后在Design板块中会自动新建一个Verilog Files文件夹,并且该文件夹下会包含刚才创建的名为led_on.v的Verilog 源文件。

然后在代码编辑框中就可以编写Verilog的代码了。

led_on.v文件中输入下面代码,控制前8个LED灯,其中4个点亮4个熄灭

module led_on(
    output wire [7:0] LED
);

    //Assign LED to be ON
assign LED = 8'b01010101;// Turn on the LED

endmodule

编写完成后,请点击下图所示位置的按钮来保存下Verilog源文件。

3.4 分析综合

通过运行工具栏中的Run Synthesis按钮来运行综合。

运行完成后,如果Console中没有出现任何错误,说明综合成功了,如果有报错,就需要根据报错来修改代码,再重新执行综合。   

3.5 物理约束

直接点击工具栏中的快捷按钮来运行物理约束

然后会打开FloorPlanner界面。

然后点击左下角的I/O Constraints进行I/O约束,分别设置成如下图所示的引脚位置。

约束完成之后,请点击下图所示的位置保存下物理约束文件。

关闭FloorPlanner页面,再回到Design窗口中,可以看到会多了一个cst格式的文件,并且里面有刚才设置的物理约束的内容。

LED[0]对应OPi MSOC开发板上丝印为2的LED灯,程序会控制其点亮。

LED[1]对应OPi MSOC开发板上丝印为3的LED灯,程序会控制其熄灭。

LED[2]对应OPi MSOC开发板上丝印为4的LED灯,程序会控制其点亮。

LED[3]对应OPi MSOC开发板上丝印为5的LED灯,程序会控制其熄灭。

LED[4]对应OPi MSOC开发板上丝印为6的LED灯,程序会控制其点亮。

LED[5]对应OPi MSOC开发板上丝印为7的LED灯,程序会控制其熄灭。

LED[6]对应OPi MSOC开发板上丝印为8的LED灯,程序会控制其点亮。

LED[7]对应OPi MSOC开发板上丝印为9的LED灯,程序会控制其熄灭。

3.6 布局布线

直接点击工具栏中的快捷按钮来运行布局布线。

布局布线完成后的打印如下所示,然后还会生成fs格式的比特流文件。

3.7 板级验证

在OPi MSOC开发板上测试编写的程序,LED灯的显示情况正常应该和下图所示的一样。

直接点击工具栏中的快捷按钮来打开Programmer

然后如果弹出了下图所示的界面,说明OPi MSOC已正常连接到了OPi Kunpeng Pro开发板上。

首先点击 USB Cable Setting,然后再点击弹框中的Save按钮进行保存。

点击Gowin Programmer中的Program按钮,就会将生成的fs比特流文件下载至FPGA的SRAM中。

Programmer下载成功fs文件后会打印下图所示的信息。

下载比特流文件到FPGA的SRAM中后会自动运行,此时可以看到OPi MSOC开发板上对应的LED灯被点亮

至此本实验案例顺利完成。

4.更多学习资源

更多学习内容和资源请扫码报名参加 “鲲鹏技术学习加油站”及浏览鲲鹏开发板专区。

1)香橙派鲲鹏Pro开发板技术学习加油站:

2)香橙派鲲鹏Pro开发板专区二维码:


本页内容