diff options
author | Miodrag Milanovic <mmicko@gmail.com> | 2019-12-14 09:39:41 +0100 |
---|---|---|
committer | Miodrag Milanovic <mmicko@gmail.com> | 2019-12-14 09:39:41 +0100 |
commit | e118e418e565078971d3e88cc0dac1d6c4a60253 (patch) | |
tree | d31936d0afe7b6b6e76a9dcce44abf88f307d10f | |
parent | ebbfb6375d8be60962922936fc7b7cd9b72a4796 (diff) | |
download | nextpnr-e118e418e565078971d3e88cc0dac1d6c4a60253.tar.gz nextpnr-e118e418e565078971d3e88cc0dac1d6c4a60253.tar.bz2 nextpnr-e118e418e565078971d3e88cc0dac1d6c4a60253.zip |
pips for other type of connection box
-rw-r--r-- | ecp5/gfx.cc | 22 |
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); } } |