Verilog - Race Conditions

Race Conditions

The order of execution isn't always guaranteed within Verilog. This can best be illustrated by a classic example. Consider the code snippet below:

initial a = 0; initial b = a; initial begin #1; $display("Value a=%b Value of b=%b",a,b); end

What will be printed out for the values of a and b? Depending on the order of execution of the initial blocks, it could be zero and zero, or alternately zero and some other arbitrary uninitialized value. The $display statement will always execute after both assignment blocks have completed, due to the #1 delay.

Read more about this topic:  Verilog

Famous quotes containing the words race and/or conditions:

    When at last in a race a new principle appears, an idea—that conserves it; ideas only save races.
    Ralph Waldo Emerson (1803–1882)

    Among the laws controlling human societies there is one more precise and clearer, it seems to me, than all the others. If men are to remain civilized or to become civilized, the art of association must develop and improve among them at the same speed as equality of conditions spreads.
    Alexis de Tocqueville (1805–1859)