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

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

手机号码,快捷登录

手机号码,快捷登录

找回密码

  登录   注册  

快捷导航
搜帖子
查看: 1631|回复: 2

[求助] 求助,modelsim对模块间信号哦的仿真问题

[复制链接]
发表于 2012-3-14 16:40:16 | 显示全部楼层 |阅读模式

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

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

x
求助一个问题,一直很头疼

假定有模块A和模块B,在模块A中,有一个二段的状态机,如下:
always@(*) begin
    b_en = 1'b0 ;
    b_in1 = 8'h00 ;
    b_in2 = 8'h00 ;
    next_state = state ;
    case (state)
        4'h00 : begin
              b_en = 1'b1 ;
              b_in1 = 8'h44 ;
              b_in2 = 8'h44 ;
        end
        4'h01 : begin
              if (b_finish) begin next_state = 4'h02;  b_en= 1'b1 end
             else begin next_state = 4'h04; end;
         end
         4'h02 : begin
              if (b_finish) begin next_state = 4'h03;b_en = 1'b1 end
             else begin next_state = 4'h04; end;
         end
    endcase
end

B模块信号为b_en,b_finish,b_in1,b_in2,b_result
b模块中对b_in1和b_in2进行简单的加减处理,
always @ ( posedge clk or negedge rst_b ) begin//alu_c
if ( ~rst_b ) begin
  b_result <= 8'h00 ;
  b_finish <= 1'b0 ;
end
else begin
b_finish<= b_en ;
  if ( b_en ) begin
      b_result <= (b_in1+b_in2) ;
  end
end

代码大概内容如上:
问题:
1.modelsim在仿真时,对module间的信号时认为有一个微小的延时的,所以在A模块的状态跳变时,B模块的finish信号,在完成一次操作时,有复位到零的现象,所以在某个状态下,if(b_finish)会因为延时关系而进入else语句,在modelsim的图形来看,就是next_state上面有个毛刺,但是毛刺不影响最后的状态(仍然跳转正确),请问这个毛刺重要吗?
 楼主| 发表于 2012-3-17 09:54:37 | 显示全部楼层
求助啊,如果上面的描述没有明白,可以简单的这么理解,
modelsim对模块间的信号,在传送时是认为有一个微小的延时的
如果有两个模块A和B,在B的组合逻辑的状态机跳变中,需要对A的一个信号signal做
if(signal) next_state=2 else   next_state=4
这种判断的状态跳变。
由于,模块间信号的传输延时问题,模块A的signal信号,如果是从低到高的一个过程,那么在B的这个状态过程,就会出现一个短暂的next_state=2的现象,然后立刻next_state=4。
在仿真时就可以发现next_state有一个毛刺,
请问这个毛刺可以不管吗?
发表于 2012-3-18 16:55:14 | 显示全部楼层
这个毛刺产生的原因并不是模块间传输的延迟,而是因为组合逻辑敏感列表中的信号(即各表达式左边的信号)跳变的时刻不统一造成的,常见的原因是一些信号赋值用了时延,而另一些没有没有用时延。这种毛刺不会影响功能,因为毛刺出现在一个时钟周期的前面(这个时钟上升沿后),而这个信号是在时钟周期结束时(下一个时钟上升沿)被使用,此时毛刺已消失,信号已稳定。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

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

X

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

GMT+8, 2025-6-8 19:31 , Processed in 0.015783 second(s), 9 queries , Gzip On, MemCached On.

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