
Двойное оплодотворение у цветковых растений: Оплодотворение - это процесс слияния мужской и женской половых клеток с образованием зиготы...
Организация стока поверхностных вод: Наибольшее количество влаги на земном шаре испаряется с поверхности морей и океанов (88‰)...
Топ:
Проблема типологии научных революций: Глобальные научные революции и типы научной рациональности...
Определение места расположения распределительного центра: Фирма реализует продукцию на рынках сбыта и имеет постоянных поставщиков в разных регионах. Увеличение объема продаж...
Марксистская теория происхождения государства: По мнению Маркса и Энгельса, в основе развития общества, происходящих в нем изменений лежит...
Интересное:
Инженерная защита территорий, зданий и сооружений от опасных геологических процессов: Изучение оползневых явлений, оценка устойчивости склонов и проектирование противооползневых сооружений — актуальнейшие задачи, стоящие перед отечественными...
Искусственное повышение поверхности территории: Варианты искусственного повышения поверхности территории необходимо выбирать на основе анализа следующих характеристик защищаемой территории...
Распространение рака на другие отдаленные от желудка органы: Характерных симптомов рака желудка не существует. Выраженные симптомы появляются, когда опухоль...
Дисциплины:
![]() |
![]() |
5.00
из
|
Заказать работу |
Содержание книги
Поиск на нашем сайте
|
|
Любой проект является описанием явлений в дискретных системах. Эти явления могут представляться тремя различными категориями данных: константы, переменные и сигналы. signal — это информация, передаваемая между модулями проекта или представляющая входные и выходные данные проектируемого устройства. Сигналу присваиваются свойства изменения во времени. variable — это вспомогательная информационная единица, используемая для описания внутренних операций в программных блоках. Присвоение значения сигналу отображается знаком <=, а переменной – знаком:=.
В языке VHDL введены два типа операторов — последовательные и параллельные. Последовательные операторы выполняются последовательно друг за другом в порядке записи (оператор присваивания переменной, оператор присваивания сигналу, условные операторы, оператор выбора и ряд других).
Исполнение параллельных операторов инициируется по событийному принципу, т. е. они исполняются тогда, когда реализация других операторов программы создала условия для их исполнения. Параллельные операторы представляют части алгоритма, которые в реальной системе могут исполняться одновременно.
Присвоения сигналу существенно отличается от присвоения переменной. Присвоение сигналу не приводит непосредственно к изменению его значения. Новое значение сначала заносится в буфер, называемый драйвером сигнала, и следующие операторы в теле процесса оперируют со старыми значениями. Фактическое изменение значения сигнала выполняется только после исполнения до конца процессов и других параллельных операторов, инициированных общим событием, или после исполнения оператора останова wait.
Наиболее существенные различия сигналов и переменных.
1. Переменные меняют значения сразу после присвоения, и новые значения непосредственно учитываются во всех преобразованиях, записанных в теле процесса после такого присвоения.
2. Значение сигнала меняется не сразу после выполнения присвоения. Передача значения сигналу может быть еще более задержана, если оператор присваивания содержит выражение задержки after.
3. Переменная определена только внутри тела процесса, сигнал — во всем архитектурном теле.
4. Переменной можно переприсваивать значение в теле процесса. Сигнал внутри одного процесса может иметь только один драйвер. То есть присвоение значения сигналу может быть выполнено только один раз в теле.
56. Оператор условного присваивания значения сигналу на языке VHDL.
Присвоения сигналу существенно отличается от присвоения переменной. Присвоение сигналу не приводит непосредственно к изменению его значения. Новое значение сначала заносится в буфер, называемый драйвером сигнала, и следующие операторы в теле процесса оперируют со старыми значениями. Фактическое изменение значения сигнала выполняется только после исполнения до конца процессов и других параллельных операторов, инициированных общим событием, или после исполнения оператора останова wait. Присвоение значения сигналу отображается знаком <=.
Синтаксис:
имя_сигнала <= [механизм задержки] {значение when условие else}
значение [when условие];
Пример:
Zmux<=d0 when S1=’0’ and S2=’0’
else d1 when S1=’0’ and S2=’1’
else d2 when S1=’1’ and S2=’0’
else d3 when S1=’1’ and S2=’1’
Разрешение неоднозначности установления сигнала на языке VHDL.
В результате в программе на VHDL может создаваться неоднозначная ситуация, когда на каком-то интервале модельного времени значения, устанавливаемые разными операторами присваивания, входят в противоречие друг с другом.
В семантике языка VHDL приняты специальные правила для разрешения такой неоднозначности. В основе этих правил лежит сопоставление между последовательностью выполнения операторов присваивания значений сигналам и заданных ими моментов изменения сигналов.
В VHDL принято, что если возникает ситуация, когда транзакция изменения значения сигнала, порожденная позже, планируется на более раннее время, то транзакция, порожденная раньше по ходу исполнения программы, но запланированная на более позднее время, уничтожается.
process (a)
constant T_01: time: =800 ns;
constant T_10:time:=500 ns;
begin
if a=’1’ then
z<=transport a after T_01;
else
z<=transport a after T_10;
end if;
end process;
|
|
Состав сооружений: решетки и песколовки: Решетки – это первое устройство в схеме очистных сооружений. Они представляют...
История создания датчика движения: Первый прибор для обнаружения движения был изобретен немецким физиком Генрихом Герцем...
Индивидуальные очистные сооружения: К классу индивидуальных очистных сооружений относят сооружения, пропускная способность которых...
Кормораздатчик мобильный электрифицированный: схема и процесс работы устройства...
© cyberpedia.su 2017-2025 - Не является автором материалов. Исключительное право сохранено за автором текста.
Если вы не хотите, чтобы данный материал был у нас на сайте, перейдите по ссылке: Нарушение авторских прав. Мы поможем в написании вашей работы!