专栏首页ICSOC.TECHPrimeTime DMSA 的目录问题

PrimeTime DMSA 的目录问题

Synopsys 的 Timing sign off 工具 PrimeTime 支持的 DMSA 模式,通过一个 Master Process,在分布式计算平台上启动多个 Remote Slave Process,同时进行多个 scenario 的时序分析,大大加快了 Timing sign off 的速度。

引入 Master Process 和 Slave Process 后,执行目录和输出文件位置是一个比较容易引起混淆的问题。

Invoking Directory of Master Process

unix_shell > pt_shell -multi_scenario

上面的命令启动的就是一个特殊的 DMSA PrimeTime shell。和普通的 PrimeTime shell 相比,它们支持不同的命令,命令输出的内容也不同,帮助命令man的支持程度也不一样。DMSA PrimeTime 启动目录会保存在这个变量 $sh_launch_dir 中,可以供后面的脚本使用,而不受当前目录切换的影响。也可以把这个目录保存在一个变量(如$master_dir)中,然后传递到 slave process 的执行环境中,如下示例。

pt_shell > set master_dir [exec pwd]
pt_shell > create_scenario -specific_variables { master_dir } -specific_data "slave.tcl"

Working Directory

Working Directory 指定了 DMSA 各个 scenario 的工作目录。通常在这个目录下,会自动以 scenario 的名字建立各个 scenario slave process 运行的子目录。下面的命令就是在启动目录下指定一个子目录 work (自动建立) 做为工作目录。

 pt_shell>set multi_scenario_working_directory ./work

Launch Directory of Remote Slave Process

各个 scenario 运行时都以这个子目录(如 ./work/func_wcl_cmax)为当前目录,所以如果在 slave 的脚本中有相对目录结构 ( relative directory structure )的使用,一定要以这个目录为基准目录进行命令的书写。当然有些同学为了方便,使用绝对路径(absolute directory path)也是可以的,不过这是以丧失灵活性为代价的。

write_changes

有些 PT 命令是和目录有紧密联系的。例如这节标题提到的 write_changes,在旧版本中只支持下面的命令格式,这个命令会在每个slave process(scenario)的目录里都写出一个 pt_eco_change.tcl,一模一样的若干份,看着一点都不绿色环保。

pt_shell > remote_execute { write_changes -format icctcl -output pt_eco_change.tcl }

PrimeTime Version P-2019.03write_changes 引入了一些变化。

pt_shell > write_changes -format icctcl -output pt_eco_change_master.tcl

这样 pt_eco_change_master.tcl 只会在 Master Process 的启动目录里写出来一份,看着就不那么浪费了。

本文分享自微信公众号 - icsoc(ic-soc),作者:韩京飞

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2019-07-09

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 芯片设计的职业病

    前些天看到一篇文章,讲低容错率的职业对一个人性格的影响。文中拿常见的路怒症举例,把从事低容错率工作的人形容为经常在拥堵路段中开车的驾驶员,长期下来,容易形成敏感...

    icsoc
  • Verilog Task Concurrent Activation

    最近做一个模块级的仿真,需要在两个过程中反复调用同一个 Task。这种场景还是比较常见的,比如一个过程作为普通的配置过程,一个作为中断服务过程,这个 Task ...

    icsoc
  • 当我们做后仿时我们究竟在仿些什么(四)

    就像人类容易接受自然数,但对于负数缺乏某种直觉上的认识一样;后仿过程中经常出现的 Negative Delay 和 Negative Timing Check ...

    icsoc
  • iOS开发之多表视图滑动切换示例(仿"头条"客户端)

      好长时间没为大家带来iOS开发干货的东西了,今天给大家分享一个头条新闻客户端各个类别进行切换的一个示例。在Demo中对所需的组件进行的简单封装,在封装的组件...

    lizelu
  • iPXE 模式启动 CoreOS(简单、推荐使用)

    iPXE 模式启动 CoreOS 方法比较简单,无需配置 PXE 所需的服务器,推荐大家使用。 准备 下载 ipxe.iso $ wget http://boo...

    康怀帅
  • 对自学1年java的总结-----之如何应对"遗忘症"

    自学java 1年了,一直想写点什么。可不知如何下笔 ,今天刚好有时间 写点我对我一年 自学的总结,希望给正在自学或者学习的同学和朋友一些帮助。

    用户5927264
  • 腾讯还在提高围棋AI绝艺的棋力,柯洁说已经超过当年AlphaGo

    允中 发自 LZYY 量子位 出品 | 公众号 QbitAI AlphaGo已经退出江湖,但其他围棋AI仍在与人类对战。 11月15日,野狐围棋上的“符合预期”...

    量子位
  • 统一回复昨天文章的留言(解决写文件断电重启后内容不变的问题)

    「从上面图中可以看出,当我们调用fflush后,只是刷新用户缓冲区的数据,还没有真正写入到磁盘中,而很多人认为fflush会真正地写入到磁盘,其实这是误区。」

    Qt君
  • 【目标检测】目标检测和实例分割中应用CIoU损失和Cluster-NMS,不牺牲推理效率的情况下,显著提高AP和AR

    基于深度学习的目标检测和实例分割取得了前所未有的进展。在本文中,我们提出了CIoU (Complete-IoU)损失和Cluster-NMS来增强边界盒...

    CNNer
  • 25. 企业级开发基础6:面向对象特征(继承)

    继承是让我们抽象的对象之间存在一定的所属关系 在继承关系中,我们一定要明确会出现这样的一种关系~父类、子类,子类继承自父类,可以继承父类中的公开的属性和方法(...

    大牧莫邪

扫码关注云+社区

领取腾讯云代金券