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.
- 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.