Fpga开发笔记(二):高云FPGA发开发软件Gowin和高云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发开发软件Gowin和高云fpga基本开发过程的更多相关文章
- Django开发笔记二
Django开发笔记一 Django开发笔记二 Django开发笔记三 Django开发笔记四 Django开发笔记五 Django开发笔记六 1.xadmin添加主题.修改标题页脚和收起左侧菜单 # ...
- SDL开发笔记(二):音频基础介绍、使用SDL播放音频
若该文为原创文章,未经允许不得转载原博主博客地址:https://blog.csdn.net/qq21497936原博主博客导航:https://blog.csdn.net/qq21497936/ar ...
- EasyUI 开发笔记(二)
接上篇 :EasyUI 开发笔记(一) (http://www.cnblogs.com/yiayi/p/3485258.html) 这期就简单介绍下, easyui 的 list 展示, 在easy ...
- 【大型软件开发】浅谈大型Qt软件开发(二)面向未来开发——来自未来的技术:COM组件。我如何做到让我们的教学模块像插件一样即插即用,以及为什么这么做。
前言 最近我们项目部的核心产品正在进行重构,然后又是年底了,除了开发工作之外项目并不紧急,加上加班时间混不够了....所以就忙里偷闲把整个项目的开发思路聊一下,以供参考. 鉴于接下来的一年我要进行这个 ...
- CoolBlog开发笔记第2课:搭建开发环境
教程目录 1.1 CoolBlog开发笔记第1课:项目分析 前言 今天是CoolBlog开发笔记的第2课,我们将要讲解的是开发环境的搭建.俗话说"工欲善其事必先利其器",Djang ...
- BizTalk开发系列(二十一) Mapping 扩展开发
BizTalk Map编辑器提供了常用的功能块,比如数据库,字符串,数字计算等功能.可在设计Map时直接使用这些功能块进行扩展.除此之外对于进行复杂的Map处 理,Map 编辑器提供了扩展XSLT,扩 ...
- JB开发之二 [jailbreak,越狱开发研究]
1.更换壁纸:把图片写到这个目录,/var/mobile/Library/LockBackground.jpg,然后kill the Springboard. 2.把程序添加进通知中心(iOS5以上) ...
- Vue-cli开发笔记二----------接口调用、配置全局变量
我做的一个项目,本身是没用任何框架,纯手写的前端及数据交互,项目已经完结.最近学Vue,于是借用这个项目,改装成vue项目. (一)接口问题:使用axios的调用方法,proxyTable解决开发环境 ...
- 离线谷歌地图API的开发笔记(二)
一.地图引擎介绍 离线地图引擎运行在WINDOWS平台上,底层由Visual c++语言开发,编译为OCX插件方式.占用文件少,便于二次开发的快速安装部署. 具有专业地图的基础操作功能:地图放大.缩小 ...
- RBL开发笔记二
17:13:55 2014-08-25 有以下几个点: 第一 :怎么在预处理阶段能够做到识别某个宏是否给定义了 这里就定义了一个SystemConfig.h 专门做这个事情 当然是需要make ...
随机推荐
- [转帖]S3FS 简介及部署
PS:文章一般都会先首发于我的个人Blog上:S3FS 简介及部署 · TonghuaRoot's BloG. ,有需要的小伙伴可以直接订阅我的Blog,获取最新内容. 0x00 前言 S3FS可以把 ...
- [转帖]Day63_Kafka(一)
第一讲 Kafka基础操作 课程大纲 课程内容 学习效果 掌握目标 Kafka简介 消息队列 掌握 Kafka简介 Kafka分布式环境 Kafka操作 Kafka shell 掌握 Kafka ap ...
- [转帖]Linux Shell:date日期时间操作
https://www.jianshu.com/p/cc9ebb212a8e 整理Linux Shell脚本中常用的日期操作,给予date命令,主要用法总结 获得当前日期,时间戳,date,date ...
- [转帖]enq: TX - row lock contention故障处理一则
https://www.cnblogs.com/zhchoutai/p/7088826.html 一个非常easy的问题,之所以让我对这个问题进行总结.一是由于没我想象的简单,在处理的过程中遇到了 ...
- [转帖]HTTP 框架 Hertz 实践入门:性能测试指南
https://maimai.cn/article/detail?fid=1767401397&efid=R2_kM5y-yEUDCK88FZWrGA 干货不迷路2021 年 9 月 8 日, ...
- Docker 部署 Ceph的简单方法
https://zhuanlan.zhihu.com/p/390377674 学习一下. docker部署 部署的思路和网络架构和前面分布式是一样的,区别在于命令的形式. 在每个节点安装 docker ...
- js 保留两位小数不进行四舍五入
保留两位小数不进行四舍五入 // 保留小数n位,不进行四舍五入 // num你传递过来的数字, // decimal你保留的几位,默认保留小数后两位 app.config.globalProperti ...
- 如何安装typescript-如何运行typescript
如何安装 typescript npm install typescript -g 安装 ts 之前需要安装 node 哈 查看 ts 的版本 tsc -V 我的是 3.6.3 的版本 typescr ...
- 数据仓库(4)基于维度建模的数仓KimBall架构
基于维度建模的KimBall架构,将数据仓库划分为4个不同的部分.分别是操作型源系统.ETL系统.数据展现和商业智能应用,如下图. 操作型源系统,指的就是面向用户的各类系统,如app.网站.E ...
- 使用emmylua调试slua
使用emmylua调试slua的方法 在lua的入口中加上emmylua的debug代码 在slua的LuaState.loaderDelegate委托中,添加判断如果是load_file_name= ...