KiCad PCB EDA Suite
Loading...
Searching...
No Matches
pns_meander_skew_placer.h
Go to the documentation of this file.
1/*
2 * KiRouter - a push-and-(sometimes-)shove PCB router
3 *
4 * Copyright (C) 2013-2015 CERN
5 * Copyright The KiCad Developers, see AUTHORS.txt for contributors.
6 * Author: Tomasz Wlostowski <[email protected]>
7 *
8 * This program is free software: you can redistribute it and/or modify it
9 * under the terms of the GNU General Public License as published by the
10 * Free Software Foundation, either version 3 of the License, or (at your
11 * option) any later version.
12 *
13 * This program is distributed in the hope that it will be useful, but
14 * WITHOUT ANY WARRANTY; without even the implied warranty of
15 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
16 * General Public License for more details.
17 *
18 * You should have received a copy of the GNU General Public License along
19 * with this program. If not, see <http://www.gnu.org/licenses/>.
20 */
21
22#ifndef __PNS_MEANDER_SKEW_PLACER_H
23#define __PNS_MEANDER_SKEW_PLACER_H
24
25#include "pns_meander_placer.h"
26#include "pns_diff_pair.h"
27
28namespace PNS {
29
30class ROUTER;
31class SHOVE;
32class OPTIMIZER;
33
40{
41public:
42 MEANDER_SKEW_PLACER( ROUTER* aRouter );
44
46 bool Start( const VECTOR2I& aP, ITEM* aStartItem ) override;
47
49 bool Move( const VECTOR2I& aP, ITEM* aEndItem ) override;
50
52 long long int TuningLengthResult() const override;
53
55 int64_t TuningDelayResult() const override;
56
57 long long int CurrentSkew() const;
58
59private:
60 long long int origPathLength() const override;
61
62 int64_t origPathDelay() const override;
63
64 void calculateTimeDomainTargets() override;
65
68
69 long long int m_coupledLength;
75};
76
77}
78
79#endif // __PNS_MEANDER_SKEW_PLACER_H
Basic class for a differential pair.
Base class for PNS router board items.
Definition: pns_item.h:98
Single track length matching/meandering tool.
int64_t origPathDelay() const override
long long int origPathLength() const override
bool Move(const VECTOR2I &aP, ITEM *aEndItem) override
Function Move()
bool Start(const VECTOR2I &aP, ITEM *aStartItem) override
Function Start()
long long int TuningLengthResult() const override
Return the resultant length or skew of the tuned traces.
void calculateTimeDomainTargets() override
current routing start point (end of tail, beginning of head)
int64_t TuningDelayResult() const override
Return the resultant delay or skew of the tuned traces.
Push and Shove diff pair dimensions (gap) settings dialog.