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

Вытащить из Стратикс 4 8*1.25ГГц

Добрый день уважаемые гуру!!

 

Делаю что-то, отдаленно похожее на 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 ?

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


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

1. А чего пишут про скорость DDR памяти? Какая там частота предельная для DDR?

2. А если взять ddr_io и собрать на них шину на 625 МГц, что на это Timing Analyzer говорит?

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


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

А почему SERDES не хотите использовать никак не пойму?

1. При генерации корки SERDES с параметрами channel number = 1, deserialiation factor = 2, она вырождается в ддр триггер занимающий один stratix_io %)

 

1. А чего пишут про скорость DDR памяти? Какая там частота предельная для DDR?

DDR3 up to 1,067 Mbps/533 MHz, отчасти поэтому и занятно стало

 

2. А если взять ddr_io и собрать на них шину на 625 МГц, что на это Timing Analyzer говорит?

до этого еще не дошел %)

 

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


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

1. При генерации корки SERDES с параметрами channel number = 1, deserialiation factor = 2, она вырождается в ддр триггер занимающий один stratix_io %)

 

Это понятно, зато с SERDES можно работать не на 625, а на 312,5 мгц. Timing Analyzer меньше напрягаться будет. А SERDES там все равно есть. Понятно если бы его не было.

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


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

Насколько я смог вкурить даташит, там в I/O есть параллельно SERDES, который не умеет DDR, и пара DDR регистров. Поэтому IMHO надо поставить ALT_DDIO, а на каждый вход ему - сериализатор 7:1 на логике (просто сдвиговый регистр). Его правда придется ручками скорее всего зафиксировать, чтоб он на 625 пошел, но думаю реально.

 

Это понятно, зато с SERDES можно работать не на 625, а на 312,5 мгц.

 

Вы возможно не поняли, нужно 625 DDR = 1,25 Gbps на каждом канале. Было бы 312 - не стоял бы вопрос.

 

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


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

Вы возможно не поняли, нужно 625 DDR = 1,25 Gbps на каждом канале. Было бы 312 - не стоял бы вопрос.

 

Вполне понял. Сериализатор 4 -> 1 при работе на частоте 312,5МГц и дает искомые 1,25 ГБита. Я не очень понял зачем заставлять схему в плисе работать на частоте 625 МГц. Экономия ресурсов конечно имеет место быть, но проблемы с выполнением констрейнов мне кажется этого не стоят.

 

ЗЫ. Этот цап уже около года юзаю.

 

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


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

...

UPD. или отложить стратикс 4 и поставить виртекс 6 ?

 

625 МГц мне кажется даже для Стратихса4 многовато.

 

А с сердезами на 8 потоков по 312МГц у нас такая гравицапа на даже на Virtex5 VSX35 (2й скорости) завелась.

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


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

Вполне понял. Сериализатор 4 -> 1 при работе на частоте 312,5МГц и дает искомые 1,25 ГБита. Я не очень понял зачем заставлять схему в плисе работать на частоте 625 МГц.

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МГц %)

 

 

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


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

Если я правильно понял, вы сделали так : с цапа заходит 625МГц идет на PLL, на ней получаете 312.5 и 1250 МГц, работаете по 8 ми фазам 312,5, собираете 8 фаз в виде 2х4 и в порт, где SERDES работает на

 

Все так кроме частот ПЛЛ. У меня Virtex6, поэтому про альтеру ничем помочь не могу. На его сердес работающий в режиме 4 в 1 подается 500 МГц (у меня частота ниже - 2000 мсемплов ). Поэтому ничего страшного по клоковому дереву не ходит.

 

1. У стратиксов, судя по даташиту DDR регистры на выходе SERDES не используются.

2. Если DDR не используются значит по тактовому дереву нужно тащить 1.25 ГГц, тогда как по даташиту оно держит всего 717/800МГц.

3. На передатчик нужно сразу угрохать одну ПЛЛ.

 

Спасибо, понял причину вопроса.

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


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

Хотя все можно сделать проще, взять 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МГц (!!!) %(

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


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

Вполне понял. Сериализатор 4 -> 1 при работе на частоте 312,5МГц и дает искомые 1,25 ГБита.

Да, беда только что Stratix IV так работать не умеет: на выходе сериализатора у него нет DDR, а максимально поддерживаемая частота - 800.

 

Я не очень понял зачем заставлять схему в плисе работать на частоте 625 МГц.

А потому что кроме сериализатора без DDR есть только одна пара DDR регистров. Аппаратный сериализатор объединить с DDR последовательно я не вижу возможности ни по даташиту, ни по параметрам соответствующих мегафункций. И буду рад если кто объяснит мне, что тут я ошибаюсь.

 

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


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

Если я правильно понял, вы сделали так : с цапа заходит 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МГц (или любое другое число раз) и тактирует клоковый регион Виртекса.

 

 

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


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

Да, беда только что 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

 

 

У Xilinx на Virtex 5,6 возможны два варианта и оба работают:

спасибо, посмотрю на виртексы 6 и потрясу дистрибьюторов насчет скидок %)

 

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


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

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

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

Гость
Ответить в этой теме...

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

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

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

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

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

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