微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 嵌入式设计讨论 > FPGA,CPLD和ASIC > altera模块仿真后就是不出值啊

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
/********************************************************/
实在看不出来问题在哪了。请高手们指教,谢谢。

还是没看出来问题在哪里

是不是该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, 但整数核却没有问题。

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top