Entity: axis_baser_tx_64
- File: axis_baser_tx_64.v
Diagram
Description
Language: Verilog 2001
Generics
Generic name | Type | Value | Description |
---|---|---|---|
DATA_WIDTH | 64 | ||
KEEP_WIDTH | undefined | ||
HDR_WIDTH | 2 | ||
ENABLE_PADDING | 1 | ||
ENABLE_DIC | 1 | ||
MIN_FRAME_LENGTH | 64 | ||
PTP_PERIOD_NS | 4'h6 | ||
PTP_PERIOD_FNS | 16'h6666 | ||
PTP_TS_ENABLE | 0 | ||
PTP_TS_WIDTH | 96 | ||
PTP_TAG_ENABLE | PTP_TS_ENABLE | ||
PTP_TAG_WIDTH | 16 | ||
USER_WIDTH | + 1 |
Ports
Port name | Direction | Type | Description |
---|---|---|---|
clk | input | wire | |
rst | input | wire | |
s_axis_tdata | input | wire [DATA_WIDTH-1:0] | * AXI input */ |
s_axis_tkeep | input | wire [KEEP_WIDTH-1:0] | |
s_axis_tvalid | input | wire | |
s_axis_tready | output | wire | |
s_axis_tlast | input | wire | |
s_axis_tuser | input | wire [USER_WIDTH-1:0] | |
encoded_tx_data | output | wire [DATA_WIDTH-1:0] | * 10GBASE-R encoded interface */ |
encoded_tx_hdr | output | wire [HDR_WIDTH-1:0] | |
ptp_ts | input | wire [PTP_TS_WIDTH-1:0] | * PTP */ |
m_axis_ptp_ts | output | wire [PTP_TS_WIDTH-1:0] | |
m_axis_ptp_ts_tag | output | wire [PTP_TAG_WIDTH-1:0] | |
m_axis_ptp_ts_valid | output | wire | |
ifg_delay | input | wire [7:0] | * Configuration */ |
start_packet | output | wire [1:0] | * Status */ |
error_underflow | output | wire |
Signals
Name | Type | Description |
---|---|---|
state_reg | reg [2:0] | |
state_next | reg [2:0] | |
reset_crc | reg | datapath control signals |
update_crc | reg | |
swap_lanes | reg | |
unswap_lanes | reg | |
lanes_swapped | reg | |
swap_data | reg [31:0] | |
delay_type_valid | reg | |
delay_type | reg [3:0] | |
s_axis_tdata_masked | reg [DATA_WIDTH-1:0] | |
s_tdata_reg | reg [DATA_WIDTH-1:0] | |
s_tdata_next | reg [DATA_WIDTH-1:0] | |
s_tkeep_reg | reg [7:0] | |
s_tkeep_next | reg [7:0] | |
fcs_output_data_0 | reg [DATA_WIDTH-1:0] | |
fcs_output_data_1 | reg [DATA_WIDTH-1:0] | |
fcs_output_type_0 | reg [3:0] | |
fcs_output_type_1 | reg [3:0] | |
ifg_offset | reg [7:0] | |
extra_cycle | reg | |
frame_ptr_reg | reg [15:0] | |
frame_ptr_next | reg [15:0] | |
ifg_count_reg | reg [7:0] | |
ifg_count_next | reg [7:0] | |
deficit_idle_count_reg | reg [1:0] | |
deficit_idle_count_next | reg [1:0] | |
s_axis_tready_reg | reg | |
s_axis_tready_next | reg | |
m_axis_ptp_ts_reg | reg [PTP_TS_WIDTH-1:0] | |
m_axis_ptp_ts_next | reg [PTP_TS_WIDTH-1:0] | |
m_axis_ptp_ts_tag_reg | reg [PTP_TAG_WIDTH-1:0] | |
m_axis_ptp_ts_tag_next | reg [PTP_TAG_WIDTH-1:0] | |
m_axis_ptp_ts_valid_reg | reg | |
m_axis_ptp_ts_valid_next | reg | |
m_axis_ptp_ts_valid_int_reg | reg | |
m_axis_ptp_ts_valid_int_next | reg | |
crc_state | reg [31:0] | |
crc_next0 | wire [31:0] | |
crc_next1 | wire [31:0] | |
crc_next2 | wire [31:0] | |
crc_next3 | wire [31:0] | |
crc_next4 | wire [31:0] | |
crc_next5 | wire [31:0] | |
crc_next6 | wire [31:0] | |
crc_next7 | wire [31:0] | |
encoded_tx_data_reg | reg [DATA_WIDTH-1:0] | |
encoded_tx_hdr_reg | reg [HDR_WIDTH-1:0] | |
output_data_reg | reg [DATA_WIDTH-1:0] | |
output_data_next | reg [DATA_WIDTH-1:0] | |
output_type_reg | reg [3:0] | |
output_type_next | reg [3:0] | |
start_packet_reg | reg [1:0] | |
start_packet_next | reg [1:0] | |
error_underflow_reg | reg | |
error_underflow_next | reg | |
j | integer | Mask input data |
Constants
Name | Type | Value | Description |
---|---|---|---|
MIN_FL_NOCRC | MIN_FRAME_LENGTH-4 | ||
MIN_FL_NOCRC_MS | MIN_FL_NOCRC & 16'hfff8 | ||
MIN_FL_NOCRC_LS | MIN_FL_NOCRC & 16'h0007 | ||
ETH_PRE | [7:0] | 8'h55 | |
ETH_SFD | [7:0] | 8'hD5 | |
CTRL_IDLE | [6:0] | 7'h00 | |
CTRL_LPI | [6:0] | 7'h06 | |
CTRL_ERROR | [6:0] | 7'h1e | |
CTRL_RES_0 | [6:0] | 7'h2d | |
CTRL_RES_1 | [6:0] | 7'h33 | |
CTRL_RES_2 | [6:0] | 7'h4b | |
CTRL_RES_3 | [6:0] | 7'h55 | |
CTRL_RES_4 | [6:0] | 7'h66 | |
CTRL_RES_5 | [6:0] | 7'h78 | |
O_SEQ_OS | [3:0] | 4'h0 | |
O_SIG_OS | [3:0] | 4'hf | |
SYNC_DATA | [1:0] | 2'b10 | |
SYNC_CTRL | [1:0] | 2'b01 | |
BLOCK_TYPE_CTRL | [7:0] | 8'h1e | |
BLOCK_TYPE_OS_4 | [7:0] | 8'h2d | |
BLOCK_TYPE_START_4 | [7:0] | 8'h33 | |
BLOCK_TYPE_OS_START | [7:0] | 8'h66 | |
BLOCK_TYPE_OS_04 | [7:0] | 8'h55 | |
BLOCK_TYPE_START_0 | [7:0] | 8'h78 | |
BLOCK_TYPE_OS_0 | [7:0] | 8'h4b | |
BLOCK_TYPE_TERM_0 | [7:0] | 8'h87 | |
BLOCK_TYPE_TERM_1 | [7:0] | 8'h99 | |
BLOCK_TYPE_TERM_2 | [7:0] | 8'haa | |
BLOCK_TYPE_TERM_3 | [7:0] | 8'hb4 | |
BLOCK_TYPE_TERM_4 | [7:0] | 8'hcc | |
BLOCK_TYPE_TERM_5 | [7:0] | 8'hd2 | |
BLOCK_TYPE_TERM_6 | [7:0] | 8'he1 | |
BLOCK_TYPE_TERM_7 | [7:0] | 8'hff | |
OUTPUT_TYPE_IDLE | [3:0] | 4'd0 | D6 D5 D4 D3 D2 D1 D0 BT |
OUTPUT_TYPE_ERROR | [3:0] | 4'd1 | D6 D5 D4 D3 D2 D1 D0 BT |
OUTPUT_TYPE_START_0 | [3:0] | 4'd2 | D6 D5 D4 D3 D2 D1 D0 BT |
OUTPUT_TYPE_START_4 | [3:0] | 4'd3 | D6 D5 D4 D3 D2 D1 D0 BT |
OUTPUT_TYPE_DATA | [3:0] | 4'd4 | D6 D5 D4 D3 D2 D1 D0 BT |
OUTPUT_TYPE_TERM_0 | [3:0] | 4'd8 | D6 D5 D4 D3 D2 D1 D0 BT |
OUTPUT_TYPE_TERM_1 | [3:0] | 4'd9 | D6 D5 D4 D3 D2 D1 D0 BT |
OUTPUT_TYPE_TERM_2 | [3:0] | 4'd10 | D6 D5 D4 D3 D2 D1 D0 BT |
OUTPUT_TYPE_TERM_3 | [3:0] | 4'd11 | D6 D5 D4 D3 D2 D1 D0 BT |
OUTPUT_TYPE_TERM_4 | [3:0] | 4'd12 | D6 D5 D4 D3 D2 D1 D0 BT |
OUTPUT_TYPE_TERM_5 | [3:0] | 4'd13 | D6 D5 D4 D3 D2 D1 D0 BT |
OUTPUT_TYPE_TERM_6 | [3:0] | 4'd14 | D6 D5 D4 D3 D2 D1 D0 BT |
OUTPUT_TYPE_TERM_7 | [3:0] | 4'd15 | D6 D5 D4 D3 D2 D1 D0 BT |
STATE_IDLE | [2:0] | 3'd0 | |
STATE_PAYLOAD | [2:0] | 3'd1 | |
STATE_PAD | [2:0] | 3'd2 | |
STATE_FCS_1 | [2:0] | 3'd3 | |
STATE_FCS_2 | [2:0] | 3'd4 | |
STATE_IFG | [2:0] | 3'd5 | |
STATE_WAIT_END | [2:0] | 3'd6 |
Functions
- keep2count () return ([3:0])
Processes
- unnamed: ( @* )
Type: always
- unnamed: ( @* )
Type: always
Description
FCS cycle calculation
- unnamed: ( @* )
Type: always
- unnamed: ( @(posedge clk) )
Type: always
Instantiations
- eth_crc_8: lfsr
- eth_crc_16: lfsr
- eth_crc_24: lfsr
- eth_crc_32: lfsr
- eth_crc_40: lfsr
- eth_crc_48: lfsr
- eth_crc_56: lfsr
- eth_crc_64: lfsr