Ubuntu 下使用 NCverilog 仿真 Verilog 工程

姓名:徐铭伟   学号:21011210001   学院:通信工程学院

【嵌牛导读】Uubuntu下使用NCverilog仿真Verilog工程

【嵌牛鼻子】Uubuntu下使用NCverilog仿真Verilog工程

【嵌牛提问】如何在Uubuntu下使用NCverilog仿真Verilog工程

【嵌牛正文】

0x01 NCverilog 简介

NCverilog 是国际 EDA 巨头 Cadence 旗下的仿真软件。NCverilog 有 shell 和 GUI 两种版本,GUI 版本的叫做 NClaunch ,本文仅说 shell 版本的。

与 Windows 下的常用 EDA 软件 Modelsim/QuestaSim 不同,Linux 下的 EDA 软件通常是仿真和波形查看功能是分离的,比如 Synopsys 旗下的 VCS 和 Verdi 、以及轻量级开源 EDA 工具 Icarus-verilog 和 GTKwave。Cadence 的波形查看器称为 Simvision

0x02 NCverilog 仿真自动化

NCverilog 的三步命令模式有ncvlog(编译)ncelab(建立snapshot文件)ncsim(对snapshot进行仿真);同时也支持单命令模式,下面使用单命令编写 Makefile 实现自动化仿真:

# This is a Makefile for NCsim

TbFileName  += "testbench"

SimFileList += "SimFileList"

RtlFileList += "RtlFileList"

all:

@echo "Start NCverilog......"

ncverilog \

+access+wrc \

+nctimescale+1ns/1ps \

-f SimFileList \

-f RtlFileList

@echo "NCverilog is Over!!!"

clean:

rm -rf ./INCA_libs ./*.shm

因为最终需要生成 Simvision 所支持的波形文件,即 .shm 文件,所以在 testbench 文件中需要加入以下语句;其中 TESTwave.shm 为 shm 文件名称,testbench 为顶层 tb module 的名称。

// generate shm File

initial begin

    $shm_open("TESTwave.shm");    // 打开波形保存文件wave.shm

    $shm_probe(testbench,"AS");    // 设置探针

end

0x03 执行仿真 & 查看结果

在 Makefile 所在目录执行 make 即可调用 NCsim 内核对 tb 文件进行仿真,仿真结束后停留在 NC 的命令行界面,此时可以使用 NC 的指令对仿真进行进一步操作,或者输入exit 退出 NCverilog 命令行界面。

再打开一个终端输入simvision将会打开 simvision 界面,点击左上角的 File -> Open Database 选择生成的 .shm 文件,点击 Open 即可打开波形。


当更改设计或仿真文件后可以点击左上角 File->Reload Database 重新加载波形。

姓名:徐铭伟   学号:21011210001   学院:通信工程学院

你可能感兴趣的:(Ubuntu 下使用 NCverilog 仿真 Verilog 工程)