基于ARM Cortex-A9双核处理器和Vivado的设计方法, 书籍位ZYNQ系列的进阶与实战(链接在文章最后)。

 对于FPGA初学者,建议一步到位,直接用ZYNQ。我这里建议大家用ZYNQ,并非一开始就学FPGA+ARM。前期还是先学FPGA开发。因为ZYNQ本身就是FPGA+ARM。我们完全可以把它当做FPGA去用。当我们FPGA学的差不多了就会发现,FPGA用来实现特定的功能、做硬件加速、算法加速很适合,但缺点是不太灵活,硬件综合时间也比较长。比如:用FPGA输出pwm很容易,但如果输出占空比可任意调节的PWM波就有点麻烦。总不能调一次pwm周期和占空比就综合一次硬件吧。而这时如果给FPGA添加一个ARM,我们可以用软件去配置占空比、周期等。简直不要太方便。虽然在FPGA内部做一个CPU软核也是可以的。但嵌入式软核不仅配置起来非常麻烦,而且无论功能、性能、稳定性还是开发生态,都被ARM摁在地板上摩擦。这也是答主推荐ZYNQ的原因。另外,ARM本身也是有很多东西可以学的,比如裸机程序设计、Linux应用程序开发、Linux驱动设计等。如果只想把学习重点放在FPGA上,学会用C语言开发ARM的裸机程序就够了,我就喜欢直接写裸机程序,简单快捷,实时性还高。
 从长远的趋势来看,以后纯fpga的应用没有zynq多,但是全面掌握zynq,还需要对verilog/c/c++这几种语言都比较熟练的掌握,单拿出其中一种编程语言,就需要学习很久才能熟练编程与调试,所以与其说你是在纠结fpga还是zynq,不如说,是先去学习c++/c,还是先学习verilog,如果毕业以后对数字ic感兴趣,可以学习上手稍微简单一些的fpga,如果更喜欢偏向软件一类的,可以拿zynq的ps学习下c++/c

链接:https://pan.baidu.com/s/1cN2feQeZopZdprKScPNraA?pwd=2e4i
提取码:2e4i

Logo

腾讯云面向开发者汇聚海量精品云计算使用和开发经验,营造开放的云计算技术生态圈。

更多推荐