From 2f11dc87c987f734009d8171c5f15dc12f85061e Mon Sep 17 00:00:00 2001 From: Robin Ole Heinemann Date: Thu, 30 Jan 2025 10:15:53 +0100 Subject: [PATCH] write_verilog: emit $check cell names as labels --- backends/verilog/verilog_backend.cc | 15 ++++++++++----- 1 file changed, 10 insertions(+), 5 deletions(-) diff --git a/backends/verilog/verilog_backend.cc b/backends/verilog/verilog_backend.cc index fa9100635..419f484fa 100644 --- a/backends/verilog/verilog_backend.cc +++ b/backends/verilog/verilog_backend.cc @@ -1044,16 +1044,21 @@ void dump_cell_expr_print(std::ostream &f, std::string indent, const RTLIL::Cell void dump_cell_expr_check(std::ostream &f, std::string indent, const RTLIL::Cell *cell) { std::string flavor = cell->getParam(ID(FLAVOR)).decode_string(); + std::string label = ""; + if (cell->name.isPublic()) { + label = stringf("%s: ", id(cell->name).c_str()); + } + if (flavor == "assert") - f << stringf("%s" "assert (", indent.c_str()); + f << stringf("%s" "%s" "assert (", indent.c_str(), label.c_str()); else if (flavor == "assume") - f << stringf("%s" "assume (", indent.c_str()); + f << stringf("%s" "%s" "assume (", indent.c_str(), label.c_str()); else if (flavor == "live") - f << stringf("%s" "assert (eventually ", indent.c_str()); + f << stringf("%s" "%s" "assert (eventually ", indent.c_str(), label.c_str()); else if (flavor == "fair") - f << stringf("%s" "assume (eventually ", indent.c_str()); + f << stringf("%s" "%s" "assume (eventually ", indent.c_str(), label.c_str()); else if (flavor == "cover") - f << stringf("%s" "cover (", indent.c_str()); + f << stringf("%s" "%s" "cover (", indent.c_str(), label.c_str()); dump_sigspec(f, cell->getPort(ID::A)); f << stringf(");\n"); }