diff options
Diffstat (limited to 'utils/regtools/qeditor/std_analysers.cpp')
-rw-r--r-- | utils/regtools/qeditor/std_analysers.cpp | 22 |
1 files changed, 22 insertions, 0 deletions
diff --git a/utils/regtools/qeditor/std_analysers.cpp b/utils/regtools/qeditor/std_analysers.cpp index 1a504cd617..1acd25e7fc 100644 --- a/utils/regtools/qeditor/std_analysers.cpp +++ b/utils/regtools/qeditor/std_analysers.cpp | |||
@@ -870,6 +870,13 @@ EmiAnalyser::EmiAnalyser(const soc_desc::soc_ref_t& soc, IoBackend *backend) | |||
870 | m_emi_freq_label = new QLineEdit; | 870 | m_emi_freq_label = new QLineEdit; |
871 | m_emi_freq_label->setAlignment(Qt::AlignHCenter | Qt::AlignVCenter); | 871 | m_emi_freq_label->setAlignment(Qt::AlignHCenter | Qt::AlignVCenter); |
872 | m_emi_freq_label->setReadOnly(true); | 872 | m_emi_freq_label->setReadOnly(true); |
873 | m_emi_size_label = new QLineEdit; | ||
874 | m_emi_size_label->setAlignment(Qt::AlignHCenter | Qt::AlignVCenter); | ||
875 | m_emi_size_label->setReadOnly(true); | ||
876 | line_layout->addStretch(); | ||
877 | line_layout->addWidget(new QLabel("Size:")); | ||
878 | line_layout->addWidget(m_emi_size_label); | ||
879 | line_layout->addWidget(new QLabel("MiB")); | ||
873 | line_layout->addStretch(); | 880 | line_layout->addStretch(); |
874 | line_layout->addWidget(new QLabel("Frequency:")); | 881 | line_layout->addWidget(new QLabel("Frequency:")); |
875 | line_layout->addWidget(m_emi_freq_label); | 882 | line_layout->addWidget(m_emi_freq_label); |
@@ -1008,6 +1015,21 @@ void EmiAnalyser::FillTable() | |||
1008 | 1015 | ||
1009 | m_emi_freq_label->setText(QString().sprintf("%.3f", m_emi_freq / 1000000.0)); | 1016 | m_emi_freq_label->setText(QString().sprintf("%.3f", m_emi_freq / 1000000.0)); |
1010 | 1017 | ||
1018 | soc_word_t rows, columns, cs_map; | ||
1019 | if(ReadFieldOld("DRAM", "CTL14", "CS_MAP", cs_map) && | ||
1020 | ReadFieldOld("DRAM", "CTL10", "ADDR_PINS", rows) && | ||
1021 | ReadFieldOld("DRAM", "CTL11", "COLUMN_SIZE", columns)) | ||
1022 | { | ||
1023 | rows = 13 - rows; | ||
1024 | columns = 12 - columns; | ||
1025 | soc_word_t banks = 4; | ||
1026 | soc_word_t chips = __builtin_popcount(cs_map); | ||
1027 | unsigned long size = 2 * (1 << (rows + columns)) * chips * banks; | ||
1028 | m_emi_size_label->setText(QString().sprintf("%lu", (unsigned long)size / 1024 / 1024)); | ||
1029 | } | ||
1030 | else | ||
1031 | m_emi_size_label->setText("<invalid>"); | ||
1032 | |||
1011 | NewGroup("Control Parameters"); | 1033 | NewGroup("Control Parameters"); |
1012 | if(ReadFieldOld("EMI", "CTRL", "PORT_PRIORITY_ORDER", value)) | 1034 | if(ReadFieldOld("EMI", "CTRL", "PORT_PRIORITY_ORDER", value)) |
1013 | { | 1035 | { |