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

VHDL борьба с лишним импульсом

Всем здравствуйте. Как правильно бороться с лишними короткими импульсами (см. рисунок)? я использую на выходе данного сигнала секцию after с длительностью чуть больше данного пичка.

post-86484-1463476175_thumb.png

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


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

Всем здравствуйте. Как правильно бороться с лишними короткими импульсами (см. рисунок)? я использую на выходе данного сигнала секцию after с длительностью чуть больше данного пичка.

 

Хотелось бы увидеть больше подробностей и цель, которую вы преследуете - корректная работа в железе или в симуляторе. after - несинтезируемая штука.

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


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

Хотелось бы увидеть больше подробностей и цель, которую вы преследуете - корректная работа в железе или в симуляторе. after - несинтезируемая штука.

несинтезируемая????!!!! блиииин!!!! я то думал, почему у меня не работает!!! я читал только про оператор wait, что он не синтезируется!!! СПС.!!!

Тогда следующие вопросы:

1. Как убрать эти лишние импульсы, если они вдруг будут образовываться, в железе.

2. Как осуществлять в железе задержку сигнала на нужное время? вопрос отпал

 

Сигнал с частотой 50 МГц, т.е. периодом 20 нс, по спаду красного сигнала должен упасть, но так как сброс тоже синхронизирован тактовым сигналом, на конце сигнала появляется ненужный пичок. В железе он будет?

Изменено пользователем aleshanoff

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


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

Сигнал с частотой 50 МГц, т.е. периодом 20 нс, по спаду красного сигнала должен упасть, но так как сброс тоже синхронизирован тактовым сигналом, на конце сигнала появляется ненужный пичок. В железе он будет?

Так делаете все "по суворовски, через альпы"... Я же написал Вам, как обрабатывать сигналы, чтобы проект корректно работал... А Вы - на одном триггере сделали асинхронщину и теперь мучаетесь...

 

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


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

"по суворовски, через альпы"...

дык военный же:)))

 

Почему на одном триггере:

HF и R изменяются всего один раз за цикл обработки, то есть каждый из сигналов представляет собой один импульс, которые никогда не пересекаются. Это не клоковые домены.

 

А в остальном проект даже очень синхронен))) ИМХО

Изменено пользователем aleshanoff

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


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

дык военный же:)))

 

Почему на одном триггере:

HF и R изменяются всего один раз за цикл обработки, то есть каждый из сигналов представляет собой один импульс, которые никогда не пересекаются. Это не клоковые домены.

 

А в остальном проект даже очень синхронен)))

Скайп работает?

 

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


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

дык военный же:)))

 

Почему на одном триггере:

HF и R изменяются всего один раз за цикл обработки, то есть каждый из сигналов представляет собой один импульс, которые никогда не пересекаются. Это не клоковые домены.

 

А в остальном проект даже очень синхронен)))

так, а чем не нравиться синхронный JK триггер?

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


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

Скайп работает?

да

 

Изменено пользователем aleshanoff

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


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

так, а чем не нравиться синхронный JK триггер?

я еще не пробовал просто на нем. А так очень даже нравится)))

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


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

Но так и не получил ответа, уважаемые товарищи.

Будут ли возникать в железе пики в конце сигналов и, если да, то как их избежать?

Сигналы внутренние, синхронизированы.

на элемент И подается разрешающий сигнал (xlxn431) и клок.

на выходе при синхронизации в конце получаем незапланированный пик.

post-86484-1463504482_thumb.png

Изменено пользователем aleshanoff

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


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

Но так и не получил ответа, уважаемые товарищи.

Будут ли возникать в железе пики в конце сигналов и, если да, то как их избежать?

Сигналы внутренние, синхронизированы.

на элемент И подается разрешающий сигнал (xlxn431) и клок.

на выходе при синхронизации в конце получаем незапланированный пик.

 

Было бы здорово увидеть код, который вы симулили, чтобы не гадать. Но предварительно - да, в железе будет тоже самое, если еще не хуже.

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


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

Код не писал, моделировал на схемотехническом уровне. Разрешающий сигнал со счетчика идет вместе с клоком на элемент И. После него такая фигня. В конце выходного сигнала проскакивает лишний импульс.

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


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

Всем здравствуйте. Как правильно бороться с лишними короткими импульсами

Лишние короткие импульсы возникают из-за так называемых гонок сигналов в логических схемах. Метод их устранения - противогоночное кодирование, устраняющее эти самые гонки, а с ними и все лишние импульсы.

Есть и эвристические методы, но они не универсальные, т.е. действуют не всегда.

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


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

Лишние короткие импульсы возникают из-за так называемых гонок сигналов в логических схемах. Метод их устранения - противогоночное кодирование, устраняющее эти самые гонки, а с ними и все лишние импульсы.

Есть и эвристические методы, но они не универсальные, т.е. действуют не всегда.

Добавлю к сказанному...

Однако для проектирования в FPGA эти приемы не применяются, т.к. проектирование в FPGA вообще ведется другими методами и тогда "лишние" пички не появляются вообще. И клоки с сигналами разрешения не смешивают... Это не просто хреново, а очень хреново...

 

 

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


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

решилась проблема с помощью этого кода

library IEEE;
use IEEE.STD_LOGIC_1164.ALL;


entity enable is
   Port ( en : in  STD_LOGIC;
          clk : in  STD_LOGIC;
          o : out  STD_LOGIC);
end enable;

architecture Behavioral of enable is

begin
process (clk)
begin
if   en='1' then	o <= clk;
else o<='0'; 
end if;
end process;

end Behavioral;

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


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

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

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

Гость
Ответить в этой теме...

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

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

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

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

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

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