怎么写verilog 测试程序

怎么写verilog 测试程序,第1张

给你写一个例子,下面是一个设计文件和一个对应的测试程序,希望能起到抛砖引玉的和用:

/*

File Name : test.v

Author: www.flxc.net

Data : 2010-10-14 20:20:52

Description : This module is to shift the 32 bit input data with clock edges.

*/

`timescale 1ns/1ns

`define period 10

module test(

clk,

rst_n,

data_i,

data_o

)

input clk

input rst_n

input [31:0] data_i

output [31:0] data_o

reg [31:0] data_o

always@(posedge clk or negedge rst_n)

beg

if(!rst_n)

data_o <= 32'b0

else

data_o <= data_i >>1

end

endmodule

module test_tb

reg clk

reg rst_n

reg [31:0] data_i

wire [31:0] data_o

initial

begin

clk=1'b1

rst_n=1'b1

data_i=32'b1010_1111_1000_1111_1111_0000_0001_0000

#(`period/3)

rst_n=1'b0

#(`period/3)

rst_n=1'b1

#100000000

$stop

end

always #(`period/2) clk=~clk

endmodule

我认为测试程序是类似于testbench,只能潜入的去测试一下设计的功能等,要实现全面的测试实现较复杂,但是验证程序即搭建验证平台,可以全方位的去测试设计的每一个细节,实现全面测试,其通过随机可以覆盖整个设计的功能等,还能采集覆盖率等信息来确定设计的完备性。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/11386900.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-15
下一篇 2023-05-15

发表评论

登录后才能评论

评论列表(0条)

保存