| Lab No. |
Topic Covered |
| Lab1 |
always_comb |
| Lab2 |
always_ff |
| Lab3 |
always_latch |
| Lab4 |
always@* |
| Lab5 |
bit data type |
| Lab6 |
logic data type |
| Lab7 |
byte data type |
| Lab8 |
open |
| Lab9 |
int data type |
| Lab10 |
shortint data type |
| Lab11 |
longint data type |
| Lab12 |
integer data type limits |
| Lab13 |
signed and unsigned integers |
| Lab14 |
four and two state simulations |
| Lab15 |
relaxation of data type rules
|
| Lab16 |
char data type |
| Lab17 |
initialization at declaration |
| Lab18 |
user define types |
| Lab19 |
wire vs bit at intialization |
| Lab20 |
enumeration |
| Lab21 |
enumeration defaults |
| Lab22 |
enumeration methods |
| Lab23 |
FSMs and enumeration |
| Lab24 |
initialization of variables at declaration (2nd example) |
| Lab25 |
compilation unit |
| Lab26 |
new data types useage for ports |
| Lab27 |
implicit . name connections |
| Lab28 |
implicit .* name connections |
| Lab29 |
new syntax for ports |
| Lab30 |
ref ports |
| Lab31 |
open |
| Lab32 |
structures-anonymous |
| Lab33 |
structures- packed user type |
| Lab34 |
open |
| Lab35 |
structures: unpacked anonymous |
| Lab36 |
structures: packed/ typed |
| Lab37 |
structure: default values |
| Lab39 |
structures in functions |
| Lab40 |
structures in tasks |
| Lab41 |
unions: anonymous |
| Lab42 |
unions: typed |
| Lab43 |
arrays: unpacked |
| Lab44 |
arrays: unpacked defaults |
| Lab45 |
arrays: packed |
| Lab46 |
arrays: system function: $bits |
| Lab47 |
arrays: system function: $dimensions |
| Lab48 |
arrays: system function: $high |
| Lab49 |
arrays: system function: $increment |
| Lab50 |
arrays: system function: $left |
| Lab51 |
arrays: system function: $right |
| Lab52 |
arrays: system function: $low |
| Lab53 |
open |
| Lab54 |
multidimensional packed arrays |
| Lab55 |
packed arrays as ports |
| Lab56 |
array initialization |
| Lab57 |
indexing and slicing
arrays |
| Lab58A |
array assigning: packed arrays |
| Lab58B |
arrays assign: unpacked arrays |
| Lab59 |
new operator += |
| Lab60 |
new operator -= |
| Lab61 |
new operator *= |
| Lab62 |
new operator /= |
| Lab63 |
new operator %= |
| Lab64 |
new operator &= |
| Lab65 |
new operator |= |
| Lab66 |
new operator ^= |
| Lab67 |
new operator <<= |
| Lab68 |
new operator >>= |
| Lab69 |
new operator <<<= |
| Lab70 |
new operator >>>= |
| Lab71 |
pre and post increment operator
++ |
| Lab72 |
pre and post decrement operator
-- |
| Lab73 |
do/while loop |
| Lab74 |
open |
| Lab75 |
for loop enhancements |
| Lab76 |
function: empty functions |
| Lab76A |
function: return values with functions |
| Lab77 |
function: named endfunctions |
| Lab78 |
function: formal arguments |
| Lab79 |
function: passing arguments by
name |
| Lab80 |
function: void functions |
| Lab81 |
default direction on function
inputs |
| Lab82 |
automatic functions |
| Lab83 |
automatic tasks |
| Lab83A |
tasks: return values with tasks |
| Lab84 |
optional begin/end for task and function |
| Lab85 |
task: named endtask |
| Lab86 |
task: passing arguments by name |
| Lab87 |
task: formal arguments |
| Lab88 |
interface: general |
| Lab89 |
interface: modports |
| Lab90 |
open |
| Lab91 |
functions in an interface |
| Lab92 |
tasks in an interface |
| Lab93 |
open |
| Lab94 |
unique case |
| Lab95 |
priority case |
| Lab96 |
unique if |
| Lab97 |
priority if |
| Lab98 |
open |
| Lab99 |
open |
| Lab100 |
begin/end named blocks |
| Lab101 |
expanding of '1 |
| Lab102 |
open |
| Lab103 |
open |
| Lab104 |
begin/end variable declaration |
| Lab105 |
break statement |
| Lab106 |
continue statement |