在线咨询
eetop公众号 创芯大讲堂 创芯人才网
切换到宽版

EETOP 创芯网论坛 (原名:电子顶级开发网)

手机号码,快捷登录

手机号码,快捷登录

找回密码

  登录   注册  

快捷导航
搜帖子
查看: 2811|回复: 3

[求助] 关于xilinx简单内核的仿真问题

[复制链接]
发表于 2010-4-3 09:04:58 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?注册

x
本人是modelsim初学者。遇到了很棘手的问题,希望大侠们给点帮助吧。
我的问题是关于调用xilinx内核的问题,使用内核的话,每次仿真,要在几千个时钟以后才会出现结果,我以乘法器来举例吧。
如果我直接用内核程序如下:
module cmult(clk,a,b,d,reset);

input clk,reset;
input [15:0] a,b;
output [31:0] d;
wire [31:0] d_t;
wire [31:0] d;

mult mult1(.sclr(!reset),.clk(clk),.a(a),.b(b),.p(d_t));
assign d=d_t;
endmodule
用这个仿真的话,前面上千个时钟,输入a,b都有,但是输出d一直为零,直到两千多个时钟以后,出现稍微正常的输出,但是还不是每个时钟都有输出。

而我把上面的乘法器内核用“*”(乘号)代替的话,下面是代码:
module cmult(clk,a,b,d,reset);

input clk,reset;
input [15:0] a,b;
output [31:0] d;
wire [31:0] d_t;
wire [31:0] d;
always@(posedge clk)
if(!reset) begin
    b<=0;
    a<=0;
    end
else
    d_t=a*b;
   
assign d=d_t;
endmodule
这样的语句形式,出现的结果就正常了,乘积在每个输入的下个时钟正确输出。

现在最郁闷的是,乘法器可用乘号,但是其他内核我就真没办法了,这个问题是个必须解决的问题,要不然以后仿真都不行了。希望大侠们给指导指导啊,实在是没办法了。
发表于 2010-4-3 09:34:27 | 显示全部楼层
是不是有个初始化时间的参数,把参数改小可能就好了
 楼主| 发表于 2010-4-3 09:38:15 | 显示全部楼层
时间参数都是默认的 1ns/1ps,初始化的参数好像都是以ps为单位的


2# lubuxin169
发表于 2012-8-2 17:12:53 | 显示全部楼层
遇到了同样的问题,请问楼主,你的问题解决了吗?是如何解决的呢?谢谢!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

站长推荐 上一条 /1 下一条

小黑屋| 手机版| 关于我们| 联系我们| 在线咨询| 隐私声明| EETOP 创芯网
( 京ICP备:10050787号 京公网安备:11010502037710 )

GMT+8, 2024-11-6 07:52 , Processed in 0.032368 second(s), 11 queries , Gzip On, Redis On.

eetop公众号 创芯大讲堂 创芯人才网
快速回复 返回顶部 返回列表