draw rest of slice wires and more from switchbox
This commit is contained in:
parent
3e117ce792
commit
0b4ced96ec
55
ecp5/arch.cc
55
ecp5/arch.cc
@ -633,8 +633,6 @@ std::vector<GraphicElement> Arch::getDecalGraphics(DecalId decal) const
|
|||||||
GraphicElement el;
|
GraphicElement el;
|
||||||
el.type = GraphicElement::TYPE_LINE;
|
el.type = GraphicElement::TYPE_LINE;
|
||||||
el.style = decal.active ? GraphicElement::STYLE_ACTIVE : GraphicElement::STYLE_INACTIVE;
|
el.style = decal.active ? GraphicElement::STYLE_ACTIVE : GraphicElement::STYLE_INACTIVE;
|
||||||
int offset = 0;
|
|
||||||
int wire_offset = 0;
|
|
||||||
if (tilewire >= TILE_WIRE_D7_SLICE && tilewire <=TILE_WIRE_CLK0_SLICE)
|
if (tilewire >= TILE_WIRE_D7_SLICE && tilewire <=TILE_WIRE_CLK0_SLICE)
|
||||||
{
|
{
|
||||||
el.x1 = x + slice_x1 - 0.005f;
|
el.x1 = x + slice_x1 - 0.005f;
|
||||||
@ -651,7 +649,58 @@ std::vector<GraphicElement> Arch::getDecalGraphics(DecalId decal) const
|
|||||||
el.y2 = y + slice_y2 - 0.0017f * (tilewire - TILE_WIRE_DUMMY_100 + 1) + 3*slice_pitch;
|
el.y2 = y + slice_y2 - 0.0017f * (tilewire - TILE_WIRE_DUMMY_100 + 1) + 3*slice_pitch;
|
||||||
ret.push_back(el);
|
ret.push_back(el);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
if (tilewire >= TILE_WIRE_FCO && tilewire <=TILE_WIRE_FCI)
|
||||||
|
{
|
||||||
|
GraphicElement el;
|
||||||
|
el.type = GraphicElement::TYPE_LINE;
|
||||||
|
el.style = decal.active ? GraphicElement::STYLE_ACTIVE : GraphicElement::STYLE_INACTIVE;
|
||||||
|
el.x1 = x + switchbox_x2;
|
||||||
|
el.x2 = x + slice_x1 - 0.005f;
|
||||||
|
el.y1 = y + slice_y2 - 0.0017f * (tilewire - TILE_WIRE_LSR1 - 5) + 3*slice_pitch;
|
||||||
|
el.y2 = y + slice_y2 - 0.0017f * (tilewire - TILE_WIRE_LSR1 - 5) + 3*slice_pitch;
|
||||||
|
ret.push_back(el);
|
||||||
|
}
|
||||||
|
if (tilewire >= TILE_WIRE_FCO_SLICE && tilewire <=TILE_WIRE_FCOA_SLICE)
|
||||||
|
{
|
||||||
|
GraphicElement el;
|
||||||
|
el.type = GraphicElement::TYPE_LINE;
|
||||||
|
el.style = decal.active ? GraphicElement::STYLE_ACTIVE : GraphicElement::STYLE_INACTIVE;
|
||||||
|
el.x1 = x + slice_x1 + 0.005f;
|
||||||
|
el.x2 = x + slice_x1 + 0.005f;
|
||||||
|
if (tilewire==TILE_WIRE_FCO_SLICE)
|
||||||
|
el.y1 = y + slice_y2 + 0.0017f + (3-(tilewire - TILE_WIRE_FCO_SLICE))*slice_pitch;
|
||||||
|
else
|
||||||
|
el.y1 = y + slice_y2 + 0.00125f + (3-(tilewire - TILE_WIRE_FCO_SLICE))*slice_pitch;
|
||||||
|
el.y2 = y + slice_y2 + (3-(tilewire - TILE_WIRE_FCO_SLICE))*slice_pitch;
|
||||||
|
ret.push_back(el);
|
||||||
|
if (tilewire==TILE_WIRE_FCO_SLICE) {
|
||||||
|
el.x1 = x + slice_x1 - 0.005f;
|
||||||
|
el.x2 = x + slice_x1 + 0.005f;
|
||||||
|
el.y2 = el.y1;
|
||||||
|
ret.push_back(el);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (tilewire >= TILE_WIRE_FCID_SLICE && tilewire <=TILE_WIRE_FCI_SLICE)
|
||||||
|
{
|
||||||
|
GraphicElement el;
|
||||||
|
el.type = GraphicElement::TYPE_LINE;
|
||||||
|
el.style = decal.active ? GraphicElement::STYLE_ACTIVE : GraphicElement::STYLE_INACTIVE;
|
||||||
|
el.x1 = x + slice_x1 + 0.005f;
|
||||||
|
el.x2 = x + slice_x1 + 0.005f;
|
||||||
|
if (tilewire==TILE_WIRE_FCI_SLICE)
|
||||||
|
el.y1 = y + slice_y1 - 0.0007f + (3-(tilewire - TILE_WIRE_FCID_SLICE))*slice_pitch;
|
||||||
|
else
|
||||||
|
el.y1 = y + slice_y1 - 0.00125f + (3-(tilewire - TILE_WIRE_FCID_SLICE))*slice_pitch;
|
||||||
|
el.y2 = y + slice_y1 + (3-(tilewire - TILE_WIRE_FCID_SLICE))*slice_pitch;
|
||||||
|
ret.push_back(el);
|
||||||
|
if (tilewire==TILE_WIRE_FCI_SLICE) {
|
||||||
|
el.x1 = x + slice_x1 - 0.005f;
|
||||||
|
el.x2 = x + slice_x1 + 0.005f;
|
||||||
|
el.y2 = el.y1;
|
||||||
|
ret.push_back(el);
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
if (decal.type == DecalId::TYPE_BEL) {
|
if (decal.type == DecalId::TYPE_BEL) {
|
||||||
BelId bel;
|
BelId bel;
|
||||||
|
58
ecp5/gfx.h
58
ecp5/gfx.h
@ -144,12 +144,13 @@ enum GfxTileWireId
|
|||||||
TILE_WIRE_CLK0_SLICE,
|
TILE_WIRE_CLK0_SLICE,
|
||||||
|
|
||||||
TILE_WIRE_FCO_SLICE,
|
TILE_WIRE_FCO_SLICE,
|
||||||
TILE_WIRE_FCID_SLICE,
|
|
||||||
TILE_WIRE_FCOC_SLICE,
|
TILE_WIRE_FCOC_SLICE,
|
||||||
TILE_WIRE_FCIC_SLICE,
|
|
||||||
TILE_WIRE_FCOB_SLICE,
|
TILE_WIRE_FCOB_SLICE,
|
||||||
TILE_WIRE_FCIB_SLICE,
|
|
||||||
TILE_WIRE_FCOA_SLICE,
|
TILE_WIRE_FCOA_SLICE,
|
||||||
|
|
||||||
|
TILE_WIRE_FCID_SLICE,
|
||||||
|
TILE_WIRE_FCIC_SLICE,
|
||||||
|
TILE_WIRE_FCIB_SLICE,
|
||||||
TILE_WIRE_FCI_SLICE,
|
TILE_WIRE_FCI_SLICE,
|
||||||
|
|
||||||
TILE_WIRE_DUMMY_100,
|
TILE_WIRE_DUMMY_100,
|
||||||
@ -249,8 +250,8 @@ enum GfxTileWireId
|
|||||||
TILE_WIRE_LSR0,
|
TILE_WIRE_LSR0,
|
||||||
TILE_WIRE_CLK1,
|
TILE_WIRE_CLK1,
|
||||||
TILE_WIRE_CLK0,
|
TILE_WIRE_CLK0,
|
||||||
TILE_WIRE_DUMMY_500,
|
|
||||||
TILE_WIRE_FCO,
|
TILE_WIRE_FCO,
|
||||||
|
TILE_WIRE_DUMMY_500,
|
||||||
TILE_WIRE_D7,
|
TILE_WIRE_D7,
|
||||||
TILE_WIRE_C7,
|
TILE_WIRE_C7,
|
||||||
TILE_WIRE_B7,
|
TILE_WIRE_B7,
|
||||||
@ -295,7 +296,56 @@ enum GfxTileWireId
|
|||||||
TILE_WIRE_DUMMY_510,
|
TILE_WIRE_DUMMY_510,
|
||||||
TILE_WIRE_DUMMY_511,
|
TILE_WIRE_DUMMY_511,
|
||||||
|
|
||||||
|
TILE_WIRE_DUMMY_512,
|
||||||
|
TILE_WIRE_DUMMY_513,
|
||||||
|
TILE_WIRE_DUMMY_514,
|
||||||
|
|
||||||
|
TILE_WIRE_D3,
|
||||||
|
TILE_WIRE_C3,
|
||||||
|
TILE_WIRE_B3,
|
||||||
|
TILE_WIRE_A3,
|
||||||
|
TILE_WIRE_D2,
|
||||||
|
TILE_WIRE_C2,
|
||||||
|
TILE_WIRE_B2,
|
||||||
|
TILE_WIRE_A2,
|
||||||
|
TILE_WIRE_DI3,
|
||||||
|
TILE_WIRE_DI2,
|
||||||
|
TILE_WIRE_M3,
|
||||||
|
TILE_WIRE_M2,
|
||||||
|
TILE_WIRE_FXBB,
|
||||||
|
TILE_WIRE_FXAB,
|
||||||
|
TILE_WIRE_DUMMY_515,
|
||||||
|
TILE_WIRE_DUMMY_516,
|
||||||
|
TILE_WIRE_CE1,
|
||||||
|
TILE_WIRE_DUMMY_517,
|
||||||
|
TILE_WIRE_DUMMY_518,
|
||||||
|
|
||||||
|
TILE_WIRE_DUMMY_519,
|
||||||
|
TILE_WIRE_DUMMY_520,
|
||||||
|
TILE_WIRE_DUMMY_521,
|
||||||
|
|
||||||
|
TILE_WIRE_D1,
|
||||||
|
TILE_WIRE_C1,
|
||||||
|
TILE_WIRE_B1,
|
||||||
|
TILE_WIRE_A1,
|
||||||
|
TILE_WIRE_D0,
|
||||||
|
TILE_WIRE_C0,
|
||||||
|
TILE_WIRE_B0,
|
||||||
|
TILE_WIRE_A0,
|
||||||
|
TILE_WIRE_DI1,
|
||||||
|
TILE_WIRE_DI0,
|
||||||
|
TILE_WIRE_M1,
|
||||||
|
TILE_WIRE_M0,
|
||||||
|
TILE_WIRE_FXBA,
|
||||||
|
TILE_WIRE_FXAA,
|
||||||
|
TILE_WIRE_DUMMY_522,
|
||||||
|
TILE_WIRE_DUMMY_523,
|
||||||
|
TILE_WIRE_CE0,
|
||||||
|
TILE_WIRE_DUMMY_524,
|
||||||
|
TILE_WIRE_DUMMY_525,
|
||||||
|
|
||||||
|
TILE_WIRE_DUMMY_526,
|
||||||
|
TILE_WIRE_FCI,
|
||||||
};
|
};
|
||||||
|
|
||||||
NEXTPNR_NAMESPACE_END
|
NEXTPNR_NAMESPACE_END
|
||||||
|
Loading…
Reference in New Issue
Block a user