https://padhegaindia.in/product/verilog-hdl-a-guide-to-digital-design-and-synthesis-2nd-edn/