Looks like grt-waves.adb:Write_Range should also handle
Ghdl_Rtik_Type_B2

Tom

$ ./tb --vcd=x.vcd
-> works

$ ./tb --wave=x.ghw
./tb:internal error: waves.write_range: unhandled kind

use std.textio.all;

entity tb is
end tb;

architecture tb of tb is

  type boolean_vector is array (natural range <>) of boolean;
  function terminate_resolution(s : boolean_vector) return boolean;
  subtype terminate_t is terminate_resolution boolean;

  function terminate_resolution(s : boolean_vector) return boolean is
    variable r : boolean := true;
  begin
    for i in s'range loop
      r := r and s(i);
    end loop;
    return r;
  end terminate_resolution;

  signal x : terminate_t := false;
  
begin

  process
    variable ln : line;
  begin
    loop
      if x then
        exit;
      end if;
      write(ln, string'("x"));
      writeline(output, ln);
      wait for 10 ns;
    end loop;
    write(ln, string'("x end"));
    writeline(output, ln);
    wait;
  end process;

  process
    variable ln : line;
  begin
    x <= false;
    wait for 30 ns;
    x <= true;
    write(ln, string'("finishing 1"));
    writeline(output, ln);
    wait;
  end process;

  process
    variable ln : line;
  begin
    x <= false;
    wait for 60 ns;
    x <= true;
    write(ln, string'("finishing 2"));
    writeline(output, ln);
    wait;
  end process;

end tb;



Reply via email to