Entity: AxiStreamDmaV2Write

Diagram

time TPD_G boolean AXI_READY_EN_G AxiStreamConfigType AXIS_CONFIG_G AxiConfigType AXI_CONFIG_G natural PIPE_STAGES_G integer range 1 to 4096 BURST_BYTES_G boolean ACK_WAIT_BVALID_G sl axiClk sl axiRst AxiWriteDmaDescAckType dmaWrDescAck sl dmaWrDescRetAck slv(3 downto 0) axiCache AxiStreamMasterType axisMaster AxiWriteSlaveType axiWriteSlave AxiCtrlType axiWriteCtrl AxiWriteDmaDescReqType dmaWrDescReq AxiWriteDmaDescRetType dmaWrDescRet sl dmaWrIdle AxiStreamSlaveType axisSlave AxiWriteMasterType axiWriteMaster

Description


Company : SLAC National Accelerator Laboratory

Description: Block to transfer a single AXI Stream frame into memory using an AXI

interface. Version 2 supports interleaved frames.

This file is part of 'SLAC Firmware Standard Library'. It is subject to the license terms in the LICENSE.txt file found in the top-level directory of this distribution and at: https://confluence.slac.stanford.edu/display/ppareg/LICENSE.html. No part of 'SLAC Firmware Standard Library', including this file, may be copied, modified, propagated, or distributed except according to

the terms contained in the LICENSE.txt file.

Generics

Generic name Type Value Description
TPD_G time 1 ns
AXI_READY_EN_G boolean false
AXIS_CONFIG_G AxiStreamConfigType
AXI_CONFIG_G AxiConfigType
PIPE_STAGES_G natural 1
BURST_BYTES_G integer range 1 to 4096 4096
ACK_WAIT_BVALID_G boolean true

Ports

Port name Direction Type Description
axiClk in sl Clock/Reset
axiRst in sl
dmaWrDescReq out AxiWriteDmaDescReqType DMA write descriptor request, ack and return
dmaWrDescAck in AxiWriteDmaDescAckType
dmaWrDescRet out AxiWriteDmaDescRetType
dmaWrDescRetAck in sl
dmaWrIdle out sl Config and status
axiCache in slv(3 downto 0)
axisMaster in AxiStreamMasterType Streaming Interface
axisSlave out AxiStreamSlaveType
axiWriteMaster out AxiWriteMasterType AXI Interface
axiWriteSlave in AxiWriteSlaveType
axiWriteCtrl in AxiCtrlType

Signals

Name Type Description
r RegType
rin RegType
pause sl
intAxisMaster AxiStreamMasterType
intAxisSlave AxiStreamSlaveType
trackDin slv(AXI_WRITE_DMA_TRACK_SIZE_C-1 downto 0)
trackDout slv(AXI_WRITE_DMA_TRACK_SIZE_C-1 downto 0)
trackData AxiWriteDmaTrackType

Constants

Name Type Value Description
DATA_BYTES_C integer AXIS_CONFIG_G.TDATA_BYTES_C
ADDR_LSB_C integer bitSize(DATA_BYTES_C-1)
FIFO_ADDR_WIDTH_C natural (AXI_CONFIG_G.LEN_BITS_C+1)
REG_INIT_C RegType ( dmaWrDescReq => AXI_WRITE_DMA_DESC_REQ_INIT_C,
dmaWrTrack => AXI_WRITE_DMA_TRACK_INIT_C,
dmaWrDescRet => AXI_WRITE_DMA_DESC_RET_INIT_C,
result => (others => '0'),
reqCount => (others => '0'),
ackCount => (others => '0'),
stCount => (others => '0'),
awlen => (others => '0'),
axiLen => AXI_LEN_INIT_C,
wMaster => axiWriteMasterInit(AXI_CONFIG_G,
'1',
"01",
"0000"),
slave => AXI_STREAM_SLAVE_INIT_C,
state => RESET_S,
lastUser => (others=>'0'),
continue => '0',
dmaWrIdle => '0')

Types

Name Type Description
StateType ( RESET_S,
INIT_S,
IDLE_S,
REQ_S,
ADDR_S,
MOVE_S,
PAD_S,
META_S,
RETURN_S,
DUMP_S)
RegType

Processes

Description
State machine

Instantiations

Description

Tracking RAM