#前期准备
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"之前,放在之后可能存在包含问题。
---------------------
作者:didazhang
来源:CSDN
原文:https://blog.csdn.net/didazhang/article/details/88043626
版权声明:本文为博主原创文章,转载请附上博文链接!