From b6a9d78507ff4e98c162fef7a1e9094af5095bdf Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Martin=20Povi=C5=A1er?= Date: Tue, 11 Mar 2025 17:02:36 +0100 Subject: [PATCH] ql_dsp: Add `-nocascade` --- techlibs/quicklogic/ql_dsp.cc | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/techlibs/quicklogic/ql_dsp.cc b/techlibs/quicklogic/ql_dsp.cc index 3e19b6c9d..02f7b3d4e 100644 --- a/techlibs/quicklogic/ql_dsp.cc +++ b/techlibs/quicklogic/ql_dsp.cc @@ -86,6 +86,9 @@ struct QlDspPass : Pass { log("This pass packs input and output path registers into QuickLogic DSP blocks,\n"); log("additionally it supports Z path cascading and post-adder packing.\n"); log("\n"); + log(" -nocascade\n"); + log(" forbid cascading\n"); + log("\n"); } @@ -93,8 +96,13 @@ struct QlDspPass : Pass { { log_header(d, "Executing QL_DSP pass. (pack into QuickLogic DSPs)\n"); + bool nocascade = false; size_t argidx; for (argidx = 1; argidx < args.size(); argidx++) { + if (args[argidx] == "-nocascade") { + nocascade = true; + continue; + } break; } extra_args(args, argidx, d); @@ -110,7 +118,7 @@ struct QlDspPass : Pass { ql_dsp_pm pm(module, module->selected_cells()); pm.run_ql_dsp_pack_regs(); } - { + if (!nocascade) { ql_dsp_pm pm(module, module->selected_cells()); pm.run_ql_dsp_cascade(); }