реклама на сайте
подробности

 
 
> VHDL event, лист чувствительности
Claw
сообщение Oct 16 2011, 15:51
Сообщение #1


Участник
*

Группа: Участник
Сообщений: 71
Регистрация: 13-11-10
Из: Могилёв
Пользователь №: 60 868



.....
process (mod)

begin

if mod'event mod ='1' then
.....

Не совсем понятно выделенное жирным шрифтом, это значит: если событие произошло? т.е. mod стал раным 1? Не встречала раньше такого нигде. И ещё вопрос, что такое лист чувствительности?

к примеру bool: process(clk_in, clk_out)
....

значит, что процесс будет изменяться по изменению этих двух сигналов? для чего это нужно?
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
andrew_b
сообщение Oct 17 2011, 04:45
Сообщение #2


Профессионал
*****

Группа: Свой
Сообщений: 1 975
Регистрация: 30-12-04
Из: Воронеж
Пользователь №: 1 757



Цитата(Claw @ Oct 16 2011, 19:51) *
.....
process (mod)

begin

if mod'event mod ='1' then

Не совсем понятно выделенное жирным шрифтом, это значит: если событие произошло? т.е. mod стал раным 1?
атрибут 'event возвращает значение типа boolean, которое говорит о том, изменился ли сигнал или нет. Не важно, как изменился, важен сам факт изменения.

В процитированном коде скорее всего ошибка. Должно быть так:
Код
   if mod'event and mod ='1' then

Это детектор восходящего фронта. Да, во многих книгах пишут так, но лучше использовать стандартную функцию rising_edge. Соответственно, falling_edge для фронта спадающего (среза).

Цитата
Не встречала раньше такого нигде. И ещё вопрос, что такое лист чувствительности?
Много раз на форуме объяснялось. Не ленитесь пользоваться поиском.

Цитата
к примеру bool: process(clk_in, clk_out)
....

значит, что процесс будет изменяться по изменению этих двух сигналов? для чего это нужно?
Это нужно, например, для описания триггера с асинхронным сбросом:
Код
   process (Reset, Clk)
   begin
       if (Reset = '1') then
           q <= '0'; -- асинхронный сброс
       elsif (rising_edge (Clk)) then
           q <= d; -- по восходящему фронту Clk сигнал с входа передаётся на выход
       end if;
   end process;
Go to the top of the page
 
+Quote Post

Сообщений в этой теме


Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 20th July 2025 - 16:13
Рейтинг@Mail.ru


Страница сгенерированна за 0.01371 секунд с 7
ELECTRONIX ©2004-2016