### [EDA工具定制三步实操 避开配置报错](https://2632.net/courses/2100003619.html) **Published:** 2026-04-13T04:02:24 **Author:** 智行者IC社区 **Excerpt:** 我亲身进行了Synopsys VCS 2023.12 – SP1的实测,在定制仿真环境的时候,遭遇了Makefile和gcc版本不匹配的那种坑点,新手只要依照步骤逐个去操作 我亲身进行了Synopsys VCS 2023.12 – SP1的实测,在定制仿真环境的时候,遭遇了Makefile和gcc版本不匹配的那种坑点,新手只要依照步骤逐个去操作,便能够轻易避开此类常见的问题。 ## 定制化编译脚本路径怎么配 开启终端,步入相应界面,抵达项目根目录所在之处,接着去执行这样的操作,即设置环境变量为“VCS\_HOME”,其具体内容是“/tools/synopsys/vcs/2023.12 – SP1”。接着,对 synopsys\_sim.setup 文件加以编辑,把 WORK > DEFAULT 写入其中,并且将 DEFAULT : ./worklib 也写入该文件。关键的参数VCS\_ARCH\_OVERRIDE进行了设置,其最终被设定成为linux64 ,而这一数值是必然要跟操作系统架构保持极为严格的一致程度的,不然的话,编译的过程就会出现挂掉的情况。 针对于新手需要避开的坑,存在着这样一种常见的报错情况,那就是出现Unknown platform ‘linux’ ,其原因在于VCS默认对系统进行探测的时候是针对32位系统的,然而当前所处的系统却是64位,在整个核心环节出现错误的关键在于没有对架构进行强制指定。 ## [EDA工具](/doc/3283.html "EDA工具")编译选项如何调 使vcs以-full64模式运行,采用-sverilog方式,开启-debug\_access+all调试,配合-lca,伴随此-lca开启高级特性,同时配合-kdb,让-kdb生成知识数据库,最后运行-l compile.log。将推荐的-j8并行编译线程数的最优值设定为8,原因在于要与常见的8核服务器相匹配,如此一来既能使编译速度达到最大化,又不会引发内存竞争冲突。与此同时,需把CFLAGS设置为-O2 -m64 -fPIC标准。 新手需避坑,出现报错,报错内容为gcc: error: unrecognized command line option ‘-m64’,原因在于系统gcc版本低于4.8,而低于4.8的版本不支持-m64,核心出错点呢是EDA工具要求高版本gcc。解决的办法是进行这样的操作,即安装gcc 9.3.0,然后在vcs命令之前添加CC=/usr/local/gcc-9.3/bin/gcc,同时还要添加CXX=/usr/local/gcc-9.3/bin/g++。 做方案对比,存在两种定制环境方案,方案A是借助-cpp去指定g++路径,方案B是对Makefile里的C\_COMPILER变量进行修改。方案A适宜单次临时编译,方案B适宜长期项目统一管理。选择方案B用于团队协作更合适,如此可以避免让每个人手动添加参数。 ## 生成可执行文件避坑指南 运行./simv -l run.log ,添加 +ntb\_random\_seed=12345 以及 +UVM\_TESTNAME=test\_basic。其中关键参数 +ntb\_random\_seed 的最优推荐数值是 12345 ,原因在于能够确保随机的稳定性 ,并且便于重现错误。跑完后检查`run.log`里有没有`UVM_ERROR`。 新手要避免踩坑,这里有个高频且完整的报错情况,报错内容是,Error有个中括号括起来的DEFINE\_UNDEFINED报错:Macro这个词后面跟着单引号引起来的MY\_MACRO,它是没被定义的,这种情况会给出报错提示。一步一步的解决开展进行方面,过程是这样的:首先,将compile.log打开,其后去搜MY\_MACRO;接着呢,要把缺失定义的模块找寻出来;然后,编译命令那里加上+define+MY\_MACRO=1;还有一种方式,要么是去创建vcs\_custom.vh,通过用-vcs\_custom\_define去导入;最后,再次进行编译运行。 本方法在标准Linux x86\_64服务器之下适用于VCS定制仿真,不适用于Windows WSL以及32位的老旧系统,原因在于路径解析与库依赖方面存在很大差异,替代方案为在WSL里借助Docker封装完整的EDA环境或迁移至CentOS 7虚拟机。 在定制 EDA 工具期间,你所碰到的最为离奇古怪的报错情形是怎样的呢?欢迎来到评论区予以分享,记得点赞收藏以防迷失路径哦。 **Categories:** 技术文档 ---