aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMiodrag Milanovic <mmicko@gmail.com>2019-12-14 09:39:41 +0100
committerMiodrag Milanovic <mmicko@gmail.com>2019-12-14 09:39:41 +0100
commite118e418e565078971d3e88cc0dac1d6c4a60253 (patch)
treed31936d0afe7b6b6e76a9dcce44abf88f307d10f
parentebbfb6375d8be60962922936fc7b7cd9b72a4796 (diff)
downloadnextpnr-e118e418e565078971d3e88cc0dac1d6c4a60253.tar.gz
nextpnr-e118e418e565078971d3e88cc0dac1d6c4a60253.tar.bz2
nextpnr-e118e418e565078971d3e88cc0dac1d6c4a60253.zip
pips for other type of connection box
-rw-r--r--ecp5/gfx.cc22
1 files changed, 17 insertions, 5 deletions
diff --git a/ecp5/gfx.cc b/ecp5/gfx.cc
index 9f69cada..f0dabb6d 100644
--- a/ecp5/gfx.cc
+++ b/ecp5/gfx.cc
@@ -827,6 +827,10 @@ void setDestination(GraphicElement &el, int x, int y, WireId dst, IdString dst_t
el.x2 = x + switchbox_x2;
el.y2 = y + slice_y2 - 0.0017f * (dst_id - TILE_WIRE_FCO + 1 + gap * 2) + 3 * slice_pitch;
}
+ if (dst_id >= TILE_WIRE_JCE0 && dst_id <= TILE_WIRE_JQ7) {
+ el.x2 = x + switchbox_x2;
+ el.y2 = y + slice_y2 - 0.0017f * (dst_id - TILE_WIRE_JCE0 + 1) + 3 * slice_pitch;
+ }
}
}
@@ -1097,25 +1101,33 @@ void gfxTilePip(std::vector<GraphicElement> &g, int x, int y, int w, int h, Wire
(dst_id >= TILE_WIRE_FCO && dst_id <= TILE_WIRE_FCI)) {
toSameSideH1Ver(g, el, x, y, src, src_type, src_id, dst, dst_type, dst_id, style, dst_id - TILE_WIRE_FCO);
}
+ if (src_type == id_WIRE_TYPE_H00 && dst_type == id_WIRE_TYPE_NONE &&
+ (dst_id >= TILE_WIRE_JCE0 && dst_id <= TILE_WIRE_JQ7)) {
+ toSameSideH1Ver(g, el, x, y, src, src_type, src_id, dst, dst_type, dst_id, style , dst_id - TILE_WIRE_JCE0);
+ }
if (src_type == id_WIRE_TYPE_H01 && dst_type == id_WIRE_TYPE_NONE &&
(dst_id >= TILE_WIRE_FCO && dst_id <= TILE_WIRE_FCI)) {
toSameSideH1Ver(g, el, x, y, src, src_type, src_id, dst, dst_type, dst_id, style, dst_id - TILE_WIRE_FCO);
}
+ if (src_type == id_WIRE_TYPE_H01 && dst_type == id_WIRE_TYPE_NONE &&
+ (dst_id >= TILE_WIRE_JCE0 && dst_id <= TILE_WIRE_JQ7)) {
+ toSameSideH1Ver(g, el, x, y, src, src_type, src_id, dst, dst_type, dst_id,style, dst_id - TILE_WIRE_JCE0);
+ }
+
if (src_type == id_WIRE_TYPE_H02 && dst_type == id_WIRE_TYPE_NONE &&
- (dst_id >= TILE_WIRE_FCO && dst_id <= TILE_WIRE_FCI)) {
+ ((dst_id >= TILE_WIRE_FCO && dst_id <= TILE_WIRE_FCI) || (dst_id >= TILE_WIRE_JCE0 && dst_id <= TILE_WIRE_JQ7))) {
straightLine(g, el, x, y, src, src_type, src_id, dst, dst_type, dst_id);
}
-
if (src_type == id_WIRE_TYPE_V00 && dst_type == id_WIRE_TYPE_NONE &&
- (dst_id >= TILE_WIRE_FCO && dst_id <= TILE_WIRE_FCI)) {
+ ((dst_id >= TILE_WIRE_FCO && dst_id <= TILE_WIRE_FCI) || (dst_id >= TILE_WIRE_JCE0 && dst_id <= TILE_WIRE_JQ7))) {
straightLine(g, el, x, y, src, src_type, src_id, dst, dst_type, dst_id);
}
if (src_type == id_WIRE_TYPE_V01 && dst_type == id_WIRE_TYPE_NONE &&
- (dst_id >= TILE_WIRE_FCO && dst_id <= TILE_WIRE_FCI)) {
+ ((dst_id >= TILE_WIRE_FCO && dst_id <= TILE_WIRE_FCI) || (dst_id >= TILE_WIRE_JCE0 && dst_id <= TILE_WIRE_JQ7))) {
straightLine(g, el, x, y, src, src_type, src_id, dst, dst_type, dst_id);
}
if (src_type == id_WIRE_TYPE_V02 && dst_type == id_WIRE_TYPE_NONE &&
- (dst_id >= TILE_WIRE_FCO && dst_id <= TILE_WIRE_FCI)) {
+ ((dst_id >= TILE_WIRE_FCO && dst_id <= TILE_WIRE_FCI) || (dst_id >= TILE_WIRE_JCE0 && dst_id <= TILE_WIRE_JQ7))) {
straightLine(g, el, x, y, src, src_type, src_id, dst, dst_type, dst_id);
}
}