SOS 是 Cliosoft 针对集成电路设计现状,提出的于现有 EDA 工具无缝连接的一种解决方案,实现多时区直接设计数据协同设计,不同工程师之间数据协同工作,版本管理,版本控制,工作区管理,发布涉及版本数据等项目管理功能。
使用 SOS 前需要将 sos 工具以及 license 进行 load 操作。无论是 module 或者其他 load 方式,需要在 $PATH 中出现 SOS 绝对路径,确保 sos,sosadmin 等工具可以直接启动。
建立一个 Server
注:Server 的建立一般是依据不同的工艺进行,每一个工艺建立一个 Server
利用拥有权限的账户 load 整合 SOS 程序以及 license,然后启动 sosadmin
正常启动 sosadmin 之后会出现如上所示的对话框。
点击 “New” 后出现下图所示对话框
此时,你需要考虑的是存储空间是否充足,如果存储空间充足,可以使用 local 方式,如果存储空间并不是很理想,就使用 Cache 模式。
这一块就是设置是否需要使用 cache 方式建立 Server,使用 cache 方式建立的 Server 在用户 populate 之后所有的文件都是以 link 方式存在的,所有的文件都是 link 到 cache 存储空间,因此更节省存储。
依次填写相关信息,在填写之前可以直接选择 Recommend 按键来实现自动填写,然后根据自动填写的内容进行修改。
注:无论是 Host name 选项还是 Cache Host 选项,都需要 dns 解析 hostname,否则无法成功建立。所有端口不可重复使用。
填写好之后点击 OK 即可,如使用 cache 方式,大致内容如下图所示:
在 Server 创建好之后,需要启动 Server,点击主窗口
按钮启动 Server。启动后选中新建的 Server,点击
按钮确定是否启动成功。
建立 Project
在建立好 Server 后并且成功启动后,就可以直接建立 Project。
选择建立好的 Server,点击 Projects
弹出如下对话框:
点击 New 添加一个新的 Project。
填写 Project 的名字,选择 Project 存放数据的路径,以及这个 Project 的 Admin 用户,多个 Admin 用户之间用逗号分隔。Comments 内容可写一些项目描述,这个内容并没有具体的意义,也不对新建的 Project 内容有任何影响。填写好之后,点击 OK,出现如下所示的对话框。
这时,一个 Project 在 SOS 上的基本框架建立完毕。
配置 Project 的配置信息(sosd.cfg)
在新建好的 Project 中根据
显示的路径进入到相关目录下,进入到 setup 目录,找到 sosd.cfg 文件,Vim 编辑。
注:初始的 sosd.cfg 文件并没有多少信息,需要手工进行添加。在 sosd.cfg 配置文件中 - - 代表注释。
根据项目要求,设置是否为 openworld
可以添加修改 ADMIN 用户信息
ACL 权限控制,我这里分了 schematic 与 layout 两个组,根据权限信息添加人员,人员于人员之间用逗号分隔,最后用分号结尾。
权限基本设置完毕。高级权限请参考 SOS 相关手册。修改完成后需要在主窗口对该 Server 进行一次 config Reread 操作,点击 Reread Config 按钮即可,会提示配置信息是否出错。
为 Project 建立基本的数据信息并 link 工艺信息。
依次建立 Server 目录、Project 目录以及个人目录。
mkdir –p /sos 目录 /server 目录 /project 目录 / ADMIN 用户目录 /
Admin 用户建立好目录之后进行基础数据和信息的配置。
使用对应 sosd.cfg 中的 ADMIN 用户进入到 ADMIN 用户目录后,一次根据 Project 建立需要的目录信息。
例如:mkdir project project_tmp project_sim ANA_STD
建立一个 cds.lib 文件(touch cds.lib).
使用 vim 工具修改 cds.lib 文件,内容大致如下。
因为经常集成 virtuoso 使用,所有空行上面的一些 DEFINE 都是一些 virtuoso 的基本内容
主要看 INCLUDE 一项,指向工艺的绝对路径下的 cds.lib 文件,在指向文件前,要先编辑工艺下的 cds.lib,因为有一些工艺的 cds.lib 文件自带了一些定向内容,但是变量设置方面可能出问题,如果有问题,可以将原 cds.lib 中的设置信息转移到这个文件中。
SOFTINCLUDE 一项指定的 cds.lib.local 是用户可以自定义一些 cds.lib 的内容,但是在 sos 服务器中并不存在,每个用户可以自定义,自行引用,也可以不定义。
在最下面的四行 DEFINE 目的是将 SOS 中的目录对应到本地目录。
Create 信息到 SOS。
使用 ADMIN 用户 load 相关的 sos 工具与 license,使用启动命令 sos 启动 sos 工具。启动后界面如下:
依次点击 File-new workarea
选择 Server Name,即为之前建立的 Server,选择 Project Name,即为之前建立的 Project。
图上所示的权限为选择哪种存放的方式,如果选择 Local Copies 则所有的文件都会存在本地目录中,大量占用存储空间,选择 Links to Smart Cache 方式即为 Links 方式,如文章前面所说,全部文件都 link 到 Cache 存储中。
我们这里选择 links to smart cache 方式。
点击 OK,建立完成。
注:在建立 Server 的时候如果没有建立 Cache Server,这里则不可选择 links 方式,只能选择 local copies 方式。但是后期可更改为 link 方式,需要人力比较大。
在左边的
下会显示当前目录信息,依次选中(四个文件夹,一个 cds.lib 文件,其他不需要),点击 Create 上传到 SOS 服务器。
Create 完毕后,点击选择
根目录,选择菜单栏 Tree 选项,如下图:
在 Populate 完成后,返回 terminal,ll –a 查看 cds.lib 文件是否为 LINK 文件,如果是,操作完毕。
其他用户进行配置并 Populate 数据信息。
其他有权限用户在使用过程中,建立目录、建立 workarea 的方式同上,区别在于普通权限用户无需 Create 目录结构到 SOS 服务器中,只需要在建立 workarea 之后 populate 即可。
5)与 virtuoso 进行 SOS 集成。
所有需要集成使用的用户,需要在加载 virtuoso 工具、sos 工具及对应 license 后,输入 setup_cds_libmgr_menu 命令,按 Y 确认将 SOS 集成到 virtuoso 中,如下图所示为集成成功,在左侧 Library 中显示相关工艺信息则 cds.lib 文件内容书写正确,如未出现工艺信息,则需要修改 cds.lib 文件。
权限管理
在 SOS 所有操作都进行完毕后,需要对目录操作权限进行一次设定,需要用 ADMIN 权限用户在对应的 ADMIN 目录中打开 SOS 程序。
选择根目录,点击菜单栏 Modify Attrs – Source File/Dir……(Source File/Directory)配置目录 Owner 以及 Write Access 权限,确保只有 Owner 用户可以修改根目录结构,其他用户无法修改。
按此操作,依次选择目录,对目录的 Owner 或者 Group 进行权限管控,确保没有权限的用户或者组无法进行非法访问。
用户操作。
用户在使用 virtuoso 操作之前,需要进行一次 Updata,在操作的过程中,如果需要修改某些内容,需要对内容进行一次 check out 对操作的内容进行一次锁定,在操作完成后 check in 解除锁定。
用户新建的内容需要先 Create 写入到 SOS 服务器中。
总结:以上即为 SOS 进行数据管理和权限管理的基本操作,高级操作请在本基础上参考 SOS 相关操作手册。建议 SOS 使用单独的服务器存放数据,对于 Cache 数据的存放目录,需要 SOS 服务器与用户登录的服务器均可以同时访问并且建议路径保持一致。
建议使用 Link 方式建立 Server 并且要求研发用户以 Link 的方式 Check 数据,这样可以降低存储空间的使用率,也可以更好的管理 SOS。
使用 Link 方式也存在一定的不足,如发生需要数据迁移的需求时,需要所有用户将需要用的数据 Create 和 Check in,然后管理员切换到 local copies 方式全部 check 出数据然后进行迁移。
网友留言:
每个project都可以配置一些用户,这些用户可以共同管理或者按权限管理一些文件。。每个project都有自己的cfg。
server可以理解成一个 project的集。