Linux下NC Verilog的基本使用教程


NC Verilog是Cadence公司开发的Verilog仿真工具,用于验证和调试HDL设计。

创建运行环境

本文使用的工程目录如下所示

work
├── rtl                       # 用于存放仿真验证的.v文件
│   ├── Detected_1001.v       # DUT
│   ├── Detected_1001_tb.v    # TestBench
├── sim                       # 运行仿真的目录。在此目录下运行nc_sim进行仿真、波形调试和覆盖率检测等
│   ├── run_test              # 用于启动nc_sim的脚本
│   ├── my_test.flist         # 列出所有与设计相关的.v文件的目录
│   ├── script.tcl            # 放置需要nc_sim执行的命令
│   ├── run_iccr              # 查看覆盖率的脚本

启动编译并仿真

如何启动编译并仿真:进入sim目录,在命令行执行run_test:source run_test

但是在启动编译并仿真前需要配置好sim目录下的三个文件

  1. run_test

    irun -gui -f my_test.flist -input script.tcl -message -coverage all -covtest cov_name -covoverwrite +access+rwc +sv
    
    • -gui:打开图形界面
    • -f my_test.flist:加入文件列表,文件列表放在my_test.flist文件中
    • -input script.tcl:添加(执行)一些输入命令,命令放置在script.tcl的脚本文件中
    • -message:执行信息显示
    • -coverage all:收集覆盖率选项。all表示收集所有的覆盖率
    • -covtest cov_name:存放覆盖率数据的目录
    • -covoverwrite:再次运行时可覆盖已生成的覆盖率数据库,不加则不能覆盖
    • +access+rwc:打开文件读写功能
    • +sv:加入System Verilog特性
  2. my_test.flist:列出所有与设计相关的 .v文件,包括test_bench文件、所有电路模块 (注意要给出文件的路径位置)

    ../rtl/Detected_1001_tb.v
    ../rtl/Detected_1001.v
    
  3. script.tcl

    database -open waves -shm -default
    probe -create -all -depth all
    
    
    • database -open waves -shm -default:保存波形文件。保存的波形文件最终保存在当前仿真文件夹里的waves.shm目录中
    • probe -create -all -depth all:给所有的信号创建探针。因此,这里就是把所有的信号的波形都保存下来

波形查看与调试

在执行完 source run_test 后,会弹出以下两个窗口

请添加图片描述

Design Browser 是设计浏览器窗口,显示整个设计的信息

Console 是命令窗口,显示仿真代码中的 display 语句、printf 语句的结果,也可以在此窗口中键入新的命令

Design Browser面板介绍

请添加图片描述

点击“打开波形窗口”按钮,可以打开波形界面如下:

请添加图片描述

然后点开设计浏览器窗口,可以看到设计层次化信息和信号。将想要查看的信号放到波形界面,就可以通过运行仿真查看波形。

请添加图片描述

请添加图片描述

查看覆盖率

  1. 当编译仿真结束后,会在当前目录(sim)下生成一个名为 cov_work 的目录,覆盖率信息就保存在这个目录下

  2. 功能调试结束后,关闭图形界面(点击File->Exit SimVision,不要直接点击窗口右上角的x关闭),然后在命令行里启动查看覆盖率的工具。采用命令:source run_iccr,run_iccr脚本的内容如下所示

    iccr -test test -gui
    

请添加图片描述

  • 0
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
ncverilog是一种Verilog编译器,用于编译Verilog代码并进行仿真。它可以通过命令行(shell)或图形界面(nclaunch)进行操作。在使用ncverilog时,可以采用三步模式或单步模式。三步模式包括编译(ncvlog)、建立snapshot文件(ncelab)和进行仿真(ncsim)。而单步模式则是逐步执行代码。基于shell的ncverilog操作更适合于大批量操作,而ncverilog的波形查看配套软件是simvision,可以用于查看原理图、波形和信号流等信息。\[1\]\[2\] 以下是一个ncverilog使用的例子: 1. 编译Verilog代码: ``` ncvlog file1.v file2.v ``` 这将编译名为file1.v和file2.v的Verilog文件。 2. 建立snapshot文件: ``` ncelab -access +rwc top_module ``` 这将建立名为top_module的snapshot文件,以供后续仿真使用。 3. 进行仿真: ``` ncsim -gui top_module ``` 这将启动仿真并打开图形界面,可以在simvision中查看波形和信号流。 请注意,以上只是一个简单的例子,实际使用时可能需要根据具体情况进行参数设置和文件路径的指定。同时,还可以通过ncverilog的帮助文档或官方文档来获取更详细的使用说明和示例代码。 #### 引用[.reference_title] - *1* [ncverilog使用](https://blog.csdn.net/WTT_1988/article/details/42079031)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^koosearch_v1,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* [NC-verilog仿真工具使用(一)](https://blog.csdn.net/dxz44444/article/details/110222003)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^koosearch_v1,239^v3^insert_chatgpt"}} ] [.reference_item] - *3* [iverilog工具的使用](https://blog.csdn.net/LW1491215201/article/details/128650225)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^koosearch_v1,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值