近两年,国外厂商的FPGA芯片价格飙升,由于价格,货期,出口管制等多方面因素的影响,很多公司都在寻找FPGA国产化替代方案。我工作中正在使用的几款芯片也面临停产的风险,用一片少一片,了解到国产FPGA发展的也不错,完全自主知识产权的芯片种类也很多,最近就购买了一块基于高云半导体FPGA芯片的开发板——Tang Nano 4K,学习一下国产FPGA的开发和使用。
Tang Nano 4K是由国内著名开源硬件厂商SiPEED矽速科技出品的一款FPGA开发板,基于国产FPGA芯片——高云小蜜蜂系列GW1NSR-4C,这颗芯片是异构平台,片上集成了FPGA和ARM Cortex-M3硬核处理器。
Tang系列FPGA开发板,还有TangNano 1K、TangNano 4K、TangNano 9K等多种配置可供选择。
Tang Nano 4K开发板在官方国际平台售价$13.5起
在国内平台售价¥79起
我是从第三方卖家购入,选的是带OV2640摄像头的套餐,到手价格不到90块,还是非常实惠的!
配件清单:
开箱实拍图
从开发板价格也可以大致推算FPGA芯片的价格,应该是在50RMB左右,性价比还是很高的。
GW1NSR-4C虽然逻辑资源不多,但是片上有一颗ARM Cortex-M3内核的处理器,对于了解高云FPGA和ARM的开发流程来说足够了。
在此之前我曾经使用过Microsemi(现Microchip)的SmartFusion系列SoC,也是集成FPGA+ARM Cortex-M3硬核,和Xilinx的Microblaze软核处理器的使用,所以对于高云的这款SoC芯片可以很快的上手使用。
TangNano 4K开发板所使用的GW1NSR-4C FPGA芯片是QFN-48封装,大小只有6x6mm,应该是我见过的最小的FPGA芯片了。
本篇文章介绍TangNano 4K开发板基本硬件资源、高云GW1NSR-4C SoC芯片特性,以及相关开发工具和资料。
Tang Nano 4K FPGA开发板整体尺寸非常小巧,只有22.86x60mm大小,放在手里显得很精致,PCBA元器件布局紧凑,所有的元器件都集中放置在一面,另一面只有丝印。阻容元件大多采用尺寸更小的0402封装,PCB应该在4层以上,PCB采用的是哑光色油墨、沉金工艺,整体看起来有点高端。
开发板正面
开发板背面
开发板两侧预留有标准2.54mm间距的排针接口,焊接上排针,可以作为核心板插在设计的底板上,或者直接插在面包板上通过杜邦线连接外设硬件模块。
下面来看一下开发板板载的硬件资源:
下图是硬件资源在板子上的分布图
再来看一下板子的部分细节实拍图。
首先是与电脑连接的USB接口,采用的是近两年比较流行的TypeC接口,目前市面上的很多开发板还保留着比较旧的MicroUSB、MiniUSB或者是方口USB接口,不如TypeC方便,不区分正反面,现在的安卓手机也都是TypeC的数据线,如果附赠的数据线不小心丢失了,也可以直接使用手机的数据线。
标准HDMI接口,这个HDMI是输出方向的,只能连接外部的HDMI显示器,而不能连接笔记本电脑的HDMI接口。
板载的FPC座可以连接OV2640摄像头模组,配合HDMI接口实现摄像头采集,FPGA实现图像处理算法,比如灰度、二值化、边缘检测等,再输出到HDMI接口进行显示,非常方便。
27MHz的有源晶体,说实话,以我用过的FPGA板子来看,这个频率的外置晶体很少见,大多都是25/50/100/200MHz。
排针长度略显尴尬,不知道是排针短还是板子厚,插上排针之后,没有漏出来,可能不容易焊接牢固,不过这样焊接之后会比较好看,正面不会凸出太多。
从官方提供的原理图风格来看,这款板子的PCB使用的是开源EDA工具KiCAD设计的,毕竟这种商业售卖的板卡,还是要考虑商业软件的授权问题。
从原理图来看,高云GW1NSR-4C FPGA芯片的外围电路非常简单,用户可用IO非常多,虽然是带ARM硬核的FPGA SoC,但是和ZYNQ系列不同,ARM端的管脚也并不是固定在某些管脚,而是可以随意的分配,非常灵活。
从FPGA最小系统电路来看还是比较简单的,只需要提供内核电压、辅助电压、BANK电压,以及必要的外围配置和复位电路即可,内核电压最大支持1.32v,BANK电压最大支持3.75v,JTAG管脚为ARM和FPGA共用。
HDMI电路部分采用的是FPGA直驱的方式,没有采用编码芯片,可以使用官方提供的DVI TX IP核来完成TMDS信号的转换,最高支持1440x2560分辨率的视频输出。
开发板板载了基于BL702芯片的JTAG调试器,只需要一根Type-C的数据线就可以完成FPGA/ARM程序下载和调试,非常方便,遗憾的是并没有集成虚拟串口的功能(高配板子9K才有此功能),调试器的固件应该是由板卡厂商设计,如果安装了高云官方云源软件附带的下载软件无法识别此下载器,需要替换为荔枝糖的下载软件才能正常使用。
BL702是由国内半导体厂商南京博流智能科技研发的一款集成蓝牙功能的低功耗MCU产品。
BL702数据手册:
https://whycan.com/files/members/341/BL702_BL704_BL706_DS_zh_CN_Combo_1.9.pdf
BL702下载器电路
官方附赠的资料包里,还提供了板子的stp模型和dxf格式的CAD文件,可以根据板子的结构尺寸来设计配套的扩展底板。
cad文件预览
stp文件预览
TangNano 4K的FPGA芯片采用的是高云半导体小蜜蜂系列的GW1NSR-4C,它是一颗SoC芯片,片上集成了FPGA逻辑和ARM Cortex-M3硬核处理器。注意是硬核处理器,而不是软核,两者有很大的区别,硬核处理器是芯片内部本来就设计有处理器硬件电路,而软核处理器是使用FPGA逻辑资源来搭建的处理器,硬核处理器不占用逻辑资源,从性能和稳定性上来说都要比软核处理器好。
关于软核和硬核处理器的介绍,以及如何在FPGA上搭建ARM软核处理器,可以查看我之前写的几篇文章:
高云GW1NSR-4C只有4068个LUT逻辑单元,但是集成了ARM硬核处理器,对于想学习这种异构平台协同开发的朋友来说,是一个非常不错的选择,下面来看下这颗芯片的资源特性。
GW1NSR-4C FPGA特性:
ARM处理器特性:
高云GW1NSR系列包括2/2C/4/4C多个型号,GW1NSR-2C片上逻辑资源较4C少,但是集成了USB 2.0 480Mbps高速PHY和8通道12位SAR ADC。
GW1NSR系列芯片资源
可以看出在2/2C系列逻辑资源不足的基础上,添加了USB 2.0 PHY和ADC功能来增强功能。
GW1NSR-4C芯片内部框图
在6x6mm大小的芯片上集成了FPGA、ARM Cortex-M3处理器和存储器,真正的单芯片解决方案。
从我所了解的FPGA芯片中,和这颗芯片比较类似的架构,只有Microsemi(现Microchip)的SmartFusion系列,也是这种FPGA+硬核ARM Cortex-M3处理器的架构,片上也是集成了Flash,而且有个已经停产的型号逻辑资源也是4608,不过基本逻辑单元是D触发器,不知道高云的这颗芯片是不是对标的它。
介绍完FPGA芯片,我们有必要了解一下这颗芯片的设计者:广东高云半导体科技股份有限公司
广东高云半导体科技股份有限公司成立于2014年,是一家专业从事现场可编程逻辑器件(FPGA)研发与设计的国产FPGA高科技公司,致力于向客户提供从芯片、EDA开发软件、IP、开发板到整体系统解决方案的一站式服务。经过多年的积累,高云半导体在FPGA芯片架构、SOC芯片设计、FPGA集成EDA开发环境、FPGA通用解决方案等整个生态链均有核心自主知识,以及国内外发明专利。
目前公司拥有员工200余人,在广州、上海、济南设有研发中心,随着公司业务在国内外市场的快速发展,公司规模一直在持续的扩张中。核心骨干拥有国际著名FPGA公司15年以上实战经验,亲历国内外数代FPGA芯片硬件、EDA软件、IP研发及市场、销售、技术支持等工作,是一支经验丰富、具备持续创新能力的务实团队。
官方网站:www.gowinsemi.com.cn
从官网上可以了解到,高云半导体的芯片主要有以下三大系列,分别是:
其中,晨曦和小蜜蜂系列是FPGA芯片,采用55nm工艺,主打非易失性,片上集成存储器、瞬时启动,高性能、低功耗,包括ARM异构SoC芯片和纯FPGA芯片,产品线也比较丰富,从基本的1K到50K逻辑资源应有尽有,封装大小从2.5x2.5mm的CS36到21x21mm的UG676封装,非常丰富。除了硬核处理器,部分FPGA芯片还支持软核处理器,如ARM Cortex-M1/M3,RISC-V PicoRV32等。
而GoBridge系列是专用USB接口转换芯片,可将USB转换SPI、I2C、JTAG、UART、GPIO等,主打高度集成、低功耗、单芯片。
更多的国产FPGA厂商介绍,可以查看我之前总结的文章:
国产FPGA的发展,更重要的是生态,比如齐全的芯片文档,软件的使用文档,IP核的丰富程度,硬件电路的设计参考,视频教程,开发套件,大学计划等等。
高云FGPA的生态环境做得非常出色,资料齐全,而且还是本地化的中文文档,易于阅读,官方还为每个芯片产品设计了评估板,可以让工程师参考硬件设计电路,快速应用到自己的项目中。
高云半导体还赞助了全国大学生FPGA设计竞赛,与高校合作建立联合实验室,从大学阶段就培养了一批高云FPGA的开发者。
EDA工具也是芯片设计中非常重要的一个部分,特别是FPGA的开发环境,包括工程创建,设计输入,功能仿真,管脚约束,时序约束,时序仿真,综合,布局布线到最终生成可用于下载的比特流文件,这个过程非常复杂。
高云半导体自主研发了FPGA开发环境——云源软件,支持Windows和Linux开发平台,包括商业版和教育版,教育版完全免费,而商业版也只需要提供公司信息即可免费获得一年的授权文件,到期后可以再次申请。
MCU开发工具可以使用高云官方的GOWIN MCU Designer,或者常用的单片机开发工具Keil-MDK。
GOWIN MCU Designer界面基于开源的Eclipse框架,编译器使用的是arm-gcc和riscv-gcc编译器,可完成设计、下载、调试,分为商业版和教育版。
高云官方还为小蜜蜂系列FPGA SoC开发了离线下载器,包括软硬件产品,可用于工厂批量烧录固件,最多可同时支持16路。
下面是我从官方网站(www.gowinsemi.com.cn)找到的一些关于GW1NSR-4C的文档资料:
工具的下载地址:
这么多的中文资料,看着就有想学的冲动。
从板子整体角度来看,这是一款国产化程度很高的板子,从主控FPGA,到JTAG芯片,存储芯片、电源芯片等,都是使用的国产半导体公司的产品。
板子整体尺寸也比较迷你,属于小而美类型的,可以认为是一款FPGA核心板,当然也预留了排针接口,给用户足够的扩展空间。对于想了解高云小蜜蜂SoC软硬件开发,以及对云源软件、MCU开发环境做个深度评测来说足够了。
当然还有一些值得改进的地方:
对于高云GW1NSR-4C FPGA芯片,这么多开放的资料和文档是我没想到的,包括本地化的中文文档,对于开发者很友好,易于阅读;开发文档、手册、例程也很丰富;评估板很齐全,几乎涵盖所有的芯片型号;基于Flash的FPGA架构,可以实现瞬时启动,对于启动速度要求高的应用场景这个很重要;EDA软件免费授权,无论是FPGA开发环境还是MCU开发环境,均可免费获得授权;FPGA开发工具的综合速度很快,实测HelloWorld流水灯工程的编译时间在秒级,点一下“啪”就编译完成了;ARM Cortex-M3硬核开发比较容易上手,固件库函数很规范,看着比较熟悉,应该是借鉴了STM32的库函数名称,对于有STM32开发经验的开发者来说用起来会很亲切;FPGA芯片极高的性价比,虽然目前淘宝上还搜不到相关的芯片型号,只能联系官方销售或者授权代理商购买,但是从开发板价格也可以推算出FPGA芯片价格应该很实惠。但还有一些不足之处:
虽然国产FPGA很多,但其实某些FPGA厂商走的并不是完全的自主研发道路,而是替代兼容,即PIN-to-PIN兼容国外的产品型号,使用国外厂商的EDA工具(可能需要打补丁),虽然可以无缝进行替换,但会有相关的版权问题,最终还是受制于人,而高云半导体的芯片、IP、EDA工具完全是自主研发。
国外芯片的涨价,同时也为国产FPGA提供了机遇,加上国家对半导体产业的支持,希望国产FPGA芯片能抓住此次机会,虽然国产FPGA产品和工具,距离已经积累了几十年经验的国外FPGA厂商,还有一些差距,但我相信在不久的未来,我们可以和他们齐头并进。
对于广大工程师来说,在稳定性、性价比相当的情况下,开发者也可以给国产FPGA一个上位的机会。
国产FPGA任重而道远,每一个为此努力的人都值得尊敬!
高云半导体官网
www.gowinsemi.com.cn
SiPEED矽速科技Wiki
wiki.sipeed.com
本文中所介绍的开发板为编者自费购买,文案为本人编写,与矽速科技(SiPEED)和高云半导体(GoWIN)无关,文中如果有任何不准确的描述,欢迎在评论区留言,当然如果官方能看到,觉得写的还不错,欢迎打赏支持!
版权所有,转载请联系授权!