文章目录
前言
本文的主要内容是Vivado软件的使用,参考的资料是正点原子录制的视频以及其提供的资料,通过led灯交替闪烁这个例子来熟悉使用Vivado软件。
一、创建工程
首先在电脑的某个盘符下新建一个文件夹用来存放Vivado工程文件,注意该文件夹的完整路径不能包含中文,并且文件夹的名称符合命名规范,即名称中只能含数字、字母以及下划线。
如下图,我在G盘下新建了名为ZYNQfiles的空文件夹。
打开Vivado 2018.3软件,显示界面如下图。
选择Create Project,在弹出的对话框中选择Next,接着出现如下对话框。
在Project location中选择步骤1中建好的文件夹路径,在Project name这里输入工程名,一般要求工程名能够反映实验功能,这里要做的实验是led的闪烁实验,所以工程名这里输入led_twinkle,其他默认,点击Next。
在弹出的框中选择RTL,并且勾选“此时不定义源文件”,接着点击Next。
接下来的对话框是选择开发板的器件型号,我这里使用的是ZYNQ-7020开发板。
ZYNQ-7020开发板型号选择:xc7z020clg400-2
ZYNQ-7010开发板型号选择:xc7z010clg400-1
如下图,直接在搜索栏输入xc7z020clg400-2即可唯一的出现该型号,选择后即可进入下一步。
这样直接输入比较麻烦,也可以通过筛选然后进行选择,如下图。
如果是7010开发板,在Speed那里选择-1即可选择对应的型号。
上面的型号确认选择无误后Next,弹出工程汇总对话框,如下图所示。
确认没有错误后点击Finish即可完成工程的创建,创建成功后的界面如下图所示,如果自己在创建工程的过程中选错了型号,可按照下图中标注的序号依次点击选择正确的型号。
到这里工程就创建完成了。
二、添加模块
首先添加资源,选择Add Sources或者Sources下的 + 弹出如下对话框,选择Add or create design sources,然后进入下一步。
接下来创建一个新的文件,文件名与工程名保持一致,点击OK。
上述步骤完成后弹出如下对话框,点击Finish即可完成模块的创建。
点击Finish后弹出定义模块的对话框,点击OK,然后选择Yes即可。
双击Sources下的模块,就看到了创建好的Verilog代码。
输入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
默认的代码字体较小,可以按照如下序号步骤进行设置。
三、分析综合
点击RTL ANALYSIS下的Open Elaborated Design等待其分析结果。
点击Schematic就可以看到由Verilog代码生成的原理图。
在右上角这里选择I/O Planning,打开后如下,如果不小心关掉了哪个窗口,可以在右上角这里选择Reset Layout恢复。
接下来指派管脚,先分别在原理图中找到对应的管脚,查找如下。
在核心板文件中搜索PL_GCLK,这里对应的管脚为U18。
在底板文件中搜索PL_RESET,这里对应的管脚为N16。
LED0和LED1的管脚分别为M14和M15。
然后指派管脚,因为PL引脚都是3.3V 的,所以这里都选择LVCMOS33,完成后保存,文件名称仍然与工程名保持一致。
完成后右击RTL ANALYSIS关闭即可。
下图中圈中的文件就是管脚分配的信息。
然后点击生成比特流,在弹出的框中数量那里选择最大的,点击OK。
点击下图中圈中的工程汇总按钮,即可查看生成比特流的进度。
这里耗时比较长,等待完成后弹出如下窗口。
选中第三项OK或者直接Cancel。
如果是选择的是Cancel,可以在左侧这里点击Open Target选择Auto Connect,这里开发板一定要上电并且打开电源开关,否则检测不到。
四、下载及结果展示
在左下方选择Program Device然后选择7020或直接点击上方的Program Device下载。
在弹出的对话框中默认加载了生成的比特流,点击Program即可完成下载。
开发板如下图所示。
程序中控制闪烁的两个LED灯就是上图中圈中的两个,即PL LED1和PL LED2。
程序下载到开发板后的运行结果如下面动图所示。
总结
以上就是以LED灯交替闪烁为例Vivado软件使用的全部内容了,本文参考视频为:https://www.bilibili.com/video/BV1hP4y1L73N?p=7 & https://www.bilibili.com/video/BV1hP4y1L73N?p=8。