高云1N1开发板高云gowin软件使用教程
国产FPGA是最近几年起来的产品,具有性价比高特点。高云FPGA,很多用户都用在LED,电机控制,PLC设备上。
开发板子采用GW1N-LV1QN48C6/I5 FPGA器件。具有低功耗,瞬时启动,高安全性,低成本,方便扩展等特点。本开发板价格价格便宜,板子扩张性容易,帮助用户比较快递进入国产FPGA学习能力。

开发板集成多个GPIO接口和多个LVDS接口,电压可以从3.3,2.5,1.8,1.2V选择。用户可以选择不同电压适配不同的IO口。其中每个VCCIO也是独立供电,可以很简单改装成其他的不同bank不同电压要求。

芯片资源GW1N-1的资源有1K的LUT4,并且还有4个18K SRAM快,一个PLL锁相环。

封装有最小的CS30的封装,也有QN32,QN48,LQ100,LQ144这类封装。灰色线代表是兼容封装。其实芯片同等封装都是类似的电源和地,IO管脚有差别。

板子上两排引脚名称都已经标记了锁定管脚的名称。用户很容易使用该平台。

2. 高云FPGA软件使用教程
高云设计软件在 http://cdn.gowinsemi.com.cn/Gowin_V1.9.1.01Beta_win.rar 直接复制就可以下载,关于license 可以在官网申请就可以,但是必须要有公司名称和电话号码。
双击桌面的图标
进入软件,设定软件的license。 在help中选择mange license。

选择本地license文件。选择对应文件browse 选择文件。Save就可以保存设定。这个窗口还可以设定license文件,会跳到官方网站申请。

另外还得设定synplify软件路径。在个人用户变量的LM_LICENSE_FILE设定gowin的 synplify的 编译软件的license位置。注意后面一些版本是没有synplify 综合软件了。所以可以用设定。

建立一个工程,选择FILE-NEW或者桌面quick start中new project

输入工程的名字和位置.

选择芯片类型GW1N系列,Device为GW1N-1,Package选择QFN48,SPEED选择C6/I5.

把blink-led文件复制到工程中src中.

在design中增加文件.


选择process选项卡

选择synthesize综合当前文件.



再双击user constraints,选择floorplanner.

在打开的floorplanner的窗口,可以看到ports名称,底部有几个选择项。

选择I/O Constraints设定管脚位置,电压。

Led[0]设定在11,IO Type设定为lvcmos33,Led[1]设定在9,IO TYPE设定为LVCMOS33,sys-clk50m在27管脚,IO Type为LVCMOS33。

选择保存文件。关闭floorplanner软件。

在主程序中,选择design,看到有一个cst文件就是管脚约束文件,设定IO和电压要求。

再次选择process,右键选择configuration。配置其中DONE管脚为普通IO管脚。

在配置窗口选择,DUAL-PUROSE pin 选择 USE DONE as regular IO,设定为普通的IO功能。

双击place&route 或者右键选择run。

完成布局布线操作以后,选择program device。

开发板上面下载线缆连接对应的管脚。
插入gowin转接板和电源

整个设备连接如下

选择scan的按钮,找到芯片。


选择operation ,设定为SRAM Program。Filename选择impl/pnr/blink-led.fs文件,save保存

选择箭头,编程设备。


上述是SRAM烧录,这个烧录掉电以后是不会存在的。
由于软件存在bug问题,所以要关闭一次program软件,再打开。选择embedded flash mode,选择embflash erase,program。选择save。

再次选择箭头,烧录内部flash。


如果再烧录其他的模式,记住必要重新打开一次烧录软件。
代码内容。blink_led.v
module blink_led
(
input sys_clk50m,
output[1:0] led
);
// wire sys_clk50m;
// GW_OSC osc_inst ( .oscout(sys_clk50m)) ;
localparam clk500ms = 50_000_000;
reg[31:0] clk_count;
always @(posedge sys_clk50m)
begin
if( clk_count ==clk500ms)
clk_count <=0;
else
clk_count <= clk_count + 1'd1;
end
wire led_temp;
assign led_temp =( clk_count> clk500ms[31:1]) ? 1'b0: 1'b1;
assign led= {led_temp,~led_temp};
//assign led =1'b0;
endmodule
高云1N1开发板高云gowin软件使用教程的更多相关文章
- hfrk2410_a1.1开发板移植linux-2.6.32.27--网卡篇(cs8900)
硬件:恒丰锐科开发板hfrk2410_A1.1 软件:linux-2.6.32.27 cs8900网卡移植: 将cs8900驱动源代码文件拷贝至drivers/net/,修改drivers/net/K ...
- MDK972-EK开发板裸调试设置和裸机程序烧写(转)
硬件平台:MDK972-EK开发板编译调试软件:KEIL uVision4仿真工具:JLINK V7/V8 本例子从串口输出信息,如图: KEIL uVision4调试设置如图所示: ...
- ESA2GJK1DH1K开发教程: 来看看最新整理的整个开发板的教程大纲吧
项目开发:教程大纲(测试板型号:ESA2GJK1DH1K) 购买链接: https://item.taobao.com/item.htm?spm=a2oq0.12575281.0.0.25911deb ...
- 智龙开发板搭建llsp环境
智龙开发板搭建llsp(linux+lighttpd+sqlite3+php)环境 1. 准备 1. 智龙开发板V3 2. 软件编译环境:VirtualBox6+CentOS6.10-i386.min ...
- 【STM32-V7】STM32H743XIH6开发板,丰富软件资源,强劲硬件配置,大量软件解决方案持续更新中(2019-12-12)
说明: 争取做更多的实战性应用,分享更多的嵌入式技术,希望能在实际项目中帮到大家. (1)V7将大力加强对初学者的支持力度,已经更新至63章,下载链接,后37章和一批视频教程将加紧制作. (2)事隔五 ...
- FII-PRX100-D开发板FPGA的烧录和RISC-V 软件代码下载
1. 生成*.bit文件之前先RESET结果 首先,打开Vivado FII_RISCV_V2.01工程(这里以V2.01版本为例),如图1所示. 图1 FII_RISCV_V2.01工程 要生成相应 ...
- 嵌入式开发板LInux更新系统、安装软件、下载资源碰到的问题
CAfile: /etc/ssl/certs/ca-certificates.crt CRLfile: none 先同步系统时间 shell 输入命令 date 如果显示的时间跟你本地时间不一样,先设 ...
- VIP 视频开发板 上位机 测试软件 下载地址,玩转各自分辨率(V201抢先版)
本上位机最高测试帧率 133fps 目前支持分辨率:更多分辨率支持,敬请期待或给我留言VGA:640*4801.3M:1280*10242M:1600*1200786p:1024*768 格式兼容:1 ...
- #2020征文-开发板# 用鸿蒙开发AI应用(三)软件篇
目录: 前言 HarmonyOS 简介 DevEco Device Tool(windows下) 获取源码(切换到ubuntu) 烧录程序(切换回windows) 前言上一篇,我们在 Win10 上用 ...
- 【单片机入门】(四)应用层软件开发的单片机学习之路-----ESP32开发板PWM控制电机以及中断的使用
引言 各位大佬,晚上好啊,在上一篇博客中,我们讲了什么是UART串口通讯,以及使用USB转TTL使得单片机可以和c#上位机做一个串口通讯,接下来,为大家带来PWM的概念原理,以及实际案例,使用PWM对 ...
随机推荐
- SSH原理与实践(二)
主页 个人微信公众号:密码应用技术实战 个人博客园首页:https://www.cnblogs.com/informatics/ 引言 在上一篇文章[ssh原理与实践(一)]中我们详细介绍了SSH两种 ...
- [学习笔记].Net5项目打包到Linux系统服务时遇到的坑
如果按照官方文档的步骤手动安装.Net5 会有一个坑: 在 Linux 上手动安装 .NET - .NET | Microsoft Docs 在使用systemd打包.Net5服务的时候,无法运行, ...
- 6 定时器 &中断管理&资源管理
生成函数 周期,多久触发一次定时器(从定时器启动开始计算) 触发什么呢? 回调函数被调用,被谁调用呢 1,tick中断去调用timer函数 Linux中使用这个 (定时器回调函数若执行时间过长, ...
- 附件表单验证:指针抖动+延迟验证 a={...a} $nextTick(() => { a.validate })
附件表单验证:指针抖动+延迟验证 a={...a} $nextTick(() => { a.validate })
- 痞子衡嵌入式:使用恩智浦GUI Guider快速创建全新LCD屏示例工程的步骤
大家好,我是痞子衡,是正经搞技术的痞子.今天痞子衡给大家分享的是使用恩智浦GUI Guider快速创建全新LCD屏示例工程的步骤. 在痞子衡旧文 <在i.MXRT1170上快速点亮一款全新LCD ...
- shell脚本中将 IFS (Internal Field Separator 内部字段分隔符)替换为换行符
将 IFS 中的空白符(换行.制表符.空格)修改为仅包含换行 IFS 是shell中的内部变量,在使用 for var in var_list;do use $var do something don ...
- 【预训练语言模型】BERT原理解析、常见问题和微调实战
一.BERT原理 1.概述 背景:通过在大规模语料上预训练语言模型,可以显著提高其在NLP下游任务的表现. 动机:限制模型潜力的主要原因在于现有模型使用的都是单向的语言模型 ...
- Vue 长文本组件(有展开更多按钮)实现 附源码及使用
原文地址:Vue 长文本组件(有展开更多按钮) | Stars-One的杂货小窝 最近项目需要优化长文本的显示,如果长文本过长,固定显示几行并显示一个展开更多的按钮,点击按钮即可把隐藏的文本显示出来 ...
- "高绩效"指南
前言 最近被问到一个问题,在工作中,如何拿高绩效.或者换一种表达方式,如何成为老板的"嫡系". 在这里我想简单谈一谈我的想法,可能不准确,各位看官,当饭后茶语罢了. 为了更加有说服 ...
- 矢量数据库与LLM的集成:实践指南
矢量数据库与LLM的集成:实践指南 本文将了解到什么是矢量数据库,以及如何与LLMs进行集成.通过LLMs和向量数据库的结合,可以节省微调带来的开销和时间. 通常,LLM会在各种各样的数据上进行训练, ...