← Back to team overview

kicad-developers team mailing list archive

Re: Eeschema ERC should detect unmatched local labels

 

On 09/25/2015 10:25 AM, jp charras wrote:
Le 25/09/2015 07:36, Joseph Chen a écrit :
Hi @JP,

Have you got a chance to review this submitted patch?

--JC
Yes, I had a look at the patch.

Currently, it creates to many false detections:
- It does not see the fact a local label is connected to a global or a
hierarchical label.
- It does not see the fact a local label is connected toa  bus label member.

Try for instance some demos like video or kit-dev-coldfire-xilinx_5213.
Most of warnings are false detection (80% of warnings are false detections)

Detecting really unconnected local labels is not so easy.

Thanks for your work on Kicad.

Hi @JP,

Using your recommended instance file of "kit-dev-colfire-xilinx_5213", I just finished verifying the ERC results reported by the "check unmatched local labesl" code patch. My conclusion is that it is 100% accurate.

Here is my verification method I used to check and verify the schematic file:

1. Start kicad that has the ERC "check unmatche local labels" patch compiled in.
2. Open the demo schematic file  "kit-dev-colfire-xilinx_5213"
3. Generated ERC file when doing ERC.
4. Open the generated ERC file to check every one of the reported unmatched local labels, and using "Find" command inside kicad to search the reported local label.

With this method, I found that every reported error is *true and accurate*, based on the definition that *a local label's visibility is only within its own sheet*.

For your review, attached you can find the result file that I have added my verifications and explanations for each one the reported entries.


The bus label member that you mentioned does not resolve the reported error because the desiner seems to mis-used a local label as a global label.

I'd like to say this patch works as accurate as expexted based upon the local label definition.

--JC
================ Begin Notes on Explanaitions ===============

September 27, 2015

This is an edited ERC report output file.  The changes are the added
lines that begin with "JYC:".  When it says "TRUE", this lines
confirms that the ERC result is true with "because" to explain why.

All the "TRUE" is verified with a thorough visual and test search
method.

================ End Notes on Explanaitions ===============



ERC report (Sun 27 Sep 2015 23:36:13 MDT, Encoding UTF8 )

***** Sheet /
ErrType(9): Local label not connected to any other local label of the same sheet
    @ (10.300 in,2.850 in): Local label GPT3 is not connected to any other local label of the same sheet.
JYC: TRUE, because one is in sheet 1/3.

ErrType(9): Local label not connected to any other local label of the same sheet
    @ (10.300 in,2.750 in): Local label GPT2 is not connected to any other local label of the same sheet.
JYC: TRUE, because one is in sheet 1/3.

ErrType(9): Local label not connected to any other local label of the same sheet
    @ (10.300 in,2.650 in): Local label GPT1 is not connected to any other local label of the same sheet.
JYC: TRUE, because one is in sheet 1/3.

ErrType(9): Local label not connected to any other local label of the same sheet
    @ (10.300 in,2.550 in): Local label GPT0 is not connected to any other local label of the same sheet.
JYC: TRUE, because one is in sheet 1/3.

ErrType(9): Local label not connected to any other local label of the same sheet
    @ (10.250 in,6.000 in): Local label QSPI_CS0 is not connected to any other local label of the same sheet.
JYC: TRUE, because one is in sheet 1/3.

ErrType(9): Local label not connected to any other local label of the same sheet
    @ (5.350 in,3.350 in): Local label JTAG_EN is not connected to any other local label of the same sheet.
JYC: TRUE, only on in sheet 1/3

ErrType(9): Local label not connected to any other local label of the same sheet
    @ (6.200 in,1.400 in): Local label VDDPLL is not connected to any other local label of the same sheet.
JYC: TRUE, only on in sheet 1/3

ErrType(9): Local label not connected to any other local label of the same sheet
    @ (5.650 in,4.000 in): Local label ALLPST is not connected to any other local label of the same sheet.
JYC: TRUE, only on in sheet 1/3

ErrType(9): Local label not connected to any other local label of the same sheet
    @ (10.250 in,6.300 in): Local label QSPI_CS3 is not connected to any other local label of the same sheet.
JYC: TRUE, because one is in sheet 1/3.


ErrType(9): Local label not connected to any other local label of the same sheet
    @ (5.700 in,5.850 in): Local label AN0 is not connected to any other local label of the same sheet.
JYC: TRUE, because one is in sheet 1/3, the other is in 2/3.

ErrType(9): Local label not connected to any other local label of the same sheet
    @ (5.700 in,5.950 in): Local label AN1 is not connected to any other local label of the same sheet.
JYC: TRUE, because one is in sheet 1/3, the other is in 2/3.

ErrType(9): Local label not connected to any other local label of the same sheet
    @ (5.700 in,6.050 in): Local label AN2 is not connected to any other local label of the same sheet.
JYC: TRUE, because one is in sheet 1/3, the other is in 2/3.

ErrType(9): Local label not connected to any other local label of the same sheet
    @ (5.700 in,6.150 in): Local label AN3 is not connected to any other local label of the same sheet.
JYC: TRUE, because one is in sheet 1/3, the other is in 2/3.

ErrType(9): Local label not connected to any other local label of the same sheet
    @ (5.700 in,6.250 in): Local label AN4 is not connected to any other local label of the same sheet.
JYC: TRUE, because one is in sheet 1/3, the other is in 2/3.

ErrType(9): Local label not connected to any other local label of the same sheet
    @ (5.700 in,6.350 in): Local label AN5 is not connected to any other local label of the same sheet.
JYC: TRUE, because one is in sheet 1/3, the other is in 2/3.

ErrType(9): Local label not connected to any other local label of the same sheet
    @ (5.700 in,6.450 in): Local label AN6 is not connected to any other local label of the same sheet.
JYC: TRUE, because one is in sheet 1/3, the other is in 2/3.

ErrType(9): Local label not connected to any other local label of the same sheet
    @ (5.700 in,6.550 in): Local label AN7 is not connected to any other local label of the same sheet.
JYC: TRUE, because one is in sheet 1/3, the other is in 2/3.

ErrType(9): Local label not connected to any other local label of the same sheet
    @ (10.250 in,3.000 in): Local label DTIN0 is not connected to any other local label of the same sheet.
JYC: TRUE, because there is only one in sheet 1/3.

ErrType(9): Local label not connected to any other local label of the same sheet
    @ (10.250 in,3.100 in): Local label DTIN1 is not connected to any other local label of the same sheet.
JYC: TRUE, because there is only one in sheet 1/3.

ErrType(9): Local label not connected to any other local label of the same sheet
    @ (10.250 in,3.200 in): Local label DTIN2 is not connected to any other local label of the same sheet.
JYC: TRUE, because there is only one in sheet 1/3.

ErrType(9): Local label not connected to any other local label of the same sheet
    @ (10.250 in,3.300 in): Local label DTIN3 is not connected to any other local label of the same sheet.
JYC: TRUE, because there is only one in sheet 1/3.

ErrType(9): Local label not connected to any other local label of the same sheet
    @ (5.650 in,5.350 in): Local label IRQ-4 is not connected to any other local label of the same sheet.
JYC: TRUE, because there is only one in sheet 1/3.

ErrType(9): Local label not connected to any other local label of the same sheet
    @ (5.650 in,5.450 in): Local label IRQ-5 is not connected to any other local label of the same sheet.
JYC: TRUE, because there is only one in sheet 1/3.

ErrType(9): Local label not connected to any other local label of the same sheet
    @ (5.650 in,5.550 in): Local label IRQ-6 is not connected to any other local label of the same sheet.
JYC: TRUE, because one is in sheet 1/3, the other is in 2/3.


***** Sheet /inout_user/
ErrType(9): Local label not connected to any other local label of the same sheet
    @ (6.300 in,8.400 in): Local label URTS2 is not connected to any other local label of the same sheet.
JYC: TRUE, because there is only one in sheet 2/3.

ErrType(9): Local label not connected to any other local label of the same sheet
    @ (6.300 in,8.500 in): Local label UCTS2 is not connected to any other local label of the same sheet.
JYC: TRUE, because there is only one in sheet 2/3.

ErrType(9): Local label not connected to any other local label of the same sheet
    @ (5.350 in,5.850 in): Local label UCTS1 is not connected to any other local label of the same sheet.
JYC: TRUE, because there is only one in sheet 2/3.

ErrType(9): Local label not connected to any other local label of the same sheet
    @ (5.350 in,5.750 in): Local label URTS1 is not connected to any other local label of the same sheet.
JYC: TRUE, because there is only one in sheet 2/3.

ErrType(9): Local label not connected to any other local label of the same sheet
    @ (5.300 in,3.200 in): Local label UCTS0 is not connected to any other local label of the same sheet.
JYC: TRUE, because there is only one in sheet 2/3.

ErrType(9): Local label not connected to any other local label of the same sheet
    @ (5.300 in,3.100 in): Local label URTS0 is not connected to any other local label of the same sheet.
JYC: TRUE, because there is only one in sheet 2/3.

ErrType(9): Local label not connected to any other local label of the same sheet
    @ (13.600 in,4.000 in): Local label GPT3 is not connected to any other local label of the same sheet.
JYC: TRUE, because there is only one in sheet 2/3.

ErrType(9): Local label not connected to any other local label of the same sheet
    @ (12.300 in,4.000 in): Local label GPT2 is not connected to any other local label of the same sheet.
JYC: TRUE, because there is only one in sheet 2/3.

ErrType(9): Local label not connected to any other local label of the same sheet
    @ (13.600 in,3.900 in): Local label GPT1 is not connected to any other local label of the same sheet.
JYC: TRUE, because there is only one in sheet 2/3.

ErrType(9): Local label not connected to any other local label of the same sheet
    @ (12.300 in,3.900 in): Local label GPT0 is not connected to any other local label of the same sheet.
JYC: TRUE, because there is only one in sheet 2/3.

ErrType(9): Local label not connected to any other local label of the same sheet
    @ (12.300 in,3.400 in): Local label IRQ-7 is not connected to any other local label of the same sheet.
JYC: TRUE, because there is only one in sheet 2/3.

ErrType(9): Local label not connected to any other local label of the same sheet
    @ (7.650 in,8.750 in): Local label QSPI_SCLK is not connected to any other local label of the same sheet.
JYC: TRUE, because there is only one in sheet 2/3.

ErrType(9): Local label not connected to any other local label of the same sheet
    @ (12.150 in,2.800 in): Local label QSPI_CS2 is not connected to any other local label of the same sheet.
JYC: TRUE, because there is only one in sheet 2/3.

ErrType(9): Local label not connected to any other local label of the same sheet
    @ (12.150 in,2.900 in): Local label QSPI_CS3 is not connected to any other local label of the same sheet.
JYC: TRUE, because there is only one in sheet 2/3.

ErrType(9): Local label not connected to any other local label of the same sheet
    @ (6.300 in,8.300 in): Local label URXD2 is not connected to any other local label of the same sheet.
JYC: TRUE, because there is only one in sheet 2/3.

ErrType(9): Local label not connected to any other local label of the same sheet
    @ (12.150 in,2.700 in): Local label QSPI_CS1 is not connected to any other local label of the same sheet.
JYC: TRUE, because there is only one in sheet 2/3.

ErrType(9): Local label not connected to any other local label of the same sheet
    @ (6.300 in,8.200 in): Local label UTXD2 is not connected to any other local label of the same sheet.
JYC: TRUE, because there is only one in sheet 2/3.

ErrType(9): Local label not connected to any other local label of the same sheet
    @ (5.350 in,5.550 in): Local label UTXD1 is not connected to any other local label of the same sheet.
JYC: TRUE, because there is only one in sheet 2/3.

ErrType(9): Local label not connected to any other local label of the same sheet
    @ (5.350 in,5.650 in): Local label URXD1 is not connected to any other local label of the same sheet.
JYC: TRUE, because there is only one in sheet 2/3.

ErrType(9): Local label not connected to any other local label of the same sheet
    @ (5.300 in,3.000 in): Local label URXD0 is not connected to any other local label of the same sheet.
JYC: TRUE, because there is only one in sheet 2/3.

ErrType(9): Local label not connected to any other local label of the same sheet
    @ (5.300 in,2.900 in): Local label UTXD0 is not connected to any other local label of the same sheet.
JYC: TRUE, because there is only one in sheet 2/3.

ErrType(9): Local label not connected to any other local label of the same sheet
    @ (1.600 in,7.500 in): Local label CTS2/CANH is not connected to any other local label of the same sheet.
JYC: TRUE, because there is only one in sheet 2/3.

ErrType(9): Local label not connected to any other local label of the same sheet
    @ (1.600 in,7.700 in): Local label RTS2 is not connected to any other local label of the same sheet.
JYC: TRUE, because there is only one in sheet 2/3.

ErrType(9): Local label not connected to any other local label of the same sheet
    @ (1.600 in,7.600 in): Local label RXD2 is not connected to any other local label of the same sheet.
JYC: TRUE, because there is only one in sheet 2/3.

ErrType(9): Local label not connected to any other local label of the same sheet
    @ (1.600 in,7.400 in): Local label TXD2/CANL is not connected to any other local label of the same sheet.
JYC: TRUE, because there is only one in sheet 2/3.

ErrType(9): Local label not connected to any other local label of the same sheet
    @ (1.650 in,4.850 in): Local label CTS1 is not connected to any other local label of the same sheet.
JYC: TRUE, because there is only one in sheet 2/3.

ErrType(9): Local label not connected to any other local label of the same sheet
    @ (1.650 in,5.050 in): Local label RTS1 is not connected to any other local label of the same sheet.
JYC: TRUE, because there is only one in sheet 2/3.

ErrType(9): Local label not connected to any other local label of the same sheet
    @ (1.650 in,4.950 in): Local label RXD1 is not connected to any other local label of the same sheet.
JYC: TRUE, because there is only one in sheet 2/3.

ErrType(9): Local label not connected to any other local label of the same sheet
    @ (1.650 in,4.750 in): Local label TXD1 is not connected to any other local label of the same sheet.
JYC: TRUE, because there is only one in sheet 2/3.

ErrType(9): Local label not connected to any other local label of the same sheet
    @ (1.650 in,2.100 in): Local label TXD0 is not connected to any other local label of the same sheet.
JYC: TRUE, because there is only one in sheet 2/3.

ErrType(9): Local label not connected to any other local label of the same sheet
    @ (1.650 in,2.400 in): Local label RTS0 is not connected to any other local label of the same sheet.
JYC: TRUE, because there is only one in sheet 2/3.

ErrType(9): Local label not connected to any other local label of the same sheet
    @ (1.650 in,2.300 in): Local label RXD0 is not connected to any other local label of the same sheet.
JYC: TRUE, because there is only one in sheet 2/3.

ErrType(9): Local label not connected to any other local label of the same sheet
    @ (1.650 in,2.200 in): Local label CTS0 is not connected to any other local label of the same sheet.
JYC: TRUE, because there is only one in sheet 2/3.

ErrType(9): Local label not connected to any other local label of the same sheet
    @ (13.550 in,1.900 in): Local label AN0 is not connected to any other local label of the same sheet.
JYC: TRUE, because there is only one in sheet 2/3.

ErrType(9): Local label not connected to any other local label of the same sheet
    @ (13.550 in,2.000 in): Local label AN1 is not connected to any other local label of the same sheet.
JYC: TRUE, because there is only one in sheet 2/3.

ErrType(9): Local label not connected to any other local label of the same sheet
    @ (13.550 in,2.100 in): Local label AN2 is not connected to any other local label of the same sheet.
JYC: TRUE, because there is only one in sheet 2/3.

ErrType(9): Local label not connected to any other local label of the same sheet
    @ (13.550 in,2.200 in): Local label AN3 is not connected to any other local label of the same sheet.
JYC: TRUE, because there is only one in sheet 2/3.

ErrType(9): Local label not connected to any other local label of the same sheet
    @ (13.550 in,2.300 in): Local label AN4 is not connected to any other local label of the same sheet.
JYC: TRUE, because there is only one in sheet 2/3.

ErrType(9): Local label not connected to any other local label of the same sheet
    @ (13.550 in,2.400 in): Local label AN5 is not connected to any other local label of the same sheet.
JYC: TRUE, because there is only one in sheet 2/3.

ErrType(9): Local label not connected to any other local label of the same sheet
    @ (13.550 in,2.500 in): Local label AN6 is not connected to any other local label of the same sheet.
JYC: TRUE, because there is only one in sheet 2/3.

ErrType(9): Local label not connected to any other local label of the same sheet
    @ (13.550 in,2.600 in): Local label AN7 is not connected to any other local label of the same sheet.
JYC: TRUE, because there is only one in sheet 2/3.

ErrType(9): Local label not connected to any other local label of the same sheet
    @ (13.500 in,1.500 in): Local label IRQ-1 is not connected to any other local label of the same sheet.
JYC: TRUE, because there is only one in sheet 2/3.

ErrType(9): Local label not connected to any other local label of the same sheet
    @ (13.500 in,1.800 in): Local label IRQ-2 is not connected to any other local label of the same sheet.
JYC: TRUE, because there is only one in sheet 2/3.

ErrType(9): Local label not connected to any other local label of the same sheet
    @ (12.300 in,3.000 in): Local label IRQ-3 is not connected to any other local label of the same sheet.
JYC: TRUE, because there is only one in sheet 2/3.

ErrType(9): Local label not connected to any other local label of the same sheet
    @ (12.300 in,3.300 in): Local label IRQ-6 is not connected to any other local label of the same sheet.
JYC: TRUE, because there is only one in sheet 2/3.


***** Sheet /xilinx/
ErrType(9): Local label not connected to any other local label of the same sheet
    @ (2.800 in,0.900 in): Local label TCK is not connected to any other local label of the same sheet.
JYC: TRUE, because there is only one in sheet 3/3.

ErrType(9): Local label not connected to any other local label of the same sheet
    @ (2.800 in,0.800 in): Local label TDO is not connected to any other local label of the same sheet.
JYC: TRUE, because there is only one in sheet 3/3.

ErrType(9): Local label not connected to any other local label of the same sheet
    @ (2.800 in,1.100 in): Local label TMS is not connected to any other local label of the same sheet.
JYC: TRUE, because there is only one in sheet 3/3.

ErrType(9): Local label not connected to any other local label of the same sheet
    @ (2.800 in,1.000 in): Local label TDI is not connected to any other local label of the same sheet.
JYC: TRUE, because there is only one in sheet 3/3.

ErrType(9): Local label not connected to any other local label of the same sheet
    @ (9.600 in,3.900 in): Local label +3,3V_OUT is not connected to any other local label of the same sheet.
JYC: TRUE, because there is only one in sheet 3/3.

 ** ERC messages: 74  Errors 0  Warnings 74

References