Suppose I have a subcircuit which apperas many times inside a bigger circuit, it would be nice if there was a way to define its footprint only once.
My use case is: I am drawiing a board where there are many 8x8 led matrices, each driven by a MAX7219. The connection between 1 matrix and its MAX7219 requires 16 connections. I would like not to have to repeat it manually for each matrix.
I tried to achieve that with no luck both using new component or using sub-modules. Using modules, when I place many instances of a schemnatic module in a schematic, there is no way to decide whch net names are local to the schematic and which are global. Furthermore, when I convert to PCB, there is no way to make it use the PCB module corresponding to the schematc module. Using components, I get lot of conflicts with net names.
Please find below an example using components.
Example:
I create a PCB-LIB with two resistors in series (name MYCOMP):
padR1\_1\- R1 padR1\_2 \- wire \- padR2\_1 \- R2 \- pad\_R2\_2
I create a SCHEMATIC\-LIB \(name MYCOMP\) with two pins\, associated it with MYCOM PCB created above\, and tie the two pins with pad\_R1\_1 and pad\_R2\_2
I create a new project and place two components of type MYSCH.
Convert to the PCB
Now the problem is that the internal component connection "padR1\_2 \- wire \- padR2\_1" shows a DRC error\.
Complicating a bit the example, let's say the schematic fro MYCOMP is defined using nets:
NET\_GND \- padR1\_1\- R1 padR1\_2 \- NET\_X1
NET\_X1 \- padR2\_1 \- R2 \- pad\_R2\_2
when I place an instance of MYCOMP on a manin schematic\, I would like to control how the net names are expanded: I want that NET\_GND remains unchanged\, so that it is global\, while NET\_X1 is prefixed with a unique string to make it local\, so that it remains local of this schematic\. For instance I could define this using question marks\, to mark nets which are local:
NET\_GND \- padR1\_1\- R1 padR1\_2 \- NET\_X1?
NET\_X1? \- padR2\_1 \- R2 \- pad\_R2\_2
Last it would e nice if when I define a new component like this, if I could choose for it to have global visibility ot project only visibility
Chrome
64.0.3282.119
Windows
7
EasyEDA
5.9.41