Clisoft SOS与CAD系统集成

devtools/2025/1/8 6:11:22/

Clisoft SOS与CAD系统集成

以下内容大部分来自官方文档,目前只用到与Cadence Virtuoso集成,其他还未用到,如有问题或相关建议,可以留言。

与Keysight ADS集成

更新SOS客户端配置文件sos.cfg,以包含支持ADS的模板:$CLIOSOFT_DIR/adaptors/ads/sos.cfg

  • 如果所有项目都使用Keysight ADS,请将模板追加到站点自定义文件$sosd_config_dir/sos.cfg或系统默认文件$CLIOSOFT_DIR/data/sos.cfg
  • 如果某些项目使用其他设计工具,请更新server_name.rep/project_name/setup中每个ADS项目的特定sos.cfg文件。
  • 对于Windows系统上的工作区,请更新sos.win.cfg文件而不是sos.cfg

例如

cat $CLIOSOFT_DIR/adaptors/ads/sos.cfg >> path_to_repository/setup/sos.cfg

与Cadence Virtuoso集成

将SOS与Cadence Virtuoso软件集成需要更改三个Virtuoso配置文件。

文件描述
.cdsinitVirtuoso 启动文件
cdsLibMgr.ilCadence库管理器启动文件
cdsinfo.tag包含设计管理器(DM)工具配置的Cadence信息文件

将以上三个文件以及cds.lib文件包含在SOS项目中。这样做可以确保文件被自动复制或链接到每个用户的工位目录中,确保每个人都有正确版本的文件。一个典型的结构如下:

.
├── docs             # 规格和其他文档
├── scripts
├── rtl              # Verilog和VHDL文件
├── testbenches      # 回归测试和测试数据   
└── cds              # Cadence库的父目录├── proj_lib1    # 项目库之一├── proj_lib2    # 另一个项目库└── scratch_lib  # 用户临时工作用的库

.cdsinitcdsLibMgr.ilcds.lib 文件将存储在本示例项目结构中的 cds 目录下。在每个 Cadence 库目录中创建一个 cdsinfo.tag 文件。

.cdsinit
.cdsinit文件的末尾添加以下几行:

let( (clioDir)clioDir = getShellEnvVar("CLIOSOFT_DIR") load((strcat clioDir "/scripts/cds_sosviadfII.il"))
)

注意:为了确保所有用户都能运行SOS,请对全局的.cdsinit文件进行此更改,或者更改包含在项目工作区目录中的.cdsinit文件中。

cdsLibMgr.il
在Cadence库管理器启动时加载SOS菜单。

let( (clioDir)clioDir = getShellEnvVar("CLIOSOFT_DIR") load((strcat clioDir "/scripts/cdsLibMgr.il"))
)

cdsinfo.tag
cdsinfo.tag 文件告诉 Virtuoso 使用哪个设计管理(DM)系统,如果有的话。每个库目录应该包含一个具有该库正确设置的 cdsinfo.tag 文件:

  • 使用 SOS 管理的项目库需要指定 SOS 作为 DM 系统,在文件中包含这一行
DMTYPE sos
  • 未管理的参考库或临时库不应指定任何 DM 系统。在文件中包含这一行:
DMTYPE none

cdsinfo.tag 文件中不应有其他 DMTYPE 设置。

cds.lib
每个用户的个人cds.lib文件应该是一个不受管理的文件(在SOS版本控制之外),位于他们工作区的cds目录中。并且cds.lib文件中包含一个共同的project.lib文件:

INCLUDE ./project.lib

project.lib文件在SOS中进行管理。以下是一个示例:

# Reference libs not manaåed by SOS
DEFINE ref_lib1 /projects/common/reflibs/ref_lib1
DEFINE ref_lib2 /projects/common/reflibs/ref_lib2
DEFINE ref_lib3 /projects/common/reflibs/ref_lib3
DEFINE pdk_lib /projects/common/pdks/pdk_lib
# Project libraries 
DEFINE proj_lib1 ./proj_lib1
DEFINE proj_lib2 ./proj_lib2

检查集成是否成功

  1. 启动 Virtuoso 并打开任何 schematic、symbol 或 layout cellview。
  2. 点击 Design Manager --> (Check Out | Check In | Manage Hierarchy) 命令。
    在这里插入图片描述
  3. 退出 Virtuoso

与Mentor Pyxis的集成

为了设置用户的环境以使用SOS与Mentor Pyxis软件版本10.5_4或更高版本:

  1. 设置以下环境变量:
setenv MGC_HOME mentor-installation-dir
setenv MGLS_LICENSE_FILE port@host
setenv AMPLE_PATH $CLIOSOFT_DIR/adaptors/dmgr/userware
  1. $MGC_HOME/bin 添加到你的路径中
    将现有的MGC项目添加到SOS版本控制系统并设置项目管理员的工作区:
    1. 创建一个新的SOS工作区。
    2. 将MGC项目文件复制到新的工作区。
    3. 从工作区目录启动Pyxis项目管理器。修订控制菜单应该出现在窗口顶部。
    4. 通过选择 File --> Open Hierarchy 来打开项目。
    5. 通过选择窗口左侧的项目,然后选择 Revision Control > Add Project,将项目添加到修订控制中。

与Synopsys Custom Compiler的集成

按照以下步骤将SOS与Synopsys Custom Compiler软件集成:

  1. 设置$SYNOPSYS_CUSTOM_SITE环境变量,此变量指向包含Synopsys第三方软件集成文件的目录。此目录通常所有用户均可读,但只有管理员可写。
setenv SYNOPSYS_CUSTOM_SITE path_to_directory
  1. $SYNOPSYS_CUSTOM_SITE下创建images子目录。
mkdir $SYNOPSYS_CUSTOM_SITE/images
  1. $SYNOPSYS_CUSTOM_SITE下的images目录中创建SOS符号链接。
ln -s $CLIOSOFT_DIR/adaptors/cdesigner/images/sos \
$SYNOPSYS_CUSTOM_SITE/images/sos
  1. 更新SOS客户端配置文件sos.cfg,添加处理构成 cellview 的关联文件作为单个包的规则。
    • 如果所有项目都将使用Synopsys Custom Compiler,您可以更新站点定制文件$SOSD_CONFIG_DIR/sos.cfg或系统默认文件$CLIOSOFT_DIR/data/sos.cfg
    • 如果某些项目使用其他设计工具,请更新特定于项目的文件,server_name.rep/project_name/setup/sos.cfg
    • 更改模板在$CLIOSOFT_DIR/adaptors/cdesigner/sos.cfg
      示例:
cat $CLIOSOFT_DIR/adaptors/cdesigner/sos.cfg >> \
path_to_repository/setup/sos.cfg
  1. 更新$SYNOPSYS_CUSTOM_SITE/.cdesigner.tcl文件。该文件包含Custom Compiler对第三方工具的定制。可以从同一个文件加载多个自定义集成。
    • $CLIOSOFT_DIR/adaptors/cdesigner/.cdesigner.tcl追加到$SYNOPSYS_CUSTOM_SITE/.cdesigner.tcl文件中。
      示例:
cat $CLIOSOFT_DIR/adaptors/cdesigner/.cdesigner.tcl >> \
$SYNOPSYS_CUSTOM_SITE/.cdesigner.tcl

使用SOS管理库定义
SOS可以管理一个由Custom Compiler处理的库定义文件,即sos_project.defs。这个由SOS管理的文件会被包含在用户工作区的未管理的lib.defs文件中。如果用户创建、复制、移动或检入一个库,SOS会检查该库是否在lib.defs文件中定义。如果SOS在lib.defs中找到该库,SOS会从lib.defs中删除库的定义,并将定义移动到sos_project.defs中。每当用户创建一个新的工作区时,SOS会创建一个lib.defs文件,并将sos_project.defs包含在那个新的lib.defs文件中。

这个功能默认是禁用的。按照以下步骤启用库定义管理:

  1. 将这一行添加到每个用户的$SYNOPSYS_CUSTOM_SITE/.cdesigner.tcl文件中:
namespace eval sos { global sosLibMgt set sosLibMgt 1 
}

这个变量值使得库定义管理成为可能。
2. 检查 sos_project.defs 文件的初始版本
3. 可选,通过更新$SYNOPSYS_CUSTOM_SITE/.cdesigner.tcl文件来为SOS库定义文件指定一个特定站点的名称:

namespace eval sos { global sosLibMgtFilename set sosLibMgtFilename "sos_my_project.defs" 
}
  1. sos.cfg 中定义这个触发器,以便当用户创建并填充一个新的工作区时自动创建 lib.defs 文件:
trigger cc_SosLibMgt_trigger {populate {-- Checks for the lib.defs file and creates it if one is not presentexec_after "$CLIOSOFT_DIR/scripts/cc_soslibmgt"}
}

与问题跟踪系统的集成
您可以在Custom Compiler中选择自定义SOS用户界面,以便用户在检入文件时可以在问题跟踪系统中指定错误编号。按照以下步骤启用并配置此功能:

  1. 更新 sos.cfg 文件以定义 issue_id 属性。
list issue_type {value java -jar $CLIOSOFT_DIR/cr_scripts/jira/jira_get.jar
}
attribute issue_id
{ type issue_type; label "IssueID"; mode set; export yes; display yes; prompt yes; }
  1. 更新操作的触发定义,例如您想要跟踪问题ID的签入操作。例如:
trigger dflt_file_trigger {ci {attribute issue_id;exec_after java -jar $CLIOSOFT_DIR/cr_scripts/jira/jira_put.jar$SOS_issue_id 1>/dev/null 2>&1 &}
}trigger dflt_package_trigger { ci {attribute issue_id;exec_after java -jar $CLIOSOFT_DIR/cr_scripts/jira/jira_put.jar $SOS_issue_id 1>/dev/null 2>&1 &}
}
  1. 更新$SYNOPSYS_CUSTOM_SITE/.cdesigner.tcl文件以在 Check In 表单中定义问题ID字段。
set clioDirScr "$env(CLIOSOFT_DIR)/bin/soscr report summary"
set clioIssue [list "issue_id" "IssueID" $clioDirScr "ci"]
set sos::sosAttrListG [list $clioIssue]
  1. 退出 Custom Compile 和SOS,然后重新启动它们。

自定义对话框中的属性列表
您可以在Custom Compiler中选择自定义SOS用户界面,以指定对象列表中显示哪些属性。每个用户都可以使用对话框中的Customize按钮来自定义列表。要设置一组标准的默认属性(用户仍然可以覆盖),有两种选项:

  • 创建一个.sosInit.tcl文件,该文件指定了属性,并让每个用户在他们启动Custom Compiler的目录中安装该文件。
    要创建文件,请使用Customize按钮定义属性列表并保存更改。这将创建一个名为.sosInit-user.tcl的文件。接下来,将文件重命名为.sosInit.tcl并分发给每个用户。
  • $SYNOPSYS_CUSTOM_SITE/.cdesigner.tcl文件中指定属性。在此文件中指定属性的格式为:
array set sos::sosDisplayAttributesTabG {Revision 
{label Revision}}
array set sos::sosDisplayAttributesTabG {LatestRev 
{label Latest}}
array set sos::sosDisplayAttributesTabG {CheckedOutBy 
{label Locked}}set sos::sosDisplayAttributesColOrderG 
{ "Revision" "LatestRev" "CheckedOutBy" }

定制杂项命令列表
您可以创建特定于站点的自定义设置,以从 Design Manager > Miscellaneous 命令中获得可用的命令。
要将SOS命令添加到杂项对话框中的命令列表,请在$SYNOPSYS_CUSTOM_SITE/.cdesigner.tcl文件中的全局数组
中添加项目。
例如:

array set sosMiscCmdTabG 
{Listing "ls -l @SELECTION >@POPUP "} 

在这个例子中,Listing是在对话框中显示的命令名称,而ls -l是用户在对话框中看到的命令。@SELECTION关键字指定当前选定的项目。@POPUP关键字指定结果应该在文本编辑器窗口中显示。

你可以使用>字符来重定向结果,如这个例子所示:
"soscmd status -sm -sor -sunm @SELECTION > myFile.log"

你还可以定义Tcl函数来执行。默认情况下,SOS有注册的函数sos::scdMiscellenousProc。单一参数是选定项目的路径列表;返回值是结果。你可以覆盖这个函数以获得不同的结果。

与Synopsys Laker的集成

要将SOS与Synopsys Laker软件集成:

  1. 如果文件laker_install_path/integration/SOS/integ.tcl尚未安装,请运行以下命令:
mkdir laker_install_path/integration/SOS
cp $CLIOSOFT_DIR/scripts/sos_laker_main_menu.tcl \
laker_install_path/integration/SOS/integ.tcl

Laker软件的最新版本已经预装了这个文件。
2. 更新laker.rc文件以启用SOS数据管理,通过包含或编辑以下行:

[DataManagement] DMAutoCheckOutCV = Prompt DMAutoCheckInCV = Never
DMAutoCheckOutInFile = Prompt DMToolType = SOS
[LeoPreference] MCellVersionControl = TRUE

http://www.ppmy.cn/devtools/148823.html

相关文章

如何优化亚马逊广告以提高ROI?

在竞争激烈的亚马逊市场中,优化广告以提高投资回报率(ROI)是卖家的关键任务。以下是一些实用的策略: 一、精准的关键词研究与选择 深入了解产品特性和目标受众 详细分析产品的功能、用途、优势和适用人群。例如,如果你…

基于Elasticsearch8的向量检索实现相似图形搜索

Elasticsearch8版本增加了KNN向量检索,可以基于此功能实现以图搜图功能。 1、首先创建索引,es提供了类型为dense_vector的字段,用于存储向量,其中dims是向量维度,可以不配置,es会根据第一条插入的向量维度…

开源平台Kubernetes的优势是什么?

Kubernetes 是一个可移植、可扩展的开源平台,用于管理容器化的工作负载和服务,方便进行声明式配置和自动化。Kubernetes 拥有一个庞大且快速增长的生态系统,其服务、支持和工具的使用范围广泛。 Kubernetes 这个名字源于希腊语,意…

基于Qlearning强化学习的机器人迷宫路线搜索算法matlab仿真

目录 1.算法仿真效果 2.算法涉及理论知识概要 2.1 Q-learning理论 2.2 机器人迷宫路线搜索具体实现 状态与动作定义 Q 表初始化 3.MATLAB核心程序 4.完整算法代码文件获得 1.算法仿真效果 matlab2022a仿真结果如下(完整代码运行后无水印)&#…

MySQL入门学习笔记

第一章 数据库系统概述 数据库的4个基本概念 数据、数据库、数据库管理系统、数据库系统是与数据库技术密切相关的4个基本概念 数据 数据是数据库中存储的基本对象,描述事物的符号记录称为数据,数据的表现形式还不能完全表达其内容,需要…

Ruby语言的编程范式

Ruby语言的编程范式 引言 Ruby是一种动态、开源、面向对象的编程语言,最早由日本计算机科学家Matz(松本行弘)于1995年开发。Ruby以其简洁的语法和强大的功能而广受欢迎,特别是在Web开发领域。Ruby对开发者的友好性以及其设计哲学…

Java设计模式 —— 【行为型模式】策略模式(Strategy Pattern) 详解

文章目录 概述优缺点适用场景模式结构案例实现拓展优化(策略工厂) 概述 策略模式是一种行为模式,该模式定义了一系列算法,并将每个算法封装起来,使它们可以相互替换,且算法的变化不会影响使用算法的客户。它…

修改 页面 滚动条样式

/* 整个页面的滚动条 */ ::-webkit-scrollbar {width: 12px; /* 滚动条的宽度 */ }/* 滚动条轨道 */ ::-webkit-scrollbar-track {background: #f1f1f1; /* 轨道的背景颜色 */border-radius: 10px; /* 轨道的圆角 */ }/* 滚动条滑块 */ ::-webkit-scrollbar-thumb {background:…