Forum Discussion

Altera_Forum's avatar
Altera_Forum
Icon for Honored Contributor rankHonored Contributor
11 years ago

Warning (15610): No output dependent on input pin

Hi guys,

I'm designing a functional unit of DP. I'm getting these warnings for no reason. Is there anybody can help me with it. Any help will be really appreciated.

Note: I attached the project archive.

Warnings:

Warning (15610): No output dependent on input pin "TAU_A"

Warning (15610): No output dependent on input pin "TAU_B"

Warning (15610): No output dependent on input pin "TAU_C"

Warning (15610): No output dependent on input pin "TSR_A"

Warning (15610): No output dependent on input pin "TSR_B"

Warning (15610): No output dependent on input pin "TSR_C"

Warning (15610): No output dependent on input pin "ld_tau"

Warning (15610): No output dependent on input pin "ld_tsr"

Warning (15610): No output dependent on input pin "oper_sel0"

Warning (15610): No output dependent on input pin "oper_sel1"

Warning (15610): No output dependent on input pin "oper_sel2"

Warning (15610): No output dependent on input pin "oper_sel3"

Warning (15610): No output dependent on input pin "oper_sel4"

6 Replies

  • Altera_Forum's avatar
    Altera_Forum
    Icon for Honored Contributor rankHonored Contributor

    The reason is simple and can be seen in the below always block. There are multiple assignments to each x_bus_out, but only the last takes place.

    always @ (TAU_A, TAU_B, TAU_C, TSR_A, TSR_B, TSR_C, TR_A, TR_B, TR_C, tau_w2, tsr_w2, tr_w2)
    begin
    	if(TAU_A == 1)
    	begin
    		A_bus_out = tau_w2;
    	end
    	else
    	begin
    		A_bus_out = 12'hzzz;
    	end
    	if(TAU_B == 1)
    	B_bus_out = tau_w2;
    	else
    	B_bus_out = 12'hzzz;
    	
    	if(TAU_C == 1)
    	C_bus_out = tau_w2;
    	else
    	C_bus_out = 12'hzzz;
    	
    	/////////////////////////
    	
    	if(TSR_A == 1)
    	A_bus_out = tsr_w2;
    	else
    	A_bus_out = 12'hzzz;
    	
    	if(TSR_B == 1)
    	B_bus_out = tsr_w2;
    	else
    	B_bus_out = 12'hzzz;
    	
    	if(TSR_C == 1)
    	C_bus_out = tsr_w2;
    	else
    	C_bus_out = 12'hzzz;
    	
    	//////////////////////////
    	
    	if(TR_A)
    	A_bus_out = tr_w2;
    	else
    	A_bus_out = 12'hzzz;
    	
    	if(TR_B)
    	B_bus_out = tr_w2;
    	else
    	B_bus_out = 12'hzzz;
    	
    	if(TR_C)
    	C_bus_out = tr_w2;
    	else
    	C_bus_out = 12'hzzz;
    end	

    You probably meaned to write (and similar for the other outputs):

      if(TAU_A == 1)
        A_bus_out = tau_w2;
      else if(TSR_A == 1)
        A_bus_out = tsr_w2;
      else if(TR_A)
        A_bus_out = tr_w2;
      else
        A_bus_out = 12'hzzz;
  • Altera_Forum's avatar
    Altera_Forum
    Icon for Honored Contributor rankHonored Contributor

    Thank you so much FvM. Yes, you are right.

    The warnings disappeared and it replaced by new errors that do not make sense to me.

    I connected the same wire to several blocks and I got these errors.

    It shows only for these two blocks that mentioned below. I did the same for others, but it does not show as an error.

    I attached the new project and thank you again for your time.

    Error (12014): Net "tr_w1[11]", which fans out to "FU_reg:TR_reg_Inst|in0[11]", cannot be assigned more than one value

    Error (12015): Net is fed by "amz_mul_1:amz_mul_1_inst|result[23]"

    Error (12015): Net is fed by "amz_div_1:amz_div_1_inst|remain[11]"

    Error (12014): Net "tr_w1[10]", which fans out to "FU_reg:TR_reg_Inst|in0[10]", cannot be assigned more than one value

    Error (12015): Net is fed by "amz_mul_1:amz_mul_1_inst|result[22]"

    Error (12015): Net is fed by "amz_div_1:amz_div_1_inst|remain[10]"

    Error (12014): Net "tr_w1[9]", which fans out to "FU_reg:TR_reg_Inst|in0[9]", cannot be assigned more than one value

    Error (12015): Net is fed by "amz_mul_1:amz_mul_1_inst|result[21]"

    Error (12015): Net is fed by "amz_div_1:amz_div_1_inst|remain[9]"

    Error (12014): Net "tr_w1[8]", which fans out to "FU_reg:TR_reg_Inst|in0[8]", cannot be assigned more than one value

    Error (12015): Net is fed by "amz_mul_1:amz_mul_1_inst|result[20]"

    Error (12015): Net is fed by "amz_div_1:amz_div_1_inst|remain[8]"

    Error (12014): Net "tr_w1[7]", which fans out to "FU_reg:TR_reg_Inst|in0[7]", cannot be assigned more than one value

    Error (12015): Net is fed by "amz_mul_1:amz_mul_1_inst|result[19]"

    Error (12015): Net is fed by "amz_div_1:amz_div_1_inst|remain[7]"

    Error (12014): Net "tr_w1[6]", which fans out to "FU_reg:TR_reg_Inst|in0[6]", cannot be assigned more than one value

    Error (12015): Net is fed by "amz_mul_1:amz_mul_1_inst|result[18]"

    Error (12015): Net is fed by "amz_div_1:amz_div_1_inst|remain[6]"

    Error (12014): Net "tr_w1[5]", which fans out to "FU_reg:TR_reg_Inst|in0[5]", cannot be assigned more than one value

    Error (12015): Net is fed by "amz_mul_1:amz_mul_1_inst|result[17]"

    Error (12015): Net is fed by "amz_div_1:amz_div_1_inst|remain[5]"

    Error (12014): Net "tr_w1[4]", which fans out to "FU_reg:TR_reg_Inst|in0[4]", cannot be assigned more than one value

    Error (12015): Net is fed by "amz_mul_1:amz_mul_1_inst|result[16]"

    Error (12015): Net is fed by "amz_div_1:amz_div_1_inst|remain[4]"

    Error (12014): Net "tr_w1[3]", which fans out to "FU_reg:TR_reg_Inst|in0[3]", cannot be assigned more than one value

    Error (12015): Net is fed by "amz_mul_1:amz_mul_1_inst|result[15]"

    Error (12015): Net is fed by "amz_div_1:amz_div_1_inst|remain[3]"

    Error (12014): Net "tr_w1[2]", which fans out to "FU_reg:TR_reg_Inst|in0[2]", cannot be assigned more than one value

    Error (12015): Net is fed by "amz_mul_1:amz_mul_1_inst|result[14]"

    Error (12015): Net is fed by "amz_div_1:amz_div_1_inst|remain[2]"

    Error (12014): Net "tr_w1[1]", which fans out to "FU_reg:TR_reg_Inst|in0[1]", cannot be assigned more than one value

    Error (12015): Net is fed by "amz_mul_1:amz_mul_1_inst|result[13]"

    Error (12015): Net is fed by "amz_div_1:amz_div_1_inst|remain[1]"

    Error (12014): Net "tr_w1[0]", which fans out to "FU_reg:TR_reg_Inst|in0[0]", cannot be assigned more than one value

    Error (12015): Net is fed by "amz_mul_1:amz_mul_1_inst|result[12]"

    Error (12015): Net is fed by "amz_div_1:amz_div_1_inst|remain[0]"

    Error (12014): Net "overflow_sig", which fans out to "FU_reg:TSR_reg_Inst|in0[9]", cannot be assigned more than one value

    Error (12015): Net is fed by "amz_add_sub_1:amz_add_sub_1_inst|overflow"

    Error (12015): Net is fed by "amz_log_shift:amz_log_shift_inst|overflow"

    Error (12015): Net is fed by "amz_arith_shift:amz_arith_shift_inst|overflow"

    Error: Quartus II 64-Bit Analysis & Synthesis was unsuccessful. 40 errors, 1 warning

    Error: Peak virtual memory: 435 megabytes

    Error: Processing ended: Thu Feb 27 10:34:49 2014

    Error: Elapsed time: 00:00:02

    Error: Total CPU time (on all processors): 00:00:02
  • Altera_Forum's avatar
    Altera_Forum
    Icon for Honored Contributor rankHonored Contributor

    You apparently appended the old archiv. It has the old warnings but no multiple driver errors.

  • Altera_Forum's avatar
    Altera_Forum
    Icon for Honored Contributor rankHonored Contributor

    --- Quote Start ---

    I connected the same wire to several blocks and I got these errors.

    --- Quote End ---

    The errors are justified. You can't connect the same net to multiple module output ports. A multiplexer must be connected intbetween to select which output drives the net at a time.