Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Как грамотно протащить MII через Spartan 6 ?
Форум разработчиков электроники ELECTRONIX.ru > Программируемая логика ПЛИС (FPGA,CPLD, PLD) > Работаем с ПЛИС, области применения, выбор
alxkon
Всем привет!

Возникла задача:
есть преферийная плата с PHY которая через бекплейн соеденина с "главной" платой, посредством MII, 25МГц. На главной MII проходит
через Spartan 6 и соединяется с EMAC-ом процессора.

Я вижу одно решение - прямая инстанциация следующих цепочек

RX Clock In ->IBUFG->IDELAY->BUFG->DCM(2 клока 25МГц, сдвиг 0 и 180) -> ODDR2 (С0->D1,С1->D0,D0<= '1',D1<= '0')->OBUF-> RX Clock Out к процессору
RX Data+Controls ->IBUF ->IDELAY->FF( clock после BUFG) -> 2*FF (clock после DCM)--------------------------------------->FF->OBUF-> Data + Control Out

Насколько я понял MII, процессор должен захватывать данные по переднему фронту, так что выкладывая даные и контрольные сигналы по переднему фронту клока С1 (180гр) FPGA должен быть "прозрачным" для CPU-шного EMACa. Задержка на несколько клоков по всем сигналам роли играть не должна. TX тянем аналогично (клок все же идет с PHY), только даные в другую сторону от проца к бекплейну. Ну и констрейны по времени нужно наверняка и посмотреть как разместилось все внутри спартана?
Покритикуйте пожалуйста, нужна самая дуракоустойчивая дубовая схема, PHY может быть 3 разных типов соответственно небольшой разброс параметров параметров.
Bad0512
Цитата(antsu88 @ Dec 28 2011, 03:53) *
Всем привет!

Возникла задача:
есть преферийная плата с PHY которая через бекплейн соеденина с "главной" платой, посредством MII, 25МГц. На главной MII проходит
через Spartan 6 и соединяется с EMAC-ом процессора.

Я вижу одно решение - прямая инстанциация следующих цепочек

RX Clock In ->IBUFG->IDELAY->BUFG->DCM(2 клока 25МГц, сдвиг 0 и 180) -> ODDR2 (С0->D1,С1->D0,D0<= '1',D1<= '0')->OBUF-> RX Clock Out к процессору
RX Data+Controls ->IBUF ->IDELAY->FF( clock после BUFG) -> 2*FF (clock после DCM)--------------------------------------->FF->OBUF-> Data + Control Out

Насколько я понял MII, процессор должен захватывать данные по переднему фронту, так что выкладывая даные и контрольные сигналы по переднему фронту клока С1 (180гр) FPGA должен быть "прозрачным" для CPU-шного EMACa. Задержка на несколько клоков по всем сигналам роли играть не должна. TX тянем аналогично (клок все же идет с PHY), только даные в другую сторону от проца к бекплейну. Ну и констрейны по времени нужно наверняка и посмотреть как разместилось все внутри спартана?
Покритикуйте пожалуйста, нужна самая дуракоустойчивая дубовая схема, PHY может быть 3 разных типов соответственно небольшой разброс параметров параметров.

ИМХО для тактовой частоты 25 МГц можно вообще не париться и сделать всё по схеме IBUF->OBUF, в том числе и клоки. Ну набежит у вас в худшем случае 3-4 нС разбега на данных и-или клоках... При периоде в 40нС это - сущие пустяки. Проц даже не заметит ничего.
alxkon
Цитата(Bad0512 @ Dec 29 2011, 20:22) *
ИМХО для тактовой частоты 25 МГц можно вообще не париться и сделать всё по схеме IBUF->OBUF, в том числе и клоки. Ну набежит у вас в худшем случае 3-4 нС разбега на данных и-или клоках... При периоде в 40нС это - сущие пустяки. Проц даже не заметит ничего.

Сейчас практически так и сделано. Но возможно в будущем нужно будет использовать GMII.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.