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:
JamesJCode
2025-04-17 21:46:56 +01:00
parent 0820e90c73
commit eb17ebee4e
113 changed files with 13444 additions and 1101 deletions
@@ -39,7 +39,7 @@ PANEL_SETUP_NETCLASSES_BASE::PANEL_SETUP_NETCLASSES_BASE( wxWindow* parent, wxWi
m_netclassGrid = new WX_GRID( m_netclassesPane, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxHSCROLL|wxTAB_TRAVERSAL|wxVSCROLL );
// Grid
m_netclassGrid->CreateGrid( 3, 14 );
m_netclassGrid->CreateGrid( 3, 15 );
m_netclassGrid->EnableEditing( true );
m_netclassGrid->EnableGridLines( true );
m_netclassGrid->EnableDragGridSize( false );
@@ -57,11 +57,12 @@ PANEL_SETUP_NETCLASSES_BASE::PANEL_SETUP_NETCLASSES_BASE( wxWindow* parent, wxWi
m_netclassGrid->SetColLabelValue( 6, _("uVia Hole") );
m_netclassGrid->SetColLabelValue( 7, _("DP Width") );
m_netclassGrid->SetColLabelValue( 8, _("DP Gap") );
m_netclassGrid->SetColLabelValue( 9, _("PCB Color") );
m_netclassGrid->SetColLabelValue( 10, _("Wire Thickness") );
m_netclassGrid->SetColLabelValue( 11, _("Bus Thickness") );
m_netclassGrid->SetColLabelValue( 12, _("Color") );
m_netclassGrid->SetColLabelValue( 13, _("Line Style") );
m_netclassGrid->SetColLabelValue( 9, _("Delay Profile") );
m_netclassGrid->SetColLabelValue( 10, _("PCB Color") );
m_netclassGrid->SetColLabelValue( 11, _("Wire Thickness") );
m_netclassGrid->SetColLabelValue( 12, _("Bus Thickness") );
m_netclassGrid->SetColLabelValue( 13, _("Color") );
m_netclassGrid->SetColLabelValue( 14, _("Line Style") );
m_netclassGrid->SetColLabelSize( wxGRID_AUTOSIZE );
m_netclassGrid->SetColLabelAlignment( wxALIGN_CENTER, wxALIGN_CENTER );