ctrl+shift+p filters: :st2 :st3 :win :osx :linux
Browse

Sublime​Linter-contrib-xsim

by Mei Zihao ST3

Vivado Simulator (XSim) xvlog/xvhdl plugin for SublimeLinter. Linting for Verilog/SystemVerilog and VHDL.

Details

Installs

  • Total 412
  • Win 339
  • Mac 16
  • Linux 57
Dec 21 Dec 20 Dec 19 Dec 18 Dec 17 Dec 16 Dec 15 Dec 14 Dec 13 Dec 12 Dec 11 Dec 10 Dec 9 Dec 8 Dec 7 Dec 6 Dec 5 Dec 4 Dec 3 Dec 2 Dec 1 Nov 30 Nov 29 Nov 28 Nov 27 Nov 26 Nov 25 Nov 24 Nov 23 Nov 22 Nov 21 Nov 20 Nov 19 Nov 18 Nov 17 Nov 16 Nov 15 Nov 14 Nov 13 Nov 12 Nov 11 Nov 10 Nov 9 Nov 8 Nov 7
Windows 0 0 1 0 3 0 0 0 0 0 2 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 1 0 0 0 0 0 0 1 0 0 0 0
Mac 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
Linux 0 0 0 0 0 0 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0

Readme

Source
raw.​githubusercontent.​com

SublimeLinter-contrib-xsim

GitHub tag (latest SemVer) Project license GitHub stars

English | 简体中文

This linter plugin for SublimeLinter provides an interface to xvlog/xvhdl - Verilog/SystemVerilog/VHDL compilers provided with Vivado Simulator (XSim). xvlog will be used with “Verilog” and “SystemVerilog” files , xvhdl with “VHDL” files.

Installation

SublimeLinter must be installed in order to use this plugin.

Please use Package Control to install the linter plugin.

Before installing this plugin, you must ensure that xvlog/xvhdl are installed on your system. Once you install Vivado Design Suite, they will be in the directory PATH_TO_VIVADO/VIVADO_VERSION/bin.

In order for xvlog/xvhdl to be executed by SublimeLinter, you must ensure that its path is available to SublimeLinter. The docs cover troubleshooting PATH configuration.

Verilog/SystemVerilog/VHDL syntax highlight is not natively supplied by Sublime Text. You may install Sublime Text Verilog, Sublime Text SystemVerilog and Sublime Text VHDL Mode to do the job.

Settings

Passing arguments to xvlog/xvlog_sv/xvhdl

Arguments can be passed in a linter settings file or set in a project settings file:

  • Using linter settings file:
// SublimeLinter Settings - User
   {
       "linters": {
           "xvlog": {
               "args": ["--relax"],
               "working_dir": "${TEMP:${project_path:${folder:$file_path}}}",
           },
           "xvlog_sv": {
               "args": ["--relax"],
               "working_dir": "${TEMP:${project_path:${folder:$file_path}}}",
           },
           "xvhdl": {
               "args": ["--relax"],
               "working_dir": "${TEMP:${project_path:${folder:$file_path}}}",
           }
       },
   }
  • Using Project specific settings:

    // .sublime-project
    {
        "folders":
        [
            {
                "path": "."
            }
        ],
        "settings": {
            // SublimeLinter-contrib-xsim
            "SublimeLinter.linters.xvlog.args":[
                "-i", "$project_path/PATH_TO_HEADER_0",
                "-i", "$project_path/PATH_TO_HEADER_1",
                "--relax"
            ],
            "SublimeLinter.linters.xvlog_sv.args":[
                "-i", "$project_path/PATH_TO_HEADER_0",
                "-i", "$project_path/PATH_TO_HEADER_1",
                "--relax"
            ],
            "SublimeLinter.linters.xvhdl.args":[
                "--relax"
            ]
        }
    }
    

    It is recommended to use project specific settings when using xvlog with -i [include] <directory_name> command option.

  • Remarks

    • xvlog_sv is equal to xvlog with --sv command option on, which is specifically made for SystemVerilog files.
    • args is command option passed to xvlog/xvhdl
      • --relax: Relax strict HDL language checking rules, which is default settting of Vivado.
      • -i: Specify directories to be searched for files included using Verilog `include. Use -i|--include for each specified search directory
      • For more information please check UG900, or using xvlog/xvhdl --help.
    • work_dir is working directory xvlog/xvhdl
      • Since .dir .log .pb folders or files will be generated in working directory, so I set $TEMP (i.e. temporary directory in Operating System) as working directory, when TEMP is not exist, the following directory will be selected.

Demo

xvlog for Verilog file:

xvlog

xvlog_sv for SystemVerilog file

xvlog_sv

xvhdl for VHDL file

xvhdl

Acknowledgment