Verilog101TM Labs

SystemVerilog101TM Labs

SystemVerilog102TM Labs

SystemVerilog101TM Labs

When you register for the SystemVerilog101TM class, you will have access to a database of 106 labs which you may download and keep. Unlike Verilog101TM, SystemVerilog101TM comes with no simulator. You must have access to a SystemVerilog simulator, however, the lab database is still yours to download and keep.

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
© 2006 Computer Based Education