Modelsim-Altera SE时序仿真,一信号某几位始终处于高阻态

如题,本人用Modelsim-Altera SE 10.1d或者10.1e做时序仿真的时候,在TestBench输出到module的信号始终有几个位处于高阻态,网上找了所谓的添加库altera_mf和altera_lnsim都没有用,从程序源码来看,也不是初值引起的问题,实在是不知道问题出在哪? 整个程序就是为了验证一个28位/18位的除法器。
求大神指点,下面是源码和仿真截图:
//testbench.v
`timescale 1ns/100psmodule testbench( input clk, output wire [27:0] C, output reg first);reg [27:0] A ;reg [17:0] B ;reg [3:0] cnt ;initialbeginA = 28'D15000;B = 18'd10000;cnt = 4'd0;first = 1'b0;end
always @(posedge clk)begin if(!first) begin first <= 1'b1; A <= 28'D3224000; B <= 18'd10000; end cnt <= cnt + 4'd1; if(cnt == 9) begin A <= A + 28'HFF; B <= B +18'hF; cnt <= 0; endenddiv divd( .clk(clk), .A(A), .B(B), .C(C));endmodule

//div.v
module div( input clk, input [27:0] A, input [17:0] B, output reg [27:0] C);wire [27:0] D;assign D = A / B;always @(posedge clk)begin C <= D;end endmodule

clk为自己添加的输入激励,100MHz,别说是频率太高的原因,因为低到1MHz的频率,我也试过,还是一样,没有任何效果。

看你写的代码感觉很多语法问题,一般情况下输入端没有被赋予初值在modelsim仿真时就会是高组态,对比A和B,A是高组态,B不是,就噶西安你的testbench代码中给A赋值时,“ ’ ”号后面的的进制数写成大写了,你可以将他们都改成小写试试。你的输出高组态,我觉得是div代码中” output reg [27:0]C; “这句代码有问题,C是输出应该是wire型,而不是寄存器型,说到这里你在testbench代码中也将A和B用成reg型,感觉这样不合理。不知道能不能解决你的问题,但是帮你看看语法,可以再仿真试试,你自己也可以在仿真编译的时候留意下编译栏看有没有报错或者警告。如果还有问题请留言。
温馨提示:内容为网友见解,仅供参考
无其他回答

Modelsim-Altera SE时序仿真,一信号某几位始终处于高阻态
看你写的代码感觉很多语法问题,一般情况下输入端没有被赋予初值在modelsim仿真时就会是高组态,对比A和B,A是高组态,B不是,就噶西安你的testbench代码中给A赋值时,“ ’ ”号后面的的进制数写成大写了,你可以将他们都改成小写试试。你的输出高组态,我觉得是div代码中” output reg [27:0]C...

modelsim 时序仿真 run -all后提示如下,不出波形,请问是哪里错了?只...
这几行提示和不出波形没有关系,这种错误通常是由时序违规引起的,可以在quartus中通过静态时序分析找出违规的地方进行改进,一般通过了静态时序分析(约束要完整)就不会有上面的提示了。另外仿真文件的激励要符合你加的输入约束。

如何使用ModelSim對Megafunction或LPM作仿真
·时序仿真要在Modelsim下做仿真。下面以Altera器件为例,介绍如何在ModelSim中加入Altera的仿真库,Quartus II软件中自带有Altera的仿真库,只要把它拿到 ModelSim中去编译一下就可以了,具体步骤如下:1.设置仿真库路径 打开ModelSim安装目录(我用的是ModelSim SE 6.2版本,安装在D:\\ModelSim\\Installfiles...

如何用Modelsim进行后仿真
利用ModelSim SE6.0C实现时序仿真!!!1) 打开一个工程文件。2) 打开Settings设置栏,选择EDA Tools Settings下的Simulation栏。在右边出现的设置栏中将“Tool name”的下拉菜单选择“ModelSim(Verilog)”(如果工程用VHDL语言实现,则可以选择“ModelSim(VHDL)”;如果ModelSim使用的是for Altera的专用版本...

如何在modelsim中添加altera的仿真库
1.设置仿真库路径 打开ModelSim安装目录(我用的是ModelSim SE 6.2版本,安装在D:\\ModelSim\\Installfiles目录下),新建文件夹altera,我们就在该目录下存放预编译的各种Altera库。启动ModelSim SE 6.2,在主窗口执行【File】\/【Change Directory】命令将路径转到altera文件夹。或在命令行中执行cd D:\/...

怎样用modelsim做后仿真
利用ModelSim SE6.0C实现时序仿真!!!1) 打开一个工程文件。2) 打开Settings设置栏,选择EDA Tools Settings下的Simulation栏。在右边出现的设置栏中将“Tool name”的下拉菜单选择“ModelSim(Verilog)”(如果工程用VHDL语言实现,则可以选择“ModelSim(VHDL)”;如果ModelSim使用的是for Altera的专用版本...

相似回答