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代码支持代码补全、自定义代码段及语法检查等功能。配置结束!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.pswp.cn/news/919074.shtml
繁体地址,请注明出处:http://hk.pswp.cn/news/919074.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

18_基于深度学习的烟雾检测识别系统(yolo11、yolov8、yolov5+UI界面+Python项目源码+模型+标注好的数据集)

目录 项目介绍🎯 功能展示🌟 一、环境安装🎆 环境配置说明📘 安装指南说明🎥 环境安装教学视频 🌟 二、数据集介绍🌟 三、系统环境(框架/依赖库)说明🧱 系统环…

【计算机网络架构】混合型架构简介

引言在当今数字化浪潮席卷全球的背景下,网络技术正以前所未有的速度迅猛发展,各种网络架构如雨后春笋般涌现。从早期简单的总线型、星型架构,到后来的环型、树型架构,再到如今复杂的网状型、云计算架构等,每一种架构都…

Hexo 双分支部署指南:从原理到 Netlify 实战

Hexo 双分支部署指南:从原理到 Netlify 实战 在 Hexo 博客部署中,很多人会困惑于hexo d自动部署与 GitHub 手动提交的区别,以及如何通过双分支结构优雅地部署到 Netlify。本文将清晰拆解两种部署方式的核心差异,并手把手教你用双分…

【数据结构】深入理解单链表与通讯录项目实现

文章目录一、单链表的概念及结构1.1 什么是单链表?1.2 节点的组成1.3 单链表的特点二、单链表的实现2.1 类型定义2.2 基础工具函数1. 链表打印函数2. 节点创建函数2.3 单链表的核心操作(1)插入操作1. 尾插(SLTPushBack&#xff09…

《Python学习之字典(一):基础操作与核心用法》

坚持用 清晰易懂的图解 代码语言,让每个知识点变得简单! 🚀呆头个人主页详情 🌱 呆头个人Gitee代码仓库 📌 呆头详细专栏系列 座右铭: “不患无位,患所以立。” Python学习之字典(…

[安洵杯 2019]Attack

BUUCTF在线评测BUUCTF 是一个 CTF 竞赛和训练平台,为各位 CTF 选手提供真实赛题在线复现等服务。https://buuoj.cn/challenges#[%E5%AE%89%E6%B4%B5%E6%9D%AF%202019]Attack流量分析题,浏览的时候发现攻击者上传信息页面, 直接搜索 flag 就…

复合机器人食品分拣生产线:一体化控制系统引领高效柔性新食代

在食品工业高速发展的今天,面对种类繁多、形态各异的原料分拣需求,以及日益严格的卫生安全与效率要求,传统的固定式分拣设备已难以胜任。复合机器人食品分拣生产线凭借其融合移动(AMR)与操作(机械臂&#x…

二十七、动态SQL

动态SQL介绍动态SQL&#xff1a;if与where标签动态案例-动态更新EmpMapper&#xff08;接口&#xff09;中对应代码块 //动态更新员工public void update2(Emp emp);EmpMapper.xml中对应代码块 <!-- 动态更新员工--><update id"update2">update emp<s…

AI可行性分析:数据×算法×反馈=成功

3.1 从场景到AI可行性分析:需求拆解为“数据+算法+反馈” 核心公式: AI可行性 = 数据可获得性 算法适配性 反馈闭环性 (任一要素为0则需求不可行) 一、传统需求 vs AI需求本质差异 需求文档对比(电商案例) 维度 传统需求文档(购物车功能) AI需求文档(商品推荐系…

【图论】分层图 / 拆点

大多数都是同一个套路&#xff0c;将图拆开成几个图&#xff0c;每一层都对应着一个不同的状态&#xff0c;比如把到点 i 的状态拆成经过了 j 次操作所得的 xx 结果&#xff0c;一般数据不会很大 目前遇到的可分为 3 类&#xff1a; ①.给你最多 k 次操作&#xff0c;求 xx 结…

VS Code配置MinGW64编译MATIO库

VS Code 使用 MinGW64 编译 C 代码并配置 MATIO 库的完整步骤 1. 安装 MSYS2 下载 MSYS2 访问 MSYS2 官网下载安装包&#xff08;选择 x86_64 版本&#xff09;默认安装路径&#xff1a;C:\msys64 更新 MSYS2 包数据库 打开 MSYS2 MinGW 64-bit&#xff08;注意不是 MSYS&…

【前端Vue】使用ElementUI实现表单中可选择可编辑的下拉框

由于项目在vue的开发框架下&#xff0c;因此使用ElementUI组件库进行实现。我希望可选择可编辑的下拉框右侧有跟下拉框一样的箭头&#xff0c;并且在未输入任何内容时&#xff0c;点击该框体会出现选择列表进行填充数据的选择&#xff0c;点击选中数据后列表消失&#xff0c;数…

每日五个pyecharts可视化图表-line:从入门到精通 (4)

欢迎来到pyecharts折线图系列的第四篇文章&#xff01;在前三篇中&#xff0c;我们已经掌握了多种折线图类型&#xff0c;包括基本折线图、平滑折线图、雨量流量关系图、多X轴折线图、堆叠区域图和阶梯图等。在本文中&#xff0c;我们将继续探索五种更高级的折线图类型&#xf…

MySQL中的字符串函数

目录 一、字符串【分割】函数&#xff1a;SUBSTRING_INDEX() SUBSTRING_INDEX函数 练习题 统计每种性别的人数 提取博客URL中的用户名 截取出年龄 SQL83 商品id数据清洗统计 SQL250 查找字符串中逗号出现的次数 二、字符串【截取】函数&#xff1a;SUBSTRING() 基本语…

CodeBuddy IDE深度体验:AI驱动的全栈开发新时代

在人工智能技术迅猛发展的今天&#xff0c;开发者工具正在经历一场深刻的变革。腾讯推出的CodeBuddy IDE作为全球首个“产设研一体”的AI全栈高级工程师工具&#xff0c;重新定义了开发者的日常工作流程。 从需求分析到设计、编码、部署&#xff0c;CodeBuddy通过AI能力将传统…

实现Android图片手势缩放功能的完整自定义View方案,结合了多种手势交互功能

主要功能特点&#xff1a;支持双指手势缩放图片&#xff0c;通过ScaleGestureDetector实现平滑的缩放效果25双击图片可切换初始大小和中等放大比例16使用Matrix进行图像变换&#xff0c;保持缩放中心点为手势焦点位置57自动缩放动画通过Runnable实现渐进式变化1限制最小和最大缩…

uni-app实战教程 从0到1开发 画图软件 (橡皮擦)

一、本期内容简述1. 开发内容上一期&#xff0c;我们一起学习了如何进行绘画&#xff0c;本期我们将学习如何擦除我们所绘画的内容&#xff0c;也就是“橡皮擦”功能。首先&#xff0c;我们应该明确需求&#xff0c;橡皮擦可以擦除掉我们绘画的内容。2. 开发需求所以开发需求&a…

《A Practical Guide to Building Agents》文档学习

《A Practical Guide to Building Agents》文档总结 该文档是一份面向产品和工程团队的实用指南&#xff0c;旨在帮助团队探索并构建首个基于大语言模型&#xff08;LLM&#xff09;的智能体&#xff08;Agent&#xff09;&#xff0c;提炼了大量客户部署经验&#xff0c;提供了…

OpenCV图像注册模块

操作系统&#xff1a;ubuntu22.04 OpenCV版本&#xff1a;OpenCV4.9 IDE:Visual Studio Code 编程语言&#xff1a;C11 算法描述 注册模块实现了参数化图像配准。所实现的方法是直接对齐&#xff08;direct alignment&#xff09;&#xff0c;即&#xff0c;它直接使用像素值来…

模型驱动与分布式建模:技术深度与实战落地指南

摘要 在AI、云原生与全球化协作的大潮中&#xff0c;模型驱动架构&#xff08;MDA&#xff09;与分布式建模不再是概念&#xff0c;而是支撑复杂系统设计与持续演化的核心引擎。本文从元模型、模型转换引擎&#xff0c;到协同协议、冲突解决算法&#xff0c;再到AI辅助建模与自…