在线咨询
eetop公众号 创芯大讲堂 创芯人才网
切换到宽版

EETOP 创芯网论坛 (原名:电子顶级开发网)

手机号码,快捷登录

手机号码,快捷登录

找回密码

  登录   注册  

快捷导航
搜帖子
查看: 113730|回复: 263

Cadence软件组合packages,即按任务需求安装所需工具。重点说明license相关问题

[复制链接]
发表于 2014-11-29 04:40:05 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?注册

x
本帖最后由 min4max 于 2014-12-5 23:41 编辑

本篇主要谈两个问题,一是如何按自己的职业或公司的需求安装所需的软件,二是深入谈谈Cadence(以及所有其他使用FlexNet/Flexlm管理license许可证的EDA厂商)的license.dat这个重点问题。

(一)

Cadence出版的软件众多,许多人很可能在这么多软件中不知所措,不清楚自己到底需要安装运行哪些Cadence的软件来完成自己的项目。这儿针对这个做一个比较细致的介绍。如下图所示,Cadence的软件按不同的用途大体上可以分成这几个组合包:
Cadence_packages.png
所以,若你的主要职责或公司的主要产品是芯片设计,则就安装IC package;若是电路板的业务,则就安装System package。具体到每个package的组成,参见这个文件的详细说明:http://pan.baidu.com/s/1kT0ytFL ,这里我们是按照2014/2015年度Cadence最新版的为例,所以这里的IC package就包括IC616、MMSIM141、CTOS141、VIPCAT113、INCISIV141、CONFRML141、RC142、ET141、SSV142、Liberate141、EDI142、ASSURA414、PVS141、EXT141这些工具套件来分别完成不同条件下的不同的任务。例如对于90nm以上工艺的芯片设计使用ASSURA414来完成DRC和LVS,但对于90nm以下工艺的芯片设计则要用PVS141来完成DRC和LVS。因为是最新版本,所以一些旧的工具套件被新的工具套件所取代,例如SSV142(Silicon Signoff & Verification,其中包含了Tempus Timing Signoff Solution以及Voltus IC Power Integrity Solution)就取代了ETS131的功能。对各个工具的具体功能参见这个文件的详细列表:http://pan.baidu.com/s/1kTMIYDx

有关Cadence软件的具体安装及设置在此不做进一步说明,详细请参见我以前的教程。下载安装请参见:http://bbs.eetop.cn/thread-457073-1-1.html 设置请参见:http://bbs.eetop.cn/thread-452284-1-1.html(需要参见下面的讨论进行环境变量相应的修改)

(二)

现在来仔细研讨Cadence的license事项。坛上及网上流传的差不多所有Cadence的icense.dat针对最新版工具来说都是不完整有残缺的,有大量新FEATURE都没有包含在内,因此相关功能是不能运行的。此外,我还发现许多人是按照不正确的方式来运行license.dat。

首先我们需要回到原点,搞清楚FlexNet(Flexlm)运行管理license的原理及license.dat的格式及内涵。Cadence所有工具安装完成后,再每个工具目录下都有/share/license这个子目录,其中就有flexlm_enduser.pdf这个FlexNet的用户手册(当前的版本为v11.10,这大体上应该对应FlexNet SDK的版本)。具体到icense的格式是第三章Reading a License File,在这儿指出了license文件主要包含了SERVER行、VENDOR行、FEATURE或INCREMENT行这三部分(另外可以有USE_SERVER这行,这个USE_SERVER在uncounted
features时主要记录server使用状况用,对server运行没有任何影响)。在一些情形中,可以没有SERVER行或/和VENDOR行。由于将要在下面提到的原因,我们不在此对SERVER行以及VENDOR行的格式做进一步说明,因为我们在license.dat中将不需要这两行。Cadence在其license说明中明确指出它只采用FEATURE这个关键词,而不用INCREMENT。

FEATURE行的格式为:
FEATURE feature_name vendor_daemon feat_version exp_date num_lic [optional_attributes] SIGN=”<...>”
此处,
  • feature_name就是需要添加的具体license string (license key),这通常可以在工具的子目录/doc中的User Guide或类似文档中找到,例如EXT141的license strings就可以在<EXT141_install_dir>/doc/extTechgen/extTechgen.pdf中找到。对于IC616来说,所有virtuoso相关的license string都在<IC616_install_dir>/share/license/products.dfII这个文件中列出,只需将它们分别添加到feature_name即可。
  • vendor_daemon是各EDA公司daemon的专有名称,Cadence为cdslmd,其他EDA如Mentor的daemon为mgcld,以此类推针对这些EDA厂商的license只需换上其专有名称即可。
  • feat_version就是这个feature的版本号,我们可以在此将Cadence所有eature的版本号统一定为1000.000
  • exp_date是这个feature的失效日期,格式为dd-mmm-yyyy,例如07-may-2010。在此要特别提醒注意的是,当exp_date被设定为permanent字符串,或者年yyyy为0(或者00,000,0000)时,则这个license就永远不会失效!
  • num_lic为这个feature可以同时使用的license数目,在此特别需要注意的是,当num_lic被设定为uncounted字符串,或者为0时,则这个feature的license就是无限制的,此时就不再需要使用license server,但这个featur行中必须包含hostid值。
  • SIGN=签名密码或者签名密码被嵌入AUTH=keyword是用来验证这个FEATURE行的,最新版的FlexNet使用SIGN2=
此外FEATURE行还可有一些属性变量[optional_attributes]如DUP_GROUP=、ISSUED=、ISSUER=等等,对于我们来说,最重要的是必须有HOSTID=,这是应对上面那个num_lic所必须设置的,将这个变量设置为HOSTID=ANY,即这个license是浮动license,不固定于某一台机器节点。

所以我们的(Cadence)license.dat中的FEATURE的格式应该是这样的:
FEATURE feature_name cdslmd 1000.000 permanent uncounted HOSTID=ANY SIGN2=签名密码
这个license.dat文件是一个纯由FEATURE行构成没有任何其他lines的文件,因为上面的分析指出了我们不需要SERVER行、VENDOR行这些东西。这又导致我们在设置环境变量CDS_LIC_FILE时需要使用绝对路径指向license.dat,即CDS_LIC_FILE=<IC616_install_dir>/share/license/license.dat,而不是设置成CDS_LIC_FILE=port@hostname。

由此可见,我们只要有工具来生成有效的SIGN2=签名密码就可以完成这个license.dat。本坛上的大侠raychore在回复我的另一贴http://bbs.eetop.cn/thread-469274-1-1.html 中给出了一个经使用证明是有效的工具lmcrypt可以用来生成这个SIGN2密码。我对其中的相关格式及输入文件cadence.txt等做了相应的修改,放在网盘上http://pan.baidu.com/s/1c0xoM3I  使用这个工具你可以生成包含最新features的license.dat ,具体使用请参见其中的README详细说明。参见这个生成的包含大部分(如果不是全部的)最新FEATUREs的有效license.dat网盘下载:http://pan.baidu.com/s/1mg83L4s 设置环境变量及运行指令的shell script为网盘:http://pan.baidu.com/s/1mgFVwTy

在按照上面的步骤完成所有安装设置及生成有效license.dat之后开始运行Cadence软件时,你不需要启动运行Cadence License Server Daemon!  我提供的那个环境变量设置及virtuoso运行指令的shell script中就没有有关启动license server daemon的指令,因为这根本不需要!我上面关于license.dat中针对feature的num_lic说明已经指明了,当这个num_lic被设置为uncounted或者0时,这个feature就不需要license server。所以当我们将license.dat中所有FEATURE都设置为uncounted后,我们就根本不需要启动运行License Server Daemon了!这一点不光对Cadence软件是正确的,对其他所有使用FlexNet(Flexlm)管理license许可证的EDA厂商的软件都是如此。

以上是针对Cadence生成license.dat,对其他EDA如Synopsys、Mentor Graphics、Keysight (Agilent)、NI (AWR)、Ansys (Ansoft)等等等等,都可以照此办理,使用Flexlm SDK制作lmcrypt,然后再生成相应的license.dat
发表于 2014-11-29 11:37:14 | 显示全部楼层
楼主,你强!尽是精品,直击要害!
 楼主| 发表于 2014-11-29 14:13:01 | 显示全部楼层
回复 1# min4max


    重要补充说明:

在上面正文最后忘了加上最重要的一句话,就是在按照上面的步骤完成所有安装设置及生成有效license.dat之后开始运行Cadence软件时,你不需要启动运行Cadence License Server Daemon!  我提供的那个环境变量设置及virtuoso运行指令的shell script中就没有有关启动license server daemon的指令,因为这根本不需要!我上面正文中关于license.dat中针对feature的num_lic说明已经指明了,当这个num_lic被设置为uncounted或者0时,这个feature就不需要license server。所以当我们将license.dat中所有FEATURE都设置为uncounted后,我们就根本不需要启动运行License Server Daemon了!这一点不光对Cadence软件是正确的,对其他所有使用FlexNet(Flexlm)管理license许可证的EDA厂商的软件都是如此。
 楼主| 发表于 2014-11-30 23:16:21 | 显示全部楼层
本帖最后由 min4max 于 2014-11-30 23:19 编辑

另外,让我们见识一下Cadence向学校等非商业企业机构收取的“廉价”license fees:
Cadence_License_Charge.png

此外还有每年年度的维护费:
Cadence_Annual_Maintenance_Charges.png

比向商业企业征收的license fees少多少倍?
发表于 2014-12-1 00:12:04 | 显示全部楼层
这哥子,实在,杠杠的!
发表于 2014-12-1 08:45:18 | 显示全部楼层
回复 1# min4max

每次都这么喜欢楼主的文章。指出一个有误的地方。Feature中的HOSTID可有可无的。有hostid的license是nodelocked,没有hostid是floating的license。 nodelocked的一般是绑定网卡,和hostid的内容不符就不能使用license。
floating的是license的Server绑定网卡,其他电脑可以借用License Server的license。怎么借用license呢?这就体现了Flexera 这种license管理的强大和便利之处,一般设置一个环境变量XXX_LICENSE_FILE@PORT@Your_Server就可以了。
发表于 2014-12-1 09:34:27 | 显示全部楼层
强,顶,赞。


发表于 2014-12-1 13:12:40 | 显示全部楼层
太好了!
发表于 2014-12-1 13:18:57 | 显示全部楼层
受益良多~
感謝分享~
謝謝~
发表于 2014-12-1 13:51:19 | 显示全部楼层
回复 9# lancedpn

谢谢
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

站长推荐 上一条 /1 下一条

×

小黑屋| 关于我们| 联系我们| 在线咨询| 隐私声明| EETOP 创芯网
( 京ICP备:10050787号 京公网安备:11010502037710 )

GMT+8, 2024-3-29 10:29 , Processed in 0.031992 second(s), 6 queries , Gzip On, Redis On.

eetop公众号 创芯大讲堂 创芯人才网
快速回复 返回顶部 返回列表