On Saturday 10 December 2005 17:37, Dan McMahill wrote: > I've been thinking about issues around cross probing (select a component > or net in the schematic and have it select the component or net in pcb) > and plotting simulation results (select a net and hit plot) in gschem. > It seems one of the issues to solve is that the nets which are not > explicitly named do not get a name until netlist time. This means > gschem doesn't know the names of these nets and therefore can't really > plot node voltages or tell pcb to select/hilight a net. >
Let me in short words explain how this works in Hec: Each time snap/unsnap operation is done the netlist is recreated on the fly. The algoritn is fast and as follows: 1. Components are sorted by refdes. 2. Each pin is assigned a pin-order-number number, i.e. order number on sheet. 3. When a net is snapped on a pin it receives its node number alias pin-order-number from the pin. 4. All nets connected to this pin/net recursively receives this node-number If a net/pin gets different node-numbers from different directions, it always takes the lower, and the lower floats out. Thus nets and pins get their node numbers. It is done exactly in the same way in the PCB representation, so when the SCH and PCB agree, the nets will have the same node numbers in both representations. A problem is when one representation incomplete, or differs just slightly. I'm working on this, but it takes time... > Anyone have any thoughts about how this could be addressed? At least > one commercial tool has a 'check and save' button/menu choice/hotkey > which extracts connectivity for the schematic and assigns net names to > all nets which haven't been explicitly named. When you netlist (for > layout or simulation), these net names are used. > As indicated above, the netlist is already there, so simulation results can be back annotated and put in place easily. > What would people think of such a feature? Basically there would be an > operation which names all unnamed nets in gschem but sets some attribute > which says "this is a system named net and subject to being renamed next > time connectivity is extracted". > > -Dan Finally, the purpose with Hec (being an experimental program) , is to experiment on such issues. If things work as we like, algorithms and ideas can be incorporated in other programs. Please do. It's all free and GPL. The code covering these issues can be found in Hec modules spice.c and pcb.c. (beware, especially pcb.c is highly experimental also in the usual sense of that word; it is probably hard to understand) -- Sven Wilhelmsson <http://home.swipnet.se/swi>
