(四)vivado Simulator仿真软件的使用

一、仿真概述

  • 仿真不需要消耗FPGA资源
  • 仿真可以应用于设计流程中的多个阶段。它是设计输入后的第一个步骤,也是实现后的最后一个步骤,作为验证设计的最终功能和性能的一部分。仿真可以应用于设计流程中的多个阶段。它是设计输入后的第一个步骤,也是实现后的最后一个步骤,作为验证设计的最终功能和性能的一部分。
  • 仿真是一个迭代过程,通常会重复进行,直到满足设计功能和时间需求为止。

1、FPGA设计流程

  • 设计输入:包括verilog编写 调用ip核
  • RTL仿真:代码语法检查如果有错误修改设计
  • 设计综合 布局布线:和硬件相关
  • 时序仿真:考虑到总线的延迟 用的不是很多 
  • 时序分析:比较关键
  • 系统上的验证:验证成功就可以在产品上使用了

2、仿真介绍硬件调试简介

功能仿真

功能仿真也称为行为仿真,主旨在于验证电路的功能是否符合设计要求,其特点是不考虑电路门延迟与线延迟,主要是验证电路与理想情况是否一致。也可以叫做RTL仿真

时序仿真

时序仿真也称为布局布线后仿真,是指电路已经映射到特定的工艺环境以后,综合考虑电路的路径延迟与门延迟的影响,验证电路能否在一定时序条件下满足设计构想的过程,能较好地反映芯片的实际工作情况。

二、TB文件编写

`timescale 仿真单位/仿真精度  // 1ns/1ps 

moudle test_bench();

endmoudle

三、实例

  • 右击Simulation Sources  添加 ADdd sources

  •  选择第三个 

 

  • 在tb_led_twinkle中编写TB代码示例 ( by 正点原子)
`timescale 1ns / 1ps  //仿真单位/精度
//
// Company: 
// Engineer: 
// 
// Create Date: 2022/08/05 15:10:07
// Design Name: 
// Module Name: tb_led_twinkle
// Project Name: 
// Target Devices: 
// Tool Versions: 
// Description: 
// 
// Dependencies: 
// 
// Revision:
// Revision 0.01 - File Created
// Additional Comments:
// 
//


module tb_led_twinkle();

reg   	 sys_clk;
reg      sys_rst_n;

wire [1:0]  led ;

initial begin
	sys_clk = 1'b0;
	sys_rst_n =	1'b0;
	#200
	sys_rst_n =	1'b1;
end

always #10 sys_clk = ~sys_clk;

led_twinkle u_led_twinkle(
    .sys_clk     (sys_clk),
    .sys_rst_n   (sys_rst_n),

    .led         (led)
);

endmodule
  • 通过仿真检查

  • 手动添加

  •  led选择无符号的十进制显示

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值