画了一个模块比较杂的原理图,为了省事,就从其他电路上复制过来一部分原理图,将里面的电容改成了自己想要的名字。然后又从自己原来画过的原理图中复制了一部分电路,然后是根据需求使用自己的库里的元件新画了一部分电路。今天在生成Netlist的时候发现报错:
如图选中该错误,按F1键查看帮助,得到内容如下:
This situation should only occur if you use the DEVICE property. You can change one or more of the DEVICE properties to make the Part Name (primitive line) unique for each distinct part in the PSTCHIP.DAT file.
The part name, which is the value found between single quotation marks in primitive line of the PSTCHIP.DAT file, must be unique for every different type of part in the design.
The part name is just the value of the DEVICE property present. If there is no DEVICE property on the part, then the part name is a made by combining the values of the Source Package, PCB Footprint, Value, and other properties that
may be found in the [ComponentDefinitionProps] section of the configuration file. The part name string is a concatenation of these properties, with each value separated by an underscore character.
For more information, see the OrCAD Capture User’s Guide.
[Legacy Message ID: ALG0011]
帮助的意思是,如果在元件上使用了“DEVICE”这个属性,就相当于手动指定了元件名,如果该元件并不是同一类元件,就必须注意不能指定相同的值,否则就会报错。因为网表的PSTCHIP.DAT文件需要使用该主键以唯一识别某一类元件。而如果不手动指定“DEVICE”这个属性,Orcad会查看该元件的其他属性,将属性相同的一类元件认为是一种元件,自动生成一个名字作为主键。
分析我这个图里的电容来自三家原理图,所以电容的Source Package不相同,凑巧的是可能我原来保存过这个库,所以自己库里元件的“DEVICE”这个属性和复制过来的电容元件具有一样的DEVICE值,虽然我把封装、value等属性都改为相同的了,但Orcad却仍然认为Source
Package不相同就不算是同一类元件,不是同一类元件“DEVICE”值就不应该相同,从而报错。
查看报错的两个C98,C101电容,与其他没报错的电容C97进行对比:
果然在报错的电容里发现了DEVICE属性,Orcad在生成网表的元件名字时会优先使用该值,所以Source Package不同的元件有相同的DEVICE值时就会报错。
因为不需要个性化网表元件名字,所以干脆把DEVICE属性删除(Orcad会使用其他属性自动生成网表元件名)。再生成网表,成功,不报错了。