凡亿专栏 | error:Duplicate Net Names的解决方法
error:Duplicate Net Names的解决方法

我们在日常画板子的时候,有时会出现一个比较尴尬的问题:同一个工程下不同原理图之间的相同网络标号导入到PCB文件之后,pin没有连接在一起;编译是还会出现报错,error:Duplicate Net Names。可以直接忽略,但存在报错实在让人难受。

解决这个问题,就要先了解网络标识符的几种方式。查找了相关的一些资料和大家分享下:

网络标识符有Automatic、Flat、Global、hierarchical四种方式;

四种方式的用法分别为:

①Flat方式:不同页之间只有Port(端口)具有全局属性,即在不同的sheet之间进行同名端口的连接;缺点是难于追踪。

②Global方式:不同页之间Port和netlabel都具有全局属性,缺点也是难于追踪。

③Hierarchical方式:这种适合于分等级的原理图设计中,必须有顶层和底层(每一页),顶层和底层之间是只通过SheetEntry(页入口)和各页的Ports建立对应关系,这种方式适合多页分等级的设计,各页之间的关系比较明晰,也容易追踪。

④为Automatic方式:根据判据自动判断选择上述三种方式中的一种进行设置;

具体是这样:当检查到原理图中具有页符号采用Sheet Entry和/或Ports连接子图,则自动选择HIerarchical方式;若没有Sheet Entry则判断有没有Ports,如果有Ports,则采用Flat方式进行设置作用域范围;如果没有Ports,则自动设置为Global方式。也就是说,若采用Automatic方式,当电路图中有SheetEntry时采用Hierarchical方式;当电路图中有Ports(不管不同页之间有没有同名的netlabel)时采用Flat方式;当电路图中仅有Netlabel时才采用Global方式。 

出现编译错误的原因也就在于Automatic方式时软件采用的判据,如果电路中没有SheetEntry,既有natlabel又有Ports,当设置为Automatic时会按照④所述的判据自动设置为Flat方式,由①可知是Flat方式只有Port在不同页之间具有全局属性,所以软件不认为不同页之间的同名netlabel是连接在一起的,进而出现了“Duplicate Net Names Wire XXX”的错误提示,这里边字面意思是网络名重名,个人认为出现这种错误时,是设计Altium Designer的人人为设定的,不然的话设计软件的难度太大,需要检测有没有netlabel和port,一共有四种情况,况且每一种情况具有包含与被包含的关系。

所以解决的办法有:

采用层次原理图设计,顶层的SheetEntry仅仅和子页的Port之间建立连接关系。

将不同页之间同名netlabel修改为port,然后通过port建立连接关系,作用域设置为Flat或者Global或Hierarchical。 (注意:当将出现上述错误信息的原理图工程作用域设置为Hierarchical时,尽管很多错误都消失了,但是会有一个“Multiple Top Level Documents”的错误,即多个顶层文档。)

最简单但比较懒惰的方式,将作用域设置为Global方式;Project-》Project options中的Options选项下设置了一下Net Identifier Scope(网络标识符作用范围),由原来的Automatic改为Global。

image.png

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表凡亿课堂立场。文章及其配图仅供工程师学习之用,如有内容图片侵权或者其他问题,请联系本站作侵删。
相关阅读
进入分区查看更多精彩内容>
精彩评论

暂无评论