ctrl+shift+p filters: :st2 :st3 :win :osx :linux
浏览

SystemVerilog

作者: TheClams 全部

语法高亮、智能片段、自动完成、代码导航等,适用于Verilog和SystemVerilog

标签: 语言语法片段完成

详细信息

安装

  • 总计 61K
  • Win 38K
  • Mac 9K
  • Linux 14K
8月6日 8月5日 8月4日 8月3日 8月2日 8月1日 7月31日 7月30日 7月29日 7月28日 7月27日 7月26日 7月25日 7月24日 7月23日 7月22日 7月21日 7月20日 7月19日 7月18日 7月17日 7月16日 7月15日 7月14日 7月13日 7月12日 7月11日 7月10日 7月9日 7月8日 7月7日 7月6日 7月5日 7月4日 7月3日 7月2日 7月1日 6月30日 6月29日 6月28日 6月27日 6月26日 6月25日 6月24日 6月23日 6月22日
Windows 10 9 10 8 15 14 14 11 13 2 8 12 7 16 12 14 6 6 14 13 17 11 14 5 3 20 9 19 12 7 4 10 13 15 15 10 18 11 9 15 10 17 13 12 6 13
Mac 0 1 0 0 4 2 1 0 5 0 1 0 3 0 5 2 1 2 2 1 1 0 3 0 1 2 4 2 1 1 0 3 0 0 2 1 3 0 0 1 1 1 0 1 0 1
Linux 6 4 4 1 3 1 11 10 5 4 2 10 8 8 13 9 2 4 7 6 11 11 8 4 1 4 5 6 5 7 0 6 11 7 8 8 8 2 7 7 7 7 11 7 2 1

说明文件

源代码
raw.githubusercontent.com

Sublime Text SystemVerilog 套件

说明

语法高亮

  • SystemVerilog / Verilog
  • UCF (Xilinx约束文件)

注意:默认的颜色方案(Monokai)缺少很多作用域,可能不能给出最佳效果。你可以尝试我的个人变体Sunburst: https://gist.github.com/TheClams/5811d7bc8829abe58c11d4c98e729dc0

代码导航

  • 在工具提示或状态栏中显示信号声明
  • 转到声明:将光标移到所选信号的声明处
  • 转到驱动器:选择一个信号并转到驱动器(端口、分配、连接)
  • 查找实例:在项目中查找模块的所有实例
  • 移动光标/选择文本在块的开始/结束之间(例如[], {}, begin/end,函数/endfunction等)
  • 显示模块的层次结构(所有子模块)
  • 导航侧边栏
    • 显示类成员/方法、模块端口/信号/实例等
    • 双击实例/类型可跳转到它

代码完成

  • 智能自动完成:标准类型的变量、结构体/接口/类的字段、系统任务等
  • always、case的智能片段
  • 'begin end' 宏用于将文本包围在begin/end中(参阅“键映射”部分了解其用法)
  • 各种片段(模块、接口、类、for等)
  • 插入FSM模板

模块实例辅助工具

  • 实例化:从列表中选择一个模块并创建实例和连接
  • 重连:删除到已删除端口的连接,添加到新端口的连接
  • 切换模块绑定中的 .*(类似于Emacs verilog-mode的自动星号功能)

代码对齐

  • 重新缩进
  • 对齐模块端口
  • 对齐信号声明
  • 对齐模块实例
  • 对齐分配

代码检查

  • 查找/删除所有未使用的信号
  • 列出所有未声明的信号

配置

要查看所有现有配置选项并编辑您的配置,请转到“首选项”-》"包设置"-》"SystemVerilog"-》"设置”。

详细文档

有关不同功能的详细文档,请查阅在线文档: http://sv-doc.readthedocs.org/en/latest

快捷键映射示例

要将快捷键映射到不同功能,只需将以下内容添加到您的用户.sublime-keymap文件中

{
    "keys": ["f10"], "command": "verilog_type",
    "context":
    [
        { "key": "num_selections", "operator": "equal", "operand": 1 },
        { "key": "selector", "operator": "equal", "operand": "source.systemverilog"}
    ]
},
{
    "keys": ["ctrl+f10"], "command": "verilog_module_inst",
    "context":
    [
        { "key": "num_selections", "operator": "equal", "operand": 1 },
        { "key": "selector", "operator": "equal", "operand": "source.systemverilog"}
    ]
},
{
    "keys": ["ctrl+shift+f10"], "command": "verilog_toggle_dot_star",
    "context":
    [
        { "key": "num_selections", "operator": "equal", "operand": 1 },
        { "key": "selector", "operator": "equal", "operand": "source.systemverilog"}
    ]
},
{
    "keys": ["ctrl+shift+a"], "command": "verilog_align",
    "context":
    [
        { "key": "selector", "operator": "equal", "operand": "source.systemverilog"}
    ]
},
{
    "keys": ["alt+shift+a"], "command": "verilog_align", "args":{"cmd":"reindent"},
    "context":
    [
        { "key": "selector", "operator": "equal", "operand": "source.systemverilog"}
    ]
},
{
    "keys": ["ctrl+f12"], "command": "verilog_goto_driver",
    "context":
    [
        { "key": "num_selections", "operator": "equal", "operand": 1 },
        { "key": "selector", "operator": "equal", "operand": "source.systemverilog"}
    ]
},
{
    "keys": ["shift+f12"], "command": "verilog_goto_declaration",
    "context":
    [
        { "key": "num_selections", "operator": "equal", "operand": 1 },
        { "key": "selector", "operator": "equal", "operand": "source.systemverilog"}
    ]
},
// Begin/End
{
    "keys": ["ctrl+'"],
    "command": "insert_snippet", "args": {"contents": "begin\n\t$0\nend"},
    "context": [{ "key": "selection_empty", "operator": "equal", "operand": true, "match_all": true }]
},
{
    "keys": ["ctrl+'"],
    "command": "run_macro_file",
    "args": {"file": "Packages/SystemVerilog/beginend.sublime-macro"},
    "context": [{ "key": "selection_empty", "operator": "equal", "operand": false, "match_all": true }]
},
{
    "keys": ["ctrl+m"], "command": "verilog_goto_block_boundary", "args":{"cmd":"move"},
    "context":
    [
        { "key": "num_selections", "operator": "equal", "operand": 1 },
        { "key": "selector", "operator": "equal", "operand": "source.systemverilog"}
    ]
},
{
    "keys": ["ctrl+shift+m"], "command": "verilog_goto_block_boundary", "args":{"cmd":"select"},
    "context":
    [
        { "key": "num_selections", "operator": "equal", "operand": 1 },
        { "key": "selector", "operator": "equal", "operand": "source.systemverilog"}
    ]
},
{ "keys": ["f1"], "command": "verilog_toggle_navbar", "args":{"cmd":"toggle"}},
{ "keys": ["ctrl+f1"], "command": "verilog_toggle_lock_navbar"},
{
  "keys": ["alt+f1"], "command": "verilog_show_navbar",
  "context":[{ "key": "selector", "operator": "equal", "operand": "source.systemverilog"}]
}