Digital Logic Design Using Verilog

This course is a practical introduction to digital logic design using Verilog as a hardware description language. Students learn Verilog constructs and hardware modeling techniques using numerous examples of coding and modeling digital circuits and sub-blocks. Verilog remains the legacy hardware description language for digital designs in the industry.

The course starts with the basic concepts of hardware description, then goes into the key Verilog language elements and data types. Students tackle key challenges and learn structural, dataflow and behavioral modeling in Verilog, including common constructs, considerations and coding examples. Instruction in the coding and testing of digital logic includes examples of combinational circuits (gates, mux/demux, encoders/decoders, and general Boolean expression), sequential circuits (various latches, flip-flops, shift registers, counters, RAMs and ROMs), and complex logic (flavors of ALU and FSM).

At the completion of the course, students are able to understand and implement Verilog modeling of basic digital logic. Ultimately, students write and simulate approximately 3000 lines of Verilog code. The synthesis and simulation of the test examples is done using freely downloadable tools with instructor guidance.

Topics Include:

The need for a language to design digital circuits

Verilog tutorial

Verilog language elements and data types

Structural style modeling

Data flow modeling, Behavioral modeling

Combinational logic design

Sequential logic design

Arithmetic circuit design

Synthesis of RAM, ROM and DSP

FSM design

Skills Needed: Knowledge of basic logic design and familiarity with a high-level programming language (e.g., C) and use of a text editor.