From 99f5836b0ed2d988855930085fc78476f732362f Mon Sep 17 00:00:00 2001 From: Eddie Hung Date: Sat, 10 Nov 2018 19:55:22 -0800 Subject: [PATCH] Add some cell delays --- xc7/arch.cc | 18 ++++++++++++++++-- 1 file changed, 16 insertions(+), 2 deletions(-) diff --git a/xc7/arch.cc b/xc7/arch.cc index fbfe5fdf..7600e3a1 100644 --- a/xc7/arch.cc +++ b/xc7/arch.cc @@ -963,8 +963,22 @@ std::vector Arch::getDecalGraphics(DecalId decal) const bool Arch::getCellDelay(const CellInfo *cell, IdString fromPort, IdString toPort, DelayInfo &delay) const { if (cell->type == id_SLICE_LUT6) { - if (fromPort.index >= id_I1.index && fromPort.index <= id_I6.index) - return toPort == id_O || toPort == id_OQ; + if (fromPort.index >= id_I1.index && fromPort.index <= id_I6.index) { + if (toPort == id_O) { + delay.delay = 124; // Tilo + return true; + } + if (toPort == id_OQ) { + delay.delay = 95; // Tas + return true; + } + } + if (fromPort == id_CLK) { + if (toPort == id_OQ) { + delay.delay = 456; // Tcko + return false; // No path CLK->OQ, but this fn is used for getting clkToQ delay + } + } } else if (cell->type == id_BUFGCTRL) { return true; }