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

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

手机号码,快捷登录

手机号码,快捷登录

找回密码

  登录   注册  

快捷导航
搜帖子
查看: 2819|回复: 1

DC综合报错-Clock get used as data. (ELAB-305)

[复制链接]
发表于 2017-6-24 21:31:42 | 显示全部楼层 |阅读模式

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

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

x
DC综合时,报错,但是这个get信号不是时钟信号,求大神指导怎么修改。NAME
       ELAB-305 (error) %s Clock %s used as data.


DESCRIPTION
       You  receive  this  error  message because Presto hdl Compiler does not
       allow clock signals to be used for purposes other than clocking.


WHAT NEXT
       Remove the unsupported code from your design.
 楼主| 发表于 2017-6-24 21:38:31 | 显示全部楼层
verilog代码
module contral ( reset,                    
                get,cancel,
                money_all,//所需的总钱数               
                cin_all, //投入的总钱数
                 mout,//找零钱数
                                 zflag,//找零结束标志
                                 tflag,//出票结束标志
                finish,  //出钱信号
                finishp //出票信号
                                 );   
  input reset,zflag,tflag;                    
  input get,cancel;
  input[6:0] money_all;
  input [6:0] cin_all;
  
  output[6:0] mout;
  output finish,finishp;
  
  reg [6:0] mout;
  reg finish,finishp;               
   
//找零钱数计算部分  
always @ (negedge reset  or posedge cancel or posedge get or posedge zflag )//确认键和取消键应该是高脉冲,而不应该持续很长时间
begin
    if(!reset)
       begin
        mout <= 7'd0;
       end
    else
            if(cancel)
                  begin
          mout <= cin_all;
                  end
                else
                   if(zflag)
                    begin
             mout <=7'd0 ;
                     end
                    else
                     if((get == 1)&&(cin_all < money_all))
                begin
                 mout <= cin_all;//当钱数不够时是可以按确认时自动退出已投的钱,任意时刻均可以按取消即可退出所有已投的钱
                end
                         else                           
                if((get == 1)&&(cin_all >= money_all ))
                   begin
                   mout <= cin_all - money_all;//确认购票
                  end
                else
                   begin
                               mout <=7'd0;
                   end
end  

//找零结束,显示找零结束
always @ (negedge reset  or posedge cancel or posedge get or posedge zflag )
begin
    if(!reset)
       begin
        finish <= 1'b0;
       end
    else
            if(cancel)
                  begin
          finish <= 1'b1;
                  end
                else
                        if(zflag)
                    begin
            finish <= 1'b0;
                     end
                  else
                    if((get == 1)&&(cin_all < money_all))
             begin
              finish <= 1'b1;//当钱数不够时是可以按确认时自动退出已投的钱,任意时刻均可以按取消即可退出所有已投的钱
             end
                        else                           
                if((get == 1)&&(cin_all >= money_all ))
                   begin
                   finish <= 1'b1;
                  end
                else
                   begin
                   finish <= 1'b0;
                   end
end  


//投入的总钱数大于所需的钱数并且确认买票的时候显示找零信息
always @ (negedge reset  or posedge cancel or posedge get or posedge tflag)
begin
    if(!reset)
       begin
        finishp <= 1'b0;
       end
    else
            if(cancel)
                  begin
          finishp <= 1'b0;
                  end
                else
                  if(tflag)
                    begin
            finishp <= 1'b0;
                    end
                  else
            if((get == 1)&&(cin_all >= money_all ))
                begin
                finishp <= 1'b1;
                end
             else
                   begin
                   finishp <= 1'b0;
                   end
end  
endmodule
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

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

×

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

GMT+8, 2024-3-28 22:54 , Processed in 0.015925 second(s), 6 queries , Gzip On, Redis On.

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