vim-snippets/UltiSnips/systemverilog.snippets
Boone Severson 7620866b4a tweaks
2015-03-02 13:16:01 -08:00

157 lines
2.1 KiB
Plaintext

priority -50
##########################
# SystemVerilog Snippets #
##########################
snippet if "If statement"
if (${1}) begin
$0
end
endsnippet
snippet ife "If/else statements"
if (${1}) begin
$0
end
else begin
end
endsnippet
snippet eif "Else if statement"
else if (${1}) begin
$0
end
endsnippet
snippet el "Else statement"
else begin
$0
end
endsnippet
snippet wh "While statement
while (${1}) begin
$0
end
endsnippet
snippet repeat "Repeat loop"
repeat (${1}) begin
$0
end
endsnippet
snippet foreach "Foreach loop"
foreach (${1}) begin
$0
end
endsnippet
snippet dowh "Do-while statement
do begin
$0
end while (${1});
endsnippet
snippet case "Case statement"
case (${1})
{$2}: begin
$0
end
default: begin
end
endcase
endsnippet
snippet casez "CaseZ statement"
casez (${1})
{$2}: begin
$0
end
default: begin
end
endcase
endsnippet
snippet always_comb "Combinational always block"
always_comb begin : ${1:statement_label}
$0
end : $1
endsnippet
snippet always_ff "Sequential logic"
always_ff @(posedge ${1:clk}) begin : ${2:statement_label}
$0
end : $2
endsnippet
snippet always_latch "Latched logic"
always_latch begin : ${1:statement_label}
$0
end : $1
endsnippet
snippet module "Module block"
module ${1:module_name} ();
$0
endmodule : $1
endsnippet
snippet module "Class"
class ${1:module_name};
// data or class properties
$0
// initialization
function new();
endfunction : new
endmodule : $1
endsnippet
snippet typestruct "Typedef structure"
typedef struct {
$0
} ${1:name_t};
endsnippet
snippet program "Program block"
program ${1:program_name} ();
$0
endprogram : $1
endsnippet
snippet interface "Interface block"
interface ${1:program_name} ();
// nets
$0
// clocking
// modports
endinterface : $1
endsnippet
snippet clocking "clocking"
clocking ${1:clocking_name} @(${2:posedge} ${3:clk});
$0
endclocking : $1
endsnippet
snippet covergroup "Covergroup construct"
covergroup ${1:group_name} @(${2:posedge} ${3:clk});
$0
endgroup : $1
endsnippet
snippet package "Package declaration"
package ${1:package_name};
$0
endpackage : $1
endsnippet
# vim:ft=snippets: