ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

Vivado行为仿真基本流程(入门级)----- 以与非门逻辑功能为例

2021-03-24 10:30:29  阅读:539  来源: 互联网

标签:仿真 工程 为例 Vivado 点击 ----- Verilog data


目录

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 ↩︎

标签:仿真,工程,为例,Vivado,点击,-----,Verilog,data
来源: https://blog.csdn.net/qq_37654178/article/details/115128759

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有