title: Can you use/manipulate same output/reg variable in multiple always blocks?
body: <pre><code>always @ (posedge clk) begin     
    if (x) begin 
      count &lt;= count + 1'b1;
    end    
  end
  
  always @ (posedge clk) begin     
    if (y) begin 
      count &lt;= count - 2'b10;
    end    
  end
  
  always @ (negedge clk) begin     
    if (x) begin 
      count &lt;= count - 1'b1;
    end    
  end
  
  always @ ( count ) begin 
    ...do something... ;   
  end
  </code></pre>
  
  <ul>
  <li>Can I us the variable count inside multiple always block? </li>
  <li>Is this a good design practice? </li>
  <li>Why/Where should/should not use this method? </li>
  <li>How does the simulator/synthesizer do the calculations for that variable 'count'?</li>
  <li>Does the compiler throw error if I do this?</li>
  </ul>