Error[8]: Undefined offset: 153, File: /www/wwwroot/outofmemory.cn/tmp/plugin_ss_superseo_model_superseo.php, Line: 121
File: /www/wwwroot/outofmemory.cn/tmp/plugin_ss_superseo_model_superseo.php, Line: 473, decode(

Vivado使用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: 
	// ,  for tab stops, // Placeholders with the same ids are connected. for the final cursor position, and ${1:label}, ${2:another} for placeholders. 
	// 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" }
	}
  • 双击执行Python安装包;
  • 三、自动生成Testbench

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


    注意:
    生成激励文件需要在Python环境下才能生效,否则就会报错。具体的python安装步骤如下:

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

    function createtb_function{
       ([
           Parameter(=ValueFromPipeline)$true])
           $InputObject
       =
       $FileName = $InputObject
       $tbFileName "tb_" + . $FileNamesplit()"\"[-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
  • 将vscode添加进系统环境变量了。
  • alias createtb createtb_function

  • 以管理员身份运行vscode;

  • 解决方法:

    1. 执行:get-ExecutionPolicy,显示Restricted,表示状态是禁止的;
    2. 执行:set-ExecutionPolicy RemoteSigned;
    3. 这时再执行get-ExecutionPolicy,就显示RemoteSigned;
    4. :
    四、一些其它的好用插件: 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.|..." } ,]
    }
  • 向上向下复制:在 Windows 上:Shift + Alt + Up/Down;
  • 绘图插件


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

    erilog-simplealign插件

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

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

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

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

    )
    File: /www/wwwroot/outofmemory.cn/tmp/route_read.php, Line: 126, InsideLink()
    File: /www/wwwroot/outofmemory.cn/tmp/index.inc.php, Line: 165, include(/www/wwwroot/outofmemory.cn/tmp/route_read.php)
    File: /www/wwwroot/outofmemory.cn/index.php, Line: 30, include(/www/wwwroot/outofmemory.cn/tmp/index.inc.php)
    Vivado使用VSCode编辑器的各种配置:功能加持_python_内存溢出

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

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

    Vivado使用VSCode编辑器的各种配置:功能加持!
    • 前言
    • 一、在Vivado中指定VSCode作为文本编辑器
    • 二、使用 xvlog / Verilator 作为代码分析工具,安装 Verilog HDL/SystemVerilog 插件
    • 三、自动生成Testbench
    • 四、一些其它的好用插件:
        • Bracket Pair Colorizer
        • vscode-icons
        • TCL 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: 
    	// ,  for tab stops, // Placeholders with the same ids are connected. for the final cursor position, and ${1:label}, ${2:another} for placeholders. 
    	// 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" }
    	}
    
  • 双击执行Python安装包;
  • 三、自动生成Testbench

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


    注意:
    生成激励文件需要在Python环境下才能生效,否则就会报错。具体的python安装步骤如下:

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

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

    • 打开编辑文件,直接在命令行输入 code $profile 。添加如下代码,修改TestBenchPath的值。
    • param
    function createtb_function{
       ([
           Parameter(=ValueFromPipeline)$true])
           $InputObject
       =
       $FileName = $InputObject
       $tbFileName "tb_" + . $FileNamesplit()"\"[-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
  • 将vscode添加进系统环境变量了。
  • alias createtb createtb_function
    • 修改过后,重启vscode的powershell命令行。输入命令createtb xxx.v,即可输出生成文件。
    • 解决VSCode“因为在此系统上禁止运行脚本“报错

  • 以管理员身份运行vscode;

  • 解决方法:

    1. 执行:get-ExecutionPolicy,显示Restricted,表示状态是禁止的;
    2. 执行:set-ExecutionPolicy RemoteSigned;
    3. 这时再执行get-ExecutionPolicy,就显示RemoteSigned;
    4. :
    四、一些其它的好用插件: 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.|..." } ,]
    }
  • 向上向下复制:在 Windows 上:Shift + Alt + Up/Down;
  • 绘图插件


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

    erilog-simplealign插件

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

    五、快捷键
    • 拆分编辑框:Shift + Alt + \ or 2,3,4;
    • 单词选中:Ctrl+ d;
    • 打开关闭侧边栏:Ctrl+ b;
    • 添加多个光标:ctrl+Alt+Up/Down;
    • 块选择:Shift + Alt;
    • 命令面板:Ctrl + p;
    • 点击进入插件主页,点击右侧的 Download Extension 链接,得到下载下来的离线安装包,以 .vsix 为扩展名结尾。
    • 注释:行: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”
    • 把下载下来的离线安装包拷贝到 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 插件就算结束了。

    欢迎分享,转载请注明来源:内存溢出

    原文地址: http://outofmemory.cn/langs/787276.html

    (0)
    打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
    上一篇 2022-05-05
    下一篇 2022-05-05

    发表评论

    登录后才能评论

    评论列表(0条)

    保存