注:本篇文章由【开源骚客:OpenSoc】公众号首发,现转载至头条号。
新的开始,这一篇文章,就算是使用 Vitis 开发 ZYNQ 的第一篇文章吧。
计划把 ZYNQ 开发写成一个系列,所使用的的软件版本为 Vitis 2019.2,硬件平台为 EBAZ4205 矿机板。
最新的软件平台配最便宜的硬件平台,哈哈哈!
软件版本可以说是最新的,选择最新,意味着这系列文章过几年后,依然不过时。硬件平台,可以算是在 ZYNQ 开发板里面最便宜的,最便宜,意味着大多数都买得起!
作为第一篇文章,暂时先不涉及 ZYNQ 的 PS 部分,以传统 FPGA 的方式来做个小实验,在 PL 端实现按键控制 LED。
当然这个小实验也可以作为验证下 EBAZ4205 转接板的好坏。
1.准备工作EBAZ4205 矿机板本身,在 PL 端是没有焊接晶振的,但留出了使用晶振的位置。所以单纯使用 PL 端进行开发的话,咱们得先把板子上的晶振焊上。
PL晶振原理图部分
在 X5 这个位置,我焊了一个3225封装的 50M 晶振,L29的位置焊了一个 0R 电阻,R1372 焊了一个 33R 的电阻,C364 的位置焊了一个100nF 的电容,改动的地方就这几个。
这里需要注意的是,L29在背面,当时还找了挺久的一会,没电感,直接用0R电阻代替了,如果想更狠一点,用焊锡直接把 L29 连上也行!
2.Vivado 创建工程对于 vivado 创建工程的步骤,就不详细介绍了。写这些步骤,截图太多,效率太低了。之后还是计划对这系列的文字版教程,录个配套的视频,在视频里面,跟着做,来得更直接。
代码如下:
工程代码
其功能,最终就是实现按键按一次,LED 的状态反转一下,当然内部也有按键的消抖。
相关的引脚约束信息如下:
引脚约束信息
3.让工程编译的速度更快些在 TCL 输入框中输入 set_param general.maxThreads 8,可以让编译的速度提升,vivado 默认的线程数是2。
我总共花的时间是 1分半钟 还不到,大家可以自行比较一下在设置了最大线程的状态下,与没有设置之前的编译时间会快多少。这里我就不演示了。
这一点设置非常有意义哦,大家千万别小看了它。
另外一点,矿机板默认是没有 X5 这个晶振的,那没有这个晶振,如何来实现本文中同样的功能呢?
下一篇文章,将讲解从 ZYNQ 的 PS 端引出时钟给 PL 端使用,敬请关注!
标签: pl