Electronic – Relation between RTL and Verilog modules

rtlverilog

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?

Best Answer

First of all, Verilog is a Hardware Description Language used to describe a collection of digital hardware, and a module is just a way of hierarchically encapsulating your description. Each module boundary can be physical, like the pins of an FPGA or IC, or printed circuit board, or it can be logical, like a data path or controller. In any case, a Verilog module represents some functional component of your design ranging from a simple and gate (or smaller) invisible to the unaided eye, to a system as big as a room (or bigger). But in general, the contents of a module takes up some amount of physical space, as well as some amount of power consumption, heat, etc.

The content of a module can be a collection of other module instances, or a description written at many different abstraction levels, of which RTL is just one of many possible levels. RTL, or register transfer level, is code that can easily be synthesized from what looks like a procedural program into digital hardware.

Related Topic