+ Post New Thread
Results 1 to 5 of 5
  1. #1
    Member level 4
    Points: 1,065, Level: 7

    Join Date
    Sep 2010
    Posts
    69
    Helped
    2 / 2
    Points
    1,065
    Level
    7

    'signal connected to multiple drivers' problem

    Hi. We are trying to code a sort of accumulator in Verilog, but when we write the code below, we get an error saying that "this signal is connected to multiple drivers" for every signal that even does not appear in the expression below. For example, we also have a register "N" and we get the same error for it, too.

    Code:
    sum_temp=(a + k*dx - dx_half)*(a + k*dx - dx_half)+m*(a + k*dx - dx_half)+nn;
    sum=sum+sum_temp;
    Does anybody know the reason for this error? Thanks a lot for your help.

    •   AltAdvertisment

        
       

  2. #2
    Advanced Member level 3
    Points: 5,700, Level: 17

    Join Date
    Jul 2010
    Posts
    923
    Helped
    294 / 294
    Points
    5,700
    Level
    17

    Re: 'signal connected to multiple drivers' problem

    perhaps you have "if N = 5" instead of "if N == 5" someplace.



    •   AltAdvertisment

        
       

  3. #3
    Full Member level 5
    Points: 3,287, Level: 13

    Join Date
    Dec 2004
    Location
    Munich, Germany
    Posts
    243
    Helped
    46 / 46
    Points
    3,287
    Level
    13

    Re: 'signal connected to multiple drivers' problem

    Try to put the complete code, It will be easy to identify the error/bug in your code.



    •   AltAdvertisment

        
       

  4. #4
    Member level 1
    Points: 1,712, Level: 9

    Join Date
    Mar 2006
    Posts
    33
    Helped
    3 / 3
    Points
    1,712
    Level
    9

    Re: 'signal connected to multiple drivers' problem

    u can use swith,ff... to avoid multiple drivers' problem



  5. #5
    Advanced Member level 2
    Points: 4,734, Level: 16

    Join Date
    Oct 2003
    Location
    Belgium
    Posts
    514
    Helped
    73 / 73
    Points
    4,734
    Level
    16

    Re: 'signal connected to multiple drivers' problem

    Usually this happens when the signal N is assigned values in different processes

    like in VHDL (I'm not very familiar with Verilog)
    Code:
    process1:process(clk)
    begin
       if rising_edge(clk) then
          N <= some_value;
          ...
    end process;
    
    process2: process (clk, ...)
    begin
       if rising_edge(clk) then
          N <= some_other_value;
          .....
    end process;



--[[ ]]--