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的优势和特点。

相关推荐
千寻xun10 小时前
三、实战篇-NVME SSD控制之FPGA实现(一)
fpga开发·nvme ssd·nvme协议
XMAIPC_Robot13 小时前
软硬协同实时控制|RK3588业务调度+FPGA硬件时序,ethercat实现半导体设备微秒级响应(125us)
linux·arm开发·人工智能·fpga开发
upper202014 小时前
从零开始设计riscv cpu记录之七
fpga开发·riscv·riscv设计·btb·分支预测
ARM|X86+FPGA工业主板厂家17 小时前
AI视觉跟随运动控制实战|RK3588 NPU检测+FPGA EtherCAT多轴联动精准跟随方案,适用于半导体视觉对位等
人工智能·fpga开发·硬件工程·ethercat·实时系统
XMAIPC_Robot21 小时前
RK3588+FPGA半导体设备量产踩坑大全|发热、时序漂移、推理抖动、成像干扰、EMC干扰方案
人工智能·嵌入式硬件·fpga开发·arm+fpga
凡亿卓达方案设计2 天前
FPGA硬件开发怎么选靠谱方案商?
fpga开发
Eloudy2 天前
QSFP28、RoCEv2、RFSoC-4x2 数据传输与器件链路
网络·fpga开发·rocev2
Echo_cy_2 天前
基于ZYNQ-7000的Ethernet驱动配置
linux·驱动开发·嵌入式硬件·fpga开发·ethernet·zynq
現実君2 天前
关于MCU下位替换FPGA的经验与方案
单片机·嵌入式硬件·fpga开发
Terasic友晶科技2 天前
【教程】Agilex 5 SoC 的两种启动模式的开发演示(一)(FPGA Configuration First)
fpga开发·agilex 5 soc