Clisoft SOS与CAD系统集成

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 present
    exec_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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/949916.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Java-数据结构-链表-高频面试题(1)

在上一篇文章中,我们学习了链表中的"单向链表",但学可不代表就是学会了,能够运用链表的地方比比皆是,解题方法也是层出不穷,今天就让我们巩固一下"单向链表"的知识吧~ 第一题:相交链表…

JVM实战—OOM的定位和解决

1.如何对系统的OOM异常进行监控和报警 (1)最佳的解决方案 最佳的OOM监控方案就是:建立一套监控平台,比如搭建Zabbix、Open-Falcon之类的监控平台。如果有监控平台,就可以接入系统异常的监控和报警,可以设置当系统出现OOM异常&…

照片做成图书小程序开发制作介绍

照片做成图书小程序系统,主要是让用户直接通过小程序选择需要做成书的类型和照片排版布局模板,以及上传照片的数量。照片上传完成后,生成模板图片样式进行预览或编辑修改。修改完成全部保存。保存后生成完整的照片书进行预览没问题&#xff0…

云商城--业务+架构学习和环境准备

云商城业务架构学习和环境准备 B2B:Business to Business,交易双方的身份都是商家,也就是商家将商品卖给商家,类似采购、批发类购物,国内代表性网站阿里巴巴批发网 C2C:Customer to Customer,…

Elasticsearch:Lucene 2024 年回顾

作者:来自 Elastic Chris Hegarty 2024 年对于 Apache Lucene 来说又是重要的一年。在本篇博文中,我们将探讨主要亮点。 Apache Lucene 在 2024 年表现出色,发布了许多版本,包括三年来的首次重大更新,其中包含令人兴奋…

基于LabVIEW的BeamGage自动化接口应用

设置 National Instruments LabVIEW可执行程序需要被配置为使用.NET 4框架。.NET允许自定义可执行程序的运行方式。可通过以下方式实现: 在LabVIEW安装目录中创建一个名为LabVIEW.exe.config的文本文件(例如:C:\Program Files\National Ins…

卸载干净 IDEA(图文讲解)

目录 1、卸载 IDEA 程序 2、注册表清理 3、残留清理 1、卸载 IDEA 程序 点击屏幕左下角 Windows 图标 -> 设置-控制面板->intellij idea 勾选第一栏 Delete IntelliJ IDEA 2022.2 caches and local history,表示同时删除 IDEA 本地缓存以及历史。 Delete I…

李宏毅机器学习课程笔记02 | 机器学习任务攻略General Guide

第一步:分析loss on training data 先检查在训练数据上模型是否很好的学习 情况1:如果在训练集上,loss很大,说明在训练资料上没有训练好 可能性1:设置的模型太简单了,模型存在model bias模型偏差&#x…

【C++】19.多态

文章目录 1. 多态的概念2. 多态的定义及实现2.1 多态的构成条件2.1.1 实现多态还有两个必须重要条件:2.1.2 虚函数 (Virtual Function)定义:特性:示例代码:代码分析1. 类定义部分2. 主函数部分运行结果 重点讲解1. 虚函数的作用2.…

光伏仿真与设计系统应用架构深度剖析

在光伏产业蓬勃发展的时代背景下,绿虫光伏仿真与设计系统成为推动其高效发展的核心力量。其应用架构涵盖多个关键步骤,每个环节都紧密相扣,共同构建起精准且高效的设计体系。 气象分析作为开篇之笔,起着基石般的重要作用。系统全…

进程间通讯

简介: 进程间通讯方式有: 1.内存映射(mmap): 使用mmap函数将磁盘空间映射到内存 2.管道 3.信号 4.套接字(socket) 5.信号机制 通过进程中kill函数,去给另一个函数发送信号&a…

空压机接入配置实例:利用 MODBUS - TCP 转 Ethernet IP 网关实现连接

在工业自动化生产环境中,空压机作为重要的气源设备,其稳定运行和有效监控对于整个生产流程至关重要。然而,不同厂家生产的空压机可能采用不同的通信协议,这给集中监控和管理带来了挑战。在本次案例中,我们遇到的空压机…

基于 Boost.Asio 和 Boost.Beast 的异步 HTTP 服务器(学习记录)

已完成功能: 支持 GET 和 POST 请求的路由与回调处理。 解析URL请求。 单例模式 管理核心业务逻辑。 异步 I/O 技术和 定时器 控制超时。 通过回调函数注册机制,可以灵活地为不同的 URL 路由注册处理函数。 1. 项目背景 1.1 项目简介 本项目是一个基于…

Harmony开发【笔记1】报错解决(字段名写错了。。)

在利用axios从网络接收请求时,发现返回obj的code为“-1”,非常不解,利用console.log测试,更加不解,可知抛出错误是 “ E 其他错误: userName required”。但是我在测试时,它并没有体现为空,…

Spring源码分析之事件机制——观察者模式(二)

目录 获取监听器的入口方法 实际检索监听器的核心方法 监听器类型检查方法 监听器的注册过程 监听器的存储结构 过程总结 Spring源码分析之事件机制——观察者模式(一)-CSDN博客 Spring源码分析之事件机制——观察者模式(二&#xff…

关于Mac中的shell

1 MacOS中的shell 介绍: 在 macOS 系统中,Shell 是命令行与系统交互的工具,用于执行命令、运行脚本和管理系统。macOS 提供了多种 Shell,主要包括 bash 和 zsh。在 macOS Catalina(10.15)之前&#xff0c…

【C++】20.二叉搜索树

文章目录 1. 二叉搜索树的概念2. 二叉搜索树的性能分析3. 二叉搜索树的插入4. 二叉搜索树的查找5. 二叉搜索树的删除6. 二叉搜索树的实现代码7. 二叉搜索树key和key/value使用场景7.1 key搜索场景:7.2 key/value搜索场景:7.3 主要区别:7.4 ke…

【大模型+本地自建知识图谱/GraphRAG/neo4j/ollama+Qwen千问(或llama3)】 python实战(中)

一、建立基本的知识图谱并导入neo4j 这里我举例用的属性表、关系表,大概格式如下 id名字颜色a1苹果红色 startrelenda1属于b1 启动neo4j(关于neo4j的安装此处不再赘述) import pandas as pd from py2neo import Graph, Node, Relationship…

【pyqt】(四)Designer布局

布局 之前我们利用鼠标拖动的控件的时候,发现一些部件很难完成对齐这些工作,pyqt为我们提供的多种布局功能不仅可以让排版更加美观,还能够让界面自适应窗口大小的变化,使得布局美观合理。最常使用的三种布局就是垂直河子布局、水…

解决“KEIL5软件模拟仿真无法打印浮点数”之问题

在没有外部硬件支持时,我们会使用KEIL5软件模拟仿真,这是是仿真必须要掌握的技巧。 1、点击“Project”,然后点击“Options for target 项目名字”,点击“Device”,选择CPU型号。 2、点击“OK” 3、点击“Target”,勾选“Use Mi…