7
|
1 " Vim syntax file
|
|
2 " Language: SKILL for Diva
|
|
3 " Maintainer: Toby Schaffer <jtschaff@eos.ncsu.edu>
|
|
4 " Last Change: 2001 May 09
|
|
5 " Comments: SKILL is a Lisp-like programming language for use in EDA
|
|
6 " tools from Cadence Design Systems. It allows you to have
|
|
7 " a programming environment within the Cadence environment
|
|
8 " that gives you access to the complete tool set and design
|
|
9 " database. These items are for Diva verification rules decks.
|
|
10
|
|
11 " Don't remove any old syntax stuff hanging around! We need stuff
|
|
12 " from skill.vim.
|
|
13 if !exists("did_skill_syntax_inits")
|
|
14 if version < 600
|
|
15 so <sfile>:p:h/skill.vim
|
|
16 else
|
|
17 runtime! syntax/skill.vim
|
|
18 endif
|
|
19 endif
|
|
20
|
|
21 syn keyword divaDRCKeywords area enc notch ovlp sep width
|
|
22 syn keyword divaDRCKeywords app diffNet length lengtha lengthb
|
|
23 syn keyword divaDRCKeywords notParallel only_perp opposite parallel
|
|
24 syn keyword divaDRCKeywords sameNet shielded with_perp
|
|
25 syn keyword divaDRCKeywords edge edgea edgeb fig figa figb
|
|
26 syn keyword divaDRCKeywords normalGrow squareGrow message raw
|
|
27 syn keyword divaMeasKeywords perimeter length bends_all bends_full
|
|
28 syn keyword divaMeasKeywords bends_part corners_all corners_full
|
|
29 syn keyword divaMeasKeywords corners_part angles_all angles_full
|
|
30 syn keyword divaMeasKeywords angles_part fig_count butting coincident
|
|
31 syn keyword divaMeasKeywords over not_over outside inside enclosing
|
|
32 syn keyword divaMeasKeywords figure one_net two_net three_net grounded
|
|
33 syn keyword divaMeasKeywords polarized limit keep ignore
|
|
34 syn match divaCtrlFunctions "(ivIf\>"hs=s+1
|
|
35 syn match divaCtrlFunctions "\<ivIf("he=e-1
|
|
36 syn match divaCtrlFunctions "(switch\>"hs=s+1
|
|
37 syn match divaCtrlFunctions "\<switch("he=e-1
|
|
38 syn match divaCtrlFunctions "(and\>"hs=s+1
|
|
39 syn match divaCtrlFunctions "\<and("he=e-1
|
|
40 syn match divaCtrlFunctions "(or\>"hs=s+1
|
|
41 syn match divaCtrlFunctions "\<or("he=e-1
|
|
42 syn match divaCtrlFunctions "(null\>"hs=s+1
|
|
43 syn match divaCtrlFunctions "\<null("he=e-1
|
|
44 syn match divaExtFunctions "(save\(Interconnect\|Property\|Parameter\|Recognition\)\>"hs=s+1
|
|
45 syn match divaExtFunctions "\<save\(Interconnect\|Property\|Parameter\|Recognition\)("he=e-1
|
|
46 syn match divaExtFunctions "(\(save\|measure\|attach\|multiLevel\|calculate\)Parasitic\>"hs=s+1
|
|
47 syn match divaExtFunctions "\<\(save\|measure\|attach\|multiLevel\|calculate\)Parasitic("he=e-1
|
|
48 syn match divaExtFunctions "(\(calculate\|measure\)Parameter\>"hs=s+1
|
|
49 syn match divaExtFunctions "\<\(calculate\|measure\)Parameter("he=e-1
|
|
50 syn match divaExtFunctions "(measure\(Resistance\|Fringe\)\>"hs=s+1
|
|
51 syn match divaExtFunctions "\<measure\(Resistance\|Fringe\)("he=e-1
|
|
52 syn match divaExtFunctions "(extract\(Device\|MOS\)\>"hs=s+1
|
|
53 syn match divaExtFunctions "\<extract\(Device\|MOS\)("he=e-1
|
|
54 syn match divaDRCFunctions "(checkAllLayers\>"hs=s+1
|
|
55 syn match divaDRCFunctions "\<checkAllLayers("he=e-1
|
|
56 syn match divaDRCFunctions "(checkLayer\>"hs=s+1
|
|
57 syn match divaDRCFunctions "\<checkLayer("he=e-1
|
|
58 syn match divaDRCFunctions "(drc\>"hs=s+1
|
|
59 syn match divaDRCFunctions "\<drc("he=e-1
|
|
60 syn match divaDRCFunctions "(drcAntenna\>"hs=s+1
|
|
61 syn match divaDRCFunctions "\<drcAntenna("he=e-1
|
|
62 syn match divaFunctions "(\(drcExtract\|lvs\)Rules\>"hs=s+1
|
|
63 syn match divaFunctions "\<\(drcExtract\|lvs\)Rules("he=e-1
|
|
64 syn match divaLayerFunctions "(saveDerived\>"hs=s+1
|
|
65 syn match divaLayerFunctions "\<saveDerived("he=e-1
|
|
66 syn match divaLayerFunctions "(copyGraphics\>"hs=s+1
|
|
67 syn match divaLayerFunctions "\<copyGraphics("he=e-1
|
|
68 syn match divaChkFunctions "(dubiousData\>"hs=s+1
|
|
69 syn match divaChkFunctions "\<dubiousData("he=e-1
|
|
70 syn match divaChkFunctions "(offGrid\>"hs=s+1
|
|
71 syn match divaChkFunctions "\<offGrid("he=e-1
|
|
72 syn match divaLVSFunctions "(compareDeviceProperty\>"hs=s+1
|
|
73 syn match divaLVSFunctions "\<compareDeviceProperty("he=e-1
|
|
74 syn match divaLVSFunctions "(ignoreTerminal\>"hs=s+1
|
|
75 syn match divaLVSFunctions "\<ignoreTerminal("he=e-1
|
|
76 syn match divaLVSFunctions "(parameterMatchType\>"hs=s+1
|
|
77 syn match divaLVSFunctions "\<parameterMatchType("he=e-1
|
|
78 syn match divaLVSFunctions "(\(permute\|prune\|remove\)Device\>"hs=s+1
|
|
79 syn match divaLVSFunctions "\<\(permute\|prune\|remove\)Device("he=e-1
|
|
80 syn match divaGeomFunctions "(geom\u\a\+\(45\|90\)\=\>"hs=s+1
|
|
81 syn match divaGeomFunctions "\<geom\u\a\+\(45\|90\)\=("he=e-1
|
|
82
|
|
83 " Define the default highlighting.
|
|
84 " For version 5.7 and earlier: only when not done already
|
|
85 " For version 5.8 and later: only when an item doesn't have highlighting yet
|
|
86 if version >= 508 || !exists("did_diva_syntax_inits")
|
|
87 if version < 508
|
|
88 let did_diva_syntax_inits = 1
|
|
89 command -nargs=+ HiLink hi link <args>
|
|
90 else
|
|
91 command -nargs=+ HiLink hi def link <args>
|
|
92 endif
|
|
93
|
|
94 HiLink divaDRCKeywords Statement
|
|
95 HiLink divaMeasKeywords Statement
|
|
96 HiLink divaCtrlFunctions Conditional
|
|
97 HiLink divaExtFunctions Function
|
|
98 HiLink divaDRCFunctions Function
|
|
99 HiLink divaFunctions Function
|
|
100 HiLink divaLayerFunctions Function
|
|
101 HiLink divaChkFunctions Function
|
|
102 HiLink divaLVSFunctions Function
|
|
103 HiLink divaGeomFunctions Function
|
|
104
|
|
105 delcommand HiLink
|
|
106 endif
|
|
107
|
|
108 let b:current_syntax = "diva"
|
|
109
|
|
110 " vim:ts=4
|