реклама на сайте
подробности

 
 
> xilinx tri mode ethernet mac, Работа корки сгенерированной в xilinx-е
NSergeevich
сообщение Mar 20 2015, 08:03
Сообщение #1


Частый гость
**

Группа: Участник
Сообщений: 102
Регистрация: 21-01-15
Пользователь №: 84 716



Всем привет. Есть ли у кого-нибудь опыт в реализации проекта xilinx tri mode ethernet mac ? На RGMII гигабитный PHY.
У меня появилось несколько вопросов:
1. RGMII - Reduce Gigabit Media Independent Interface. RGMII использует половину цепей, используемых в GMII интерфейсе. Всего 12 контактов, и среди них TXD и RXD по [3:0], т.е. по 4 цепи.
Но, генерируемая корка MAC-а (tri mode ethernet mac) в xilinxe при выборе RGMII интерфейса выдает TXD и RXD по [7:0], т.е. по 8 цепей, (как обычный GMII). Вопрос, я же не могу свой PHY с 4-мя цепями коннектить только на половину цепей, что выходит из мака? Что с этим делать?
2. Если я правильно разобрался, то на GTX_CLK (клок на phy) и на tx_axi_clk (клок на mac)(опять же все применимо к rgmii) нужно подавать 125mhz clk ?
3. Я пробую протащить пакеты через MAC. Подаю на вход [7:0] tx_axis_mac_tdata (Frame data to be transmitt) вместе с tx_axis_mac_tvalid (TX Data Valid), но пакеты не попадают на PHY (и на выходе мака нету). Почему не проходят, как правильно отправить? Есть ли пример?
Заранее спасибо за терпение)
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
egorman44
сообщение Jun 2 2015, 13:48
Сообщение #2


Частый гость
**

Группа: Свой
Сообщений: 141
Регистрация: 22-11-12
Из: Нижний Новгород
Пользователь №: 74 507



Цитата(NSergeevich @ Jun 2 2015, 13:09) *
Как на Verilog описать задержку первого байта до прихода emacclienttxack ?

[attachment=92900:Screensh...14_04_36.jpg]


можно написать конечный автомат, который будет висеть в состояние до того момента как придет emacclienttxack, и находясь в новом состоянии будет выдавать новые данные на clientemactxd. Опять же настоятельно рекомендую посмотреть пример. В примере между MAC контроллером и модулем client_side вставлен FIFO, и соблюдение всех рукопожатий ложится на этот модуль, Вам же остается просто кидать данные в FIFO и следить чтобы он не переполнился, если вы работаете на передачу.

Цитата(NSergeevich @ Jun 2 2015, 15:21) *
Может быть, кто-нибудь использовал конструкцию The wait statement в верилоге ?


Для верификации сколько хош sm.gif

UPD: я может чего не так понял , если вы пользуете ядро под номером 4.6 то в папке куда у вас сгенирировалась корка есть папка example_design в ней и смотрите пример
Go to the top of the page
 
+Quote Post
NSergeevich
сообщение Jun 3 2015, 06:56
Сообщение #3


Частый гость
**

Группа: Участник
Сообщений: 102
Регистрация: 21-01-15
Пользователь №: 84 716



Цитата(egorman44 @ Jun 2 2015, 16:48) *
можно написать конечный автомат, который будет висеть в состояние до того момента как придет emacclienttxack, и находясь в новом состоянии будет выдавать новые данные на clientemactxd. Опять же настоятельно рекомендую посмотреть пример. В примере между MAC контроллером и модулем client_side вставлен FIFO, и соблюдение всех рукопожатий ложится на этот модуль, Вам же остается просто кидать данные в FIFO и следить чтобы он не переполнился, если вы работаете на передачу.



Для верификации сколько хош sm.gif

UPD: я может чего не так понял , если вы пользуете ядро под номером 4.6 то в папке куда у вас сгенирировалась корка есть папка example_design в ней и смотрите пример



Где этот пример-то посмотреть? У меня в папке экземпл дезайна нету.
И модуль дополнительный мне не нужен т.к. код осуществляющий передачу ethernet frame-а простой и не грамоздкий. Только нужно понять как этот конечный автомат правильно написать, чтобы первый байт отправлялся непрерывно пока не придет внешний emacclienttxack, а как пришел - все остальное
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- NSergeevich   xilinx tri mode ethernet mac   Mar 20 2015, 08:03
- - NSergeevich   Я разобрался с вопросами которые выше. Появился но...   May 29 2015, 14:23
|- - Artemius_tv   Цитата(NSergeevich @ May 29 2015, 18:23) ...   May 29 2015, 16:26
|- - tolik1   Цитата(NSergeevich @ May 29 2015, 18:23) ...   Jun 1 2015, 08:03
|- - Trashy_2   Вы в хексе напишите, что вы получаете, вместе с пр...   Jun 1 2015, 08:31
- - egorman44   Цитата(tolik1 @ Jun 1 2015, 11:03) К сожа...   Jun 1 2015, 10:51
|- - Trashy_2   Цитата(egorman44 @ Jun 1 2015, 13:51) ...   Jun 1 2015, 15:08
|- - NSergeevich   Цитата(Trashy_2 @ Jun 1 2015, 18:08) А чт...   Jun 1 2015, 16:15
- - NSergeevich   Не успел написать. Я разобрался, в чем дело, на пр...   Jun 1 2015, 14:25
- - NSergeevich   Как на Verilog описать задержку первого байта до п...   Jun 2 2015, 10:09
- - NSergeevich   Может быть, кто-нибудь использовал конструкцию The...   Jun 2 2015, 12:21
- - egorman44   Цитата(NSergeevich @ Jun 3 2015, 09:56) Т...   Jun 3 2015, 11:12
|- - NSergeevich   Цитата(egorman44 @ Jun 3 2015, 14:12) А ч...   Jun 3 2015, 11:37
- - egorman44   Я бы Вам рекомендовал почитать что-нибудь от Sunbu...   Jun 3 2015, 11:55
|- - NSergeevich   Цитата(egorman44 @ Jun 3 2015, 14:55) Я б...   Jun 3 2015, 15:03
|- - doom13   У Вас тут асинхронщина какая-то: Кодalways@(*...   Jun 3 2015, 15:48
|- - Artemius_tv   Выложите весь исходник. Вот так: Цитата(NSergeevic...   Jun 3 2015, 16:44
- - NSergeevich   Код`timescale 1ns / 1ps //////////////////////...   Jun 4 2015, 06:22
- - egorman44   Кодalways @(posedge handshake) begin got_...   Jun 4 2015, 07:05
- - NSergeevich   Кому интересно, почитайте очень интересную статью ...   Jun 4 2015, 11:26
- - egorman44   Цитата(NSergeevich @ Jun 4 2015, 14:26) К...   Jun 4 2015, 12:05


Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 20th June 2025 - 19:39
Рейтинг@Mail.ru


Страница сгенерированна за 0.01396 секунд с 7
ELECTRONIX ©2004-2016