LSF集群VCS+verdi仿真

VCS(Verilog Compiled Simulator)可以对一个模块的设计文件进行编译(compile),生成优化的仿真可执行文件,然后对该Verilog设计进行仿真(simulate),执行用户的testbench,报告仿真结果,输出波形查看文件。
 

LSF(load sharing facility)是用来集中监控和调用,充分共享计算机的CPU、内存、磁盘、license等资源的分布资源管理的工具,可以用来全公司共享集群算力,提高工作效率。工作时自己的云端主机只是集群的一部分资源,只能完成文件查看,代码编写等轻任务,而代码编译等重任务需要提交后台算力集群完成。

Makefile是一种用于“自动化编译”的脚本,只需要一个make命令,整个工程完全自动编译,用于提高项目编译的效率。

例如我们可以在terminal中输入: vcs -l vcs.log -full64 -sverilog +v2k +vcs+lic+wait tb.v fulladder.v 来运行vcs仿真,但每次都需要输入这段命令难免麻烦,而经过如下Makefile打包之后只需要输入make compile就好,更多命令同理。

compile:
        vcs -l vcs.log -full64 -sverilog +v2k +vcs+lic+wait tb.v fulladder.v &

之前我用的VCS+verdi仿真都是在Linux虚拟机(百度网盘链接:https://pan.baidu.com/s/1Z_R4vQe4D0wTzIqt4pbJoA?pwd=x6of 提取码:x6of ),由于运行的比较简单,因此都是简单的makefile。

第一次在公司用集群和makefile,遇到一些问题,记录一下:

首先与本地Linux不同的是,集群中的运算都要先提交,如:bsub -Is verdi //提交verdi任务并以图形界面打开;bsub -Is vcs//提交vcs编译任务

主要是在本地常用命令前面加上bsub -Is(当然这是基础命令,更多选项子命令没有列出),其余基本没有变化。

 详细注释如下

//获取当前路径
CURPATH=$(shell pwd) 
//确认顶层文件
top ?= tb
//确认输出文件夹
odir ?= out_dir
default:run 

//自动输出filelist
gen:
@python3 $(CURPATH)/flist_process/genfile list.py rtl.list        
@mkdir -p $(CURPATH)/$(odir)

//运行verdi查看波形
verdi:gen
    @cd  $(CURPATH)/$(odir) && \        
bsub -Is verdi -sv+v2k-f $(CURPATH)flist.f -ssf $(CURPATH)/$(odir)/tb.fsdb &
//-f $(CURPATH)flist.f是引入filelist中的verilof工程的.v文件
//-ssf $(CURPATH)/$(odir)/tb.fsdb是另外引入的编译后的波形文件

//编译代码,用于查看语法错误等
build:gen
@cd        $(CURPATH)/$(odir)&&\        
bsub -Is vcs-f $(CURPATH)/flist.f-lvcs.log-full64 -sverilog +v2k +vcs+lic+wait -debug acc+all+pp+fsdb -timescale=1ns/1ps &

//联合testbench仿真,用于生成波形文件
sim:build
@cd $(CURPATH)/$(odir)&&\
bsub -Is $(CURPATH)/$(odir)/simv-1 sim.log-lca -full64 -sverilog +v2k +vcs+lic+wait -timescale=1ns/1ps &

//编译仿真一键完成
run:build sim

//清除输出文件夹
clean:
@rm -fr out dir

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值