Re: [Kicad-developers] High speed tools

2020-09-23 Thread mitjan696-ubu...@yahoo.co.uk
 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

2020-09-23 Thread Oleg Endo
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

2020-09-23 Thread Kliment (Future Bits)
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

2020-09-23 Thread Oleg Endo
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

2020-09-23 Thread Alexander Shuklin
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

2020-09-23 Thread Nick Østergaard
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

2020-09-23 Thread Alexander Shuklin
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

2020-09-23 Thread Alexander Shuklin
>>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

2020-09-22 Thread Kliment (Future Bits)
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

2020-09-22 Thread Tomasz Wlostowski
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

2020-09-22 Thread Oleg Endo
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

2020-09-22 Thread Jon Evans
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

2020-09-22 Thread Alexander Shuklin
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