https://vlsiweb.com/conditional-statements-in-verilog/