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

GW1NSR介紹

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

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

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

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

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

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

本章內(nèi)容為移植rtthread到GW1NSR的片上CM3上,讓產(chǎn)品具有實時性。
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é)

本次是第一次使用國產(chǎn)的FPGA,讓我吃驚的是IP核比較豐富,這段時間在官網(wǎng)查資料的過程中, 我發(fā)現(xiàn)了riscv和arm的軟核,發(fā)現(xiàn)有些參考手冊是2018年發(fā)布的,可以知道高云在fpga已經(jīng)相當(dāng)長時間的技術(shù)積累,才能給用戶帶來方便的IDE軟件和各類參考應(yīng)用手冊。這款ministar開發(fā)板挺適合學(xué)生使用的,希望高云推出更多這樣的比賽贈送開發(fā)板給學(xué)生使用,助力verilog在我國的推廣,推進(jìn)我們國家數(shù)字IC的發(fā)展。
-
FPGA
+關(guān)注
關(guān)注
1659文章
22379瀏覽量
633876 -
操作系統(tǒng)
+關(guān)注
關(guān)注
37文章
7388瀏覽量
129097 -
SPI
+關(guān)注
關(guān)注
17文章
1880瀏覽量
100720
發(fā)布評論請先 登錄
PT153S是方寸微電子自主研發(fā)的一款全國產(chǎn)化USB千兆網(wǎng)卡芯片
Zynq全可編程片上系統(tǒng)詳解
【PCIE044】青翼凌云科技基于 JFM7VX690T 的全國產(chǎn)化 FPGA 開發(fā)套件
如何調(diào)用FPGA板上的按鍵資源的
全國產(chǎn)SoC片上系統(tǒng)無線模塊技術(shù)深度解析與應(yīng)用指南
如何在資源受限型應(yīng)用中使用 FPGA
【高云GW5AT-LV60 開發(fā)套件試用體驗】三、LED燈控制實驗
【高云GW5AT-LV60 開發(fā)套件試用體驗】一、硬件篇
MCU片上Flash
【高云GW5AT-LV60 開發(fā)套件試用體驗】開箱報告
基于高云Arora-V 60K FPGA實現(xiàn)的MIPI CPHY轉(zhuǎn)MIPI DPHY透傳模塊
國產(chǎn)FPGA往事
國產(chǎn)FPGA GW1NSR的片上資源和特性
評論