ZYNQ 的学习方法

ZYNQ 作为目前热门的 SOC 类处理器,正在被越来越多的公司选择使用。学习 ZYNQ 的朋友也越来越 多,初学者可能会认为 ZYNQ 很难学,以前只学过 51,或者甚至连 51 都没学过的,一看到 ZYNQ 就懵了。 其实,万事开头难,只要掌握了方法,学好 ZYNQ,还是非常简单的,这里我们总结学习 ZYNQ 的几个要 点:

1. 一款实用的开发板。
这个是实验的基础,有时候软件仿真通过了,在板上并不一定能跑起来,而且有个开发板在手,什么东 西都可以直观的看到,效果不是仿真能比的。但开发板不宜多,多了的话连自己都不知道该学哪个了,觉 得这个也还可以,那个也不错,那就这个学半天,那个学半天,结果学个四不像。倒不如从一终,学完 一个再学另外一个。
2. 掌握方法,勤学慎思。
ZYNQ 不是妖魔鬼怪,不要畏难, ZYNQ 的学习和普通单片机一样,基本方法就是:
3. 了解 ZYNQ 的基本结构。
学习 ZYNQ 之前需要先对 ZYNQ 的基本结构和其功能有个大概的了解,如 PS AXI 总线、锁相环 PLL 、 FIFO 等。需要知道 PLL 是用来产生不同频率的时钟,如使用 WM8960 (音频编解码芯片)时需要生成 12MHz 的时钟;FIFO 用于数据的缓存和异步时钟域数据的传递等。
4. 了解 Verilog HDL 基本语法
没有软件的硬件就如同行尸走肉一般。软件是硬件的灵魂,硬件是软件的舞台。好的软件设计才能发 挥硬件的性能,而软件的精髓在于代码。学习 FPGA 也是这样, Verilog HDL 做为一种硬件描述语言,是对数字电路的一种描述,而数字电路是并行工作的,因而在编写 Verilog HDL 时要有并行的思想,不同于软件 设计语言,软件设计语言是由 CPU 统一进行处理,一条指令一条指令的串行运行,所以软件设计语言是基 于串行的设计思想,因而在写 Verilog HDL 代码的时候要注意这种差别。另外对于 Verilog HDL 的基本语法 是务必要掌握的,如一般常用的 module/endmodule、input/output/inout、wire/reg、begin/end、posedge/negedge、 always/assign、if/else、case/default/endcase/parameter/localparam 等关键字要清楚它们的作用和区别。掌握了 Verilog HDL 的基本语法和 Verilog HDL 的并行设计思想后,会觉得 Verilog HDL 和 C 语言一样简单。
5. ZYNQ PS 的学习
学习 ZYNQ PS 首先要了解 C 语言的基本语法。然后了解 PS 端基本的系统框架和外设,例如 PS 端架 构、片内互连、AXI 总线、 DDR 控制器等等。最关键的是 PS 端的 C 程序。软件系统可以被认为是建立于 基于硬件的系统上的一个栈,或者说是一系列层,从底至上依次是基础硬件系统(来自 Vivado 的自定义硬 件)、板级支持包、Operating System 、软件应用。 初学者可以多看看官方的文档和资料,对于 PS 端的软件, xilinx 提供了丰富的库函数,很多时候用户 直接调用即可,读者要学会利用这些库函数。遇到问题时,读者可以借助 xilinx SDK 开发环境中的各种 调试功能来定位错误,以帮助解决问题。
6. 多思考,多动手。
所谓熟能生巧,先要熟,才能巧。如何熟悉?这就要靠大家自己动手,多多练习了,光看或说是没什 么太多用的。只有在使用 ZYNQ 的过程中,才会一点点的熟悉,也只有动手实练,才能对 FPGA 有切实的 感受。
熟悉了之后,就应该进一步思考,也就是所谓的巧了。我们提供了几十个例程,供大家学习,跟着例程走,无 非就是熟悉ZYNQ 的过程,只有进一步思考,才能更好的掌握 ZYNQ ,也即所谓的举一反三。例程是死的, 人是活的,所以,可以在例程的基础上,自由发挥,实现更多的其他功能,并总结规律,为以后的学习和 使用打下坚实的基础,如此,方能信手拈来。
所以,学习一定要自己动手,光看视频,光看文档,是不行的。举个简单的例子,你看视频,教你如何煮饭, 几分钟估计你就觉得学会了。实际上你可以自己测试下,是否真能煮好?机会总是留给有准备的人,只有 平时多做准备,才可能抓住机会。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值