Общие условия выбора системы дренажа: Система дренажа выбирается в зависимости от характера защищаемого...
Архитектура электронного правительства: Единая архитектура – это методологический подход при создании системы управления государства, который строится...
Топ:
Эволюция кровеносной системы позвоночных животных: Биологическая эволюция – необратимый процесс исторического развития живой природы...
Характеристика АТП и сварочно-жестяницкого участка: Транспорт в настоящее время является одной из важнейших отраслей народного хозяйства...
Оценка эффективности инструментов коммуникационной политики: Внешние коммуникации - обмен информацией между организацией и её внешней средой...
Интересное:
Средства для ингаляционного наркоза: Наркоз наступает в результате вдыхания (ингаляции) средств, которое осуществляют или с помощью маски...
Отражение на счетах бухгалтерского учета процесса приобретения: Процесс заготовления представляет систему экономических событий, включающих приобретение организацией у поставщиков сырья...
Что нужно делать при лейкемии: Прежде всего, необходимо выяснить, не страдаете ли вы каким-либо душевным недугом...
Дисциплины:
2017-11-28 | 324 |
5.00
из
|
Заказать работу |
|
|
Атрибутом называют особенное, долговременное свойство предмета. В языке VHDL сигналы, переменные и другие объекты, кроме своего значения, также имеют множество атрибутов. У каждого типа объектов есть несколько предопределенных атрибутов. Пользователь также может ввести ряд специальных атрибутов. Атрибуты бывают различного типа: атрибут - тип, значение, сигнал, функция, диапазон.
Атрибут объекта записывается как
\имя объекта\' \имя атрибута\.
Для скалярного типа Т предопределены следующие атрибуты:
T'left - самое левое значение множества элементов скалярного типа Т.
T'right - самое правое значение множества элементов скалярного типа Т.
T'high - наибольшее значение в множестве элементов скалярного типа Т.
T'low -наименьшее значение в множества элементов скалярного типа Т.
T'image(X) - функция строкового представление выражения Х типа Т.
T'value(Х) - функция значения типа Т от строкового представления Х.
T'pos(Х) - функция номера позиции элемента Х типа Т.
T'val(Х) -функция значения элемента типа Т стоящего в позиции Х.
Примерыатрибутов:
type st is (one,two,three); st'right = three, st'pos(three) = 2, st'val(1) = two.
positive'low = 1, positive'high =2147483647.
integer'value("1_000") =1000, integer'image(330) ="330".
Атрибуты регулярного типа в языке VHDL.
Атрибутом называют особенное, долговременное свойство предмета. В языке VHDL сигналы, переменные и другие объекты, кроме своего значения, также имеют множество атрибутов. У каждого типа объектов есть несколько предопределенных атрибутов. Пользователь также может ввести ряд специальных атрибутов. Атрибуты бывают различного типа: атрибут - тип, значение, сигнал, функция, диапазон.
Атрибут объекта записывается как
\имя объекта\' \имя атрибута\.
Для регулярного типа A предопределены следующие атрибуты:
|
A'left[(N)] - левое значение диапазона индексов по N-й размерности.
A'right[(N)] - правое значение диапазона индексов по N-й размерности.
A'high[(N)] - наибольшее значение диапазона индексов по N-й размерности.
A'low[(N)] - наименьшее значение диапазона индексов по N-й размерности.
A'range[(N)] - диапазон индексов по N-й размерности.
A'reverse_range[(N)] - обратный диапазон индексов по N-й размерности.
A'length[(N)] - протяженность диапазона индексов по N-й размерности.
A'ascending[(N)] - функция, равная true, если диапазон индексов по N-й размерности - возврастающий.
Примерыпримененияатрибутов:
type s2 is array (2 downto 1, 0 to 3) of integer;
s2'left(1) = 2, s2'right(2) = 3, s2'high(1) = 2, s2'low(2) = 0,
s2'range(2) = 0 to 3, s2'reverse_range(1) = 1 to 2, s2'length(2) = 4.
Циклы в VHDL.
В VHDL существует три вида циклов: бесконечный, while и for. Синтаксис бесконечного цикла выглядит следующим образом:
[ loop_label: ] loop
{ sequential_statement }
end loop [ loop_label ];
Такие циклы часто используются для генерирования синхросигнала, как это сделано в следующем примере:
signal Clock: BIT:= ’0′; — инициализация в 0
Clk_1: process (Clock)
Begin
L1: loop
Clock <= not Clock after 5 ns; — период Clock равен 10 ns
endloop L1;
end process Clk_1;
Для завершения цикла может быть применен оператор exit, а для прерывания теку-
щейитерации – оператор next:
[ label: ] exit [ loop_label ][ when boolean _expression];
[ label:] next [ loop_label ] [ when boolean _expression];
Если метка не указана, то действие оператора относится к содержащему его циклу. Необязательное выражение boolean_expression позволяет задавать условие прерыва- ния выполнения цикла или его итерации. В следующем коде выполнение цикла завер- шится, когда А станет больше 10:
L2: loop
A:= A+1;
exit L2 when A > 10;
endloop L2;
Цикл for
Общая форма цикла for имеет следующий вид:
[loop_label:] for loop_index in range loop
sequential statements
end loop [loop-label];
Индекс цикла loop_index автоматически описывается при использовании оператора цикла и не требует его предварительного декларирования. Индекс инициализируется первым значением из указанного диапазона range, после чего выполняются последо- вательные операторы (sequential statements). Индекс цикла может быть использован в последовательных операторах, но не может быть изменен в них. После выполнения одной итерации цикла индекс получает следующее значение из диапазона и последо- вательность операторов выполняется снова. Процесс продолжается до тех пор, пока индекс цикла не переберет все значения диапазона. После этого выполнение операто- ра цикла заканчивается и индекс становится недоступным. Для следующего цикла- индекс count_value в начале выполнения цикла будет инициализирован значением 0 и последовательность операторов в цикле будет выполнена 128 раз:
|
for count_value in 0 to 127 loop
count_out <= count_value after 5 ns;
endloop;
Цикл while
Выполнение операторов, размещенных в условном цикле while, будет продолжаться до тех пор, пока условие conditionимеет значение истины:
[ loop_label: ] while condition loop
{ sequential_statement }
end loop [ loop_label ];
|
|
Опора деревянной одностоечной и способы укрепление угловых опор: Опоры ВЛ - конструкции, предназначенные для поддерживания проводов на необходимой высоте над землей, водой...
Биохимия спиртового брожения: Основу технологии получения пива составляет спиртовое брожение, - при котором сахар превращается...
Индивидуальные и групповые автопоилки: для животных. Схемы и конструкции...
Папиллярные узоры пальцев рук - маркер спортивных способностей: дерматоглифические признаки формируются на 3-5 месяце беременности, не изменяются в течение жизни...
© cyberpedia.su 2017-2024 - Не является автором материалов. Исключительное право сохранено за автором текста.
Если вы не хотите, чтобы данный материал был у нас на сайте, перейдите по ссылке: Нарушение авторских прав. Мы поможем в написании вашей работы!