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

 
 
 
Closed TopicStart new topic
> Синхронизация внешнего сигнала, Как правильнее? А или Б?
alexf
сообщение Feb 10 2005, 08:54
Сообщение #1


Местный
***

Группа: Свой
Сообщений: 420
Регистрация: 22-12-04
Пользователь №: 1 608



У меня FPGA вся из себя синхронная 200 МГц внутри. И есть некий внешний сигнал у которого есть строб и данные. Строб не чаще 50 МГц. По стробу надо читать данные. Видимо задача расространенная.

Я вижу 2 способа:

1. Стандартно ловися фронт строба и по внутреннему такту защелкиваем данные.

2. Внешний строб защелкивает данные во входной регистр, а когда обнаруживаем фронт строба, по внутреннему такту переписываем в другой регистр.

Оба способа работают и в симуляторе и в чипе, но вопрос к гуру: как правильнее? На вскидку способ 2 точнее в том смысле что hold time менее критичен. При первом способе можем защелкивать через 5 нс после внешнего строба, что не есть хорошо.

Мнения?
Go to the top of the page
 
+Quote Post
Vitёk
сообщение Feb 10 2005, 09:04
Сообщение #2


Местный
***

Группа: Свой
Сообщений: 272
Регистрация: 17-01-05
Из: Ростов-на-Дону
Пользователь №: 2 018



Я делал так: по внутренней тактовой защёлкиваются оба сигнала, а потом отслеживается изменение защелкнутого строба - это является СЕ для последующих цепей. Нареканий нет. smile.gif


--------------------
/* Всё хорошо в меру. */
Go to the top of the page
 
+Quote Post
ASN
сообщение Feb 10 2005, 10:04
Сообщение #3


Местный
***

Группа: Свой
Сообщений: 459
Регистрация: 15-07-04
Из: g.Penza
Пользователь №: 326



alexf
Использовал (и не только я, но и "крутые перцы") второй способ - нет проблем.
Vitёk
Здорово смахивает на синхронизатор для последовательного линка smile.gif.
Проект, кажется, называется - MiniUART.
Go to the top of the page
 
+Quote Post
Vitёk
сообщение Feb 10 2005, 10:44
Сообщение #4


Местный
***

Группа: Свой
Сообщений: 272
Регистрация: 17-01-05
Из: Ростов-на-Дону
Пользователь №: 2 018



>Здорово смахивает на синхронизатор для последовательного линка
Наверное, да... smile.gif Хотя - UART, насколько я помню - работает без внешнего строба. А здесь по фронту строба нужно защёлкнуть данные и маякнуть дальнейшей схеме, что принят очередной бит.
То, что я предложил - наверное, ближе к способу "А", только я не понял: alexf по внутренней тактовой защёлкивает только данные, или же данные вместе со стробом. Поэтому и привёл способ целиком. smile.gif


--------------------
/* Всё хорошо в меру. */
Go to the top of the page
 
+Quote Post
Димыч
сообщение Feb 10 2005, 11:02
Сообщение #5


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

Группа: Свой
Сообщений: 156
Регистрация: 1-02-05
Из: the Earth
Пользователь №: 2 331



Делаю еще так:
по внутреннему тактовому сигналу детектируется строб со всей вытекающей логикой дальнейших действий... А данные сохраняются в асинхронной защелке по активному уровню строба.
Работает.
Go to the top of the page
 
+Quote Post
alexf
сообщение Feb 10 2005, 11:52
Сообщение #6


Местный
***

Группа: Свой
Сообщений: 420
Регистрация: 22-12-04
Пользователь №: 1 608



Цитата(Димыч @ Feb 10 2005, 04:02)
Делаю еще так:
по внутреннему тактовому сигналу детектируется строб со всей вытекающей логикой дальнейших действий... А данные сохраняются в асинхронной защелке по активному уровню строба.
Работает.
*


Дык это и есть "способ 2" или я чего-то не понял? Вроде так и делаю...
Go to the top of the page
 
+Quote Post
Vitёk
сообщение Feb 10 2005, 12:11
Сообщение #7


Местный
***

Группа: Свой
Сообщений: 272
Регистрация: 17-01-05
Из: Ростов-на-Дону
Пользователь №: 2 018



Судя по словам "асинхронная защёлка" речь идёт о защёлке типа LATСH.


--------------------
/* Всё хорошо в меру. */
Go to the top of the page
 
+Quote Post
alexf
сообщение Feb 10 2005, 22:13
Сообщение #8


Местный
***

Группа: Свой
Сообщений: 420
Регистрация: 22-12-04
Пользователь №: 1 608



Цитата(Vitёk @ Feb 10 2005, 05:11)
Судя по словам "асинхронная защёлка" речь идёт о защёлке типа LATСH.
*


"по активному уровню строба" наводит на мысль о flip-flop. кроме того я столько раз слышал что в FPGA latch не есть хорошо, что поверил smile.gif

В общем всем спасибо, тема исчерпана.
Go to the top of the page
 
+Quote Post

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

 


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


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