### [EDA工具选型实操 三步避开Synopsys DC常见坑](https://2632.net/courses/2100003510.html) **Published:** 2026-04-04T07:03:30 **Author:** 智行者IC社区 **Excerpt:** 实实在在亲自测试了Synopsys DC 2023.12 – SP3,遭遇过因lib库路径写错致使综合直接崩溃的情况,新手依据步骤逐个操作,便能够轻易躲开这类常见问题。1 实实在在亲自测试了Synopsys DC 2023.12 – SP3,遭遇过因lib库路径写错致使综合直接崩溃的情况,新手依据步骤逐个操作,便能够轻易躲开这类常见问题。 **1\. 环境变量配置** 打开,位于用户主目录下的隐藏文件.bashrc,往其中添加内容,内容为,将SYNOPSYS\_HOME环境变量设置为/tools/synopsys/DC\_2023.12,再添加内容,内容是将PATH环境变量设置为现有PATH加上SYNOPSYS\_HOME目录下的bin子目录路径,最后执行source命令,该命令作用于~/.bashrc文件。关键参数LM\_LICENSE\_FILE,建议设置成为27000@lic\_server,原因在于,统一端口能够防止冲突,在多个工具共同使用的时候,不需要反复进行修改。 避免新手踩坑,运行dc\_shell时出现“command not found”提示:很大概率是PATH顺序有误,通过echo $PATH检查,要保证/bin处于前面;要是出现“License checkout failed”提示,首先使用lmstat -a查看服务器是否连通,接着ping lic\_server来确认网络情况。 **2\. 启动并挂载库文件** 因综合时采用最慢corner,后端布线后setup/hold更易于收敛,所以slow.db是最优推荐值,且要留出20%时序余量。 【新手避开误区】,当出现报“无法找到库”的情况时:千万绝对不要使用相对路径!使用pwd查看当前目录,然后直接固定写成/home/project/lib/slow.db。另外还要检查.db文件是否被chmod锁定,通过ls -l查看一下权限。 **3\. 读入设计文件** 分别执行,先进行read\_verilog -netlist -verbose ./rtl/uart\_top.v操作,然后执行current\_design uart\_top操作,最后执行link操作 ,是这样的流程过程。将时钟周期设定为8纳秒,此设定是为目标100兆赫兹留出20%的余量,对应的命令是:create\_clock -period 8 \[get\_ports clk\]。 《【新手躲避陷阱】》,出现“报‘未定义模块uart\_rx’”这种情况,是因为“读入顺序有误”,“子模块必须在顶层之前读入”。“方案对比”方面,“其一”,“图形界面gui\_start”,接着进行“File”操作,再选择“Read”,然后勾选“Verbose”,这种方式适合“用肉眼检查错误”;“其二”,“脚本模式dc\_shell -f run.tcl”,此方式适合“批量跑完后去喝茶”。“调试时使用第一种方式”,“生产时使用第二种方式”。 对高频出现的错误提示“Feature DC\_Ultra\_Opt not available”进行完整解决,具体步骤如下:可以通过运行lmstat -a来查看是否存在feature缺失的情况,若发现存在feature缺失,接着打开license文件,在其中搜索“DC\_Ultra\_Opt”,要是没有找到该内容,那么就更换带有该feature的license文件,或者联系管理员进行处理,之后设置export LM\_LICENSE\_FILE=27000@new\_server,然后通过运行lmgrd -c license.dat来重启服务,最后在dc\_shell中再度重试。 开源 EDA(像 Yosys 这样的)不适用上述方法,替代的方案是:改成使用 yosys -p”read\_verilog uart\_top.v; synth\_ice40″ ,环境变量全部要手动去配置。你手头的 EDA 选型在哪里卡在了某个报错上面呢?在评论区把截图丢出来,我帮你看一看。 **Categories:** 技术文档 ---