|
Q13.1, Cyclone IV: MemoryCompiler/FIFO, данные от АЦП, lpm_fifo_dc |
|
|
|
Oct 11 2015, 08:12
|

Профессионал
    
Группа: Участник
Сообщений: 1 620
Регистрация: 22-06-07
Из: Санкт-Петербург, Россия
Пользователь №: 28 634

|
Пытаюсь сделать FIFO с двумя клоками. Есть проект со своим тактовым сигналом и есть данные от АЦП, сопровождаемые одним клоком (формируемым из проектного клока). Пытаюсь ввести между ними FIFO данных (dual clock) для исключения возможных неоднозначностей при взаимном джиттере этих тактовых сигналов - FIFO, содержащее не менее двух и не более восьми слов. Клок от АЦП может пропадать, эта ситуация (мусор на выходе FIFO) просто игнорируется. Кроме того, это будет необходимо при возможном переходе на мультиплексированную шину от АЦП, когда за один период тактового сигнала передается две выборки. КОроче, не получается... Вот кусочек проекта. Ещё... Кто знает, означает ли примечание (4) в описани ug_fifo.pdf, что сигналы wrempty и rdempty можно использовать только в конфигурациях с разной шириной шин входа и выхода? Для контроля работоспособности проекта используется версия этого блока без FIFO, просто с синхронизатором.
Сообщение отредактировал Genadi Zawidowski - Oct 11 2015, 08:23
Эскизы прикрепленных изображений
Прикрепленные файлы
fifo.zip ( 12.6 килобайт )
Кол-во скачиваний: 9
ug_fifo.pdf ( 716.94 килобайт )
Кол-во скачиваний: 18
|
|
|
|
|
Oct 13 2015, 12:06
|

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

|
Цитата(Genadi Zawidowski @ Oct 13 2015, 14:36)  Попробуйте сделать следующее: С одной стороны счетчик ситает количество записанных слов до определенного значения, при достижении выдается импульс-готовности Этот импульс-готовности передается через кросдомен клоков и с другой стороный начинается вычитка записанных слов. Далее запись уже производиться в другую половину памяти и чтение делается из той половины памяти куда ранее писали данные.. При этом двупортовая память организована по принципу видеобуфера, т.е. в одну половину памяти только пишем, с другой половины памяти только читаем... Можно попробовать сделать на регистрах, вместо использования блочной памяти
--------------------
If it doesn't work in simulation, it won't work on the board.
"Ты живешь в своих поступках, а не в теле. Ты — это твои действия, и нет другого тебя" Антуан де Сент-Экзюпери повесть "Маленький принц"
|
|
|
|
|
Oct 13 2015, 18:07
|

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

|
Цитата(Genadi Zawidowski @ Oct 13 2015, 15:37)  А зачем городить счетчик и кроссдоменную синхронизацию, если в fifo_dc это уже предусмотрено? Или оно на самом деле не работает и надол всё руками? я Вам предложил без фифо. Двухпортовая память + обвязка PS фифо рабочее
--------------------
If it doesn't work in simulation, it won't work on the board.
"Ты живешь в своих поступках, а не в теле. Ты — это твои действия, и нет другого тебя" Антуан де Сент-Экзюпери повесть "Маленький принц"
|
|
|
|
|
Oct 13 2015, 19:21
|
Гуру
     
Группа: Модераторы
Сообщений: 4 011
Регистрация: 8-09-05
Из: спб
Пользователь №: 8 369

|
Цитата(Genadi Zawidowski @ Oct 13 2015, 22:09)  Ну это не пропадание... Уточню: есть всегда идущий системный клок. Он идет наружу как LVDS, тактирует АЦП. От АЦП может идти либо тот же сигнал (текущая ситуация) либо с половинной частотой (мультиплексированная шина) либо сигнала нет (АЦП с поламперным птореблением с режиме передачи отправили в sleep). Не очень понял генерить такты из тактов АЦП даже в том случае, когда сами такты пропадают. Если тактовый от АЦП является производным от системного, то зачем двухклоковое ФИФО? Что клоки от АЦП как-то сильно дрожат или сдвинуты? Может быть действительно, входные данные захватить простым регистром под клоки АЦП, а уже потом их протолкнуть в обычную память с раздельными шинами на запись и на чтение... И работать она будет уже на системной частоте... Вопрос в том, зачем именно ФИФО, если исходный клок берется от системного?
--------------------
www.iosifk.narod.ru
|
|
|
|
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|