当前位置:首页>Linux>IC设计linux环境下的常用shell/tcl【1】

IC设计linux环境下的常用shell/tcl【1】

  • 2026-09-26 16:24:47
IC设计linux环境下的常用shell/tcl【1】

IC设计linux环境下的常用shell/tcl

#IC设计linux环境下的常用shell/tcl# 1. 目录切换: cd (change directory)cd /projects/mango1/de/modules/uart/rtl  # 切换到proj:mango1项目block目录cd ..                            # 返回上一级目录cd /                             # 跳转到根目录cd -                             # 返回上一条cd前的目录cd ../..                         # 返回向上两层的目录,'../'还可以更多#other:常习惯使用:alias  c cd  #即,用c替代cd命令,还有很多其他不同类型的alias# 2. 查看目录内容:ls (list)ls                               # 查看当前目录文件/目录(不显示隐藏文件)ls -l                            # 详细列表(权限、大小、修改时间,缩写ll)ls -a                            # 显示所有文件(包括隐藏文件,.开头的)ls -lh                           # 以人类可读的单位(K/M/G)显示文件大小ls -lt                           # 按修改时间倒序排列(最新的在前面)ls *.v                           # 查看当前目录下所有Verilog源文件(*.sv/*.sdc同理)ls *log                          # 查看所有*log文件或者目录# 3. 文件复制:cp (copy)cp dig_top.v bak.dig_top.v       # 把dig_top.v复制bak.*备份cp -rf i3c   modules/            # 复制整个i3c/rtl目录(包含子文件/子目录)到modules目录下/cp chip.sdc{,.bak}               # 快速创建chip.sdc的备份文件chip.sdc.bak,该命令可以在脚本中快速备份原文件,尤其tcl debug阶段更便利cp -rfL modules ~/               # 将modules及子目录所有内容,以及link文件,copy原始文件到home目录# 4. 文件/目录移动/重命名:mv (move)mv sim.log ./log_dir/            # 把sim.log移动到log_dir目录mv old_name.v new_name.v         # 把文件old_name.v重命名为new_name.vmv *.err ./error_logs/           # 把所有.err后缀的文件移动到error_logs目录# 5. 文件/目录删除:rm (remove) 【谨慎使用,尤其是rm -rf】rm vcs.log                       # 删除单个文件(命令提示确认,-f强制删除不提示)rm -f *.log                      # 强制删除所有.log(无提示,常用)rm -rf ./simv*                   # 强制删除整个simv*、csrc目录或文件,切忌避免使用'rm -rf /',尤其有root权限diy服务器的用户 # 6. 查看文件内容cat debug.log                    # 一次性查看整个debug.log内容(适合小文件)在shell窗口中显示more debug.log                     # 分页查看大文件(向下翻页,无法向上)less debug.log                     # 更强大的分页查看(上下翻页、搜索,q退出,IC设计查看大日志/网表首选)head -10 debug.log                 # 查看debug.log的前10行tail -30 debug.log                 # 查看debug.log的后30行tail -f debug.log                  # 实时监控debug.log的更新(仿真/综合过程中实时查看日志输出,非常常用)cat a.txt b.txt > c.txt            # 将a.txt和b.txt拼接,重定向到c.txt# 7. 文件搜索与内容匹配find ./ -name "*.sdc"            # 在当前目录及子目录下搜索所有.sdc后缀文件find ./ -size +100M              # 搜索大于100M的文件(清理大临时文件用,尤其fsdb/vcs等)grep "Error" sim.log             # [vcs]在sim.log中搜索包含"Error"的行(查找仿真/综合报错,核心指令)grep -i "warning" sim.log        # [vcs]忽略大小写搜索"warning"(查找警告信息)grep -r "aon_crg" ./rtl          # 递归搜索./rtl目录下所有文件,查找aon_crg关键字grep -A 5 "Error" sim.log        # [vcs]显示包含"Error"的行及后面5行(查看报错上下文,非常实用)grep -B 3 "Error" sim.log        # [vcs]显示包含"Error"的行及前面3行(查看报错前置信息)grep -C 4 "Error" sim.log        # [vcs]显示包含"Error"的行及前后各4行(完整上下文)awk '/Error / {print $0}' debug.txt  # 提取报告中"Error "【含空格】相关行(分析仿真报告常用)#awk等用法,建议参考独立书籍sed -i 's/ahb_clk/axi3_clk0/g' dig_top.v  # 把dig_top.v中所有"ahb_clk"替换为"axi3_clk0"(批量修改代码/网表)# 8. 文件打包与解压(归档备份设计文件/报告)tar -zcvf all_rtl.tar.gz de/rtl   # 打包并压缩de/rtl目录为all_rtl.tar.gz, 也命名为*.tgztar -zxvf all_rtl.tgz -C ~/tmp    # 解压.tgz文件到~/tmp目录tar -jcvf design.tar.bz2 ./src/   # 以bz2格式打包(压缩率更高,速度稍慢)tar -jxvf design.tar.bz2          # 解压.bz2格式文件
IC design阶段,常用tcl非常多,以上仅列出部分常用命令,后续还会陆续晚上和补充。

最新文章

随机文章