当前位置: 首页 > news >正文

vcs makefile

主要参考:

VCS使用Makefile教程_vcs makefile-CSDN博客icon-default.png?t=N7T8https://blog.csdn.net/weixin_45243340/article/details/129255218?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522170524049516800227431373%2522%252C%2522scm%2522%253A%252220140713.130102334..%2522%257D&request_id=170524049516800227431373&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2~all~sobaiduend~default-1-129255218-null-null.142^v99^pc_search_result_base3&utm_term=vcs%20%20makefile&spm=1018.2226.3001.4187基于vcs2018,写了一个小module,编译通过,执行正常。

如下:

.PHONY : comp sim clean 
#当使用make命令行指定此目标时,这个目标所在规则定义的命令、无论目标文件是否存在都会被无条件执行。
PROJECT = test
UVM_VERBOSITY = UVM_LOW
DEBUG = 
#-debug/-debug_all/-debug_pp (在这里可以对debug的命令进行选择)
#-debug    —— (对应TB中的$vcdpluson加载波形函数)使能DVE、VERDI波形调试和UCLI命令行调试等;
#-debug_all  —— 使能所有的debug调试功能;
#-debug_pp  —— 同-debug_all,但是更加节约资源;
CM_PATH = ./ #指定覆盖率文件放置的路径comp : vcs \-kdb \-sverilog \+v2k \-timescale=1ns/10ps \$(DEBUG) \-f filelist \+vcs+lic+wait \-full64 \-LDFLAGS -Wl,--no-as-needed \-l compile.log 
sim :./simv  \+fsdb+autoflush \-l sim.logclean	:rm -rf *.log simv *.daidir csrc *.key DVEfiles *.vpd 
#
#	-ucli \#使能UCLI命令
#	-lca \# vcs参数,表示使用vcs“用户限制使用”功能,即vcs提供的一些功能,但该功能还未经过充分验证。
#	-kdb \# Knowledge Database (KDB),生成kdb.elab++,位于simv.daidir目录下
#	-sverilog \#  编译支持SystemVerilog语法;
#	+v2k \# 编译支持Verilog—2001语法;
#	-timescale=time_unit/time_precision \# 添加仿真时间单位、精度;
#	$(DEBUG) \#
#	-ntb_opts uvm \# —— 常用参数uvm,这里表示加载uvm库文件
#	-f filename  \#   —— 指定源文件的路径名列表
#	-cm line|cond|fsm|tgl|branch|assert\# —— 覆盖率收集,常用命令 -cm line+cond+fsm+tgl
#	-cm_dir $(CM_PATH) \#  —— 指定覆盖率文件放置的路径
#	+vcs+lic+wait \#—— 当所有的license都不可用时,等待vcs的license
#	-full64 \# 以64位模式编译设计并创建64位可执行文件用于64位模式下的模拟,如果不加上这个option,在仿真时,当出现内存超过4GB时,仿真会停止,但出现内存超过4GB可能是正常现象。
#	-o $(PROJECT)   \#  ——指定编译后产生的文件名,默认编译后的文件名为simv,在这为PROJECT指定的名字
#	-l compile.log \# 生成编译的日志
#sim :
#	./simv  \
#	+fsdb+autoflush \ # 命令行参数autoflush,一边仿真一边dump波形,如果没有该参数,那么不会dump波形,需要在ucli命令run 100ns后键入fsdbDumpflush才会dump波形

只需要在当前文件夹下创建一个filelist,把待编译的文件都列进去即可。

不过我用这个vcs2018,如果带着uvm编译会报错,不知道咋解决,后续再看吧。

 #error “UVM_ERROR: THIS VERSION OF VCS DOESN’T SUPPORT VCSMX_FAST_UVM.

http://www.lryc.cn/news/280798.html

相关文章:

  • 《Training language models to follow instructions》论文解读--训练语言模型遵循人类反馈的指令
  • Redis的实现二: c、c++的网络通信编程技术,让服务器处理多个client
  • QT上位机开发(动画效果)
  • 手写实现 bind 函数
  • 安卓Android Studio读写MifareOne M1 IC卡源码
  • 一二三应用开发平台文件处理设计与实现系列之5——MinIO技术预研
  • Native.js是什么
  • Vant-ui图片懒加载
  • 创建EasyCodeMybatisCodeHelperPro模板文件用于将数据库表生成前端json文件
  • 华为端口安全常用3种方法配置案例
  • RH850P1X芯片学习笔记-Flash Memory
  • 利用XSS漏洞打cookie
  • 用java写个redis工具类
  • 实现防抖函数
  • MetaGPT task1学习
  • 关于量子计算机的设想
  • 序列模型(4)—— Scaling Laws
  • 【软件测试学习笔记1】测试基础
  • pytorch详细探索各种cnn卷积神经网络
  • OpenCV——八邻域断点检测
  • leetcode238:除自身以外数组的乘积
  • VTK开发调试环境下载(VTK开发环境一步到位直接开发,无需自己配置编译 VS2017+Qt5.12.10+VTK)
  • 【JAVA】在 Queue 中 poll()和 remove()有什么区别
  • 常用Java代码-Java中的Optional类和null安全编程
  • android.os.NetworkOnMainThreadException
  • Java生成四位数随机验证码
  • 编程探秘:Python深渊之旅-----数据可视化(八)
  • 上海亚商投顾:创业板指冲高回落 光伏、航运股逆势走强
  • Python3 中常用字符串函数介绍
  • Python - 深夜数据结构与算法之 AVL 树 红黑树