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 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.mzph.cn/pingmian/66537.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Unity-Mirror网络框架从入门到精通之Attributes属性介绍

前言 在现代游戏开发中,网络功能日益成为提升游戏体验的关键组成部分。Mirror是一个用于Unity的开源网络框架,专为多人游戏开发设计。它使得开发者能够轻松实现网络连接、数据同步和游戏状态管理。本文将深入介绍Mirror的基本概念、如何与其他网络框架进…

Fastapi + vue3 自动化测试平台(2)--日志中间件

FastAPI Vue3 自动化测试平台(2)-- 日志中间件 前言 在开发和运行自动化测试平台时,日志功能是至关重要的一部分。日志不仅能帮助我们快速定位和解决问题,还能作为平台运行的记录依据,为后续分析和优化提供参考。 …

【计算机视觉】单目深度估计模型-Depth Anything-V2

概述 本篇将简单介绍Depth Anything V2单目深度估计模型,该模型旨在解决现有的深度估计模型在处理复杂场景、透明或反射物体时的性能限制。与前一代模型相比,V2版本通过采用合成图像训练、增加教师模型容量,并利用大规模伪标签现实数据进行学…

css预处理器sass

在前端开发的世界中,CSS 是构建网页样式的基础。然而,随着项目规模的增大,纯 CSS 的编写和维护往往会变得复杂而繁琐。为了解决这些痛点,Sass(Syntactically Awesome Style Sheets)应运而生。Sass 是一种 C…

uni-app图文列表到详情页面切换

需求:参考若依框架后,想实现首页浏览文章列表,没有合适的样式参考,所以需要有效果做到“图文列表到详情页面切换”,查阅了一下案例 发现有相应的案例,在导航栏“模板”中找到了 DCloud 插件市场 PC电脑端访…

日志服务 SQL 引擎全新升级

作者:戴志勇、顾汉杰(执少) SQL 作为 SLS 基础功能,每天承载了用户大量日志数据的分析请求,既有小数据量的快速查询(如告警、即席查询等);也有上万亿数据规模的报表级分析。SLS 作为…

【微服务】5、服务保护 Sentinel

Sentinel学习内容概述 Sentinel简介与结构 Sentinel是Spring Cloud Alibaba的组件,由阿里巴巴开源,用于服务流量控制和保护。其内部核心库(客户端)包含限流、熔断等功能,微服务引入该库后只需配置规则。规则配置方式有…

matlab编写Newton插值多项式

定义: 即: clear x [1, 2, 3, 4]; % x坐标 y [2, 1, 4, 3]; % y坐标 % 定义目标插值点 xi 2.5;% x: 已知数据点的x坐标% y: 已知数据点的y坐标% xi: 插值点,可以是一个数或一个向量n length(x);% 初始化差商矩阵F zeros(n, n);F(:,1…

unity学习14:unity里的C#脚本的几个基本生命周期方法, 脚本次序order等

目录 1 初始的C# 脚本 1.1 初始的C# 脚本 1.2 创建时2个默认的方法 2 常用的几个生命周期方法 2.1 脚本的生命周期 2.1.1 其中FixedUpdate 方法 的时间间隔,是在这设置的 2.2 c#的基本语法别搞混 2.2.1 基本的语法 2.2.2 内置的方法名,要求更严…

东土科技参股广汽集团飞行汽车初创公司,为低空经济构建新型产业生态

近日,广汽集团旗下专注于飞行汽车领域的初创公司广东高域科技有限公司于2024年12月31日正式成立,在穿透后的股东信息中,东土科技通过广州瓴云科技投资合伙企业(有限合伙)赫然在列。 此前12月18日,广汽集团…

xml-dota-yolo数据集格式转换

1、yolo转xml from xml.dom.minidom import Document import os import cv2 # def makexml(txtPath, xmlPath, picPath): # txt所在文件夹路径,xml文件保存路径,图片所在文件夹路径 def makexml(picPath, txtPath, xmlPath): # txt所在文件夹路径&…

【Nginx】设置https和http同时使用同一个端口访问

以下是一个同时使用 HTTP 和 HTTPS 并通过 8070 端口的配置示例: server {listen 8070;server_name your_domain.com;location / {root /var/www/html;index index.html;} }server {listen 8070 ssl;server_name your_domain.com;# SSL 证书和私钥的路径ssl_certif…

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

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

JVM学习指南(9)-JVM运行时数据区

JVM学习指南(9)-JVM运行时数据区 引言 Java虚拟机(JVM)是Java程序运行的核心,它为Java程序提供了一个与平台无关的执行环境。JVM的重要性不仅在于它实现了Java的跨平台特性,还在于它对程序执行过程中内存的管理。JVM运行时数据区是程序执行过程中存储数据的关键区域,理解…

PHP如何删除数组中的特定值?

php 中删除数组特定值的方法有三种:unset():直接删除指定索引的值,但会保留数组索引结构和未删除元素,适合小数组。array_filter():根据自定义回调函数筛选数组元素,返回一个新数组,原数组不变&…

计算效率提升 10 倍,存储成本降低 60%,灵犀科技基于 Apache Doris 建设统一数据服务平台

导读:灵犀科技早期基于 Hadoop 构建大数据平台,在战略调整和需求的持续扩增下,数据处理效率、查询性能、资源成本问题随之出现。为此,引入 Apache Doris 替换了复杂技术栈,升级为集存储、加工、服务为一体的统一架构&a…

Netty中用了哪些设计模式?

大家好,我是锋哥。今天分享关于【Netty中用了哪些设计模式?】面试题。希望对大家有帮助; Netty中用了哪些设计模式? 1000道 互联网大厂Java工程师 精选面试题-Java资源分享网 Netty 是一个高性能的网络通信框架,广泛…

TypeScript面向对象编程、Math与String对象详解

TypeScript 是构建大型应用的重要工具,丰富的面向对象特性和内置对象支持让开发更高效。 TypeScript 面向对象编程 类 在 TypeScript 中,类是面向对象编程的核心,它包含属性、构造函数和方法。 class Person {name: string;age: number;c…

Linux操作系统——多线程互斥

目录 一、前言 二、线程互斥 三、多线程访问临界资源所导致的问题 四、Mutex互斥量 1、锁的接口及其使用 定义一个锁(造锁) 初始化锁(改锁) 摧毁锁 上锁 解锁 锁的使用 五、锁的宏初始化 六、锁的原理 七、C封装互斥锁 八、可重入与线程…

conda指定路径安装虚拟python环境

DataBall 助力快速掌握数据集的信息和使用方式,会员享有 百种数据集,持续增加中。 需要更多数据资源和技术解决方案,知识星球: “DataBall - X 数据球(free)” -------------------------------------------------------------…