Цитата(Kuzmi4 @ Aug 27 2009, 16:38)

2 yudu - идеи есть всегда
100Мб/с - это мегабайты или мегабиты ?? Если это мегабайты - что-то у меня есть сомнения, что по одной паре такое можно вытянуть на 3-м циклоне..
На счёт времени запуска PLL - это только в начале, после старта плиски, пару десятков клоков он конфигурироваться будет, а потом выставит валид и будет работать пока питание не пропадёт. Или у вас жёсткие условия начала работы после включения питания ?
И на счёт камня - какой именно циклончик ? а то может у вас клок приходит не на дедикейтед лапы и тогда и с ALTLVDS нужно будет тоже сильно колдовать
Как говорится - "..огласите весь список пжалуста.."

Cyclone EP3C5E144. Питание подключено всегда, синхронизация плиса, она же синхронизация данных для lvds, идет пачками.
Цитата(DmitryR @ Aug 28 2009, 10:04)

Наличие линий управления не просто упрощает интерфейс, оно делает ненужным анализ тактовой частоты на присутствие/молчание, поэтому молчание тактовой влечет в данном случае только одно неудобство - невозможность подать его на PLL, а в остальном это нормальный клок, распространяемый только по выделенным тактовым линиям. А автор пытается тактовую частоту анализировать, что влечет уход клока в логику и известные проблемы с анализом времянки.
Но если их нет. как быть с двумя витыми парами?
уже пробую просто получить меандр на "ok" - обычный 3.3V пин из клока, с входной частотой inclk около 1МГц и не получается
на осциллографе только длительность пачки такая же, а импульсы разной скважности
LIBRARY ieee;
USE ieee.std_logic_1164.all;
-- Entity Declaration
ENTITY priem IS
-- {{ALTERA_IO_BEGIN}} DO NOT REMOVE THIS LINE!
PORT
(
inclk : IN STD_LOGIC;
indat : IN STD_LOGIC;
data : out STD_LOGIC :='0';-- ëèíèÿ äàííûõ
s1,s2: out STD_LOGIC:='0'
);
-- {{ALTERA_IO_END}} DO NOT REMOVE THIS LINE!
END priem;
-- Architecture Body
ARCHITECTURE priem_architecture OF priem IS
signal ok:STD_LOGIC:='0';
BEGIN
---------------------------------------------------------------------------------------------
process (inclk)
begin
if rising_edge(inclk) then
ok<=not ok;
end if;
end process;
--------------------------------------------------------------------------------------------
s1<=ok;
END priem_architecture;
Цитата(DmitryR @ Aug 27 2009, 17:49)

Итак, у вас 4 провода (2 пары) между ПЛИС. Берете делаете их как LVCMOS25, и прекрасно делаете все без гейтованного клока. По одной проволке постоянно идет клок, по другой - данные, по третьей - 1 когда данные есть и 0 когда их нет, по четвертой - можно потверждение приема сделать.
lvds нужно однозначно-условие. Как можно по двум диф. парам давать синхрониз. данные на плис вместе с синхронизацией плиса?
Получается нужно ваять десериализатор самому. Главный вопрос как ловить границы (или старт/стопы).
И повторю что заводя диф. пары inclk и indat сквозь плис на два 3.3 V выходных пина, получаю четкие копии и клока и данных отправляемые с передатчика в lvds..
В чем дело пока не понимаю