- 1、本文档共26页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
verilog testbench 写法
Verilog测试平台(testbench)技术(一) 收藏
Verilog语言描述的设计模块,最好的方法自然同样是用Verilog语言对待测模块施加激励和检测模块的输出响应。实际应用中,Verilog测试平台(testbench)就是用来提供上述功能的。Verilog测试平台是一个例化的待测(MUT)Verilog模块,给它施加激励并观测其输出。由于测试平台是用Verilog语言描述 的,因此可以应用到不同的仿真环境中。待测模块和与之对应的测试平台组成一个仿真模型,应用这个模型可以在不同的测试环境中用相同的激励对待测模块进行调试。下面就对不同电路类型分别介绍verilog测试平台的语言结构。
?
一、测试平台
1.组合电路测试
设计组合电路的测试平台时,待测模块及其功能决定了激烈的选择与测试次数。
对于一个已有的待测模块,测试平台中需要声明与待测模块输入输出端口对应的变量。与输入端口相连接的变量定义为reg,与输出端口相连接的变量定义为wire,例化时将测试平台中声明的变量与待测模块的输入输出端口相关联。使用initial语句控制程序运行,initial语句是一种过程结构,在initial块中可使用延迟控制语句来控制initial块中的程序流动。
这里对一个简单的算术逻辑单元(ALU)为例进行测试,下面是该单元Verilog描述。
/*************************************************************************/
//多动能ALU的Verilog代码
timescale 1ns/100ps
?
module alu_4bit(a,b,f,oe,y,p,ov,a_gt_b,a_eg_b,a_lt_b);
?
input [3:0] a,b;
input [1:0] f;
input oe;
input [3:0] y;
output p,ov,a_gt_b,a_eg_b,a_lt_b;
?
reg [4:0] im_y;
always @(a or b or f)
begin
ov=1b0;
im_y=0;
case(f)
2b00:
begin
im_y=a+b;
if(im_y5b01111)
ov=1b1;
end
2b01:
begin
im_y=a-b;
if(im_y5b01111)
ov=1b1;
end
2b10:
im_y[3:0]=ab;
2b11:
im_y[3:0]=a^b;
default:
im_y[3:0]=4b0000;
endcase
end
always @(a or b)
begin
if(ab)
{a_gt_b,a_ge_b,a_lt_b}=3b100;
else if(ab)
{a_gt_b,a_ge_b,a_lt_b}=3b001;
else
{a_gt_b,a_ge_b,a_lt_b}=3b010;
end
assign p=^im_y[3:0];
assign y=oe?im_y[3:0]:4bz;
?
endmodule
/*************************************************************************/
模块alu_4bit是四功能的算术逻辑单元,输入包括数据信号a、b和功能信号f,输出包括数据信号y和ALU生成的奇偶校验信号p、溢出信号ov及比较信号。
下面代码描述了alu_4bit模块的测试平台。
/*************************************************************************/
module test_alu_4bit;
reg [3:0] a=4b1011,b=4b0110;
reg [1:0] f=2b00;
reg oe=1;
wire [3:0] y;
wire p,ov,a_gt_b,a_eg_b,a_lt_b;
?
alu_4bit cut(a,b,f,oe,y,p,ov,a_gt_b,a_eg_b,a_lt_b);
?
initial
begin
#20 b=4b1011;
#20
您可能关注的文档
- 大学英语四级翻译新题型9.ppt
- 报销单书写要求.doc
- 三、翻译原则即厘定.ppt
- 翻译功能学派.pptx
- 工厂供电系统的类型及1其设计的基本知识.ppt
- 简爱翻译评析完整版.ppt
- II、III期临床试验流程简介.ppt
- 中西翻译史对比.ppt
- Unit1 Lesson2 The Lost Generation 美英报刊选读.ppt
- 时文及其翻译.ppt
- 数学六年级下册第三单元《解决问题的策略》单元复习精选题(一).pdf
- 威海市语文六年级下册期末复习试题(含答案).pdf
- 安徽省灵璧县重点名校2024年中考三模英语试题含答案.pdf
- 广东广州花都区2024年四年级英语第二学期期中联考试题含答案.pdf
- 机电一体化项目职业技能大赛试题(SX-815Q).pdf
- 小学数学《分数除法》50道应用题包含答案(审定版).pdf
- 生产经营单位安全培训考试题及参考答案(典型题).pdf
- 小学六年级数学日记10篇.pdf
- 山东省威海市文登市六年级(上)年末数学试卷(五四学制)(解析版).pdf
- 山西省吕梁市交城县2023-2024学年七年级上学期期中地理试卷(含答案).pdf
文档评论(0)