Verilog is a programming language designed to code hardware at register transfer level. The digital hardware consists of concurrent and sequential events. A synchronous digital circuit is modeled with following considerations: • A circuit consists of sequential & parallel events. • Interim results are stored in registers. • Registers are generally implemented as D Flip Flops. • Data is transferred between registers which are synchronous to each other. Verilog Tutorial from here.Examples below.