| 
									
										
										
										
											2005-08-15 21:41:48 +00:00
										 |  |  | " Vim syntax file | 
					
						
							| 
									
										
										
										
											2008-06-24 21:56:24 +00:00
										 |  |  | " Language:    Verilog-AMS | 
					
						
							|  |  |  | " Maintainer:  S. Myles Prather <smprather@gmail.com> | 
					
						
							|  |  |  | " | 
					
						
							|  |  |  | " Version 1.1  S. Myles Prather <smprather@gmail.com> | 
					
						
							|  |  |  | "              Moved some keywords to the type category. | 
					
						
							|  |  |  | "              Added the metrix suffixes to the number matcher. | 
					
						
							|  |  |  | " Version 1.2  Prasanna Tamhankar <pratam@gmail.com> | 
					
						
							|  |  |  | "              Minor reserved keyword updates. | 
					
						
							|  |  |  | " Last Update: Thursday September 15 15:36:03 CST 2005  | 
					
						
							| 
									
										
										
										
											2005-08-15 21:41:48 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2016-08-30 23:26:57 +02:00
										 |  |  | " quit when a syntax file was already loaded | 
					
						
							|  |  |  | if exists("b:current_syntax") | 
					
						
							| 
									
										
										
										
											2005-08-15 21:41:48 +00:00
										 |  |  |    finish | 
					
						
							|  |  |  | endif | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | " Set the local value of the 'iskeyword' option | 
					
						
							| 
									
										
										
										
											2016-08-30 23:26:57 +02:00
										 |  |  | setlocal iskeyword=@,48-57,_,192-255 | 
					
						
							| 
									
										
										
										
											2005-08-15 21:41:48 +00:00
										 |  |  | 
 | 
					
						
							|  |  |  | " Annex B.1 'All keywords' | 
					
						
							|  |  |  | syn keyword verilogamsStatement above abs absdelay acos acosh ac_stim | 
					
						
							|  |  |  | syn keyword verilogamsStatement always analog analysis and asin | 
					
						
							| 
									
										
										
										
											2008-06-24 21:56:24 +00:00
										 |  |  | syn keyword verilogamsStatement asinh assign atan atan2 atanh | 
					
						
							|  |  |  | syn keyword verilogamsStatement buf bufif0 bufif1 ceil cmos connectmodule | 
					
						
							| 
									
										
										
										
											2005-08-15 21:41:48 +00:00
										 |  |  | syn keyword verilogamsStatement connectrules cos cosh cross ddt ddx deassign | 
					
						
							|  |  |  | syn keyword verilogamsStatement defparam disable discipline | 
					
						
							|  |  |  | syn keyword verilogamsStatement driver_update edge enddiscipline | 
					
						
							| 
									
										
										
										
											2008-06-24 21:56:24 +00:00
										 |  |  | syn keyword verilogamsStatement endconnectrules endmodule endfunction endgenerate | 
					
						
							| 
									
										
										
										
											2005-08-15 21:41:48 +00:00
										 |  |  | syn keyword verilogamsStatement endnature endparamset endprimitive endspecify | 
					
						
							|  |  |  | syn keyword verilogamsStatement endtable endtask event exp final_step | 
					
						
							|  |  |  | syn keyword verilogamsStatement flicker_noise floor flow force fork | 
					
						
							| 
									
										
										
										
											2008-06-24 21:56:24 +00:00
										 |  |  | syn keyword verilogamsStatement function generate highz0 | 
					
						
							|  |  |  | syn keyword verilogamsStatement highz1 hypot idt idtmod if ifnone inf initial | 
					
						
							| 
									
										
										
										
											2005-08-15 21:41:48 +00:00
										 |  |  | syn keyword verilogamsStatement initial_step inout input join | 
					
						
							|  |  |  | syn keyword verilogamsStatement laplace_nd laplace_np laplace_zd laplace_zp | 
					
						
							|  |  |  | syn keyword verilogamsStatement large last_crossing limexp ln localparam log | 
					
						
							|  |  |  | syn keyword verilogamsStatement macromodule max medium min module nand nature | 
					
						
							|  |  |  | syn keyword verilogamsStatement negedge net_resolution nmos noise_table nor not | 
					
						
							|  |  |  | syn keyword verilogamsStatement notif0 notif1 or output paramset pmos | 
					
						
							|  |  |  | syn keyword verilogamsType      parameter real integer electrical input output | 
					
						
							|  |  |  | syn keyword verilogamsType      inout reg tri tri0 tri1 triand trior trireg | 
					
						
							| 
									
										
										
										
											2008-06-24 21:56:24 +00:00
										 |  |  | syn keyword verilogamsType      string from exclude aliasparam ground genvar | 
					
						
							|  |  |  | syn keyword verilogamsType      branch time realtime | 
					
						
							| 
									
										
										
										
											2005-08-15 21:41:48 +00:00
										 |  |  | syn keyword verilogamsStatement posedge potential pow primitive pull0 pull1 | 
					
						
							|  |  |  | syn keyword verilogamsStatement pullup pulldown rcmos release | 
					
						
							|  |  |  | syn keyword verilogamsStatement rnmos rpmos rtran rtranif0 rtranif1 | 
					
						
							|  |  |  | syn keyword verilogamsStatement scalared sin sinh slew small specify specparam | 
					
						
							|  |  |  | syn keyword verilogamsStatement sqrt strong0 strong1 supply0 supply1 | 
					
						
							| 
									
										
										
										
											2008-06-24 21:56:24 +00:00
										 |  |  | syn keyword verilogamsStatement table tan tanh task timer tran tranif0 | 
					
						
							| 
									
										
										
										
											2005-08-15 21:41:48 +00:00
										 |  |  | syn keyword verilogamsStatement tranif1 transition | 
					
						
							|  |  |  | syn keyword verilogamsStatement vectored wait wand weak0 weak1 | 
					
						
							|  |  |  | syn keyword verilogamsStatement white_noise wire wor wreal xnor xor zi_nd | 
					
						
							| 
									
										
										
										
											2008-06-24 21:56:24 +00:00
										 |  |  | syn keyword verilogamsStatement zi_np zi_zd zi_zp | 
					
						
							| 
									
										
										
										
											2005-08-15 21:41:48 +00:00
										 |  |  | syn keyword verilogamsRepeat    forever repeat while for | 
					
						
							|  |  |  | syn keyword verilogamsLabel     begin end | 
					
						
							|  |  |  | syn keyword verilogamsConditional if else case casex casez default endcase | 
					
						
							|  |  |  | syn match   verilogamsConstant  ":inf"lc=1 | 
					
						
							|  |  |  | syn match   verilogamsConstant  "-inf"lc=1 | 
					
						
							|  |  |  | " Annex B.2 Discipline/nature | 
					
						
							|  |  |  | syn keyword verilogamsStatement abstol access continuous ddt_nature discrete | 
					
						
							|  |  |  | syn keyword verilogamsStatement domain idt_nature units  | 
					
						
							|  |  |  | " Annex B.3 Connect Rules | 
					
						
							|  |  |  | syn keyword verilogamsStatement connect merged resolveto split | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | syn match   verilogamsOperator  "[&|~><!)(*#%@+/=?:;}{,.\^\-\[\]]" | 
					
						
							|  |  |  | syn match   verilogamsOperator  "<+" | 
					
						
							|  |  |  | syn match   verilogamsStatement "[vV]("me=e-1 | 
					
						
							|  |  |  | syn match   verilogamsStatement "[iI]("me=e-1 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | syn keyword verilogamsTodo contained TODO | 
					
						
							|  |  |  | syn region  verilogamsComment start="/\*" end="\*/" contains=verilogamsTodo | 
					
						
							|  |  |  | syn match   verilogamsComment "//.*" contains=verilogamsTodo | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | syn match verilogamsGlobal "`celldefine" | 
					
						
							|  |  |  | syn match verilogamsGlobal "`default_nettype" | 
					
						
							|  |  |  | syn match verilogamsGlobal "`define" | 
					
						
							|  |  |  | syn match verilogamsGlobal "`else" | 
					
						
							|  |  |  | syn match verilogamsGlobal "`elsif" | 
					
						
							|  |  |  | syn match verilogamsGlobal "`endcelldefine" | 
					
						
							|  |  |  | syn match verilogamsGlobal "`endif" | 
					
						
							|  |  |  | syn match verilogamsGlobal "`ifdef" | 
					
						
							|  |  |  | syn match verilogamsGlobal "`ifndef" | 
					
						
							|  |  |  | syn match verilogamsGlobal "`include" | 
					
						
							|  |  |  | syn match verilogamsGlobal "`line" | 
					
						
							|  |  |  | syn match verilogamsGlobal "`nounconnected_drive" | 
					
						
							|  |  |  | syn match verilogamsGlobal "`resetall" | 
					
						
							|  |  |  | syn match verilogamsGlobal "`timescale" | 
					
						
							|  |  |  | syn match verilogamsGlobal "`unconnected_drive" | 
					
						
							|  |  |  | syn match verilogamsGlobal "`undef" | 
					
						
							|  |  |  | syn match verilogamsSystask "$[a-zA-Z0-9_]\+\>" | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | syn match verilogamsConstant "\<[A-Z][A-Z0-9_]\+\>" | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | syn match   verilogamsNumber "\(\<\d\+\|\)'[bB]\s*[0-1_xXzZ?]\+\>" | 
					
						
							|  |  |  | syn match   verilogamsNumber "\(\<\d\+\|\)'[oO]\s*[0-7_xXzZ?]\+\>" | 
					
						
							|  |  |  | syn match   verilogamsNumber "\(\<\d\+\|\)'[dD]\s*[0-9_xXzZ?]\+\>" | 
					
						
							|  |  |  | syn match   verilogamsNumber "\(\<\d\+\|\)'[hH]\s*[0-9a-fA-F_xXzZ?]\+\>" | 
					
						
							| 
									
										
										
										
											2008-06-24 21:56:24 +00:00
										 |  |  | syn match   verilogamsNumber "\<[+-]\=[0-9_]\+\(\.[0-9_]*\|\)\(e[0-9_]*\|\)[TGMKkmunpfa]\=\>" | 
					
						
							| 
									
										
										
										
											2005-08-15 21:41:48 +00:00
										 |  |  | 
 | 
					
						
							|  |  |  | syn region  verilogamsString start=+"+ skip=+\\"+ end=+"+ contains=verilogamsEscape | 
					
						
							|  |  |  | syn match   verilogamsEscape +\\[nt"\\]+ contained | 
					
						
							|  |  |  | syn match   verilogamsEscape "\\\o\o\=\o\=" contained | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | "Modify the following as needed.  The trade-off is performance versus | 
					
						
							|  |  |  | "functionality. | 
					
						
							|  |  |  | syn sync lines=50 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | " Define the default highlighting. | 
					
						
							| 
									
										
										
										
											2016-08-30 23:26:57 +02:00
										 |  |  | " Only when an item doesn't have highlighting yet | 
					
						
							| 
									
										
										
										
											2005-08-15 21:41:48 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2016-08-30 23:26:57 +02:00
										 |  |  | " The default highlighting. | 
					
						
							| 
									
										
										
										
											2016-08-31 22:22:10 +02:00
										 |  |  | hi def link verilogamsCharacter    Character | 
					
						
							|  |  |  | hi def link verilogamsConditional  Conditional | 
					
						
							|  |  |  | hi def link verilogamsRepeat       Repeat | 
					
						
							|  |  |  | hi def link verilogamsString       String | 
					
						
							|  |  |  | hi def link verilogamsTodo         Todo | 
					
						
							|  |  |  | hi def link verilogamsComment      Comment | 
					
						
							|  |  |  | hi def link verilogamsConstant     Constant | 
					
						
							|  |  |  | hi def link verilogamsLabel        Label | 
					
						
							|  |  |  | hi def link verilogamsNumber       Number | 
					
						
							|  |  |  | hi def link verilogamsOperator     Special | 
					
						
							|  |  |  | hi def link verilogamsStatement    Statement | 
					
						
							|  |  |  | hi def link verilogamsGlobal       Define | 
					
						
							|  |  |  | hi def link verilogamsDirective    SpecialComment | 
					
						
							|  |  |  | hi def link verilogamsEscape       Special | 
					
						
							|  |  |  | hi def link verilogamsType         Type | 
					
						
							|  |  |  | hi def link verilogamsSystask      Function | 
					
						
							| 
									
										
										
										
											2005-08-15 21:41:48 +00:00
										 |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | let b:current_syntax = "verilogams" | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | " vim: ts=8 |