diff options
| author | Vito G. Graffagnino <vito@graffagnino.xyz> | 2022-08-28 12:24:01 +0100 |
|---|---|---|
| committer | Vito G. Graffagnino <vito@graffagnino.xyz> | 2022-08-28 12:24:01 +0100 |
| commit | 823302458ec6c53455a3f34674415c43ce6a3187 (patch) | |
| tree | 92168b44b01f5b2236b7cdf331e227c4790431ee /snippets/systemverilog.snippets | |
| parent | 9ea6111717518625cbd28a020493ec06610ff01e (diff) | |
Added snippets directory
Diffstat (limited to 'snippets/systemverilog.snippets')
| -rw-r--r-- | snippets/systemverilog.snippets | 73 |
1 files changed, 73 insertions, 0 deletions
diff --git a/snippets/systemverilog.snippets b/snippets/systemverilog.snippets new file mode 100644 index 0000000..f510750 --- /dev/null +++ b/snippets/systemverilog.snippets @@ -0,0 +1,73 @@ +extends verilog + +# Foreach Loop +snippet forea + foreach (${1}) begin + ${0} + end +# Do-while statement +snippet dowh + do begin + ${0} + end while (${1}); +# Combinational always block +snippet alc + always_comb begin ${1:: statement_label} + ${0} + end $1 +# Sequential logic +snippet alff + always_ff @(posedge ${1:clk}) begin ${2:: statement_label} + ${0} + end $2 +# Latched logic +snippet all + always_latch begin ${1:: statement_label} + ${0} + end $1 +# Class +snippet cl + class ${1:class_name}; + // data or class properties + ${0} + + // initialization + function new(); + endfunction : new + + endclass : $1 +# Typedef structure +snippet types + typedef struct { + ${0} + } ${1:name_t}; +# Program block +snippet prog + program ${1:program_name} (); + ${0} + endprogram : $1 +# Interface block +snippet intf + interface ${1:program_name} (); + // nets + ${0} + // clocking + + // modports + + endinterface : $1 +# Clocking Block +snippet clock + clocking ${1:clocking_name} @(${2:posedge} ${3:clk}); + ${0} + endclocking : $1 +# Covergroup construct +snippet cg + covergroup ${1:group_name} @(${2:posedge} ${3:clk}); + ${0} + endgroup : $1 +# Package declaration +snippet pkg + package ${1:package_name}; + ${0} + endpackage : $1 |
