[Author Prev][Author Next][Thread Prev][Thread Next][Author Index][Thread Index]

Re: gEDA-user: lost newbie



Hi Marc,
let me explain what is happening. When building a symbol, a pin should
have some attributes: at least the pinlabel, the pinnumber and the
pintype. The latter can have values like in (input), out, pas (passive),
io (input-output), for example.
The drc2 backend checks the pintype, and report errors like an output
pin connected to an output pin, for example. If the pintype attribute is
not set, the pintype will be 'unknown'. The drc2 backend will report as
an error any connection to a pin with an 'unknown' pintype, no matter
what kind of pin is connected to it. This is the kind of errors you are
getting in your schematic.
There are some symbols in the library without the pintype attribute
(just because nobody added them when the symbol was created). I spent
some time fixing some common symbols, but there are still some unfixed
symbols (mainly integrated circuits). Fixing them is easy, however it's
also time consuming, specially with integrated circuits (patches are
welcome!), so I hope that people will fix them as soon as they use those
symbols.

You can check if a symbol is correct by using gsymcheck.
You are using the lm7815-1.sym symbol. So if I run 'gsymcheck -vv
lm7815-1.sym', it reports:
-------------------------- begin gsymcheck output
gEDA/gsymcheck version 20050820
gEDA/symcheck comes with ABSOLUTELY NO WARRANTY; see COPYING for more
details.
This is free software, and you are welcome to redistribute it under
certain
conditions; please see the COPYING file for more details.


Checking: /home/cnieves/temp/geda_cvs/geda_cvs/geda/devel/symbols/linear/lm7815-1.sym
Warning: Missing pinlabel= attribute
Warning: Missing pintype= attribute
Warning: Missing pinlabel= attribute
Warning: Missing pintype= attribute
Warning: Missing pinlabel= attribute
Warning: Missing pintype= attribute
Warning: Missing footprint= attribute
Warning: Did not find numslots= attribute, not checking slotting
ERROR: Found duplicate pinnumber=2 attribute in the symbol
ERROR: Found duplicate pinnumber=2 attribute in the symbol
8 warnings found 
2 ERRORS found 
-------------------------- end gsymcheck output

You can see there are warnings about the pintype, the pinlabel, and the
pinnumber attributes, so the symbol isn't correct.

Common symbols like resistors, diodes, capacitors and others are fixed
in CVS. I told you to update your symbols using the ones in CVS.
I don't know exactly your configuration, but I think you didn't do it
properly. Let me explain:
If you were using geda packages for your distribution, the symbols are
usually in /usr/share/gEDA/sym/, or /usr/local/share/gEDA/sym. You have
to overwrite those symbols with the ones you get from CVS.
The CVS is configured to install all stuff at ~/geda/ . So if you
checkout from CVS, and do just 'make install', you are not going to
overwrite the symbols inside your package: all symbols will be installed
under ~/geda/share/gEDA/sym.

I know you are still using old symbols because when I run gnetlist -g
drc2 powersupply2.sch -o drc_out.txt, I got some warnings like:
WARNING: Symbol version mismatch on refdes C2 (capacitor-1.sym):
	Symbol in library is newer than instantiated symbol
This means that the symbol in my library (the CVS version) is newer than
the one you used when you created the schematic.

Now if I run gnetlist -g drc2 powersupply2.sch -o drc_out.txt, I get (I
will not show the warnings about newer symbols in the library):
---------------------------- begin of drc2 output
Checking non-numbered parts...

Checking duplicated references...

Checking nets with only one connection...

Checking type of pins connected to a net...
ERROR: unknown: U1:1 connected to totem-pole: R1:3 Z1:2 
ERROR: unknown: U1:3 connected to totem-pole: C6:1 C5:1 
ERROR: unknown: U1:2 connected to totem-pole: C1:2 T1:3 D2:1 D3:1 D5:1
C6:2 C5:2 R1:2 Z1:1 C4:1 C3:2 C2:1 

Checking unconnected pins...

Checking slots...

Checking duplicated slots...

Checking unused slots...


No warnings found. 
Found 3 errors.
ERROR: DRC errors found. See output file.

----------------------------- end of drc2 output

As you see, there are only 3 errors. All of them are the same kind of
error, each one related to one pin of U1. Let's see one of them, and I
hope you will understand the others:
ERROR: unknown: U1:1 connected to totem-pole: R1:3 Z1:2 

uh! you found a bug! it should be:
ERROR: unknown: U1:1 connected to passive: R1:3 Z1:2 

I fixed this error in CVS (file
geda/devel/gnetlist/scheme/gnet-drc2.scm), and also changed the
error/warning message to something more self explaining. Check it out
and try it!.

This means that the pin 1 of U1 (U1:1) has a 'unknown' pintype, and is
connected to pin 3 of R1 (R1:3) and pin 2 of Z1 (Z1:2). As I said
before, any connection to an 'unknown' pintype is reported as an error
by the drc2 backend.

The new message is:
ERROR: Pin(s) with pintype 'unknown': U1:1 
	are connected to pin(s) with pintype 'passive': R1:3 Z1:2 

The right way to go now would be to fix the symbol of U1 (lm7815-1.sym):
all pins should have the pintype 'pwr' (they are power pins). If you
don't want to do this, you can ignore these errors and just continue. In
fact, as the backends are independent from each other, if you want you
could just forget the drc2 backend. However, I don't recommend that!.

Regarding the drc2 backend, that's all. Now it would be the turn of the
spice-sdb backend. You can ask any question about the spice-sdb backend
to your 'master' Stuart :-) .

Best regards,

Carlos

El sÃb, 07-01-2006 a las 18:39 +0000, Marc escribiÃ:
> Well im having simular problems with errors im upto 22 errors now and 
> dont know what i am doing wrong i got time to kill while waiting for 
> that book to arrive Amazon says 20days :( this is what im getting.
> 
> seems like the type of pins or something?
> 
> Invalid wanted_pin passed to get-nets [unknown]
> Invalid wanted_pin passed to get-nets [unknown]
> 
> and from the command line.
> 
> gnetlist -g drc2 powersupply2.sch -o drc_output.txt
> 
> Checking non-numbered parts...
> 
> Checking duplicated references...
> 
> Checking nets with only one connection...
> 
> Checking type of pins connected to a net...
> ERROR: unknown: R1:3 U2:3 connected to unknown: R1:3 U2:3
> ERROR: Net unnamed_net8 is not driven.
> ERROR: unknown: C4:2 R1:1 C3:2 U2:4 Z1:1 C8:2 C7:1 C2:2 C1:2 C5:1 C6:1 
> GND:1 LED1:1$ERROR: Net -12V is not driven.
> ERROR: unknown: R2:2 LED1:2 connected to unknown: R2:2 LED1:2
> ERROR: Net unnamed_net7 is not driven.
> ERROR: unknown: V1:2 F1:2 T1:1 connected to unknown: V1:2 F1:2 T1:1
> ERROR: Net unnamed_net6 is not driven.
> ERROR: unknown: F1:1 V1:1 T1:2 connected to unknown: F1:1 V1:1 T1:2
> ERROR: Net unnamed_net5 is not driven.
> ERROR: unknown: T1:4 D2:1 D1:2 connected to unknown: T1:4 D2:1 D1:2
> ERROR: Net unnamed_net4 is not driven.
> ERROR: unknown: T1:3 D4:1 D3:2 connected to unknown: T1:3 D4:1 D3:2
> ERROR: Net unnamed_net3 is not driven.
> ERROR: unknown: C4:1 R1:2 U1:3 C7:2 R2:1 +12V:1 C8:1 connected to 
> unknown: C4:1 R1:$ERROR: Net +12V is not driven.
> ERROR: unknown: L1:1 C1:1 C5:2 connected to unknown: L1:1 C1:1 C5:2
> ERROR: Net unnamed_net2 is not driven.
> ERROR: unknown: L1:2 U2:7 U1:1 C3:1 Z1:2 D1:1 D3:1 C2:1 C6:2 connected 
> to unknown: $ERROR: Net unnamed_net1 is not driven.
> ERROR: unknown: U2:2 U2:6 U1:2 C4:2 R1:1 C3:2 U2:4 Z1:1 C8:2 C7:1 GND:1 
> LED1:1 -12V$ERROR: Net GND is not driven.
> 
> Checking unconnected pins...
> 
> Checking slots...
> 
> Checking duplicated slots...
> 
> Checking unused slots...
> 
> No warnings found.
> Found 22 errors.
> 
> Marc :)