Co-authored-by: Andrew Moch <Andrew.Moch@ni.com> Co-authored-by: Daniel Jepson <daniel.jepson@ni.com> Co-authored-by: Javier Valenzuela <javier.valenzuela@ni.com> Co-authored-by: Joerg Hofrichter <joerg.hofrichter@ni.com> Co-authored-by: Kumaran Subramoniam <kumaran.subramoniam@ni.com> Co-authored-by: Max Köhler <max.koehler@ni.com> Co-authored-by: Michael Auchter <michael.auchter@ni.com> Co-authored-by: Paul Butler <paul.butler@ni.com> Co-authored-by: Wade Fife <wade.fife@ettus.com> Co-authored-by: Hector Rubio <hrubio@ni.com> Original-commit: 6d3765605262016a80f71e36357f749ea35cbe5a
37 lines
958 B
Systemverilog
37 lines
958 B
Systemverilog
//
|
|
// Copyright 2021 Ettus Research, a National Instruments Brand
|
|
//
|
|
// SPDX-License-Identifier: LGPL-3.0-or-later
|
|
//
|
|
// Module: PkgEth100gLbus
|
|
//
|
|
// Description:
|
|
//
|
|
// Package to define an Lbus record
|
|
//
|
|
|
|
//-----------------------------------------------------------------------------
|
|
// Lbus interface
|
|
//
|
|
// This is the segmented local bus interface on the Xilinx CMAC IP
|
|
// see Xilinx CMAC documentation for detail
|
|
// https://www.xilinx.com/support/documentation/ip_documentation/cmac_usplus/v2_4/pg203-cmac-usplus.pdf
|
|
//-----------------------------------------------------------------------------
|
|
|
|
package PkgEth100gLbus;
|
|
|
|
localparam DATA_WIDTH = 512;
|
|
localparam NUM_SEG = 4;
|
|
localparam SEG_DATA_WIDTH = DATA_WIDTH/NUM_SEG;
|
|
|
|
typedef struct packed {
|
|
logic [SEG_DATA_WIDTH-1:0] data;
|
|
logic [$clog2(SEG_DATA_WIDTH/8)-1:0] mty;
|
|
logic sop;
|
|
logic eop;
|
|
logic err;
|
|
logic ena;
|
|
} lbus_t;
|
|
|
|
endpackage : PkgEth100gLbus
|