FPGA学习

ops/2024/10/17 18:24:24/

Tang Primer 25K

Tang Primer 25K 是基于 GW5A-LV25MG121 所设计的一款极小封装的核心板(23x18mm),并配套全引脚引出(除MIPI高速脚外)的25K Dock底板。(国产高云FPGA),作为学习使用,非常小巧,大家可以购买(底板的3d保护壳可以使用博主的,建议打印一个,因为fpga开发板这种海上比较脆弱,如果碰到静电什么),博主是去年购买了吃灰了好久,现在有空拿出来玩玩。

底板和螺丝百度网盘链接:
链接:https://pan.baidu.com/s/1encetriBSqsJffrh5WDdyw
提取码:23o3

具体资料可以到
链接:https://wiki.sipeed.com/hardware/zh/tang/tang-primer-25k

picture 0

图1 Tang Primer 25K实物图

picture 1

图2 Tang Primer 25K博主加装底部外壳实物图

安装Gaowin IDE

注意25K需要使用 V1.9.9Beta-4 或更新的IDE版本(教育版本就ok)
下载链接:http://www.gowinsemi.com.cn/faq.aspx

picture 2

图3 Gaowin IDE图

板子上面芯片为GW5A-LVMG121NES,但是教育版本上是GW5A-LV25MG121NC1/I0,我问过客服,一样使用就ok。

可以设置外部编辑器(vscode或者notepad++)

picture 4

图4 设置图1

picture 3

图5 设置图2

FPGA学习记录

看原理图

picture 6

图6 原理图1

picture 5

图7 原理图2

点灯

verilog code

module LED_FLOW(input clk,input reset_n,output reg [7:0]led
);reg [25:0] counter;initial
beginled=8'hff;counter=26'd0;
end// 定义参数
parameter CLK_FREQ = 50_000_000; // 时钟频率50MHz
parameter BLINK_PERIOD = 1;      // 闪烁周期1秒
localparam COUNTER_MAX = CLK_FREQ * BLINK_PERIOD - 1; // 计数器最大值always @(posedge clk or negedge reset_n) 
beginif (!reset_n)counter <= 26'd0;else if (counter < COUNTER_MAX)       // 1scounter <= counter + 1'b1;elsecounter <= 26'd0;
endalways @(posedge clk or negedge reset_n) 
beginif (!reset_n)led <= 8'hff;else if (counter == COUNTER_MAX)       // 1sled<=~led;elseled<=led;
endendmodule

跑马灯

verilog code

module LED_RUN(input clk,input reset_n,output reg [7:0]led
);reg [25:0] counter;initial
beginled=8'hfe;counter=26'd0;
end// 定义参数
parameter CLK_FREQ = 50_000_000; // 时钟频率50MHz
parameter BLINK_PERIOD = 1;      // 闪烁周期1秒
localparam COUNTER_MAX = CLK_FREQ * BLINK_PERIOD - 1; // 计数器最大值always @(posedge clk or negedge reset_n) 
beginif (!reset_n)counter <= 26'd0;else if (counter < COUNTER_MAX)       // 1scounter <= counter + 1'b1;elsecounter <= 26'd0;
endalways @(posedge clk or negedge reset_n) 
beginif (!reset_n)led <= 8'hff;else if (counter == COUNTER_MAX)       // 1sled<={led[6:0],~led[7]};elseled<=led;
endendmodule

流水灯

verilog code

module LED_FLOW(input clk,input reset_n,output reg [7:0]led
);reg [25:0] counter;initial
beginled=8'hfe;counter=26'd0;
end// 定义参数
parameter CLK_FREQ = 50_000_000; // 时钟频率50MHz
parameter BLINK_PERIOD = 1;      // 闪烁周期1秒
localparam COUNTER_MAX = CLK_FREQ * BLINK_PERIOD - 1; // 计数器最大值always @(posedge clk or negedge reset_n) 
beginif (!reset_n)counter <= 26'd0;else if (counter < COUNTER_MAX)       // 1scounter <= counter + 1'b1;elsecounter <= 26'd0;
endalways @(posedge clk or negedge reset_n) 
beginif (!reset_n)led <= 8'hfe;else if (counter == COUNTER_MAX)       // 1sled<={led[6:0],led[7]};elseled<=led;
endendmodule

重要注意事项

picture 7

图8 引脚绑定

多少引脚填写H多少就可以,那个原理图里面的。

picture 8

图9 程序烧写

picture 9

图10 程序烧写

烧写建议烧到sram,节省flash寿命

视频演示

FPGA学习记录


http://www.ppmy.cn/ops/126269.html

相关文章

sql server尽量避免滥用影响性能的标量函数

相信很多新手学了 函数的用法就不可避免的想把学到的东西用起来&#xff0c;然而这个函数使用却有坑&#xff0c; 在实际用的时候我发现一个简单的计算封装 &#xff0c;不用函数和用函数执行耗时差太多了。 能避免列上进行函数则尽量避免&#xff0c;这是在实际上遇到的坑 &am…

Android——通过MediaStore查询图片

查询图片&#xff1a; private void loadImageList() {String[] columns new String[]{MediaStore.Images.Media._ID, // 编号MediaStore.Images.Media.TITLE, // 标题MediaStore.Images.Media.SIZE, // 文件大小MediaStore.Images.Media.DATA, // 文件路径};Cursor cursor g…

UI自动化测试示例:python+pytest+selenium+allure

重点应用是封装、参数化&#xff1a; 比如在lib文件夹下&#xff0c;要存储封装好的方法和必要的环境变量&#xff08;指网址等&#xff09; 1.cfg.py:封装网址和对应的页面 SMP_ADDRESS http://127.0.0.1:8234SMP_URL_LOGIN f{SMP_ADDRESS}/login.html SMP_URL_DE…

Centos7系统Python3.11.2版本安装

开发依赖包需要依赖于python3.11环境&#xff0c;但是目前python环境为3.6&#xff0c;于是需要修改python环境为3.11版本 Python 3.11 在 CentOS 7 中没有。我们将从源代码安装它 安装依赖包 yum -y update systemctl reboot yum -y install epel-release yum install wget…

SQL INNER JOIN:深入解析与实际应用

SQL INNER JOIN:深入解析与实际应用 引言 在关系型数据库管理系统中,SQL(Structured Query Language)是一种用于管理和操作数据库的标准编程语言。SQL INNER JOIN 是一种常用的查询技术,用于结合两个或多个数据库表中的相关行。本文将深入探讨 SQL INNER JOIN 的概念、语…

公寓智能水电系统

什么是公寓智能水电系统?简单来说&#xff0c;公寓智能水电系统是一种利用物联网技术&#xff0c;将家中的水电设备连接起来&#xff0c;实现远程监控与自动控制的解决方案。它包括但不限于智能电表、智能水表、漏电保护器、漏水检测器等硬件设施&#xff0c;以及配套的软件平…

根据Vue对比来深入学习React 下 props 组件传值 插槽 样式操作 hooks 高阶组件 性能优化

文章目录 函数组件的特点props组件间的传值父传子看上例子传父兄弟组件传值祖先组件传值 插槽基础插槽具名插槽作用域插槽 样式操作**CSS Modules** 生命周期useRef常用hookuseStateuseEffectuseContextuseReduceruseMemouseCallback 高阶组件什么时候使用 react性能问题和优化…

iOS 18升级:避免常见陷阱,顺利完成升级

随着iOS 18的发布&#xff0c;许多用户都希望尽快体验到新系统带来的新功能和改进。然而&#xff0c;升级过程可能会因为准备工作不足或对步骤的不熟悉而变得复杂。本文旨在为用户提供一个清晰的升级指南&#xff0c;确保升级过程既平滑又安全。 升级前的准备工作 在开始升级之…