https://vlsiweb.com/verilog-for-rtl-synthesis/