_sda 0 26 апреля, 2017 Опубликовано 26 апреля, 2017 · Жалоба Есть две 12-ти битные шины DDR между FPGA, шина AB и шина CD. Частота клока - 300МГц. Для контроля на передающей стороне сейчас отправляется содержимое двоичного счётчика, а на приёмнике стоит счётчик ошибок. Сответственно 4 приёмных регистра SDR - rega,regb,regc,regd. Видно что шина CD принимается совсем без ошибок. А в шине AB наблюдаются странные регулярные ошибки. В шине А бит номер 6 не меандр! В шине B присутствуют странные регулярные "иголки". Если эти же прошивки залить в другую такую же плату - обе шины работают без ошибок. Методом замены шин на передатчике пришёл к выводу что глючит именно приёмная часть (ну или совместно с платой). Питание? Всё обвешано прилично,номинал в норме. Что посоветуете, коллеги? Логически обосновать такое поведение у меня не получилось. На левом рисунке в строке 6 - флаг ошибки. Подвигал немного фазу клока в приёмнике - эффект нулевой. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
RobFPGA 28 26 апреля, 2017 Опубликовано 26 апреля, 2017 · Жалоба Приветствую! Немного подвигать этого мало. Нужно пройти задержкой весь период входного клока и для каждого бита определить границы окна задержки в которых он уверенно принимается. Ну а затем по результатам смотреть - куда и на сколько сдвигать всю шину и достаточно ли этого будет. А может надо будет двигать отдельные биты в шине. чтобы совместить окна. Удачи! Rob Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
_sda 0 26 апреля, 2017 Опубликовано 26 апреля, 2017 · Жалоба Приветствую! Немного подвигать этого мало. Нужно пройти задержкой весь период входного клока и для каждого бита определить границы окна задержки в которых он уверенно принимается. Ну а затем по результатам смотреть - куда и на сколько сдвигать всю шину и достаточно ли этого будет. А может надо будет двигать отдельные биты в шине. чтобы совместить окна. Удачи! Rob Спасибо! Таки только расфазировка бит думаете? Если это так то печально - для каждой платы делать свою калибровку очень длительный процесс. И прошивки для каждой платы свои... Завтра попробую подвигать шестой бит в шине А. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
axalay 0 26 апреля, 2017 Опубликовано 26 апреля, 2017 · Жалоба Приветствую! Немного подвигать этого мало. Нужно пройти задержкой весь период входного клока и для каждого бита определить границы окна задержки в которых он уверенно принимается. Ну а затем по результатам смотреть - куда и на сколько сдвигать всю шину и достаточно ли этого будет. А может надо будет двигать отдельные биты в шине. чтобы совместить окна. Удачи! Rob Нужно смотреть как выровнены линии в шинах по длине, ну а далее задержки Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
krux 8 26 апреля, 2017 Опубликовано 26 апреля, 2017 · Жалоба Нужно написать автомат автокалибровки и калибровать линк при каждом старте. Тогда и частоту до 500 - 600 можно будет вытянуть Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
_sda 0 26 апреля, 2017 Опубликовано 26 апреля, 2017 · Жалоба Нужно написать автомат автокалибровки и калибровать линк при каждом старте. Тогда и частоту до 500 - 600 можно будет вытянуть А как это? В аррии есть возможность изменять параметр iodelay без перекомпиляции? Я этого не знал. Если это действительно так то это очень упростит задачу. Поделитесь методом? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
RobFPGA 28 26 апреля, 2017 Опубликовано 26 апреля, 2017 · Жалоба Приветствую! Думать в этом случае можно о многих причинах так как их (причин а не дум) может быть великое множество. Иногда совсем не очевидных. Поэтому для начала надо начинать с простого - чтобы составить ясную картину проблемы. Калибровку можно делать автоматом - как единожды при запуске или по какомуто событию - так и динамически в процессе работы канала - все ороеделяетсяв особенностями и реализации конкретной системы. Удачи! Rob. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Golikov 0 26 апреля, 2017 Опубликовано 26 апреля, 2017 · Жалоба да вроде бы на выходах стоят элементы задержки управляемые. ALTIOBUF megafunction Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
axalay 0 26 апреля, 2017 Опубликовано 26 апреля, 2017 · Жалоба да вроде бы на выходах стоят элементы задержки управляемые. ALTIOBUF megafunction если колбасит только один бит и трассы норм выровнены, то возможно непропай. У меня подобное было Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Dimidrol 0 26 апреля, 2017 Опубликовано 26 апреля, 2017 · Жалоба _Anatoliy DIFF_TERM включили? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
_sda 0 26 апреля, 2017 Опубликовано 26 апреля, 2017 · Жалоба да вроде бы на выходах стоят элементы задержки управляемые. ALTIOBUF megafunction Спасибо! Старею, рано или поздно это должно было случиться... _Anatoliy DCI включили? Это что? если колбасит только один бит и трассы норм выровнены, то возможно непропай. У меня подобное было Бит не один, больше склоняюсь таки к времянкам. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Dimidrol 0 26 апреля, 2017 Опубликовано 26 апреля, 2017 · Жалоба _Anatoliy DIFF_TERM включили? PS Извиняюсь, перепутал. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
_sda 0 26 апреля, 2017 Опубликовано 26 апреля, 2017 · Жалоба _Anatoliy DIFF_TERM включили? А, это включено. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Inanity 1 26 апреля, 2017 Опубликовано 26 апреля, 2017 · Жалоба Возможно это остатки флюса после пайки! Плату промывали? Непропай или микротрещина в шарике BGA - тоже вариант. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
_sda 0 27 апреля, 2017 Опубликовано 27 апреля, 2017 · Жалоба Пересмотрел весь UG на ALTIOBUF и нигде не нашёл спецификации на интерфейс управления. Как изменять величину задержки по последовательному порту IP? А с другой стороны у меня длительность "глазка" 1600ps , а дискрета изменения задержки для D1 равна 517ps. Всего 3 отсчёта на глазок, имхо не очень большая степень свободы. Хотелось бы услышать мнение тех кто реально этим занимался. Как эта технология ведёт себя в серии,если без автоматики? Ведь я уже прошёл через этот путь, подобрал оптимальные задержки, две платы запустились без проблем а на третьей "проявился" вот этот дефект. Такой большой разброс параметров микросхем? Правда для третьей платы мы покупали у другого поставщика , уж не знаю насколько это важно. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться