我们从2011年坚守至今,只想做存粹的技术论坛。  由于网站在外面,点击附件后要很长世间才弹出下载,请耐心等待,勿重复点击不要用Edge和IE浏览器下载,否则提示不安全下载不了

 找回密码
 立即注册
搜索
查看: 1761|回复: 38

[资料贡献] SKill源码片段分享-查分对识别

[复制链接]

该用户从未签到

7

主题

91

回帖

157

积分

二级逆天

积分
157

终身成就奖

QQ
发表于 2022-7-28 20:12:45 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区

您需要 登录 才可以下载或查看,没有账号?立即注册

×
有些新手一直不太明白,有什么好的办法,精准识别Net名称。
以下是我经过验证的版本 。
后面加上创建函数,即可进行查分对创建 。
dp.zip (2 KB, 下载次数: 7)

(procedure zs_diffPiar_Create()
    (prog (net_no_diffpair net_contan_Diff_p net_contan_Diff_n pnetNameList CharIndex i nNetNameList NnameName nNetID)

        net_no_diffpair = setof(net axlDBGetDesign()->nets net->diffpair);这条代码执行完,前面的变量 net_no_diffpair存储的,就都是没有差分的Net。
        net_contan_Diff_p = setof(net net_no_diffpair rexMatchp(&quot" net->name)) ; 这条执行完,变量net_contan_Diff_p 存储的都是P的Net
        net_contan_Diff_n = setof(net net_no_diffpair rexMatchp("N" net->name)) ; 这条执行完,变量net_contan_Diff_p 存储的都是N的Net
        ; 提前筛选出包含差分关键字的Net,这样后续进行循环的时候,计算量小很多。
        ;
        (foreach pnet net_contan_Diff_p
            pnetNameList = parseString(pnet->name "");把Pname拆分掉,形成一个 list序列
            i = 1;定义一个变量用于控制循环
            CharIndex = list();申请一个新的list,用于记录 P所在的位置
            (while (i <= length(pnetNameList)) ;控制循环次数,意在循环到每一个字符
                (when nthelem(i pnetNameList) == &quot" ;假设某一个字符刚好是P
                    CharIndex = cons(i CharIndex) ;把当前的数字记录起来.,这样就达到了记录P所在位置的效果了
                );end when
                i++ ;变量递增
            );end while
            j = 1
            (while j <= length(CharIndex);从序号列表进行一次循环
                indexN = nthelem(j CharIndex)
                i = 1
                nNetNameList = list();用于存放把NetName从P替换成N后的字符
                (while i<= length(pnetNameList)
                    (if i != indexN then;当,循环变量不等于之前记录的值得时候,
                        nNetNameList = cons(nthelem(i pnetNameList) nNetNameList);就直接把原来的名字字符写进去
                    else;当循环变量和记录的P的位置的数字对应上了的时候
                        nNetNameList = cons("N" nNetNameList);写N进去,实现替换
                    );end if
                    i++

                )
                NnameName = buildString(nNetNameList "");将名称序列重组成Net名称
                nNetID = setof(net net_contan_Diff_n net->name == NnameName);从之前筛选过的包含N的名称中,再次筛选出精确名称
                (when nNetID ;假设筛选有结果,那么这时你就可以创建差分了 ..如果没有,那么自动进行下一次循环,也就是另一个位置的P的替换..如果都没有,说明不是差分.并不会处理
                    axlMsgPut("DiffNet_N : %A\nDiffNet_N : %A" pnet->name NnameName)

                    j = length(CharIndex)+1;跳出循环
                );end when
                j++
            );end foreach
        );end foreach        
        )
);end procedure
回复

使用道具 举报

  • TA的每日心情
    开心
    2024-11-13 11:15
  • 签到天数: 1 天

    [LV.1]初来乍到

    97

    主题

    1761

    回帖

    1万

    积分

    1元学习Allegro(2期)

    Today meets tomorrow

    积分
    10978

    终身成就奖

    发表于 2022-7-28 21:11:17 | 显示全部楼层
    Today meets tomorrow
    回复

    使用道具 举报

    该用户从未签到

    1

    主题

    2151

    回帖

    0

    积分

    二级逆天

    积分
    0

    终身成就奖特殊贡献奖原创先锋奖优秀斑竹奖

    发表于 2022-7-29 06:48:45 | 显示全部楼层
    回复

    使用道具 举报

  • TA的每日心情
    奋斗
    7 小时前
  • 签到天数: 90 天

    [LV.6]常住居民II

    123

    主题

    2602

    回帖

    1万

    积分

    三级逆天

    积分
    14006

    终身成就奖特殊贡献奖社区居民忠实会员

    QQ
    发表于 2022-7-29 07:58:38 | 显示全部楼层
    回复

    使用道具 举报

  • TA的每日心情
    开心
    7 小时前
  • 签到天数: 54 天

    [LV.5]常住居民I

    2

    主题

    1万

    回帖

    2万

    积分

    三级逆天

    积分
    20559

    终身成就奖特殊贡献奖原创先锋奖优秀斑竹奖

    QQ
    发表于 2022-7-29 08:11:05 | 显示全部楼层
    回复

    使用道具 举报

  • TA的每日心情

    昨天 08:59
  • 签到天数: 109 天

    [LV.6]常住居民II

    0

    主题

    3738

    回帖

    7555

    积分

    二级逆天

    积分
    7555

    终身成就奖特殊贡献奖原创先锋奖优秀斑竹奖

    发表于 2022-7-29 08:43:36 | 显示全部楼层
    回复

    使用道具 举报

    该用户从未签到

    1

    主题

    3100

    回帖

    0

    积分

    二级逆天

    积分
    0

    终身成就奖特殊贡献奖原创先锋奖优秀斑竹奖

    发表于 2022-7-29 08:47:54 | 显示全部楼层
    回复

    使用道具 举报

  • TA的每日心情
    开心
    2024-10-6 16:56
  • 签到天数: 61 天

    [LV.6]常住居民II

    1

    主题

    2955

    回帖

    2987

    积分

    二级逆天

    积分
    2987

    终身成就奖特殊贡献奖原创先锋奖优秀斑竹奖

    发表于 2022-7-29 08:48:04 | 显示全部楼层
    回复

    使用道具 举报

  • TA的每日心情

    昨天 08:41
  • 签到天数: 101 天

    [LV.6]常住居民II

    114

    主题

    4853

    回帖

    4549

    积分

    1元学习Allegro(1期)

    积分
    4549

    终身成就奖优秀斑竹奖特殊贡献奖原创先锋奖

    发表于 2022-7-29 09:06:34 | 显示全部楼层
    回复

    使用道具 举报

  • TA的每日心情
    奋斗
    昨天 19:57
  • 签到天数: 165 天

    [LV.7]常住居民III

    809

    主题

    5294

    回帖

    9305

    积分

    二级逆天

    积分
    9305

    终身成就奖特殊贡献奖原创先锋奖金点子奖优秀斑竹奖

    发表于 2022-7-29 09:11:57 | 显示全部楼层
    回复

    使用道具 举报

    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    每日签到,有金币领取。


    Copyright ©2011-2024 NTpcb.com All Right Reserved.  Powered by Discuz! (NTpcb)

    本站信息均由会员发表,不代表NTpcb立场,如侵犯了您的权利请发帖投诉

    ( 闽ICP备2024076463号-1 ) 论坛技术支持QQ群171867948 ,论坛问题,充值问题请联系QQ1308068381

    平平安安
    TOP
    快速回复 返回顶部 返回列表