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

 
 
> Глупый вопрос про Setup and Hold
STAR_IK
сообщение May 16 2018, 10:19
Сообщение #1


Частый гость
**

Группа: Свой
Сообщений: 136
Регистрация: 10-04-09
Из: Омск
Пользователь №: 47 461



Запутался в основах. Разбираюсь с setup and hold. Очевидно, что защелкивание данных по клоку должно производиться в момент времени, когда данные уже установились.
В этом примитивном примере входные данные устанавливаются по фронту, а защелкиваются и обрабатываются по спаду. Проблем никаких нет.
Код
always @ (posedge clk)
  begin
    in <= in + 8'd1;
  end

always @ (negedge clk)
  begin
    out <= in « 3;
  end

Но внезапно стало непонятно, а почему не возникает проблем с setup and hold в конструкции ниже? Здесь все выполняется по фронту. В один момент времени в регистр in записываются данные, и считываются из него
Код
always @ (posedge clk)
  begin
    in <= in + 8'd1;
    out <= in « 3;
  end

Прошу люто тапками не кидаться.
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
Stewart Little
сообщение May 16 2018, 10:30
Сообщение #2


Лентяй
******

Группа: Свой
Сообщений: 2 203
Регистрация: 11-10-04
Из: Санкт-Петербург
Пользователь №: 843



Цитата(STAR_IK @ May 16 2018, 13:19) *
Но внезапно стало непонятно, а почему не возникает проблем с setup and hold в конструкции ниже?

Потому, что существует такой параметр, как Tco (Clock to Output) sm.gif


--------------------
Чтобы слова не расходились с делом, нужно молчать и ничего не делать...
Go to the top of the page
 
+Quote Post
ViKo
сообщение May 16 2018, 10:36
Сообщение #3


Универсальный солдатик
******

Группа: Модераторы
Сообщений: 8 634
Регистрация: 1-11-05
Из: Минск
Пользователь №: 10 362



Цитата(Stewart Little @ May 16 2018, 13:30) *
Потому, что существует такой параметр, как Tco (Clock to Output) sm.gif

И это Tco больше, чем Th. Поэтому выход предыдущего триггера еще не успевает измениться, как его захватит следующий триггер.
Go to the top of the page
 
+Quote Post
Flip-fl0p
сообщение May 16 2018, 12:53
Сообщение #4


В поисках себя...
****

Группа: Свой
Сообщений: 729
Регистрация: 11-06-13
Из: Санкт-Петербург
Пользователь №: 77 140



Обычно хорошо помогает следующая методика:
1. Прочитать про все временные параметры триггера.
2. Взять листок бумаги.
3. Вручную нарисовать диаграммы.
И тогда будет сразу видно и понятно что:
Цитата
И это Tco больше, чем Th. Поэтому выход предыдущего триггера еще не успевает измениться, как его захватит следующий триггер.

И отсюда сразу становится понятно, прочему работа по двум фронтам одного клока хуже чем по одному smile3046.gif
Go to the top of the page
 
+Quote Post



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

 


RSS Текстовая версия Сейчас: 21st July 2025 - 21:56
Рейтинг@Mail.ru


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