DRC ignores net label conflicts
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
KiCad |
Invalid
|
Undecided
|
Unassigned | ||
kicad (Ubuntu) |
Invalid
|
Undecided
|
Unassigned |
Bug Description
I am running (2011-11-27 BZR 3249-stable) on Win7-64.
I run into simple issue which can easily bite again, specially on more complex designs. Thankfully this one was noticed and addressed right away, because design was on a way out to PCB shop.
Later I tried to see how one can prevent similar problems in the future. Mistakes can happen but ultimately DRC should be smarter and check for more things than it already does.
In particular:
- DRC does not check for possible netlabel conflicts (allows more than one different label on same net). Accidental short on schematic propagetes to PCB even though original nets were labeled correctly (mistake like this is easily made when moving blocks for example).
- If netlabel is missing, EESchema will generate one but it is unclear how netlabels eventually do get assigned in certain cases. I found by trial and error that placing power pin, has highest proprity and overrides any netlabels on the net. This (more than one netlabel or power pin on a same net) should at least generate warning.
- Does not check for "solo" wires so one can make total mess of the drawign without DRC ever noticing that something is not right. Big mess is easy to spot, but the short wire fragments and connections that get moved or pasted and remain unnoticed can be serious problem.
- DRC also does not check if every placed wire has both ends actually terminated. As a result, one can have fragmented net and non-functional PCB (costly mistake) while it is easy to check for this and avoid it completely. It should fail any wire that does not connect to at least two pins.
I am not saying that above would make DRC bullet proof, but it would make big improvement and mentioned issues are not difficult to implement.
IK
affects: | ubuntu → kicad (Ubuntu) |
Changed in kicad (Ubuntu): | |
status: | New → Confirmed |
Changed in kicad: | |
status: | Confirmed → Invalid |
Changed in kicad (Ubuntu): | |
status: | Confirmed → Invalid |
Status changed to 'Confirmed' because the bug affects multiple users.