cache写回法 verilog实现_改善 verilog 编写环境的插件们

9d437a1cffd395d002ee857b837658c3.png

SAST weekly 是由电子工程系学生科协推出的科技系列推送,内容涵盖信息领域技术科普、研究前沿热点介绍、科技新闻跟进探索等多个方面,帮助同学们增长姿势,开拓眼界,每周更新,欢迎关注!欢迎愿意分享知识的同学投稿至 eesast@mail.tsinghua.edu.cn , 期待你的作品!

米娜桑,晚上好。这次我来分享一下改善 verilog 编写环境的一些插件。

e3391715759b536ac4706eefc5ba8c0f.png

编辑器

看过我之前写的两篇 Weekly 的应该都知道,我用的编辑器是 VSCode。这次也要将 vivado 的编辑器更换为 VSCode 以得到更好的体验。

相比与 VSCode,vim 和 sublime 似乎都有更多的针对 verilog 设计的插件,不过我不用它们。不想用 VSCode 的伙伴可以跳到最后一部分了XD。

打开 vivado,在顶部菜单栏中点击Tools-Settings后即可打开设置窗口,在其中的Text Editor中可以修改成想要的编辑器。点击下拉框右边的按钮,在弹出的窗口填写类似这样的命令:

D:/Program Files/Microsoft VS Code/Code.exe [file name] -l[line number]

第一部分是 VSCode 的安装位置,请注意不要直接复制粘贴了 XD。

7e633ca0de909d1b494adbd8e10f463b.png

配置好后的效果是这样的

087f3146bec1a72815fb572d6ed07ed2.gif

编辑器配置好了,下面便开始介绍各种插件了。

Verilog HDL/SystemVerilog

此插件提供了以下功能:

  • Verilog 和 SystemVerilog 的语言支持

  • 语法高亮

  • 简单片段的快速补全

  • 使用 iverilog、xvlog、modelsim、verilator 进行静态代码检查 后面会介绍 vivado 提供的 xvlog

  • 使用 Ctags 实现以下功能:

    • 自动补全

    • 文件大纲

    • 悬停展示变量声明

使用此插件分为三步:

  1. 安装插件:在 VSCode 的插件商店中搜索verilog便可找到并安装

  2. 安装 Ctags:前往 GitHub 上的https://github.com/universal-ctags/ctags-win32进行下载

  3. 配置

  • xvlog 添加的环境变量

  • 添加 Ctags 的路径

5046f2d398e0d617b00526a732625519.png

可以参考我这样的配置

a1dc95b00bc460f466ebd56da3fa0443.png

完成后的效果如下:

21b5aeb7d5c75f89a7ebd65d73295d14.png

将 wire 改成 reg 后,报错如下:

4c7aeef8b80274ac85d856686faf2219.png

verilog-formatter + iStyle Verilog Formatter

iStyle Verilog Formatter 是一个开源的 verilog 代码格式化程序。源代码可见 https://github.com/thomasrussellmurphy/istyle-verilog-formatter

使用 iStyle 需要自己将其代码编译成为可执行文件。在 windows 平台需要自行修改 makefile,个人比较推荐使用 wsl 进行编译。或者也可以使用我编译好的程序 https://github.com/duskmoon314/THU_EXP/blob/master/数逻实验/tools/iStyle.exe

虽然 iStyle 本身是命令行中使用的,不过 verilog-formatter 这个插件帮我们省去了这一麻烦。在 VSCode 的插件商店中搜索这一名字,确定是 IsaacT 开发的即可。

638b4e9877099d10c17b4c812ae650d9.png

配置中第一行是参数,可以指定是否运算符两侧添加空格等。第二行是 iStyle 的位置。第三行是选择代码风格,有 ANSI、GNU、K&R 和只添加缩进四种选择。效果如下:

e05548836193ac54f9be6a13f9e760b0.gif

Verilog_Testbench

Verilog_Testbench 可以帮助生成 testbench 代码结构,提高开发效率。

安装只需要在 VSCode 的插件商店中搜索即可。使用时使用快捷键ctrl + shift + p打开 VSCode 的命令面板,然后输入testbench + enter,插件便会生成 testbench 代码并打印到命令行中。

1b1376acfd5e1d5519ed91ab5564793f.gif

vivado-git

项目地址:https://github.com/barbedo/vivado-git

vivado-git 包含三个 tcl 脚本,将 git 集成到 tcl 控制台中进行使用。实现了以下功能:

  • /project_name/vivado_project建立的项目,会在使用git init后,在/project_name下自动创建.git.gitignore

  • 在进行了git commit后,会生成project_name.tcl。此 tcl 脚本用于生成项目文件。

项目参考文件结构如下:

PROJECT_NAME    ├── .git    ├── .gitignore    ├── project_name.tcl         # Project generator script    ├── src/                     # Tracked source files    │   ├── design    │   │    ├── *.v    │   │    └── *.vhd    │   ├── testbench    │   │    ├── *.v    │   │    └── *.vhd    │   ├── blockdesign    │   │    ├── ui    │   │    ├── ip    │   │    ├── *.bd    │   │    └── ...    │   └── ...    └── vivado_project/          # Untracked generated files        ├── project_name.xpr        ├── project_name.cache/        ├── project_name.hw/        ├── project_name.sim/        └── ...

在 vivado 中使用如下

261533cc5cd4e8bda75fea2f7bc25d7d.png

小结

以上是我目前配置了的一些插件,一定程度上改善了写 verilog 的体验。希望也能帮助到读到这里的你。

本文大量参考了学长的 https://github.com/RainEggplant/vscode-verilog-integration

还参考了:https://blog.csdn.net/qq_39498701/article/details/84668833

针对上面提到的各个插件,我计划(在撰写本文时)在 https://github.com/duskmoon314/THU_EXP 进行更为详尽的整理和记录。也欢迎各位一起整理这些让生活变得更为美好的工具插件。

:THU_EXP这个repo是大一下物理实验时我开始整理的实验报告模板(无内容的报告框架)和数据处理工具,目的是减少与实验无关的繁琐事务。目前由于含有个人实验数据的内容不会上传,所以repo内容较少,欢迎各位一起整理。

7921cdd44b3c52cc3f0a5a06b209efa0.png

撰稿人:贺鲲鹏

审稿人:刘圣禹

114dee57d3cdc289cf4d3b85e6902dda.png
  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值