|
Вытащить из Стратикс 4 8*1.25ГГц, без использования SERDES |
|
|
|
Sep 14 2011, 11:05
|
Вечный ламер
     
Группа: Модераторы
Сообщений: 7 248
Регистрация: 18-03-05
Из: Томск
Пользователь №: 3 453

|
Добрый день уважаемые гуру!! Делаю что-то, отдаленно похожее на http://www.mvd-fpga.com/cores/en/up_converter_overview.html использую ЦАП AD9739A, с частотой оцифровки 2.5ГГц. Интерфейс в ЦАПе : двух канальный LVDS DDR, что требует частоты 625МГц на канал. По даташитам для стратикса 4 спидгрейта 3 тактовое дерево может работать на частотах до 717 МГц, как бы не вижу проблем что бы выдать через ддр регистры поток на частоте 625МГЦ, но в даташите указано достаточно вольно Цитата All Stratix IV E, GX, and GT devices have built-in serializer/deserializer (SERDES) circuitry that supports high-speed LVDS interfaces at data rates of up to 1.6 Gbps. SERDES circuitry is configurable to support source-synchronous communication protocols such as Utopia, Rapid I/O, XSBI, small form factor interface (SFI), serial peripheral interface (SPI), and asynchronous protocols such as SGMII and Gigabit Etherne Так можно ли вытащить ДДР поток на частоте 625 МГц без SERDES ? Ответ на этот вопрос в документации не нашел. Может кто делал что-то подобное? Спасибо! UPD. или отложить стратикс 4 и поставить виртекс 6 ?
--------------------
|
|
|
|
|
Sep 14 2011, 11:50
|
Вечный ламер
     
Группа: Модераторы
Сообщений: 7 248
Регистрация: 18-03-05
Из: Томск
Пользователь №: 3 453

|
Цитата(disel @ Sep 14 2011, 06:37)  А почему SERDES не хотите использовать никак не пойму? 1. При генерации корки SERDES с параметрами channel number = 1, deserialiation factor = 2, она вырождается в ддр триггер занимающий один stratix_io %) Цитата(Hoodwin @ Sep 14 2011, 06:37)  1. А чего пишут про скорость DDR памяти? Какая там частота предельная для DDR? DDR3 up to 1,067 Mbps/533 MHz, отчасти поэтому и занятно стало Цитата 2. А если взять ddr_io и собрать на них шину на 625 МГц, что на это Timing Analyzer говорит? до этого еще не дошел %)
--------------------
|
|
|
|
|
Sep 14 2011, 15:44
|
Профессионал
    
Группа: Свой
Сообщений: 1 535
Регистрация: 20-02-05
Из: Siegen
Пользователь №: 2 770

|
Насколько я смог вкурить даташит, там в I/O есть параллельно SERDES, который не умеет DDR, и пара DDR регистров. Поэтому IMHO надо поставить ALT_DDIO, а на каждый вход ему - сериализатор 7:1 на логике (просто сдвиговый регистр). Его правда придется ручками скорее всего зафиксировать, чтоб он на 625 пошел, но думаю реально. Цитата(disel @ Sep 14 2011, 15:55)  Это понятно, зато с SERDES можно работать не на 625, а на 312,5 мгц. Вы возможно не поняли, нужно 625 DDR = 1,25 Gbps на каждом канале. Было бы 312 - не стоял бы вопрос.
|
|
|
|
|
Sep 14 2011, 19:51
|
Знающий
   
Группа: Свой
Сообщений: 610
Регистрация: 22-04-05
Пользователь №: 4 410

|
Цитата(DmitryR @ Sep 14 2011, 18:44)  Вы возможно не поняли, нужно 625 DDR = 1,25 Gbps на каждом канале. Было бы 312 - не стоял бы вопрос. Вполне понял. Сериализатор 4 -> 1 при работе на частоте 312,5МГц и дает искомые 1,25 ГБита. Я не очень понял зачем заставлять схему в плисе работать на частоте 625 МГц. Экономия ресурсов конечно имеет место быть, но проблемы с выполнением констрейнов мне кажется этого не стоят. ЗЫ. Этот цап уже около года юзаю.
|
|
|
|
|
Sep 14 2011, 20:01
|
Знающий
   
Группа: Свой
Сообщений: 614
Регистрация: 12-06-09
Из: рядом с Москвой
Пользователь №: 50 219

|
Цитата(des00 @ Sep 14 2011, 15:05)  ... UPD. или отложить стратикс 4 и поставить виртекс 6 ? 625 МГц мне кажется даже для Стратихса4 многовато. А с сердезами на 8 потоков по 312МГц у нас такая гравицапа на даже на Virtex5 VSX35 (2й скорости) завелась.
|
|
|
|
|
Sep 15 2011, 06:10
|
Вечный ламер
     
Группа: Модераторы
Сообщений: 7 248
Регистрация: 18-03-05
Из: Томск
Пользователь №: 3 453

|
Цитата(disel @ Sep 14 2011, 13:51)  Вполне понял. Сериализатор 4 -> 1 при работе на частоте 312,5МГц и дает искомые 1,25 ГБита. Я не очень понял зачем заставлять схему в плисе работать на частоте 625 МГц. Цитата(VladimirB @ Sep 14 2011, 14:01)  625 МГц мне кажется даже для Стратихса4 многовато. А с сердезами на 8 потоков по 312МГц у нас такая гравицапа на даже на Virtex5 VSX35 (2й скорости) завелась. Если я правильно понял, вы сделали так : с цапа заходит 625МГц идет на PLL, на ней получаете 312.5 и 1250 МГц, работаете по 8 ми фазам 312,5, собираете 8 фаз в виде 2х4 и в порт, где SERDES работает на 1250. Мне тут непонятны вот какие моменты : 1. У стратиксов, судя по даташиту DDR регистры на выходе SERDES не используются. 2. Если DDR не используются значит по тактовому дереву нужно тащить 1.25 ГГц, тогда как по даташиту оно держит всего 717/800МГц. 3. На передатчик нужно сразу угрохать одну ПЛЛ. Хотя все можно сделать проще, взять 625МГц, пропустить через PLL, на которой получить 312,5, взять 8 фаз по 312.5, собрать логику (на одном LE 2в1 мукс) которая делает 4 фазы по 625 (логика у стратикса должна работать на таких частотах) и выплюнуть через DDR регистр наружу (625 МГц по глобальной тактовой линии должны пролезть). Решение как бы проще, без сердесов, плл и т.д. но вот почему об этом в даташите ни слова. ЗЫ. взял мегавизард, сгенерировал корку ALTVDS с параметрами : 14 каналов, deserialization 4в1, inclock/datarate/outclock = 312,5/1250/625MHz, PLL внутри корки, чип i3, TQ дает ошибку внутри SERDES, при передачи сигнала из домена частоты 312.5МГц в домен 1250МГц %)
--------------------
|
|
|
|
|
Sep 15 2011, 06:30
|
Знающий
   
Группа: Свой
Сообщений: 610
Регистрация: 22-04-05
Пользователь №: 4 410

|
Цитата(des00 @ Sep 15 2011, 09:10)  Если я правильно понял, вы сделали так : с цапа заходит 625МГц идет на PLL, на ней получаете 312.5 и 1250 МГц, работаете по 8 ми фазам 312,5, собираете 8 фаз в виде 2х4 и в порт, где SERDES работает на Все так кроме частот ПЛЛ. У меня Virtex6, поэтому про альтеру ничем помочь не могу. На его сердес работающий в режиме 4 в 1 подается 500 МГц (у меня частота ниже - 2000 мсемплов ). Поэтому ничего страшного по клоковому дереву не ходит. Цитата(des00 @ Sep 15 2011, 09:10)  1. У стратиксов, судя по даташиту DDR регистры на выходе SERDES не используются. 2. Если DDR не используются значит по тактовому дереву нужно тащить 1.25 ГГц, тогда как по даташиту оно держит всего 717/800МГц. 3. На передатчик нужно сразу угрохать одну ПЛЛ. Спасибо, понял причину вопроса.
|
|
|
|
|
Sep 15 2011, 06:58
|
Вечный ламер
     
Группа: Модераторы
Сообщений: 7 248
Регистрация: 18-03-05
Из: Томск
Пользователь №: 3 453

|
Цитата(des00 @ Sep 15 2011, 00:10)  Хотя все можно сделать проще, взять 625МГц, пропустить через PLL, на которой получить 312,5, взять 8 фаз по 312.5, собрать логику (на одном LE 2в1 мукс) которая делает 4 фазы по 625 (логика у стратикса должна работать на таких частотах) и выплюнуть через DDR регистр наружу (625 МГц по глобальной тактовой линии должны пролезть). Решение как бы проще, без сердесов, плл и т.д. но вот почему об этом в даташите ни слова. собрал тестовый проектик Код module test (input iclk, output [13 : 0] odat, output oclk);
wire locked, clk2, clk; pll pll (1'b0, iclk, clk, clk2, locked); reg [55:0] tx_in;
always_ff @(posedge clk) begin tx_in[13 : 0] <= tx_in[13 : 0] + 1'b1; tx_in[27 : 14] <= tx_in[27 : 14] + 1'b1; tx_in[41 : 28] <= tx_in[41 : 28] + 1'b1; tx_in[55 : 42] <= tx_in[55 : 42] + 1'b1; end
reg ff; reg [27:0] tx_in_reg;
always_ff @(posedge clk2) begin ff <= ~ff; tx_in_reg <= ff ? tx_in[55 : 28] : tx_in[27 : 0]; end ddr ddr ( .aclr ( 1'b0), .datain_h (tx_in_reg[27 : 14]), .datain_l (tx_in_reg[13 : 0]), .outclock (clk2), .dataout (odat)); endmodule времянки выполнились, но оказывается если i3 заморозить, то максимальная нагрузка на тактовое дерево 616МГц (!!!) %(
--------------------
|
|
|
|
|
Sep 15 2011, 07:29
|
Профессионал
    
Группа: Свой
Сообщений: 1 535
Регистрация: 20-02-05
Из: Siegen
Пользователь №: 2 770

|
Цитата(disel @ Sep 14 2011, 22:51)  Вполне понял. Сериализатор 4 -> 1 при работе на частоте 312,5МГц и дает искомые 1,25 ГБита. Да, беда только что Stratix IV так работать не умеет: на выходе сериализатора у него нет DDR, а максимально поддерживаемая частота - 800. Цитата(disel @ Sep 14 2011, 22:51)  Я не очень понял зачем заставлять схему в плисе работать на частоте 625 МГц. А потому что кроме сериализатора без DDR есть только одна пара DDR регистров. Аппаратный сериализатор объединить с DDR последовательно я не вижу возможности ни по даташиту, ни по параметрам соответствующих мегафункций. И буду рад если кто объяснит мне, что тут я ошибаюсь.
|
|
|
|
|
Sep 15 2011, 07:30
|
Знающий
   
Группа: Свой
Сообщений: 614
Регистрация: 12-06-09
Из: рядом с Москвой
Пользователь №: 50 219

|
Цитата(des00 @ Sep 15 2011, 10:10)  Если я правильно понял, вы сделали так : с цапа заходит 625МГц идет на PLL, на ней получаете 312.5 и 1250 МГц, работаете по 8 ми фазам 312,5, собираете 8 фаз в виде 2х4 и в порт, где SERDES работает на 1250. Мне тут непонятны вот какие моменты : 1. У стратиксов, судя по даташиту DDR регистры на выходе SERDES не используются. 2. Если DDR не используются значит по тактовому дереву нужно тащить 1.25 ГГц, тогда как по даташиту оно держит всего 717/800МГц. 3. На передатчик нужно сразу угрохать одну ПЛЛ. ... У Xilinx на Virtex 5,6 возможны два варианта и оба работают: 1) C ЦАПА 625 МГц через глобальный клок на PLL, с неё 312.5МГц на FPGA фабрику для работы всей логики и 625МГц на 2 массива SERDESов 4 в 1, работающих в DDR режиме (в отличии от Альтеры). 2) С ЦАПа 625 МГц через локальный клок на BUFIO, от которого работают DDR SERDESы 4 в 1 и одновременно 625МГЦ подаётся на региональный клоковый буфер BUFR, который делит такт в два раза до 312.5МГц (или любое другое число раз) и тактирует клоковый регион Виртекса.
|
|
|
|
|
Sep 15 2011, 07:56
|
Вечный ламер
     
Группа: Модераторы
Сообщений: 7 248
Регистрация: 18-03-05
Из: Томск
Пользователь №: 3 453

|
Цитата(DmitryR @ Sep 15 2011, 01:29)  Да, беда только что Stratix IV так работать не умеет: на выходе сериализатора у него нет DDR, а максимально поддерживаемая частота - 800. осталось только выяснить с какого перепугу альтера пишет что Цитата High-speed LVDS I/O support with serializer/deserializer (SERDES), dynamic phase alignment (DPA), and soft-CDR circuitry at data rates up to 1.6 Gbps Цитата(VladimirB @ Sep 15 2011, 01:30)  У Xilinx на Virtex 5,6 возможны два варианта и оба работают: спасибо, посмотрю на виртексы 6 и потрясу дистрибьюторов насчет скидок %)
--------------------
|
|
|
|
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|