1. 为什么选择Ubuntu 22.04 LTS搭配Quartus Prime Lite 23.1如果你正在搭建FPGA开发环境Ubuntu 22.04 LTS和Quartus Prime Lite 23.1的组合确实是个不错的选择。作为一个长期支持版本Ubuntu 22.04 LTS提供了稳定的系统基础而Quartus Prime Lite 23.1则带来了最新的FPGA开发工具链。不过在实际安装过程中我遇到过不少依赖问题特别是新旧库冲突导致的安装失败。记得我第一次尝试在Ubuntu 22.04上安装Quartus 23.1时安装程序直接报错退出了。后来发现是因为系统自带的库版本太新而Quartus需要的一些老版本库已经不在官方源里了。这种情况在新版Ubuntu上特别常见因为Ubuntu会定期更新系统库但工业软件往往需要保持较长时间的兼容性。2. 准备工作系统环境配置2.1 安装必备依赖包在开始安装Quartus之前我们需要先准备好系统环境。打开终端运行以下命令安装基础依赖sudo apt update sudo apt install -y libncurses5 libtinfo5 libncurses5-dev libncursesw5-dev \ libssl-dev libffi-dev libreadline-dev libsqlite3-dev libbz2-dev \ zlib1g-dev libxml2-dev libxslt1-dev libglib2.0-0 libsm6 \ libxrender1 libfontconfig1 libxext6 libpng16-16这些包包含了Quartus运行所需的基础库。我建议一次性安装完避免后续因为缺少依赖而中断安装过程。特别要注意的是libncurses5这个库它在Ubuntu 22.04中已经被更新到更高版本但Quartus仍然需要老版本。2.2 处理老版本库依赖由于Ubuntu 22.04移除了部分老版本库我们需要手动解决这个问题。对于libpng12这样的老库可以从Ubuntu 20.04的源中下载wget http://archive.ubuntu.com/ubuntu/pool/main/libp/libpng/libpng12-0_1.2.54-1ubuntu1_amd64.deb sudo dpkg -i libpng12-0_1.2.54-1ubuntu1_amd64.deb安装完成后建议运行sudo ldconfig更新库链接。这一步很关键我遇到过因为没执行这个命令导致Quartus找不到库的情况。3. 下载和安装Quartus Prime Lite 23.13.1 获取安装包前往Intel官网下载Quartus Prime Lite 23.1的Linux版本。我建议选择Combined Files下载选项这样会得到一个包含所有组件的完整安装包。文件大约有10GB大小下载前确保你有足够的磁盘空间和稳定的网络连接。下载完成后给安装文件添加执行权限chmod x Quartus-lite-23.1.0.991-linux.run3.2 运行安装程序执行安装命令时我建议加上--disable-components参数这样可以跳过不需要的组件节省安装时间和磁盘空间./Quartus-lite-23.1.0.991-linux.run --disable-components modelsim_ase安装过程中选择自定义安装路径是个好主意。我通常会在家目录下创建一个quartus文件夹比如/home/username/quartus/23.1。这样多个版本可以并存而且不需要root权限。安装完成后别忘了把Quartus的bin目录加入PATH环境变量。编辑你的.bashrc文件添加export PATH$PATH:/home/username/quartus/23.1/quartus/bin然后执行source ~/.bashrc使更改生效。4. 解决常见安装问题4.1 处理库版本冲突即使按照前面的步骤安装了依赖库Quartus可能还是会报错。最常见的是关于libssl和libcrypto的版本问题。Ubuntu 22.04默认安装的是OpenSSL 3.0但Quartus需要1.1.x版本。解决方法是为Quartus创建单独的库路径。首先创建目录mkdir -p ~/quartus_libs然后从Ubuntu 20.04的源下载老版本库wget http://archive.ubuntu.com/ubuntu/pool/main/o/openssl/libssl1.1_1.1.1f-1ubuntu2_amd64.deb dpkg -x libssl1.1_1.1.1f-1ubuntu2_amd64.deb ~/quartus_libs最后设置环境变量让Quartus优先使用这些库export LD_LIBRARY_PATH~/quartus_libs/usr/lib/x86_64-linux-gnu:$LD_LIBRARY_PATH4.2 解决图形界面问题如果你在使用远程桌面或者Wayland显示服务器可能会遇到Quartus界面显示异常的问题。这种情况下可以尝试以下解决方案export QT_QUICK_BACKENDsoftware export QMLSCENE_DEVICEsoftwarecontext对于NVIDIA显卡用户如果遇到OpenGL问题可以尝试export __GLX_VENDOR_LIBRARY_NAMEnvidia5. ModelSim的安装与配置5.1 单独安装ModelSim虽然我们在主安装过程中跳过了ModelSim但作为仿真工具它还是很有用的。可以单独安装ModelSim Starter版本./Quartus-lite-23.1.0.991-linux.run --mode unattended --installdir /home/username/quartus/23.1 --disable-components quartus --enable-components modelsim_ase安装完成后ModelSim可能会因为缺少库而无法启动。最常见的缺失库是libfreetype.so.6解决方法如下sudo apt install libfreetype6 sudo ln -s /usr/lib/x86_64-linux-gnu/libfreetype.so.6 /usr/lib/x86_64-linux-gnu/libfreetype.so5.2 解决ModelSim启动问题如果ModelSim启动时报错error while loading shared libraries可以使用ldd命令检查缺失的库ldd ~/quartus/23.1/modelsim_ase/bin/vsim对于每个缺失的库要么通过apt安装要么从老版本Ubuntu中获取对应的.deb包。我整理了一份常见缺失库的解决方案缺失库解决方案libpng12.so.0从Ubuntu 20.04安装libpng12libXft.so.2安装libxft2包libXext.so.6安装libxext6包libXtst.so.6安装libxtst6包6. 创建桌面快捷方式为了方便启动Quartus我们可以创建桌面快捷方式。首先创建.desktop文件nano ~/.local/share/applications/quartus.desktop添加以下内容[Desktop Entry] Version1.0 TypeApplication NameQuartus Prime Lite 23.1 CommentIntel FPGA Development Tool Exec/home/username/quartus/23.1/quartus/bin/quartus Icon/home/username/quartus/23.1/quartus/adm/quartusii.png Terminalfalse CategoriesDevelopment;保存后给文件添加执行权限chmod x ~/.local/share/applications/quartus.desktop这样你就可以在应用菜单中找到Quartus的启动图标了。如果图标没有立即出现可以尝试注销后重新登录。7. 日常使用技巧与优化7.1 解决工程管理器卡顿问题Quartus在Ubuntu上有时会出现界面卡顿的情况特别是打开大型工程时。这通常是因为文件索引导致的。可以尝试关闭工程索引功能打开Quartus进入Tools Options在General页面取消勾选Enable project revision indexing7.2 提高编译速度FPGA编译是个耗时的工作以下几个技巧可以帮助提高速度在Assignments Settings中将并行编译线程数设置为CPU核心数使用SSD存储工程文件关闭不必要的后台程序特别是内存占用高的应用考虑使用增量编译功能只重新编译修改过的部分7.3 备份与恢复设置Quartus的所有设置都存储在~/.intelFPGA目录中。定期备份这个目录可以保存你的所有偏好设置和许可证信息。如果需要迁移到新机器只需复制这个目录即可。8. 常见问题解答8.1 Quartus启动时报GLIBCXX版本错误这是因为Quartus自带的GCC版本与系统不兼容。解决方法是指定使用系统的库export LD_PRELOAD/usr/lib/x86_64-linux-gnu/libstdc.so.68.2 许可证服务器无法启动如果遇到许可证问题首先检查防火墙设置确保端口1800没有被阻止。然后尝试重新配置许可证cd ~/quartus/23.1/quartus/bin ./lmutil lmhostid将输出的hostid用于许可证文件。如果问题依旧可以尝试完全删除并重新安装许可证管理器sudo apt remove --purge intel-fpgacd sudo apt install intel-fpgacd8.3 设备编程器找不到USB-Blaster确保你的用户有权限访问USB设备。将用户加入plugdev组sudo usermod -a -G plugdev $USER然后创建udev规则sudo nano /etc/udev/rules.d/51-usbblaster.rules添加以下内容# Intel FPGA Download Cable ATTR{idVendor}09fb, ATTR{idProduct}6001, MODE0666 ATTR{idVendor}09fb, ATTR{idProduct}6002, MODE0666 ATTR{idVendor}09fb, ATTR{idProduct}6003, MODE0666保存后重新加载udev规则sudo udevadm control --reload-rules sudo udevadm trigger