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;