| Unit Number | Topic | Duration (Mins) |
| 1 | Course overview, prerequisites, assignments | 45 |
| 2 | Functional verification overview | 15 |
| 3 | Driving factors of verification, why SV? | 12 |
| 4 | TB development : modularity, reusability | 63 |
| 5 | SV Training objectives | 5 |
| 6 | Running SV code with Questasim | 3 |
| 7 | SV language concepts | 49 |
| 8 | SV language concepts | 42 |
| 9 | Array basics | 37 |
| 10 | Verilog language shortcomings | 14 |
| 11 | SV language features | 27 |
| 12 | Literals | 30 |
| 13 | Data types: Integer based | 47 |
| 14 | String data type | 77 |
| 15 | Arrays | 17 |
| 16 | Packed and unpacked arrays | 43 |
| 17 | Multi dimensional arrays | 53 |
| 18 | Dynamic arrays | 61 |
| 19 | Associative arrays basics | 14 |
| 20 | Associative array methods | 95 |
| 21 | Queues | 53 |
| 22 | Operators | 36 |
| 23 | Operators | 92 |
| 24 | Operators | 53 |
| 25 | Operator overloading | 14 |
| 26 | Object oriented programming basics | 21 |
| 27 | APB Tx class definition | 90 |
| 28 | APB tx class methods | 84 |
| 29 | Ethernet frame definition, Inheritance | 108 |
| 30 | Ethernet frame methods, static, rand, randc, | 93 |
| 31 | Pack, unpack, array of packets | 48 |
| 32 | Properties, variable scope | 69 |
| 33 | New | 27 |
| 34 | Class randomize methods | 78 |
| 35 | User defined methods | 34 |
| 36 | Encapsulation | 46 |
| 37 | Polymorphism | 89 |
| 38 | Polymorphism example | 81 |
| 39 | This, super | 16 |
| 40 | OOP summary | 30 |
| 41 | parameterized classes | 118 |
| 42 | Static methods and properties | 19 |
| 43 | Interface class | 12 |
| 44 | Constant class property | 8 |
| 45 | Scope resolution operator | 60 |
| 46 | Copy, $cast | 98 |
| 47 | $cast | 35 |
| 48 | Data types: CHandle | 38 |
| 49 | User defined data types | 31 |
| 50 | Struct | 90 |
| 51 | Revision, rand, pattern 0->1->0->1 generation | 29 |
| 52 | Union | 12 |
| 53 | Enum | 32 |
| 54 | Labeling | 2 |
| 55 | IPS | 19 |
| 56 | Doubt clarification : medal array | 10 |
| 57 | Inter process synchronization | 74 |
| 58 | Event | 43 |
| 59 | Semaphore | 68 |
| 60 | Memory testbench setup and interface instantiation | 85 |
| 61 | Functional coverage in Memory TB | 98 |
| 62 | CLocking block | 98 |
| 63 | Interface | 79 |
| 64 | SPI Interface coding | 6 |
| 65 | Memory TB with semaphore | 22 |
| 66 | Memory TB with configurable number of agents | 110 |
| 67 | Debugging null issue | 38 |
| 68 | Scoreboarding logic | 57 |
| 69 | Fork, join | 57 |
| 70 | Scheduling scemantics | 10 |
| 71 | Program | 13 |
| 72 | Debug session | 2 |
| 73 | Task, functions | 42 |
| 74 | System task, functions | 13 |
| 75 | Constraints and randomization | 27 |
| 76 | Constraints types | 92 |
| 77 | Constraints virtual nature, randcase, constraint types | 59 |
| 78 | Inline and Implication constraints example | 14 |
| 79 | Constraints writing examples - interview focused | 57 |
| 80 | Constraints example for multi chip select design | 40 |
| 81 | Functional coverage introduction | 88 |
| 82 | Functional coverage: covergroups, bins, cross coverage | 63 |
| 83 | Functional coverage - Instance coverage | 10 |
| 84 | FIFO Functional coverage | 10 |
| 85 | Coverage intersect | 60 |
| 86 | Coverage option | 26 |
| 87 | Coverage options, transition coverage | 40 |
| 88 | Coverage system tasks | 2 |
| 89 | Code coverage | 10 |
| 90 | Coverage analysis | 34 |
| 91 | Code coverage analysis using coverage report | 68 |
| 92 | SV Conditional coverage unmasking condition | 11 |
| 93 | Assertions: Introduction, types, examples, sequences, properties, ## operator, | 162 |
| 94 | Assertion examples | 76 |
| 95 | Assertion debug and analysis | 12 |
| 96 | Listing down assertions for Interrupt controller | 8 |
| 97 | DPI, Compiler directives, VCD, Libraries | 107 |
| 98 | SV Package significance | 3 |
| 99 | Common array methods, conversion methods, Callbacks detailed explanation | 148 |
| 100 | Ethernet Loopback Design | 98 |