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