Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Правильный edge detection (VHDL)
Форум разработчиков электроники ELECTRONIX.ru > Программируемая логика ПЛИС (FPGA,CPLD, PLD) > Работаем с ПЛИС, области применения, выбор
AndriyG
Всем привет!

какой самый честный метод детекции фронтов сигналов заводящихся на от внешних устройств?
Сам использую 2 тригера

---->[T0]--"1"-->[T1]--"0"-->

когда выход Т1 = "0" и выход Т0 = "1" решаю что rising edge

Есть ли проще/более правильное решение?
Rst7
На самом деле надо 3 триггера, для того, чтобы избавится от возможной метастабильности. Проверять второй и третий в цепочке.
makc
Правильно будет использовать три триггера: первые два образуют классический синхронизатор, третий используется для определения фронта. В Вашем варианте возможный проблемы, т.к. первый триггер может оказаться в метастабильном состоянии.
AndriyG
Цитата(makc @ Sep 5 2008, 14:42) *
Правильно будет использовать три триггера: первые два образуют классический синхронизатор, третий используется для определения фронта. В Вашем варианте возможный проблемы, т.к. первый триггер может оказаться в метастабильном состоянии.

Ок, я использовал 3 и 2 тригера, при двух вероятность метастабильности возрастает. Ладно, буду впреть везде ставить 3.
Кстати при заводе внешних клока + логика + данные хорошо бы их заводить через один регистр. Чето я в спартане не нашел примитива подходящего.
сообразить регистр на VHDL ? Тогда важно чтобы при разводке все тригера лягли близко друг от друга. Как Вы поступаете?

Спасибо!
makc
Цитата(AndriyG @ Sep 5 2008, 15:59) *
сообразить регистр на VHDL ? Тогда важно чтобы при разводке все тригера лягли близко друг от друга. Как Вы поступаете?


Констрейнт RLOC.
AndriyG
Все о том же: горожу FIFO + LocalLink source, нужно ли сигнал dst_rdy_n от заводить через триггер и соответственно сигналы от source -> destination пускать через тригера. Все конечно в одном FPGA и на одном клоке. вот как себя будет вести при 99% забитом чипе после ? Какое железное правило для грамотного дизайна?
iosifk
Цитата(AndriyG @ Sep 5 2008, 15:59) *
я в спартане не нашел примитива подходящего.


Посмотрите шаблоны в ISE, там должен быть синхронизатор, который используется при пересечении клоковых доменов.
Maverick
Пожожая тема осуждалась

тут
dm.pogrebnoy
Цитата(iosifk @ Sep 15 2008, 16:15) *
Посмотрите шаблоны в ISE, там должен быть синхронизатор, который используется при пересечении клоковых доменов.


Расскажите пожалуйста поподробнее про синхронизаторы. Хочу все-таки узнать как это правильно делается.
ЗЫ: в темплейтах не нашел ничего.
des00
Цитата(dm.pogrebnoy @ Nov 13 2008, 08:27) *
Расскажите пожалуйста поподробнее про синхронизаторы. Хочу все-таки узнать как это правильно делается.


многократно обсуждалось, поиск по ключевому слову "синхронозатор" выводит на тему

http://electronix.ru/forum/index.php?showt...mp;#entry449467

там есть ссылки и примеры.

Удачи !!!
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.