Visible to Intel only — GUID: nik1411172613354
Ixiasoft
Visible to Intel only — GUID: nik1411172613354
Ixiasoft
3.2.2.5.2. 100GbE IP Core Without Adapters
The following figures illustrate the transmission of a short packet when preamble pass-through is turned off and when it is turned on.
Bus Representation of a Short TX Packet Without Preamble
This example shows the Verilog HDL code that represents the simple packet illustrated in the preceding figure. Note that bit din_end[13] corresponding to the “Last data” in the figure, is asserted.
wire [6*8-1:0] dst_addr = 48’hffff ffff ffff;
wire [6*8-1:0] src_addr = 48’h0007 edff 1234;
wire [2*8-1:0] len = 16’d64;
din = {64’h0, dst_addr, src_addr, len, “hello”, 40’h0};
din_start = 5’b01000;
din_end = 40’b00000000_00000000_00000000_00100000_00000000;
Bus Representation of a Short TX Packet With Preamble
This example shows the Verilog HDL code that represents the simple packet illustrated in the preceding figure. Note that bit din_end[5] corresponding to the “Last data” in the figure, is asserted.
wire [8*8-1:0] preamble = 64’hXX55_5555_55D5;
wire [6*8-1:0] dst_addr = 48’hffff ffff ffff;
wire [6*8-1:0] src_addr = 48’h0007 edff 1234;
wire [2*8-1:0] len = 16’d64;
din = {64’h0, preamble, dst_addr, src_addr, len, “hello”, 40’h0};
din_start = 5’b01000;
din_end = 40’b00000000_00000000_00000000_00000000_00100000;
The TX logic supports packets of less than the usual length. However, no more than two start-of-packets can occur in the same clock cycle.
For example, din_start might be set to 5’b11000, indicating the start of a new packet in two successive words. In this case, din_end_pos could equal 40’h0101000000, indicating two packets of eight bytes. Each 8‑byte packet is padded with zeros to create a 64-byte packet.