4、Linux环境搭建:安装Ubuntu/CentOS、配置开发环境、安装必要的依赖库
好,咱们进入正题。
做芯片功耗仿真,Linux环境是绕不开的。说实话,我见过不少新手在Windows上折腾EDA工具,最后都崩溃了。不是说不行,而是兼容性问题太多,浪费时间。我个人习惯,直接上Linux,省心。
4.1 选哪个发行版?Ubuntu还是CentOS?
这个问题,几乎每期课都有人问。我的建议很直接:
- 个人学习、实验:选Ubuntu。社区活跃,软件源新,遇到问题好搜答案。我刚开始学的时候用的就是Ubuntu 16.04,一直用到20.04。
- 公司项目、生产环境:选CentOS/RHEL。稳定,生命周期长。很多EDA厂商官方支持的就是RHEL系。我在某大厂做项目时,服务器清一色CentOS 7.9。
你想想看,如果你只是搭环境练手,Ubuntu的apt-get装东西多快。但如果你要对接公司的IT标准,那CentOS更靠谱。
4.2 安装Ubuntu 20.04 LTS(以虚拟机为例)
嗯,这里要注意。我假设你是在Windows上用VMware Workstation或者VirtualBox来装。物理机安装步骤类似,只是分区时要小心别把硬盘搞没了。
步骤其实很简单:
- 下载ISO镜像。去官网或者国内镜像站(比如清华、阿里云)下,速度快很多。
- 创建虚拟机。内存建议给8GB以上,硬盘至少60GB。功耗仿真工具和库文件很占空间。
- 安装过程选「最小安装」,别装那些办公软件、游戏,浪费资源。
- 分区时,我习惯这样分:
/boot:1GB/:40GB/home:剩余全部- swap:16GB(如果你内存大,可以不要)
4.3 配置开发环境
系统装好了,第一件事不是装EDA工具,而是把基础环境配好。这步做不好,后面各种报错会让你怀疑人生。
4.3.1 更新软件源
先换源,不然下载速度慢得你想砸电脑。
sudo cp /etc/apt/sources.list /etc/apt/sources.list.bak
sudo sed -i 's/archive.ubuntu.com/mirrors.aliyun.com/g' /etc/apt/sources.list
sudo apt update && sudo apt upgrade -y
4.3.2 安装基础开发工具
这些是编译器和基础库,很多EDA工具依赖它们。说白了,就是盖房子的脚手架。
sudo apt install -y build-essential cmake git vim
sudo apt install -y gcc g++ gfortran
sudo apt install -y make autoconf automake
我个人习惯,装完这些后先重启一下,确保内核和驱动都加载正常。
4.3.3 配置Python环境
功耗仿真里,Python脚本是少不了的。比如写个脚本批量跑仿真、解析功耗报告。
sudo apt install -y python3 python3-pip python3-venv
sudo pip3 install --upgrade pip
pip3 install numpy scipy matplotlib pandas
4.4 安装必要的依赖库
这部分是重点。芯片功耗仿真工具(比如PrimePower、RedHawk)对系统库有严格要求。缺一个库,工具就启动不了。
4.4.1 32位库支持
很多EDA工具还是32位的,所以必须开启多架构支持。
sudo dpkg --add-architecture i386
sudo apt update
sudo apt install -y libc6:i386 libncurses5:i386 libstdc++6:i386
为什么会这样?因为EDA工具的历史包袱重,很多老代码还在用32位编译。你不装这些,工具直接报「cannot execute binary file」。
4.4.2 图形界面相关库
功耗仿真工具通常有GUI界面,需要这些库。
sudo apt install -y libx11-dev libxext-dev libxtst-dev
sudo apt install -y libmotif-dev libxmu-dev
sudo apt install -y libgl1-mesa-glx libglu1-mesa
嗯,这里要注意。如果你用的是CentOS,包名会不一样,比如motif在CentOS里叫openmotif。
4.4.3 网络与许可管理库
EDA工具通常需要license server,所以网络库必须装。
sudo apt install -y libssl-dev libcurl4-openssl-dev
sudo apt install -y lsb-core lsb-release
我在项目中遇到过,有次装完工具死活连不上license,查了半天发现是lsb-core没装,导致license daemon启动失败。这种坑,踩过一次就记住了。
4.4.4 其他常用库
这些是锦上添花的,但建议都装上。
sudo apt install -y tcl tk expect
sudo apt install -y flex bison
sudo apt install -y libreadline-dev libncurses-dev
4.5 验证环境是否就绪
装完别急着走,验证一下。写个简单的C程序编译运行,看看gcc能不能用。再跑个Python脚本,看看numpy能不能导入。
# 测试gcc
echo '#include <stdio.h>' > test.c
echo 'int main() { printf("Hello, EDA!\n"); return 0; }' >> test.c
gcc test.c -o test
./test
# 测试Python
python3 -c "import numpy; print('NumPy version:', numpy.__version__)"
如果都能正常输出,恭喜你,环境搭好了。
好,下一章我们开始装真正的功耗仿真工具。到时候你会感谢今天认真配环境的自己。