Learn to design, code, and test digital circuits using Verilog in hands-on logic design projects.
Skills you will gain
- Master Verilog for Digital Design: Learn how to model hardware using Verilog, the industry-standard language for digital logic.
- Design and Implement Combinational Logic: Build and test circuits like multiplexers, encoders, decoders, and Boolean expressions.
- Develop Sequential Logic Systems: Create and test flip-flops, counters, shift registers, and memory structures.
- Simulate Complex Digital Systems: Simulate advanced systems like arithmetic circuits, DSP, and finite state machines.
- Troubleshoot and Debug Hardware: Identify, debug, and solve hardware issues using Verilog tools and techniques.
Course Description
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.
Prerequisites / Skills Needed
Knowledge of basic logic design and familiarity with a high-level programming language (e.g., C) and use of a text editor.
This course applies to these programs: