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

相关推荐
技术小白爱FPGA4 小时前
zynq7000- linux平台 PS读写PL测试
linux·fpga开发
Z22ZHaoGGGG4 小时前
verilog中数据跨时钟处理方法
单片机·嵌入式硬件·fpga开发·自动化
FPGA_小田老师6 小时前
FPGA基础知识(十):深入理解建立时间与保持时间违例
fpga开发·时序约束·建立时间违例·保持时间违例
贝塔实验室8 小时前
LDPC 码的度分布
线性代数·算法·数学建模·fpga开发·硬件工程·信息与通信·信号处理
javajenius1 天前
Quartus II下载安装教程Quartus II 18保姆级安装步骤(附安装包)
其他·fpga开发
颜子鱼1 天前
FPGA中复位信号的省略
fpga开发
cycf1 天前
面向模块的综合技术之过约束(十)
fpga开发
颜子鱼1 天前
FPGA-状态机架构
fpga开发
颜子鱼1 天前
FPGA-状态机
fpga开发
GateWorld1 天前
FPGA设计中的“幽灵信号:一条走线,两种命运——浅析路径延迟导致的逻辑错误
fpga开发