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字节了