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

 
 
> 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
Ответов
NSergeevich
сообщение Jun 4 2015, 06:22
Сообщение #2


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

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



Код
`timescale 1ns / 1ps
//////////////////////////////////////////////////////////////////////////////////
// Company:
// Engineer:
//
// Create Date:    13:41:36 03/26/2015
// Design Name:
// Module Name:    tx_data
// Project Name:
// Target Devices:
// Tool versions:
// Description:
//
// Dependencies:
//
// Revision:
// Revision 0.01 - File Created
// Additional Comments:
//
//////////////////////////////////////////////////////////////////////////////////
module tdata(
input clk,
input rst,
output [7:0]data,
input handshake,
output data_valid
    );
reg [31:0]counter;

reg [31:0]counter_next;
reg [7:0]out;
reg out2;
reg got_handshake;


parameter S1 = 1'b0;
parameter S2 = 1'b1;


parameter [7:0] DA1[0:0] = {8'b1111000};
parameter [7:0] DA2[0:4] = {8'b100100,8'b10101111,8'b111100,8'b1101110,8'b10101000};
parameter [7:0] SA[0:5] = {8'b11010,8'b11011,8'b11100,8'b11101,8'b11110,8'b11111};
parameter [7:0] DATA[0:47] =

{

8'b10101010,8'b10101010,8'b10101010,
8'b10101010,8'b10101010,8'b10101010,
8'b10101010,8'b10101010,8'b10101010,
8'b10101010,8'b10101010,8'b10101010,
8'b10101010,8'b10101010,8'b10101010,
8'b10101010,8'b10101010,8'b10101010,
8'b10101010,8'b10101010,8'b10101010,
8'b10101010,8'b10101010,8'b10101010,
8'b10101010,8'b10101010,8'b10101010,
8'b10101010,8'b10101010,8'b10101010,
8'b10101010,8'b10101010,8'b10101010,
8'b10101010,8'b10101010,8'b10101010,
8'b10101010,8'b10101010,8'b10101010,
8'b10101010,8'b10101010,8'b10101010,
8'b10101010,8'b10101010,8'b10101010,
8'b10101010,8'b10101010,8'b10101010

};

parameter [7:0] frame[0:60] = {DA2[0:4], SA[0:5], L_T[0:1], DATA[0:47]};  

always @(handshake)
begin
    got_handshake <= 1;
end
    
always @(posedge clk)
begin
   if (counter_next > 1024)
       begin
                counter_next <= 0;
      end
  
  else
      counter_next <= counter + 1'b1;
end

reg [0:0] state, next_state;
always@(*)
begin
      if (rst) begin
         out <= 0;
         out2 <= 0;
         counter <= 0;
            state <= S1;
      end
      else
          case (state)
            S1 : begin
                  out <= DA1[counter];
                        out2 <= 1'h1;
                        next_state = (got_handshake == 1) ? S2 : S1;  
                        counter <= counter_next;
                 end              
                S2 : begin
                  out <= frame[counter];
                        out2 <= 1'h1;
                        next_state = S1;
                        counter <= 0;
                      end
          endcase                      
end

assign data = out;      
assign data_valid = out2;

endmodule
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 2 2015, 13:09) К...   Jun 2 2015, 13:48
|- - NSergeevich   Цитата(egorman44 @ Jun 2 2015, 16:48) мож...   Jun 3 2015, 06:56
- - 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
- - 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 Текстовая версия Сейчас: 21st June 2025 - 11:08
Рейтинг@Mail.ru


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