aboutsummaryrefslogtreecommitdiffstats
path: root/ecp5/arch.cc
diff options
context:
space:
mode:
authorMiodrag Milanovic <mmicko@gmail.com>2019-10-12 12:06:17 +0200
committerMiodrag Milanovic <mmicko@gmail.com>2019-10-20 09:41:48 +0200
commita59faa8df0b615f8d09e703c93743a26e3c35823 (patch)
treeb36dfcc86e350cd83e42c99f2bbb196824c94a8a /ecp5/arch.cc
parent07a8022a1f6b4b24d5e227007d8147e2b3bb592f (diff)
downloadnextpnr-a59faa8df0b615f8d09e703c93743a26e3c35823.tar.gz
nextpnr-a59faa8df0b615f8d09e703c93743a26e3c35823.tar.bz2
nextpnr-a59faa8df0b615f8d09e703c93743a26e3c35823.zip
Add output wires
Diffstat (limited to 'ecp5/arch.cc')
-rw-r--r--ecp5/arch.cc35
1 files changed, 35 insertions, 0 deletions
diff --git a/ecp5/arch.cc b/ecp5/arch.cc
index 31e3e1fa..ec9004c7 100644
--- a/ecp5/arch.cc
+++ b/ecp5/arch.cc
@@ -762,6 +762,41 @@ std::vector<GraphicElement> Arch::getDecalGraphics(DecalId decal) const
el.y2 = el.y1;
ret.push_back(el);
}
+
+
+ if (tilewire >= TILE_WIRE_F7 && tilewire <=TILE_WIRE_F0)
+ {
+ int group = (tilewire - TILE_WIRE_F7) / 4;
+ int part = (tilewire - TILE_WIRE_F7) % 4;
+ GraphicElement el;
+ el.type = GraphicElement::TYPE_LINE;
+ el.style = decal.active ? GraphicElement::STYLE_ACTIVE : GraphicElement::STYLE_INACTIVE;
+ el.x1 = x + slice_x2 + 0.005f;
+ el.x2 = x + slice_x2 + 0.005f + (0.0017f * (7 *(4-group)-part));
+ el.y1 = y + slice_y2 - 0.0017f * (TILE_WIRE_F7_SLICE - TILE_WIRE_DUMMY_100 + 1 + part) + (3 - group )*slice_pitch;
+ el.y2 = el.y1;
+ ret.push_back(el);
+
+ if (part == 0 || part == 3) {
+ GraphicElement el2;
+ el2.type = GraphicElement::TYPE_LINE;
+ el2.style = decal.active ? GraphicElement::STYLE_ACTIVE : GraphicElement::STYLE_INACTIVE;
+ el2.x1 = el.x1;
+ el2.x2 = el.x1;
+ el2.y1 = el.y1;
+ el2.y2 = el.y1 + 0.0017f * (part==3 ? -1 : 1);
+ ret.push_back(el2);
+ }
+
+ el.x1 = el.x2;
+ el.y2 = el.y1 - (0.0017f * (30 *(3-group) + (3-part)*2 + 10));
+ ret.push_back(el);
+
+ el.x1 = x + switchbox_x2;
+ el.y1 = el.y2;
+ ret.push_back(el);
+
+ }
}
if (decal.type == DecalId::TYPE_BEL) {
BelId bel;