From e45508f6c41273830312a5b88c5e25f266dc67ae Mon Sep 17 00:00:00 2001 From: David Shah Date: Wed, 20 Jun 2018 15:15:51 +0200 Subject: Improving timing annotator Signed-off-by: David Shah --- ice40/main.cc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'ice40') diff --git a/ice40/main.cc b/ice40/main.cc index ea7c9a66..13d8ac0b 100644 --- a/ice40/main.cc +++ b/ice40/main.cc @@ -273,7 +273,7 @@ int main(int argc, char *argv[]) if (!pack_design(&ctx) && !ctx.force) log_error("Packing design failed.\n"); - assign_budget(&ctx); + assign_budget(&ctx, 50e6); print_utilisation(&ctx); if (!vm.count("pack-only")) { -- cgit v1.2.3 From 4fc962504028f581cc1db9ada5770900d8dacae2 Mon Sep 17 00:00:00 2001 From: David Shah Date: Wed, 20 Jun 2018 17:08:57 +0200 Subject: WIP: adding timing budget to placer Signed-off-by: David Shah --- ice40/arch.cc | 2 +- ice40/main.cc | 12 ++++++++++-- 2 files changed, 11 insertions(+), 3 deletions(-) (limited to 'ice40') diff --git a/ice40/arch.cc b/ice40/arch.cc index fd93a91d..d7673dd0 100644 --- a/ice40/arch.cc +++ b/ice40/arch.cc @@ -313,7 +313,7 @@ delay_t Arch::estimateDelay(WireId src, WireId dst) const delay_t x2 = chip_info->wire_data[dst.index].x; delay_t y2 = chip_info->wire_data[dst.index].y; - return fabsf(x1 - x2) + fabsf(y1 - y2); + return delay_t(50 * (fabsf(x1 - x2) + fabsf(y1 - y2))); } // ----------------------------------------------------------------------- diff --git a/ice40/main.cc b/ice40/main.cc index 13d8ac0b..d83018ef 100644 --- a/ice40/main.cc +++ b/ice40/main.cc @@ -224,8 +224,16 @@ int main(int argc, char *argv[]) if (vm.count("tmfuzz")) { std::vector src_wires, dst_wires; - for (auto w : ctx.getWires()) - src_wires.push_back(w); + /*for (auto w : ctx.getWires()) + src_wires.push_back(w);*/ + for (auto b : ctx.getBels()) { + if (ctx.getBelType(b) == TYPE_ICESTORM_LC) { + src_wires.push_back(ctx.getWireBelPin(b, PIN_O)); + } + if (ctx.getBelType(b) == TYPE_SB_IO) { + src_wires.push_back(ctx.getWireBelPin(b, PIN_D_IN_0)); + } + } for (auto b : ctx.getBels()) { if (ctx.getBelType(b) == TYPE_ICESTORM_LC) { -- cgit v1.2.3