本文介紹國(guó)產(chǎn)FPGA GW1NSR的片上資源和特性,從官網(wǎng)能獲取資料的途徑,完成這一步可以使讀者在自己的項(xiàng)目遇到問題的時(shí)候能夠獨(dú)立解決,高云官網(wǎng)提供了綜合用的IDE、編程下載工具,以及應(yīng)用手冊(cè)、數(shù)據(jù)手冊(cè)和參考手冊(cè),所有資源都會(huì)附上鏈接。
第二章從新建工程開始一步一步的介紹如何寫一個(gè)verilog文件實(shí)現(xiàn)一個(gè)流水燈,讀者讀完這章可以下載軟件敲一下代碼,步驟很詳細(xì),不懂在本貼下方留言。
第三章介紹IP核的使用,本次是使用片上的硬核CM3處理器,使用IP核配置工具使能SPI總線、UART和GPIO0,用于驅(qū)動(dòng)spi接口的lcd,讀完這章讀者可以在硬核上使能自己想要的外設(shè)。
第四章介紹如何移植rtthread到硬核上。希望讀完本文的讀者能夠基于高云的FPGA芯片和開發(fā)工具能夠快速上手自己的項(xiàng)目。(本文為星核計(jì)劃貢獻(xiàn)者:秦韋忠作品)

GW1NSR介紹

高云方案商推出的板載GW1NSR的ministar開發(fā)板內(nèi)嵌Cortex-M3硬核非常適合于verilog的學(xué)習(xí)。
可以看到GW1NSR內(nèi)嵌了一個(gè)CM3的硬核,還有一個(gè)DSP,使用verilog語言可以得到任何數(shù)字電路,F(xiàn)PGA一般用于IO擴(kuò)展,因?yàn)閿?shù)字電路是并行的,能夠提升MCU的性能,片上集成了一個(gè)CM3,其優(yōu)勢(shì)是可以減小嵌入式產(chǎn)品的體積,普通采用MCU+FPGA架構(gòu)的產(chǎn)品因?yàn)槭褂昧朔至⒌腗CU+FPGA會(huì)增加產(chǎn)品體積,加上目前國(guó)內(nèi)MCU的缺貨現(xiàn)狀,GW1NSR在性能上要高于普通MCU,既可以在硬核上運(yùn)行串行的業(yè)務(wù)邏輯,也能用FPGA的資源實(shí)現(xiàn)并行的數(shù)字邏輯。想要詳細(xì)的了解這顆芯片的資源,請(qǐng)查看芯片的數(shù)據(jù)手冊(cè)。

入門:帶你從新建工程到手寫一個(gè)流水燈

開發(fā)環(huán)境準(zhǔn)備
1.下載和安裝軟件
2.申請(qǐng)license
3.安裝ministar的usb驅(qū)動(dòng)
新建工程和創(chuàng)建verilog文件1.新建工程
2.新建和編寫verilog文件
//author:qwz//time:2021.6.8//version:v0.1//desc:clk信號(hào)連接到硬件上的晶振,采用異步復(fù)位的方式(檢測(cè)到復(fù)位引腳下降沿則執(zhí)行復(fù)位動(dòng)作),每有一個(gè)時(shí)鐘脈沖clk,計(jì)數(shù)寄存器cnt+1,計(jì)數(shù)達(dá)到1000_0000次清零計(jì)數(shù)器,4位led左移一位。module led_flow(input clk,//時(shí)鐘input rst_n,//復(fù)位按鍵output reg [1:0] led //4位led);reg [23:0] cnt;//時(shí)鐘脈沖計(jì)數(shù)器always @(posedge clk or posedge rst_n) beginif(rst_n)cnt <= 24'd0 ;//檢測(cè)到復(fù)位鍵下降沿清零計(jì)數(shù)器elsecnt <= (cnt == 24'd1000_0000)?(24'd0):cnt+1'b1;//計(jì)數(shù)值達(dá)到1000_0000清零計(jì)數(shù)器,否則計(jì)數(shù)值+1endalways @(posedge clk or posedge rst_n) beginif(rst_n)led <= 2'b01 ;//復(fù)位后led[0]亮,led[3:1]滅else if(cnt == 24'd1000_0000)led <= {led[0],led[1]};//計(jì)數(shù)值達(dá)到1000_0000進(jìn)行4位led進(jìn)行移位elseled <= led;//計(jì)數(shù)值未達(dá)到1000_0000 led不移位endendmodule
下載驗(yàn)證
下載完成后,此時(shí)板子上的兩個(gè)LED在輪流閃爍。

實(shí)戰(zhàn):ip核應(yīng)用之片上硬核處理器

新建工程同上章,本章主要內(nèi)容為使用IP核使能片上硬核的spi外設(shè)驅(qū)動(dòng)spi的lcd。
注意配置為L(zhǎng)VCMOS33,驅(qū)動(dòng)spi芯片需要3.3V電平。FPGA部分的配置就到這里,后面開始寫CM3的程序。
FPGA部分的配置就到這里,后面開始寫CM3的程序。
下載固件包,下載地址:
http://www.gowinsemi.com.cn/prodshow_view.aspx?TypeId=71&Id=186&FId=t3131
驅(qū)動(dòng)的核心是實(shí)現(xiàn)spi的寫寄存器和寫數(shù)據(jù)函數(shù),如下,詳細(xì)驅(qū)動(dòng)代碼見文末的工程文件。??????????????
//用到高云mcu固件庫(kù)的spi寫函數(shù)SPI_WriteData(data),定義了spi的片選宏和lcd驅(qū)動(dòng)的命令/數(shù)據(jù)使能宏。移植比較簡(jiǎn)單。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兩個(gè)部分的工作,F(xiàn)PGA工程綜合出了fs文件、CM3工程編譯出了bin文件,接著就是下載了。
此時(shí)lcd開始顯示測(cè)試畫面,說明驅(qū)動(dòng)正常,cm3工作正常。

移植操作系統(tǒng)rtthread到硬核

本章內(nèi)容為移植rtthread到GW1NSR的片上CM3上,讓產(chǎn)品具有實(shí)時(shí)性。
1.下載rtthread nano 3.1.3內(nèi)核源碼,并復(fù)制到工程目錄下。
下載地址:
https://www.rt-thread.org/page/download.html
2.在keil工程中添加源文件
3.添加頭文件
4.注釋掉systick、hardfault、pendsv中斷
完成上面的步驟后編譯工程,下載到開發(fā)板,rtthread開始在開發(fā)板上運(yùn)行起來了。

總結(jié)

本次是第一次使用國(guó)產(chǎn)的FPGA,讓我吃驚的是IP核比較豐富,這段時(shí)間在官網(wǎng)查資料的過程中, 我發(fā)現(xiàn)了riscv和arm的軟核,發(fā)現(xiàn)有些參考手冊(cè)是2018年發(fā)布的,可以知道高云在fpga已經(jīng)相當(dāng)長(zhǎng)時(shí)間的技術(shù)積累,才能給用戶帶來方便的IDE軟件和各類參考應(yīng)用手冊(cè)。這款ministar開發(fā)板挺適合學(xué)生使用的,希望高云推出更多這樣的比賽贈(zèng)送開發(fā)板給學(xué)生使用,助力verilog在我國(guó)的推廣,推進(jìn)我們國(guó)家數(shù)字IC的發(fā)展。
-
FPGA
+關(guān)注
關(guān)注
1660文章
22423瀏覽量
636681 -
操作系統(tǒng)
+關(guān)注
關(guān)注
37文章
7402瀏覽量
129361 -
SPI
+關(guān)注
關(guān)注
17文章
1885瀏覽量
101320
發(fā)布評(píng)論請(qǐng)先 登錄
基于4片DSP6678+FPGA KU115 的VPX高速信號(hào)處理平臺(tái)
PT153S是方寸微電子自主研發(fā)的一款全國(guó)產(chǎn)化USB千兆網(wǎng)卡芯片
Zynq全可編程片上系統(tǒng)詳解
【PCIE044】青翼凌云科技基于 JFM7VX690T 的全國(guó)產(chǎn)化 FPGA 開發(fā)套件
NVMe高速傳輸之?dāng)[脫XDMA設(shè)計(jì)45:上板資源占用率分析
如何調(diào)用FPGA板上的按鍵資源的
全國(guó)產(chǎn)SoC片上系統(tǒng)無線模塊技術(shù)深度解析與應(yīng)用指南
如何在資源受限型應(yīng)用中使用 FPGA
【高云GW5AT-LV60 開發(fā)套件試用體驗(yàn)】三、LED燈控制實(shí)驗(yàn)
安路科技助力FPGA產(chǎn)學(xué)研深度融合 第一屆“國(guó)產(chǎn)FPGA教育大會(huì)”在重慶圓滿落幕
【高云GW5AT-LV60 開發(fā)套件試用體驗(yàn)】一、硬件篇
MCU片上Flash
【高云GW5AT-LV60 開發(fā)套件試用體驗(yàn)】開箱報(bào)告
基于高云Arora-V 60K FPGA實(shí)現(xiàn)的MIPI CPHY轉(zhuǎn)MIPI DPHY透?jìng)髂K
國(guó)產(chǎn)FPGA往事
國(guó)產(chǎn)FPGA GW1NSR的片上資源和特性
評(píng)論