Перейти к содержанию
    

Асинхронный сброс счетчиков - не работает

Уже во втором совем дизайне наблюдаю такую картину:

если у счетчиков сброс асинхронный - они не будут работать а всегда заткнуты в состянии сброса (по нулям например) несмотря на то что сигнал сброса деактивировался и клок бежит ОК.

Как только меняю код на синхронный сброс - начинают работать ОК.

 

Это относится к timing simulation, в functional асинхронный работает ОК.

 

Почему ?

 

для инфо: работаю с Латисом.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Привяжите сигнал сброса к тактовому сигналу и сбрасывайте асинхронно этим синхронным сигналом схему.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Привяжите сигнал сброса к тактовому сигналу и сбрасывайте асинхронно этим синхронным сигналом схему.

 

сорри, не совсем понял.. :cranky:

вы имеете ввиду засинхронизировать асинхронный сигнал сброса и его затем его подать на счетчик ?

это возможно обеспечит необходимый setup/hold на FFs сброса относительно клока, но тогда вся идея асинхонного сброса пропадает...

или я ошибаюсь ?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

это возможно обеспечит необходимый setup/hold на FFs сброса относительно клока, но тогда вся идея асинхонного сброса пропадает...

или я ошибаюсь

Он по прежнему будет асинхронным и поступать будет на асинхронные входы триггеров. Он всего-лишь будет привязан к тактовому сигналу.

 

примерно так будет выглядеть схема:

process(ext_rst_n,clk)
variable ff: std_logic_vector(1 downto 0); -- этим триггерам нужно прописать правило запрета оптимизации.
begin
if(ext_rst_n='0')  then
ff:=(others=>'0');
rst_n<='0';
elsif(falling_edge(clk)) then
rst_n<=ff(1);
ff(1):=ff(0);
ff(0):='1';
end process;

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
К сожалению, ваш контент содержит запрещённые слова. Пожалуйста, отредактируйте контент, чтобы удалить выделенные ниже слова.
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...