nexus: Added FASM feature emission for DCC and port timing class info
Signed-off-by: Maciej Kurc <mkurc@antmicro.com>
This commit is contained in:
parent
6ed625be8e
commit
1cc71c7846
@ -546,6 +546,14 @@ TimingPortClass Arch::getPortTimingClass(const CellInfo *cell, IdString port, in
|
|||||||
if (type == TMG_REGISTER_INPUT || type == TMG_REGISTER_OUTPUT)
|
if (type == TMG_REGISTER_INPUT || type == TMG_REGISTER_OUTPUT)
|
||||||
clockInfoCount = 1;
|
clockInfoCount = 1;
|
||||||
return type;
|
return type;
|
||||||
|
} else if (cell->type == id_DCC) {
|
||||||
|
if (port == id_CLKI)
|
||||||
|
return TMG_CLOCK_INPUT;
|
||||||
|
else if (port == id_CLKO)
|
||||||
|
return TMG_GEN_CLOCK;
|
||||||
|
else if (port == id_CE)
|
||||||
|
return TMG_COMB_INPUT;
|
||||||
|
return TMG_IGNORE;
|
||||||
}
|
}
|
||||||
return TMG_IGNORE;
|
return TMG_IGNORE;
|
||||||
}
|
}
|
||||||
|
@ -526,6 +526,16 @@ struct NexusFasmWriter
|
|||||||
write_cell_muxes(cell);
|
write_cell_muxes(cell);
|
||||||
pop(2);
|
pop(2);
|
||||||
}
|
}
|
||||||
|
// Write config for DCC
|
||||||
|
void write_dcc(const CellInfo *cell)
|
||||||
|
{
|
||||||
|
BelId bel = cell->bel;
|
||||||
|
push_tile(bel.tile);
|
||||||
|
push_belname(bel);
|
||||||
|
write_bit("DCCEN.1"); // Explicit DCC cell implies a clock buffer
|
||||||
|
write_cell_muxes(cell);
|
||||||
|
pop(2);
|
||||||
|
}
|
||||||
// Write config for an OXIDE_EBR cell
|
// Write config for an OXIDE_EBR cell
|
||||||
void write_bram(const CellInfo *cell)
|
void write_bram(const CellInfo *cell)
|
||||||
{
|
{
|
||||||
@ -927,6 +937,8 @@ struct NexusFasmWriter
|
|||||||
write_dphy(ci);
|
write_dphy(ci);
|
||||||
else if (ci->type == id_IOLOGIC || ci->type == id_SIOLOGIC)
|
else if (ci->type == id_IOLOGIC || ci->type == id_SIOLOGIC)
|
||||||
write_iol(ci);
|
write_iol(ci);
|
||||||
|
else if (ci->type == id_DCC)
|
||||||
|
write_dcc(ci);
|
||||||
blank();
|
blank();
|
||||||
}
|
}
|
||||||
// Handle DCC route-throughs
|
// Handle DCC route-throughs
|
||||||
|
Loading…
Reference in New Issue
Block a user