EDA工具(二)Synopsys Sentaurus TCAD 2018安装教程

本文详细描述了在CentOS6.5环境下使用VMwareWorkstation安装SentaurusTCAD的过程,包括Synopsysinstaller的安装、SCL软件的配置、环境变量设置、许可证导入及软件启动验证。强调了使用正版软件的重要性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、系统环境

虚拟软件版本:VMware® Workstation 14 Pro (14.1.2 build-8497320)

操作系统:CentOS_6.5_Final

二、Sentaurus TCAD安装文件

Sentaurus TCAD安装文件主要由以下部分构成:

1、scl软件用于启动License服务

2、sentaurus TCAD的安装文件

3、ICWBEV的安装文件

4、jedit+TCAD宏包

5、Synopsys installer

6、license工具

7、补丁包

三、安装过程详解

1、Synopsys installer安装

如果是.run格式的安装文件,找到SynopsysInstaller_v5.0.run文件,在terminal里进入该路径下,输入下面命令,解压。然后输入一个回车以后,installer文件就解压到当前路径下了。

具体操作如下图:

在当前目录下运行如下命令:

2、安装scl软件

然后一路next

3、sentaurus TCAD安装

4、ICWBEV的安装

5、安装补丁包

[root@EDA-tools packge]# rpm -ivh compat-libstdc++-33-3.2.3-69.el6.x86_64.rpm

6、环境变量配置

环境变量可以认为是软件运行时的“查找表”,用于查找用户运行程序所在位置

(1)开机SCL自启动环境变量

设置开机启动,让linux系统在启动时,就启动license服务,以供sentaurus运行使用。使用root用户编辑文件/etc/rc.local,使用命令

编写的时候注意 -c  -l字符两边有空格

(2)软件运行环境变量

在linux系统内添加软件运行的环境变量,通俗的说就是软件的“查找表”,告诉linux系统,我把软件安装在哪个路径下。本教程环境变量按照CSH写法进行编写,统一写进.cshrc_profile文件中,并放置在/eda_tools目录下,如下图:

(3)导入License许可

获取license制作的信息:

lmhostid

在terminal里输入./lmhostid,记录。如果有多个,请选择其中一个,如下图所示:

hostname

在teriminal里输入hostname.

有了上面的两个信息以后,就可以生成license,方法如下(本方法来自于互联网,请自行百度或购买正版):

打开scl_keygen文件夹,双击图标

在该文件夹下会生产Synopsys.dat文件,将改文件重命名为license.dat,将制作好的license.dat文件,复制到<license_file_path>下,本教程中,<license_file_path>为/eda_tools/Synopsys/scl/2018.06-SP1/admin/license/license.dat,在Linux系统中编辑license.dat文件进行下列操作,如下图:

启动license

在license.log里面查看有没有报错信息,如下图所示:

如果有上述信息,说明license授权成功。

四、启动软件,验证是否安装成功。

1、配置普通用户(eda001)

配置eda001用户.cshrc文件,如图:

执行命令[eda001@EDA-tools ~]$ source .cshrc

(2)在terminal里输入swb

(3)在terminal里输入tecplot_sv

(4)在terminal里输入sde -defaultGUI

(5)在terminal里输入icwbev

至此,软件安装结束。

五、写在最后

本文仅是对网上信息的总结,不提供任何安装包的下载与破解,请大家支持正版软件,软件版权归软件发行公司所有,请大家学习使用,切勿商用,否则后果自负。

欢迎大家加V共同探讨学习,谢谢!

### @AllArgsConstructor 注解导致的实际参数列表和形式参数列表长度不同解决方案 当使用 Lombok 的 `@AllArgsConstructor` 注解时,如果遇到实际参数列表和形式参数列表长度不同的问题,通常是由于某些字段未被正确初始化或存在冲突的其他构造器注解所致。 #### 原因分析 - 当类中既有 `@AllArgsConstructor` 又有 `@NoArgsConstructor` 或者 `@Builder` 时,可能会引发编译错误。因为这些注解会自动生成相应的构造函数,而多个构造函数之间可能存在重叠或冲突的情况[^1]。 #### 解决方案 为了防止此类问题的发生,可以采取以下措施: 1. **移除不必要的构造器注解** 如果确实不需要无参构造函数,则应删除 `@NoArgsConstructor` 注解。这能确保只有带全部参数的构造函数被创建,减少潜在冲突的可能性。 2. **调整字段可见性** 对于那些不希望暴露给外部调用者的字段,可以通过将其设为 final 来强制通过构建模式访问它们。这样即使存在多参构造器也不会影响到内部状态的安全性和一致性。 3. **结合使用 `@RequiredArgsConstructor` 和 `@Builder`** 若既想要保持部分必填项又希望能够方便地链式调用来完成对象实例化过程的话,可以选择同时应用这两个注解。此时需要注意的是要合理配置好哪些成员变量应该参与进来作为必要条件的一部分。 4. **手动指定忽略特定字段** 在特殊情况下也可以利用 Lombok 提供的一些高级特性来实现更精细控制。比如对于不想让其参与到任何由插件生成的方法中的属性来说,可以在定义处加上 `static transient` 关键字修饰符即可达到目的。 ```java import lombok.AllArgsConstructor; import lombok.Builder; // Example of combining RequiredArgsConstructor and Builder to avoid conflicts with AllArgsConstructor @Builder(toBuilder = true) @AllArgsConstructor(onConstructor_ = {@Deprecated}) public class MyClass { private String name; private int age; // This field will be ignored by both constructors due to static modifier. public static transient boolean isIgnoredField; } ``` 上述代码片段展示了如何组合使用 `@RequiredArgsConstructor`, `@Builder` 并适当处理可能引起混淆的地方以确保程序正常运行而不触发关于实参数目不符的问题。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

用心寻找

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值