1 / 21
文档名称:

精品-优秀PPT课件--北大数字集成电路课件--15_Verilog-testbench的写法.ppt

格式:ppt   页数:21
下载后只包含 1 个 PPT 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

精品-优秀PPT课件--北大数字集成电路课件--15_Verilog-testbench的写法.ppt

上传人:wz_198616 2014/11/30 文件大小:0 KB

下载得到文件列表

精品-优秀PPT课件--北大数字集成电路课件--15_Verilog-testbench的写法.ppt

文档介绍

文档介绍:数字集成电路设计入门
--从HDL到版图
于敦山
北大微电子学系
第十五章 Verilog Test Bench使用简介
学习内容:
用一个复杂的test bench复习设计的组织与仿真
建立test bench通常使用的编码风格及方法
设计组织
虚线表示编译时检测输入文件是否存在及可读并允许生成输出文件。
test bench组织
简单的test bench向要验证的设计提供向量,人工验证输出。
复杂的test bench是自检测的,其结果自动验证。
stimulus
要验证的设计
简单的test bench
复杂的test bench
激励
验证结果
要验证的设计
并行块
fork…join块在测试文件中很常用。他们的并行特性使用户可以说明绝对时间,并且可以并行的执行复杂的过程结构,如循环或任务。
module inline_ tb;
reg [7: 0] data_ bus;
// instance of DUT
initial fork
data_bus = 8'b00;
#10 data_bus = 8'h45;
#20 repeat (10) #10 data_bus = data_bus + 1;
#25 repeat (5) #20 data_bus = data_bus << 1;
#140 data_bus = 8'h0f;
join
endmodule
上面的两个repeat循环从不同时间开始,并行执行。象这样的特殊的激励集在单个的begin…end块中将很难实现。
Time | data_ bus
0 | 8’b0000_0000
10 | 8’b0100_0101
30 | 8’b0100_0110
40 | 8’b0100_0111
45 | 8’b1000_1110
50 | 8’b1000_1111
60 | 8’b1001_0000
65 | 8’b0010_0000
70 | 8’b0010_0001
80 | 8’b0010_0010
85 | 8’b0100_0100
90 | 8’b0100_0101
100 | 8’b0100_0110
105 | 8’b1000_1100
110 | 8’b1000_1101
120 | 8’b1000_1110
125 | 8’b0001_1100
140 | 8’b0000_1111
包含文件
包含文件用于读入代码的重复部分或公共数据。
module clk_gen (clk);
output clk; reg clk;
`include ""
initial begin
while ($ time < sim_end)
begin
clk = initial_clock;
#(period/2) clk = !initial_clock;
#(period/2);
end
$finish;
end
endmodule
在上面的例子中,公共参数在一个独立的文件中定义。此文件在不同的仿真中可被不同的测试文件调用。
// common. txt
// clock and simulator constants
parameter initial_clock = 1;
parameter period = 15;
parameter max_cyc = 100;
parameter sim_end = period * max_cyc
施加激励
产生激励并加到设计有很多种方法。一些常用的方法有:
从一个initial块中施加线激励
从一个循环或always块施加激励
从一个向量或整数数组施加激励
记录一个仿真过程,然后在另一个仿真中回放施加激励
线性激励
线性激励有以下特性:
只有变量的值改变时才列出
易于定义复杂的时序关系
对一个复杂的测试,测试基准(test bench)可能非常大
module inline_ tb;
reg [7: 0] data_ bus, addr;
wire [7: 0] results;
DUT u1 (results, data_ bus, addr);
initial
fork
data_bus = 8'h00;
addr = 8'h3f;
#10 data_ bus = 8'h45;
#15 addr = 8'hf0;
#40 data_ bus = 8'h0f;
#60 $finish;
join
endmodule
循环激励
从循环产生激励有以下特性:
在每一次循环,修改同一组激励变量
时序关系规则
代码紧凑
module loop_tb;
reg clk;
r

最近更新

2023年茂名职业技术学院单招职业技能考试题库.. 42页

2023年贵州省黔南布依族苗族自治州单招职业倾.. 40页

2023年遂宁职业学院单招职业技能考试题库完美.. 40页

2023年重庆市达川地区单招职业倾向性考试题库.. 39页

2023年防城港职业技术学院单招职业技能考试题.. 40页

2023年黄河交通学院单招职业技能考试题库附答.. 41页

2024年万博科技职业学院单招职业适应性测试模.. 39页

2026年保安暂时离职申请书 5页

2024年上海中侨职业技术大学单招职业适应性考.. 40页

2024年上海大学单招综合素质考试模拟测试卷及.. 40页

2024年上海师范大学天华学院单招职业倾向性考.. 40页

2026年促销活动策划方案创意商家活动方案 15页

2024年上海电机学院单招职业倾向性考试题库汇.. 40页

2026年促销员年终工作报告 7页

2024年中山火炬职业技术学院单招职业技能测试.. 40页

2024年九江职业技术学院单招职业适应性考试模.. 40页

2024年云南机电职业技术学院单招职业技能测试.. 40页

2024年云南经贸外事职业学院单招职业倾向性考.. 40页

2024年亳州职业技术学院单招职业倾向性测试模.. 40页

2024年佳木斯职业学院单招职业倾向性测试题库.. 40页

2024年信阳艺术职业学院单招职业倾向性考试题.. 39页

2024年兰州科技职业学院单招职业技能测试题库.. 40页

2024年内蒙古丰州职业学院单招职业适应性测试.. 39页

2024年内蒙古包头市单招职业适应性测试模拟测.. 41页

2026年传统节日春节的作文500字 5页

2024年北京戏曲艺术职业学院单招综合素质考试.. 39页

2024年华东政法大学单招职业倾向性考试模拟测.. 40页

2024年南京工业职业技术大学单招职业倾向性考.. 41页

ZR-003 建设单位法人授权书 1页

2023年四川省凉山州数学中考真题试卷【含答案.. 32页