集成电路技术分享

 找回密码
 我要注册

QQ登录

只需一步,快速开始

搜索
查看: 3108|回复: 5

测试模块怎样编写

[复制链接]
荼茶茶 发表于 2011-5-9 15:53:40 | 显示全部楼层 |阅读模式
用modelsim仿真,总是要编写测试模块,想要问个很弱智的问题,哪位仁兄能介绍一下测试模块,以及测试模块怎样编写?
不胜感激~~~~
至芯兴洪 发表于 2011-5-9 20:57:24 | 显示全部楼层
给你个简单的例子吧
功能模块的输入信号就是我们要在测试模块中编写的输出信号,意思就是测试的激励信号有testbench中的输出给出
如下为二分频功能模块
module div(clk,rst,clk_out
       );
input clk;
input rst;
output clk_out;
reg clk_out;

always @(posedge clk or negedge rst)
begin
   if(!rst)
         clk_out<=0;
  else
         clk_out<=~clk;
end

endmodule

测试模块如下
`timescale 1ns/1ns //不可缺少此语句
module test;
reg  clk;//输出给功能模块的激励信号在initial中应用要定义成reg型
reg rst;
wire clk_out;//功能模块的输出信号定义成wire型
initial
begin
   clk=0;//clk初始化
   rst=1;//产生rst信号,初始为高电平,
  #7 rst=0;//过7ns秒后变为低电平
#11 rst=1;//过11ns后变为高电平
#1000 $stop;//过1000ns后停止激励信号变化输出
end

always #10 clk=~clk;//产生周期变化的时钟信号

div div (.clk(clk),.rst(rst),.clk_out(clk_out));// 例化功能模块,实现信号之间的链接,信号一一对应,信号个数不可多也不可少;

endmodule
luckymiaojw 发表于 2011-5-9 22:38:27 | 显示全部楼层
楼上的例子很好,你首先明白你做测试的目的是什么?
一般做测试程序就是为你的主程序提供输入激励信号,然后你看看夏老师的书,再根据你主程序的需要提供相应的信号就好了。
至芯兴洪 发表于 2011-5-9 22:59:34 | 显示全部楼层
我也再建议下,编写测试多看看夏老师书后面的十二个例子,由浅入深,里面有很多好的编写方法,会让你受益良多
 楼主| 荼茶茶 发表于 2011-5-10 11:00:58 | 显示全部楼层
回复 4# 至芯兴洪


    感谢感谢!谢谢指导~~~
 楼主| 荼茶茶 发表于 2011-5-10 11:01:30 | 显示全部楼层
回复 3# luckymiaojw


    恩!好的!谢谢~~~
您需要登录后才可以回帖 登录 | 我要注册

本版积分规则

关闭

站长推荐上一条 /1 下一条

QQ|小黑屋|手机版|Archiver|fpga论坛|fpga设计论坛 ( 京ICP备20003123号-1 )

GMT+8, 2025-6-23 06:16 , Processed in 0.064788 second(s), 19 queries .

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表