【Xilinx】如何自动格式化Verilog代码

news2024/11/25 2:24:53

开发环境Vivado+VSCode

【Xilinx】自动格式化Verilog代码

  • 前言
  • 一、安装VSCode并修改Vivado的默认编辑器
  • 二、安装Verilog插件
    • 1. 语法插件
    • 2. 格式化插件
  • 三、演示:如何代码格式化
    • 1. 插件演示
    • 2. 修改默认插件
  • 附录

前言

有时候接手别人的代码,或者从网上找的开源代码,每个人风格不一致,对齐缩进也不一样,阅读起来很累。
有没有什么方法能快捷地格式化代码呢。下面我们利用VSCode插件来实现这个需求。

一、安装VSCode并修改Vivado的默认编辑器

VSCode安装就不赘述了,网上有很多教程

VSCode安装完成后,打开Vivado,点击settings
在这里插入图片描述
在这里插入图片描述

找到VSCode的安装路径,输入文件路径+code.exe+[file name] -[line number]
比如在我电脑上是
D:\Users\leo\AppData\Local\Programs\Microsoft VS Code\Code.exe
则输入

D:\Users\leo\AppData\Local\Programs\Microsoft VS Code\Code.exe [file name]-[line number]

这样每次双击.v文件,都会自动打开VSCode。
这个稍微有点麻烦的是VSCode不是集成在Vivado里面,点开会是新窗口。所以最好是双屏开发,一个显示器显示Vivado,一个显示器显示VSCode。可能对用笔记本单屏开发的不是很友好。

二、安装Verilog插件

1. 语法插件

这个插件主要是用于语法高亮显示。

它也可以做格式化,但是不如后面介绍的那个好用,配置起来有点麻烦,有些资源需要vpn,不太通用。有兴趣的可以自己研究
在这里插入图片描述

2. 格式化插件

在这里插入图片描述

三、演示:如何代码格式化

1. 插件演示

首先故意在174行插入一些空格,让它与其他行不对齐
在这里插入图片描述

然后右键选择Format Document
在这里插入图片描述
第一次使用会弹出一个配置对话框,选Configure
在这里插入图片描述

因为我装了好几个格式化插件,这里选第一个。
你也可以选其他的插件,相关的格式化插件有很多,看自己习惯而定。
在这里插入图片描述

点击后可以看到174行重新与其他行对齐了

在这里插入图片描述

2. 修改默认插件

如果后续想修改默认插件,右键选择Format Document With

在这里插入图片描述

如果只是临时测试其他插件,选上面提示的即可。
如果要永久修改,则选最后一行 Configure Default Formatter,然后重新选择需要的插件
在这里插入图片描述

附录

一些比较好的链接

实现自动纠错和TestBench
https://blog.csdn.net/qq_39498701/article/details/84668833

解决vscode无法产生testbench的问题
https://blog.csdn.net/hackerwpf/article/details/114658490

用VSCode编辑verilog代码、iverilog编译、自动例化、自动补全、自动格式化等常用插件
https://zhuanlan.zhihu.com/p/338497672

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

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

相关文章

2023学习心得01

2023年,加足马力,继续提升自己! 这次来分享下最近的学习心得,以便自己后续回顾可快速上手 按键框架数字,文字取模菜单框架Main总体框架1.首先来分析按键的框架,这里用到了函数指针,不同的可以…

并查集(C++)

根据下面这道题讲下并查集 (其实本来是写题解的…写着写着就变成算法说明了) [蓝桥杯 2017 国 C] 合根植物(C,并查集) 题目描述 w 星球的一个种植园,被分成 mnm \times nmn 个小格子(东西方…

【深度腐蚀】深入聊聊KMP算法

思路分析:主串str遍历主串j子串sub遍历子串iKMP算法是一种字符串匹配算法,他通过Next 数组能使i不回退,这样大大减少了无效的比对,提高了字符串匹配的速度。Next数组:要想让i不回退,就需要让j回退到合适的位…

HTTPS】HTTPS过程详解,tcpdump抓包 全过程分析

RFC中的HTTPS交互过程如下: 抓包分析 Client Hello 客户端支持的TLS最高版本号 客户端生成的随机数 客户端支持的加密套件 主机名server_name cipher suite怎么理解 名字为 ECDH-ECDSA-AES128-SHA256 的CipherSuite 使用 ECDH做密钥交换, 使用ECDS…

21. 反爬工程师都会用的手段,IP限制反爬 - 爬虫训练场

本篇博客我们实现的案例是 IP 限制反爬,翻译过来就是每个 IP 在规定时间内限制访问次数。 例如,可以限制单 IP 每秒访问 5 次,超过之后就会返回 403 错误。 Flask 实现 IP 限制使用 Flask 插件自定义中间件限制 IP自定义请求钩子使用 Flask 插…

CSS3 滤镜效果

文章目录CSS3 滤镜效果概述说明使用案例鬼屋效果代码下载CSS3 滤镜效果 概述 在CSS3中,新增了滤镜效果,可以轻松实现黑白效果、复古效果、亮度效果等。 说明 语法 filter: 取值;filter属性取值 属性值说明brightness(百分比)亮度brightness()方法的…

一款数据可视化分析报表工具

在这个数据信息化时代,每分每秒都产生海量数据,在海量数据中,挖掘出有用的数据,并且能以直观的方式展示这些数据,变得尤为重要,大家或许还在为做报表感到为难,想在众多数据中处理,查…

leetcode-hot链表专题——206. 反转链表

206. 反转链表 递归法 ListNode* reverse(ListNode *pre,ListNode *cur){if(cur NULL) return pre;ListNode *next cur->next;cur->next pre;return reverse(cur,next);}ListNode* reverseList(ListNode* head) {return reverse(NULL,head);}迭代法 ListNode* rever…

Python爬虫编写乱码问题、验证码登录问题和IP代理问题解决

今天继续给大家介绍Python爬虫相关知识,本文主要内容是Python爬虫编写乱码问题、验证码登录问题和IP代理问题解决。 一、乱码问题解决 我们在使用Python爬虫爬取网页信息时,有时会遇上乱码问题(特别是爬取中文网页信息时)&#…

C语言进阶——指针(二)

一. 函数指针 说到指针,我们可以想到的是取地址操作符 int ADD(int a,int b) {return ab; } int main() {printf("%p\n", &ADD);return 0; } 如此,我们便可以得到一个地址 而我们便可以将这个地址存入到一个函数指针中 int(*p)(int,…

各种卷积的说明

一、普通卷积 1、多通道输入,单通道输出 输入为三通道的6*6*3,过滤器也是三通道的分别对应RGB三个通道。其中: 过滤器的通道数需要和被卷积目标的通道数保持一致。输出通道数卷积核个数计算过程包含了先卷积再融合的过程。3个通道各种卷积得…

图像处理:二值掩膜影像去噪与边缘强化

前言这篇博客主要解决的一个问题是掩膜图像的噪声去除和边缘强化,如下图1所示。可以看到掩膜图像上有很多的斑点噪声,而且掩膜的轮廓也不够清晰。所以我们的目标就是一方面尽可能把这些斑点噪声去除,另一方面尽量突出掩膜边界。另外处理后的掩…

c#入门-多播委托,匿名函数

多播委托 委托作为变量,也可以和-。委托可以和方法组相加,但方法组和方法组不能相加。 储存多个函数时,调用委托会按照加的顺序依次执行。但返回值只使用最后绑定的函数。 使用 – 时,如果储存了这个值,那么会移除第一…

深圳电子行业的mes系统的需求分析方法~先达智控

深圳电子行业mes系统的需求分析方法导读:如今,制造业的行业竞争越来越激烈,减少产品成本、提高产品质量,缩短开发周期,已成为当前企业生产与发展中的一个重点方向。而对电子行业而言,厂家着重考虑并解决了产…

我们想要赚钱,就要理解赚钱的本质、要素、公式和障碍

想要赚钱,就要先理解赚钱,只有理解了赚钱,才能够赚到钱。赚钱的本质是商业,而商业的本质是交易,那交易的本质又是什么呢?就是价值交换。价值交换,就是我们怎么能与别人达成合作,并且…

朱江明赋予了零跑新的活力

作为今年风云的智能自主化新能源汽车品牌,零跑汽,一度是人们谈论的热点话题。零跑汽车在今年也取得了非常不错的销量,这么一个响当当的品牌在之前其实发展几度遭遇挫折,而正是创始人朱江明几次将零跑汽车起死回生,赋予…

使用基于python的neurora进行表征相似性分析(RSA)

发现了一款用于表征分析的Python API,还是挺方便的,这里简单介绍一下进行表征相似性分析的使用方法。官方文档见https://neurora.github.io/documentation/index.html下载pip install neurora表征相似性分析的知识可见:https://zhuanlan.zhih…

QSqlDatabase::drivers()输出为空的解决办法

解决问题&#xff1a;今天项目中需要用到QT连接MYSQL数据库进行数据库访问&#xff0c;使用数据库驱动加载代码&#xff1a; qDebug()<<"数据库驱动&#xff1a;"<<QSqlDatabase::drivers();打印出来的结果居然为空“()”。 尝试解决方案&#xff1a; …

逻辑漏洞渗透与攻防(三)之登录前端验证漏洞

目录 前言 登录前端验证漏洞 忘记密码 给邮箱/手机发验证码 前端验证绕过 设置新密码时改他人密码 ​编辑 某网站密码找回功能 链接的形式-链接token参数可逆 服务端验证逻辑缺陷 登录状态下修改密码等验证条件 参数带用户名等多阶段验证 重置密码 重置后的默认密…

软件产品科技成果鉴定需要提供哪些材料?软件测试费用怎么算?

一、软件产品科技成果鉴定是什么? 软件产品科技成果鉴定是有效评价科技成果质量和水平的方法之一&#xff0c;也是鼓励科技成果通过市场竞争等方式得到有效的评价和认可&#xff0c;可以推动科技成果的进步和转化。软件产品科技成果鉴定测试报告是申报国家、省、市科技成果奖…