yurich 0 3 мая, 2006 Опубликовано 3 мая, 2006 · Жалоба Есть два Циклона2. В одном ALTLVDS_TX, во втором - просто вход LVDS соединен с выходом LVTTL. На этом выходе данные - совсем не те, что передаются первым Циклоном. Все вроде просто как батон, но не работает.... Тестбенч такой: `timescale 1 ps/ 1 ps module lvdsrxtx_tb1(); reg r_TXCLK; reg [19:0]r_TXIN; wire w_TXCLK; wire [19:0]w_TXIN; wire [1:0]TXOUT; wire TXOUTCLK; wire TXCORECLK; wire [1:0]LVDSRX; wire RXOUTCLK; assign {w_TXCLK, w_TXIN} = {r_TXCLK, r_TXIN}; LVDSsend1 tx (.TXCLK(w_TXCLK), .TXIN(w_TXIN), .TXOUT(TXOUT), .TXOUTCLK(TXOUTCLK), .TXCORECLK(TXCORECLK)); LVDSrx1 rcv (.RXCLK(TXOUTCLK), .RXIN(TXOUT), .RXDATA(LVDSRX), .RXOUTCLK(RXOUTCLK)); initial begin r_TXCLK = 0; r_TXIN = 0; end always #12500 r_TXCLK = ~r_TXCLK; always @(posedge TXCORECLK) r_TXIN = r_TXIN + 1; endmodule На выходе LVDSRX - совсем не то, что на TXOUT. Причем временами совпадает. Как такое может быть??? Вообще, есть у кого-нибудь положительный опыт использования LVDS, ALTLVDS в Циклонах2? Симулил ли кто это в Моделсиме? Спасибо. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
=AK= 12 3 мая, 2006 Опубликовано 3 мая, 2006 · Жалоба B Циклонe 2 использую ALTLVDS RX, cкорость > 400 Mbps, проблем нет. Почему Вы используете только ALTLVDS TX? Как синхронизировaны TX и RX? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
yurich 0 4 мая, 2006 Опубликовано 4 мая, 2006 · Жалоба Нужны оба, ТХ и RX, просто не работало, стал разбираться, дошел до того, что ТХ шлет нормально, а на RX - принимается не то. Даже в Моделсиме. Выкинул ALTLVDS RX, оставил просто пины - все равно не то Моделсим показывает. А какая версия Циклона 2 у вас? Имеется ввиду версия силикона. Есть версия А, с багами, и версия В, поправленная. Правда, в еррате про баги в LVDS ничего не сказано. Версию можно определить так: A Xβ Z ## #### вот β и есть Die Revision. Синхронизация ТХ и RX сделана так: у ТХ tx_outclock Divide factor = 10. Т.е. предполагается, что на каждые 10 бит данных будет 1 перепад клока. И ресивер сможет правильно "нарезать" входной битовый поток, зная, что на 10 бит есть 1 перепад клока. Верно ли подобное рассуждение? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
yurich 0 4 мая, 2006 Опубликовано 4 мая, 2006 · Жалоба Добавление: При приеме пропадают короткие импульсы - 5нс, например (симуляция для 400 Мбит/с). На приаттаченной картинке это видно, если сравнить TXOUT[0] и LVDSRX[0]. Как будто скорости не хватает... Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
yurich 0 4 мая, 2006 Опубликовано 4 мая, 2006 · Жалоба Да, синхронизацию TX/RX я похоже понимал неправильно. Поэтому про общий алгоритм спросил отдельно http://electronix.ru/forum/index.php?showtopic=15776 Остается вопрос, почему в Моделсиме неправильно показываются сигналы на приемной стороне. Короткие (ничё себе - короткие! - 5нс) импульсы не видны... Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
=AK= 12 6 мая, 2006 Опубликовано 6 мая, 2006 · Жалоба А какая версия Циклона 2 у вас? Имеется ввиду версия силикона. Есть версия А, с багами, и версия В, поправленная. Не знаю, не обращал внимания. Синхронизация ТХ и RX сделана так: у ТХ tx_outclock Divide factor = 10. Т.е. предполагается, что на каждые 10 бит данных будет 1 перепад клока. И ресивер сможет правильно "нарезать" входной битовый поток, зная, что на 10 бит есть 1 перепад клока. Синхронизация между чипами должна передаваться отдельной линией. Если передавать "родную" частоту, придется прокладывать еще одну LVDS линию. Можно передавать частоту, поделенную на 8 или на 10, тогда удастся обойтись одиночным сигналом (CMOS), однако на приемном конце придется использовать PLL, а также точно настроить сдвиг фазы, чтобы биты сэмплировались посередине битового интервала. Насчет того, как приемный поток нарезается на куски по 8 или 10 бит. Насколько я знаю, ALTLVDS нарезает как ему бог на душу положит. Я так и не смог найти, как заставить его синхронизировать байтную нарезку в нужный мне момент времени. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться