AiS 0 13 июля, 2011 Опубликовано 13 июля, 2011 (изменено) · Жалоба пришла идея описать входные клоки вот так: create_clock -name {clk_a} -period 2.000 -waveform { 0.000 1.000 } [get_ports {clk_a}] create_clock -name {clk_d} -period 2.000 -waveform { 0.500 1.500 } [get_ports {clk_d}] create_clock -name {clk_b} -period 2.000 -waveform { 1.000 2.000 } [get_ports {clk_b}] create_clock -name {clk_c} -period 2.000 -waveform { 1.500 2.500 } [get_ports {clk_c}] не знаю верно или нет, но вроде бы так они стоят именно сдвинутыми на 0.5 нс. Однако общую картину это не исправило. Где-то в DDR происходит разная задежка между каналами при выдачи данных. То есть, например, данные из первого канала DDR приемники обрабатывают два такта, а из второго - три Вот здесь я описывал сигналы, гуляющие по плате, и пытался словить их в нужное время внутри ПЛИС. http://electronix.ru/forum/index.php?showtopic=91823 спасибо за ссылку, попробую изучить Изменено 13 июля, 2011 пользователем AiS Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
faa 4 13 июля, 2011 Опубликовано 13 июля, 2011 (изменено) · Жалоба на вход FPGA поступают данные от 4х АЦП с частотой 500МГц (по обеим фронтам частоты 250МГц) Частоты АЦП (Fd_1, Fd_2, Fd_3, Fd_4) сдвинуты друг относительно друга на 0.5 нс. Данные принимаются DDR-приемниками, а затем пишутся в двухпортовую память, после чего уже с меньшей скоростью подвергаются дальнейшей обработке. Откуда берете тактовую частоту для DDR-приемников? Если в с выхода АЦП (DRY для ADS5463), то для такой схемы (и без сдвига фазы тоже) для похожих АЦП надо использовать внешний сигнал. Они не умеют синхронизироваться - в дш ADS5463 аглицким по-белому написано "при параллельном включении для приема данных использовать внешнюю синхронизацию", т.е. сигнал DRY может иметь разную фазу (со сдвигом на 180гр) для разных АЦП. Изменено 13 июля, 2011 пользователем faa Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
AiS 0 13 июля, 2011 Опубликовано 13 июля, 2011 (изменено) · Жалоба faa, хотите сказать, что даже если частоты дискретизации были синхронизованы на входах АЦП, на выходах они могут быть какие угодно? Изменено 13 июля, 2011 пользователем AiS Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
faa 4 13 июля, 2011 Опубликовано 13 июля, 2011 (изменено) · Жалоба faa, хотите сказать, что даже если частоты дискретизации были синхронизованы на входах АЦП, на выходах они могут быть какие угодно? Хочу сказать только то, что если CLKIN на всех АЦП (для ADS5463) во одной фазе, то импульсы на выходах DRY могут быть на разных АЦП в противофазе (ес-но с частотой CLKIN / 2). На практике подтверждено, причем повторяемости практически нет - процесс случаен. Стр.28 дш: Referencing Figure 1, the polarity of DRY with respect to the sample N data output transition is undetermined because of the unknown startup logic level of the clock divider that generates the DRY signal (DRY is a frequency divide-by-two of CLK). Either the rising or the falling edge of DRY will be coincident with sample N and the polarity of DRY could invert when power is cycled off/on. Data capture from the transition and not the polarity of DRY is recommended, but not required. If the synchronization of multiple ADS5463/ADS54RF63 devices is required, it might be necessary to use a form of the CLKIN signal rather than DRY to capture the data. Изменено 13 июля, 2011 пользователем faa Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
_sda 0 13 июля, 2011 Опубликовано 13 июля, 2011 · Жалоба А можно узнать откуда эта информация?У меня в ds такого нет.На 28-й странице описывается опора. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
AiS 0 13 июля, 2011 Опубликовано 13 июля, 2011 · Жалоба А можно узнать откуда эта информация?У меня в ds такого нет.На 28-й странице описывается опора. у меня на 36 стр faa, спасибо за комментарий, завтра буду все проверять, может действительно в этом причина Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
faa 4 13 июля, 2011 Опубликовано 13 июля, 2011 (изменено) · Жалоба А можно узнать откуда эта информация?У меня в ds такого нет.На 28-й странице описывается опора. На ADS5463 и ADS54RF63 дш разные. UPD: были :) Теперь в одном. На стр.36 Studying the timing characteristics, it can be seen that the ADS54RF63 offers more tightly controlled timing parameters than the ADS5463. Depending on the setup/hold requirements of the FPGA in use, it may be possible to use the DRY from a single ADS54RF63 to latch data into the FPGA from multiple ADS54RF63. This would prove much more difficult with the ADS5463 at full clock speed due to more restrictive timing parameters. Мы, ЕМНИП, обсуждали в прошлой ветке. спасибо за комментарий, завтра буду все проверять, может действительно в этом причина Я уперся в этот факт экспериментально - видимо читал дш по диагонали :( Но схемотехника позволяла обойти этот момент - обошли ;) Изменено 13 июля, 2011 пользователем faa Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
AiS 0 14 июля, 2011 Опубликовано 14 июля, 2011 (изменено) · Жалоба faa, похоже ноги нашей проблемы растут именно отсюда (еще раз спасибо, что обратили мое внимание!!!). опять-таки у меня дш на ads5463 хранился еще за 2006 год, а там этой инфы не было, соответственно можно было еще очень долго причину искать. если не секрет, как именно обходили? использовали входные клоки для приема? нам уже поздно так делать, плата смонтирована... я вот пока хочу попробовать подцепить 500МГц на матрицу и через внутренний PLL организовать частоты для приема данных с каждого АЦП Изменено 14 июля, 2011 пользователем AiS Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
_sda 0 14 июля, 2011 Опубликовано 14 июля, 2011 · Жалоба я вот пока хочу попробовать подцепить 500МГц на матрицу и через внутренний PLL организовать частоты для приема данных с каждого АЦП Думаю не стоит этого делать.Посчитайте,какой у Вас получится SNR при том джиттере, который имеет PLL FPGA. Если же использовать созданный клок только для приёма данных то да,у Вас появится инструмент для изменения фазы клока относительно данных. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
_sda 0 14 июля, 2011 Опубликовано 14 июля, 2011 · Жалоба Отправил. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
faa 4 14 июля, 2011 Опубликовано 14 июля, 2011 (изменено) · Жалоба faa, похоже ноги нашей проблемы растут именно отсюда (еще раз спасибо, что обратили мое внимание!!!). опять-таки у меня дш на ads5463 хранился еще за 2006 год, а там этой инфы не было, соответственно можно было еще очень долго причину искать. если не секрет, как именно обходили? использовали входные клоки для приема? нам уже поздно так делать, плата смонтирована... я вот пока хочу попробовать подцепить 500МГц на матрицу и через внутренний PLL организовать частоты для приема данных с каждого АЦП С клок-дистрибутера (ad9517) был заведен LVDS тактовый сигнал на ПЛИС (причем на каждый канал свой ;)). Можно попытаться завести тактовый сигнал для входных триггеров с PLL. И сдвиг по фазе для попадания в окно данных можно подобрать. Я так делал на 3 спартане на DCM. UPD: Подать на один, с него на вторичные по числу АЦП, чтобы фазу двигать по каждому каналу индивидуально. Если ресурсы ПЛИС позволяют, конечно. Заодно этим же сдвигом фазы можно будет компенсировать разбег длин дорожек от каждого АЦП к ПЛИС (если они не выравнивались). Только не забудьте, что в корпусе ПЛИС от вывода до кристалла тоже есть связи. И их длина тоже очень сильно разбегается (для V5-FF676 от 2 до 22 мм). А 22 мм это почти 150пс задержки распространения. Думаю не стоит этого делать.Посчитайте,какой у Вас получится SNR при том джиттере, который имеет PLL FPGA. А причем тут этот джиттер и SNR? АЦП затактированы, как я понял, нормально с клок-дистриба. А этот джиттер будет влиять на точность попадания в окно данных с выхода АЦП. А там окно вполне приличное. На 400МГц у меня получилось от 750пс чуть не до 1.4нс. Можно подвигать фазу в ПЛЛ. Или задержку покрутить во входных блоках (если на там есть). А можно и то и то порегулировать. И гарантировано попасть в это окно. Изменено 14 июля, 2011 пользователем faa Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
_sda 0 14 июля, 2011 Опубликовано 14 июля, 2011 · Жалоба А причем тут этот джиттер и SNR? Не так понял топик-стартера,уже откорректировал сообщение. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
AiS 0 19 июля, 2011 Опубликовано 19 июля, 2011 (изменено) · Жалоба всем спасибо за советы и ответы! причину нестабильности правильно описал faa вот здесь http://electronix.ru/forum/index.php?s=&am...st&p=951533 так как было поздно делать переразводку, дабы принимать данные по входным клокам, сделала проще: подала выходные синхроимпульсы первого АЦП на PLL и дабы ничего не переделывать в проекте сформировала 250 мегагерцовые частоты для остальных каналов со сдвигом в 0.5 наны между каналами. По включении один канал все еще отставал на такт, но на этот раз это оказалась стабильная задержка. TimeQuest показал, что не успевает сформироваться сигнал разрешения записи в память для данного канала. мультицикл помог разрешить эту проблему. Проблема правильного описания сдвига между входными частотами отпала сама собой, после заведения PLL. Хотя, судя по всему, для первоначальной схемы вот это является верным: create_clock -name {clk_a} -period 4.000 -waveform { 0.000 2.000 } [get_ports {clk_a}] create_clock -name {clk_d} -period 4.000 -waveform { 0.500 2.500 } [get_ports {clk_d}] create_clock -name {clk_b} -period 4.000 -waveform { 1.000 3.000 } [get_ports {clk_b}] create_clock -name {clk_c} -period 4.000 -waveform { 1.500 4.500 } [get_ports {clk_c}] На данный момент все работает! Изменено 19 июля, 2011 пользователем AiS Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
faa 4 19 июля, 2011 Опубликовано 19 июля, 2011 · Жалоба На данный момент все работает! Ну и замечательно. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться