I am taking a digital design course and I didn't get something. RTL design includes datapath and controller, that's ok but what's the relation between these and verilog modules. For example, is controller a module in verilog? Generally, how RTL can be coded in verilog?