СПРАВОЧНИК ПО ЯЗЫКУ VHDL



ОБьЯВЛЕНИЯ МАССИВОВ


В обьявление типа для неограниченного массива(unconstrained) задается число индексов, тип и позиция каждого индекса, а также тип элементов массива. В нем не определяется число элементов в каждом измерении массива. Неограниченные массивные типы в следующем списке являются предопределенными: type bit_vector is array(natural range <>) of bit; type string is array( positive range <>) of character; Каждый из этих типов имеет одно измерение. Тип bit_vector индексирован значениями предопределенного типа natural и имеет элементы типа bit. Тип string индексируется предопределенным типом positive и имеет элементы типа character. Запись range<> (читается как "ящик диапазона"-range box) означает, что определение границ индекса было отложено. Границы подставляются в момент, когда создается об'ект данного типа. Индексы массива могут быть целого или перечислительного типа. Элементы могут быть любого типа. Например: type matrix is array(integer range <>,integer range<>)of real; type color_accumulator is array(color range <>) of natural; type color_match is array(natural range<>) of color; type bit6_data is array(positive range<>) of bit6; type bit6_address is array(positive range<>) of bit6; type transition_delay is array(bit6 range<>,bit6 range<>)of time; type conversion_vector is array(bit6 range<>) of bit; Обьявление обьекта типа массив определяет имя типа и ограничения на индекс(index constraint): variable square: matrix(1 to 10,1 to 10); signal A_register,B_register: bit6_data(63 downto 0); signal parts_per_color:color_accumulator(green to indigo); constrant part_id:string := "M00368"; variable bit_equivalence: conversion_vector(bit6); Каждая индексная позиция в обьявлении обьекта типа массив, который использует неограниченный тип, должна быть ограничена. Диапазон может быть ограничен при помощи to или downto, он может также заменяться диапазоном начального значения (как в part_id), или сам может быть именем индекса перечислительного типа (как в bit_equivalence).


Содержание  Назад  Вперед