做网站多,北京旅游攻略,高质量的邯郸网站建设,seo做的比较好的网站的几个特征这节课讲什么#xff1f;
这节课的名字本来是想写为LED#xff0c;但这一课里除了LED也有按键#xff0c;又想换为GPIO控制#xff0c;但关于PL的GPIO控制#xff0c;不应该这么草率和简单#xff0c;而且这一课有很多和ZYNQ或者PL关联性不强的东西要说。 所以我写了删删…这节课讲什么
这节课的名字本来是想写为LED但这一课里除了LED也有按键又想换为GPIO控制但关于PL的GPIO控制不应该这么草率和简单而且这一课有很多和ZYNQ或者PL关联性不强的东西要说。 所以我写了删删了写改了好几遍终于定为《PL第一课》而这节课就是讲ZYNQ的PL开发如何学习。
参考资料
【正点原子】领航者ZYNQ开发板资料v21_领航者ZYNQ之FPGA开发指南_V2.0.pdf
放轻松
其实在第一遍学习ZYNQ的时候我就已经学过了一遍PL但由于当时公司项目紧而我本身只做PS端的工作所以学的诚惶诚恐学的草草了事而这么久过去了当我回过头来再学PL端时没了那些压力也多了一些经验所以我给的第一个建议就是放轻松。
看懂原理图
看懂原理图很重要可能很多人用正点原子的原理图所以管脚都是直接按照文档来配置原理图更是打都没有打开过比如最基本的sys_clk由于我拿到的这块板子并不是什么正规开发板所以我第一时间用的时候也要去看一下晶振产生的时钟在哪里连接到了PL端 虽然管脚配置的代码和步骤本身很简单但是要通过原理图自己清楚地知道应该怎么配置是非常重要的这也能让你更清楚的知道自己在做什么而不是一味地按照文档得到结果而这也引出下一部分我要说的——
要求甚解
对于PL的学习甚至整个ZYNQ的学习其实底层都并不复杂但现在太多人无法沉下心来恨不得一小时把最后一章的实验都做完但连最简单的一些东西都无法独立完成在开发板上抄代码抄的风生水起突然换到一块同样芯片的其他板子就泻火了更别说往其他类似的板卡上迁移时出现的问题。 所以学习不能不求甚解而是要求甚解当然事情都是有一个度的我们不能遇到困难就偷看答案也不能揪着所有问题停滞不前要自己学会把控。
LED和按键
具体查看正点原子参考资料PDF的4.2节此处只粘贴代码后续会单独开一节GPIO的课程集中讲解。
timescale 1ns / 1ps
//
// Company:
// Engineer:
//
// Create Date: 2023/12/14 23:29:52
// Design Name:
// Module Name: led_twinkle
// Project Name:
// Target Devices:
// Tool Versions:
// Description:
//
// Dependencies:
//
// Revision:
// Revision 0.01 - File Created
// Additional Comments:
//
//module led_twinkle(input sys_clk,input sys_rst_n,output [1:0] led);reg [25:0] cnt;assign led (cnt 26d2500_0000) ? 2b01: 2b10;always (posedge sys_clk or negedge sys_rst_n) beginif(!sys_rst_n)cnt 26d0;else if(cnt 26d5000_0000)cnt cnt 1b1;elsecnt 26d0;
end endmodule