EEVblog Electronics Community Forum
Electronics => PCB/EDA/CAD => KiCad => Topic started by: berke on July 29, 2022, 08:16:02 am
-
Hi all,
I have a bunch of logic gates (74xx series NAND, NOR) and I didn't pay much attention when capturing the schematic, so I have too many ICs as I'm only using one IC per gate! I can edit the annotation and the units by hand, but is there a better, less tedious way?
(Yes, I did search the forum with terms such as "merging kicad logic"...)
I'm using KiCad 6.0.6.
-
wouldn't you want to do it by hand anyway?
they might not all have the same voltage, you wouldnt' want to route across the whole board or to the opposite side of a chip if swapping makes it much easier, etc.
-
wouldn't you want to do it by hand anyway?
they might not all have the same voltage, you wouldnt' want to route across the whole board or to the opposite side of a chip if swapping makes it much easier, etc.
They're all the same but valid point for routing. That's what I ended up doing anyway. For posterity here is the workflow :
- Generate a BOM and look at the collated components section, say you have 8 7400's
- Go over each gate
- Press E to edit the IC number, use the first available
- Select the unit (A,B,C then D)
- When done move to the next unit
- There will be gaps in the IC numbering, so reannotate
Yes during layout I may have to do pin/gate/IC swapping.
-
- There will be gaps in the IC numbering, so reannotate
There is no problem with having gaps in the numbering, but if they bother you, do as you please. I sometimes take advantage of gaps, for example, the left channel of an amplifier might have components 1xx, and the corresponding ones on the right 2xx.
-
One tip. Drop all the symbols Units on a schematic, whenever a new part is added. That way you can visually see what logic is used/available for routing at any time.
It is preferable to do this anyway to ensure nothing is forgotten, and that any unused input is tied off to avoid oscillation/floating pins. I think DRC sometimes fails to check this condition.
Otherwise, maybe you can work out the high-level routing on paper first.
-
One tip. Drop all the symbols Units on a schematic, whenever a new part is added. That way you can visually see what logic is used/available for routing at any time.
It is preferable to do this anyway to ensure nothing is forgotten, and that any unused input is tied off to avoid oscillation/floating pins. I think DRC sometimes fails to check this condition.
Good idea. I think schematic DRC doesn't complain about unconnected pins (or maybe they are warning but there are hundreds of those and most are silly) but they get caught during the PCB DRC.
Otherwise, maybe you can work out the high-level routing on paper first.
Paper has its place, but I think some GUI code could help with this problem. Maybe something like a "Copy IC number". You enter copy IC number mode. You click on a source gate. You click on target gate. It picks the next gate from that IC that hasn't been touched yet. But it's a minor use case and there are more important things to fix in the GUI.
Is this the kind of thing that is easier with commercial software ?
-
I think Altium has a generic/ pin remapping system for fpga parts, that can be used to ease routing. Perhaps there is a public interface whereby one could create a model of possible pin substitutions so that repeating 74 series gate logic could be optimized.
But there is also value in simplicity. And it is easy to imagine that these kinds of features would be very hard to get right/ and require a ton of user feedback. So I could see why it is not really a priority for Kicad feature development.