别再为UVM环境发愁了!用路科V0虚拟机+《UVM实战》源码,10分钟搞定VCS/Verdi仿真
10分钟零配置玩转UVM验证路科V0虚拟机《UVM实战》全攻略当我在三年前第一次接触UVM验证时花了整整三天时间在环境配置上——从EDA工具安装、环境变量配置到Makefile调试每一步都踩过坑。直到发现路科V0预配置虚拟机这个神器才真正体会到什么叫开箱即用。本文将分享如何用这个虚拟机《UVM实战》源码在10分钟内搭建完整的UVM验证环境特别适合被环境搭建劝退的初学者。1. 为什么选择路科V0虚拟机传统UVM环境搭建有三大痛点工具安装复杂VCS/Verdi等EDA工具需要特定版本和license配置环境变量迷宫.bashrc配置稍有不慎就会导致工具无法运行库文件编译陷阱UVM库的32/64位兼容性问题让新手头疼路科V0虚拟机已预装以下环境组件版本预配置项VCS2018.09PATH环境变量、license设置Verdi2018.09图形界面集成UVM库1.1d已编译的64位版本Ubuntu系统16.04 LTS中文输入法、基础开发工具提示虚拟机默认用户为verifier密码123456建议首次登录后立即修改密码2. 五分钟快速启动指南2.1 获取并导入虚拟机从路科官网下载V0虚拟机镜像约4.7GB的OVA文件使用VirtualBox导入# 在宿主机终端执行 VBoxManage import ./luke_v0.ova --vsys 0 --vmname UVM_Env启动虚拟机后建议执行sudo apt update sudo apt upgrade -y2.2 获取《UVM实战》源码书中源码主要包含两个关键文件puvm.tar.gz各章节示例代码uvm-1.1d.tar.gzUVM基础库解压后目录结构应如下uvm_book_codes/ ├── ch01_basic/ ├── ch02_factory/ ├── ... └── uvm-1.1d/ ├── docs/ ├── examples/ # 重点目录 └── ...3. 关键配置解析与避坑指南3.1 Makefile修改的底层原理书中自带的Makefile.vcs需要添加-full64参数这是因为# 修改前 VCS vcs -sverilog -timescale1ns/1ns -debug_all # 修改后 VCS vcs -full64 -sverilog -timescale1ns/1ns -debug_all为什么必须加-full64路科虚拟机是64位系统VCS默认可能以32位模式运行不加该参数会导致UVM库链接失败3.2 run脚本的黄金三参数每个章节的run脚本需要添加三个关键参数#!/bin/bash vcs -full64 -debug_all -gui # 符号让进程后台运行参数详解-full64强制64位模式-debug_all开启所有调试功能-gui自动启动DVE图形界面常见错误忘记最后的符号会导致终端被占用无法继续输入命令4. 实战演示运行第一个UVM测试以第2章工厂机制示例为例cd ~/uvm_book_codes/ch02_factory # 用vim修改run脚本后保存 chmod x run # 添加执行权限 ./run # 启动仿真预期看到VCS编译日志滚动显示自动弹出DVE波形窗口终端显示UVM_INFO打印信息调试技巧如果Verdi无法启动尝试export NOVAS_HOME/opt/synopsys/Verdi2018 export PATH$NOVAS_HOME/bin:$PATH波形文件默认生成在simv.daidir目录5. 环境维护进阶技巧5.1 虚拟机快照管理建议在关键节点创建快照初始导入后成功运行第一个测试后安装新工具前VirtualBox快照命令VBoxManage snapshot UVM_Env take After_First_Run --description 能正常运行ch02示例5.2 共享文件夹配置实现宿主机-虚拟机文件共享# 在虚拟机内执行 sudo usermod -aG vboxsf verifier sudo mkdir /mnt/share sudo mount -t vboxsf HostShare /mnt/share5.3 性能优化参数在.bashrc末尾添加# VCS内存优化 export VCS_OVERRIDE_OPTIONS-M512 -R # Verdi线程设置 export VERDI_NUM_THREADS4记得执行source ~/.bashrc使配置生效6. 从虚拟机到生产环境当熟悉基础操作后可以尝试本地环境迁移记录虚拟机中的关键路径which vcs # 查看VCS安装路径 echo $VCS_HOME # 查看环境变量CI/CD集成将run脚本改造成Jenkins pipeline可调用的形式自定义镜像基于路科虚拟机制作团队专属镜像我在团队内部推广这个方法后新成员的UVM上手时间从平均2周缩短到1天。有个实习生甚至用这个环境在第三天就找到了第一个RTL bug——而这在以前需要等环境ready后才能开始真正的验证工作。
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2466647.html
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!