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

 找回密码
 注册

手机号码,快捷登录

手机号码,快捷登录

搜帖子
查看: 10554|回复: 10

[求助] 关于synopsys 综合的问题,谢谢。error:cannot test variable...

[复制链接]
发表于 2010-1-29 10:12:43 | 显示全部楼层 |阅读模式

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

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

×
我的always块是这样的:
wire en_b;
assign en_b = ~en;

always @(posedge rst or posedge clk or posedge en or posedge en_b)
  begin
      if (rst)
          begin
             .....
          end
      else if (Tlat_on)
          begin
              ......
          end
      else if (Toff_on)
             ......

但是用DC综合的时候,提示error为:cannot test variable ' Tlat_on / Toff_on' because it was not in the event expression or with wrong polarity.
请问这个错误该如何改啊?谢谢。
我的代码是这样的:
    always @(posedge rst or posedge clk or posedge en or posedge en_b)
  begin
      if (rst)
          begin
              latched <= 1'b0;
              powerdown <= 1'b0;
              en_sst <= 1'b0;
              Toff_on <= 1'b1;
              Tlat_on <= 1'b0;
              en_sst_on <= 1'b1;
              counter <= 10'h000;
          end
      else if (Tlat_on)
          begin
              if (en)
                  begin
                      counter <= counter + 10'h001;
                      powerdown <= 1'b0;
                      if (counter == TTLATCH - 10'h008)
                          latched <= 1'b1;
                      else if (counter > TTLATCH)
                          begin
                              latched <= 1'b0;
                              if (en_sst_on)
                                  begin
                                      en_sst <= 1'b1;
                                      if (counter == TSST)
                                          begin
                                              en_sst <= 1'b0;
                                              en_sst_on <= 1'b0;
                                          end
                                  end
                              else
                                  begin
                                      Tlat_on <= 1'b0;
                                      Toff_on <= 1'b0;
                                      counter <= counter;    //omit?
                                  end
                          end
                  end
              else
                  begin
                      counter <= 10'h000;
                      latched <= 1'b0;
                      Toff_on <= 1'b1;
                      Tlat_on <= 1'b0;
                  end
          end
      else if (Toff_on)
          begin
            if (en)
              begin
                Toff_on <= 1'b0;
                Tlat_on <= 1'b1;
                counter <= 10'h000;
              end           
            else if (counter == TTOFF)
                  begin
                      counter <= 10'h000;        //omit?
                      Toff_on <= 1'b0;
                      Tlat_on <= 1'b0;
                      en_sst_on <= 1'b1;
                      powerdown <= 1'b1;
                      latched <= 1'b0;             //omit?
                  end
            else
                begin
                  counter <= counter + 10'h001;
                end
               
          end
      else
          begin
              Tlat_on <= 1'b1;
              Toff_on <= 1'b0;
              powerdown <= 1'b0;
              counter <= counter;    //omit?
          end

  end
发表于 2010-1-30 22:25:08 | 显示全部楼层
敏感表中最多两个edge
回复 支持 反对

使用道具 举报

发表于 2010-2-5 09:11:19 | 显示全部楼层
边沿敏感列表中最多3个出发条件,包括时钟,异步置位,异步复位.
你的太多了.
回复 支持 反对

使用道具 举报

发表于 2010-2-6 22:14:50 | 显示全部楼层
同意三楼的
回复 支持 反对

使用道具 举报

 楼主| 发表于 2010-3-31 14:58:26 | 显示全部楼层
哦 知道拉 谢谢,非常感激
回复 支持 反对

使用道具 举报

发表于 2012-3-24 23:51:50 | 显示全部楼层
非常感谢,住快乐
回复 支持 反对

使用道具 举报

发表于 2012-8-7 14:06:42 | 显示全部楼层
跟几个触发条件没关系,我写5个都不会报错啊。
问题是if else串中,要把异步触发条件写在同步触发条件前面。
回复 支持 反对

使用道具 举报

发表于 2012-8-7 15:40:28 | 显示全部楼层
有所收获
回复 支持 反对

使用道具 举报

发表于 2014-7-16 21:37:07 | 显示全部楼层
7楼说的才是对的
回复 支持 反对

使用道具 举报

发表于 2016-5-10 15:06:38 | 显示全部楼层
回复 9# JoyShockley


   那按照7楼说的,怎么修改呢?   我最后触发沿都用成posedge,就要没有报错了。但是DC里面不能用negedge 方式么?
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

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

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

GMT+8, 2025-8-22 08:00 , Processed in 0.020447 second(s), 5 queries , Gzip On, Redis On.

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