|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?注册
x
本帖最后由 chenxinkai 于 2024-12-22 11:39 编辑
时间:2024年12月
想在刚入手的mini主机的Win11上安装具有一定生产力的EDA环境。网上有很多现成的安装好EDA的Vmware的虚拟机,但总是觉得性能上比较差,于是决定在wsl2上安装。
- 首先升级win11的wsl至2.4.8版本(可选)
- wsl --update --pre-release
复制代码
- wsl --import Rocky8 c:\wsl\Rocky8 .\Rocky-8-Container-Base.latest.x86_64.tar.xz --version2
复制代码
- yum update -y && yum install passwd sudo -y
- myUsername=caloewen
- adduser -G wheel $myUsername
- echo -e "[user]\ndefault=$myUsername" >> /etc/wsl.conf
- passwd $myUsername
复制代码
- 现在只是安装了基础的内核环境,需要补充安装一些包。
- sudo dnf groupinstall "Server with GUI"
- sudo dnf groupinstall "Development"
- sudo dnf install libXScrnSaver
- sudo yum install libpng12.x86_64
复制代码
关键的来了。安装 SCL的时候遇到了最大的麻烦,试了3个版本2018, 2023.09, 2024.06的SCL都不能在wsl2的子系统启动。运行lmgrd时,前两个版本显示no such file,根本无法运行。2024版倒是可以运行,但显示invalid license,也没有log可以查看,应该是程序没跑起来。造成这些现象的原因可能是wsl2的底层系统调用不完全兼容,也不知lmgrd到底调用了什么linux系统调用,尝试了一阵后果断放弃了。采取了以下方案
- 在Win11主机上使用Windows版本的SCL来加载license文件,license文件使用Windows主机的mac地址。这时主机就成了license服务器。
- .\lmstat.exe -c .\synopsys.dat
- lmstat - Copyright (c) 1989-2024 Flexera. All Rights Reserved.
- Flexible License Manager status on Sun 12/22/2024 09:46
- [Detecting lmgrd processes...]
- License server status: 27000@SER9
- License file(s) on SER9: C:\Synopsys\SCL\2024.06\win32\bin\synopsys.dat:
- SER9: license server UP (MASTER) v11.19.6
- Vendor daemon status (on SER9):
- snpslmd: UP v11.19.6
复制代码
为了让Rocky8子系统能够读到TCP端口的license,使用如下的配置,其中下面两条最重要。
- 网络模式选mirrored
- 启用主机地址环回,这样Wsl的子系统就可以通过localhost访问主机的端口
- 重新启动Rocky8,在Rocky8中可以查看license是否可用,这样Rocky8子系统就不用再装SCL了。
- lmstat -c 27000@localhost abc@Rocky8
- lmstat - Copyright (c) 1989-2024 Flexera. All Rights Reserved.
- Flexible License Manager status on Sun 12/22/2024 10:00
- License server status: 27000@SER9
- License file(s) on SER9: C:\Synopsys\SCL\2024.06\win32\bin\synopsys.dat:
- SER9: license server UP (MASTER) v11.19.6
- Vendor daemon status (on SER9):
- snpslmd: UP v11.19.6
复制代码
- 直接在.bashrc中设置环境变量
- export SNPSLMD_LICENSE_FILE=27000@localhost
复制代码
- 启动verdi 2022试一下gui, 在高分屏上verdi的字体偏小,按ctrl+=加大字体
- 安装并强烈推荐VCS 2022 + Vscode + 插件DVT IDE for Verilog/System Verilog。 多说两句闲话,有很多人喜欢使用基于eclipse的DVT IDE来开发system verilog。单从编辑器的角度来说, vscode的质量比eclipse好太多了,唯一的缺点的是没有一个好用的system verilog的language server来服务编程开发。System verilog的语言要素比较复杂,没有专业的团队不太可能开发出好的language server,试了一些免费的systemverilog插件都没有让人满意的。相比开发同样是托管类型的java, C#等语言, 写system verilog真是痛苦。 开发过systemverilog编译器的3大EDA公司理论上都可以轻松开发出language server,但synopsys推出的也是基于eclipse的eluide,由于linux上的软件对于高分辨率显示的支持普遍不好,编程体验很一般。 直到Vscode插件DVT IDE for verilog/system verilog出现,这个问题就算比较完美解决了,插件介绍详见https://marketplace.visualstudio.com/items?itemName=amiq.dvt 直接在win11主机上安装vscode,使用Remote-wsl插件登录Rocky8进行开发,你就可以享受Window版的Vscode在高清4k屏幕下养眼的GUI、原生的git版本管理、随时回退的timeline功能、最快正则表达式搜索、无缝的terminal集成,各种插件功能的加持,最后当然是DVT 插件的语言支持。随手编辑一个task.json, 让你按ctrl+B完成项目的编译和运行;然后直接在verdi窗口ctrl + L加载波形。
最后,在试用wsl2上的VCS编译时,我感受到的速度是和直接登录linux服务器相同的飞一般的速度。之所以没有安装2023版,是因为2023版启动编译慢,总是要停顿几秒至十几秒,虽然没有报错也能运行,但影响效率。这应该是license的格式问题,可能需要有合法的SIGN字段的license。希望有办法解决的小伙伴不吝告知啊。
|
|