前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >荐读解惑 | 求求你,不要胡乱“归属”ZYNQ,其实并不是所谓的FPGA!

荐读解惑 | 求求你,不要胡乱“归属”ZYNQ,其实并不是所谓的FPGA!

原创
作者头像
FPGA技术江湖
修改2021-04-14 14:16:48
1.4K0
修改2021-04-14 14:16:48
举报
文章被收录于专栏:FPGA技术江湖FPGA技术江湖

荐读解惑 | 求求你,不要胡乱“归属”ZYNQ,其实并不是所谓的FPGA!

今天给大侠带来求求你,不要胡乱“归属”ZYNQ,其实并不是所谓的FPGA!话不多说,上货。

最近真是太多人来问我学FPGA,这都不是重点,重点是上来就要学ZYNQ。我听这口气,看来学了一段时间了,然后简单的聊了几句,发现是个小白,HDL语言都没整明白,就是想要学点高端的。这里并没有看不起的意思,这里只是想要说明一点,要清楚的抓准自己的定位,看清需求,然后选择性学习。

这里就简单的和大家聊聊为什么要说不要胡乱“归属”ZYNQ,其实并不是所谓的FPGA!

深入接触过ZYNQ的大侠们应该都知道,ZYNQ并不能说是一个嵌入ARM核的FPGA。从它的启动过程就可以发现,绝对是ARM主导的,因此称它为以高性能FPGA为外设的双核ARM或许更为合适。

举个例子,ZYNQ-7000系列,ZYNQ-7000包括PS和PL两部分,其中你可以只使用PS部分,而不用PL部分,这样可以认为你在单纯的使用一个ARM Cortex A9 MPore芯片。

如果只用PS部分,简单的设计流程为:先在PlanAhead里面建立工程,然后在这个工程中建立一个处理器系统工程,建好后,会自动打开XPS。在XPS中,配置处理器系统,也可以直接调用模板,配置好以后,重新回到PlanAhead中,创建顶层的HDL文件,然后整个硬件平台就搭建完了。

将这个硬件平台导出到SDK中,就可以在SDK中利用这个硬件平台进行应用开发了。这样看来,不用PL部分,也即FPGA部分并没有使用,可以说是与FPGA半毛钱关系没有。

但是实际上更多情况下,我们会将PS和PL部分联合使用,不然也就失去了使用ZYNQ芯片的意义。但是,再次反转,一般刚开始学习ZYNQ,为了更好的理解和学习,会先讲只使用PS部分的例子,这样可以更快的掌握工具的使用和开发流程。

除此之外,你也可以从ZYNQ的优劣势看出来一些端倪,以下是ZYNQ优劣势的一些介绍,我们先来看看。

优势部分:

1、开发环境的大集成。

从HLS到Vivado到SDK,对于一个不熟悉FPGA的嵌入式软件工程师来说,完全可以把它当做简单的双核ARM,使用例程中搭建好的硬件环境,在SDK中开发。软件调试后发现某些算法太慢,速度上不去,可以用HLS把这部分进行优化,由工具直接生成电路,甩到Vivado中。一般情况下快个一二十倍是没问题的。所以,整个开发可以完全在Xilinx自家的开发环境里切换。

2、xi4标准总线互联。

这部分涉及内容太多,暂不介绍。

3、各种免费的ip随便用。

不懂硬件,没关系,连线即可完成设计。什么,连线也不会,那把需要哪些模块放进去,让软件帮自行完成!

4、PS和PL两部分共用内存。

加个免费的DMA、VDMA,数据交换秒秒钟的事情。

5、降低了软件开发的难度。

不用费很大的力气就能用上ARM,而且Xilinx在自己的工具中对IP驱动以及Linux内核等等做好了软件支持,一站式起Linux,方便地融入ARM的软件生态系统。传统方式用 ARM 的 RTL级的 IP 的话,工作量巨大,而且性能还上不去。

6、集成度高、通讯更简便。

省一个ARM的面积,省掉通讯总线的资源消耗,省掉CPU与FPGA之间的通讯总线,通讯速度更快,信息传递结构更简单。一般来说比FPGA+CPU便宜,具体实际应用看情况,也得看厂商、分销商。

劣势部分:

FPGA可用管脚数量下降,可用资源数不如同等面积FPGA,功耗远大于同等处理器的CPU,开发人员要求高,开发成本高等等。

从上面的优劣势,大家也能看出来,ZYNQ真的不是所谓的FPGA,现在所说的FPGA开发,是基于底层驱动,用HDL硬件描述语言做开发,而ZYNQ更多的是集成、调用,ZYNQ之所以高端,是因为开发人员懂得不仅仅是FPGA,还要懂Linux的开发,Linux的话说白了就是应用层面的开发,其实已经脱离了底层,不需要你再去研究什么电路原理图什么的了。

之前也提到过,为什么不推荐零基础或者初学者直接学ZYNQ,这里就不过多讨论了,至于FPGA初学者怎么学,这里也不多说,超链接一篇实用性的文章,之前发的,后续还会再整理更新,仅供各位参考。

新谈:为什么你觉得FPGA难学?如何入门?

以上为本人一些拙见,仅供参考,希望对各位大侠学习有点帮助。

后续会持续更新,带来Vivado、 ISE、Quartus II 、candence等安装相关设计教程,学习资源、项目资源、好文推荐等,希望大侠持续关注。

江湖偌大,继续闯荡,愿大侠一切安好,有缘再见!

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 荐读解惑 | 求求你,不要胡乱“归属”ZYNQ,其实并不是所谓的FPGA!
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档