zl程序教程

您现在的位置是:首页 >  其他

当前栏目

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

2023-04-18 16:45:15 时间


前言

作为一名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:Usersxxx.vscodeextensions	ruecrab.verilog-testbench-instance-0.0.5outvTbgenerator.py"

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

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

  1. 以管理员身份运行vscode;
  2. 执行:get-ExecutionPolicy,显示Restricted,表示状态是禁止的;
  3. 执行:set-ExecutionPolicy RemoteSigned;
  4. 这时再执行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 Codein 这个目录下。
  • 在上一步的 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 插件就算结束了。