xref: /vim-8.2.3635/runtime/syntax/ahdl.vim (revision 6c391a74)
1071d4279SBram Moolenaar" Vim syn file
2071d4279SBram Moolenaar" Language:	Altera AHDL
3071d4279SBram Moolenaar" Maintainer:	John Cook <[email protected]>
4071d4279SBram Moolenaar" Last Change:	2001 Apr 25
5071d4279SBram Moolenaar
689bcfda6SBram Moolenaar" quit when a syntax file was already loaded
789bcfda6SBram Moolenaarif exists("b:current_syntax")
8071d4279SBram Moolenaar  finish
9071d4279SBram Moolenaarendif
10071d4279SBram Moolenaar
11071d4279SBram Moolenaar"this language is oblivious to case.
12071d4279SBram Moolenaarsyn case ignore
13071d4279SBram Moolenaar
14071d4279SBram Moolenaar" a bunch of keywords
15071d4279SBram Moolenaarsyn keyword ahdlKeyword assert begin bidir bits buried case clique
16071d4279SBram Moolenaarsyn keyword ahdlKeyword connected_pins constant defaults define design
17071d4279SBram Moolenaarsyn keyword ahdlKeyword device else elsif end for function generate
18071d4279SBram Moolenaarsyn keyword ahdlKeyword gnd help_id if in include input is machine
19071d4279SBram Moolenaarsyn keyword ahdlKeyword node of options others output parameters
20071d4279SBram Moolenaarsyn keyword ahdlKeyword returns states subdesign table then title to
21071d4279SBram Moolenaarsyn keyword ahdlKeyword tri_state_node variable vcc when with
22071d4279SBram Moolenaar
23071d4279SBram Moolenaar" a bunch of types
24071d4279SBram Moolenaarsyn keyword ahdlIdentifier carry cascade dffe dff exp global
25071d4279SBram Moolenaarsyn keyword ahdlIdentifier jkffe jkff latch lcell mcell memory opendrn
26071d4279SBram Moolenaarsyn keyword ahdlIdentifier soft srffe srff tffe tff tri wire x
27071d4279SBram Moolenaar
28071d4279SBram Moolenaarsyn keyword ahdlMegafunction lpm_and lpm_bustri lpm_clshift lpm_constant
29071d4279SBram Moolenaarsyn keyword ahdlMegafunction lpm_decode lpm_inv lpm_mux lpm_or lpm_xor
30071d4279SBram Moolenaarsyn keyword ahdlMegafunction busmux mux
31071d4279SBram Moolenaar
32071d4279SBram Moolenaarsyn keyword ahdlMegafunction divide lpm_abs lpm_add_sub lpm_compare
33071d4279SBram Moolenaarsyn keyword ahdlMegafunction lpm_counter lpm_mult
34071d4279SBram Moolenaar
35071d4279SBram Moolenaarsyn keyword ahdlMegafunction altdpram csfifo dcfifo scfifo csdpram lpm_ff
36071d4279SBram Moolenaarsyn keyword ahdlMegafunction lpm_latch lpm_shiftreg lpm_ram_dq lpm_ram_io
37071d4279SBram Moolenaarsyn keyword ahdlMegafunction lpm_rom lpm_dff lpm_tff clklock pll ntsc
38071d4279SBram Moolenaar
39071d4279SBram Moolenaarsyn keyword ahdlTodo contained TODO
40071d4279SBram Moolenaar
41*6c391a74SBram Moolenaar" String constants
42071d4279SBram Moolenaarsyn region ahdlString start=+"+  skip=+\\"+  end=+"+
43071d4279SBram Moolenaar
44071d4279SBram Moolenaar" valid integer number formats (decimal, binary, octal, hex)
45071d4279SBram Moolenaarsyn match ahdlNumber '\<\d\+\>'
46071d4279SBram Moolenaarsyn match ahdlNumber '\<b"\(0\|1\|x\)\+"'
47071d4279SBram Moolenaarsyn match ahdlNumber '\<\(o\|q\)"\o\+"'
48071d4279SBram Moolenaarsyn match ahdlNumber '\<\(h\|x\)"\x\+"'
49071d4279SBram Moolenaar
50071d4279SBram Moolenaar" operators
51071d4279SBram Moolenaarsyn match   ahdlOperator "[!&#$+\-<>=?:\^]"
52071d4279SBram Moolenaarsyn keyword ahdlOperator not and nand or nor xor xnor
53071d4279SBram Moolenaarsyn keyword ahdlOperator mod div log2 used ceil floor
54071d4279SBram Moolenaar
55071d4279SBram Moolenaar" one line and multi-line comments
56071d4279SBram Moolenaar" (define these after ahdlOperator so -- overrides -)
57071d4279SBram Moolenaarsyn match  ahdlComment "--.*" contains=ahdlNumber,ahdlTodo
58071d4279SBram Moolenaarsyn region ahdlComment start="%" end="%" contains=ahdlNumber,ahdlTodo
59071d4279SBram Moolenaar
60071d4279SBram Moolenaar" other special characters
61071d4279SBram Moolenaarsyn match   ahdlSpecialChar "[\[\]().,;]"
62071d4279SBram Moolenaar
63071d4279SBram Moolenaarsyn sync minlines=1
64071d4279SBram Moolenaar
65071d4279SBram Moolenaar" Define the default highlighting.
6689bcfda6SBram Moolenaar" Only when an item doesn't have highlighting yet
67071d4279SBram Moolenaar
68071d4279SBram Moolenaar" The default highlighting.
69f37506f6SBram Moolenaarhi def link ahdlNumber		ahdlString
70f37506f6SBram Moolenaarhi def link ahdlMegafunction	ahdlIdentifier
71f37506f6SBram Moolenaarhi def link ahdlSpecialChar	SpecialChar
72f37506f6SBram Moolenaarhi def link ahdlKeyword		Statement
73f37506f6SBram Moolenaarhi def link ahdlString		String
74f37506f6SBram Moolenaarhi def link ahdlComment		Comment
75f37506f6SBram Moolenaarhi def link ahdlIdentifier		Identifier
76f37506f6SBram Moolenaarhi def link ahdlOperator		Operator
77f37506f6SBram Moolenaarhi def link ahdlTodo		Todo
78071d4279SBram Moolenaar
79071d4279SBram Moolenaar
80071d4279SBram Moolenaarlet b:current_syntax = "ahdl"
81071d4279SBram Moolenaar" vim:ts=8
82