KiCad PCB EDA Suite
Loading...
Searching...
No Matches
PNS::MEANDER_SETTINGS Class Reference

Dimensions for the meandering algorithm. More...

#include <pns_meander.h>

Public Member Functions

 MEANDER_SETTINGS ()
 
void SetTargetLength (long long int aOpt)
 
void SetTargetLength (const MINOPTMAX< int > &aConstraint)
 
void SetTargetLengthDelay (long long int aOpt)
 
void SetTargetLengthDelay (const MINOPTMAX< int > &aConstraint)
 
void SetTargetSkew (int aOpt)
 
void SetTargetSkew (const MINOPTMAX< int > &aConstraint)
 
void SetTargetSkewDelay (int aOpt)
 
void SetTargetSkewDelay (const MINOPTMAX< int > &aConstraint)
 Minimum meandering amplitude.
 

Public Attributes

int m_minAmplitude
 Maximum meandering amplitude.
 
int m_maxAmplitude
 Meandering period/spacing (see dialog picture for explanation).
 
int m_spacing
 Amplitude/spacing adjustment step.
 
int m_step
 Length PadToDie.
 
int m_lenPadToDie
 Desired length of the tuned line/diff pair (this is in nm, so allow more than board width).
 
MINOPTMAX< long long int > m_targetLength
 Desired propagation delay of the tuned line.
 
MINOPTMAX< long long int > m_targetLengthDelay
 Target skew value for diff pair de-skewing.
 
MINOPTMAX< int > m_targetSkew
 Target skew value for diff pair de-skewing.
 
MINOPTMAX< int > m_targetSkewDelay
 
bool m_overrideCustomRules
 Type of corners for the meandered line.
 
MEANDER_STYLE m_cornerStyle
 Rounding percentage (0 - 100).
 
int m_cornerRadiusPercentage
 Place meanders on one side.
 
bool m_singleSided
 Initial side when placing meanders at segment.
 
MEANDER_SIDE m_initialSide
 Allowable tuning error.
 
int m_lengthTolerance
 Keep vertices between pre, tuned and post parts of the line.
 
bool m_keepEndpoints
 Calculate tuning in the time domain.
 
bool m_isTimeDomain
 The net class this meander pattern belongs to.
 
NETCLASSm_netClass
 

Static Public Attributes

static const long long int DEFAULT_LENGTH_TOLERANCE
 
static const long long int LENGTH_UNCONSTRAINED
 
static const long long int DEFAULT_DELAY_TOLERANCE
 
static const long long int DELAY_UNCONSTRAINED
 
static const int SKEW_UNCONSTRAINED
 

Detailed Description

Dimensions for the meandering algorithm.

Definition at line 67 of file pns_meander.h.

Constructor & Destructor Documentation

◆ MEANDER_SETTINGS()

Member Function Documentation

◆ SetTargetLength() [1/2]

void PNS::MEANDER_SETTINGS::SetTargetLength ( const MINOPTMAX< int > & aConstraint)

◆ SetTargetLength() [2/2]

void PNS::MEANDER_SETTINGS::SetTargetLength ( long long int aOpt)

◆ SetTargetLengthDelay() [1/2]

void PNS::MEANDER_SETTINGS::SetTargetLengthDelay ( const MINOPTMAX< int > & aConstraint)

◆ SetTargetLengthDelay() [2/2]

void PNS::MEANDER_SETTINGS::SetTargetLengthDelay ( long long int aOpt)

◆ SetTargetSkew() [1/2]

void PNS::MEANDER_SETTINGS::SetTargetSkew ( const MINOPTMAX< int > & aConstraint)

◆ SetTargetSkew() [2/2]

void PNS::MEANDER_SETTINGS::SetTargetSkew ( int aOpt)

◆ SetTargetSkewDelay() [1/2]

void PNS::MEANDER_SETTINGS::SetTargetSkewDelay ( const MINOPTMAX< int > & aConstraint)

◆ SetTargetSkewDelay() [2/2]

void PNS::MEANDER_SETTINGS::SetTargetSkewDelay ( int aOpt)

Member Data Documentation

◆ DEFAULT_DELAY_TOLERANCE

const long long int PNS::MEANDER_SETTINGS::DEFAULT_DELAY_TOLERANCE
static

Definition at line 73 of file pns_meander.h.

Referenced by SetTargetLengthDelay().

◆ DEFAULT_LENGTH_TOLERANCE

const long long int PNS::MEANDER_SETTINGS::DEFAULT_LENGTH_TOLERANCE
static

Definition at line 70 of file pns_meander.h.

Referenced by SetTargetLength(), SetTargetSkew(), and SetTargetSkewDelay().

◆ DELAY_UNCONSTRAINED

◆ LENGTH_UNCONSTRAINED

◆ m_cornerRadiusPercentage

int PNS::MEANDER_SETTINGS::m_cornerRadiusPercentage

Place meanders on one side.

Definition at line 125 of file pns_meander.h.

Referenced by BOARD_DESIGN_SETTINGS::BOARD_DESIGN_SETTINGS(), PNS::MEANDER_SHAPE::cornerRadius(), and MEANDER_SETTINGS().

◆ m_cornerStyle

MEANDER_STYLE PNS::MEANDER_SETTINGS::m_cornerStyle

Rounding percentage (0 - 100).

Definition at line 122 of file pns_meander.h.

Referenced by BOARD_DESIGN_SETTINGS::BOARD_DESIGN_SETTINGS(), and MEANDER_SETTINGS().

◆ m_initialSide

MEANDER_SIDE PNS::MEANDER_SETTINGS::m_initialSide

Allowable tuning error.

Definition at line 131 of file pns_meander.h.

Referenced by MEANDER_SETTINGS(), and PNS::MEANDERED_LINE::MeanderSegment().

◆ m_isTimeDomain

bool PNS::MEANDER_SETTINGS::m_isTimeDomain

The net class this meander pattern belongs to.

Definition at line 140 of file pns_meander.h.

Referenced by PCB_TUNING_PATTERN::CreateNew(), MEANDER_SETTINGS(), and PCB_TUNING_PATTERN::ShowPropertiesDialog().

◆ m_keepEndpoints

bool PNS::MEANDER_SETTINGS::m_keepEndpoints

Calculate tuning in the time domain.

Definition at line 137 of file pns_meander.h.

Referenced by MEANDER_SETTINGS().

◆ m_lengthTolerance

int PNS::MEANDER_SETTINGS::m_lengthTolerance

Keep vertices between pre, tuned and post parts of the line.

Definition at line 134 of file pns_meander.h.

Referenced by MEANDER_SETTINGS().

◆ m_lenPadToDie

int PNS::MEANDER_SETTINGS::m_lenPadToDie

Desired length of the tuned line/diff pair (this is in nm, so allow more than board width).

Definition at line 105 of file pns_meander.h.

Referenced by MEANDER_SETTINGS().

◆ m_maxAmplitude

int PNS::MEANDER_SETTINGS::m_maxAmplitude

Meandering period/spacing (see dialog picture for explanation).

Definition at line 96 of file pns_meander.h.

Referenced by BOARD_DESIGN_SETTINGS::BOARD_DESIGN_SETTINGS(), PNS::MEANDER_SHAPE::Fit(), MEANDER_SETTINGS(), and DRAWING_TOOL::PlaceTuningPattern().

◆ m_minAmplitude

int PNS::MEANDER_SETTINGS::m_minAmplitude

Maximum meandering amplitude.

Definition at line 93 of file pns_meander.h.

Referenced by BOARD_DESIGN_SETTINGS::BOARD_DESIGN_SETTINGS(), MEANDER_SETTINGS(), and PNS::MEANDER_SHAPE::MinAmplitude().

◆ m_netClass

NETCLASS* PNS::MEANDER_SETTINGS::m_netClass

Definition at line 143 of file pns_meander.h.

Referenced by PCB_TUNING_PATTERN::CreateNew(), and MEANDER_SETTINGS().

◆ m_overrideCustomRules

bool PNS::MEANDER_SETTINGS::m_overrideCustomRules

Type of corners for the meandered line.

Definition at line 119 of file pns_meander.h.

Referenced by MEANDER_SETTINGS(), and PCB_TUNING_PATTERN::ShowPropertiesDialog().

◆ m_singleSided

bool PNS::MEANDER_SETTINGS::m_singleSided

Initial side when placing meanders at segment.

Definition at line 128 of file pns_meander.h.

Referenced by BOARD_DESIGN_SETTINGS::BOARD_DESIGN_SETTINGS(), MEANDER_SETTINGS(), and PNS::MEANDERED_LINE::MeanderSegment().

◆ m_spacing

int PNS::MEANDER_SETTINGS::m_spacing

Amplitude/spacing adjustment step.

Definition at line 99 of file pns_meander.h.

Referenced by BOARD_DESIGN_SETTINGS::BOARD_DESIGN_SETTINGS(), MEANDER_SETTINGS(), and DRAWING_TOOL::PlaceTuningPattern().

◆ m_step

int PNS::MEANDER_SETTINGS::m_step

Length PadToDie.

Definition at line 102 of file pns_meander.h.

Referenced by PNS::MEANDER_SHAPE::Fit(), MEANDER_SETTINGS(), and PNS::MEANDERED_LINE::MeanderSegment().

◆ m_targetLength

MINOPTMAX<long long int> PNS::MEANDER_SETTINGS::m_targetLength

Desired propagation delay of the tuned line.

Definition at line 108 of file pns_meander.h.

Referenced by DRAWING_TOOL::PlaceTuningPattern(), SetTargetLength(), and SetTargetLength().

◆ m_targetLengthDelay

MINOPTMAX<long long int> PNS::MEANDER_SETTINGS::m_targetLengthDelay

Target skew value for diff pair de-skewing.

Definition at line 111 of file pns_meander.h.

Referenced by SetTargetLengthDelay(), and SetTargetLengthDelay().

◆ m_targetSkew

MINOPTMAX<int> PNS::MEANDER_SETTINGS::m_targetSkew

Target skew value for diff pair de-skewing.

Definition at line 114 of file pns_meander.h.

Referenced by DRAWING_TOOL::PlaceTuningPattern(), SetTargetSkew(), and SetTargetSkew().

◆ m_targetSkewDelay

MINOPTMAX<int> PNS::MEANDER_SETTINGS::m_targetSkewDelay

Definition at line 117 of file pns_meander.h.

Referenced by SetTargetSkewDelay(), and SetTargetSkewDelay().

◆ SKEW_UNCONSTRAINED

const int PNS::MEANDER_SETTINGS::SKEW_UNCONSTRAINED
static

The documentation for this class was generated from the following files: