kicad9.0在做PCB设计的时候,经常遇到小的封装和大的封装设计规则不兼容,最常见的就是BGA封装的设计规则和其他封装不兼容。今天遇到同样的问题,查找了网上的资料,尝试自定义设计规则、尝试重写封装的间距,每次设置完之后发现不会生效。
经过反复尝试,最终确认是KICAD规则设置优先级的问题,这里要分情况说明一下:
1、通过封装库设置BGA封装焊盘的重写间距,且没有通过自定义规则改写最小间距。
这种情况,重写间距后,跟PCB设计规则中设置的最小间距不同,就不一定会生效。
假设:PCB设计规则中设置的最小间距=a,封装焊盘的重写间距=b
如果a>b,重写间距不会生效,PCB中看到的封装焊盘最小间距还是a;
如果a≤b, 重写间距就会生效,PCB中看到的封装焊盘最小间距就是b。
2、通过封装库设置BGA封装焊盘的重写间距,同时通过自定义设计规则(Custom Rules)改写最小间距。
这种情况,自定义规则会覆盖PCB设计规则中的全局最小间距,重写间距是否生效,取决于重写间距与自定义规则中最小间距的比较结果。
假设:自定义设计规则中改写的最小间距=a,封装焊盘的重写间距=b
如果a>b,重写间距不会生效,PCB中看到的封装焊盘最小间距还是a;
如果a≤b, 重写间距就会生效,PCB中看到的封装焊盘最小间距就是b。
对比第1种情况可以看出:自定义规则改写的最小间距优先级高于PCB设计规则中的全局最小间距,但依然高于封装焊盘的重写间距。也就是说,重写间距始终是优先级最低的一环,无论最小间距来自全局规则还是自定义规则,只要它小于等于重写间距,重写间距才会生效;否则以规则中的最小间距为准。