From f4d8a25fb74a15da76359c5737098a7fd83e193c Mon Sep 17 00:00:00 2001 From: David Shah Date: Sun, 27 Jan 2019 14:43:10 +0000 Subject: ice40: Add budget override for CO->I3 path Signed-off-by: David Shah --- ice40/arch.cc | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) (limited to 'ice40/arch.cc') diff --git a/ice40/arch.cc b/ice40/arch.cc index 04c70e94..46faafc4 100644 --- a/ice40/arch.cc +++ b/ice40/arch.cc @@ -621,6 +621,29 @@ bool Arch::getBudgetOverride(const NetInfo *net_info, const PortRef &sink, delay } } return true; + } else if (driver.port == id_COUT && sink.port == id_I3) { + bool same_y = driver.cell->constr_abs_z && driver.cell->constr_z < 7; + switch (args.type) { +#ifndef ICE40_HX1K_ONLY + case ArchArgs::HX8K: +#endif + case ArchArgs::HX1K: + budget = same_y ? 260 : 560; + break; +#ifndef ICE40_HX1K_ONLY + case ArchArgs::LP384: + case ArchArgs::LP1K: + case ArchArgs::LP8K: + budget = same_y ? 380 : 670; + break; + case ArchArgs::UP5K: + budget = same_y ? 660 : 1220; + break; +#endif + default: + log_error("Unsupported iCE40 chip type.\n"); + } + return true; } return false; } -- cgit v1.2.3