经验分享 | 初学者对ZYNQ7000的一些疑问(二)

作者:小墨,本文转载自: ZYNQ微信公众号

上一篇总结了一些内容:经验分享 | 初学者对ZYNQ7000的一些疑问(一)

选择了xilinx zynq7z035ffg676这个型号的板子,是因为需要做定位通信的项目。AD9361+ZYNQ 的组合,因为需要自己一个人做PL和PS端的工作,这两部分的很多细节我都不了解,于是我向老板的一个专门做这块的朋友请教了我的一些问题,下面继续来整理一下。

平台:win10+64位软件:Xilinx_Vivado_SDK_2017.4
硬件:XC7Z035/030-FFG676I

关于vivado软件的使用与综合、仿真、执行等操作

这里细节很多,例如逻辑分析仪的使用,有什么可以推荐的使用的教程或者最新的书籍?

答复: vivado的具体使用参见UG910系列文档。

关于自定义IP ,

构建自己的系统中,不可能只使用 Xilinx 官方的免费 IP 核,很多时候需要创建属于自己的用户IP核,什么情况下需要创建自己的ip,其中的注意事项?

答复: 一种情况是代码已经不用修改了,封装起来方便使用。开发过程中不建议这样用,因为稍有改动就要重新封装IP,使用IP的工程也要重新导入IP,过程非常的不友好。有时候明明IP已经更新了,但编出来的代码还在用旧版本的IP。

AXI DMA 模块
采用 DMA 方式,可解决效率与速度问题,CPU 只需要提供地址和长度给 DMA,DMA 即可接管总线,访问内存,等 DMA 完成工作后,告知 CPU,交出总线控制权。

DMA与PL和PS怎么配合使用,需要什么接口,传输速度?

答复: DMA在PS侧应该一直是可用的,当PL因效率原因不想通过CPU搬运数据时,PS侧将DMA控制接口开放给PL侧使用。具体内容参见UG585的第9节。

关于PS 外设以太网-本项目使用的是atheros 芯片。

千兆和百兆以太网的设置?

传输数据的大小?

ethernetif_init 网络配置?

与上位机的通信协议需要注意哪些?

答复: 这部分的内容可以参考一下XAPP1026中的内容。

xilinx ILA抓波形后存储和查看方式

(1)自己写的逻辑模块IP封装到block design里面去的时候,是先做好时序分析,还是添加进去之后再做时序分析?

答复: vivado2017.4以后的版本,自己写的verilog代码可以直接加入BD,不用封装成IP。单独模块如果时序就不过的话,合在一起也不会过的。

(2)ILA添加进去之后,需要重新综合吗?

答复: ILA是要占用FPGA内的逻辑资源的,每次修改都要重新综合生成bit文件。

(3)ILA的工作时钟,需要做时序分析吗?

答复: 通过vivado软件添加的信号,软件会自动分析其时钟域,会用相应的时钟采集数据,除非用户手动指定采样时钟,软件综合时会做时序分析,而且如果时序不过的话,不保证采样数据的正确性。不同时钟域的信号会归集于不同的ILA,每个ILA都单独进行触发和采样。因此,尽量在一个时钟下实现代码,否则用ILA抓取数据很难同时触发。

这是一个从未接触过ZYNQ的开发者的一些疑惑,希望对大家有一些帮助。

最新文章

最新文章