Sublime配置verilog开发环境-具备语法高亮、代码补全、自定义代码段及语法检查等功能,提升FPGA开发效率!

Sublime配置verilog开发环境-具备语法高亮、代码补全、自定义代码段及语法检查等功能,提升FPGA开发效率!

        对于在学习FPGA开发之前使用过其他集成开发工具如VS、pycharm、keil或编辑工具如Sublime、VScode、Notepad的朋友,在使用Vivado时可能会像博主一样感觉自带编辑器用起来不太舒服,比如不支持语法高亮显示,不支持代码自动补全等功能。因次,使用第三方编辑器来编写Verilog代码是很有必要的。 本文将详细介绍如何在文本编辑器Sublime中配置verilog开发环境,最终实现语法高亮、代码补全、自定义代码段及语法检查等功能,使得可以在Sublime中高效编写verilog代码,大幅提升FPGA开发效率!附带自己在配置中的踩坑经验,希望朋友们按着下面的流程走可以一步配置到位!下面两图为使用Vivado编写代码及使用Sublime编写代码的对比图。

1.Sublime的介绍与安装配置

        Sublime Text,是一款由 Sublime HQ 开发的跨平台轻量级代码编辑器,以 “启动快、插件丰富、自定义性强” 为核心特点,广泛用于代码编写、文本编辑和开发效率提升,支持 Windows、macOS、Linux 三大操作系统。

        其安装去官网下载即可:Sublime Text - Text Editing, Done Right

        选择自己需要的版本下载,本文下载并进行配置的是Sublime Text3,以管理员身份运行安装程序,一直next即可,选择安装路径时可以选择默认路径,如果想选择其他盘,注意安装路径一定不要有空格中文或括号等特殊字符!!!否则后续配置verilog会出问题!!

        下一步是安装一些必要的插件,类似于VScode安装插件。首先是要安装个安装插件的插件,即Package Control。打开sublime,使用快捷键“ctrl+shift+p”,在弹出的框内输入“install package control”,单击install package control。如下图所示(我这里已经安装过,第一次安装是显示install package control),注意点击过后要等待一段时间安装,左下角会显示安装过程,安装成功会弹出安装成功窗口。

        安装了package control之后便可以安装其他插件了。同样使用快捷键“ctrl+shift+p”,在弹出的框内输入“install package”,单击进入到install package中,如下图所示

        等几秒弹出如下输入框说明成功

        然后在框中输入“ChineseLocalizations”并单击进行汉化配置(熟悉英文界面的可以跳过)。注意Sublime中安装插件的安装过程都会在界面左下角显示,需要等一会,成功后会自动弹出安装成功界面。之后同理接着输入“ConvertToUTF8”并单击下载,这个插件可以将其他编码格式的文件以UTF8打开,解决可能出现的中文乱码问题。

2.Sublime中配置verilog开发环境

        上面进行了Sublime Text软件的安装与基本配置,下面来在其中配置verilog开发环境,首先是在Sublime Text软件中安装支持verilog语言的插件,同样“ctrl+shift+p”并在输入框输入“install package”进入到install package中,输入“Verilog”,单击安装即可,如下图所示,我这里安装过了所以没有显示,记得单击的是“Verilog”。等待安装完成并弹出成功界面。

        安装“Verilog”成功后,此时软件已经支持verilog语言,可以进行代码高亮显示,但代码补全、自定义代码段及语法检查等功能还是不支持,此时需要安装并配置支持更多功能的Iverilog,下载地址为Icarus Verilog for Windows.

        我这里选择的是最新版本,下载后管理员身份运行,一路NEXT。同样注意安装路径不要有空格中文或括号等特殊字符

        下一步回到Sublime软件中安装插件sublimelinter和sublimelinter-contrib-iverilog,同理“ctrl+shift+p”并在输入框输入“install package”进入到install package中,输入“sublimelinter”和“sublimelinter-contrib-iverilog”后单击,等待安装成功并弹出Package control Message界面。在首选项->Package Settings中可以看到已安装好的SublimeLinter-contrib-iverilog和sublimelinter。

        在完成Iverilog和插件sublimelinter和sublimelinter-contrib-iverilog的安装后,需进行配置使得sublimelinter能够调用Iverilog工具实现代码补全、语法检查等功能。进入“首选项->Package Settings->Sublimelinter->Settings”。

        点击后会进入sublimelinter的设置界面,如下所示,左侧为默认设置,不要修改。右侧为用户配置界面,添加红框中的内容,修改蓝框中的路径为刚才下载安装的iverilog的安装路径

        代码如下,可复制对应修改。

// SublimeLinter Settings - User { // "debug": true, "paths": { "linux": [ "/usr/local/iverilog/bin", ], "osx": [], "windows": [ "D:\\iverilog\\bin", ], }, "linters": { "iverilog": { "disable": false, "args": ["-i"], // add the "-i" flag "excludes": [], }, }, } 

        保存好后回到回到Sublime软件中会发现verilog代码支持代码补全、自定义代码段及语法检查等功能。配置结束!

Read more

Qt5.x下WebEngineWidgets模块缺失的深度解析:版本、编译器与依赖关系

1. 问题引入:为什么我的Qt项目里找不到WebEngineWidgets? 如果你刚开始接触Qt,想在Windows上做个带浏览器功能的桌面应用,大概率会兴冲冲地在.pro文件里写上 QT += webenginewidgets,然后准备大展拳脚。结果一编译,当头一棒:Unknown module(s) in QT: webenginewidgets。 这个错误信息对新手来说,简直像一盆冷水。你可能会想:“我明明安装了Qt,版本也对,怎么就说找不到模块呢?” 别急,这个问题我当年也踩过坑,折腾了好几天。今天我就把这里面的门道掰开揉碎了讲清楚,让你彻底明白为什么,以及怎么解决。 简单来说,在Qt5.x的世界里,WebEngineWidgets模块的可用性,是由“Qt版本”、“编译器类型”和“Visual Studio版本”这三个因素共同决定的,缺一不可。 它不是像widgets、core这样的“基础模块”,在任何环境下都能用。它更像一个“特权模块”,需要满足特定条件才能解锁。 这背后其实是一段技术变迁史。

【踩坑记录】使用 Layui 框架时解决 Unity WebGL 渲染在 Tab 切换时黑屏问题

【踩坑记录】使用 Layui 框架时解决 Unity WebGL 渲染在 Tab 切换时黑屏问题

【踩坑记录】使用 Layui 框架时解决 Unity WebGL 渲染在 Tab 切换时黑屏问题 在开发 Web 应用时,尤其是集成了 Unity WebGL 内容的页面,遇到一个问题:当 Unity WebGL 渲染内容嵌入到一个 Tab 中时,切换 Tab 后画面会变黑,直到用户点击黑屏区域,才会恢复显示。 这个问题通常是因为 Unity 渲染在 Tab 切换时被暂停或未能获得焦点所致。 在本文中,我们将介绍如何在使用 Layui 框架时,通过监听 Tab 切换事件并强制 Unity WebGL 渲染恢复,来解决这一问题。 1. 问题描述 当 Unity WebGL 内容嵌入到页面中的多个

Linux网络 | 理解Web路径 以及 实现一个简单的helloworld网页

Linux网络 | 理解Web路径 以及 实现一个简单的helloworld网页

前言:本节内容承接上节课的http相关的概念, 主要是实现一个简单的接收http协议请求的服务。这个程序对于我们理解后面的http协议的格式,报头以及网络上的资源的理解, 以及本节web路径等等都有着重要作用。 可以说我们就用代码来理解这些东西。 那么废话不多说, 现在开始我们的学习吧。         ps:本节内容建议先看一下上一篇文章http的相关概念哦:linux网络 | 深度学习http的相关概念-ZEEKLOG博客 目录  准备文件  makefile HttpServer.hpp 类内成员 封装sockfd start  ThreadRun  全部代码 运行结果 响应书写 Web路径  准备文件         首先准备文件: 这里面Httpserver.cc用来运行接收http请求的服务。 HttpServer.hpp用来定义http请求。Log.hpp就是一个打印日志的小组件, Socket.hpp同样是套接字的组件。 到使用直接调用相关接口即可。(Log.hpp和Socket.hpp如何实现不讲解, 如果想要知道

GitHub 热榜项目 · 日榜精选(2026-01-08) | claude-mem、googletest、web-check等 | AI Agent、Web 分析、开发工具等

GitHub 热榜项目 · 日榜精选(2026-01-08) | claude-mem、googletest、web-check等 | AI Agent、Web 分析、开发工具等

🌟 GitHub 热榜项目 · 日榜精选(2026-01-08) | AI Agent、Web 分析、开发工具 🌟 📅 热榜时间:2026-01-08 🏷️ 核心标签:#GitHub #开源项目 #AI #Agent #开发工具 #效率工具 📊 统计摘要:本次共收录热门开源项目 10 个 | 榜单类型:日榜趋势 🎯 本期热点趋势洞察概述 当前 GitHub 实时热榜主要集中在 AI Agent 工程化 与 开发效率工具 两大方向: * Claude / AI Agent 相关项目持续升温,围绕「记忆系统、自动推理、工程落地」展开; * 网站分析、系统增强、公共 API 等实用型工具长期占据榜单; * 成熟基础设施项目(protobuf、