一个变量只能在一个always中赋值

2019-07-15 22:26发布

对按键计数,编译不通过!!
module dc_counter(rstn,up,down,dout);
input                 rstn;
input                 up;
input                        down;
output[8:0] dout;
reg[8:0]                dout_r;
reg[3:0]cnt;
always@(posedge up or negedge rstn)//计数范围50~450
        begin
        if(! rstn)
                dout_r<=9'd450;
        else
          begin
           if(dout_r>=9'd449)
                   dout_r<=450;
                else
                        dout_r<=dout_r+1;
                end
        end
always@(posedge down or negedge rstn)
begin
  if(! rstn)
     dout_r<=9'd450;
        else
     begin       
     if(dout_r<=9'd50)
                  dout_r<=9'd50;
                else
                  dout_r<=dout_r-1;
                end
end
assign dout=dout_r;
endmodule


友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
3条回答
未羊
2019-07-16 06:39
reallmy 发表于 2016-9-1 11:47
不知道报错提示是什么,不过友情提示一下,posedge后面只能跟时钟信号,你可以用时钟信号来采down与up的沿,用沿来控制计数器!

Error (10028): Can't resolve multiple constant drivers for net "dout_r[8]" at dc_counter.v(29)
报错说:不能在两个always里边对同一个量进行操作。

一周热门 更多>