Implement time-domain length tuning
- Adds time and delay units - Adds time domain tuning parameters entry and storage - Adds pad-to-die delay property - Adds time domain parameter interface for length / delay calculations - Adds unit tracking for numerical constants through LIBEVAL - Will need future work to truly propagate through binary expressions - Adds time domain tuning to meander placers - Adds time delay display to net inspector panel - Modifies DRC to handle time domain constraints
This commit is contained in:
@@ -59,6 +59,7 @@ NETCLASS::NETCLASS( const wxString& aName, bool aInitWithDefaults ) : m_isDefaul
|
||||
|
||||
SetName( aName );
|
||||
SetPriority( -1 );
|
||||
SetTuningProfile( wxEmptyString );
|
||||
|
||||
// Colors are a special optional case - always set, but UNSPECIFIED used in place of optional
|
||||
SetPcbColor( COLOR4D::UNSPECIFIED );
|
||||
@@ -101,6 +102,7 @@ void NETCLASS::ResetParents()
|
||||
SetBusWidthParent( this );
|
||||
SetSchematicColorParent( this );
|
||||
SetLineStyleParent( this );
|
||||
SetTuningProfileParent( this );
|
||||
}
|
||||
|
||||
|
||||
@@ -178,6 +180,9 @@ void NETCLASS::Serialize( google::protobuf::Any &aContainer ) const
|
||||
if( m_pcbColor != COLOR4D::UNSPECIFIED )
|
||||
PackColor( *board->mutable_color(), m_pcbColor );
|
||||
|
||||
if( HasTuningProfile() )
|
||||
board->set_tuning_profile( m_TuningProfile );
|
||||
|
||||
project::NetClassSchematicSettings* schematic = nc.mutable_schematic();
|
||||
|
||||
if( m_wireWidth )
|
||||
@@ -244,6 +249,9 @@ bool NETCLASS::Deserialize( const google::protobuf::Any &aContainer )
|
||||
if( nc.board().has_color() )
|
||||
m_pcbColor = UnpackColor( nc.board().color() );
|
||||
|
||||
if( nc.board().has_tuning_profile() )
|
||||
m_TuningProfile = nc.board().tuning_profile();
|
||||
|
||||
if( nc.schematic().has_wire_width() )
|
||||
m_wireWidth = nc.schematic().wire_width().value_nm();
|
||||
|
||||
|
||||
Reference in New Issue
Block a user