summaryrefslogtreecommitdiff
path: root/snippets/systemverilog.snippets
diff options
context:
space:
mode:
authorVito G. Graffagnino <vito@graffagnino.xyz>2022-08-28 12:24:01 +0100
committerVito G. Graffagnino <vito@graffagnino.xyz>2022-08-28 12:24:01 +0100
commit823302458ec6c53455a3f34674415c43ce6a3187 (patch)
tree92168b44b01f5b2236b7cdf331e227c4790431ee /snippets/systemverilog.snippets
parent9ea6111717518625cbd28a020493ec06610ff01e (diff)
Added snippets directory
Diffstat (limited to 'snippets/systemverilog.snippets')
-rw-r--r--snippets/systemverilog.snippets73
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