找回密码
 注册
关于网站域名变更的通知
查看: 1360|回复: 11
打印 上一主题 下一主题

十天学会Skill之第八天

  [复制链接]

该用户从未签到

跳转到指定楼层
1#
 楼主| 发表于 2023-8-27 22:42 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式

EDA365欢迎您登录!

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

x
本帖最后由 deargds 于 2023-8-27 22:42 编辑

十天学会skill之第八天
By deargds
https://www.eda365.com
学习目的:了解常用约束规则类函数,学会读取和设置基本的约束规则

一,约束规则的开启状态获取
通过axlCNS*ModeGet类函数获取约束规则开启状态

axlCNSDesignModeGet:设计规则
axlCNSEcsetModeGet:电气规则
axlCNSPhysicalModeGet:物理规则
axlCNSSpacingModeGet:间距规则
axlCNSSameNetModeGet:同网络间距规则

以axlCNSPhysicalModeGet为例,示例代码如下:
1.获取支持的物理规则项
  1. axlCNSPhysicalModeGet(nil)
复制代码

2.获取所有物理规则开启状态
  1. axlCNSPhysicalModeGet('all)
复制代码

3.获取最小线宽检查项的开启状态
  1. axlCNSPhysicalModeGet('width_min)
复制代码

约束管理器中的物理规则开启状态选项界面:


二,约束规则的开启状态设置
通过axlCNS*ModeSet类函数设置约束规则开启状态

axlCNSDesignModeSet:设计规则
axlCNSEcsetModeSet:电气规则
axlCNSPhysicalModeSet:物理规则
axlCNSSpacingModeSet:间距规则
axlCNSSameNetModeSet:同网络间距规则

axlCNSPhysicalModeSet为例,示例代码如下:
1.开启所有物理规则检查项
  1. axlCNSPhysicalModeSet('all 'on)
复制代码

2.开启最小线宽检查项
  1. axlCNSPhysicalModeSet('width_min 'on)
复制代码

3.批量开启物理规则检查项
  1. axlCNSPhysicalModeSet('(bbvia_stagger_max bbvia_stagger_min) 'on)
复制代码

三,约束规则的检查值获取

axlCNSDesignValueGet:设计规则
axlCNSEcsetValueGet:电气规则
axlCNSGetPhysical:物理规则
axlCNSGetSpacing:间距规则
axlCNSGetSameNet:同网络间距规则

axlCNSGetPhysical为例,示例代码如下:
1.获取"50-OHM"物理规则的TOP层最小线宽值
  1. axlCNSGetPhysical("50-OHM" "TOP" 'width_min)
复制代码

2.获取"50_OHM"物理规则TOP层的所有检查值
  1. axlCNSGetPhysical("50-OHM" "TOP" nil)
复制代码

四,约束规则的检查值设定

axlCNSDesignValueSet:设计规则
axlCNSEcsetValueSet:电气规则
axlCNSSetPhysical:物理规则
axlCNSSetSpacing:间距规则
axlCNSSetSameNet:同网络间距规则

axlCNSGetPhysical为例,示例代码如下:
1.将"50-OHM"物理规则的TOP层最小线宽值设置为7
  1. axlCNSSetPhysical("50-OHM" "TOP" 'width_min 7)
复制代码

1.将"50-OHM"物理规则的所有层最小线宽值设置为6
  1. axlCNSSetPhysical("50-OHM" nil 'width_min 6.0)
复制代码

五,其它常用约束规则函数
1.获取当前设计中定义的物理规则列表
  1. axlCnsList('physical)
复制代码

获取的列表如下:


2.获取当前设计中定义的间距规则列表
  1. axlCnsList('spacing)
复制代码

3.获取当前设计中定义的电气规则列表
  1. axlCnsList('electrical)
复制代码

4.获取当前设计中定义的SameNet间距规则列表
  1. axlCnsList('sameNet)
复制代码

5.获取指定物理规则的VIA列表
  1. axlCnsGetViaList("50-OHM")
复制代码

6.创建物理规则
  1. axlCNSCreate('physical "50-OHM" nil)
复制代码

7.创建间距规则
  1. axlCNSCreate('spacing "50-OHM" nil)
复制代码

8.创建SameNet间距规则
  1. axlCNSCreate('sameNet "50-OHM" nil)
复制代码

9.批量更新规则设置
  1. axlCNSMapClear()
  2. axlCNSSetPhysical("50-OHM" nil 'width_min 6.0)
  3. axlCNSSetPhysical("100-OHM" nil 'width_min 4.0)
  4. ;...其它规则设置操作
  5. axlCNSMapUpdate()
复制代码

总结:以上仅对常用约束规则函数进行介绍,实际开发中还会涉及到区域规则,NET CLASS,DIFF PAIR,Match Group等操作,可以在熟悉基础操作之后再作进一步的拓展。

评分

参与人数 4威望 +8 收起 理由
tonykingzhao + 1 EDA365有你更精彩!
Liu9611 + 1 赞一个!
ashnoer + 1 支持!
aarom + 5 支持!

查看全部评分

头像被屏蔽
  • TA的每日心情
    开心
    2025-1-23 15:05
  • 签到天数: 17 天

    [LV.4]偶尔看看III

    推荐
    发表于 2023-8-27 22:54 | 只看该作者
    提示: 作者被禁止或删除 内容自动屏蔽
  • TA的每日心情
    擦汗
    2024-6-28 15:49
  • 签到天数: 82 天

    [LV.6]常住居民II

    4#
    发表于 2023-9-1 17:21 | 只看该作者
    支持!写得很详细!支持原创文章!
  • TA的每日心情
    开心
    2023-5-23 15:12
  • 签到天数: 51 天

    [LV.5]常住居民I

    5#
    发表于 2023-9-7 10:46 | 只看该作者
    感谢楼主,支持
  • TA的每日心情
    奋斗
    2025-4-30 15:20
  • 签到天数: 123 天

    [LV.7]常住居民III

    7#
    发表于 2023-10-20 16:44 | 只看该作者

    感谢楼主,支持

    该用户从未签到

    8#
    发表于 2023-11-8 14:28 | 只看该作者
    请问第九天和第十天的有吗

    该用户从未签到

    9#
    发表于 2024-7-22 14:31 | 只看该作者
    学习学习,赞

    该用户从未签到

    10#
    发表于 2024-7-23 20:03 | 只看该作者
    感谢分享,赞
  • TA的每日心情
    无聊
    2025-5-16 15:22
  • 签到天数: 34 天

    [LV.5]常住居民I

    11#
    发表于 2024-8-6 17:36 | 只看该作者
    樓主請收下我的膝蓋,並期待您繼續更新!
    謝謝您
  • TA的每日心情
    开心
    2025-6-4 15:44
  • 签到天数: 29 天

    [LV.4]偶尔看看III

    12#
    发表于 2025-4-22 14:16 | 只看该作者
    期待9和10,啦啦啦啦啦啦
    您需要登录后才可以回帖 登录 | 注册

    本版积分规则

    关闭

    推荐内容上一条 /1 下一条

    EDA365公众号

    关于我们|手机版|EDA365电子论坛网 ( 粤ICP备18020198号-1 )

    GMT+8, 2025-6-5 02:55 , Processed in 0.078125 second(s), 29 queries , Gzip On.

    深圳市墨知创新科技有限公司

    地址:深圳市南山区科技生态园2栋A座805 电话:19926409050

    快速回复 返回顶部 返回列表