Fpga开发笔记(二):高云FPGA发开发软件Gowin和高云fpga基本开发过程

若该文为原创文章,转载请注明原文出处
本文章博客地址:https://hpzwl.blog.csdn.net/article/details/135620590

红胖子网络科技博文大全:开发技术集合(包含Qt实用技术、树莓派、三维、OpenCV、OpenGL、ffmpeg、OSG、单片机、软硬结合等等)持续更新中…

FPGA开发专栏

上一篇:《Fpga开发笔记(一):高云FPGA芯片介绍,入手开发板套件、核心板和底板介绍》
下一篇:敬请期待…


前言

  本篇安装高云的开发软件Gowin,并且描述了一个基于高云fpga的程序的开发环境和完整的下载运行过程。


Gowin软件

概述

  Gowin 软件是广东高云半导体股份有限公司的 FPGA 开发软件。

下载地址

  http://www.gowinsemi.com.cn
  在这里插入图片描述

  在这里插入图片描述

申请license

  申请license地址:http://www.gowinsemi.com.cn/faq_view.aspx
  在这里插入图片描述

  这个过程也有一个和谐的方式,可查看:
  http://www.corecourse.cn/forum.php?mod=viewthread&tid=29510
  下载好软件、获取到license后就是安装软件了。

安装Gowin软件

  在这里插入图片描述

  在这里插入图片描述

  在这里插入图片描述

  在这里插入图片描述

  在这里插入图片描述

  在这里插入图片描述

  在这里插入图片描述

  在这里插入图片描述

  在这里插入图片描述

  在这里插入图片描述

  在这里插入图片描述

  在这里插入图片描述

  在这里插入图片描述

  在这里插入图片描述

  在这里插入图片描述

  在这里插入图片描述

  然后,就没有然后了,直接没了,是安装完成了。

License注册

  这是没有license,打开安装目录下:
  在这里插入图片描述

  在这里插入图片描述

  在这里插入图片描述

  在这里插入图片描述

启动软件

  在这里插入图片描述

  拖出来,放到“开始”屏幕上:
  在这里插入图片描述

  点击打开:
  在这里插入图片描述

  以上是注册license失败了或者未注册,退回去,继续注册。
  在这里插入图片描述

配置中文和新建工程默认路径

   在这里插入图片描述

  在这里插入图片描述

  在这里插入图片描述
  在这里插入图片描述


Fpga开发过程

步骤一:打开软件

  在这里插入图片描述

步骤二:创建工程/打开工程

  在这里插入图片描述

  在这里插入图片描述

  在这里插入图片描述

  在这里插入图片描述

  在这里插入图片描述

  在这里插入图片描述

  在这里插入图片描述

步骤三:编辑/添加verilog源文件

  这里添加一个verilog的程序源码,从demo里面随便拿一个(这是一个反转led灯的demo程序源码):
  在这里插入图片描述

  复制到工程的src下:
  在这里插入图片描述

  然后添加下verilog文件:
  在这里插入图片描述

  在这里插入图片描述

  在这里插入图片描述

  上面是新建文件的方式,下面是添加已有文件的方式:
  在这里插入图片描述

  选择src目录下的.v文件:
  在这里插入图片描述

步骤四:RTL语法分析(相当于代码编程的编译)

  在这里插入图片描述

  点击后:
  在这里插入图片描述

  然后开始分析综合:
  在这里插入图片描述

  完成后,就是生成了fpga的底层资源电路网表:
  在这里插入图片描述

  完成后,Hierarchy显示模块使用的资源:
  在这里插入图片描述

  设置顶层文件:
  在这里插入图片描述

  这个好像是跑哪一个程序。

步骤五:物理约束

  进入FloorPlanner界面,点击I/O Constraints,进行I/O约束,然后根据自己的板卡分配引脚和电平标准,
  在这里插入图片描述

  弹出新框:
  在这里插入图片描述

  点击I/O Constraints:
  在这里插入图片描述

  在这里插入图片描述

步骤六:布局布线

  通过点击 Process->Place&Route 进行布局布线,布局布线成功便可看到“Bitstream generation completed”,此时代表fs文件生成成功,如下:
  在这里插入图片描述

  在这里插入图片描述

步骤七:板级验证(相当于单片机在线调试)

  将fs文件下载到FPGA芯片中,用于完成对 FPGA 的配置:
  在这里插入图片描述

  检测到了设备,确认编程:
  在这里插入图片描述

  在这里插入图片描述

  在这里插入图片描述

  在这里插入图片描述

  在线调试结果:
  在这里插入图片描述

  在这里插入图片描述

  有三灯一直亮,可以配置下引脚输出为低电平(默认上拉高电平:
  在这里插入图片描述

  (这里是下下来直接运行了)
  在这里插入图片描述

  (注意:此时相当于单片机下载程序下去在线调试,断电后就没了,需要下载刷固件)
步骤八:程序固化(相当于下载程度到单片机上)
  在这里插入图片描述

  在这里插入图片描述

  在这里插入图片描述

  然后再在慢一些,下载完成:
  在这里插入图片描述


入坑

入坑一:下载程序卡死

问题

  无响应卡死
  在这里插入图片描述

原因

  不清楚

解决

  继续点击run可以开第二个这个窗口,就可以下载,测试发现第一个必然卡死,卡死的前提下开第二个,第二个可以下载,要是关了再开也是一个,还是卡死,当作是这个下载软件的bug了。

入坑二:下载后LED0不闪烁

问题

  不闪烁,四灯全亮

原因

  未约束管脚输出
  在这里插入图片描述

解决

  要配置好引脚约束(实际就是配置引脚输出)
   在这里插入图片描述


上一篇:《Fpga开发笔记(一):高云FPGA芯片介绍,入手开发板套件、核心板和底板介绍》
下一篇:敬请期待…


本文章博客地址:https://hpzwl.blog.csdn.net/article/details/135620590

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/626871.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【Redis配置】Linux下的Redis安装配置

压缩包方式的Redis下载与安装 进入官网 Redis官网:https://redis.io/download/ 往下翻可以找到其他版本的Redis,或者访问https://download.redis.io/releases/查找自己所需Redis版本。 下载自己所需版本 此处我选择下载的是6.2.14版本 上传到Linux…

墙地砖外形检测的技术方案-图像分割

基础原理 由于对碗口进行缺口检测,因此只需要碗口的边界信息。得到陶瓷碗区域填充后的图像,对图像进行边缘检测。这是属于图像分割中的内容,在图像的边缘中,可以利用导数算子对数字图像求差分,将边缘提取出来。 案例…

Vue:将以往的JQ页面,重构成Vue组件页面(组件化编码大致流程)

一、实现静态组件 组件要按照功能点拆分,命名不要与HTML元素冲突。 1、根据UI提供的原型图,进行结构设计,结构设计的粒度以是否方便给组件起名字为依据。并梳理好对应组件的层级依赖关系。 2、设计好结构后,开始写对应的组件&am…

pl/sql程序块的使用

-- Created on 2024-01-15 by ADMINISTRATOR declare -- Local variables hererecord_tablename varchar2(100);---test_record表名record_StartNo integer(19);---test_record开始编号temp_No integer(19);maxnbbh integer(19);nCnt integer : 20;fi…

ESP32 带字库显示中文终极方案

在持续的试错和进步之间发布过下面内容: TFT屏幕在arduino (esp 32)下的驱动,汉字显示和字库比较_arduino gc9a01显示汉字-CSDN博客 在esp32(esp8266) 提供软字库显示中文的解决方案_tft_espi汉字-CSDN博客 单片机上软字库换32进…

jar包热加载原理

第一次加载时,记录jar包的更新时间 lastModified jarLoader.getURLs()[0].openConnection().getLastModified(); 第二次加载时,比较jar的更新时间和第一次jar包更新时间,若不一致,说明jar包更新过了 if (jarLoader.getLastModi…

家用小型洗衣机哪款性价比高?好用的内衣洗衣机推荐

现在大多数的上班族,面临的都是早九晚六的工作,而且工作完下班回家还是面对各种各样的家务,特别是清洗需要换洗的洗衣,属实是有点辛苦了。可能很多人为了方便,每次洗衣服的都是把一堆衣服直接丢进洗衣机,直…

EVE-NG的环境导入IOL组件

IOL或IOS On Linux,也称为IOU或IOS On Unix。IOL是一个模拟器,一般仅思科使用。IOL指为i386架构编译的Linux版本。IOU指为Sparc架构编译的Unix(Solaris)版本。由于IOL是内部IOS版本,因此IOL只能由Cisco授权客户使用。需…

UniApp+Vue智慧工地信息化管理云平台源码(支持多工地使用)

智慧工地建设的意义 1、提高工程效率 智慧工地可以通过数字化手段,将工地的各个方面进行数字化存储和管理,从而实现的实时监测和共享。这可以大大提高工程的效率,减少工程中的人工干预,并且可以为后续的工程维护和升级提供便利。…

c++中的以及链表的基础使用

c中的& 通俗的立减即为对一个变量起别名。(是和指针有区别的) 以下为两个示例程序: 通过&代替了以往对地址的传递。从而实现了对a和b的交换。 p为a的别名,对p操作即为对a操作。故最后输出a的值为10. 链表的基础应用 链…

**FutureTask应用源码分析**(一)

1.1 FutureTask介绍 FutureTask是一个可以取消异步任务的类。FutureTask对Future做的一个基本实现。可以调用方法区开始和取消一个任务。 一般是配合Callable去使用。 异步任务启动之后,可以获取一个绑定当前异步任务的FutureTask。 可以基于FutureTask的方法去取消…

Windows11搭建Python环境(2)- Anaconda虚拟环境中安装Git

在搭建MetaGPT运行环境过程中,使用了Anaconda虚拟环境,在运行MetaGPT时出现错误: 可以看到是没有找到git指令。 在Windows上安装Git,可以直接去官网下载.exe文件,然后安装即可。 但是上面安装完成后,是无…

三方接口对接常见数据处理方式汇总

文章目录 数据请求格式application/json接收发送 multipart/form-data接收发送 application/x-www-form-urlencoded接收发送 text/xml接收发送 Request请求中各个数据载体获取方法HeaderParameterInputStreamAttribute 二次封装HttpServletRequest参考 验签与加密 日常开发中&a…

【mfc/VS2022】绘图工具设计-绘制基本图元1

基于:https://blog.csdn.net/weixin_51599044/article/details/111741111 实现的功能: 绘制图元的方法: 前5种图元的菜单项均在“绘制”菜单里。 1.直线:按下左键作为起点,按住左键拖动鼠标到你想设定的终点,然后放开…

使用Map.clear()、List.clear()方法,清空时注意!

对 Map、List 对象进行清空操作时,常常会使用 clear() 方法。 例如,清空 Map Map map new HashMap();map.put("key1","value1");map.put("key2","value2");System.out.println(map.size()); //2map.clear();Sy…

.gitignore文件设置了忽略但不生效,git提交过程解析

这里写目录标题 第一章、gitignore文件设置了忽略路径,但是不生效1.1)原因1.2)解决 第一章、gitignore文件设置了忽略路径,但是不生效 1.1)原因 在初次提交代码的时候,没有进行文件忽略,某些文…

【Python_PySide6学习笔记(三十一)】基于PySide6实现自定义串口设备连接界面类:可实现串口连接断开、定时发送等功能

基于PySide6实现自定义串口设备连接界面类:可实现串口连接关闭、定时发送等功能 基于PySide6实现自定义串口设备连接界面类:可实现串口连接关闭、定时发送等功能前言一、界面布局二、串口相关功能实现三、完整代码四、调用方法五、实现效果基于PySide6实现自定义串口设备连接…

快慢指针-Floyd判圈算法

对于环形链表是否存在环的做法,普通算法可以通过额外Hash数组来存储链表元素,直到Hash数组中出现重复元素。时间复杂度O(n),空间复杂度O(n) Floyd判圈算法通过利用快慢指针的移动来实现,时间复杂度O(n)&am…

hash 路由和 history 路由的区别

Hash 路由(Hash Routing): URL 结构: 使用URL中的哈希部分(#)来表示不同的路由。例如,http://example.com/#/page1。实现方式: 前端路由器通过监听 window.onhashchange 来判断路由的…

Java进阶之旅第三天

Java进阶之旅第三天 文章目录 Java进阶之旅第三天TreeMap特点:题目 使用TreeMap进行数据统计题目: TreeMap 特点: 1.TreeMap根TreeSet底层原理一样,都是红黑树结构2.由键决定特性: 不重复,无索引,可排序3.可排序: 对键进行牌序注意: 默认按照键的从小到大进行排序,也可以自己…