q20005 发表于 2010-10-13 10:05:27

modelsim仿真问题 输出为X

小弟编了一个很简单的时钟分频程序 在quartus上的功能仿真中可以仿出波形 但是在modelsim中却没有波形

工程顶层模块入口为clkdiv.v   clkdiv_test.v为在工程下建立的又一.v文件

分频代码如下:
module clkdiv(out,clk);
input clk;
output out;

reg i;


always@(posedge clk)
begin
i<=i+1'b1;
end
assign out=(i==1)? 1'b1:1'b0;

endmodule


测试代码如下:

`timescale 1ns / 1ps
module clkdiv_test;
reg mclk;
wire q;
always#10 mclk=~mclk;
initial
begin
mclk=0;
end
clkdiv clkdiv(
.clk (mclk),
.out    (q) );
endmodule

请教各位 为什么modelsim的输出始终是X?

http://cache.amobbs.com/bbs_upload782111/files_34/ourdev_589377KVQNJM.png
quartus功能仿真波形 (原文件名:11.png)

http://cache.amobbs.com/bbs_upload782111/files_34/ourdev_589378W9VECK.png
modelsim仿真波形 (原文件名:22.png)

bad_fpga 发表于 2010-10-13 10:07:38

modelsim 仿真的时候值要确定才行,即最好要初始化任何值
always@(posedge clk)
begin
i<=i+1'b1;
end

i 赋个初值试下

p.nicholas 发表于 2010-10-13 10:40:22

i没初值,所以是x,用复位信号为i赋个初值

seemrain 发表于 2010-10-13 11:21:10

一般来说弄个复位会比较好一点。

q20005 发表于 2010-10-13 14:32:29

问题已解决 就是i没有初值谢谢

kzyemc 发表于 2011-10-29 17:24:50

多谢!
页: [1]
查看完整版本: modelsim仿真问题 输出为X