Я хотел бы записать целое число (переменное число) в файл (write.txt). Вот мой код, но, очевидно, он не работает. Любое предложение?
library IEEE;
use IEEE.STD_LOGIC_1164.ALL;
use IEEE.MATH_REAL.ALL;
library std;
use std.textio.all;
entity file_handle is
end file_handle;
architecture Behavioral of file_handle is
begin
process
variable line_var : line;
file text_var : text;
variable num : integer := 40;
begin
file_open(text_var,"C:\Users\Tommy\Desktop\write.txt", write_mode);
write(line_var, num); -- write num into line_var
writeline(text_var, line_var); -- write line_var into the file
file_close(text_var);
end process;
end Behavioral;
После запуска синтеза, если я открою файл write.txt, я прочитаю b000000000000000000000000000101000. Кажется, адрес или что-то еще. Я ожидал прочитать 40.
wait;
послеfile_close(text_var);
. После этого, закомментировав ненужный контекст (use IEEE.MATH_REAL.ALL; library std;
) и изменив путь к файлу, ваша программа создаст файл write.txt, содержащий строку 40. IEEE Std 1076-2008 5.7 Строковое представление Для заданного значения целочисленного типа строковое представление представляет собой последовательность символов абстрактного литерала без точки, значением которой является заданное значение. b000.. . не соответствует формату абстрактных литералов (15.5 абстрактных литералов). Какой инструмент VHDL? - person   schedule 20.09.2015b00000000000000000000000000101000
= 2^3 + 2^5 = 8 + 32 = ... Существуют ли перегрузки дляwrite
, позволяющие указать числовую базу? - person user_1818839   schedule 22.09.2015