Перейти к содержанию
    

Значит, скорее всего используется как обычный регистр. А Так проще всего было залезть в chipplaner, найти пин и от него линию до реального регистра со всеми внутренностями.

Там в той ячейке много чего напихано. Добрался до IR_FIFO_USERDES. В нем все волшебство и происходит.

 

А вообще SERDES на самом быстром циклон5 гарантированно работает на скорости 875 (j=8), что ниже заявленной Вами.

Видел. Но пока эту ( ) затею не оставил. Поскольку серии Cyclone V, Arria V, Stratix V выпускаются по одному 28 нм техпроцессу. Можно надеяться...

И вариант - использовать J = 2, DDR, записывать биты, как удастся в память, а при чтении сортировать, как надо. Мне главное - захватить. 500 МГц по Циклону с градацией 7 могут бегать.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Видел. Но пока эту ( ) затею не оставил.

Вообще на стратикс4 я подымал serdes (много линий было) на ddr до 1200 (при заявленных 1240 вроде) и работало все как часы без единой ошибки месяцами (и условия были не лучшими, в смысле температуры). Так что хоть и попахивает шаманством, но при определенных условиях может и заработать.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Сдвинул на 180° фазу FCLK, байт захватывается правильно. Осталось только биты реверсировать.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

На одной, двух, трех FPGA все будет работать на "ура". Получаешь другую партию FPGA- пошли сбои.

Вам это надо?

Изменено пользователем Алга

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

На одной, двух, трех FPGA все будет работать на "ура". Получаешь другую партию FPGA- пошли сбои.

Вам это надо?

:rolleyes:

Вот как биты реверсирую в ModelSim.

    logic    [63 : 0]    DRev;
    initial begin
        forever @(posedge Clk) begin
            DRev <= { << bit {D}};
        end
    end

Есть ли способ проще?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Про 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], что я получу на выходе? На данные подавать нули, а на эти биты выравнивания единицы, и смотреть, когда они на выходе вылезут? Так?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Можно было проверить в симуляторе вышесказанное, но не хочу. Там точно не так, как написал.

Не смог запустить временнУю симуляцию в Quartus 13.1, только функциональная работает. Похоже, надо установить новейший Quartus, чтобы Cyclone V использовать.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

У Xilinx в общем виде этот процесс следующий.

Если через SERDES также, как и 8бит данных, принять FCLK, то на выходе будет код "11110000" или "00001111". FCLK как 9 линия данных.

Те в режиме этой калибровки (битслип) должны принять такие данные на этом SERDESe. Если они не совпадают то выполняется сдвиг на 1 бит SERDESом принятых данных (подается сигнал на SERDES означающий сдвиг) . И опять производится сравнение с требуемым кодом. И так повторяются действия пока не совпали. Фактически скользишь по битовому потоку пока не встретил требуемый код байта. Так выравниваются границы принимаемых битовых данных по FCLK, те определяются байты данных.

У вас какое количество этих АЦП в системе?

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

У Xilinx в общем виде этот процесс следующий.

У альтеры подход тот же.

to ViKo

На стр 15,16 с времянками все приведено в упамянутом уже несколько раз доке https://www.altera.com/content/dam/altera-w...re/an/an236.pdf

Кстати, про моделирование на вентильном уровне - пытался смоделировать GX в 11 квартусе для stratixiv - альтера подсовывала вместо реального передатчика на определенном уровне детализации функциональную модель, никакие времянки с внутренностями посмотреть не получилось.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

У Xilinx в общем виде этот процесс следующий.

Если через SERDES также, как и 8бит данных, принять FCLK, то на выходе будет код "11110000" или "00001111". FCLK как 9 линия данных.

Те в режиме этой калибровки (битслип) должны принять такие данные на этом SERDESe. Если они не совпадают то выполняется сдвиг на 1 бит SERDESом принятых данных (подается сигнал на SERDES означающий сдвиг) . И опять производится сравнение с требуемым кодом. И так повторяются действия пока не совпали. Фактически скользишь по битовому потоку пока не встретил требуемый код байта. Так выравниваются границы принимаемых битовых данных по FCLK, те определяются байты данных.

У вас какое количество этих АЦП в системе?

Похоже, у Altera так же работает. Проверю позже. Только я не нахожу, каким образом задать FCLK вместо данных. Не снаружи же переключать?

АЦП у меня один был бы. В нем и так 4 входа.

Сейчас рассматриваю альтернативные решения. Шариковых корпусов боюсь.

 

На стр 15,16 с времянками все приведено в упомянутом уже несколько раз доке.

Спасибо. Я уже все, что можно, скачал. Теперь скачу по документам, как лось по кукурузе.

Ага, шаблон-то сам АЦП выдаст, когда запрограммирую. Тот, который умеет. Этот умеет.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Ничего переключать не надо. Этот АЦП следующие выходы: 8 линий данных, FCLK (frame clk), LCLK. (все дифф. сигналы).

Трудно в ФПГА сделать 9 SERDESов?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Ничего переключать не надо. Этот АЦП следующие выходы: 8 линий данных, FCLK (frame clk), LCLK. (все дифф. сигналы).

Трудно в ФПГА сделать 9 SERDESов?

Ага, сообразил. 8 входов я в одной мегафункции сделал. Они же потом в виде 64-битовой шины в память пойдут. А биты от 9-го канала в память записывать не надо, а выдавать для проверки сдвига.

Да и зачем, если АЦП может выдать шаблон?

А еще боюсь не найти генератор на 1 GHz.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

есть и такой, допустим фирмы Abracon. С digikey.com или посредники, кто с ними работает, у вас присутствуют.

 

Как у Алтеры производится установка битклока в центр данных?

 

Эта подстройка (калиброрвка)?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Как у Алтеры производится установка битклока в центр данных?

Эта подстройка (калиброрвка)?

ФАПЧ используется, в ней и создаются такты на бит и на все слово. А фазу можно выбрать из 8 вариантов (в документации видел 16, наверное, для другого семейства). Так что на любой бит сдвинуться можно. Ну а попасть в нужное место одного бита - похоже, никак. Задержками входных сигналов можно, наверное, подстроиться.

В Arria есть DPA - подстройка фазы.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Кто эту подстройку выполняет?

Встроенный в SERDES автомат или пользователь сам должен организовать этот процесс подстройки

посредством внешнего автомата?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
К сожалению, ваш контент содержит запрещённые слова. Пожалуйста, отредактируйте контент, чтобы удалить выделенные ниже слова.
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...