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

ПримерVHDL проекта оперирующего с файлами ОС

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


Читайте также:
  1. IV. МЕТОДИЧЕСКАЯ ЧАСТЬ ПРОЕКТА
  2. IV. МЕТОДИЧЕСКАЯ ЧАСТЬ ПРОЕКТА
  3. Oslash; Главный инженер проекта, начальник отдела теплогазоснабжения и вентиляции Нохрин Сергей Викторович
  4. V. ПРОИЗВОДСТВЕННАЯ ЧАСТЬ ПРОЕКТА
  5. V. ПРОИЗВОДСТВЕННАЯ ЧАСТЬ ПРОЕКТА
  6. Актуальность проекта.
  7. В заключении должна быть сформулирована тема дипломного проекта.

library IEEE;

use IEEE.STD_LOGIC_1164.all;

use IEEE.NUMERIC_STD.all;

library STD;

use STD.textio.all;

use work.converters.all;

entity mem2 is

port(

clk: in STD_LOGIC;

r: in STD_LOGIC;

w: in STD_LOGIC;

addr: in natural;

datai: in STD_LOGIC_VECTOR(7 downto 0);

load_mem: in STD_LOGIC;

store_mem: in STD_LOGIC;

datao: out STD_LOGIC_VECTOR(7 downto 0)

);

end mem2;

 

architecture mem2_a of mem2 is

type mem_array is array(0 to 3) of STD_LOGIC_VECTOR(7 downto 0);

signal mem_arr: mem_array;

begin

mem_from_file: process(clk) – чтение текст.данных из файла и конвертир.

file vectors_kont_r: text open READ_MODE is "C:\Program Files\Aldec\shem_mem1\src\load6.txt";

 

variable buf_prog_r: string(1 to 4);

variable control_read: natural;

 

begin

if clk'event and clk = '1' and load_mem = '1' and r ='0' then

 

FILE_OPEN(vectors_kont_r, "C:\Program Files\Aldec\shem_mem1\src\load6.txt", READ_MODE);

 

READ(vectors_kont_r, buf_prog_r, control_read);

for i in 0 to 3 loop

mem_arr(i) <= conv8(character'POS(buf_prog_r(i+1)));

end loop;

else

if clk'event and clk ='1' and load_mem = '0' and r ='0' then

 

mem_arr(addr) <= datai;

 

end if;

end if;

FILE_CLOSE(vectors_kont_r);

end process mem_from_file_or_bus;

 

 

char_file_load5: process(w) – запись текст. Данных в файл с предварит. Конвертир.

 

file vectors_kont_w:TEXT open WRITE_MODE is "C:\Program Files\Aldec\shem_mem2\src\load5.dat";

 

variable buf_prog_w: string (1 to 4);

begin

FILE_OPEN(vectors_kont_w, "C:\Program Files\Aldec\shem_mem2\src\load5.dat", WRITE_MODE);

if w'event and w = '1' then

for i in 0 to 3 loop

buf_prog_w(i+1):= conv(mem_arr(i)); --конверт.

end loop;

WRITE(vectors_kont_w, buf_prog_w);

end if;

FILE_CLOSE(vectors_kont_w);

 

end process int_picture_mem_file_load5;

 

 

read_mem: process(clk) –пересылка данных из массива на выход. порт

begin

if r = '0' and clk'event then

datao <= "ZZZZZZZZ";

end if;

if r = '1' and clk'event then

datao <= mem_arr(addr);

end if;

end process read_mem;

end mem2_a;

 

 

Временная диаграмма работы проекта показана на Рис.5.1

 

Рис.5.1

 



Дата добавления: 2015-08-27; просмотров: 52 | Нарушение авторских прав


<== предыдущая страница | следующая страница ==>
Waveform Editor1| Форматированные операции ввода-вывода (чтения-записи) с символами ASCII.

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