Skip to content

Commit bbe0f7b

Browse files
committed
gui: add two width spacing table to tech layer descriptor
Signed-off-by: Peter Gadfort <[email protected]>
1 parent b139056 commit bbe0f7b

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
@@ -2946,6 +2946,38 @@ Descriptor::Properties DbTechLayerDescriptor::getDBProperties(
29462946
props.push_back({std::move(title), widths});
29472947
}
29482948

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

0 commit comments

Comments
 (0)