Читайте также:
|
|
Общая структура процесса записи текстовых данных в файл ОС может быть проиллюстрирована диаграммой Рис.3.1
Рис.3.1
Проект entity write1_file демонстрирует возможности языка VHDL и САПР Active HDL 5.1 при выполнении операции записи данных в файл. В этом проекте исходные записываемые данные первоначально сохранены в массиве massiv20: string(1 to 20);
library IEEE;
use IEEE.STD_LOGIC_1164.all;
use STD.TEXTIO.all;
entity write1_file_en is
port(
clk: in STD_LOGIC
);
end write1_file_en;
architecture write1_file_ar of write1_file_en is
signal massiv20: string(1 to 20):="!!!SUN IS SHINING!!!";
begin
process(clk)
variable write_vec: string(1 to 20); --Обьявл. Програм. буфера
file vect_wr: TEXT open WRITE_MODE is -- Объявление контейнера
"D:\my_designs_ahdl\Write_file\TextFile2.txt";
begin
if clk'event and clk='1' then
write_vec:=massiv20; --перезапись данных в прогр. буфер
FILE_OPEN(vect_wr,"D:\my_designs_ahdl\Write_file\TextFile2.txt",
WRITE_MODE); --открытие файла
WRITE(vect_wr, write_vec); -- запись данных
end if;
FILE_CLOSE(vect_wr); -- закрытие контейнера
end process;
end write1_file_ar;
Пояснения к отдельным строкам и переменным в описанной программе приведены ниже:
variable write_vec: string(1 to 20); – программный буфер, определяющий объем записываемой в файл информации;
vect_wr – Файловая Переменная (контейнер)
"D:\my_designs_ahdl\Write_file\TextFile2.txt" - полный путь к файлу;
FILE_OPEN() – оператор вызова процедуры открытия файла;
WRITE() - оператор вызова процедуры записи в файл;
FILE_CLOSE() - оператор вызова процедуры закрытия файла.
Важные замечания:
1. Для записи данных в файл ОС, он предварительно должен быть создан пользователем (нужно создать пустой файл);
2. При объявлении файловой переменной (контейнера), а также в операторе вызова процедуры FILE_OPEN()очень желательно указывать полный путь к файлу.
3. Если запись данных производиться не в пустой файл, то старые данные будут уничтожены. Уничтожение старых данных и запись новых данных будет происходить, когда Вы нажмете вкладку с именем файла ОС и подтвердите в появившемся ДО предупреждения кнопкой ОК, что запись новых данных в непустой файл ОС можно произвести
4. Оператор вызова процедуры WRITE()содержит только два фактических аргумента.
Дата добавления: 2015-08-27; просмотров: 55 | Нарушение авторских прав
<== предыдущая страница | | | следующая страница ==> |
Читаем текст из файла! | | | Waveform Editor1 |