altera模块仿真后就是不出值啊
时间:10-02
整理:3721RD
点击:
请大家帮帮忙啊。我程序里面套用了一个求平方的( MODULE: altfp_sqrt )
怎么仿真后总是输出高阻态呢?
/*****************程序如下********************************/
module sqrt (clk, idin, dout);
input [31:0] idin;
output [31:0] dout;
input clk;
wire [31:0] idin;
wire [31:0] dout;
ddr ddr_sqrt (
.clock(clk),
.data(idin),
.result(dout)
);
always @ (posedge clk)
$display ("dout = ", dout);
endmodule
/**************测试脚本************************************/
module sqrt_tb;
reg clk;
reg [31:0] data;
wire [31:0] idin; // data in
wire [31:0] dout; // data out
assign idin = data;
always #10 clk = ~clk;
initial
begin
clk = 0;
data = 'b100;
end
sqrt m(clk, idin, dout);
endmodule
/********************************************************/
实在看不出来问题在哪了。请高手们指教,谢谢。
怎么仿真后总是输出高阻态呢?
/*****************程序如下********************************/
module sqrt (clk, idin, dout);
input [31:0] idin;
output [31:0] dout;
input clk;
wire [31:0] idin;
wire [31:0] dout;
ddr ddr_sqrt (
.clock(clk),
.data(idin),
.result(dout)
);
always @ (posedge clk)
$display ("dout = ", dout);
endmodule
/**************测试脚本************************************/
module sqrt_tb;
reg clk;
reg [31:0] data;
wire [31:0] idin; // data in
wire [31:0] dout; // data out
assign idin = data;
always #10 clk = ~clk;
initial
begin
clk = 0;
data = 'b100;
end
sqrt m(clk, idin, dout);
endmodule
/********************************************************/
实在看不出来问题在哪了。请高手们指教,谢谢。
还是没看出来问题在哪里
是不是该IPCORE不支持仿真?你加载这个core的时候有没有出现什么warning?
建议不要使用IPCORE试试
应该支持的啊,没有警告。而且仿真还是加载了ALTERA自带的LIBEARY.
不用IP CORE没法自己编算法啊。
会不会是IP core仿真库没有添加?
添加了,一个220,一个altera_mf
不然会报错的
$display ("dout = ", dout);
语法对吗?
是用的RTL验证还是FPGA上验证啊?
这个语法应该是对的啊,我试过显示 idin的值一点没问题,但要显示输出值就是高阻态了。
我感觉应该是IPcore的问题,我不用IPcore可以正常仿真。
现在能仿真出全是零的状态了。还是有问题查不出来
你要不然把display这个句子放到测试平台里面去,一般不建议放在设计代码里面。而且always里面是不能对wire类型赋值的,不知道是不是可以把display这个操作当作采样dout。
应该是IP 核的问题,所有的浮点核都无法仿真,结果都是0, 但整数核却没有问题。
