testbench仿真文件编写规则

编写TESTBENCH的目的是为了对使用硬件描述语言设计的电路进行仿真验证,测试设计电路的功能、性能与设计的预期是否相符。编写测试文件的过程如下: (1)产生模拟激励(波形); (2) 将产生的激励加入到被测试模块中并观察其响应; (3) 将输出响应与期望值相比较。

一,各部分写法

1,testbench文件结构

module Test_bench();//通常无输入无输出
信号或变量声明定义
逻辑设计中输入对应 reg 型
逻辑设计中输出对应 wire 型
使用 initial 或 always 语句产生激励
例化待测试模块
监控和比较输出响应
endmodule

2,时钟激励设计

/*时钟激励产生方法一:50%占空比时钟*/
parameter ClockPeriod=10;
initial
    begin
    clk_i=0;
forever#(ClockPeriod/2) clk_i=~clk_i; end

/* 时钟激励产生方法二:50%占空比时钟*/
initial
begin
    clk_i=0; 
end
always #(ClockPeriod/2) clk_i=~clk_i;

/* 时钟激励产生方法四:产生固定数量的时钟脉冲*/
initial
begin
clk_i=0; repeat(6)
#(ClockPeriod/2) clk_i=~clk_i; end

/*时钟激励产生方法五:产生非占空比为50%的时钟*/
initial
begin
    clk_i=0;
    forever
begin
#((ClockPeriod/2)-2) clk_i=0;
#((ClockPeriod/2)+2) clk_i=1; 
end
end

相关推荐

  1. testbench仿真文件编写规则

    2024-06-11 03:28:02       18 阅读
  2. 认识Testbench仿真激励

    2024-06-11 03:28:02       29 阅读
  3. FPGA TestBench编写学习

    2024-06-11 03:28:02       26 阅读
  4. 【C++】编程规范之函数规则

    2024-06-11 03:28:02       24 阅读
  5. 【C++】编程规范之内存规则

    2024-06-11 03:28:02       20 阅读
  6. ASPICE SYS3架构设计文档编写规范

    2024-06-11 03:28:02       28 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-06-11 03:28:02       5 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-06-11 03:28:02       5 阅读
  3. 在Django里面运行非项目文件

    2024-06-11 03:28:02       4 阅读
  4. Python语言-面向对象

    2024-06-11 03:28:02       6 阅读

热门阅读

  1. 头歌初识redis答案

    2024-06-11 03:28:02       15 阅读
  2. 机器人--矩阵运算

    2024-06-11 03:28:02       13 阅读
  3. 苹果智能:iOS 18 AI增强功能

    2024-06-11 03:28:02       18 阅读
  4. MySQL goInception 记录

    2024-06-11 03:28:02       17 阅读
  5. TrustZone 详解

    2024-06-11 03:28:02       13 阅读
  6. tf处理序列常用函数

    2024-06-11 03:28:02       17 阅读
  7. 期末测试补题报告

    2024-06-11 03:28:02       19 阅读
  8. 04-4.2.4 KMP 算法的进一步优化

    2024-06-11 03:28:02       14 阅读