M
Magne Munkejord
Pete said:I'm trying to dump eight hex values per line
into a file, and can't work out how to do it.
for index in 0 to 127 loop
for sample_sel in 0 to 7 loop
sample_val := integer(scale * sin(phase(sample_sel)));
write ( sample_line, sample_val, RIGHT, 10);
phase(sample_sel) := phase(sample_sel) + phase_inc(sample_sel);
end loop;
writeline ( ip_dat, sample_line );
end loop;
does what I want, but with decimal values.
If I change to:
hwrite ( sample_line, sample_val, RIGHT, 10);
or:
write ( sample_line, to_hstring(sample_val), RIGHT, 10);
it doesn't compile.
Any thoughts?
Thanks
Pete
From my experiences from modelsim :
* hwrite works on std_logic_vector but requires the vector to be of
"even length", that is the length must be a multiple of 4.
* to_hstring doesn't work for std_logic_vector, you'll have to convert
it to a bit_vector first.
In your case I would try using
hwrite(sample_line, std_logic_vector(to_unsigned(sample_val, <length>)));
replace <length> with a valid length for your vector: 4,8,12,16... etc.
(remember to add : use ieee.numeric_std.all
Magne