X-Authentication-Warning: delorie.com: mail set sender to geda-user-bounces using -f X-Recipient: geda-user AT delorie DOT com Date: Sun, 19 Feb 2012 23:24:42 -0500 From: gene glick Subject: [geda-user] verilog question - blocking/non-blocking To: geda-user AT delorie DOT com Message-id: <4F41CB0A.2020902@optonline.net> MIME-version: 1.0 Content-type: text/plain; charset=ISO-8859-1; format=flowed Content-transfer-encoding: 7BIT User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.9.2.15) Gecko/20110323 Thunderbird/3.1.9 Reply-To: geda-user AT delorie DOT com consider this code: always @(posedge clk) begin count = count + 1; // blocking method if (count == 0) do_something end then this way . . . always @(posedge clk) begin count <= count + 1; // non-blocking method if (count == 0) do_something end ------------------------------------------- The 1st way, do_something occurs when the count is actually at 0. The second way, do_something occurs when the count is 1. Subtle difference. I don't have a synthesis tool ready to run, otherwise I'd try it. Question : does one method synthesize significantly different logic than the other?