Читайте также:
|
|
-- changed for vhdl92 syntax (and now a built-in):
---------------------------------------------------------------------------
procedure WRITELINE(file f: TEXT; L: inout LINE); --возвращает указатель на строку
procedure WRITE(L: inout LINE; VALUE: in bit;
JUSTIFIED: in SIDE:= right;
FIELD: in WIDTH:= 0);
procedure WRITE(L: inout LINE; VALUE: in bit_vector;
JUSTIFIED: in SIDE:= right;
FIELD: in WIDTH:= 0);
procedure WRITE(L: inout LINE; VALUE: in BOOLEAN;
JUSTIFIED: in SIDE:= right;
FIELD: in WIDTH:= 0);
procedure WRITE(L: inout LINE; VALUE: in character;
JUSTIFIED: in SIDE:= right;
FIELD: in WIDTH:= 0);
procedure WRITE(L: inout LINE; VALUE: in integer;
JUSTIFIED: in SIDE:= right;
FIELD: in WIDTH:= 0);
procedure WRITE(L: inout LINE; VALUE: in real;
JUSTIFIED: in SIDE:= right; -- по умолчанию прижатие числа вправо
FIELD: in WIDTH:= 0; -- ширина поля выделяемого под число
DIGITS: in NATURAL:= 0); -- число позиций после десятичной точки. При
--значении DIGITS=0 число записывается в
--экспоненциальной форме. При этом каждое
--число занимает 13 позиций.
procedure WRITE(L: inout LINE; VALUE: in string;
JUSTIFIED: in SIDE:= right;
FIELD: in WIDTH:= 0);
procedure WRITE(L: inout LINE; VALUE: in time;
JUSTIFIED: in SIDE:= right;
FIELD: in WIDTH:= 0;
UNIT: in TIME:= ns);
-- Процедуры обработки позиции маркера в файле
-- is implicit built-in:
----------------------------------------------------------------------------------
function ENDFILE(file F: TEXT) return boolean;
function ENDLINE(variable L: in LINE) return BOOLEAN;
-- Function ENDLINE as declared cannot be legal VHDL, and
-- the entire function was deleted from the definition
-- by the Issues Screening and Analysis Committee (ISAC),
-- a subcommittee of the VHDL Analysis and Standardization
-- Group (VASG) on 10 November, 1988. See "The Sense of
-- the VASG", October, 1989, VHDL Issue Number 0032.
end;
Внимание!!!!Все эти подпрограммы-процедуры Write()/Read() (за исключением оперирующих с типом string) осуществляют запись/чтение поэлементно. Поэтому для записи/чтения в/из файл/(а) массива они должны располагаться в теле цикла. Кроме того, для своей работы они требуют наличия указателя на строку файла. Указатель на строку генерируется подпрограммами процедурами procedure WRITELINE(file f: TEXT; L: inout LINE); и procedure READLINE(file f: TEXT; L: out LINE);. Следовательно, подпрограммы-процедуры Write()/Read() должны использоваться в паре с подпрограммами процедурами WRITELINE() / READLINE().!!!!!
Примечание: Библиотека IEEE также содержит в своем составе пакет STD_LOGIC_TEXIO. В этом пакете объявлены и определены процедуры чтения/записи данных типов std_ulogic_vector, std_logic_vector для разных систем счисления.
Дата добавления: 2015-08-27; просмотров: 43 | Нарушение авторских прав
<== предыдущая страница | | | следующая страница ==> |
Форматированные операции ввода-вывода (чтения-записи) с символами ASCII. | | | Проиллюстрируем примерами методологию применения процедур чтения/записи стандартных типов данных, определенных в пакете TEXTIO библиотеки STD. |