当前位置:   article > 正文

zynqpl端时钟_zynq中纯PL编程 - CSDN博客

zynq pl时钟

没接触zynq之前,只用过FPGA,在FPGA中用verilog编程简单明了,后来稍微学习过一点nios ii,就在FPGA中也用过一点点nios ii。所以在刚接触zynq的时候,我就感觉zynq跟altera的FPGA和nios ii的编程肯定会有一些相似的地方。学习zynq的时候,一开始我就想弄清楚三个问题,第一zynq中怎么使用纯PL(programmable logic)部分?(就是把zynq当做普通FPGA用)第二zynq中怎么使用纯PS(process system)部分?(就是把zynq当做一个纯arm使用)第三自然而然就是zynq的PS和PL部分怎么协调工作,谁是主谁是从?

刚接触的时候好多教程都是教你怎么用PS部分,我捉摸了一段时间弄清楚了怎么使用纯PL部分了。希望大家在初学的时候能把PS和PL部分的关系弄清楚,对学习也会更有帮助的~

使用纯PL部分的时候,就把zynq当做一个FPGA使用,使用FPGA的时候,有一个引脚是时钟输入引脚,这个特别重要,这个是源头,一般在FPGA中用verilog编程会使用同步操作,也就是在一个主时钟信号下编程。

首先新建工程,然后在vivado中project manager中add sources,选择design sources,添加.v文件,然后写一个简单verilog程序,如下图。

附代码:

module zynq_led(    input clk_pl,    input rst_n,    output[7:0] led    );reg [31:0]state;   always@(posedge clk_pl, negedge rst_n)if(!rst_n)begin    state<=32'b0;endelsebegin    state<=state+1'b1;endassign led=state[31:24];endmodule

代码写好后就综合,run syhthesis,等待综合完毕后,打开systhesized Design,开始引脚分配。

首先要找到时钟引脚,然后在分配引脚的时候,把这个引脚分配给时钟信号。我的开发板上K17是时钟输入引脚,所以分配这个引脚到clk_pl,且是输入。然后是复位按键和输出led引脚。(复位按键可以不要)

引脚分配好了之后,就可以开始run implemented,然后等待完成。然后就是导出硬件流,烧写到zynq的PL中去,这样就可以啦。

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/从前慢现在也慢/article/detail/478943
推荐阅读
相关标签
  

闽ICP备14008679号