Vivado软件的使用——以led的交替闪烁为例

文章目录


前言

本文的主要内容是Vivado软件的使用,参考的资料是正点原子录制的视频以及其提供的资料,通过led灯交替闪烁这个例子来熟悉使用Vivado软件。


一、创建工程

首先在电脑的某个盘符下新建一个文件夹用来存放Vivado工程文件,注意该文件夹的完整路径不能包含中文,并且文件夹的名称符合命名规范,即名称中只能含数字、字母以及下划线。
如下图,我在G盘下新建了名为ZYNQfiles的空文件夹。
Vivado软件的使用——以led的交替闪烁为例
打开Vivado 2018.3软件,显示界面如下图。
Vivado软件的使用——以led的交替闪烁为例
选择Create Project,在弹出的对话框中选择Next,接着出现如下对话框。
Vivado软件的使用——以led的交替闪烁为例
在Project location中选择步骤1中建好的文件夹路径,在Project name这里输入工程名,一般要求工程名能够反映实验功能,这里要做的实验是led的闪烁实验,所以工程名这里输入led_twinkle,其他默认,点击Next。
Vivado软件的使用——以led的交替闪烁为例
在弹出的框中选择RTL,并且勾选“此时不定义源文件”,接着点击Next。
接下来的对话框是选择开发板的器件型号,我这里使用的是ZYNQ-7020开发板。
ZYNQ-7020开发板型号选择:xc7z020clg400-2
ZYNQ-7010开发板型号选择:xc7z010clg400-1
如下图,直接在搜索栏输入xc7z020clg400-2即可唯一的出现该型号,选择后即可进入下一步。
Vivado软件的使用——以led的交替闪烁为例
这样直接输入比较麻烦,也可以通过筛选然后进行选择,如下图。
Vivado软件的使用——以led的交替闪烁为例
如果是7010开发板,在Speed那里选择-1即可选择对应的型号。
上面的型号确认选择无误后Next,弹出工程汇总对话框,如下图所示。
Vivado软件的使用——以led的交替闪烁为例
确认没有错误后点击Finish即可完成工程的创建,创建成功后的界面如下图所示,如果自己在创建工程的过程中选错了型号,可按照下图中标注的序号依次点击选择正确的型号。
Vivado软件的使用——以led的交替闪烁为例
到这里工程就创建完成了。


二、添加模块

首先添加资源,选择Add Sources或者Sources下的 + 弹出如下对话框,选择Add or create design sources,然后进入下一步。
Vivado软件的使用——以led的交替闪烁为例
接下来创建一个新的文件,文件名与工程名保持一致,点击OK。
Vivado软件的使用——以led的交替闪烁为例
上述步骤完成后弹出如下对话框,点击Finish即可完成模块的创建。
Vivado软件的使用——以led的交替闪烁为例
点击Finish后弹出定义模块的对话框,点击OK,然后选择Yes即可。
Vivado软件的使用——以led的交替闪烁为例
双击Sources下的模块,就看到了创建好的Verilog代码。
Vivado软件的使用——以led的交替闪烁为例
输入Verilog代码如下:

//该代码来自正点原子
module led_twinkle(
    input          sys_clk  ,  //系统时钟
    input          sys_rst_n,  //系统复位,低电平有效
    output  [1:0]  led         //LED灯
);
//reg define
reg  [25:0]  cnt ;
//*****************************************************
//**                    main code
//*****************************************************
//对计数器的值进行判断,以输出LED的状态
assign led = (cnt < 26'd2500_0000) ? 2'b01 : 2'b10 ;
//assign led = (cnt < 26'd5)         ? 2'b01 : 2'b10 ;  //仅用于仿真
//计数器在0~5000_000之间进行计数
always @ (posedge sys_clk or negedge sys_rst_n) begin
    if(!sys_rst_n)
        cnt <= 26'd0;
    else if(cnt < 26'd5000_0000)
//  else if(cnt < 26'd10)  //仅用于仿真
        cnt <= cnt + 1'b1;
    else
        cnt <= 26'd0;
end
endmodule

默认的代码字体较小,可以按照如下序号步骤进行设置。
Vivado软件的使用——以led的交替闪烁为例


三、分析综合

点击RTL ANALYSIS下的Open Elaborated Design等待其分析结果。
Vivado软件的使用——以led的交替闪烁为例
点击Schematic就可以看到由Verilog代码生成的原理图。
Vivado软件的使用——以led的交替闪烁为例
在右上角这里选择I/O Planning,打开后如下,如果不小心关掉了哪个窗口,可以在右上角这里选择Reset Layout恢复
Vivado软件的使用——以led的交替闪烁为例
接下来指派管脚,先分别在原理图中找到对应的管脚,查找如下。
在核心板文件中搜索PL_GCLK,这里对应的管脚为U18。
Vivado软件的使用——以led的交替闪烁为例
在底板文件中搜索PL_RESET,这里对应的管脚为N16。
Vivado软件的使用——以led的交替闪烁为例
LED0和LED1的管脚分别为M14和M15。
Vivado软件的使用——以led的交替闪烁为例
然后指派管脚,因为PL引脚都是3.3V 的,所以这里都选择LVCMOS33,完成后保存,文件名称仍然与工程名保持一致。
Vivado软件的使用——以led的交替闪烁为例
完成后右击RTL ANALYSIS关闭即可。
Vivado软件的使用——以led的交替闪烁为例
下图中圈中的文件就是管脚分配的信息。
Vivado软件的使用——以led的交替闪烁为例
然后点击生成比特流,在弹出的框中数量那里选择最大的,点击OK。
Vivado软件的使用——以led的交替闪烁为例
点击下图中圈中的工程汇总按钮,即可查看生成比特流的进度。
Vivado软件的使用——以led的交替闪烁为例
这里耗时比较长,等待完成后弹出如下窗口。
Vivado软件的使用——以led的交替闪烁为例
选中第三项OK或者直接Cancel。
Vivado软件的使用——以led的交替闪烁为例
如果是选择的是Cancel,可以在左侧这里点击Open Target选择Auto Connect,这里开发板一定要上电并且打开电源开关,否则检测不到。


四、下载及结果展示

在左下方选择Program Device然后选择7020或直接点击上方的Program Device下载。
Vivado软件的使用——以led的交替闪烁为例
在弹出的对话框中默认加载了生成的比特流,点击Program即可完成下载。
Vivado软件的使用——以led的交替闪烁为例
开发板如下图所示。
Vivado软件的使用——以led的交替闪烁为例
程序中控制闪烁的两个LED灯就是上图中圈中的两个,即PL LED1和PL LED2。
程序下载到开发板后的运行结果如下面动图所示。
Vivado软件的使用——以led的交替闪烁为例


总结

以上就是以LED灯交替闪烁为例Vivado软件使用的全部内容了,本文参考视频为:https://www.bilibili.com/video/BV1hP4y1L73N?p=7 & https://www.bilibili.com/video/BV1hP4y1L73N?p=8

上一篇:蓝桥杯单片机——蜂鸣器和继电器(2)


下一篇:linux下Oracle11g RAC搭建(五)