Skip to content

Commit 61879be

Browse files
authored
Merge pull request #9031 from gadfort/gui-twowidth
gui: add two width spacing table to tech layer descriptor
2 parents 09354a3 + e186c2c commit 61879be

File tree

1 file changed

+32
-0
lines changed

1 file changed

+32
-0
lines changed

src/gui/src/dbDescriptors.cpp

Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2948,6 +2948,38 @@ Descriptor::Properties DbTechLayerDescriptor::getDBProperties(
29482948
props.push_back({std::move(title), widths});
29492949
}
29502950

2951+
if (layer->hasTwoWidthsSpacingRules()) {
2952+
const int widths = layer->getTwoWidthsSpacingTableNumWidths();
2953+
2954+
PropertyList spacing_rules;
2955+
for (int i = 0; i < widths; i++) {
2956+
const std::string prefix_title = Property::convert_dbu(
2957+
layer->getTwoWidthsSpacingTableWidth(i), true);
2958+
const std::string prl_title
2959+
= layer->getTwoWidthsSpacingTableHasPRL(i)
2960+
? " - PRL "
2961+
+ Property::convert_dbu(
2962+
layer->getTwoWidthsSpacingTablePRL(i), true)
2963+
: "";
2964+
2965+
for (int j = 0; j < widths; j++) {
2966+
std::string title = prefix_title;
2967+
title += " - ";
2968+
title += Property::convert_dbu(layer->getTwoWidthsSpacingTableWidth(j),
2969+
true);
2970+
title += prl_title;
2971+
spacing_rules.emplace_back(
2972+
title,
2973+
Property::convert_dbu(layer->getTwoWidthsSpacingTableEntry(i, j),
2974+
true));
2975+
}
2976+
}
2977+
2978+
if (!spacing_rules.empty()) {
2979+
props.push_back({"Two width spacing rules", spacing_rules});
2980+
}
2981+
}
2982+
29512983
PropertyList cutclasses;
29522984
for (auto* cutclass : layer->getTechLayerCutClassRules()) {
29532985
std::string text

0 commit comments

Comments
 (0)