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

如下的源碼便宜的時候報錯 :

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相同,都是多處都驅動同一個變量的問題,去掉某一個即可。

我的工程做完了是這樣的:

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章