前言

  本篇安装高云的开发软件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基本开发过程的更多相关文章

  1. Django开发笔记二

    Django开发笔记一 Django开发笔记二 Django开发笔记三 Django开发笔记四 Django开发笔记五 Django开发笔记六 1.xadmin添加主题.修改标题页脚和收起左侧菜单 # ...

  2. SDL开发笔记(二):音频基础介绍、使用SDL播放音频

    若该文为原创文章,未经允许不得转载原博主博客地址:https://blog.csdn.net/qq21497936原博主博客导航:https://blog.csdn.net/qq21497936/ar ...

  3. EasyUI 开发笔记(二)

    接上篇 :EasyUI 开发笔记(一)  (http://www.cnblogs.com/yiayi/p/3485258.html) 这期就简单介绍下, easyui 的 list 展示, 在easy ...

  4. 【大型软件开发】浅谈大型Qt软件开发(二)面向未来开发——来自未来的技术:COM组件。我如何做到让我们的教学模块像插件一样即插即用,以及为什么这么做。

    前言 最近我们项目部的核心产品正在进行重构,然后又是年底了,除了开发工作之外项目并不紧急,加上加班时间混不够了....所以就忙里偷闲把整个项目的开发思路聊一下,以供参考. 鉴于接下来的一年我要进行这个 ...

  5. CoolBlog开发笔记第2课:搭建开发环境

    教程目录 1.1 CoolBlog开发笔记第1课:项目分析 前言 今天是CoolBlog开发笔记的第2课,我们将要讲解的是开发环境的搭建.俗话说"工欲善其事必先利其器",Djang ...

  6. BizTalk开发系列(二十一) Mapping 扩展开发

    BizTalk Map编辑器提供了常用的功能块,比如数据库,字符串,数字计算等功能.可在设计Map时直接使用这些功能块进行扩展.除此之外对于进行复杂的Map处 理,Map 编辑器提供了扩展XSLT,扩 ...

  7. JB开发之二 [jailbreak,越狱开发研究]

    1.更换壁纸:把图片写到这个目录,/var/mobile/Library/LockBackground.jpg,然后kill the Springboard. 2.把程序添加进通知中心(iOS5以上) ...

  8. Vue-cli开发笔记二----------接口调用、配置全局变量

    我做的一个项目,本身是没用任何框架,纯手写的前端及数据交互,项目已经完结.最近学Vue,于是借用这个项目,改装成vue项目. (一)接口问题:使用axios的调用方法,proxyTable解决开发环境 ...

  9. 离线谷歌地图API的开发笔记(二)

    一.地图引擎介绍 离线地图引擎运行在WINDOWS平台上,底层由Visual c++语言开发,编译为OCX插件方式.占用文件少,便于二次开发的快速安装部署. 具有专业地图的基础操作功能:地图放大.缩小 ...

  10. RBL开发笔记二

     17:13:55 2014-08-25 有以下几个点:  第一 :怎么在预处理阶段能够做到识别某个宏是否给定义了  这里就定义了一个SystemConfig.h 专门做这个事情  当然是需要make ...

随机推荐

  1. 【转帖】nginx变量使用方法详解-5

    https://www.diewufeiyang.com/post/579.html 前面在 (二) 中我们已经了解到变量值容器的生命期是与请求绑定的,但是我当时有意避开了"请求" ...

  2. Specjvm2008的简单学习

    Specjvm2008的简单学习 摘要 前期整理过很多需要通过编译指定命令进行性能测试的工具 但是这种工具无法充分模式JAVA应用. 并且无法模拟不同jvm版本的性能情况. 早上去北京出差路上看到了 ...

  3. redis 设置密码之后,通过命令行一键刷新的办法

    之前以为很麻烦 发现还是自己太low了. redis-cli -a Test1127 flushall

  4. 果然,基于 VictoriaMetrics 修改而来的 VictoriaLogs 来了!!!

    作者:张富春(ahfuzhang),转载时请注明作者和引用链接,谢谢! cnblogs博客 zhihu Github 公众号:一本正经的瞎扯 2022 年 6 月的时候,正在痛苦的研究 grafana ...

  5. Redis如何批量删除指定前缀的key

    批量删除指定前缀的Key有两中方法,一种是借助 redis-cli,另一种是通过 SCAN 命令来遍历所有匹配前缀的 key,并使用 DEL 命令逐个删除它们. redis-cli 使用 Redis ...

  6. [P9253 [PA 2022] Ornitolog 2] 题解

    题目 P9253 [PA 2022] Ornitolog 2 题目描述 给你一个长度为 \(n\) 的数列,求至少要修改多少个数才能让数列成为交替鹡鸰鸟鸣的音高序列. 思路 这道题有两种情况. 第一种 ...

  7. Mixed spaces and tabs

    ykit打包过程中报错信息如下: 报错原因: Mixed spaces and tabs(混合空格和制表符). 大多数代码约定要求使用空格或 tab 进行缩进,因此,一行代码若同时混有 tab缩进和空 ...

  8. 强化学习技巧五:numba提速python程序

    numba是一款可以将python函数编译为机器代码的JIT编译器,经过numba编译的python代码(仅限数组运算),其运行速度可以接近C或FORTRAN语言. numba使用情况 使用numpy ...

  9. 绝对凶器!NVIDIA Titan Z细节全曝光

    AMD Radeon R9 295X2已经拉开了新一代双芯卡皇大战的序幕,接下来就等NVIDIA GeForce GTX Titan Z的登场了.最新消息显示,它比原计划推迟了一个星期,将在5月8日正 ...

  10. 【树】N叉树的遍历【力扣589、力扣590】超详细的解释和注释

    说在前面 欢迎朋友们来到我的博客. 今天我们的重点是,N叉树的遍历. 今天,博主就带来两道经典的题目,领着大家理解N叉树的前序遍历和后序遍历! 当然,还想学习其它算法的朋友们,可以通过订阅博主的算法专 ...