1、我们在创建这个工程的时候首先要知道为什么要创建这个工程,实现的功能是什么
获取上面信息的方法,问一下你们的leader了解需求后,获得相V关信息后,结合原理图来更好的了解具体配置和相关参数。
2、vivado
这款软件主要用于FPGA(可编程门阵列)和SoC(系统级芯片)的设计、仿真、综合、实现和验证。它是赛灵思公司针对现代FPGA和SoC设计的最新工具,还想了解更多自己去百度。我
3、获得具体的芯片型号
4、获得型号后然后再去查看你的DRR的型号
5、然后从原理图去了解到时钟 bank电压等设计。
完成上面的准备工作就可以开始搭建工程了。‘
然后就是选择工程的类型
一般建议选择第一个 拓展和后期的开发限制少,但是工程大。
下一步将是芯片型号的选择了,参考原理图和上面我贴出来的图片也可以参考我的,当前一般在Speed grade都是-2 表示的是工业。
到这里选择好后一直下一步到结束。
下一步就是选择IP核
点击切换到IP集成开发环境->创建
弹出一个窗口后名字可以切换,但是这个取名是有规范的,建议参考或者百度,但是新手没要求
添加ip核然后输入关键字快速查找(其他的也可以参考)
创建完成后双击
这张图是当前这片芯片的资源和可以使用的东西有哪些
下一步将是DDR选型和相关参数的配置
如果还有外设也可以通过MIO管脚约束,MIO不够还可以使用EMIO,EMIO还不够还可以使用XAI软核挂载使用fpga的资源(上面的几个名词不懂的可以去查看相应的资料)有很多的知识点。建议多看看官方的文档会有很多的收获
MIO和EMIO外设添加
可以参考上面的我的qspiflash就是mio来配置的只要从原理图上找到对应的引脚选上就行注意一个ZYNQ的mio引脚只有53个两片bank 电压是不同的。
emio可以参考我的UART1就是使用的emio来印出来的具体的管脚约束会在FPGA侧来完成约束。
这里的具体实现可以去找FPGA的工程师或者百度有很多的资料,我就不详细的说明的。
完成上面的步骤后,确定没有问题后选择编译
到这里就会生成BIT文件用于PL侧的文件。
ps的文件需要使用配套的SDK工具来开发具体的功能实现我后面在讲。
zynq的开发是一个很大的工程量,对自己的硬件、fpga、底层、系统方面的知识有很大的考验,需要将自己的知识串起来才能想通,其中很多的知识点都要去参考官方的手册来完成。
上面的约束还好很多参考硬件设计就可以完成,到了后面的PS侧的功能更多的是去看文档看时序,看原理,最后才是实现功能。
因为网上对应zynq开发的功能不像linux一样开放会有很多的资源,更多的开发还是靠自己日积月累的经验和对于底层文档的使用和阅读吧。