|
xilinx tri mode ethernet mac, Работа корки сгенерированной в xilinx-е |
|
|
|
Mar 20 2015, 08:03
|
Частый гость
 
Группа: Участник
Сообщений: 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 (и на выходе мака нету). Почему не проходят, как правильно отправить? Есть ли пример? Заранее спасибо за терпение)
|
|
|
|
|
 |
Ответов
|
Jun 2 2015, 13:48
|
Частый гость
 
Группа: Свой
Сообщений: 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 в верилоге ? Для верификации сколько хош  UPD: я может чего не так понял , если вы пользуете ядро под номером 4.6 то в папке куда у вас сгенирировалась корка есть папка example_design в ней и смотрите пример
|
|
|
|
|
Jun 3 2015, 06:56
|
Частый гость
 
Группа: Участник
Сообщений: 102
Регистрация: 21-01-15
Пользователь №: 84 716

|
Цитата(egorman44 @ Jun 2 2015, 16:48)  можно написать конечный автомат, который будет висеть в состояние до того момента как придет emacclienttxack, и находясь в новом состоянии будет выдавать новые данные на clientemactxd. Опять же настоятельно рекомендую посмотреть пример. В примере между MAC контроллером и модулем client_side вставлен FIFO, и соблюдение всех рукопожатий ложится на этот модуль, Вам же остается просто кидать данные в FIFO и следить чтобы он не переполнился, если вы работаете на передачу. Для верификации сколько хош  UPD: я может чего не так понял , если вы пользуете ядро под номером 4.6 то в папке куда у вас сгенирировалась корка есть папка example_design в ней и смотрите пример Где этот пример-то посмотреть? У меня в папке экземпл дезайна нету. И модуль дополнительный мне не нужен т.к. код осуществляющий передачу ethernet frame-а простой и не грамоздкий. Только нужно понять как этот конечный автомат правильно написать, чтобы первый байт отправлялся непрерывно пока не придет внешний emacclienttxack, а как пришел - все остальное
|
|
|
|
Сообщений в этой теме
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
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|