centos7从零开始安装VCS2016以及运行UVM-1.1a

@TOCcentos7从零开始安装VCS2016以及运行UVM-1.1a

#前期准备

1)centos7 64位系统
2)scl11.9
3)VCS2016

艰辛历程

前前后后持续了大概半个月时间。

安装步骤

事后写的,很多问题已经记得不是很清楚,有问题可以私信我,我看到后会回复。

所有经历过的错误

(1)安装./setup.sh时遇到,error while loading shared libraries: libXss.so.1: cannot open shared object file: No such file or directory
解决方法:yum install libXScrnSaver
安装完成后,再code。
(2) 验证:lmgrd -c /home/zhang/software/synopsys/license/Synopsys.dat
bash: /home/zhang/software/synopsys/scl11.9/scl/11.9/amd64/bin/lmgrd: /lib64/ld-lsb-x86-64.so.3: bad ELF interpreter: 没有那个文件或目录
解决方法:yum install redhat-lsb.i686
(3)gnu/stubs-32.h: No such file or directory
解决方法:yum -y install glibc-devel.i686

(9)
(10)file class ELFCLASS64 incompatible with ELFCLASS32

运行使用UVM

(1)每次启动无法查到license
需要运行指令:lmgrd -c /home/zhang/software/synopsys/license/Synopsys.dat
(9)2.3.4加入env,封装agent
在agent使用了is_active变量,make all之后发现出现错误
Identifier ‘is_active’ has not been declared yet.
在UVM源代码中/home/zhang/uvm-1.1d/src/comps/uvm_agent.svh可以发现is_active 本是成员变量,为何没有继承过来。
最终发现定义时出错:
class my_agent extends uvm_component;
改为,class my_agent extends uvm_agent;后运行通过。
查看了UVM1.1d的库,发现可以extends的包括,agent\driver\monitor\env\scoreboard\test等。
(10) 2.3.5 加入referece model 命名为my_model,主要是实现DUT的功能,DUT主要是接收激励以及对激励作出响应后输出至scoreboard。reference model的复杂程度依据DUT,数据传输使用TLM(trans level module)机制。
my_model从component继承,class my_model extends uvm_component;
uvm_blocking_get_port #(my_transaction) port; //
uvm_analysis_port #(my_transaction) ap; //
分别在build_phase中进行定义。
然后是new,build_phase,main_phase.
出现的错误:token ‘my_model’ should be a valid type. Please declare it virtual
if it is an Interface.
解决问题:include "my_model.sv"include “my_env.sv” ,将include "my_model.sv"放在include "my_env.sv"之前,放在之后可能存在包含问题。

你可能感兴趣的:(UVM)