From 2c790e52cd2ebe5494051761c247e2f31f810c5a Mon Sep 17 00:00:00 2001 From: Akash Levy Date: Wed, 24 Jun 2026 17:21:10 -0700 Subject: [PATCH] Large mem fix with long long --- frontends/verific/verific.cc | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/frontends/verific/verific.cc b/frontends/verific/verific.cc index bd3ad0152..8cdb36b52 100644 --- a/frontends/verific/verific.cc +++ b/frontends/verific/verific.cc @@ -1822,8 +1822,8 @@ void VerificImporter::import_netlist(RTLIL::Design *design, Netlist *nl, std::ma module->memories[memory->name] = memory; import_attributes(memory->attributes, net, nl); - int number_of_bits = net->Size(); - int min_bits_in_word = number_of_bits; + long long number_of_bits = net->Size(); + long long min_bits_in_word = number_of_bits; int max_bits_in_addr = 0; // get the size of each memory access @@ -1844,9 +1844,9 @@ void VerificImporter::import_netlist(RTLIL::Design *design, Netlist *nl, std::ma } } - int number_of_words = number_of_bits / min_bits_in_word; + long long number_of_words = number_of_bits / min_bits_in_word; - memory->width = min_bits_in_word; + memory->width = (int)min_bits_in_word; memory->size = 0; memory->start_offset = INT_MAX; @@ -1872,14 +1872,14 @@ void VerificImporter::import_netlist(RTLIL::Design *design, Netlist *nl, std::ma // sanity check we haven't shrunk the memory if (memory->size < number_of_words) - log_error("Expected memory of size %d words, but got %d for address range %d to %d (inclusive)\n", number_of_words, memory->size, min_idx, max_idx); + log_error("Expected memory of size %lld words, but got %d for address range %d to %d (inclusive)\n", (long long)number_of_words, memory->size, min_idx, max_idx); // warn on oversize memories // TODO consider using a minimum ratio? if (memory->size > number_of_words) { float ratio = memory->size / (float)number_of_words; log_warning("RAM for identifier '%s' may be up to %.0f%% oversize due to addressing\n", net->Name(), (ratio-1)*100); - log_debug("Expected memory of size %d words, but got %d for address range %d to %d (inclusive)\n", number_of_words, memory->size, min_idx, max_idx); + log_debug("Expected memory of size %lld words, but got %d for address range %d to %d (inclusive)\n", (long long)number_of_words, memory->size, min_idx, max_idx); } continue; }