
use warnings;
use strict;
use diagnostics;
use Data::Dumper;

use Verilog::Readmem qw(parse_readmem);

# Read memory file into Array-Of-Arrays data structure:
my $mem_ref = parse_readmem({filename => 'ex1.hex'});

my @mem = @$mem_ref;

my $num_blocks = scalar @mem;
print "num_blocks = $num_blocks\n";

# It is typical to have only one data block.
# Sum up all data values.
if ($num_blocks == 1) {
    my ($addr, @data) = @{$mem[0]};
    my $sum = 0;
    for (@data) { $sum += $_ }
    print "addr = $addr, data sum = $sum\n";
}

print Dumper($mem_ref);
 
