Error (10029): Constant driver at beep_control.v(56)解决.Can't resolve multiple constant drivers

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接: https://blog.csdn.net/Mr_liu_666/article/details/102574419

如下的源码便宜的时候报错 :

always @ (posedge sys_clk) begin
	if(!sys_rst_n)
		beepcnt <= 4'b0;//错误在这里
   else
		if(beepflag == 1)	begin	
			if(beepcnt >= 16'd45_000)
			//if(beepcnt > 4'd5)
				beep <= 1'b0;    
			else
				beep <= 1'b1;
		end
		
		else begin	
			//if(beepcnt >= 16'd25_000)
				beep <= 1'b0;    
		end

	
end


//这是个分频器,1KHz
always @ (posedge sys_clk or negedge sys_rst_n) begin
    if(!sys_rst_n)
        beepcnt <= 4'b0;
    else
		if(beepcnt >= 16'd50_000)  
		//if(beepcnt >= 4'd10)  
			beepcnt <= 4'b0;  
		else
			beepcnt <= beepcnt + 16'b1;
			//beepcnt <= beepcnt + 4'd1;
			
end

错误在注释处,因为在两个always里面都改变了beepcnt 的值,这是不被允许的,情况与.Can't resolve multiple constant drivers for net相同,都是多处都驱动同一个变量的问题,去掉某一个即可。

我的工程做完了是这样的:

猜你喜欢

转载自blog.csdn.net/Mr_liu_666/article/details/102574419