Verilog 轻量化开发环境

背景

笔者常用的开发环境

  • VIAVDO, 体积巨大,自带编辑器除了linting 能用,编辑器几乎不能用,仿真界面很友好,但是速度比较慢。
  • Sublime Text, 非常好用的编辑器,各种插件使用verilog 非常方便,可以自动补全、生成调用、linting等;
  • VSCODE,Sublime Text 有的插件,VSCODE也都有,虽然不一定有sublime text好用,但是VSCODE有AI插件的加持,显得更有吸引力,更能提高工作效率。而且完全免费,VSCODE 注定一统江湖。

因此这里主要说明如何搭建VSCODE轻量化环境。

环境搭建

首先你得有VSCODE,安装包bing.com 搜索一下(不要问为什么不用百度) 自行安装即可。

安装插件

图 2‑1 VSCODE Verilog 插件

安装Iverilog

Icarus Verilog for Windows (bleyer.org) 下载安装轻量级开发、编译工具Iverilog,这样就可以完全不用VIVADO就完成模块级的代码开发。

安装完成之后设置环境变量:

图 2‑2 设置iverilog 和 gtkwave 环境变量

设置完成重启 电脑, WIN11似乎不用重启 立即生效,只需要重启VSCODE

设置插件

图 2‑3 设置linter 为iverilog 运行在文件所在目录

编译 查看波形

Iverilog 对.sv文件支持不好,需要编译的顶层文件最好是.v 后缀。涉及到模块调用,最好在代码中用`include 声明一下。

图 2‑4 仿真顶层

图 2‑5 运行编译 仿真

注意代码中必须包含自动$finish; 还要dump波形文件。

initial begin

$display("start a clock pulse");    // 打印开始标记

$dumpfile("wave.vcd");              // 指定记录模拟波形的文件

$dumpvars(0, pulse_gen_test);          // 指定记录的模块层级

end

也可以用命令行运行编译和仿真,基本命令如下:

@echo off

iverilog.exe -o target.vvp pulse_gen_test.sv

vvp.exe target.vvp

其中-o是目标文件,pulse_gen_test.sv是待编译的仿真文件,vvp.exe执行对应的仿真。

然后生成目标wave.vcd文件,通过gtkwave 可以查看(在终端中执行gtkwave .\wave.vcd)。

图 2‑6 gtkwave 查看波形

需要说明,VSCODE中的自动实例化模块有点问题,希望后面插件可以解决。

AI 插件

VSCODE最强的是他的AI插件,这个是sublime text 没有的。

图 3‑1 阿里TONGYI Lingma 插件

应用市场搜索安装即可,国内大模型和插件,阿里的最靠谱,实际使用体验不错,详细很快能够追上国外。

verilog vscode 与AI 插件的更多相关文章

  1. vscode格式化代码插件Beautify

    vscode格式化代码安装 VsCode 格式化代码插件搜索并安装 Beautify 格式化代码插件使用:打开要格式化的文件 —> F1 —> Beautify file —> 选择 ...

  2. VScode 好用插件集合(一)

    VScode 好用插件集合(一) 什么是VScode Visual Studio Code (简称 VS Code / VSC) 是一款免费开源的现代化轻量级代码编辑器,支持几乎所有主流的开发语言的语 ...

  3. vscode安装dlv插件报错:There is no tracking information for the current branch.

    vscode安装dlv插件报错:There is no tracking information for the current branch. https://blog.csdn.net/a7859 ...

  4. vscode安装golang插件失败问题

    vscode安装golang插件失败问题 dlv go-outline go-symbols gocode-gomod gocode 代码补全 godef 代码跳转 golint gopkgs gor ...

  5. VSCode安装jshint插件报错

    Mac电脑上使用VSCode安装jshint插件时提示如下错误: Failed to load jshint library. Please install jshint in your worksp ...

  6. VSCode高效开发插件

    VSCode 必装的 10 个高效开发插件 https://www.cnblogs.com/parry/p/vscode_top_ten_plugins.html 本文介绍了目前前端开发最受欢迎的开发 ...

  7. VSCode 前端必备插件

    VSCode 前端必备插件 Debugger for Chrome 让 vscode 映射 chrome 的 debug功能,静态页面都可以用 vscode 来打断点调试 { "versio ...

  8. VScode安装golang插件详细教程

    可能是由于非科班自学编程,所以在安装插件的时候虽然参考了很多人写的教程,但是总安装不成功,在综合各位大牛的教程之后进行总结,并且亲自实践安装成功,希望能给初学编程的人一些帮助,如果有不对的地方还希望大 ...

  9. 解决 vscode 中 nuget 插件无法获取包版本的问题

    解决 vscode 中 nuget 插件无法获取包版本的问题 1.问题描述 大概在今年的7月份左右,我忽然发现 NuGet Package Manager 拓展没法正常使用了,只能查询到包: 选完包之 ...

  10. 解决vscode中golang插件依赖安装失败问题

    vscode中安装ms-vscode.go插件后可以开启对go语言的支持,ms-vscode.go插件需要依赖一些工具,安装完成后提示 gocode go-outline go-symbols gur ...

随机推荐

  1. SQL注入漏洞攻击

    l-> 对于用户登录的实现,提供SQL语句 •-> select * from 表名 where uid=- and pwd=- •-> 使用字符串拼接 l-> 提供密码为:' ...

  2. 重磅集结!CNCF/VMware/PingCAP/网易数帆/阿里云联合出品云原生生态大会

    "云原生(Cloud Native)"这个词在2020年刷屏了.在企业积极进行数字化转型,全面提升效率的今天,云原生被认为是云计算的"下一个时代". 12月16 ...

  3. log4js 的安装设置和实例

    1. 安装 yarn add log4js -D 2.设置 const log4js = require('log4js') 3.实例 var log = log4js.getLogger(); // ...

  4. Midnight Commander (MC)

    Midnight Commander GNU Midnight Commander 是一个可视化文件管理器,根据 GNU 通用公共许可证获得许可,因此有资格成为自由软件.它是一个功能丰富的全屏文本模式 ...

  5. Python pluggy框架基础用法总结

    代码为例进行说明 实践环境 Python 3.6.5 pluggy 0.13.0 例1 注册类函数为插件函数 #!/usr/bin/env python # -*- coding:utf-8 -*- ...

  6. 基于.NET开源、强大易用的短链生成及监控系统

    前言 今天大姚给大家分享一个基于.NET开源(MIT License).免费.强大易用的短链生成及监控系统:SuperShortLink. 项目介绍 SuperShortLink是一个基于.NET开源 ...

  7. 错误记录java: JDK isn't specified for module

    跑苍穹外卖的时候遇到了 java: JDK isn't specified for module 'sky-pojo'这一问题 解决办法是通过修改JDK版本,这个项目用的springboot比较早,可 ...

  8. 【OracleDB】 03 数据类型和常见对象概述

    我们可以通过PLSQL来查看Oracle的数据类型 总分类: - 字符型 1.CHAR 0 - 2000 字节 固定长度字符串 2.NCHAR 0 - 1000 字节 固定长度字符串[Unicode字 ...

  9. tensorflow 读、存取 图像 数据的 TFRecord 方法 (示例)

    1.     利用TFRecord 格式   读.存 取    Mnist数据集的方法 存取   Mnist数据集的方法     (TFRecord格式) import tensorflow as t ...

  10. ubuntu 服务器显示 计算显卡的剩余 显存空间 并执行计划任务

    在Ubuntu服务器上需要运行gpu计算任务,由于需要无人值守的在显存空间满足条件的时候运行程序,于是有了自动显示显存的程序及自动运行任务的程序: 自动显示显存: import os import r ...