Worldmaster 0 29 марта Опубликовано 29 марта · Жалоба Здравствуйте. Кто подскажет можно ли в коде использовать атрибуты типа 'last_value ? Синтезируется это в схему или это опять сахарок для тестбенча. У меня вот такой код есть: if rising_edge(FFT_OE_N) then case cmd_state is when idle => if FFT_OE_N = '1' and FFT_OE_N'last_value = '0' then ... Есть сомнение что эта конструкция работать не будет. А как сделать так чтобы ловить установку сигнала? Изначально идея в том что когда процесс отработал он должен ждать именно событие установки сигнала чтобы начать повторный цикл. Может есть какие нибудь классические простые решения? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
makc 192 29 марта Опубликовано 29 марта · Жалоба 13 минут назад, Worldmaster сказал: Есть сомнение что эта конструкция работать не будет. А как сделать так чтобы ловить установку сигнала? Добавьте триггер-защёлку (FFT_OE_N_D) для сигнала FFT_OE_N и напишите: if rising_edge(FFT_OE_N) then case cmd_state is when idle => if FFT_OE_N = '1' and FFT_OE_N_D = '0' then ... По сути, как я понимаю, вам нужен детектор фронта сигнала FFT_OE_N, т.е. что-то вроде https://vhdlguide.com/2016/07/23/edge-detector/ Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Worldmaster 0 29 марта Опубликовано 29 марта · Жалоба В 29.03.2024 в 11:00, makc сказал: вам нужен детектор фронта сигнала FFT_OE_N, т.е. что-то вроде https://vhdlguide.com/2016/07/23/edge-detector/ Ну да. Вроде бы то что надо. спасибо )) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться