【国产FPGA】国产FPGA搭建图像处理平台
最近收到了高云寄过来的FPGA板卡,下图:
来源:https://wiki.sipeed.com/hardware/zh/tang/tang-primer-20k/primer-20k.htmlFPGA主要参数:
FPGA型号 | 参数 |
---|---|
GW2A-LV18PG256C8/I7 | 逻辑单元(LUT4) 20736 |
寄存器(FF) 15552 | |
分布式静态随机存储器S-SRAM(bits) 41472 | |
块状静态随机存储器B-SRAM(bits) 828K | |
块状静态随机存储器数目B-SRAM(个) 46 | |
乘法器(18x18 Multiplier) 48 | |
锁相环(PLLs) 4 | |
I/O Bank 总数 8 |
因为板卡是第三方的,所以不予评价,我们今天主要从下面几方面简单说明一下:EDA、IP、编译速速、生态。
EDA
高云的EDA下载非常简单,从下方网址直接可以下载
http://www.gowinsemi.com.cn/faq.aspx
我这次使用的教育版软件,无需License,但是也会有些限制。
打开界面:
整体和lattice diamond界面类似,这里有个不舒服的地方就是文件没有层级关系,需要综合之后才能在Hierarchy看到层级关系:
这里对于大型或者多文件工程极其不友好,对于继承代码,那简直。。。
在编写完代码后,综合、布局布线界面极其方便,在下面界面可完成。
同时绑定引脚也可以使用两种方式,综合后通过界面分配或者文件物理约束都可:
最后布局布线,点击下图中两个位置都可以打开下载插件:
这个插件可以单独使用无需license,对于小批量生产很方便。
但是这里也有一个小BUG,在打开下载插件时候,这里的文件不一定是你这个工程的文件:
尤其是在使用逻辑分析仪时候,会重新生成新的二进制文件(新的文件名),而上图的文件位置并不会更新成新的文件,需要重新选择,这两点很容易让你下载到FPGA的目标文件和生成的文件并不是一个文件(调试了好久。。。),这里可以不记忆或者下方提示或者在选择文件位置加一个惊叹号类似的提示。
高云的FPGA还有一个好处就是无需外部FLASH就可以固化启动文件,因为FPGA内部有FLASH(类似Intel CPLD),也可以使用外部FLASH进行双备份,这样即减少了电路复杂度,也减少了成本增加了稳定性。
IP
上面简单介绍了EDA软件(云源软件)的使用,下面看下对于开发者最重要的一部分--IP,一个强大的IP环境可以为开发者节省很多开发时间,我们先看下教育版的IP有多少:
下图就是EDA提供的常规IP,也很丰富,DSP、常用接口、CLOCK、Memory等,因为我用的是教育版EDA,不知道和正版有哪些缺失,不过有些IP我是不能用的,这很正常,差异性服务是未来的趋势。
这里我们重点关注下面箭头的部分:
做图像处理的应该都理解这几个IP的重要性,其中Video Frame Buffer类似AMD-Xilinx 的“VFIFO”,帧缓存至DDR并且从DDR读取帧数据进行显示或者处理,这大大减少了开发者操作DDR的开发周期。
编译速速
这个我就不多说了,因为本身软件需要做优化的地方比较少(内部主频比较低),所以速度很快,后续大容量、高主频的FPGA出来后速度肯定会降低,目前没办法对比。
生态
这个我就不单独以高云为例了,而是目前国产FPGA,都是一样的,生态环境几乎为零,主要是前期一直以站稳市场为主,没有进行推广,所以生态没建立起来很正常,随着未来的发展,肯定会越来越好~
图像处理平台
关于代码这篇文件不详解,主要应用到DDR+FRAME BUFFER两个IP,详细工程:
https://github.com/sipeed/TangPrimer-20K-example/tree/main/Cam2HDMI
在这个基础上可以做自己的IP添加进去。后续大家有兴趣再详细讲解这个工程。
总结
国产FPGA在发展,目前在价格上优势极其明显,后续的发展还要靠国内的开发者去支持。
虽然目前还有一些BUG,但是还可以忍受。最后就是希望国内的FPGA可以越发展越好~
有什么其他厂家的国产FPGA需要测评使用欢迎大家留言~
点个在看你最好看