← Back to team overview

kicad-developers team mailing list archive

Re: High speed tools

 

Hi Nick,
That's actually the problem which I came from :)

On Wed, 23 Sep 2020 at 10:46, Nick Østergaard <oe.nick@xxxxxxxxx> 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 <jasuramme@xxxxxxxxx>
> 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) <kliment@xxxxxxxx>
>> 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@xxxxxxxxxxxxxxxxxxx
>>> > Unsubscribe : https://launchpad.net/~kicad-developers
>>> > More help   : https://help.launchpad.net/ListHelp
>>> >
>>>
>>>
>>> _______________________________________________
>>> Mailing list: https://launchpad.net/~kicad-developers
>>> Post to     : kicad-developers@xxxxxxxxxxxxxxxxxxx
>>> Unsubscribe : https://launchpad.net/~kicad-developers
>>> More help   : https://help.launchpad.net/ListHelp
>>>
>> _______________________________________________
>> Mailing list: https://launchpad.net/~kicad-developers
>> Post to     : kicad-developers@xxxxxxxxxxxxxxxxxxx
>> Unsubscribe : https://launchpad.net/~kicad-developers
>> More help   : https://help.launchpad.net/ListHelp
>>
>

References