趟了一下午的坑
我仿着前辈格式写了一个sequence_lib, vseq_lib 和test 文件,这些文件运行路径需要放到几个file里。
seq属于fp env, fp env 下有一个fp_pkg,需要把seq_lib 放进去。另外在上层目录下文件 xxxlist.f 和xxxuc_list.f, 用于include的 test,seq等文件路径。
刚local测试时,我一股脑地把seq_lib.sv 路径放在3个文件里放了一遍。本地也没发现毛病。
后来上传文件前需要先执行一个指令: hsim --tb_model exsc --realease_gate --bulild_clean --repeat 1, 结果报错 build fail。 fail 原因是 fp env 的 exsc_base_seq无效。翻来覆去地各种尝试,对比了无数次别人的成品,一直没毛病,其他人也是爱莫能助。纠结了整整一下午,忽然想到,上层目录里的xxxlist.f 和xxxuc_list.f可能还没有把 exsc_base_seq包进来,我个人的 seq extends exsc_base_seq; 所以,这两个文件不能把 seq_lib包进来,把这两个文件里的seq路径删除后重新build,pass了,妹的。
总结:env的调用执行是有顺序的,include 文件时注意顺序,子类不能超越父类。