Zynq开发实践(FPGA之选择开发板)

【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing @163.com】

我们之所以选用zynq开发板,就在于它支持arm软件开发,也支持fpga开发,甚至可以运行linux,这是之前没有过的体验。实际开发中,我们就可以把业务和逻辑放在arm上,加速部分放在fpga上,各自发挥自己的优势,最大限度使用好zynq芯片。和之前zynq只有zedboard开发板相比较,现在zynq出了很多的板子,那么应该怎么选择呢?

1、价格不必太贵

建议一开始学的时候,价格不要太贵。便宜的zynq,例如7010、7020,价格都不是很贵。但是7035以上,那就是另外一个价格体系了。在我们还没有灵活掌握zynq的时候,不需要买更贵的zynq开发板。等真正有需求之后,特别是来自客户的需求,再来买也是可以的。

2、买学习资料多的开发板

很多开发板本身大同小异。但是对应的开发资料却差别很大,原则上我们尽量选用那些开发资料比较多的板子,这样学习起来稍微容易一点。本身zynq功能强大,可以mcu开发、fpga开发、linux驱动开发,还能单核arm开发、多核arm开发、rtos开发,所以学习难度还是比较大的。这个时候学习资料多少的差异,就体现出来了。不管是软件往fpga转,还是fpga往软件转,资料方面肯定是越多越好。

3、外围电路板用的时候再买

一般厂家除了核心板、底板之外,还会提供外围电路板,比如ad、da转板,还有屏幕子板,甚至还有camra子板等等,这些不是不重要,只是说如果最终用到了再买,也是可以的。实在是没有必要一下子凑齐。

4、了解板子中ps和pl的布局

zynq本身作为arm和fpga的集大成者,其灵活性是它的优点,但是也因为它太灵活了,所以我们买板子的时候,一定要看清它的ps和pl布局。**本身ps内部集成了很多的硬核ip,所以外设部分尽可能复用这些ip,实在是资源有限的情况下,再去用pl开发外设ip。**大部分pl,其实应该用来做算法操作的。

5、熟练掌握原理图部分

知道了ps和pl的部署之后,接下来就是要读懂原理图。soc在哪,ddr在哪,以及spi flash、eth phy、hdmi在什么地方,这些都要做到心中有数。另外因为我们需要开发ps和pl,ps中的端口如何映射的,pl有哪些空闲端口可以使用,clock在什么地方,时钟多少,这些都是可以从电路上找到的。

6、软硬结合是我们学习zynq的唯一目的

很多的开发板,都会让你开始学fpga,然后是sdk,接着是hls、linux和pynq。这样学虽然内容比较多,但是脱离了我们学习zynq的根本目的。**真正要学会的,是用zynq去解决mcu、arm soc、纯fpga不好处理的问题,毕竟arm和fpga合二为一,arm直接通过总线就可以访问fpga,效率还是高很多。**如果只是把zynq当成是mcu、soc、fpga来使用,甚至只是用zynq来学习linux驱动、qt开发,就有点本末倒置了。毕竟即使不配置pl,使用ps也可以让linux跑起来,但是这样就意义不大了。

实际最佳使用zynq的方法,就是arm做业务和逻辑,至于是bare mental,还是rtos、linux,这不重要,选择os只是为了选择后面的生态。接着发现业务的性能瓶颈,这部分用pl实现,等pl做好了ip之后,就可以把ip集成到block design里面,为arm所调用。中间当然也会涉及到dma数据的传输,但是即使这样,也比纯arm处理数据效率快很多,这样才能最大程度发挥zynq的优势和特点。

相关推荐
风_峰5 小时前
PuTTY软件访问ZYNQ板卡的Linux系统
linux·服务器·嵌入式硬件·fpga开发
电子凉冰17 小时前
FPGA入门-状态机
fpga开发
Aczone2818 小时前
硬件(十)IMX6ULL 中断与时钟配置
arm开发·单片机·嵌入式硬件·fpga开发
晓晓暮雨潇潇1 天前
Serdes专题(1)Serdes综述
fpga开发·serdes·diamond·latticeecp3
XINVRY-FPGA1 天前
XCKU15P-2FFVA1760I AMD 赛灵思 Xilinx Kintex UltraScale+ FPGA
arm开发·嵌入式硬件·阿里云·fpga开发·云计算·硬件工程·fpga
嵌入式-老费1 天前
Zynq开发实践(FPGA之第一个vivado工程)
fpga开发
贝塔实验室1 天前
两种常用的抗单粒子翻转动态刷新方法
论文阅读·经验分享·笔记·科技·学习·程序人生·fpga开发
minglie12 天前
zynq arm全局计时器和私有定时器
fpga开发
章咸鱼121382 天前
nios simple soket tcp在面对arp洪流时崩溃的处理
fpga开发·tcp