|
Как передать все возможные значения счётчика из одного клокового домена в другой? |
|
|
|
 |
Ответов
|
Oct 20 2015, 11:33
|
Профессионал
    
Группа: Свой
Сообщений: 1 214
Регистрация: 23-12-04
Пользователь №: 1 643

|
Приветствую! Ну понеслись решения ..... Смотрим требования TC Цитата(MegaVolt @ Oct 20 2015, 13:51)  ... Искажения кодов не допустимы. Пропуск кода или повторные коды само собой допустимы.
Т.е. вот такие результаты выходов вполне допустимы 1: 1-2-4-5-7-8-10-11-... 2: 1-1-2-2-2-3-3-4-4-4-4-... И почему тут классика не годится ??? Удачи! Rob.
|
|
|
|
|
Oct 20 2015, 12:16
|
Знающий
   
Группа: Свой
Сообщений: 779
Регистрация: 3-01-05
Из: Минск
Пользователь №: 1 783

|
Цитата(EvgenyNik @ Oct 20 2015, 14:28)  module cnt_copy Это я так понял запрос ответ с синхронизацией. Многовато кодов пропускает  Цитата(RobFPGA @ Oct 20 2015, 14:33)  И почему тут классика не годится ??? Потому что классика с Греем искажает коды. И чем больше разрядность счётчика тем больше.
|
|
|
|
|
Oct 20 2015, 12:49
|
Знающий
   
Группа: Свой
Сообщений: 779
Регистрация: 3-01-05
Из: Минск
Пользователь №: 1 783

|
Цитата(XVR @ Oct 20 2015, 15:37)  Это с какого перепугу она искажает? Вы код Грея с бинарным не перепутали? Упс.... я вообще с чем то своим перепутал.... Согласен коды грея подходят если при частоте счёта меньше второй частоты. Как быть если счёт идёт на большей частоте. И потеря младших бит не выход? Цитата(dima32rus @ Oct 20 2015, 15:43)  У FIFO есть сигналы EMPTY, FULL. Если все сделать правильно, то пропусков не будет. Совсем. Если не секрет как именно их использовать? Я пока плохо понимаю саму идею.
|
|
|
|
|
Oct 20 2015, 13:09
|
Частый гость
 
Группа: Свой
Сообщений: 134
Регистрация: 9-11-12
Из: г. Брянск
Пользователь №: 74 311

|
Цитата(MegaVolt @ Oct 20 2015, 15:49)  Если не секрет как именно их использовать? Я пока плохо понимаю саму идею. Если буфер FIFO пуст, то установится флаг EMPTY, прерываете чтение. Ждете, когда появятся данные. Это возникает, когда частота приемника выше частоты источника. Если наоборот, источник грузит данные быстрее, чем их выскребает приемник, то нужно увеличить размер буфера, чтобы не произошло переполнение (флаг FULL). Все зависит от конкретной задачи. Если же Вы хотите обрабатывать бесконечно длинную последовательность данных, то нужно обрезать младшие разряды, как правильно заметил XVR. Иначе никак. Стесняюсь спросить, а зачем Вам гонять между доменами монотонно изменяющуюся последовательность? Проще передать сигнал запуска через синхронизатор, и, если надо, начальное значение. А считать уже на нужной частоте.
|
|
|
|
|
Oct 20 2015, 13:33
|
Знающий
   
Группа: Свой
Сообщений: 779
Регистрация: 3-01-05
Из: Минск
Пользователь №: 1 783

|
Цитата(dima32rus @ Oct 20 2015, 16:09)  Если буфер FIFO пуст, то установится флаг EMPTY, прерываете чтение. Ждете, когда появятся данные. Это возникает, когда частота приемника выше частоты источника. Мне думается тут будут проблемы. Если я читаю по EMPTY то первое значение я вычитаю с задержкой на синхронизацию. Последующие насыпавшиеся в FIFO за время синхронизации я вычитаю уже без начальной задержки. Т.е. значения не совсем будут связаны с начальным счётчиком. Цитата Если наоборот, источник грузит данные быстрее, чем их выскребает приемник, то нужно увеличить размер буфера, чтобы не произошло переполнение (флаг FULL). Все зависит от конкретной задачи. Если же Вы хотите обрабатывать бесконечно длинную последовательность данных, то нужно обрезать младшие разряды, как правильно заметил XVR. Иначе никак. Во втором случае в идеале хотелось бы чтобы лишние коды пропускались сами. Опять же пока не очень понимаю чем FIFO отличается от схемы запрос ответ? Цитата Стесняюсь спросить, а зачем Вам гонять между доменами монотонно изменяющуюся последовательность? Проще передать сигнал запуска через синхронизатор, и, если надо, начальное значение. А считать уже на нужной частоте. Ну например передача шкалы времени из одного домена в другой с минимальной погрешностью. Цитата(XVR @ Oct 20 2015, 16:24)  Имеет смысл зафиксировать состояние счетчика от строба в быстром домене (т.е. там, где расположен сам счетчик) и передать его в медленный домен, но это уже другая задача, а не передача текущего значения счетчика между доменами  Именно эта задача. Просто то что спрашиваю я выросло из этой. 1. Начальная задача: запрос - защёлкивание - ответ. 2. Мысленно увеличим число запросов до максимума. Логично предположить что это меандр с половинной частотой. 3. Сделаем два канала запросов сдвинутых на период 4. Объединим результаты запросов 5. На выходе имеем все возможные коды. Цитата(RobFPGA @ Oct 20 2015, 16:06)  Уже легче Цитата В каждом dual-clock FIFO стоит как минимум 2 классики для передачи указателей write/read соответственно на сторону read/write и при этом отношение частот может быть как read > write так и read < write. Само собой. Но скорость работы самих синхронизаторов вполне стандартная. И не очень понятно как получить все коды.
|
|
|
|
Сообщений в этой теме
MegaVolt Как передать все возможные значения счётчика из одного клокового домена в другой? Oct 20 2015, 10:51 litv FIFO Oct 20 2015, 10:58 RobFPGA Приветствую!
Классика :Код ---clk_1--- |... Oct 20 2015, 11:02 MegaVolt Цитата(RobFPGA @ Oct 20 2015, 14:02) Клас... Oct 20 2015, 11:26 dima32rus 1. Код Грея (хорошо подходит для счетчиков).
2. Ме... Oct 20 2015, 11:06 EvgenyNik FIFO не подойдёт, т.к. подразумевается разница час... Oct 20 2015, 11:28 dima32rus Цитата(EvgenyNik @ Oct 20 2015, 14:28) FI... Oct 20 2015, 12:43 MegaVolt Память двухпортовая само собой. Oct 20 2015, 11:29  EvgenyNik Цитата(MegaVolt @ Oct 20 2015, 15:16) Это... Oct 20 2015, 12:28   MegaVolt Цитата(EvgenyNik @ Oct 20 2015, 15:28) Чт... Oct 20 2015, 12:32    XVR Цитата(MegaVolt @ Oct 20 2015, 15:49) Как... Oct 20 2015, 12:52     MegaVolt Цитата(XVR @ Oct 20 2015, 15:52) В этом с... Oct 20 2015, 13:01      XVR Цитата(MegaVolt @ Oct 20 2015, 16:01) Поч... Oct 20 2015, 13:24    RobFPGA Приветствую!
Цитата(MegaVolt @ Oct 20 20... Oct 20 2015, 13:06      dima32rus Цитата(MegaVolt @ Oct 20 2015, 16:33) Мне... Oct 20 2015, 13:46      RobFPGA Приветствую!
Цитата(MegaVolt @ Oct 20 201... Oct 20 2015, 13:59       MegaVolt Цитата(RobFPGA @ Oct 20 2015, 16:59) ... Oct 20 2015, 14:15        des00 Цитата(MegaVolt @ Oct 20 2015, 22:15) Инт... Oct 20 2015, 15:05         MegaVolt Цитата(des00 @ Oct 20 2015, 18:05) сделат... Oct 20 2015, 15:20          des00 Цитата(MegaVolt @ Oct 20 2015, 22:20) Циф... Oct 20 2015, 15:31        EvgenyNik Цитата(MegaVolt @ Oct 20 2015, 17:15) Про... Oct 20 2015, 15:07 blackfin FYI Oct 20 2015, 12:57 MegaVolt Цитата(blackfin @ Oct 20 2015, 15:57) FYI... Oct 20 2015, 13:15 XVR ЦитатаИменно эта задача. Просто то что спрашиваю я... Oct 20 2015, 13:43 MegaVolt Цитата(XVR @ Oct 20 2015, 16:43) Все, тут... Oct 20 2015, 13:59 XVR Поправка - сами коды счетчика можно передать в пар... Oct 20 2015, 13:46 krux если значение счетчика нужно прям кровь из носу - ... Oct 20 2015, 14:30 MegaVolt Цитата(krux @ Oct 20 2015, 17:30) в поряд... Oct 20 2015, 14:36  RobFPGA Приветствую!
Цитата(MegaVolt)Пропуски и повто... Oct 20 2015, 15:41 krux ЦитатаКак выбирать из регистров если частоты не кр... Oct 20 2015, 14:48 MegaVolt Цитата(krux @ Oct 20 2015, 17:48) по изве... Oct 20 2015, 14:56 krux счетчик из 100 МГц домена переведён на 9 МГц. испо... Oct 20 2015, 15:55 MegaVolt Правильно сформулированная задача - половина решен... Oct 20 2015, 16:27 des00 Цитата(MegaVolt @ Oct 20 2015, 23:27) а д... Oct 20 2015, 16:33  MegaVolt Цитата(des00 @ Oct 20 2015, 19:33) а поде... Oct 20 2015, 16:51 RobFPGA Приветствую!
Цитата(MegaVolt @ Oct 20 20... Oct 20 2015, 17:12  MegaVolt Цитата(RobFPGA @ Oct 20 2015, 20:12) Еще ... Oct 20 2015, 18:51   RobFPGA Приветствую!
Цитата(MegaVolt @ Oct 20 20... Oct 20 2015, 19:12 Golikov A. по моему хэнд шейк позволит передавать данные из 1... Oct 20 2015, 19:24 RobFPGA Приветствую!
Цитата(Golikov A. @ Oct 20 ... Oct 20 2015, 19:32 Golikov A. ЦитатаИ с чего это Вы решили что так будет ?
Да эт... Oct 20 2015, 19:46 EvgenyNik Надеюсь, что будет понятно в продолжение о двух сч... Oct 20 2015, 20:05 Golikov A. а у вас недурная подпись в сообщениях
ЦитатаПоче... Oct 20 2015, 20:07 EvgenyNik Цитата(Golikov A. @ Oct 20 2015, 23:07) а... Oct 20 2015, 21:42  MegaVolt Цитата(EvgenyNik @ Oct 21 2015, 00:42) им... Oct 21 2015, 09:03
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|