Цитата(zuy @ Mar 13 2008, 16:58)

Но пособна ли Spartan3 принять данные 600 мегабит не в DDR режиме? Это главный вопрос.
Нет, на это не способен даже Virtex. Но это не проблема - подайте эту 600 МГц частоту на DCM, поставьте ей проперть делить вход пополам сразу (CLKIN_DIVIDE_BY_2=TRUE), а также CLKFEEDBACK=NONE, CLKFX_MULT=2, CLKFXDIV=2 и снимите частоту с CLKFX. Дело в том, что CLK0 не умеет более 280 МГц, а CLKFX умеет 300 даже в медленном speedgrade. Таким образом вы получаете 300 МГц. С помощью нее захватывайте вход как DDR, с помощью моделирования находите значение FIXED PHASE SHIFT для DCM, при котором деленная частота окажется в нужной фазе по отношению к захватываемым данным. Моделируя помните, что у CLKFX джиттер будет около 700 ps.
Можно попробовать конечно тупо поделить 600 пополам на триггере, но это ненадежно, может дать локальный перегрев, да и фазу двигать все равно надо. Это короче last chance.
Цитата(zuy @ Mar 13 2008, 16:58)

Ну как, что делать, обрабатвать
От меня данные просят, насчет дальнейшей обработки пока молчат.
Так вы сразу прикиньте их первые слова, когда они молчать перестанут. Первыми словами будет просьба прочитать эти данные обратно. Если обработка идет пакетно, то есть сначала накапливаются данные, а потом неспешно обрабатываются - это нормально. Если же обработка должна идти в реальном времени - то надо сначала, немедленно после захвата обработать данные, иначе смысл гонять их туда-сюда? Вы можете просто не успеть: 200 МГц - это пиковая скорость работы DDR2 на Spartan-3A, а вам потребуется 150 туда и 150 оттуда, IMHO запас небольшой.