2218|1

664

帖子

104

TA的资源

纯净的硅(中级)

楼主
 

【国产FPGA高云GW1N-4系列开发板测评】——3、点个灯hello_led [复制链接]

  本帖最后由 gs001588 于 2021-12-18 13:39 编辑

   【国产FPGA高云GW1N-4系列开发板测评】——3、点个灯hello_led

 

   软件总是从“hello world!”开始,那么硬件的开始就是“hello led”——俗称“点灯灯”。

   如何开始一个FPGA工程,其实在安装完云源IDE后,在安装目录下有配套的文档。文档有三种语言——中文、英文、日文,身为国人还是习惯看中文。文档路径为“D(你安装的盘符):\Gowin\Gowin_V1.9.8.01\IDE\doc\CN”。

   具体如果开始FPGA设计呢,可以参考第一个文档“SUG100-2.6_Gowin云源软件用户指南.pdf”中的第4章节“4 云源使用”(从27页开始)。估摸着您也不愿意看文档,那么观察一下本贴也可以。

 

   打开云源IDE,默认会同时打开开始页“Start Page”,快速开始中点“New Project...”

 

   输入工程名“hello_led”,路径可以直接输入,或通过浏览指定。

 

   在GWIN-4、GWIN-4B、GWIN-4D三个系列中都能找到器件“GW1N-LV4LQ144C6I5”,一定要选择我们开发板对应的“GWIN-4B

 

   通过多个参数过滤后,选择器件“GW1N-LV4LQ144C6I5”,下一步

 

   点结束"Finish",完成创建工程。

 

   创建好的工程框架,暂时还没有文件。

 

   现在使用Verilog的人比较多,但也有像我这样习惯用VHDL的老顽固,创建个VHDL文件。

 

   创建文件名“hello_led”.

 

    创建了空白文件“hello_led.vhd”,需要自行码入功能代码。

 

   “hello_led.vhd”文件内容如下:

--*******************************************************************************
--*-------------------------- file ---------------                                      
--* name:  hello_led.vhd	
--* ver : A
--* date:2021-12-9
--*------------------------------------------------
--*******************************************************************************

---------- LIB  ----------------------------------------------------------------
LIBRARY IEEE;
USE IEEE.STD_LOGIC_1164.ALL;
USE IEEE.STD_LOGIC_UNSIGNED.ALL;
USE IEEE.STD_LOGIC_ARITH.ALL;

----------ENTITY -------------------------------------------------------------
ENTITY hello_led IS
PORT (						                                                        
-------------------------------------------------------------------------------  
--系统全局时钟 CLK
-------------------------------------------------------------------------------           
    CLK_50M:  	IN  STD_LOGIC;	--50MHz系统时钟
                       
-------------------------------------------------------------------------------  
--系统全局复位 RESET
------------------------------------------------------------------------------- 
    NRESET:   IN  STD_LOGIC;
				
-------------------------------------------------------------------------------  
--系统状态指示灯
------------------------------------------------------------------------------- 
    LED:			OUT  STD_LOGIC_VECTOR(4 DOWNTO 1));
-------------------------------------------------------------------------------

END hello_led;

-----------ARCHITECTURE-------------------------------------------------------

ARCHITECTURE MY_CODE OF hello_led IS
	
-----------------------------------------------------------------------
    SIGNAL	 COUNTER:       integer range 0 to 50000000;

--**********************************************************************************
--*****   
--**********************************************************************************
BEGIN

LED <=  (OTHERS => '0') WHEN (COUNTER < 25000000) ELSE
        (OTHERS => '1');

PROCESS(NRESET,CLK_50M)
BEGIN
	IF (NRESET = '0') THEN
        COUNTER <= 0;
	ELSIF (RISING_EDGE(CLK_50M)) THEN
        IF (COUNTER < 50000000-1) THEN
            COUNTER <= COUNTER + 1;
        ELSE
            COUNTER <= 0;
        END IF;
	END IF;
		
END PROCESS;

END MY_CODE;

   作为一个测试工程,代码比较简单,无需过多解释。一个计数器 和 LED状态翻转

 

   切换到“Process”窗口,在“Synthesize”项点右键,选择“Run”执行,对工程代码综合,为分配管脚做准备。

 

   综合完后,前面变绿色对号,并且在控制台窗口也有相应提示。

 

   在资源分配器“FloorPlanner”项点右键,选择“Run”执行。

 

  弹出资源分配器窗口,切换到IO约束“IO Constraints”,在“Location”处要填管脚号。

 

   为此,需要对照用户手册“DK_MINI_GW1N-LV4LQ144C6I5_V1.1.pdf”或原来图,进行时钟、复位、LED管脚的分配。

 

   分配好管脚后,保存设置。

 

   同时在工程下也可以看到.cst文件,可以双击打开,是纯文本的管脚分配信息。之后也可以照猫画虎直接在.cst文件中修改或添加管脚分配信息。

 

   “Process”窗口,进行布局布线,在“Place & Route”项右键弹出菜单中,有4项可以选择,您喜欢哪项选哪项。

 

   布局布线完成,“Place & Route”前面变绿色对号。双击“Program Device”打开编程器窗口编程器件。

 

  工程已经默认自动设置了一些相应选项,.fs文件即为要给FPGA在线下载的目标文件。

 

   将开发板通过USB线缆与上位机USB口连接,并打开通电开关。

   第一次使用编程器,可能需要对USB下载器进行设置。

   打开“USB Cable Setting”,点“Query”查询已连接的下载器,如果有多个硬件下载器连接,需要选择开发板对应的下载器,保存设置。

 

   给FPGA在线SRAM程序下载目标配置文件.fs,下载过程有进度条提示。

 

   下载完成,有相应信息提示。

 

   程序运行效果见下图,4个LED同时亮灭交替闪烁。(gif图片灯闪烁较快,实际亮灭间隔时间为1s)

 

最新回复

步骤很详细。   详情 回复 发表于 2021-12-21 16:34
点赞 关注
 
 

回复
举报

2万

帖子

74

TA的资源

管理员

沙发
 

步骤很详细。

加EE小助手好友,
入技术交流群
EE服务号
精彩活动e手掌握
EE订阅号
热门资讯e网打尽
聚焦汽车电子软硬件开发
认真关注技术本身
个人签名

加油!在电子行业默默贡献自己的力量!:)

 
 
 

回复
您需要登录后才可以回帖 登录 | 注册

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/10 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表