From dd2c5942a4c261fc26b16e19280490a2860020fa Mon Sep 17 00:00:00 2001 From: gatecat Date: Mon, 11 Oct 2021 19:35:02 +0100 Subject: [PATCH] clangformat Signed-off-by: gatecat --- mistral/arch.h | 8 +++--- mistral/delay.cc | 63 ++++++++++++++++++++++++++++-------------------- 2 files changed, 42 insertions(+), 29 deletions(-) diff --git a/mistral/arch.h b/mistral/arch.h index 9295692f..4f5e68ae 100644 --- a/mistral/arch.h +++ b/mistral/arch.h @@ -427,10 +427,12 @@ struct Arch : BaseArch ArcBounds getRouteBoundingBox(WireId src, WireId dst) const override; - TimingPortClass getPortTimingClass(const CellInfo *cell, IdString port, int &clockInfoCount) const override; // delay.cc + TimingPortClass getPortTimingClass(const CellInfo *cell, IdString port, + int &clockInfoCount) const override; // delay.cc TimingClockingInfo getPortClockingInfo(const CellInfo *cell, IdString port, int index) const override; // delay.cc - bool getCellDelay(const CellInfo *cell, IdString fromPort, IdString toPort, DelayQuad &delay) const override; // delay.cc - DelayQuad getPipDelay(PipId pip) const override; // delay.cc + bool getCellDelay(const CellInfo *cell, IdString fromPort, IdString toPort, + DelayQuad &delay) const override; // delay.cc + DelayQuad getPipDelay(PipId pip) const override; // delay.cc // ------------------------------------------------- diff --git a/mistral/delay.cc b/mistral/delay.cc index 318ae514..bfaeb065 100644 --- a/mistral/delay.cc +++ b/mistral/delay.cc @@ -23,7 +23,8 @@ NEXTPNR_NAMESPACE_BEGIN TimingPortClass Arch::getPortTimingClass(const CellInfo *cell, IdString port, int &clockInfoCount) const { clockInfoCount = 0; - if (cell->type.in(id_MISTRAL_NOT, id_MISTRAL_BUF, id_MISTRAL_ALUT2, id_MISTRAL_ALUT3, id_MISTRAL_ALUT4, id_MISTRAL_ALUT5, id_MISTRAL_ALUT6)) { + if (cell->type.in(id_MISTRAL_NOT, id_MISTRAL_BUF, id_MISTRAL_ALUT2, id_MISTRAL_ALUT3, id_MISTRAL_ALUT4, + id_MISTRAL_ALUT5, id_MISTRAL_ALUT6)) { if (port.in(id_A, id_B, id_C, id_D, id_E, id_F)) return TMG_COMB_INPUT; if (port == id_Q) @@ -100,39 +101,40 @@ bool Arch::getCellDelay(const CellInfo *cell, IdString fromPort, IdString toPort // - MLABs-as-LABs have different timings to LABs // - speed grades - if (cell->type.in(id_MISTRAL_NOT, id_MISTRAL_BUF, id_MISTRAL_ALUT2, id_MISTRAL_ALUT3, id_MISTRAL_ALUT4, id_MISTRAL_ALUT5, id_MISTRAL_ALUT6)) { + if (cell->type.in(id_MISTRAL_NOT, id_MISTRAL_BUF, id_MISTRAL_ALUT2, id_MISTRAL_ALUT3, id_MISTRAL_ALUT4, + id_MISTRAL_ALUT5, id_MISTRAL_ALUT6)) { if (toPort == id_Q) { if (cell->type == id_MISTRAL_ALUT6 && fromPort == id_A) { delay = DelayQuad{/* RF */ 592, /* RR */ 605, /* FF */ 567, /* FR */ 573}; return true; } else if ((cell->type == id_MISTRAL_ALUT5 && fromPort == id_A) || - (cell->type == id_MISTRAL_ALUT6 && fromPort == id_B)) { + (cell->type == id_MISTRAL_ALUT6 && fromPort == id_B)) { delay = DelayQuad{/* RF */ 580, /* RR */ 583, /* FF */ 560, /* FR */ 574}; return true; } else if ((cell->type == id_MISTRAL_ALUT4 && fromPort == id_A) || - (cell->type == id_MISTRAL_ALUT5 && fromPort == id_B) || - (cell->type == id_MISTRAL_ALUT6 && fromPort == id_C)) { + (cell->type == id_MISTRAL_ALUT5 && fromPort == id_B) || + (cell->type == id_MISTRAL_ALUT6 && fromPort == id_C)) { delay = DelayQuad{/* RR */ 429, /* RF */ 496, /* FR */ 440, /* FF */ 510}; return true; } else if ((cell->type == id_MISTRAL_ALUT3 && fromPort == id_A) || - (cell->type == id_MISTRAL_ALUT4 && fromPort == id_B) || - (cell->type == id_MISTRAL_ALUT5 && fromPort == id_C) || - (cell->type == id_MISTRAL_ALUT6 && fromPort == id_D)) { + (cell->type == id_MISTRAL_ALUT4 && fromPort == id_B) || + (cell->type == id_MISTRAL_ALUT5 && fromPort == id_C) || + (cell->type == id_MISTRAL_ALUT6 && fromPort == id_D)) { delay = DelayQuad{/* RR */ 432, /* RF */ 499, /* FR */ 444, /* FF */ 512}; return true; } else if ((cell->type == id_MISTRAL_ALUT2 && fromPort == id_A) || - (cell->type == id_MISTRAL_ALUT3 && fromPort == id_B) || - (cell->type == id_MISTRAL_ALUT4 && fromPort == id_C) || - (cell->type == id_MISTRAL_ALUT5 && fromPort == id_D) || - (cell->type == id_MISTRAL_ALUT6 && fromPort == id_E)) { + (cell->type == id_MISTRAL_ALUT3 && fromPort == id_B) || + (cell->type == id_MISTRAL_ALUT4 && fromPort == id_C) || + (cell->type == id_MISTRAL_ALUT5 && fromPort == id_D) || + (cell->type == id_MISTRAL_ALUT6 && fromPort == id_E)) { delay = DelayQuad{/* RR */ 263, /* RF */ 354, /* FF */ 362, /* FR */ 400}; return true; } else if ((cell->type.in(id_MISTRAL_NOT, id_MISTRAL_BUF) && fromPort == id_A) || - (cell->type == id_MISTRAL_ALUT2 && fromPort == id_B) || - (cell->type == id_MISTRAL_ALUT3 && fromPort == id_C) || - (cell->type == id_MISTRAL_ALUT4 && fromPort == id_D) || - (cell->type == id_MISTRAL_ALUT5 && fromPort == id_E) || - (cell->type == id_MISTRAL_ALUT6 && fromPort == id_F)) { + (cell->type == id_MISTRAL_ALUT2 && fromPort == id_B) || + (cell->type == id_MISTRAL_ALUT3 && fromPort == id_C) || + (cell->type == id_MISTRAL_ALUT4 && fromPort == id_D) || + (cell->type == id_MISTRAL_ALUT5 && fromPort == id_E) || + (cell->type == id_MISTRAL_ALUT6 && fromPort == id_F)) { delay = DelayQuad{/* RR */ 90, /* RF */ 96, /* FF */ 83, /* FR */ 97}; return true; } @@ -215,15 +217,24 @@ DelayQuad Arch::getPipDelay(PipId pip) const auto dst_type = CycloneV::rn2t(dst.node); switch (dst_type) { - case CycloneV::rnode_type_t::H14: return DelayQuad{254}; - case CycloneV::rnode_type_t::H3: return DelayQuad{214}; - case CycloneV::rnode_type_t::H6: return DelayQuad{298}; - case CycloneV::rnode_type_t::V2: return DelayQuad{210}; - case CycloneV::rnode_type_t::V4: return DelayQuad{262}; - case CycloneV::rnode_type_t::DCMUX: return DelayQuad{0}; - case CycloneV::rnode_type_t::GIN: return DelayQuad{83}; // need to check with Sarayan - case CycloneV::rnode_type_t::GOUT: return DelayQuad{123}; - case CycloneV::rnode_type_t::TCLK: return DelayQuad{46}; + case CycloneV::rnode_type_t::H14: + return DelayQuad{254}; + case CycloneV::rnode_type_t::H3: + return DelayQuad{214}; + case CycloneV::rnode_type_t::H6: + return DelayQuad{298}; + case CycloneV::rnode_type_t::V2: + return DelayQuad{210}; + case CycloneV::rnode_type_t::V4: + return DelayQuad{262}; + case CycloneV::rnode_type_t::DCMUX: + return DelayQuad{0}; + case CycloneV::rnode_type_t::GIN: + return DelayQuad{83}; // need to check with Sarayan + case CycloneV::rnode_type_t::GOUT: + return DelayQuad{123}; + case CycloneV::rnode_type_t::TCLK: + return DelayQuad{46}; } return DelayQuad{308}; }