初学Zynq与Vivado之总结

更多精彩内容,请微信搜索“FPGAer俱乐部”关注我们。

一,Vivado

在讲Zynq之前,需要先讲Vivado
Vivado是Xilinx公司的一款EDA,2012年出第一版,现在已经成为Xilinx官方指定的开发软件了。
而ISE,呵呵哒的ISE,早在2013年就停止更新,被它的Xilinx粑粑抛弃了。
所以,在2013年及之后生产的板子和芯片,都不要用ISE开发
虽然在ISE的新建工程列表下能找到新的芯片和板子,也能综合布线生成比特流,但是依然不推荐。
原因有如下几个:

  • 来自Xilinx官方的所有支持,包括示例工程、IP核、操作说明文档等,全部都是基于Vivado的。也就是说,如果你用ISE,那么就会发生很尴尬的事情——你无法得到来自官方的任何支持。

  • Vivado跟ISE的开发理念完全不一样,ISE适合快速开发小型项目,而Vivado更适合开发大型项目。

  • ISE是面向文件的开发,.v文件、IP核、层次调用结构,讲道理更适合用于教学而不是工程开发。在ISE里甚至没有封装IP核这么一种说法…

  • Vivado则是面向IP核的开发,Xilinx公司认为,未来要快速开发大型的项目,实际上就是要堆砌IP核,所以在Vivado里一切皆是IP核,调用起来非常方便,很多协议也直接集成在里面了,例如AXI总线协议之类的,不用担心协议不匹配。


二,Zynq7000

众所周知,Xilinx有很出名的“7系列”:Artix7,Kintex7,Virtex7
而Zynq7是一个特殊的7系列,它是唯一一款集成了ARM9核的产品。虽然我觉得在FPGA里集成一个ARM有种脱裤放屁的无聊感,但是看新闻貌似大家都很激动的样子,可能是我的水平太低,不能看到这款产品真正的价值所在。

学习过程

首先跟着BIST测试一遍,既能测试板子是否能用,也能稍微了解一下这个板子都有些什么东西在上面。
然后看代码,你会发现Zynq根本不像一个FPGA,它更像一个ARM,在Vivado搭好硬件电路(一般都会有一个Zynq processing system7软核),生成bitstream,然后就可以到SDK去进行软件开发,编写C语言烧到ARM核里,就连启动的boot都是由ARM带动的,而FPGA更像一个ASIC,用来给ARM调用的。
Vivado有两种形式的设计,一种是source,跟一般的FPGA开发一样,没有用到ARM核;另一种是Block Design,就是IP核的堆砌,实际上一般都会用这种,因为Vivado可以把source封装成IP核,所以完全可以写一个source的Project,然后封装成一个IP加入到Block Design。但是这个端口连接是个问题,Block Design一般会用AXI总线互联,但是我们自己写的哪有这么规范…如果全部用GPIO互联,不仅浪费,GPIO还可能不够用,速度也不会很理想,反正还需要慢慢摸索。。。

总结

这几天看Xilinx的技术文档,看代码,上网慢慢找不懂的知识,还要连蒙带猜的,真是心累。感觉做Zynq比做单纯的FPGA门槛要高一些,既要有FPGA的编程知识,还要会嵌入式软件编写,貌似还能在FPGA上跑Linux,这么说还需要嵌入式Linux的知识,简直有够麻烦的,两三个人的工作量压到一个人身上,简直惨,学起来也麻烦。幸好我C语言和汇编的基础还算不错,不然就那一大堆嵌入式C代码就够搞几天的了。


文转载自https://blog.csdn.net/u013793399/article/details/51779112,如涉及侵权,请私信小编删除。

============华 丽 的 分 割 线============


想加入我们FPGA学习交流群吗?可以长按或扫描以下二维码,审核通过后我们邀请您加入

这些微信群旨在打造一个提供给FPGA工程开发人员及兴趣爱好者(统称“FPGAer”)进行技术交流、答疑解惑和学习的平台。而且我们也将会通过网络举办FPGA技术讲座,分享相关研究文献 


初学Zynq与Vivado之总结_第1张图片


了解更多FPGA知识可以长按或扫描以下二维码关注FPGAer俱乐部


初学Zynq与Vivado之总结_第2张图片



你可能感兴趣的:(初学Zynq与Vivado之总结)