第1章:Linux基础与EDA环境
大家好,我是你们的DFT讲师。今天咱们聊聊Linux基础和EDA环境搭建。说实话,很多刚入行的朋友觉得这步很简单,直接跳过。但我见过太多人因为基础不牢,后面调试工具时抓耳挠腮。
嗯,咱们慢慢来。先把地基打牢。
1.1 为什么DFT工程师必须懂Linux?
说白了,整个芯片设计流程都跑在Linux上。你想想看,EDA工具(比如Synopsys的TetraMAX、Mentor的Tessent)都是Linux原生应用。Windows?不存在的。
我刚开始带新人时,发现有人连ls和cd都搞混。结果跑仿真时路径写错,白白浪费半天。所以,Linux命令是DFT工程师的吃饭家伙。
核心观点:Linux不是可选项,是必选项。你越熟练,工作效率越高。
1.2 最常用的Linux命令(够用就行)
我不打算列一堆命令吓唬你。咱们只挑DFT工作中最常用的几个。其他的,用到再查。
1.2.1 ls 和 cd —— 你的左右手
ls:列出当前目录的文件。我习惯用ls -ltr,按时间排序,最新修改的排在最后。cd:切换目录。记住cd ..返回上级,cd ~回家目录。
我在项目中遇到过一件事:有个同事用cd时忘了加路径,结果在根目录下乱跑。最后找不到自己的工程文件。嗯,这种低级错误其实很常见。
1.2.2 grep —— 搜索神器
DFT工程师经常要翻看日志文件。几百兆的log,你总不能一行行看吧?grep就是干这个的。
grep "Error" run.log # 查找所有Error
grep -i "warning" run.log # 忽略大小写
grep -r "module_name" ./ # 递归搜索整个目录
我个人习惯把常用grep命令写成别名。比如:
alias g='grep --color=auto'
这样每次敲g "Error"就能高亮显示,眼睛舒服多了。
1.2.3 find —— 找文件利器
工程大了,文件散落在各个目录。用find比用鼠标点快一万倍。
find . -name "*.v" # 找所有Verilog文件
find . -mtime -1 # 找最近1天修改的文件
小技巧:配合xargs使用,比如find . -name "*.log" | xargs grep "Error",效率翻倍。
1.2.4 vim —— 编辑器中的瑞士军刀
我知道有人用VSCode,但在服务器上,只有vim最靠谱。你不需要成为vim高手,但至少要会:
i进入插入模式,Esc退出:wq保存退出,:q!不保存退出/pattern搜索,n下一个
我曾经在客户现场调试,只能用vim改脚本。当时手抖得不行,但硬是靠着这几个命令搞定了。所以,别小看vim。
1.3 环境变量设置
环境变量,说白了就是告诉系统「我的工具装在哪」。DFT工具依赖的环境变量特别多,设置不对,工具根本跑不起来。
1.3.1 常用的环境变量
| 变量名 | 作用 | 示例 |
|---|---|---|
PATH |
可执行文件搜索路径 | export PATH=/tools/synopsys/bin:$PATH |
LM_LICENSE_FILE |
License服务器地址 | export LM_LICENSE_FILE=27000@license_server |
SYNOPSYS |
Synopsys工具安装根目录 | export SYNOPSYS=/tools/synopsys |
1.3.2 如何设置?
我建议把环境变量写在~/.bashrc或~/.cshrc里。这样每次登录自动加载。
# 在.bashrc中添加
export SYNOPSYS=/tools/synopsys
export PATH=$SYNOPSYS/bin:$PATH
export LM_LICENSE_FILE=27000@192.168.1.100
避坑指南:我曾经因为PATH变量写错顺序,导致系统自带的ls命令被覆盖。结果服务器上所有命令都报错。嗯,那叫一个惨。所以,记得把系统路径放在最后:export PATH=/my/tools:$PATH。
1.4 EDA工具简介
DFT领域,两大主流工具:Synopsys TetraMAX 和 Mentor Tessent。我两个都用过,各有千秋。
1.4.1 Synopsys TetraMAX
TetraMAX主打ATPG(自动测试向量生成)。它的特点是速度快,对大规模设计支持好。我当年做第一个项目时,就是用TetraMAX生成的测试向量。
- 核心功能:故障建模、向量生成、故障仿真
- 常用命令:
tmax启动,read_netlist读网表 - 输出文件:
.stil或.wgl格式的测试向量
1.4.2 Mentor Tessent
Tessent是Mentor(现属Siemens)的DFT全家桶。它不只是ATPG,还包含DFT插入、诊断、良率分析等。
- 核心功能:DFT规划、扫描链插入、ATPG、诊断
- 常用命令:
tessent启动,run_tools执行流程 - 特点:图形界面友好,但脚本化稍复杂
我的建议:如果你是新手,先从TetraMAX入手。它的命令行更直观,容易理解ATPG原理。等基础扎实了,再学Tessent的完整流程。
1.5 本章知识体系
下面这张图,帮你理清本章的核心逻辑。我画了很久,希望能帮到你。
1.6 本章小结
这一章,我们聊了:
- Linux常用命令:
ls、cd、grep、find、vim。够用就行,别贪多。 - 环境变量设置:
PATH、LM_LICENSE_FILE、SYNOPSYS。记住写在.bashrc里。 - EDA工具:TetraMAX和Tessent。先学TetraMAX,再学Tessent。
说实话,这些内容看起来简单,但真正用起来,坑不少。我当年也是踩了无数坑才总结出这些经验。你只要跟着练,很快就能上手。
记住:工具是死的,人是活的。多动手,多思考,你也能成为DFT高手。