How to solve the error "signal has multiple source"?
<p>I am beginner. I need to make 8-bit asynchronous down counter with load using D flop flop in structural description.</p>

<p>I did it without load and it works great but when I am trying this -> <code>nqdout &lt;= load</code> I have the error: <code>signal "nqdout" has multiple source</code></p>

<p>How to make the load?</p>

<pre><code>library ieee;
use ieee.std_logic_1164.all;

entity kur_3 is
    generic(size: positive := 8);
    port(clk, mode, preset: in std_logic;
        load: in std_logic_vector((size-1) downto 0);
        dout: out std_logic_vector((size-1) downto 0));
end kur_3;

architecture struct of kur_3 is
    signal q, nqdout, tmp: std_logic_vector((size-1) downto 0);

    component kur_1 port(d, clk, preset: in std_logic; q, nq: out std_logic); end component;

    begin
        --nqdout &lt;= load;
        a0: for i in (size-1) downto 0 generate 
            b0: if (i = 0) generate
                c0: kur_1 port map (nqdout(i), clk, preset, q(i), nqdout(i));
            end generate;   
            b1: if (i &gt; 0) generate
                c1: kur_1 port map (nqdout(i), q(i-1), preset, q(i), nqdout(i));
            end generate;
        end generate;
        dout &lt;= q;      
    end struct;

configuration con of kur_3 is
    for struct
        for all: 
            kur_1 use entity work.kur_1(beh);
        end for;
    end for;
end con;
</code></pre>