FPGA ZYNQ VIVADO创建IP核点亮LED灯 方式一

这里写自定义目录标题

  • PL端 纯Verilog语言创建IP核实现点亮LED灯工
    • 使用设备 ZYNQ 7010,选择设备型号XC7Z010CLG400-1
    • 根据以下流程完成本次创建
    • 时钟频率50MHZ,周期T=20ns,因此计数50_000_000次,1sLED灯闪烁一次

PL端 纯Verilog语言创建IP核实现点亮LED灯工

确保开发板没有问题,可以先烧一个例程验证板子完好
本教程要实现的是自创建IP核点亮LED灯。
大致创建流程为:1.创建纯Verilog文件
2.封装成IP核,保存完整
3.新建工程,添加ZNYQ 和 我们新建的LED灯 IP核,按照流程走完后,实现点灯。

使用设备 ZYNQ 7010,选择设备型号XC7Z010CLG400-1

根据我的开发板电路原理图,所要点亮的LED灯为EMIO口的T14
DDR Configuration选择型号为MT41K128M16 JT-125

根据以下流程完成本次创建

1.创建verilog工程,用于设计IP核
FPGA ZYNQ VIVADO创建IP核点亮LED灯 方式一_第1张图片
2.工程名字可以命名为LED_IPFPGA ZYNQ VIVADO创建IP核点亮LED灯 方式一_第2张图片
3.设备型号,我的是XC7Z010CLG400-1FPGA ZYNQ VIVADO创建IP核点亮LED灯 方式一_第3张图片
4.给我们要创建的Verilog文件命名,如LED_flash,表示使LED灯闪烁
FPGA ZYNQ VIVADO创建IP核点亮LED灯 方式一_第4张图片
5.接下来编写Verilog程序

时钟频率50MHZ,周期T=20ns,因此计数50_000_000次,1sLED灯闪烁一次

module LED_Flash(
    input clk,
    input rst_n,
    output reg led
    );
    
    
     reg [25:0] cnt;
    
    always@(posedge clk or negedge rst_n)
    if(!rst_n)
        cnt <= 26'd0;
    else if(cnt < 26'd49_999_999)
        cnt <= cnt + 1'b1;
    else
        cnt <= 26'd0;
        
    always@(posedge clk or negedge rst_n)
    if(!rst_n)
        led <= 1'b0;
    else if(cnt == 26'd49_999_999)
        led <= ~led;
    else
        led <= led;
endmodule

6.开始封装纯Verilog的IP
依次点击Tools,第一个Create and Package New IP
FPGA ZYNQ VIVADO创建IP核点亮LED灯 方式一_第5张图片
FPGA ZYNQ VIVADO创建IP核点亮LED灯 方式一_第6张图片
按照图片红色箭头依次点击,对于IP Location文件路径不用更改FPGA ZYNQ VIVADO创建IP核点亮LED灯 方式一_第7张图片
FPGA ZYNQ VIVADO创建IP核点亮LED灯 方式一_第8张图片
7.点击Finish后的新界面,可以看到一些相关信息
本例程中基本没有什么需要改变的
FPGA ZYNQ VIVADO创建IP核点亮LED灯 方式一_第9张图片
8.点击完Package IP后,这个Vivado 工程可以不用管,或者最小化关闭都可,新建Vivao工程
重复上述步骤1-3,这个工程名字可以为For_IP_Led_Flash,表示使用IP核来完成LED灯闪烁。
FPGA ZYNQ VIVADO创建IP核点亮LED灯 方式一_第10张图片
9.添加我们创建的IP核的路径
FPGA ZYNQ VIVADO创建IP核点亮LED灯 方式一_第11张图片
FPGA ZYNQ VIVADO创建IP核点亮LED灯 方式一_第12张图片
10.路径添加完成后我们就可以添加IP核了
FPGA ZYNQ VIVADO创建IP核点亮LED灯 方式一_第13张图片
FPGA ZYNQ VIVADO创建IP核点亮LED灯 方式一_第14张图片
11.添加完两个IP核后开始连线FPGA ZYNQ VIVADO创建IP核点亮LED灯 方式一_第15张图片
以及点击两个红色箭头后,如下图
LED_Flash_0 IP核的led管教点击选中后引出引脚,可以使用快捷键crtl+T,结果如第二幅图所示
FPGA ZYNQ VIVADO创建IP核点亮LED灯 方式一_第16张图片
FPGA ZYNQ VIVADO创建IP核点亮LED灯 方式一_第17张图片
10.选择添加一个UART串口和DDR型号选择
FPGA ZYNQ VIVADO创建IP核点亮LED灯 方式一_第18张图片
接着选择DDR型号,根据自己开发板的型号来选择
FPGA ZYNQ VIVADO创建IP核点亮LED灯 方式一_第19张图片
11.红色数字1点击完毕后,出现的对话框,选择Synthesis Options中的第一个Global,然后点击Generate,等待程序运行完毕,可执行红色数字2“Let Vivado manage wrapper and auto-update” OK。
FPGA ZYNQ VIVADO创建IP核点亮LED灯 方式一_第20张图片
12.在11执行完毕后,执行Run Implementation
FPGA ZYNQ VIVADO创建IP核点亮LED灯 方式一_第21张图片
13.给我们的EMIO LED约束引脚,我的开发板引脚是T14
FPGA ZYNQ VIVADO创建IP核点亮LED灯 方式一_第22张图片
如此选择完毕后,按crtl+s,给弹出来的对话窗口,选择赋值LED_Flash
FPGA ZYNQ VIVADO创建IP核点亮LED灯 方式一_第23张图片
14.生成比特流文件FPGA ZYNQ VIVADO创建IP核点亮LED灯 方式一_第24张图片
15.没有特殊说明,运行完毕弹出来的对话框,可以都选择“View reports”
FPGA ZYNQ VIVADO创建IP核点亮LED灯 方式一_第25张图片
FPGA ZYNQ VIVADO创建IP核点亮LED灯 方式一_第26张图片
16.准备运行SDK
FPGA ZYNQ VIVADO创建IP核点亮LED灯 方式一_第27张图片
FPGA ZYNQ VIVADO创建IP核点亮LED灯 方式一_第28张图片
17.由于我们电灯的逻辑电路在Verilog中搭建好了,因此SDK中不需要对灯T14的引脚做额外操作,随便来个串口程序就好。(之前步骤中我们选择好的ZYNQ中的UART1)
FPGA ZYNQ VIVADO创建IP核点亮LED灯 方式一_第29张图片

FPGA ZYNQ VIVADO创建IP核点亮LED灯 方式一_第30张图片
FPGA ZYNQ VIVADO创建IP核点亮LED灯 方式一_第31张图片
18.将数据线连接好,准备烧录程序
FPGA ZYNQ VIVADO创建IP核点亮LED灯 方式一_第32张图片
FPGA ZYNQ VIVADO创建IP核点亮LED灯 方式一_第33张图片
FPGA ZYNQ VIVADO创建IP核点亮LED灯 方式一_第34张图片

18.实验结果

2

19.内容较长,请仔细操作。如有问题,可添加作者QQ:1018931844。欢迎讨论

你可能感兴趣的:(fpga开发,ip,ZYNQ,7010,Verilog)