在VSCode中配置Verilog语言环境并使用学习WaveTrace插件-程序员宅基地

技术标签: 笔记  编译器  vscode  verilog  


VS Code和Verilog

VS Code是时下一款较为流行的代码编辑器,Verilog是一门硬件描述语言,如今已经被中山大学作为计算机学院计算机专业学生的一门必修课。

提示:以下是本篇文章正文内容。

一、本教程的适用范围?

示例:本教程适用于Windows操作系统,通过Windows10操作系统演示。


二、使用步骤

1.下载VS Code

登录VS Code官网下载其正版安装包,整理并设置VS Code的桌面快捷键

2.在VS Code下载相关插件

<1>Verilog-HDL

很好地

<2>Wavetrace

在这里插入图片描述

3.下载Verilog的编译工具

----Iverilog编译器

此处推荐初学者使用轻量级的iverilog编辑器,

4.配置编辑器的环境变量

两步图片如下:需要配置两个环境变量,至此,编译器已经可以正常使用。
如果报错,请尝试重新启动电脑以使得刚添加的环境变量被系统有效识别。
在这里插入图片描述

5.确认iverilog可以正常使用(可忽略)

6.设置Verilog-HDL插件

在这里插入图片描述
在这里插入图片描述

7.尝试开始第一个verilog代码片段

代码如下(示例):

module My_Journey_Begins; 
  initial begin
    $display(" Hello World!" ) ;
  end
endmodule

尝试在终端输入对应的命令,输出结果如下:
成功后会有Hello World!显示。
在这里插入图片描述

8.尝试开始第一个verilog仿真代码片段

-----------------------------此处以一个全加器为例----------------------------
向大家展示插件的威力:
请尝试保存如下代码至桌面:

module adder(X, Y, Cin, Cout, S);

	input [0:1] X;
	input [0:1] Y;
	input Cin;
	output reg [0:1]S;
	output reg Cout;

	always @(X , Y , Cin) begin
   		 {Cout , S} = X + Y + Cin;
	end
endmodule

module testBench();
    reg [0:1] A , B;
    reg Cin;
    output [0:1]S;
    output Cout;
    
    adder U(
    .X(A),
    .Y(B),
    .Cin(Cin),
    .Cout(Cout),
    .S(S)
    );
    
    initial begin
        A = 0;
        B = 2;
        Cin = 1;
        #10 A = 1;
        #10 Cin = 1;
        #10 B = 0;
        #20 A = 3;
        #30 Cin = 0;
        #40 B = 3;
        #50 Cin = 1;
    end
    
    initial begin
        $monitor($time,,,"part:%b  %b", S, Cout);
        #70
        $finish;
    end
/*iverilog */
    initial
    begin            
        $dumpfile("wave.vcd");        //生成的vcd文件名称
        $dumpvars(0, testBench);    //tb模块名称
    end
/*iverilog */

endmodule

9.尝试测试第一个verilog代码片段

请输入如下命令至Code的终端:
测试你是否有如下输出
在这里插入图片描述

10.尝试使用WaveTrace插件

现在你的桌面或许已经生成了一个wave.vcd的文件
将他直接用鼠标拖入你的欢迎页面试试
在这里插入图片描述

11.尝试测试第一个verilog仿真波纹图像

在这里插入图片描述

Step 1:

点击Add Signs ,选择一路或多路信号,并双击它在这里插入图片描述

Step 2:

更改颜色,变量和其他设置,享用WaveTrace。

总结

提示:这里对文章进行总结:
例如:以上就是今天要讲的内容,本文仅仅简单介绍了使用,而没有提供了大量能使我们快速便捷地处理数据的函数和方法。

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/weixin_51927244/article/details/115683303

智能推荐

个人联想Thinkpad X1 carbon 笔记本遇到的问题及解决办法_thinkpad x1carbon开机黑屏-程序员宅基地

文章浏览阅读214次。新买的一台联想Thinkpad X1 carbon 12代笔记本,不知道怎么搞的,突然有一天启动后会出现一段黑屏时间,然后等一段时间才会正常,非常地烦人。打电话给联想客服只提供了附近的维修地点,但那得花时间跑去啊。今天下午自己摸索终于解决问题了。没什么好办法,我开始卸载电脑上很多的软件,一是不想用了,二是想卸载的这些软件可能就是导致这个问题出现的原因,在卸载的时候看到电脑上的相关应用,但是在点开相机应用的时候竞然发现相机不能用了。怎么这么奇怪,我想到我以前确实是设置了一下相机的权限,难道是这个问题引起的。_thinkpad x1carbon开机黑屏

Krpano:打造全景漫游体验—基础(一)-程序员宅基地

文章浏览阅读577次,点赞29次,收藏8次。由于基础知识太多,篇幅太长,本文只讲解了krpano的运作机制、tour.js的讲解以及krpano各个元素的简单介绍,下一篇文章将详细讲解krpano中的动作也就是< action >元素的使用和用法。

vue 前端表格导入与导出_vue fixdata-程序员宅基地

文章浏览阅读557次。excel导入到表格表格导入与导出,文末带Blob.js和Export2Excel.js导入按钮<input type="file" @change="import(this)" accept=".csv, application/vnd.openxmlformats-officedocument.spreadsheetml.sheet, application/vnd.ms-excel"/>导入方法import(obj) { _vue fixdata

Error: protect(): protection stack overflow [防护堆叠上溢] 解决方案①_r studio中保护堆栈溢出-程序员宅基地

文章浏览阅读6.4k次。在执行R代码是遇到防护堆叠上溢的error,有效方案①1、命令行到Rgui.exe的地址(cmd)2、输入Rgui.exe --max-ppsize=5000003、在打开的R中输入options("expressions"=20000)memory.limit(size=8000000)https://www.researchgate.net/post/error_protect_protection_stack_overflow_in_R..._r studio中保护堆栈溢出

ORA-01092、ORA-00704、ORA-39700 错误的处理方法_ora-01092: oracle instance terminated. disconnecti-程序员宅基地

文章浏览阅读7.6k次。场景:通过rman做一个数据库的异机恢复,进行到最关键的一步,打开数据库的时候报了错误,详细如下SQL&gt; startup mount;Oracle 例程已经启动。Total System Global Area 6797832192 bytesFixed Size 2241264 bytesVariable Size 3523218704 bytesDatabase Buffers 3254..._ora-01092: oracle instance terminated. disconnection forced ora-00704: boots

java 判断ftp文件是否存在_java如何检验ftp服务器中指定文件是否存在-程序员宅基地

文章浏览阅读202次。项目工作中,需要检验ftp服务器中指定文件是否存在,在网上查阅了相关资料,可以通过ftpClient类进行实现。免费学习视频教程分享:java课程具体实现代码:import org.apache.commons.net.ftp.FTP;import org.apache.commons.net.ftp.FTPClient;import org.apache.commons.net.ftp.FTPR..._java判断ftp file是否存在

随便推点

高通平台8953 Linux DTS(Device Tree Source)设备树详解之一(背景基础知识篇)_高通提取dtb-程序员宅基地

文章浏览阅读5.8k次,点赞3次,收藏61次。本系列导航:高通平台8953 Linux DTS(Device Tree Source)设备树详解之一(背景基础知识篇)高通平台8953 Linux DTS(Device Tree Source)设备树详解之二(DTS设备树匹配过程)高通平台8953 Linux DTS(Device Tree Source)设备树详解之三(高通MSM8953 android7.1实例分析篇)一.什么是DTS?为..._高通提取dtb

ubuntu上opencv源码编译_libjasper-dev源码-程序员宅基地

文章浏览阅读301次。安装必备包sudo apt-get install build-essential cmake libjpeg-dev libtiff5-dev libjasper-dev安装gtkfor opencv3.2 and above:sudo apt-get install libgtk-3-devfor opencv2.4.x:sudo apt-get install libgtk2.0-dev安装v4l2sudo apt-get install v4l2ucp v4l-ut._libjasper-dev源码

安卓设备连接Unity Profiler进行性能分析_unity profile 手机-程序员宅基地

文章浏览阅读4.6k次,点赞2次,收藏7次。内容会持续更新,有错误的地方欢迎指正,谢谢!方式一:手机上运行游戏,以ADB方式连UnityProfiler分析游戏性能1.安卓环境:jdk、sdk:cmd(Win+R打开界面并输入cmd) 里直接输入 java 能正常输出即可 https://www.jianshu.com/p/21babde25dd5 adb:cmd 里直接输入 adb 能正常输出即可 https://www..._unity profile 手机

海思3559AV100实现8k文件编码_rk_mpi_cal_comm_getpicbuffersize-程序员宅基地

文章浏览阅读913次,点赞13次,收藏27次。有些小改动需要在common中改,都很简单就不写了,看一下就知道,另外我这边只测试了8k的一帧编码,如需连续编码视频需要再扩展一下,我这边由于公司项目安排就没再继续做了,测试出来8k文件编码的结果如下,颜色偏差是因为我的YUV和板子支持的YUV的存储顺序不一致,这里时间关系也就不调了,也算是顺利实现了芯片的8k文件编码。第二个函数是SAMPLE_VENC_CheckSensor,应该是检查镜头的分辨率支不支持要编的尺寸,这里我们先试的4k,所以也可以不管这个。_rk_mpi_cal_comm_getpicbuffersize

Android BLE 蓝牙通信库,2024年最新应届生面试销售岗位的面试问题技巧_android蓝牙通信-程序员宅基地

文章浏览阅读919次,点赞12次,收藏10次。然后根据自定义的协议,解析对应的 BeaconItem 中的 bytes,首先创建一个 BeaconParser,传入对应的 BeaconItem,然后根据协议不断读取数据, 如果协议中某个字段占 1 个字节,则调用 readByte,若占用两个字节则调用 readShort,如果要取某个字节的某个 bit 则调用 getBit。// 获取第 1 字节的第 1bit。可以在广播中携带设备的自定义数据,用于设备识别,数据广播,事件通知等,这样手机端无需连接设备就可以获取设备推送的数据。_android蓝牙通信

推荐文章

热门文章

相关标签