neovim

Neovim text editor
git clone https://git.dasho.dev/neovim.git
Log | Files | Refs | README

sdc.vim (3232B)


      1 " Vim syntax file
      2 " Language:     SDC - Synopsys Design Constraints
      3 " Maintainer:   Maurizio Tranchero - maurizio.tranchero@gmail.com
      4 " Credits:      based on TCL Vim syntax file
      5 " 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)
      8 
      9 " Quit when a syntax file was already loaded
     10 if exists("b:current_syntax")
     11  finish
     12 endif
     13 
     14 " Read the TCL syntax to start with
     15 runtime! syntax/tcl.vim
     16 
     17 " TCL extension related to SDC and available from some vendors
     18 " (not defined in SDC standard!)
     19 syn keyword sdcCollections	foreach_in_collection
     20 syn keyword sdcObjectsInfo	get_point_info get_node_info get_path_info
     21 syn keyword sdcObjectsInfo	get_timing_paths set_attribute
     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 
     38 syn keyword sdcNonIdealities	set_min_delay set_max_delay
     39 syn keyword sdcNonIdealities	set_input_delay set_output_delay
     40 syn 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 
     45 syn 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
     59 
     60 " command flags highlighting
     61 syn match sdcFlags		"[[:space:]]-[[:alpha:]_]*\>"
     62 
     63 " Define the default highlighting.
     64 hi def link sdcCollections      Repeat
     65 hi def link sdcObjectsInfo      Operator
     66 hi def link sdcCreateOperations	Operator
     67 hi def link sdcObjectsQuery	Function
     68 hi def link sdcConstraints	Operator
     69 hi def link sdcNonIdealities	Operator
     70 hi def link sdcPowerArea	Operator
     71 hi def link sdcModeConfig	Operator
     72 hi def link sdcMiscCommmands	Operator
     73 hi def link sdcFlags		Special
     74 
     75 let b:current_syntax = "sdc"
     76 
     77 " vim: ts=8