Студопедия
Случайная страница | ТОМ-1 | ТОМ-2 | ТОМ-3
АрхитектураБиологияГеографияДругоеИностранные языки
ИнформатикаИсторияКультураЛитератураМатематика
МедицинаМеханикаОбразованиеОхрана трудаПедагогика
ПолитикаПравоПрограммированиеПсихологияРелигия
СоциологияСпортСтроительствоФизикаФилософия
ФинансыХимияЭкологияЭкономикаЭлектроника

Практическая организация записи текстовых данных в файл ОС.

Тема: VHDL проектирование криптографических процессоров с использованием файлового ввода/вывода | FILE_CLOSE (Имя файлового объекта (контейнера)). | Практическая организация ЧТЕНИЕ текстовых ДАННЫХ из ФАЙЛА ОС. | ПримерVHDL проекта оперирующего с файлами ОС | Форматированные операции ввода-вывода (чтения-записи) с символами ASCII. | Процедуры записи данных в файл для стандартных типов данных | Проиллюстрируем примерами методологию применения процедур чтения/записи стандартных типов данных, определенных в пакете TEXTIO библиотеки STD. |


Читайте также:
  1. DFD - диаграмма потоков данных
  2. II. ОРГАНИЗАЦИЯ И ПОРЯДОК ПРОХОЖДЕНИЯ ПРАКТИКИ
  3. II. Организация и порядок работы комиссии по трудовым спорам
  4. II. Организация и порядок работы комиссии по трудовым спорам
  5. II. Организация и порядок работы комиссии по трудовым спорам
  6. IV. Руководство классным коллективом и его организация
  7. VI. Организация и порядок проведения практики

Общая структура процесса записи текстовых данных в файл ОС может быть проиллюстрирована диаграммой Рис.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

mybiblioteka.su - 2015-2024 год. (0.005 сек.)