ViKo 1 3 августа, 2016 Опубликовано 3 августа, 2016 · Жалоба Значит, скорее всего используется как обычный регистр. А Так проще всего было залезть в chipplaner, найти пин и от него линию до реального регистра со всеми внутренностями. Там в той ячейке много чего напихано. Добрался до IR_FIFO_USERDES. В нем все волшебство и происходит. А вообще SERDES на самом быстром циклон5 гарантированно работает на скорости 875 (j=8), что ниже заявленной Вами. Видел. Но пока эту ( ) затею не оставил. Поскольку серии Cyclone V, Arria V, Stratix V выпускаются по одному 28 нм техпроцессу. Можно надеяться... И вариант - использовать J = 2, DDR, записывать биты, как удастся в память, а при чтении сортировать, как надо. Мне главное - захватить. 500 МГц по Циклону с градацией 7 могут бегать. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
bogaev_roman 0 3 августа, 2016 Опубликовано 3 августа, 2016 · Жалоба Видел. Но пока эту ( ) затею не оставил. Вообще на стратикс4 я подымал serdes (много линий было) на ddr до 1200 (при заявленных 1240 вроде) и работало все как часы без единой ошибки месяцами (и условия были не лучшими, в смысле температуры). Так что хоть и попахивает шаманством, но при определенных условиях может и заработать. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
ViKo 1 3 августа, 2016 Опубликовано 3 августа, 2016 · Жалоба Сдвинул на 180° фазу FCLK, байт захватывается правильно. Осталось только биты реверсировать. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Алга 0 3 августа, 2016 Опубликовано 3 августа, 2016 (изменено) · Жалоба На одной, двух, трех FPGA все будет работать на "ура". Получаешь другую партию FPGA- пошли сбои. Вам это надо? Изменено 3 августа, 2016 пользователем Алга Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
ViKo 1 3 августа, 2016 Опубликовано 3 августа, 2016 · Жалоба На одной, двух, трех FPGA все будет работать на "ура". Получаешь другую партию FPGA- пошли сбои. Вам это надо? :rolleyes: Вот как биты реверсирую в ModelSim. logic [63 : 0] DRev; initial begin forever @(posedge Clk) begin DRev <= { << bit {D}}; end end Есть ли способ проще? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
ViKo 1 3 августа, 2016 Опубликовано 3 августа, 2016 · Жалоба Про bitslip прочитал, но не понял. Use 'rx_channel_data_align' input port Turn on this option to control bit insertion on a channel-by-channel basis to align the word boundaries of the incoming data. The data slips one bit for every pulse on the rx_channel_data_align port. This option is available only if you use a dedicated SERDES block. You can use control characters in the data stream so your logic can have a known pattern to search for. You can compare the data received for each channel, compare to the control character you are looking for, then pulse the rx_channel_data_align port as required until you successfully receive the control character. To use this port, you must meet the following requirements: • The minimum pulse width is one period of the parallel clock in the logic array ( rx_outclock ). • The minimum low time between pulses is one period of the parallel clock. • There is no maximum high or low time. • Valid data is available on the third parallel clock cycle after the rising edge of the rx_channel_data_align signal. Посылая импульс(ы) на rx_channel_data_align[7:0], что я получу на выходе? На данные подавать нули, а на эти биты выравнивания единицы, и смотреть, когда они на выходе вылезут? Так? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
ViKo 1 4 августа, 2016 Опубликовано 4 августа, 2016 · Жалоба Можно было проверить в симуляторе вышесказанное, но не хочу. Там точно не так, как написал. Не смог запустить временнУю симуляцию в Quartus 13.1, только функциональная работает. Похоже, надо установить новейший Quartus, чтобы Cyclone V использовать. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Алга 0 4 августа, 2016 Опубликовано 4 августа, 2016 · Жалоба У Xilinx в общем виде этот процесс следующий. Если через SERDES также, как и 8бит данных, принять FCLK, то на выходе будет код "11110000" или "00001111". FCLK как 9 линия данных. Те в режиме этой калибровки (битслип) должны принять такие данные на этом SERDESe. Если они не совпадают то выполняется сдвиг на 1 бит SERDESом принятых данных (подается сигнал на SERDES означающий сдвиг) . И опять производится сравнение с требуемым кодом. И так повторяются действия пока не совпали. Фактически скользишь по битовому потоку пока не встретил требуемый код байта. Так выравниваются границы принимаемых битовых данных по FCLK, те определяются байты данных. У вас какое количество этих АЦП в системе? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
bogaev_roman 0 4 августа, 2016 Опубликовано 4 августа, 2016 · Жалоба У Xilinx в общем виде этот процесс следующий. У альтеры подход тот же. to ViKo На стр 15,16 с времянками все приведено в упамянутом уже несколько раз доке https://www.altera.com/content/dam/altera-w...re/an/an236.pdf Кстати, про моделирование на вентильном уровне - пытался смоделировать GX в 11 квартусе для stratixiv - альтера подсовывала вместо реального передатчика на определенном уровне детализации функциональную модель, никакие времянки с внутренностями посмотреть не получилось. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
ViKo 1 4 августа, 2016 Опубликовано 4 августа, 2016 · Жалоба У Xilinx в общем виде этот процесс следующий. Если через SERDES также, как и 8бит данных, принять FCLK, то на выходе будет код "11110000" или "00001111". FCLK как 9 линия данных. Те в режиме этой калибровки (битслип) должны принять такие данные на этом SERDESe. Если они не совпадают то выполняется сдвиг на 1 бит SERDESом принятых данных (подается сигнал на SERDES означающий сдвиг) . И опять производится сравнение с требуемым кодом. И так повторяются действия пока не совпали. Фактически скользишь по битовому потоку пока не встретил требуемый код байта. Так выравниваются границы принимаемых битовых данных по FCLK, те определяются байты данных. У вас какое количество этих АЦП в системе? Похоже, у Altera так же работает. Проверю позже. Только я не нахожу, каким образом задать FCLK вместо данных. Не снаружи же переключать? АЦП у меня один был бы. В нем и так 4 входа. Сейчас рассматриваю альтернативные решения. Шариковых корпусов боюсь. На стр 15,16 с времянками все приведено в упомянутом уже несколько раз доке. Спасибо. Я уже все, что можно, скачал. Теперь скачу по документам, как лось по кукурузе. Ага, шаблон-то сам АЦП выдаст, когда запрограммирую. Тот, который умеет. Этот умеет. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Алга 0 4 августа, 2016 Опубликовано 4 августа, 2016 · Жалоба Ничего переключать не надо. Этот АЦП следующие выходы: 8 линий данных, FCLK (frame clk), LCLK. (все дифф. сигналы). Трудно в ФПГА сделать 9 SERDESов? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
ViKo 1 4 августа, 2016 Опубликовано 4 августа, 2016 · Жалоба Ничего переключать не надо. Этот АЦП следующие выходы: 8 линий данных, FCLK (frame clk), LCLK. (все дифф. сигналы). Трудно в ФПГА сделать 9 SERDESов? Ага, сообразил. 8 входов я в одной мегафункции сделал. Они же потом в виде 64-битовой шины в память пойдут. А биты от 9-го канала в память записывать не надо, а выдавать для проверки сдвига. Да и зачем, если АЦП может выдать шаблон? А еще боюсь не найти генератор на 1 GHz. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Алга 0 4 августа, 2016 Опубликовано 4 августа, 2016 · Жалоба есть и такой, допустим фирмы Abracon. С digikey.com или посредники, кто с ними работает, у вас присутствуют. Как у Алтеры производится установка битклока в центр данных? Эта подстройка (калиброрвка)? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
ViKo 1 4 августа, 2016 Опубликовано 4 августа, 2016 · Жалоба Как у Алтеры производится установка битклока в центр данных? Эта подстройка (калиброрвка)? ФАПЧ используется, в ней и создаются такты на бит и на все слово. А фазу можно выбрать из 8 вариантов (в документации видел 16, наверное, для другого семейства). Так что на любой бит сдвинуться можно. Ну а попасть в нужное место одного бита - похоже, никак. Задержками входных сигналов можно, наверное, подстроиться. В Arria есть DPA - подстройка фазы. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Алга 0 4 августа, 2016 Опубликовано 4 августа, 2016 · Жалоба Кто эту подстройку выполняет? Встроенный в SERDES автомат или пользователь сам должен организовать этот процесс подстройки посредством внешнего автомата? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться