Entity: side_ch_m_axis
- File: side_ch_m_axis.v
Diagram
Description
based on Xilinx module template Xianjun jiao. putaoshu@msn.com; xianjun.jiao@imec.be;
Generics
Generic name | Type | Value | Description |
---|---|---|---|
MAX_NUM_DMA_SYMBOL | integer | 8192 | parameter integer START_COUNT_CFG = 0, parameter integer WAIT_COUNT_BITS = 5, |
MAX_BIT_NUM_DMA_SYMBOL | integer | 14 | |
C_M_AXIS_TDATA_WIDTH | integer | 64 |
Ports
Port name | Direction | Type | Description |
---|---|---|---|
m_axis_endless_mode | input | wire | |
M_AXIS_NUM_DMA_SYMBOL | input | wire [MAX_BIT_NUM_DMA_SYMBOL-1 : 0] | |
m_axis_start_1trans | input | wire | |
data_to_ps | input | wire [C_M_AXIS_TDATA_WIDTH-1 : 0] | |
data_to_ps_valid | input | wire | |
m_axis_data_count | output | wire [MAX_BIT_NUM_DMA_SYMBOL-1 : 0] | |
fulln_to_pl | output | wire | |
M_AXIS_ACLK | input | wire | |
M_AXIS_ARESETN | input | wire | |
M_AXIS_TVALID | output | wire | |
M_AXIS_TDATA | output | wire [C_M_AXIS_TDATA_WIDTH-1 : 0] | |
M_AXIS_TSTRB | output | wire [(C_M_AXIS_TDATA_WIDTH/8)-1 : 0] | |
M_AXIS_TLAST | output | wire | |
M_AXIS_TREADY | input | wire |
Signals
Name | Type | Description |
---|---|---|
mst_exec_state | reg [1:0] | In this state the |
read_pointer | reg [bit_num-1:0] | |
axis_tvalid | wire | reg [WAIT_COUNT_BITS-1 : 0] count; |
axis_tlast | wire | |
axis_tlast_delay | reg | |
tx_en | wire | |
tx_done | reg | |
EMPTY | wire | |
init_txn_ff | reg | |
init_txn_pulse | wire | |
FULL | wire |
Constants
Name | Type | Value | Description |
---|---|---|---|
bit_num | integer | clogb2(MAX_NUM_DMA_SYMBOL) | |
IDLE | [1:0] | 2'b00 | This is the initial/idle state |
INIT_COUNTER | [1:0] | 2'b01 | This is the initial/idle state |
SEND_STREAM | [1:0] | 2'b10 | This is the initial/idle state |
Functions
- clogb2 (input integer bit_depth) return (integer)
Processes
- unnamed: ( @(posedge M_AXIS_ACLK) )
Type: always
Description
Generate a pulse to initiate AXI transaction.
- unnamed: ( @(posedge M_AXIS_ACLK) )
Type: always
Description
Control state machine implementation
- unnamed: ( @(posedge M_AXIS_ACLK) )
Type: always
Description
Delay the axis_tvalid and axis_tlast signal by one clock cycle to match the latency of M_AXIS_TDATA
- unnamed: ( @(posedge M_AXIS_ACLK) )
Type: always
Instantiations
- m_axis_xpm_fifo_sync0: xpm_fifo_sync
Description
fifo64_1clk fifo64_1clk_i (
.CLK(M_AXIS_ACLK),
.DATAO(M_AXIS_TDATA),
.DI(data_to_ps),
.EMPTY(EMPTY),
.FULL(FULL),
.RDEN(tx_en),
.RST(!M_AXIS_ARESETN),
.WREN(data_to_ps_valid),
.data_count(m_axis_data_count)
);
State machines
- Control state machine implementation