 <p>Yes, you can just use <code>+-</code> operators if you want to add or subtract two numbers.</p> <p>If you want to truncate the result back to 16 bits, just assign the result to a 16 bit wire/register, and it will automatically drop the upper bits and just assign the lower 16 bits to <code>out</code>. In some cases this may create a lint warning, so you may want to assign the result to an intermediate variable first, and then do an explicit part select.</p> <pre><code>wire [15:0] out; wire [15:0] A; wire [31:0] A_rotate; A_rotate = {A,A} &lt;&lt; N; out = A_rotate[15:0]; </code></pre>