喜欢0次
E203仿真编译filelist的使用
队伍编号:CICC2136
队伍名称:芯如止水
在对E203硬件进行修改后,有时会出现编译时文件顺序不对的问题,导致仿真无法进行。这是因为在vsim/bin下的run.makefile中指定了通过wildcard导入所有rtl文件,根据默认的字母顺序进行编译:
RTL_V_FILES := $(wildcard ${VSRC_DIR}/*/*.v ${VSRC_DIR}/*/*/*.v)
TB_V_FILES := $(wildcard ${VTB_DIR}/*.v)
同时通过+incdir加入个别例外情况:
SIM_OPTIONS += +incdir+"${VSRC_DIR}/core/"+"${VSRC_DIR}/perips/"+"${VSRC_DIR}/perips/apb_i2c/"
如果增加了自己的文件,这种编译方式并不友好,因此可以考虑使用filelist的方式自行指定编译顺序。对run.makefile修改如下:
RTL_V_FILES := -f (your_e203)/vsim/install/rtl/filelist/filelist.f
同时将文件最后的compile.flg修改如下:
compile.flg:
@-rm -rf compile.flg
sed -i '1i\`define ${SIM_TOOL}\' ${VTB_DIR}/tb_top.v
${SIM_TOOL} ${SIM_OPTIONS} ${RTL_V_FILES} ${TB_V_FILES} ;
touch compile.flg
在这个例子中,filelist.f放置在(your_e203)/rtl/e203/filelist下,通过以下语句依次指明每一个源文件:
(your_e203)/vsim/install/rtl/e203/core/config.v
(your_e203)/vsim/install/rtl/e203/core/e203_defines.v
......
(your_e203)/vsim/install/rtl/e203/subsys/e203_subsys_top.v
(your_e203)/vsim/install/rtl/e203/soc/e203_soc_top.v
Filelist文件可以嵌套使用。完成上述工作后,正常进行编译仿真即可。