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

 
 
 
Reply to this topicStart new topic
> Правильный edge detection (VHDL)
AndriyG
сообщение Sep 5 2008, 11:31
Сообщение #1


Участник
*

Группа: Validating
Сообщений: 52
Регистрация: 7-04-06
Пользователь №: 15 911



Всем привет!

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

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

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

Есть ли проще/более правильное решение?
Go to the top of the page
 
+Quote Post
Rst7
сообщение Sep 5 2008, 11:41
Сообщение #2


Йа моск ;)
******

Группа: Модераторы
Сообщений: 4 345
Регистрация: 7-07-05
Из: Kharkiv-city
Пользователь №: 6 610



На самом деле надо 3 триггера, для того, чтобы избавится от возможной метастабильности. Проверять второй и третий в цепочке.


--------------------
"Практика выше (теоретического) познания, ибо она имеет не только достоинство всеобщности, но и непосредственной действительности." - В.И. Ленин
Go to the top of the page
 
+Quote Post
makc
сообщение Sep 5 2008, 11:42
Сообщение #3


Гуру
******

Группа: Админы
Сообщений: 3 621
Регистрация: 18-10-04
Из: Москва
Пользователь №: 904



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


--------------------
BR, Makc
В недуге рождены, вскормлены тленом, подлежим распаду. (с) У.Фолкнер.
Go to the top of the page
 
+Quote Post
AndriyG
сообщение Sep 5 2008, 11:59
Сообщение #4


Участник
*

Группа: Validating
Сообщений: 52
Регистрация: 7-04-06
Пользователь №: 15 911



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

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

Спасибо!
Go to the top of the page
 
+Quote Post
makc
сообщение Sep 5 2008, 12:12
Сообщение #5


Гуру
******

Группа: Админы
Сообщений: 3 621
Регистрация: 18-10-04
Из: Москва
Пользователь №: 904



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


Констрейнт RLOC.


--------------------
BR, Makc
В недуге рождены, вскормлены тленом, подлежим распаду. (с) У.Фолкнер.
Go to the top of the page
 
+Quote Post
AndriyG
сообщение Sep 15 2008, 11:38
Сообщение #6


Участник
*

Группа: Validating
Сообщений: 52
Регистрация: 7-04-06
Пользователь №: 15 911



Все о том же: горожу FIFO + LocalLink source, нужно ли сигнал dst_rdy_n от заводить через триггер и соответственно сигналы от source -> destination пускать через тригера. Все конечно в одном FPGA и на одном клоке. вот как себя будет вести при 99% забитом чипе после ? Какое железное правило для грамотного дизайна?
Go to the top of the page
 
+Quote Post
iosifk
сообщение Sep 15 2008, 13:15
Сообщение #7


Гуру
******

Группа: Модераторы
Сообщений: 4 011
Регистрация: 8-09-05
Из: спб
Пользователь №: 8 369



Цитата(AndriyG @ Sep 5 2008, 15:59) *
я в спартане не нашел примитива подходящего.


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


--------------------
www.iosifk.narod.ru
Go to the top of the page
 
+Quote Post
Maverick
сообщение Sep 16 2008, 05:31
Сообщение #8


я только учусь...
******

Группа: Модераторы
Сообщений: 3 447
Регистрация: 29-01-07
Из: Украина
Пользователь №: 24 839



Пожожая тема осуждалась

тут


--------------------
If it doesn't work in simulation, it won't work on the board.

"Ты живешь в своих поступках, а не в теле. Ты — это твои действия, и нет другого тебя" Антуан де Сент-Экзюпери повесть "Маленький принц"
Go to the top of the page
 
+Quote Post
dm.pogrebnoy
сообщение Nov 13 2008, 13:27
Сообщение #9


Знающий
****

Группа: Свой
Сообщений: 747
Регистрация: 11-04-07
Пользователь №: 26 933



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


Расскажите пожалуйста поподробнее про синхронизаторы. Хочу все-таки узнать как это правильно делается.
ЗЫ: в темплейтах не нашел ничего.


--------------------
Go to the top of the page
 
+Quote Post
des00
сообщение Nov 14 2008, 04:28
Сообщение #10


Вечный ламер
******

Группа: Модераторы
Сообщений: 7 248
Регистрация: 18-03-05
Из: Томск
Пользователь №: 3 453



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


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

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

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

Удачи !!!


--------------------
Go to the top of the page
 
+Quote Post

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

 


RSS Текстовая версия Сейчас: 18th August 2025 - 17:56
Рейтинг@Mail.ru


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