SystemVerilog学习之路(1)— 搭建开发环境和HelloWorld

SystemVerilog学习之路(1)— Questasim下载安装和HelloWorld

一、前言

Questasim是由Mentor Graphics公司推出的一款非常好用且功能强大的高级仿真模拟工具,该软件基于标准的单核验证引擎,集成了一个HDL模拟器,一个约束求解器,一个判断引擎,功能覆盖,以及一个通用的用户界面。Questasim可以用于各类产品的仿真模和调试等操作,可以大大地降低复杂FPGA和SOC设计的风险。

参考:Questasim10.6c下载安装教程
Questasim的基本运用

二、Questasim下载

可以使用上面参考文章的链接下载:https://pan.baidu.com/s/1Dl_X2lVWv8gz9s_i0KPj2w 提取码:qd1h

三、Questasim安装

下载好后双击questasim-win64-10.6c.exe文件开始安装
在这里插入图片描述
点击下一步
在这里插入图片描述
选择我们需要安装的路径,然后点击下一步
在这里插入图片描述
点击同意其许可协议
在这里插入图片描述
然后我们等待其安装完成,然后会询问是否在桌面创建快捷方式,点击【是】即可,接下来还有询问添加环境变量的,同样选【是】
在这里插入图片描述
接着注意询问是否安装【Key Driver】,这里我们要选择【否】
在这里插入图片描述
接着点击【完成】即可
在这里插入图片描述

三、Questasim许可

安装好后解压得到文件夹
在这里插入图片描述
将该文件夹下的四个文件复制
在这里插入图片描述
粘贴到安装目录的【win64】文件夹下
在这里插入图片描述
接着就是将该文件夹下的【mgls64.dll】文件的只读属性去除掉
在这里插入图片描述
然后双击运行刚刚复制过来的【patch_dll.bat】文件,等待其生成【LICENSE.TXT】文件
在这里插入图片描述
然后将该文件保持到【win64】文件夹下,文件名不变
在这里插入图片描述
接下来我们要添加一个环境变量,变量名为MGLS_LICENSE_FILE,变量值即为【LICENSE.TXT】文件的路径,我这里是D:\software\questasim64_10.6c\win64\LICENSE.TXT在这里插入图片描述
点击确定保存好后,就可以双击桌面图标打开软件了
在这里插入图片描述
如果不能打开的话,就需要重启一下电脑,或者把安装手册里的其他环境变量添加上
在这里插入图片描述

四、新建Hello工程

点击【File】->【New】->【Project…】新建一个工程
在这里插入图片描述
然后输入工程名称和存放路径
在这里插入图片描述
点击新建一个sv文件
在这里插入图片描述
输入文件名称,选择文件类型为SystemVerilog
在这里插入图片描述
然后我们可以看到helloworld.sv问价已经新建好了,然后该新建窗口可以关闭了
在这里插入图片描述
双击就可以打开编辑器了,然后我们在编辑器里编写代码如下所示
在这里插入图片描述
编辑好后我们右键【Compile】->【Compile Selected】进行编译
在这里插入图片描述
编译成功后可以看到其状态已经从问号【❓】变成了对勾【√】
在这里插入图片描述
接着就可以在库里面找到我们编写的这个模块了
在这里插入图片描述
接着我们右键选择【Simulate without Optimization】开始仿真
在这里插入图片描述
我们在软件下方【Transcript】栏的命令行中输入run命令,然后按回车执行
在这里插入图片描述
执行效果如下所示,Hello World成功打印
在这里插入图片描述

五、运行时间

当我们执行了run命令后,当前时间已经变成了100ns
在这里插入图片描述
那这个100ns是怎么来的呢,这是因为我们在时间设置栏里单次运行时间就是100ns,我们可以将其修改为500ns
在这里插入图片描述
接着再次输入run命令,可以看到,当前时间已经变成了600ns,可见已经运行了500ns
在这里插入图片描述
我们执行run -all命令,可以发现当前时间并没有改变,这是因为仿真器检测到当前已经没有任何激励或者变化了,所以仿真器认为没有跑下去的必要了
在这里插入图片描述
我们修改代码,加一个延时等待在里面,注意编辑完成后要保存

module tb;
	initial begin
		#10us;
		$stop();
	end

	initial begin
		$display("Hello World! I am William.");
	end
endmodule

然后重新编译,再次仿真运行,先执行一个run命令,可以看到,运行了500ns
在这里插入图片描述

再执行一个run -all命令,可以看到,运行到10us处,然后就退出了
在这里插入图片描述

六、软件优化使用

1、缩进优化

参考:modelsim SE-64 10.4的tab缩进设置
刚才我们看到,我们编写的代码使用【TAB】键缩进的时候,是以8字节缩进的,这对于我们来说是不习惯的,点击【Tools】->【Edit Preferences…】打开参数设置界面
在这里插入图片描述
然后我们点击【By Name】,在【Source】下找到【tabs】
在这里插入图片描述
双击该栏,将其改为4,然后保存退出即可
在这里插入图片描述
可以看到,我们编辑器里的缩进格式都变成4字节了
在这里插入图片描述

七、附录

  • 25
    点赞
  • 86
    收藏
    觉得还不错? 一键收藏
  • 8
    评论
### 回答1: SystemVerilog是一种硬件描述语言,用于设计和验证数字电路系统。它是从Verilog语言发展而来的,并扩展了其功能。 要搭建SystemVerilog环境,需要以下步骤: 1. 安装仿真工具:为了能够编译和仿真SystemVerilog代码,需要选择一款支持SystemVerilog的仿真工具。例如,常用的仿真工具有ModelSim、VCS等。按照仿真工具提供的安装指引进行安装。 2. 创建项目:使用仿真工具创建一个新项目,为该项目选择一个合适的目录,并命名该项目。 3. 添加文件:在项目中添加SystemVerilog文件。SystemVerilog文件通常以".sv"为后缀。这些文件包含了模块、任务、函数的定义,以及对它们的调用。 4. 编译代码:使用仿真工具提供的编译选项编译SystemVerilog代码。编译可以通过命令行或者图形界面完成。 5. 仿真验证:对编译后的代码进行验证。通过仿真工具提供的仿真选项,可以运行仿真并观察模块的行为和信号波形。仿真验证过程主要是为了检查设计是否满足规格要求。 6. 优化和修复:如果在仿真验证过程中发现了问题或者性能瓶颈,需要对SystemVerilog代码进行优化和修复。这可能涉及到对模块的结构或者信号传递方式进行修改。 7. 生产环境:一旦系统验证通过,可以将SystemVerilog代码用于实际的产品开发和制造。这可能需要将代码集成到其他工具和流程中,例如综合工具、布局和布线工具等。 总之,SystemVerilog搭建需要安装仿真工具,创建项目,添加文件,编译代码,进行仿真验证,并最终用于实际的产品开发和制造。这些步骤可以根据具体的需求和工具进行调整和扩展。 ### 回答2: SystemVerilog是一种硬件描述语言,广泛用于数字电路设计和验证。搭建SystemVerilog环境通常包括以下步骤: 1. 安装SystemVerilog编译器:首先需要从可靠的来源下载和安装合适的SystemVerilog编译器,例如Mentor Graphics的ModelSim、Cadence的Xcelium、Synopsys的VCS等。根据操作系统的不同,可能需要执行一些额外的配置步骤。 2. 设置设计环境:在搭建SystemVerilog环境之前,需要确定所使用的设计工具版本和流程。然后,需要设置环境变量和路径,以便系统能够识别和访问到相关的安装文件和库。 3. 编写SystemVerilog代码:使用任何文本编辑器或集成开发环境(IDE),编写SystemVerilog代码。SystemVerilog支持模块化设计,可以将设计分割为多个模块,并使用模块之间的端口和信号进行通信。 4. 进行仿真:通过调用SystemVerilog编译器,将编写的代码编译成可执行文件。然后,使用仿真工具加载可执行文件,并通过集成开发环境或命令行执行仿真。仿真可以验证设计的功能和时序,并进行排错和调试。 5. 进行验证:在仿真阶段,可以添加验证代码来验证设计是否符合规范和预期行为。这可能包括自动化的测试用例生成、功能覆盖率分析和时序验证。 6. 综合和布局布线:在验证通过后,可以使用综合工具将SystemVerilog代码综合成门级电路描述,然后使用布局布线工具将门级电路描述映射到实际的物理芯片布局。 总的来说,搭建SystemVerilog环境需要安装合适的编译器、设置设计环境、编写SystemVerilog代码、进行仿真和验证、综合和布局布线等步骤。这些步骤组合起来,可以帮助工程师开发和验证高质量的电路设计。
评论 8
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值