Jump to content

    
Kostochkin

xilinx ip core 10G/25G Ethernet Subsystem v2.4

Recommended Posts

Здравствуйте.

vivado 2018.2.

Имеется плата с плис xcvu9p. Есть порт SFP+.

В плис собираю ядро 10G/25G Ethernet Subsystem v2.4  в режиме 10G pcs/pma 32 bits.

При моделировании в vivado все прекрасно работает при замыкании дифф пары tx на rx.

В железе при замыкании в SFP+ tx на rx не работает, на приеме xgmii:

xgmii_rxc = 0x1;

xgmii_rxd = 0x0100009C;

Также:

user_rx_reset = 1;

user_tx_reset = 1;

stat_rx_local_fault = 1;

stat_tx_local_fault = 1;

Сингалы user_rx_reset и user_tx_reset приходят от самого трансивера.

Сингалы stat_rx_local_fault и stat_еx_local_fault приходят от софтовой части IP core.

sys_reset держу в 1 примерно через 16мкс, потом сбрасываю в ноль.

Может кто работал с этим ядром?

Благодарю.

 

Share this post


Link to post
Share on other sites
2 minutes ago, Kostochkin said:

Да, udp пакет(64 байта), примерно раз в секунду

сначала надо линк поднять же в стандарте, физический. 9C000001 - это не совсем линк. В стандарте эта последовательность хорошо описана. Это сама корка выдает, не кабель. У меня опыт только с альтерой, но по опыту, а он у меня уже скопился чуть чуть, могу сказать, что причины обычно такие:

1) Трансиверы не встали в ready (какой нибудь tx или rx не прогрузился например). У Альтеры есть отдельные корки по прогрузке трансиверов, либо мануалы, как это сделать самому. Есть еще такой тонкий момент, что может корку сконфигурировали "only Simulation", в симуляторе они прогрузились, а в реале они не прогрузятся.
2) RX канал обычно "возбуждается" от входящего потока. Поэтому согласно стандарта, того же xgmii, в TX надо что то заталкивать. Можно прямо 07070707, но правильней сначала 9C000002, потом 07070707

Share this post


Link to post
Share on other sites

Благодарю.

Я толкаю 0х07070707 и пакет раз в секунду.

Вопрос такой. Нужно включать режим test pattern generation? Когда включать? Или это не обязательно?

 

Share this post


Link to post
Share on other sites
11 hours ago, Kostochkin said:

Нужно включать режим test pattern generation? Когда включать? Или это не обязательно?

такую штуку я не включаю. Когда делал свою корку 10G, то от маршрутизаторов получал test pattern, но ничего с ним не делал. Насколько он тут важен, я плаваю. Ему целый подраздел в стандарте посвящен. Вроде это даже специальный режим PCS

12 hours ago, Kostochkin said:

user_rx_reset = 1;

user_tx_reset = 1;

глянул мануал ради интереса. На моем альтеровском языке, это трансиверы резет не прошли и не загрузились. Корка в резете фактически. Поэтому 0100009С

Edited by new123

Share this post


Link to post
Share on other sites

Приветствую!

Если в симе работает, а в железе нет, то начинать надо с проверки физики -  корректность назначения пинов, есть ли клоки,  соответствуют ли они требуемым,  есть ли захваты PLL, сняты ли reset, ... Проверить все через chipscope.

 

Я на vu09p еще эту корку пока не запускал но на vu095 эта же корка запустилась на 8 портов без проблем. На сколько помню  линк подниматься должен без всяких посылок по XGMII, даже больше - пока линка нет нет смысла что то пихать на TX. А состояние user_rx_reset = 1; user_tx_reset = 1; как бы намекает что линка нет.  

 

Удачи! Rob.

 

P.S. Попробуйте   подключить  к внешней 10G  карте  -  так как если у вас не работает одно из направлений (TX или RX)  то может можно будет это увидеть.  

Share this post


Link to post
Share on other sites
19.10.2020 в 23:31, new123 сказал:

У меня опыт только с альтерой, но по опыту, а он у меня уже скопился чуть чуть

Добрый день! Сейчас продумываю схему передачи данных по ethernet, а именно с помощью альтеровской cyclone V GT,

нужно ли покупать лицензию на корки ethernet?

У меня Quartus выдает предупреждение об ограничении по времени использования Корки при заходе в программер, плюс не компилит model-sim если использую корку? хотя сам Quartus в license setup мой файл лицензии принял.

П.С. до этого альтеровскими корками не пользовался, все интерфейсы реализовал сам на верилог, но с ethernet такой фокус не прокатит, особенно с 10G(

Share this post


Link to post
Share on other sites
44 minutes ago, К.З. said:

У меня Quartus выдает предупреждение об ограничении по времени использования Корки

значит нужна лицензия. 

вы не уточнили о какой речь идет, о triple ethernet наверное? там нужна лицензия.
С 10G ядра идут с квартусм обычно, вам корка выдает данные в xgmii, ну а дальше сами ethernet строите

Share this post


Link to post
Share on other sites
23 минуты назад, new123 сказал:

вы не уточнили о какой речь идет, о triple ethernet наверное?

Замахиваюсь как на triple ethernet, так и на10G MAC + XAUI PHI, на обеих этих конфигурациях(по отдельности) Quartus предупреждает об ограничении в программере

Не подскажете, существуют ли бесплатные корки ethernet mac(phi)?

 

Share this post


Link to post
Share on other sites
2 hours ago, К.З. said:

Не подскажете, существуют ли бесплатные корки ethernet mac(phi)?

да вроде как на opencore было. Я честно говоря не знаю, я сам все делал. Цепляйте phy и вперед. 

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.