0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

国产FPGA GW1NSR的片上资源和特性

高云半导体 来源:电子发烧友论坛 作者:jf_66501560 2021-10-12 14:17 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

本文介绍国产FPGA GW1NSR的片上资源和特性,从官网能获取资料的途径,完成这一步可以使读者在自己的项目遇到问题的时候能够独立解决,高云官网提供了综合用的IDE、编程下载工具,以及应用手册、数据手册和参考手册,所有资源都会附上链接。

第二章从新建工程开始一步一步的介绍如何写一个verilog文件实现一个流水灯,读者读完这章可以下载软件敲一下代码,步骤很详细,不懂在本贴下方留言。

第三章介绍IP核的使用,本次是使用片上的硬核CM3处理器,使用IP核配置工具使能SPI总线、UART和GPIO0,用于驱动spi接口的lcd,读完这章读者可以在硬核上使能自己想要的外设。

第四章介绍如何移植rtthread到硬核上。希望读完本文的读者能够基于高云的FPGA芯片和开发工具能够快速上手自己的项目。(本文为星核计划贡献者:秦韦忠作品)

b69337c6-2b17-11ec-82a8-dac502259ad0.png

GW1NSR介绍

b69337c6-2b17-11ec-82a8-dac502259ad0.png

高云方案商推出的板载GW1NSR的ministar开发板内嵌Cortex-M3硬核非常适合于verilog的学习。

可以看到GW1NSR内嵌了一个CM3的硬核,还有一个DSP,使用verilog语言可以得到任何数字电路,FPGA一般用于IO扩展,因为数字电路是并行的,能够提升MCU的性能,片上集成了一个CM3,其优势是可以减小嵌入式产品的体积,普通采用MCU+FPGA架构的产品因为使用了分立的MCU+FPGA会增加产品体积,加上目前国内MCU的缺货现状,GW1NSR在性能上要高于普通MCU,既可以在硬核上运行串行的业务逻辑,也能用FPGA的资源实现并行的数字逻辑。想要详细的了解这颗芯片的资源,请查看芯片的数据手册。

b69337c6-2b17-11ec-82a8-dac502259ad0.png

入门:带你从新建工程到手写一个流水灯

b69337c6-2b17-11ec-82a8-dac502259ad0.png

开发环境准备

1.下载和安装软件

2.申请license

3.安装ministar的usb驱动

新建工程和创建verilog文件

1.新建工程

2.新建和编写verilog文件

//author:qwz//time:2021.6.8//version:v0.1//desc:clk信号连接到硬件上的晶振,采用异步复位的方式(检测到复位引脚下降沿则执行复位动作),每有一个时钟脉冲clk,计数寄存器cnt+1,计数达到1000_0000次清零计数器,4位led左移一位。
module led_flow(input clk,//时钟                input rst_n,//复位按键                    output reg [1:0] led  //4位led                );
reg [23:0] cnt;//时钟脉冲计数器
always @(posedge clk or posedge rst_n) begin    if(rst_n)         cnt <= 24'd0 ;//检测到复位键下降沿清零计数器    else          cnt <= (cnt == 24'd1000_0000)?(24'd0):cnt+1'b1;//计数值达到1000_0000清零计数器,否则计数值+1end
always @(posedge clk or posedge rst_n) begin    if(rst_n)         led <= 2'b01 ;//复位后led[0]亮,led[3:1]灭    else  if(cnt == 24'd1000_0000)          led <= {led[0],led[1]};//计数值达到1000_0000进行4位led进行移位        else         led <= led;//计数值未达到1000_0000 led不移位end
endmodule

下载验证

下载完成后,此时板子上的两个LED在轮流闪烁。

b69337c6-2b17-11ec-82a8-dac502259ad0.png

实战:ip核应用之片上硬核处理器

b69337c6-2b17-11ec-82a8-dac502259ad0.png

新建工程同上章,本章主要内容为使用IP核使能片上硬核的spi外设驱动spi的lcd。

注意配置为LVCMOS33,驱动spi芯片需要3.3V电平。FPGA部分的配置就到这里,后面开始写CM3的程序。

FPGA部分的配置就到这里,后面开始写CM3的程序。

下载固件包,下载地址:

http://www.gowinsemi.com.cn/prodshow_view.aspx?TypeId=71&Id=186&FId=t3131

驱动的核心是实现spi的写寄存器和写数据函数,如下,详细驱动代码见文末的工程文件。

//用到高云mcu固件库的spi写函数SPI_WriteData(data),定义了spi的片选宏和lcd驱动的命令/数据使能宏。移植比较简单。void LCD_WR_REG(uint8_t data){    LCD_CS_CLR;              LCD_RS_CLR;        SPI_WriteData(data);   LCD_CS_SET;  }
void LCD_WR_DATA(uint8_t data){   LCD_CS_CLR;         LCD_RS_SET;        SPI_WriteData(data);   LCD_CS_SET;}

完成了FPGA和CM3两个部分的工作,FPGA工程综合出了fs文件、CM3工程编译出了bin文件,接着就是下载了。

此时lcd开始显示测试画面,说明驱动正常,cm3工作正常。

b69337c6-2b17-11ec-82a8-dac502259ad0.png

移植操作系统rtthread到硬核

b69337c6-2b17-11ec-82a8-dac502259ad0.png

本章内容为移植rtthread到GW1NSR的片上CM3上,让产品具有实时性。

1.载rtthread nano 3.1.3内核源码,并复制到工程目录下。

下载地址:

https://www.rt-thread.org/page/download.html

2.在keil工程中添加源文件

3.添加头文件


4.注释掉systick、hardfault、pendsv中断

完成上面的步骤后编译工程,下载到开发板,rtthread开始在开发板上运行起来了。

b69337c6-2b17-11ec-82a8-dac502259ad0.png

总结

b69337c6-2b17-11ec-82a8-dac502259ad0.png

本次是第一次使用国产的FPGA,让我吃惊的是IP核比较丰富,这段时间在官网查资料的过程中, 我发现了riscv和arm的软核,发现有些参考手册是2018年发布的,可以知道高云在fpga已经相当长时间的技术积累,才能给用户带来方便的IDE软件和各类参考应用手册。这款ministar开发板挺适合学生使用的,希望高云推出更多这样的比赛赠送开发板给学生使用,助力verilog在我国的推广,推进我们国家数字IC的发展。


声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • FPGA
    +关注

    关注

    1655

    文章

    22283

    浏览量

    630228
  • 操作系统
    +关注

    关注

    37

    文章

    7328

    浏览量

    128625
  • SPI
    SPI
    +关注

    关注

    17

    文章

    1866

    浏览量

    99800
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    【PCIE044】青翼凌云科技基于 JFM7VX690T 的全国产FPGA 开发套件

    底板还集成了一 PSOC,该 PSOC 可以通过 Selectmap 完成对 V7 FPGA 的加载,PSOC 引出了丰富的接口资源,支持 DDR/EMMC/S
    的头像 发表于 12-01 15:23 88次阅读
    【PCIE044】青翼凌云科技基于 JFM7VX690T 的全<b class='flag-5'>国产</b>化 <b class='flag-5'>FPGA</b> 开发套件

    如何调用FPGA的按键资源

    今天主要介绍一下我们团队是如何调用FPGA的按键资源的。 首先,初始化按键模块: 具体初始化函数调用如下: 其次,定义按键扫描函数: u8 KEY_Scan(u8 mode
    发表于 10-30 08:05

    国产SoC系统无线模块技术深度解析与应用指南

    一、SoC技术演进与国产化突破 1.1 SoC技术发展历程 系统(System on Chip) 技术将射频收发器、微控制器、内存及外设接口集成在单一芯片,实现了高度集成化和系统
    的头像 发表于 10-17 13:51 178次阅读

    【高云GW5AT-LV60 开发套件试用体验】三、LED灯控制实验

    GW5AT-LV60UG225C2/I1。 为了更快的找到对应的FPGA 芯片,可以参考下图,先设定芯片的系列、Package、Speed 等信息,快速的找到对应的型号。 顺便说明一下,开发板
    发表于 07-21 05:57

    【高云GW5AT-LV60 开发套件试用体验】一、硬件篇

    GW5AT-LV60UG225 ** 特性: 22nm SRAM 工艺高性能FPGA 60K Luts 资源 集成MIPI CPHY硬核(RX,TX 可配置,速率达到5.75Gbps)
    发表于 05-19 09:51

    MCUFlash

        MCUFlash是微控制器内部集成的非易失性存储器,主要用于存储程序代码、常量数据及系统配置信息。其核心特性与功能如下: 一、定义与类型‌
    的头像 发表于 05-06 14:26 861次阅读

    【高云GW5AT-LV60 开发套件试用体验】开箱报告

    。DK_VIDEO_GW5AT-LV60UG225_V1.0 核心板采用的高云半导体GW5AT系列FPGA器件是高云半导体晨熙家族5系列产品,内部资源丰富,具有全新构架且支持AI运算的
    发表于 04-30 14:39

    国产FPGA往事

    首先,这篇文章的后半部分,会有一个广告:我去年和紫光同创原厂的技术专家写了一本书——《国产FPGA权威开发指南》,我想送一些书给到熟悉的、曾经熟悉的、或者还未熟悉的FPGA开发者同行,请各位开发者
    的头像 发表于 04-14 09:53 550次阅读
    <b class='flag-5'>国产</b><b class='flag-5'>FPGA</b>往事

    国产FPGA入学必备】刀剑在鞘,兵器先藏 | 盘古676系列国产FPGA开发板

    刀剑在鞘,兵器先藏 ,AI时代如何立足,首先有过硬的本领和趁手的兵器,给FPGA工程师安利一款趁手的国产FPGA开发板盘古676系列...... 盘古676系列开发板共有2款板卡:盘古100Pro+
    发表于 02-20 15:38

    国产FPGA入学必备】国产FPGA权威设计指南+配套FPGA图像视频教程

    一、《国产FPGA权威设计指南》简介 为更好地服务广大FPGA工程师和高等学校师生,2025,紫光同创携手金牌方案提供商小眼睛科技,组织了数十位应用技术专家,共同编写《国产
    发表于 02-20 15:08

    高云Arora Ⅴ系列GW5AT-LV60 FPGA:晨熙®家族高性能新星

    高云半导体推出的Arora Ⅴ系列GW5AT-LV60 FPGA,作为晨熙®家族的第5代杰出产品,凭借其内部资源的丰富性与创新架构,成功吸引了业界的广泛关注。 GW5AT-LV60
    的头像 发表于 02-19 15:33 1383次阅读

    现代中端FPGA的主要亮点

    FPGA 通常按照逻辑容量进行分类,这种方式固然简单,但未能充分体现现代 FPGA 作为可更改的系统所能提供的丰富功能和资源
    的头像 发表于 01-23 13:52 920次阅读

    米尔国产FPGA SoC芯选择,安路飞龙DR1M90核心板重磅发布

    工业级FPGA FPSoC——发布MYC-YM90X SOM模组及评估套件。该产品采用安路飞龙DR1M90,95K LEs 可编程逻辑,上集成 64位2*Cortex-A35 @1G
    发表于 01-10 14:32

    国产FPGA SoC芯选择,米尔安路飞龙重磅发布

    FPGAFPSoC——发布MYC-YM90XSOM模组及评估套件。该产品采用安路飞龙DR1M90,95KLEs可编程逻辑,上集成64位2*Cortex-A35
    的头像 发表于 01-09 08:03 1734次阅读
    <b class='flag-5'>国产</b><b class='flag-5'>FPGA</b> SoC芯选择,米尔安路飞龙重磅发布

    SN751178NSR过热的原因?怎么处理?

    我司一个项目正在使用SN751178NSR以传输差分信号(电路图如下)。目前反馈出现过热现象(确认无短路现象),已有部分板卡的芯片损坏。还请帮忙分析解决。
    发表于 01-02 07:44