尧图网站设计 尧图网站设计YAOTU DESIGN
ARTICLE DETAIL

资讯详情

深耕网站设计与一线实操的经验洞察。

zynq入门教程

zynq入门教程 一、前言本次实验将通过基本的流水灯代码进行讲解但是是采用PS端时钟通过锁相环提供给PL端时钟借此来熟悉一下基本的vivado环境。二、基本过程1、基本的PL部分代码往期文章有讲本篇文章重点不在这种简单的verilog语法不做详细说明timescale 1ns / 1ps module shift_led( input sclk, input s_rst_n, output reg [3:0] led ); parameter DELAY_1Sd49_000_000; reg [25:0] cnt_1s; always(posedge sclk or negedge s_rst_n) begin if(!s_rst_n) cnt_1sd0; else if(cnt_1sDELAY_1S) cnt_1sd0; else cnt_1scnt_1s1d1; end always(posedge sclk or negedge s_rst_n)begin if(!s_rst_n) led4b1110; else if(cnt_1sDELAY_1S) led{led[2:0],led[3]}; end endmodule2、vivado配置2.1添加zynq IP核如图首先正常创建项目然后点击create block design我们采取调用IP核的方式完成zynq配置然后会弹出类似这个界面第一就是按照一个箭头的点击add IP第二步就是搜zynq我的板子只有这一个如果你创造工程的时候胡乱选的器件型号建议你自行修改一下第三步就是双击这个IP核然后他会自动加载。2.2配置zynq IP核2.2.1 PS-PL configuration然后我们双击生成的zynq IP核首先我们的项目只需要PS可以简单理解为单片机端然后在PS-PL配置这里我们可以点开AXI,以及他下面的GP master我们能把默认的勾取消掉这部分应该是arm读写控制fpga用的我们现在暂时只需要PS端提供时钟所以取消勾选。2.2.2 配置时钟然后我们需要配置ps需要给我们pl端多少个时钟他最多允许这几个我们这边只要一个50mhz的时钟所以这样就够了2.2.3 配置DDR3我们还需要配置一下ddr3这部分呢需要我们找原理图明白自己手上的fpga需要对应哪一种ddr3芯片我这边是MT41K128的这个然后还需要改下位数我这不是32位而是16位的然后点击ok完成配置。三、打包IP1、用户使用vivado工具创造IP核1.1文件准备首先在我们的项目中新建一个存放ip核的地方---ip_pero然后再在这个文件夹里面新建我们的IP文件夹比如我这个流水灯代码就像这样然后再把verilog写的.v文件放进这个文件夹里面第一步就完成了1.2 vivado工具打包然后我们用vivado自带的打包工具就像这样这边改一下打包在特定目录选取我们刚刚的文件夹到shift那里就行了再下去你也点不到然后你就可以在我们搜索栏找到这个IP核自己搜搜名字就行注意是在我们点加号那里搜其他地方搜是可能搜不到的1.3使用IP核首先用鼠标完成对应连线类似原理图这个部分然后鼠标右键我们的shift_led他后续是需要和外部的led连接的点击make external这个选项可能和你的led名字不同自行修改一下就行连完线觉得难看可以点击这个layout系统自动美化至于zynq的ddr还有io我们不用管点击run block auto这个选项然后直接默认接收就行最后鼠标右键点击validate design即可2、源文件直接生成模块我们只需要在design中写好Verilog代码右键他选择add module即可四、完成收尾1、design文件转.v文件首先右键我们的design这里选择generate output选项然后运行完后再右键design选择cerate hdl wrapper然后我们可以发现我们出现了.v文件2、提示后续就生成比特流文件绑定引脚即可不过记住时钟端在ps部分我们不需要管时钟。
返回列表