summaryrefslogtreecommitdiff
path: root/snippets/vhdl.snippets
blob: 0683a21858318e22d93e1ad3e2682e8adbe441f8 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
#
## Libraries

snippet lib
	library ${1}
	use $1.${2}

# Standard Libraries
snippet libs
	library IEEE;
	use IEEE.std_logic_1164.ALL;
	use IEEE.numeric_std.ALL;

# Xilinx Library
snippet libx
	library UNISIM;
	use UNISIM.VCOMPONENTS.ALL;

## Entity Declaration
snippet ent
	entity ${1:`vim_snippets#Filename()`} is
		generic (
			${2}
		);
		port (
			${3}
		);
	end entity $1;

## Architecture
snippet arc
	architecture ${1:behav} of ${2:`vim_snippets#Filename()`} is

		${3}

	begin


	end $1;

## Declarations
# std_logic
snippet st
	signal ${1} : std_logic;
# std_logic_vector
snippet sv
	signal ${1} : std_logic_vector (${2} downto 0);
# std_logic in
snippet ist
	${1} : in std_logic;
# std_logic_vector in
snippet isv
	${1} : in std_logic_vector (${2} downto 0);
# std_logic out
snippet ost
	${1} : out std_logic;
# std_logic_vector out
snippet osv
	${1} : out std_logic_vector (${2} downto 0);
# unsigned
snippet un
	signal ${1} : unsigned (${2} downto 0);
## Process Statements
# process
snippet pr
	process (${1})
	begin
		${2}
	end process;
# process with clock
snippet prc
	process (${1:clk})
	begin
		if rising_edge ($1) then
			${2}
		end if;
	end process;
# process with clock and reset
snippet prcr
	process (${1:clk}, ${2:nrst})
	begin
		if ($2 = '${3:0}') then
			${4}
		elsif rising_edge($1) then
			${5}
		end if;
	end process;
# process all
snippet pra
	process (${1:all})
	begin
		${2}
	end process;
## Control Statements
# if
snippet if
	if ${1} then
		${2}
	end if;
# if
snippet ife
	if ${1} then
		${2}
	else
		${3}
	end if;
# else
snippet el
	else
		${1}
# if
snippet eif
	elsif ${1} then
		${2}
# case
snippet ca
	case ${1} is
		${2}
	end case;
# when
snippet wh
	when ${1} =>
		${2}
# for
snippet for
	for ${1:i} in ${2} ${3:to} ${4} loop
		${5}
	end loop;
# while
snippet wh
	while ${1} loop
		${2}
	end loop;
## Misc
# others
snippet oth
	(others => '${1:0}');