当前位置:   article > 正文

vivado工程创建及工程测试testbench教程_vivado bench

vivado bench

vivado工程创建及工程测试testbench教程

一、工程创建

按如下30步流程即可创建并完成仿真

在这里插入图片描述
在这里插入图片描述
第三步对工程命名

在这里插入图片描述
在这里插入图片描述
第七步搜索你的FPGA板型号

在这里插入图片描述
在这里插入图片描述
此处右键design sources选择出现的add sources

在这里插入图片描述
此处为design sources

在这里插入图片描述
在这里插入图片描述
第十四步对你的design sources命名

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
第十八步双击design sources中你创建的文件

在这里插入图片描述
这里我绑定了notepad++,因此自动跳转到notepad++,因为vivado自带的编辑页面很不舒服,因此建议绑定一个你习惯的编辑器,notepad++、vs等等都可以,具体教程网上都有,很简单

这里进行代码的编辑例如:
(该程序具体用法看上篇博客)

module L1C(
        clk,
		work,
		l1c,
		code
//端口列表
    );
input clk;
input work;
input [5:0]l1c;
output code;
wire   code;    
//I/O端口说明
reg  [5:0]r0; //寄存器RO
wire feedback; //反馈值
//中间变量定义
// -----------------------------------------------------------------------------------------------------
// ------------------------------Code Generator Part ---------------------------------------------------
// -----------------------------------------------------------------------------------------------------
always @(posedge clk) //clk上升沿及rst下降沿执行操作
   begin
     if(!work)
   begin
     r0 <= l1c;
   end else
   begin
     r0 <= {r0[4:0],feedback};
   end
   end
assign feedback = r0[2] ^ r0[5];  //反馈值
assign code = r0[5];              //输出值
endmodule
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32

程序写完记得保存

在这里插入图片描述
第十九步点击SYNTHESIS中的Run Synthesis
这样系统会自动帮你检查代码是否错误

在这里插入图片描述
出现complete,表明程序没问题

二、工程测试testbench

接下来介绍测试工程的创建
在这里插入图片描述
此处右键simulation sources点击add sources

在这里插入图片描述
第二十二步点击simulation sources
在这里插入图片描述
第二十五步为测试文件命名

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
第29步双击simulation sources中你所创建的测试文件

在这里插入图片描述
弹到编辑页面,在该页面中进行声明赋值,具体内容讲解如下:

module L1C_tb();
reg clk;
reg work;
reg [5:0]l1c;
wire code;
//此处声明测试文件变量,不是在()中声明

//下面调用源文件格式为 <源文件名字><自命名>()
//括号内进行源文件和测试文件中输入输出变量对应
L1C tsh(
	   .clk(clk),
	   .work(work),
	   .l1c(l1c),
	   .code(code)
	   );
	   
	   initial begin //此处对输入变量初始化,赋值
	   clk = 1;
	   l1c = 6'b111111;//我们的老朋友l1c就是在此处进行初始化
	   work = 0;
	   # 10          //此处为10ns之后work变成1,开始反馈移位操作
	   work = 1;
	   end
	   always #10 clk = ~clk; //此处为每过10ns clk零一跳转一次
endmodule
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25

程序写完记得养成点保存的习惯

在这里插入图片描述
此处点击SIMULATION中的Run Simulation

在这里插入图片描述
如图即为我们的仿真图形,其code在每个clk上升沿输出一次

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/菜鸟追梦旅行/article/detail/481268
推荐阅读
相关标签
  

闽ICP备14008679号