11" Vim syntax file
22" Language: SDC - Synopsys Design Constraints
33" Maintainer: Maurizio Tranchero - maurizio.tranchero@gmail.com
4- " Last Change: Thu Mar 25 17:35:16 CET 2009
54" Credits: based on TCL Vim syntax file
65" Version: 0.3
6+ " Last Change: Thu Mar 25 17:35:16 CET 2009
7+ " 2024 Jul 17 by Vim Project (update to SDC 2.1)
78
89" Quit when a syntax file was already loaded
910if exists (" b:current_syntax" )
@@ -13,16 +14,48 @@ endif
1314" Read the TCL syntax to start with
1415runtime ! syntax /tcl .vim
1516
16- " SDC-specific keywords
17+ " TCL extension related to SDC and available from some vendors
18+ " (not defined in SDC standard!)
1719syn keyword sdcCollections foreach_in_collection
18- syn keyword sdcObjectsQuery get_clocks get_ports
1920syn keyword sdcObjectsInfo get_point_info get_node_info get_path_info
2021syn keyword sdcObjectsInfo get_timing_paths set_attribute
21- syn keyword sdcConstraints set_false_path
22+
23+ " SDC rev. 2.1 specific keywords
24+ syn keyword sdcObjectsQuery get_clocks get_ports get_cells
25+ syn keyword sdcObjectsQuery get_pins get_nets all_inputs
26+ syn keyword sdcObjectsQuery all_outputs all_registers all_clocks
27+ syn keyword sdcObjectsQuery get_libs get_lib_cells get_lib_pins
28+
29+ syn keyword sdcConstraints set_false_path set_clock_groups set_sense
30+ syn keyword sdcConstraints set_propagated_clock set_clock_gating_check
31+ syn keyword sdcConstraints set_ideal_latency set_ideal_network
32+ syn keyword sdcConstraints set_ideal_transistion set_max_time_borrow
33+ syn keyword sdcConstraints set_data_check group_path set_max_transition
34+ syn keyword sdcConstraints set_max_fanout set_driving_cell
35+ syn keyword sdcConstraints set_port_fanout_number set_multi_cycle_path
36+ syn keyword sdcConstraints set_disable_timing set_min_pulse_width
37+
2238syn keyword sdcNonIdealities set_min_delay set_max_delay
2339syn keyword sdcNonIdealities set_input_delay set_output_delay
2440syn keyword sdcNonIdealities set_load set_min_capacitance set_max_capacitance
41+ syn keyword sdcNonIdealities set_clock_latency set_clock_transition set_clock_uncertainty
42+ syn keyword sdcNonIdealities set_resistance set_timing_derate set_drive
43+ syn keyword sdcNonIdealities set_input_transition set_fanout_load
44+
2545syn keyword sdcCreateOperations create_clock create_timing_netlist update_timing_netlist
46+ syn keyword sdcCreateOperations create_generated_clock
47+
48+ syn keyword sdcPowerArea set_max_area create_voltage_area
49+ syn keyword sdcPowerArea set_level_shifter_threshold set_max_dynamic_power
50+ syn keyword sdcPowerArea set_level_shifter_strategy set_max_leakage_power
51+
52+ syn keyword sdcModeConfig set_case_analysis set_logic_dc
53+ syn keyword sdcModeConfig set_logic_zero set_logic_one
54+
55+ syn keyword sdcMiscCommmands sdc_version set_wire_load_selection_group
56+ syn keyword sdcMiscCommmands set_units set_wire_load_mode set_wire_load_model
57+ syn keyword sdcMiscCommmands set_wire_load_min_block_size set_operating_conditions
58+ syn keyword sdcMiscCommmands current_design
2659
2760" command flags highlighting
2861syn match sdcFlags " [[:space:]]-[[:alpha:]_]*\> "
@@ -31,9 +64,12 @@ syn match sdcFlags "[[:space:]]-[[:alpha:]_]*\>"
3164hi def link sdcCollections Repeat
3265hi def link sdcObjectsInfo Operator
3366hi def link sdcCreateOperations Operator
34- hi def link sdcObjectsQuery Operator
67+ hi def link sdcObjectsQuery Function
3568hi def link sdcConstraints Operator
3669hi def link sdcNonIdealities Operator
70+ hi def link sdcPowerArea Operator
71+ hi def link sdcModeConfig Operator
72+ hi def link sdcMiscCommmands Operator
3773hi def link sdcFlags Special
3874
3975let b: current_syntax = " sdc"
0 commit comments