“通常来说 KiCad 更建议使用层次化的设计,因为这样结构更清晰,也方便设计复用。对于简单的系统,扁平化设计也很容易实现;但将复杂的系统设计成扁平化却并不那么容易。”
标签类型及优先级?
KiCad有3种类型的标签。生成的网络名称将由它们的优先级决定。
全局标签优先级最高(如网络为+5V)。
电源符号和隐藏的电源引脚是全局标签。
层次化标签排第二。所产生的网络会显示标签名称,并以 “/” 前缀加以区别(如 /Red_in)。
本地标签的优先级最低。所产生的网络不仅会显示标签名称,而且会显示当前图纸的名称(如/graphics/Red_in)。
如果在同一图纸中有相同名称的标签,那么这些标签就会被连接起来,即使它们的类型不同。
全局和层次化标签有不同的图形类型(输入、输出、双向、三态和被动),图形风格只影响标签的外观,不影响它的连接方式,ERC也不检查。
为什么层次设计中尽量不要使用全局标签?
层次化设计的是为了把设计结构、模块清晰地抽象出来。这种抽象是为了帮助工程师把当前模块的内容与系统中的其他内容分开。任何形式的全局标签都需要了解系统中所有模块的信息,以确保不会创建一个错误的网络连接(同样名称的全局标签会在网表中连接)。或者说,使用全局标签之前必须要了解不同图纸模块中是否存在同名的标签,以免发生误连的情况。 这不仅涉及到信号的网络标签,也包括电源连接。如果电源使用全局标签,那么每个子系统的设计者都需要了解整个系统的电源情况,而不是只知道当前图纸的需求,不然就会发生意外的电源连接。
选择全局标签也限制了图纸的复用性。例如,一旦你在某一张原理图中使用了GND符号,如果在整个系统中复用了这张图纸,其他图纸与地相连也只能使用GND,而无法使用其他的符号,如AGND。。
为什么有时仍然要在层次化设计中使用全局标签?
严格遵循设计方法并不总是一个好主意。在有些情况下,它只会增加不必要的工作量,或者使电路更难读懂(特别是对于那些对这种设计方法没有太多经验的人)。 一个典型的例子是想要区分电源符号的时候。很多设计者已经习惯了电源符号的不同形状。因此,看到一个基于文本的标签而不是这样一个符号可能会对可读性产生负面影响。 遗憾的是,目前还没有办法将电源符号限制在一张图纸上(关于电源符号如何工作,特别是如何区分全局或局部的电源符号,有许多开放的讨论)。
另一个问题与ERC有关。在KiCad中电源符号被设为电源输入引脚,ERC认为必须要有外部的电源驱动与之相连,否则就会报错。如果使用层次化标签,就不会有这种问题。然而,在大多数电路中,会有一些IC或类似的元件需要ERC判断是否存在电源驱动。在某些情况下,需要使用PWR_FLAG符号避免ERC报错。
结论是应由设计者来选择如何严格遵循纯层次化设计的方法。
审核编辑 黄宇
-
电源
+关注
关注
184文章
17499浏览量
249235 -
KiCAD
+关注
关注
4文章
105浏览量
8693
发布评论请先 登录
相关推荐
评论