这个Modelsim中的测试文件怎么写??

这个Modelsim中的测试文件怎么写??,第1张

`timescale 1ns/烂悉宽饥亮陆毁10ps

module TestFile

reg clk

wire[1:0] m

wire[2:0] n

gen_data aabb(clk,m,n)

initial

begin

clk = 0

end

always #100 clk = ~clk

endmodule

以下 *** 作在ModelSim SE PLUS 6.2b中完成

1.新建一个工程 file ->new ->project... 此时会d出一个Creat Project对话框,输入一个工程名,选择保存路径 (不要包含中文),其他默认就行了

2.点OK后会d喊段猛出一个Add items to the Project,里面有几个可选项,应该燃桐很容易明白

3.添加好文件后,点郑桥close把Add items to the Project对话框关闭,这时在左侧的workspace的project窗口里可以看到刚才添加的文件,双击可以打开这些文件进行编辑,编辑好后保存

4.右击刚才编辑好的文件compile ->compile select(或根据自己需要选其他项),如果没有错误,则在底部的命令窗口可以看到编译成功的消息(呈绿色),否则会出现出错的消息(呈红色),双击它会d出一个更具体的窗口提示你出错的地方.

5.修改所有错误直到编译成功.这时可以在菜单栏选择Simulation ->Start simulatio... 这时会d出一个Start simulatio的对话框,在Design的标签下你会看到有很多库,展开work库会看到刚才编译成功的文件(如果有多个文件的话选择一个你想仿真的,比如测试程序,这时底部的OK会由刚才的不可用变成可用的),然后把Opitimization选项下的Enable opitimization前复选取消(这样可以保证过会儿所有的输入输出都可以看到,你可以试试不取消这项有何区别),然后点OK就行了.

6.选择view ->Objects就可以看到你想仿真的各个量,选中它们并右击Add to wave ->Selected signals,这时就会d出一个波形仿真窗口.如果你的测试文件写得没问题的话就可以看到仿真波形,你也可以观察底部的命令窗口察看相关信息.

7.如果没写测试文件的话,在波形仿真窗口右击相关信号,选择force...设置想仿真的值或clock...把该量设置为时钟,然后点工具栏上的Run或Simulation菜单下的Run.

首先,在测试模块下,你的输入时钟为clk_in,而不是clk,所以应该把   clk = ~clk;替换为clk_in=~clk_in在哗穗友initial下把clk=0改成clk_in=0;另外,在modelsim下创建testbench的时候,由source——>show language templates可以得到测试模族橡块的模板,只需对输入进行定义和初始化,以下是我做修改后在modelsim6.2下的测试模块的程序:

`timescale 1ns/100ps

`define clk_cycle 50

module half_clk_tb  

reg    clk_in   

wire    clk_out   

reg    reset   

always  #`clk_cycle  clk_in = ~clk_in

initial

begin

clk_in = 0

reset = 1

#100 reset = 0

#100 reset = 1

#10000 乱槐$stop

end

half_clk

half_clk   (

.clk_in (clk_in ) ,

.clk_out (clk_out ) ,

.reset (reset ) )

endmodule

以下插图是我仿真后的结果:


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

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

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

发表评论

登录后才能评论

评论列表(0条)

保存