# Blocking Assignment

Blocking assignment statements execute in series order. Blocking assignment blocks the execution of the next statement until the completion of the current assignment execution.

## Blocking assignment example

In Below Example, a and b is initialized with value 10 and 15 respectively, after that b is being assigned to a (a value will become 15), and value 20 is assigned to b. After assignment value of a = 15 and b=20.

```module blocking_assignment;
//variables declaration
int a,b;
initial begin
\$display("-----------------------------------------------------------------");
//initializing a and b
a = 10;
b = 15;

//displaying initial value of a and b
\$display("\tBefore Assignment :: Value of a is %0d",a);
\$display("\tBefore Assignment :: Value of b is %0d",b);

a = b;
b = 20;

\$display("\tAfter  Assignment :: Value of a is %0d",a);
\$display("\tAfter  Assignment :: Value of b is %0d",b);
\$display("-----------------------------------------------------------------");
end
endmodule```

Simulator Output:

```-----------------------------------------------------------------
Before Assignment :: Value of a is 10
Before Assignment :: Value of b is 15
After Assignment :: Value of a is 15
After Assignment :: Value of b is 20
-----------------------------------------------------------------```

Click to execute on

## Blocking assignment example-2

In Below Example, a and b are initialized with value 10 and 15 respectively, after that b is being assigned to a (a value will become 15), and value 20 is assigned to b. After assignment value of a = 15 and b = 20.

```module blocking_assignment;
//variables declaration
int a,b;
int x,y;
initial begin
//initializing a and b
a = 10;
b = 15;

x = a + b;
y = a + b + x;

\$display("-----------------------------------------------------------------");
\$display("\tValue of x is %0d",x);
\$display("\tValue of y is %0d",y);
\$display("-----------------------------------------------------------------");
end
endmodule```

Simulator Output:

```-----------------------------------------------------------------
Value of x is 25  Value of y is 50
-----------------------------------------------------------------```

Click to execute on