第二章:环境搭建与启动——Linux环境准备、License配置、工具安装路径设置、启动DC/Yosys的常用命令
好,咱们正式开始动手了。
这一章,说白了就是“把家伙事儿支棱起来”。很多新手一上来就急着写代码,结果环境没配好,折腾半天连工具都起不来。我见过太多这样的案例了。所以,咱们先把地基打牢。
2.1 Linux环境准备——别小看这一步
DC和Yosys,都是跑在Linux上的。我个人习惯用CentOS 7或者Ubuntu 20.04。为什么?因为这两款系统的glibc版本比较新,兼容性好。
你需要确认几样东西:
- 操作系统版本:用
cat /etc/os-release看一眼。 - 磁盘空间:DC安装包大概5-8GB,Yosys小很多,几百MB。但项目跑起来,临时文件会很大。我建议至少留50GB。
- 内存:8GB起步,16GB更稳。你想想看,综合一个百万门的模块,内存不够直接卡死。
- Shell环境:bash或者tcsh都行。我个人偏爱bash,因为脚本好写。
重要: 确保你的Linux安装了以下基础包:
sudo yum install -y gcc g++ make flex bison tcl tk
# 如果是Ubuntu
sudo apt-get install -y build-essential tcl-dev tk-dev
嗯,这里要注意。Yosys是开源的,编译时需要flex和bison。我当年第一次装Yosys,忘了装bison,编译报错折腾了一下午。后来学乖了,先把依赖全装上。
2.2 License配置——绕不开的坎
DC是商业工具,必须要有License。Yosys不需要,但如果你用它的商业版(比如Synopsys的某些插件),那也得配。
License配置,说白了就是告诉工具:“我有权限用你”。
步骤很简单:
- 把License文件放到一个固定目录,比如
/opt/synopsys/license.dat。 - 设置环境变量
SNPSLMD_LICENSE_FILE。
我的小技巧: 把License配置写到 .bashrc 里,这样每次登录自动生效。
export SNPSLMD_LICENSE_FILE=27000@license-server
# 或者直接指向文件
export SNPSLMD_LICENSE_FILE=/opt/synopsys/license.dat
我曾经遇到过一个问题:License文件路径写对了,但工具就是报“License check failed”。后来发现是端口被防火墙挡住了。你想想看,工具去连License服务器,端口不通,当然报错。所以,记得检查防火墙。
警告: 不要用root用户跑DC!用普通用户,否则权限问题会让你怀疑人生。
2.3 工具安装路径设置——路径对了,事半功倍
DC和Yosys安装好后,需要把它们的bin目录加到 PATH 里。
我个人习惯这样组织目录:
| 工具 | 安装路径 | bin目录 |
|---|---|---|
| DC | /opt/synopsys/dc_2023 | /opt/synopsys/dc_2023/bin |
| Yosys | /opt/yosys | /opt/yosys/bin |
然后在 .bashrc 里加上:
export DC_HOME=/opt/synopsys/dc_2023
export YOSYS_HOME=/opt/yosys
export PATH=$DC_HOME/bin:$YOSYS_HOME/bin:$PATH
为什么要把DC的路径放前面?因为有时候系统里可能有其他版本的dc,放前面可以优先找到我们想要的。这是个小细节,但能省很多麻烦。
2.4 启动DC/Yosys的常用命令——终于可以跑起来了
环境配好了,咱们试试能不能启动。
启动DC
在终端输入:
dc_shell
如果一切正常,你会看到DC的欢迎信息,然后进入 dc_shell> 提示符。
如果你想用图形界面(虽然我很少用),可以输入:
design_vision
提示: 我个人习惯用 dc_shell -f script.tcl 来跑脚本。这样批量处理,效率高。图形界面太慢了,你想想看,点来点去,哪有写脚本快?
启动Yosys
Yosys更简单:
yosys
你会看到类似这样的提示:
/----------------------------------------------------------------------------\
| yosys -- Yosys Open SYnthesis Suite |
| Copyright (C) 2012 - 2023 Claire Xenia Wolf <claire@yosyshq.com> |
\----------------------------------------------------------------------------/
Yosys 0.33 (git sha1 1234567, gcc 9.3.0 -fPIC -Os)
yosys>
嗯,看到这个提示符,就说明Yosys已经准备好了。
常用启动参数
我整理了一个表格,方便你查阅:
| 工具 | 命令 | 说明 |
|---|---|---|
| DC | dc_shell |
启动命令行模式 |
| DC | dc_shell -f run.tcl |
执行Tcl脚本 |
| DC | design_vision |
启动图形界面 |
| Yosys | yosys |
启动交互模式 |
| Yosys | yosys -s run.ys |
执行Yosys脚本 |
| Yosys | yosys -c run.tcl |
执行Tcl脚本(Yosys也支持Tcl) |
核心要点: 启动工具只是第一步。真正重要的是,你能不能在脚本里把工具调教好。下一章,咱们就来讲讲怎么写第一个综合脚本。
好了,环境搭建就到这里。你按照这个步骤走,应该不会出大问题。如果卡住了,回头看看是不是哪一步漏了。我曾经因为少装了一个libstdc++库,DC启动就报错,查了半天才发现。所以,耐心点,一步步来。
下一章,咱们开始写第一个综合脚本。到时候,你会觉得前面的辛苦都是值得的。