From d479af29cfcd84ce933a06fcae6a4a17d4030b51 Mon Sep 17 00:00:00 2001 From: Jakub Janeczko Date: Thu, 23 Jul 2026 19:00:03 +0200 Subject: [PATCH] cleaner assign with transparency --- backends/verilog/verilog_backend.cc | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/backends/verilog/verilog_backend.cc b/backends/verilog/verilog_backend.cc index bd7471c39..ffd2f09ae 100644 --- a/backends/verilog/verilog_backend.cc +++ b/backends/verilog/verilog_backend.cc @@ -855,6 +855,14 @@ void dump_memory(std::ostream &f, std::string indent, Mem &mem) os << temp_id; os << ";\n"; clk_to_lof_body[""].push_back(os.str()); + } else if (bypass_part_width == 1) { + std::ostringstream os; + os << "assign "; + dump_sigspec(os, port.data); + os << " = "; + os << stringf("(%s & %s) | (~%s & %s)", bypass_valid_id, bypass_data_id, bypass_valid_id, temp_id); + os << ";\n"; + clk_to_lof_body[""].push_back(os.str()); } else { for (int sub = 0; sub < bypass_valid_width; sub++) { int seg_beg = sub * bypass_part_width;