Vivado简介

Vivado设计套件是FPGA厂商Xilinx开发的一套集成设计环境,该设计套件功能强大,目前最新的为Vivado Design Suite - HLx 2020.2版本。1

Vivado集成了仿真工具,不像Quartus不自带仿真工具,需要借助第三方仿真工具如Modelsim来查看仿真结果。本设计流程采用的版本为Vivado 2017.4。安装包放在百度网盘内,有需要下载的小伙伴请自取:链接:https://pan.baidu.com/s/1HVIqs1FEz_ugPy9Kwt1Z1Q 提取码:JK82 。

建立工程

首先打开系统菜单栏,点开文件夹Xilinx design tool,双击图标Vivado 2017.4,打开Vivado。
在这里插入图片描述
在这里插入图片描述
出现Vivado初始界面,然后点击Quick Start里面的Create Project。
在这里插入图片描述
出现工程建立向导对话框,点击next:
在这里插入图片描述
这个时候你要给整个工程起一个名字,指定该工程所保持的路径。为了整个工程能顺利地编译通过,工程名字最好起英文名字,不要出现中文字符,保存路径也尽量为英文。这个我们将整个工程命名为nand_project。默认勾选create project subdirectory,此时会在保存路径中创建一个以工程名为文件名的子文件夹,用来存放编译工程时所产生的文件,点击next。
在这里插入图片描述
在这里插入图片描述
默认勾选第一项,创建一个RTL Project。点击next。
在这里插入图片描述
进入到add source界面,这里我们点击create file,创建一个Verilog文件。
在这里插入图片描述
将Verilog文件命名为nand_gate,点击OK后,可以看到该Verilog文件就被添加到工程里面了。
在这里插入图片描述点击next,为工程添加约束,这里我们不需要添加任何约束。
在这里插入图片描述
点击next,选择FPGA型号,这里可以根据实际需要选择具体的FPGA型号,这里我们选择xa7atcpg236-2I,点击next。
在这里插入图片描述
在这里插入图片描述
这里可以看到整个工程的总结信息,点击finish,完成工程的创建,进入到主界面。
在这里插入图片描述
弹出定义模块对话框,为该模块定义输入输出端口,这里我们点击cancel,直接在Verilog文件中定义输入输出端口。
在这里插入图片描述
点击yes,进入到工程主界面。
在这里插入图片描述
可以看到除了菜单栏外,整个界面分为四个子窗口。
双击source窗口内,design source下的nand_gate.v文件,进入到Verilog文件编辑界面。
在这里插入图片描述
与非逻辑的Verilog代码如下:

module nand_gate(data_1, data_2, data_out); //端口列表

input data_1, data_2; //输入
output reg data_out; //输出

//描述一个组合逻辑电路
always @ (*)
begin
data_out =~ (data_1 && data_2); //与非逻辑
end

endmodule

这里的模块名和Verilog名一致,博主本科用的是quartus,quartus要求工程名,Verilog文件名及模块名必须一致才能编译通过,但是vivado好像不需要满足这一要求,博主试着将模块命名为其他名称,也可以编译通过,仿真结果正确。

编辑好Verilog代码后,点击保存按钮。

接下来我们为工程添加testbench,用来验证结果的正确性。
右键simulation source,点击add source 为工程添加测试文件。
在这里插入图片描述
在这里插入图片描述
点击next,
在这里插入图片描述
点击create file,将文件命名为nand_gate_testbench
在这里插入图片描述
点击ok。
在这里插入图片描述
点击finish。弹出定义模块对话框,这里我们还是选择忽略,通过Verilog代码来定义模块的输入输出端口。
在这里插入图片描述
点击simulation source 下的nand_gate_testbench文件,进入测试文件编辑界面:
在这里插入图片描述测试Verilog代码如下:

`timescale 1ns / 1ps

module nand_gate_testbench;

reg data_1, data_2; //定义输入寄存器
wire data_out; //定义输出线型

nand_gate nand_gate_dut( //设计模块端口例化
 .data_1(data_1),
 .data_2(data_2),
 .data_out(data_out)
 );

 initial begin //描述数据流的变化
 data_1 = 0;data_2 = 0;
 #200
 data_1 = 1;data_2 = 0;
 #200
 data_1 = 0;data_2 = 1;
 #200
 data_1 = 1;data_2 = 1;
 #200
 data_1 = 0;data_2 = 0;
 #200
 $stop; //系统任务停止
 end

 endmodule

点击保存之后,就可以对整个工程进行行为仿真了:
在这里插入图片描述
右键simulation source 下的sim_1,点击run simulation 下的run behavior simulation。
在这里插入图片描述
在弹出的仿真界面,点击untitled1窗口,在点击zoom fit (上图中红色标注),就可以看到仿真波形窗口。
仿真结果如下:
在这里插入图片描述
通过分析,可知仿真结果正确。
至此,利用vivado工具仿真的最基本流程就结束了。


  1. https://china.xilinx.com/support/download.html ↩︎

Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐