Re: [Kicad-developers] High speed tools
This was the inspiration for my plugin. On Wednesday, 23 September 2020, 10:59:23 CEST, Kliment (Future Bits) wrote: For length tuning, the nicest interface I've seen is the one in Horizon as demonstrated at the 2019 FOSDEM talk https://archive.fosdem.org/2019/schedule/event/horizon/ at about 9 minutes in - it's not a long way between this and the hacked net inspector dialog you describe. Kliment On 23.09.20 10:48, Oleg Endo wrote: > This external spreadsheet nonsense was one reason why I converted the > net inspector dialog to be non-modal. And with filtering, grouping and > sort-by-length it can be actually a very useful and productive tool. > I've used my own "hacked" version on several designs already. :) > > Cheers, > Oleg > > On Wed, 2020-09-23 at 09:45 +0200, Nick Østergaard wrote: >> Hi >> >> Slightly related to this discussion and for inspiration: >> >> https://twitter.com/azonenberg/status/1282188633118699520 >> >> Nick >> >> On Wed, 23 Sep 2020 at 09:43, Alexander Shuklin wrote: >>> Hi Kliment, >>> I think if these things you explained will be implemented, it will make >>> high speed design very much easier. >>> And the problem is much worse if you have a lot of differential pairs. When >>> I see design and the only thing which I can do with differential pairs is >>> to tune length or redraw, I feel stressed. >>> Is it right that diffpairs are always treated as just single tracks now? If >>> I want to write a script or piece of code to change diffpair width or gap, >>> what idea should I use? >>> I think about finding all coupled lengths of some differential pair and >>> changing the gap on all of coupled lengths and don't touch it if it is >>> uncoupled... Or maybe shift a bit (by gap/2 difference for each side) >>> >>> On Tue, 22 Sep 2020 at 22:23, Kliment (Future Bits) >>> wrote: Having just routed a board with 56 diffpairs I have an idea about number 4: I think we should treat diffpairs as single traces when routing and when using the pns functionality to move them around. The trace should have the thickness of 2x dpair trace width + 1x dpair trace gap, and have a clearance of dpair clearance. It should behave as such a trace to the pns and revert back to being a diffpair when shoving/pns manipulation is done. This way dragging, rerouting, and shoving diffpairs works as expected - it maintains the diffpairness of the pair. Length adjustment works just as well on a single trace, and places where the pair splits up or has a skew tune can remain locked while the trace is being manipulated. This requires minimal change to the pns (we just feed it different data) to work, and would dramatically improve the usability of diffpairs because all the lovely stuff we can do to traces now will be available to diffpairs without breakage. We still need the diffpair routing logic for vias and for starting/ending pairs, but we have that now. On 22.09.20 21:11, Tomasz Wlostowski wrote: > My 5 quick cents: > >> 1) tool to visualize nets lengths (similar to >> https://github.com/MitjaNemec/Kicad_action_plugins#length-stats ). I >> want to make a gui where you can define what nets you want to see >> altogether. And it should show you length on each layer and summary. >> And vias as well. > > 2) Same stuff for length between 2 objects (for example via and pad >> for T-topology) similar to >> >>https://github.com/MitjaNemec/Kicad_action_plugins#pad2pad-track-distance. > New DRC will take care of that (checking length between arbitrary > endpoints as well as reporting constrained length traces/diff pairs). > > >> 3) some tool to define and automatically change tracks length on >> different layers (to match target impedance) > Did you mean per-layer width/gap constraints? abs(Impedance) is not > related (at least not so simply) to trace lengths. We already have > length tuner tool, with the V6 design rule system it will be able to > pick length constraints from board design rules instead of hand-typed > values. > >> 4) Tool to work with differential pairs. > We didn't plan implementing such a tool. Beware that even if it happens, > applying more than cosmetic changes to the routing globally will likely > ruin your board so badly you'll spend rest of the day cleaning it up... > > Tom > > > ___ > Mailing list: https://launchpad.net/~kicad-developers > Post to : kicad-developers@lists.launchpad.net > Unsubscribe : https://launchpad.net/~kicad-developers > More help : https://help.launchpad.net/ListHelp > ___ Mailing list: https://launchpad.net/~kicad-developers Post to :
Re: [Kicad-developers] High speed tools
This is funny. Without being aware of Horizon (at that time), originally I was hoping to implement something like that in the net inspector. But then I had to take shortcuts... Cheers, Oleg On Wed, 2020-09-23 at 10:58 +0200, Kliment (Future Bits) wrote: > For length tuning, the nicest interface I've seen is the one in Horizon > as demonstrated at the 2019 FOSDEM talk > https://archive.fosdem.org/2019/schedule/event/horizon/ at about 9 > minutes in - it's not a long way between this and the hacked net > inspector dialog you describe. > > Kliment > > On 23.09.20 10:48, Oleg Endo wrote: > > This external spreadsheet nonsense was one reason why I converted the > > net inspector dialog to be non-modal. And with filtering, grouping and > > sort-by-length it can be actually a very useful and productive tool. > > I've used my own "hacked" version on several designs already. :) > > > > Cheers, > > Oleg > > > > On Wed, 2020-09-23 at 09:45 +0200, Nick Østergaard wrote: > > > Hi > > > > > > Slightly related to this discussion and for inspiration: > > > > > > https://twitter.com/azonenberg/status/1282188633118699520 > > > > > > Nick > > > > > > On Wed, 23 Sep 2020 at 09:43, Alexander Shuklin > > > wrote: > > > > Hi Kliment, > > > > I think if these things you explained will be implemented, it will make > > > > high speed design very much easier. > > > > And the problem is much worse if you have a lot of differential pairs. > > > > When I see design and the only thing which I can do with differential > > > > pairs is to tune length or redraw, I feel stressed. > > > > Is it right that diffpairs are always treated as just single tracks > > > > now? If I want to write a script or piece of code to change diffpair > > > > width or gap, what idea should I use? > > > > I think about finding all coupled lengths of some differential pair and > > > > changing the gap on all of coupled lengths and don't touch it if it is > > > > uncoupled... Or maybe shift a bit (by gap/2 difference for each side) > > > > > > > > On Tue, 22 Sep 2020 at 22:23, Kliment (Future Bits) > > > > wrote: > > > > > Having just routed a board with 56 diffpairs I have an idea about > > > > > number 4: > > > > > > > > > > I think we should treat diffpairs as single traces when routing and > > > > > when > > > > > using the pns functionality to move them around. The trace should have > > > > > the thickness of 2x dpair trace width + 1x dpair trace gap, and have a > > > > > clearance of dpair clearance. It should behave as such a trace to the > > > > > pns and revert back to being a diffpair when shoving/pns manipulation > > > > > is > > > > > done. This way dragging, rerouting, and shoving diffpairs works as > > > > > expected - it maintains the diffpairness of the pair. Length > > > > > adjustment > > > > > works just as well on a single trace, and places where the pair splits > > > > > up or has a skew tune can remain locked while the trace is being > > > > > manipulated. This requires minimal change to the pns (we just feed it > > > > > different data) to work, and would dramatically improve the usability > > > > > of > > > > > diffpairs because all the lovely stuff we can do to traces now will be > > > > > available to diffpairs without breakage. We still need the diffpair > > > > > routing logic for vias and for starting/ending pairs, but we have > > > > > that now. > > > > > > > > > > On 22.09.20 21:11, Tomasz Wlostowski wrote: > > > > > > My 5 quick cents: > > > > > > > > > > > > > 1) tool to visualize nets lengths (similar to > > > > > > > > > > > > > > https://github.com/MitjaNemec/Kicad_action_plugins#length-stats > > > > > > > ). I > > > > > > > want to make a gui where you can define what nets you want to > > > > > > > see > > > > > > > altogether. And it should show you length on each layer and > > > > > > > summary. > > > > > > > And vias as well. > > > > > > > > > > > > 2) Same stuff for length between 2 objects (for example via > > > > > > and pad > > > > > > > for T-topology) similar to > > > > > > > > > > > > > > https://github.com/MitjaNemec/Kicad_action_plugins#pad2pad-track-distance. > > > > > > New DRC will take care of that (checking length between arbitrary > > > > > > endpoints as well as reporting constrained length traces/diff > > > > > > pairs). > > > > > > > > > > > > > > > > > > > 3) some tool to define and automatically change tracks length > > > > > > > on > > > > > > > different layers (to match target impedance) > > > > > > Did you mean per-layer width/gap constraints? abs(Impedance) is not > > > > > > related (at least not so simply) to trace lengths. We already have > > > > > > length tuner tool, with the V6 design rule system it will be able to > > > > > > pick length constraints from board design rules instead of > > > > > > hand-typed > > > > > > values. > > > > > > > > > > > > > 4) Tool to work with differential pairs. > > > >
Re: [Kicad-developers] High speed tools
For length tuning, the nicest interface I've seen is the one in Horizon as demonstrated at the 2019 FOSDEM talk https://archive.fosdem.org/2019/schedule/event/horizon/ at about 9 minutes in - it's not a long way between this and the hacked net inspector dialog you describe. Kliment On 23.09.20 10:48, Oleg Endo wrote: > This external spreadsheet nonsense was one reason why I converted the > net inspector dialog to be non-modal. And with filtering, grouping and > sort-by-length it can be actually a very useful and productive tool. > I've used my own "hacked" version on several designs already. :) > > Cheers, > Oleg > > On Wed, 2020-09-23 at 09:45 +0200, Nick Østergaard wrote: >> Hi >> >> Slightly related to this discussion and for inspiration: >> >> https://twitter.com/azonenberg/status/1282188633118699520 >> >> Nick >> >> On Wed, 23 Sep 2020 at 09:43, Alexander Shuklin wrote: >>> Hi Kliment, >>> I think if these things you explained will be implemented, it will make >>> high speed design very much easier. >>> And the problem is much worse if you have a lot of differential pairs. When >>> I see design and the only thing which I can do with differential pairs is >>> to tune length or redraw, I feel stressed. >>> Is it right that diffpairs are always treated as just single tracks now? If >>> I want to write a script or piece of code to change diffpair width or gap, >>> what idea should I use? >>> I think about finding all coupled lengths of some differential pair and >>> changing the gap on all of coupled lengths and don't touch it if it is >>> uncoupled... Or maybe shift a bit (by gap/2 difference for each side) >>> >>> On Tue, 22 Sep 2020 at 22:23, Kliment (Future Bits) >>> wrote: Having just routed a board with 56 diffpairs I have an idea about number 4: I think we should treat diffpairs as single traces when routing and when using the pns functionality to move them around. The trace should have the thickness of 2x dpair trace width + 1x dpair trace gap, and have a clearance of dpair clearance. It should behave as such a trace to the pns and revert back to being a diffpair when shoving/pns manipulation is done. This way dragging, rerouting, and shoving diffpairs works as expected - it maintains the diffpairness of the pair. Length adjustment works just as well on a single trace, and places where the pair splits up or has a skew tune can remain locked while the trace is being manipulated. This requires minimal change to the pns (we just feed it different data) to work, and would dramatically improve the usability of diffpairs because all the lovely stuff we can do to traces now will be available to diffpairs without breakage. We still need the diffpair routing logic for vias and for starting/ending pairs, but we have that now. On 22.09.20 21:11, Tomasz Wlostowski wrote: > My 5 quick cents: > >> 1) tool to visualize nets lengths (similar to >> https://github.com/MitjaNemec/Kicad_action_plugins#length-stats ). I >> want to make a gui where you can define what nets you want to see >> altogether. And it should show you length on each layer and summary. >> And vias as well. > > 2) Same stuff for length between 2 objects (for example via and pad >> for T-topology) similar to >> >> https://github.com/MitjaNemec/Kicad_action_plugins#pad2pad-track-distance. > New DRC will take care of that (checking length between arbitrary > endpoints as well as reporting constrained length traces/diff pairs). > > >> 3) some tool to define and automatically change tracks length on >> different layers (to match target impedance) > Did you mean per-layer width/gap constraints? abs(Impedance) is not > related (at least not so simply) to trace lengths. We already have > length tuner tool, with the V6 design rule system it will be able to > pick length constraints from board design rules instead of hand-typed > values. > >> 4) Tool to work with differential pairs. > We didn't plan implementing such a tool. Beware that even if it happens, > applying more than cosmetic changes to the routing globally will likely > ruin your board so badly you'll spend rest of the day cleaning it up... > > Tom > > > ___ > Mailing list: https://launchpad.net/~kicad-developers > Post to : kicad-developers@lists.launchpad.net > Unsubscribe : https://launchpad.net/~kicad-developers > More help : https://help.launchpad.net/ListHelp > ___ Mailing list: https://launchpad.net/~kicad-developers Post to : kicad-developers@lists.launchpad.net Unsubscribe : https://launchpad.net/~kicad-developers More help :
Re: [Kicad-developers] High speed tools
This external spreadsheet nonsense was one reason why I converted the net inspector dialog to be non-modal. And with filtering, grouping and sort-by-length it can be actually a very useful and productive tool. I've used my own "hacked" version on several designs already. :) Cheers, Oleg On Wed, 2020-09-23 at 09:45 +0200, Nick Østergaard wrote: > Hi > > Slightly related to this discussion and for inspiration: > > https://twitter.com/azonenberg/status/1282188633118699520 > > Nick > > On Wed, 23 Sep 2020 at 09:43, Alexander Shuklin wrote: > > Hi Kliment, > > I think if these things you explained will be implemented, it will make > > high speed design very much easier. > > And the problem is much worse if you have a lot of differential pairs. When > > I see design and the only thing which I can do with differential pairs is > > to tune length or redraw, I feel stressed. > > Is it right that diffpairs are always treated as just single tracks now? If > > I want to write a script or piece of code to change diffpair width or gap, > > what idea should I use? > > I think about finding all coupled lengths of some differential pair and > > changing the gap on all of coupled lengths and don't touch it if it is > > uncoupled... Or maybe shift a bit (by gap/2 difference for each side) > > > > On Tue, 22 Sep 2020 at 22:23, Kliment (Future Bits) > > wrote: > > > Having just routed a board with 56 diffpairs I have an idea about number > > > 4: > > > > > > I think we should treat diffpairs as single traces when routing and when > > > using the pns functionality to move them around. The trace should have > > > the thickness of 2x dpair trace width + 1x dpair trace gap, and have a > > > clearance of dpair clearance. It should behave as such a trace to the > > > pns and revert back to being a diffpair when shoving/pns manipulation is > > > done. This way dragging, rerouting, and shoving diffpairs works as > > > expected - it maintains the diffpairness of the pair. Length adjustment > > > works just as well on a single trace, and places where the pair splits > > > up or has a skew tune can remain locked while the trace is being > > > manipulated. This requires minimal change to the pns (we just feed it > > > different data) to work, and would dramatically improve the usability of > > > diffpairs because all the lovely stuff we can do to traces now will be > > > available to diffpairs without breakage. We still need the diffpair > > > routing logic for vias and for starting/ending pairs, but we have that > > > now. > > > > > > On 22.09.20 21:11, Tomasz Wlostowski wrote: > > > > My 5 quick cents: > > > > > > > >> 1) tool to visualize nets lengths (similar to > > > >> https://github.com/MitjaNemec/Kicad_action_plugins#length-stats ). > > > >> I > > > >> want to make a gui where you can define what nets you want to see > > > >> altogether. And it should show you length on each layer and > > > >> summary. > > > >> And vias as well. > > > > > > > > 2) Same stuff for length between 2 objects (for example via and > > > > pad > > > >> for T-topology) similar to > > > >> > > > >> https://github.com/MitjaNemec/Kicad_action_plugins#pad2pad-track-distance. > > > > New DRC will take care of that (checking length between arbitrary > > > > endpoints as well as reporting constrained length traces/diff pairs). > > > > > > > > > > > >> 3) some tool to define and automatically change tracks length on > > > >> different layers (to match target impedance) > > > > Did you mean per-layer width/gap constraints? abs(Impedance) is not > > > > related (at least not so simply) to trace lengths. We already have > > > > length tuner tool, with the V6 design rule system it will be able to > > > > pick length constraints from board design rules instead of hand-typed > > > > values. > > > > > > > >> 4) Tool to work with differential pairs. > > > > We didn't plan implementing such a tool. Beware that even if it happens, > > > > applying more than cosmetic changes to the routing globally will likely > > > > ruin your board so badly you'll spend rest of the day cleaning it up... > > > > > > > > Tom > > > > > > > > > > > > ___ > > > > Mailing list: https://launchpad.net/~kicad-developers > > > > Post to : kicad-developers@lists.launchpad.net > > > > Unsubscribe : https://launchpad.net/~kicad-developers > > > > More help : https://help.launchpad.net/ListHelp > > > > > > > > > > > > > ___ > > > Mailing list: https://launchpad.net/~kicad-developers > > > Post to : kicad-developers@lists.launchpad.net > > > Unsubscribe : https://launchpad.net/~kicad-developers > > > More help : https://help.launchpad.net/ListHelp > > > > ___ > > Mailing list: https://launchpad.net/~kicad-developers > > Post to : kicad-developers@lists.launchpad.net > >
Re: [Kicad-developers] High speed tools
Hi Nick, That's actually the problem which I came from :) On Wed, 23 Sep 2020 at 10:46, Nick Østergaard wrote: > Hi > > Slightly related to this discussion and for inspiration: > > https://twitter.com/azonenberg/status/1282188633118699520 > > Nick > > On Wed, 23 Sep 2020 at 09:43, Alexander Shuklin > wrote: > >> Hi Kliment, >> I think if these things you explained will be implemented, it will make >> high speed design very much easier. >> And the problem is much worse if you have a lot of differential pairs. >> When I see design and the only thing which I can do with differential pairs >> is to tune length or redraw, I feel stressed. >> Is it right that diffpairs are always treated as just single tracks now? >> If I want to write a script or piece of code to change diffpair width or >> gap, what idea should I use? >> I think about finding all coupled lengths of some differential pair and >> changing the gap on all of coupled lengths and don't touch it if it is >> uncoupled... Or maybe shift a bit (by gap/2 difference for each side) >> >> On Tue, 22 Sep 2020 at 22:23, Kliment (Future Bits) >> wrote: >> >>> Having just routed a board with 56 diffpairs I have an idea about number >>> 4: >>> >>> I think we should treat diffpairs as single traces when routing and when >>> using the pns functionality to move them around. The trace should have >>> the thickness of 2x dpair trace width + 1x dpair trace gap, and have a >>> clearance of dpair clearance. It should behave as such a trace to the >>> pns and revert back to being a diffpair when shoving/pns manipulation is >>> done. This way dragging, rerouting, and shoving diffpairs works as >>> expected - it maintains the diffpairness of the pair. Length adjustment >>> works just as well on a single trace, and places where the pair splits >>> up or has a skew tune can remain locked while the trace is being >>> manipulated. This requires minimal change to the pns (we just feed it >>> different data) to work, and would dramatically improve the usability of >>> diffpairs because all the lovely stuff we can do to traces now will be >>> available to diffpairs without breakage. We still need the diffpair >>> routing logic for vias and for starting/ending pairs, but we have that >>> now. >>> >>> On 22.09.20 21:11, Tomasz Wlostowski wrote: >>> > My 5 quick cents: >>> > >>> >> 1) tool to visualize nets lengths (similar to >>> >> https://github.com/MitjaNemec/Kicad_action_plugins#length-stats >>> ). I >>> >> want to make a gui where you can define what nets you want to see >>> >> altogether. And it should show you length on each layer and >>> summary. >>> >> And vias as well. >>> > >>> > 2) Same stuff for length between 2 objects (for example via and >>> pad >>> >> for T-topology) similar to >>> >> >>> https://github.com/MitjaNemec/Kicad_action_plugins#pad2pad-track-distance >>> . >>> > New DRC will take care of that (checking length between arbitrary >>> > endpoints as well as reporting constrained length traces/diff pairs). >>> > >>> > >>> >> 3) some tool to define and automatically change tracks length on >>> >> different layers (to match target impedance) >>> > Did you mean per-layer width/gap constraints? abs(Impedance) is not >>> > related (at least not so simply) to trace lengths. We already have >>> > length tuner tool, with the V6 design rule system it will be able to >>> > pick length constraints from board design rules instead of hand-typed >>> > values. >>> > >>> >> 4) Tool to work with differential pairs. >>> > We didn't plan implementing such a tool. Beware that even if it >>> happens, >>> > applying more than cosmetic changes to the routing globally will likely >>> > ruin your board so badly you'll spend rest of the day cleaning it up... >>> > >>> > Tom >>> > >>> > >>> > ___ >>> > Mailing list: https://launchpad.net/~kicad-developers >>> > Post to : kicad-developers@lists.launchpad.net >>> > Unsubscribe : https://launchpad.net/~kicad-developers >>> > More help : https://help.launchpad.net/ListHelp >>> > >>> >>> >>> ___ >>> Mailing list: https://launchpad.net/~kicad-developers >>> Post to : kicad-developers@lists.launchpad.net >>> Unsubscribe : https://launchpad.net/~kicad-developers >>> More help : https://help.launchpad.net/ListHelp >>> >> ___ >> Mailing list: https://launchpad.net/~kicad-developers >> Post to : kicad-developers@lists.launchpad.net >> Unsubscribe : https://launchpad.net/~kicad-developers >> More help : https://help.launchpad.net/ListHelp >> > ___ Mailing list: https://launchpad.net/~kicad-developers Post to : kicad-developers@lists.launchpad.net Unsubscribe : https://launchpad.net/~kicad-developers More help : https://help.launchpad.net/ListHelp
Re: [Kicad-developers] High speed tools
Hi Slightly related to this discussion and for inspiration: https://twitter.com/azonenberg/status/1282188633118699520 Nick On Wed, 23 Sep 2020 at 09:43, Alexander Shuklin wrote: > Hi Kliment, > I think if these things you explained will be implemented, it will make > high speed design very much easier. > And the problem is much worse if you have a lot of differential pairs. > When I see design and the only thing which I can do with differential pairs > is to tune length or redraw, I feel stressed. > Is it right that diffpairs are always treated as just single tracks now? > If I want to write a script or piece of code to change diffpair width or > gap, what idea should I use? > I think about finding all coupled lengths of some differential pair and > changing the gap on all of coupled lengths and don't touch it if it is > uncoupled... Or maybe shift a bit (by gap/2 difference for each side) > > On Tue, 22 Sep 2020 at 22:23, Kliment (Future Bits) > wrote: > >> Having just routed a board with 56 diffpairs I have an idea about number >> 4: >> >> I think we should treat diffpairs as single traces when routing and when >> using the pns functionality to move them around. The trace should have >> the thickness of 2x dpair trace width + 1x dpair trace gap, and have a >> clearance of dpair clearance. It should behave as such a trace to the >> pns and revert back to being a diffpair when shoving/pns manipulation is >> done. This way dragging, rerouting, and shoving diffpairs works as >> expected - it maintains the diffpairness of the pair. Length adjustment >> works just as well on a single trace, and places where the pair splits >> up or has a skew tune can remain locked while the trace is being >> manipulated. This requires minimal change to the pns (we just feed it >> different data) to work, and would dramatically improve the usability of >> diffpairs because all the lovely stuff we can do to traces now will be >> available to diffpairs without breakage. We still need the diffpair >> routing logic for vias and for starting/ending pairs, but we have that >> now. >> >> On 22.09.20 21:11, Tomasz Wlostowski wrote: >> > My 5 quick cents: >> > >> >> 1) tool to visualize nets lengths (similar to >> >> https://github.com/MitjaNemec/Kicad_action_plugins#length-stats >> ). I >> >> want to make a gui where you can define what nets you want to see >> >> altogether. And it should show you length on each layer and >> summary. >> >> And vias as well. >> > >> > 2) Same stuff for length between 2 objects (for example via and >> pad >> >> for T-topology) similar to >> >> >> https://github.com/MitjaNemec/Kicad_action_plugins#pad2pad-track-distance >> . >> > New DRC will take care of that (checking length between arbitrary >> > endpoints as well as reporting constrained length traces/diff pairs). >> > >> > >> >> 3) some tool to define and automatically change tracks length on >> >> different layers (to match target impedance) >> > Did you mean per-layer width/gap constraints? abs(Impedance) is not >> > related (at least not so simply) to trace lengths. We already have >> > length tuner tool, with the V6 design rule system it will be able to >> > pick length constraints from board design rules instead of hand-typed >> > values. >> > >> >> 4) Tool to work with differential pairs. >> > We didn't plan implementing such a tool. Beware that even if it happens, >> > applying more than cosmetic changes to the routing globally will likely >> > ruin your board so badly you'll spend rest of the day cleaning it up... >> > >> > Tom >> > >> > >> > ___ >> > Mailing list: https://launchpad.net/~kicad-developers >> > Post to : kicad-developers@lists.launchpad.net >> > Unsubscribe : https://launchpad.net/~kicad-developers >> > More help : https://help.launchpad.net/ListHelp >> > >> >> >> ___ >> Mailing list: https://launchpad.net/~kicad-developers >> Post to : kicad-developers@lists.launchpad.net >> Unsubscribe : https://launchpad.net/~kicad-developers >> More help : https://help.launchpad.net/ListHelp >> > ___ > Mailing list: https://launchpad.net/~kicad-developers > Post to : kicad-developers@lists.launchpad.net > Unsubscribe : https://launchpad.net/~kicad-developers > More help : https://help.launchpad.net/ListHelp > ___ Mailing list: https://launchpad.net/~kicad-developers Post to : kicad-developers@lists.launchpad.net Unsubscribe : https://launchpad.net/~kicad-developers More help : https://help.launchpad.net/ListHelp
Re: [Kicad-developers] High speed tools
Hi Kliment, I think if these things you explained will be implemented, it will make high speed design very much easier. And the problem is much worse if you have a lot of differential pairs. When I see design and the only thing which I can do with differential pairs is to tune length or redraw, I feel stressed. Is it right that diffpairs are always treated as just single tracks now? If I want to write a script or piece of code to change diffpair width or gap, what idea should I use? I think about finding all coupled lengths of some differential pair and changing the gap on all of coupled lengths and don't touch it if it is uncoupled... Or maybe shift a bit (by gap/2 difference for each side) On Tue, 22 Sep 2020 at 22:23, Kliment (Future Bits) wrote: > Having just routed a board with 56 diffpairs I have an idea about number 4: > > I think we should treat diffpairs as single traces when routing and when > using the pns functionality to move them around. The trace should have > the thickness of 2x dpair trace width + 1x dpair trace gap, and have a > clearance of dpair clearance. It should behave as such a trace to the > pns and revert back to being a diffpair when shoving/pns manipulation is > done. This way dragging, rerouting, and shoving diffpairs works as > expected - it maintains the diffpairness of the pair. Length adjustment > works just as well on a single trace, and places where the pair splits > up or has a skew tune can remain locked while the trace is being > manipulated. This requires minimal change to the pns (we just feed it > different data) to work, and would dramatically improve the usability of > diffpairs because all the lovely stuff we can do to traces now will be > available to diffpairs without breakage. We still need the diffpair > routing logic for vias and for starting/ending pairs, but we have that now. > > On 22.09.20 21:11, Tomasz Wlostowski wrote: > > My 5 quick cents: > > > >> 1) tool to visualize nets lengths (similar to > >> https://github.com/MitjaNemec/Kicad_action_plugins#length-stats ). > I > >> want to make a gui where you can define what nets you want to see > >> altogether. And it should show you length on each layer and summary. > >> And vias as well. > > > > 2) Same stuff for length between 2 objects (for example via and pad > >> for T-topology) similar to > >> > https://github.com/MitjaNemec/Kicad_action_plugins#pad2pad-track-distance. > > New DRC will take care of that (checking length between arbitrary > > endpoints as well as reporting constrained length traces/diff pairs). > > > > > >> 3) some tool to define and automatically change tracks length on > >> different layers (to match target impedance) > > Did you mean per-layer width/gap constraints? abs(Impedance) is not > > related (at least not so simply) to trace lengths. We already have > > length tuner tool, with the V6 design rule system it will be able to > > pick length constraints from board design rules instead of hand-typed > > values. > > > >> 4) Tool to work with differential pairs. > > We didn't plan implementing such a tool. Beware that even if it happens, > > applying more than cosmetic changes to the routing globally will likely > > ruin your board so badly you'll spend rest of the day cleaning it up... > > > > Tom > > > > > > ___ > > Mailing list: https://launchpad.net/~kicad-developers > > Post to : kicad-developers@lists.launchpad.net > > Unsubscribe : https://launchpad.net/~kicad-developers > > More help : https://help.launchpad.net/ListHelp > > > > > ___ > Mailing list: https://launchpad.net/~kicad-developers > Post to : kicad-developers@lists.launchpad.net > Unsubscribe : https://launchpad.net/~kicad-developers > More help : https://help.launchpad.net/ListHelp > ___ Mailing list: https://launchpad.net/~kicad-developers Post to : kicad-developers@lists.launchpad.net Unsubscribe : https://launchpad.net/~kicad-developers More help : https://help.launchpad.net/ListHelp
Re: [Kicad-developers] High speed tools
>>For (1) I know Oleg Endo has been doing some work on the Net Inspector to allow grouping nets for combined length measurement: That's nice stuff to have, thanks Jon! From the beginning I was thinking about a new GUI, which will hold all groups you want to length match. And separately show about length on different layers and vias count. Idea is to have the ability to check some net groups quickly. Because if you have 10 groups, it's not very comfortable to use a netlist inspector. But... Maybe that's not very "must have" tool, It's probably should be only in the python scripts >> For (3) the intent was to do this via the new DRC rule system. The PNS router needs to be updated to take the new DRC rules into consideration before this will work. That will be great! Do you mean the new DRC rules, which you can type by hand? >> Yeah, I think it could be useful. I think I can finish it (i.e. get it to a useful state re-implemented with wxDataViewCtrl) by end of September or 1st week October. Thanks, Oleg. That stuff is nice to have for sure. >> New DRC will take care of that (checking length between arbitrary endpoints as well as reporting constrained length traces/diff pairs). Hi, Tomasz. That's good news. Anyway I would like to have some GUI which will show me these lengths during routing, because in some complicated PCBs DRC takes a few minutes. And when I route such stuff I want to see numbers easily accessible. >> Did you mean per-layer width/gap constraints? Oops, poor me. That's a mistake, I tried to write "width" :) >> We didn't plan implementing such a tool. Beware that even if it happens, applying more than cosmetic changes to the routing globally will likely ruin your board so badly you'll spend rest of the day cleaning it up... I don't think about the modification of the whole layout. But when I cannot select one diffpair or its part and change some properties and adjust, I feel stressed >< ___ Mailing list: https://launchpad.net/~kicad-developers Post to : kicad-developers@lists.launchpad.net Unsubscribe : https://launchpad.net/~kicad-developers More help : https://help.launchpad.net/ListHelp
Re: [Kicad-developers] High speed tools
Having just routed a board with 56 diffpairs I have an idea about number 4: I think we should treat diffpairs as single traces when routing and when using the pns functionality to move them around. The trace should have the thickness of 2x dpair trace width + 1x dpair trace gap, and have a clearance of dpair clearance. It should behave as such a trace to the pns and revert back to being a diffpair when shoving/pns manipulation is done. This way dragging, rerouting, and shoving diffpairs works as expected - it maintains the diffpairness of the pair. Length adjustment works just as well on a single trace, and places where the pair splits up or has a skew tune can remain locked while the trace is being manipulated. This requires minimal change to the pns (we just feed it different data) to work, and would dramatically improve the usability of diffpairs because all the lovely stuff we can do to traces now will be available to diffpairs without breakage. We still need the diffpair routing logic for vias and for starting/ending pairs, but we have that now. On 22.09.20 21:11, Tomasz Wlostowski wrote: > My 5 quick cents: > >> 1) tool to visualize nets lengths (similar to >> https://github.com/MitjaNemec/Kicad_action_plugins#length-stats ). I >> want to make a gui where you can define what nets you want to see >> altogether. And it should show you length on each layer and summary. >> And vias as well. > > 2) Same stuff for length between 2 objects (for example via and pad >> for T-topology) similar to >> >> https://github.com/MitjaNemec/Kicad_action_plugins#pad2pad-track-distance. > New DRC will take care of that (checking length between arbitrary > endpoints as well as reporting constrained length traces/diff pairs). > > >> 3) some tool to define and automatically change tracks length on >> different layers (to match target impedance) > Did you mean per-layer width/gap constraints? abs(Impedance) is not > related (at least not so simply) to trace lengths. We already have > length tuner tool, with the V6 design rule system it will be able to > pick length constraints from board design rules instead of hand-typed > values. > >> 4) Tool to work with differential pairs. > We didn't plan implementing such a tool. Beware that even if it happens, > applying more than cosmetic changes to the routing globally will likely > ruin your board so badly you'll spend rest of the day cleaning it up... > > Tom > > > ___ > Mailing list: https://launchpad.net/~kicad-developers > Post to : kicad-developers@lists.launchpad.net > Unsubscribe : https://launchpad.net/~kicad-developers > More help : https://help.launchpad.net/ListHelp > ___ Mailing list: https://launchpad.net/~kicad-developers Post to : kicad-developers@lists.launchpad.net Unsubscribe : https://launchpad.net/~kicad-developers More help : https://help.launchpad.net/ListHelp
Re: [Kicad-developers] High speed tools
My 5 quick cents: > 1) tool to visualize nets lengths (similar to > https://github.com/MitjaNemec/Kicad_action_plugins#length-stats ). I > want to make a gui where you can define what nets you want to see > altogether. And it should show you length on each layer and summary. > And vias as well. 2) Same stuff for length between 2 objects (for example via and pad > for T-topology) similar to > https://github.com/MitjaNemec/Kicad_action_plugins#pad2pad-track-distance. New DRC will take care of that (checking length between arbitrary endpoints as well as reporting constrained length traces/diff pairs). > 3) some tool to define and automatically change tracks length on > different layers (to match target impedance) Did you mean per-layer width/gap constraints? abs(Impedance) is not related (at least not so simply) to trace lengths. We already have length tuner tool, with the V6 design rule system it will be able to pick length constraints from board design rules instead of hand-typed values. > 4) Tool to work with differential pairs. We didn't plan implementing such a tool. Beware that even if it happens, applying more than cosmetic changes to the routing globally will likely ruin your board so badly you'll spend rest of the day cleaning it up... Tom ___ Mailing list: https://launchpad.net/~kicad-developers Post to : kicad-developers@lists.launchpad.net Unsubscribe : https://launchpad.net/~kicad-developers More help : https://help.launchpad.net/ListHelp
Re: [Kicad-developers] High speed tools
Hi, On Tue, 2020-09-22 at 12:27 -0400, Jon Evans wrote: > Hi Alexander, > > For (1) I know Oleg Endo has been doing some work on the Net Inspector to > allow grouping nets for combined length measurement: > https://gitlab.com/kicad/code/kicad/-/merge_requests/187 Yeah, I think it could be useful. I think I can finish it (i.e. get it to a useful state re-implemented with wxDataViewCtrl) by end of September or 1st week October. Cheers, Oleg ___ Mailing list: https://launchpad.net/~kicad-developers Post to : kicad-developers@lists.launchpad.net Unsubscribe : https://launchpad.net/~kicad-developers More help : https://help.launchpad.net/ListHelp
Re: [Kicad-developers] High speed tools
Hi Alexander, For (1) I know Oleg Endo has been doing some work on the Net Inspector to allow grouping nets for combined length measurement: https://gitlab.com/kicad/code/kicad/-/merge_requests/187 For (3) the intent was to do this via the new DRC rule system. The PNS router needs to be updated to take the new DRC rules into consideration before this will work. For (2) and (4) I don't think anything is in progress. Updating diff pairs could be a feature added to the global track/via editing dialog, perhaps. -Jon On Tue, Sep 22, 2020 at 9:32 AM Alexander Shuklin wrote: > Dear all, > I want to start my first KiCad high speed design and for that purpose I > plan to make some pcbnew python scripts. I just want to ask if some of that > tools are expected in the nightly builds (may be I will wait for it or even > give a hand or contribute) > 1) tool to visualize nets lengths (similar to > https://github.com/MitjaNemec/Kicad_action_plugins#length-stats ). I want > to make a gui where you can define what nets you want to see altogether. > And it should show you length on each layer and summary. And vias as well. > 2) Same stuff for length between 2 objects (for example via and pad for > T-topology) similar to > https://github.com/MitjaNemec/Kicad_action_plugins#pad2pad-track-distance. > 3) some tool to define and automatically change tracks length on different > layers (to match target impedance) > 4) Tool to work with differential pairs. At least change its width and > clearance. I think that now differential pairs are just tracks, is there > some option to change these parameters after they are created easily? For > example, you change stackup, or you change manufacturer and have to use > different PCB materials, and after that you have to adjust differential > pairs. > ___ > Mailing list: https://launchpad.net/~kicad-developers > Post to : kicad-developers@lists.launchpad.net > Unsubscribe : https://launchpad.net/~kicad-developers > More help : https://help.launchpad.net/ListHelp > ___ Mailing list: https://launchpad.net/~kicad-developers Post to : kicad-developers@lists.launchpad.net Unsubscribe : https://launchpad.net/~kicad-developers More help : https://help.launchpad.net/ListHelp
[Kicad-developers] High speed tools
Dear all, I want to start my first KiCad high speed design and for that purpose I plan to make some pcbnew python scripts. I just want to ask if some of that tools are expected in the nightly builds (may be I will wait for it or even give a hand or contribute) 1) tool to visualize nets lengths (similar to https://github.com/MitjaNemec/Kicad_action_plugins#length-stats ). I want to make a gui where you can define what nets you want to see altogether. And it should show you length on each layer and summary. And vias as well. 2) Same stuff for length between 2 objects (for example via and pad for T-topology) similar to https://github.com/MitjaNemec/Kicad_action_plugins#pad2pad-track-distance. 3) some tool to define and automatically change tracks length on different layers (to match target impedance) 4) Tool to work with differential pairs. At least change its width and clearance. I think that now differential pairs are just tracks, is there some option to change these parameters after they are created easily? For example, you change stackup, or you change manufacturer and have to use different PCB materials, and after that you have to adjust differential pairs. ___ Mailing list: https://launchpad.net/~kicad-developers Post to : kicad-developers@lists.launchpad.net Unsubscribe : https://launchpad.net/~kicad-developers More help : https://help.launchpad.net/ListHelp