Vivado使用VSCode编辑器的各种配置:功能加持!

前言一、在Vivado中指定VSCode作为文本编辑器二、使用 xvlog / Verilator 作为代码分析工具,安装 Verilog HDL/SystemVerilog 插件三、自动生成Testbench四、一些其它的好用插件:Bracket Pair Colorizervscode-iconsTCL Language Support绘波形图插件绘图插件erilog-simplealign插件

五、快捷键六、VSCode 插件离线安装方法

前言

作为一名FPGA开发人员,在使用VSCode编辑器前,我是习惯了使用notepa++进行代码编写的,但是在最近的软件升级时无意间看到了关于notep++辱华事件的始末,瞬间觉得使用notep++进行代码编辑不香了。所以毅然决然的改用VSCode作为Verilog语言编写的编辑器。并且发现使用VSCode编写代码更为方便。故小编建议大家也可以尽量选择VSCode。下面就详细介绍一下自己从网上以及自己摸索出来的一点工具用法。 心里活动:如果有不同见解或者不使用notepad++就会无法工作的人员可以继续使用。但是作为一名爱国有志青年,若不存在上述情况的还是应该有这种爱国情怀的正常表现!

以下是本篇文章正文内容

一、在Vivado中指定VSCode作为文本编辑器

打开Vivado的设置依次点击vivado菜单栏:Tools>Settings>Text Editor.在Current Editor:输入编辑器的绝对路径如下: “…/Code.exe -g [file name]:[line number]”。

二、使用 xvlog / Verilator 作为代码分析工具,安装 Verilog HDL/SystemVerilog 插件

Verilog HDL/SystemVerilog 可以实现,代码高亮,自动补全等,直接在vscode 插件库中,搜索 Verilog HDL/SystemVerilog 就可以了。 使用该插件可以直接生成例化模板,比较简单,使用方法也比较简单,从插件的说明那里就能看到,需要安装一个小的应用程序catgs(如图点击ctags-win32就可以进入下载界面)。该插件需要到github上下载一个小程序,然后把程序添加到环境变量里面。 到它的release目录下,下载一个版本,然后解压,就可以。然后把这个路径添加到环境变量里面。添加到环境变量里面,最好重启一下电脑,这样能够确保环境变量生效了。 ctags的扩展配置:

配置xvlog 首先将vivado 加到系统环境变量中,在这之前,找到你的vivado安装路径。然后打开vscode, 找到之前安装的Verilog HDL/SystemVerilog ,在插件上右键 -> 配置扩展设置 , 找到 linter , 选择 xvlog。具体配置如下图所示。可以再vscode端口输入命令:xvlog –version来检查是否设置成功。 快速例化 crtl+p,输入instance,按回车即可得到该模块的例化代码 代码片段 在写代码的时候,一些常用的代码和文件头什么的,可以通过使用代码片段的方式来进行添加。 添加一个代码片段,代码片段可以选择支持的语言什么的。 scope字段后面是支持的语法,没有这个字段,那就是使用vscode的时候,所有文件都可以使用这个代码片段。 prefix字段是代码片段的快捷方式,输入对应的代码,就可以添加代码片段了。 body 里面就是代码片段的具体内容了。代码片段的内容需要在 " " 两个引号里面,每一行都需要。 下面是一个文件头,每次输入FH1,就会在光标的位置添加一个文件头了。会根据文件的名称,自动在文件头上添加文件的名字,然后还有创建时间什么的,完全是用户可以自己定义的哈。

{

// Place your global snippets here. Each snippet is defined under a snippet name and has a scope, prefix, body and

// description. Add comma separated ids of the languages where the snippet is applicable in the scope field. If scope

// is left empty or omitted, the snippet gets applied to all languages. The prefix is what is

// used to trigger the snippet and the body will be expanded and inserted. Possible variables are:

// $1, $2 for tab stops, $0 for the final cursor position, and ${1:label}, ${2:another} for placeholders.

// Placeholders with the same ids are connected.

// Example:

"My File Header": {

"prefix": "FH1",

"body": [

"// -----------------------------------------------------------------------------"

"// Copyright (c) 2014-2020 All rights reserved"

"// -----------------------------------------------------------------------------"

"// Author : WCC 1530604142@qq.com"

"// File : $TM_FILENAME_BASE"

"// Create : $CURRENT_YEAR-$CURRENT_MONTH-$CURRENT_DATE"

"// Revise : $CURRENT_YEAR-"

"// Editor : Vscode, tab size (4)"

"// Functions : "

"// "

"// -----------------------------------------------------------------------------"

],

"description": "My File Header"

}

}

三、自动生成Testbench

有时候在工程中要例化一个模块,这个模块有几十个输入几十个输出,如果没有一个好的脚本帮助你,不仅人为出错的可能比较大,例化的过程想必也是痛苦的。还好有人已经在VsCode编写过自动生成Testbench的脚本了,感谢。扩展商店搜索Verilog_TestBench,安装过后,任意编写一段verilog程序。按下ctrl+shift+p,选择testbench即可生成testbench对应的tb文本。 注意: 生成激励文件需要在Python环境下才能生效,否则就会报错。具体的python安装步骤如下:

双击执行Python安装包;先勾选最下方的选项添加环境变量选项,然后点击Customize installation。注意一定要勾选最下面一个选项,它可以自动帮你添加windows环境变量。点击完成后,进入下一个步骤:选择号对应安装目录后就可以开始安装。安装完成后,要测一测自己安装的python是否成功?我们按win+R,输入cmd,打开命令提示符窗口,输入python,如果你出现下面的情况,说明你的python安装成功了! 安装chardet配件:将安装包解压至Python安装目录; 打开cmd,输入 cd …\site-packages,进入…\site-packages文件路径。再输入python setup.py install,回车开始安装。测试,cmd中输入python,再输入import chardet。#没有显示错误,说明安装好了。

现在按ctrl+shift+p,输入Testbench,在命令行就会自动输出Testbench代码了,由于不会自动生成激励文件,故还是有点不方便,再进行如下操作生成.v文件。

在windows任务栏搜索菜单里,打开你的powershell。输入 echo $profile 即可。打开编辑文件,直接在命令行输入 code $profile 。添加如下代码,修改TestBenchPath的值。

function createtb_function{

param(

[Parameter(ValueFromPipeline=$true)]

$InputObject

)

$FileName = $InputObject

$tbFileName = "tb_" + $FileName.split("\")[-1]

echo $tbFileName

python $env:TestBenchPath $FileName >> $tbFileName

}

set-alias ll Get-ChildItemColor

$env:TestBenchPath="C:\Users\xxx\.vscode\extensions\truecrab.verilog-testbench-instance-0.0.5\out\vTbgenerator.py"

set-alias createtb createtb_function

将vscode添加进系统环境变量了。修改过后,重启vscode的powershell命令行。输入命令createtb xxx.v,即可输出生成文件。

解决VSCode“因为在此系统上禁止运行脚本“报错 解决方法:

以管理员身份运行vscode;执行:get-ExecutionPolicy,显示Restricted,表示状态是禁止的;执行:set-ExecutionPolicy RemoteSigned;这时再执行get-ExecutionPolicy,就显示RemoteSigned;

四、一些其它的好用插件:

Bracket Pair Colorizer

多重括号显示为不同颜色

vscode-icons

Material Icon Theme安装好,即可实现的功能:不同文件夹和文件显示为不同的图标

TCL Language Support

安装好,即可实现的功能:约束文件的语法高亮

绘波形图插件

Waveform Render这个插件可以在vscode中写一些代码,然后就可以生成对应的时序图了。ctrl + k, ctrl +d 可以将代码显示成时序图;ctrl + shit + p 然后选择toggle Live preview 可以打开和关闭实时预览。在绘图的时候把实时预览打开,绘制完毕之后,把实时预览关闭。 在设置绘制时序波形的时候,需要创建一个文件,打开文件后就可以输入代码进行波形图的绘制了。显示这里的json文件的时候,用java语法显示,显示的语法比较好看,不会提示过多的错误。点击下面这个图中的地方,换成java语法就好了。

{ signal: [

{ name: "clk", wave: "p.....|..." },

{ name: "clk", wave: "10101010101" },

{ name: "cnt", wave: ".12345=.x", data: ["0", "1", "2", "3","4"] },

{ name: "脉冲1", wave: "0..10.|..." },

{ name: "脉冲2", wave: "0...10.|..." },

]}

绘图插件

这个可以来画点流程图,结构图什么的,方便。绘制图形的时候,先创建一个后缀名为 .drawio的文件,然后用vscode打开,就可以进行图形的绘制了。

erilog-simplealign插件

可以将代码按照输入、输出,类型,位宽,信号名,等按列对齐。

五、快捷键

向上向下复制:在 Windows 上:Shift + Alt + Up/Down;拆分编辑框:Shift + Alt + \ or 2,3,4;单词选中:Ctrl+ d;打开关闭侧边栏:Ctrl+ b;添加多个光标:ctrl+Alt+Up/Down;块选择:Shift + Alt;命令面板:Ctrl + p;注释:行:ctrl + /; 块:shift + alt + A。 注释 : 先CTRL+K,然后CTRL+C 取消注释: 先CTRL+K,然后CTRL+U

六、VSCode 插件离线安装方法

解决工作机上无法上网不能安装插件的问题。接下来,我来总结下 VSCode 插件离线安装的步骤:

打开 VSCode 插件市场网址 Extensions for the Visual Studio family of product,输入你想要的插件名称,比如这里我想要安装的是 Markdown All in One 插件。或者直接在能连网的电脑上,打开vscode,搜索对应插件,直接点击就会进入该插件的主页。点击“Download Extension” 点击进入插件主页,点击右侧的 Download Extension 链接,得到下载下来的离线安装包,以 .vsix 为扩展名结尾。把下载下来的离线安装包拷贝到 VSCode 的安装目录下的 bin 目录下,比如我的 VSCode 安装在 D:\Microsoft VS Code\,因此这里我应该拷贝到 D:\Microsoft VS Code\bin 这个目录下。在上一步的 bin 目录下右键点击 在此处打开命令窗口,输入命令行,最后面的参数换成你下载的插件离线安装包的名字即可: code --install-extension yzhang.markdown-all-in-one-1.4.0.vsix

待看到如下提示即意味着安装成功,就可以打开 VSCode 进行查看了Extension ‘yzhang.markdown-all-in-one-1.4.0.vsix’ was successfully installed!至此,离线安装 VSCode 插件就算结束了。

推荐文章

评论可见,请评论后查看内容,谢谢!!!
 您阅读本篇文章共花了: