Nios® II Embedded Design Suite (EDS)
Support for Embedded Development Tools, Processors (SoCs and Nios® II processor), Embedded Development Suites (EDSs), Boot and Configuration, Operating Systems, C and C++
Announcements
Intel Support hours are Monday-Fridays, 8am-5pm PST, except Holidays. Thanks to our community members who provide support during our down time or before we get to your questions. We appreciate you!

Need Forum Guidance? Click here
Search our FPGA Knowledge Articles here.
12367 Discussions

Why Modular-SGDMA Prefetcher Core is not running?

LKwia
Beginner
918 Views

mSGDMA Prefetcher parameters for TSE Sending:

-Data Path: 512

-Descriptor: 256

-Maximum transfer: 2KB

-Transfer type: Aligned

-Burst enabled

-Burst count: 128

-Force burst aligned enable

-Packet support enabled

-Error enabled: 1

-Enable prefetching module

 

mSGDMA Prefetcher Software algorithm:

 

Reset:

set ALT_MSGDMA_PREFETCHER_CTRL_RESET_SET_MASK;

while ALT_MSGDMA_PREFETCHER_CTRL_RESET_GET;

set ALTERA_MSGDMA_CSR_RESET_MASK;

while ALTERA_MSGDMA_CSR_RESET_STATE_MASK;

Init descriptor:

next_descriptor-control: reset ALT_MSGDMA_PREFETCHER_DESCRIPTOR_CTRL_OWN_BY_HW_CLR_MASK;

descriptor-read_address: set addres;

descriptor-write_address: set 0;

descriptor-transfer_length: set lenght;

descriptor-next_desc_ptr: set next_descriptor;

descriptor-control: set ALT_MSGDMA_PREFETCHER_DESCRIPTOR_CTRL_OWN_BY_HW_SET_MASK, ALTERA_MSGDMA_DESCRIPTOR_CONTROL_GENERATE_SOP_MASK, ALTERA_MSGDMA_DESCRIPTOR_CONTROL_GENERATE_EOP_MASK, ALTERA_MSGDMA_DESCRIPTOR_CONTROL_GO_MASK;

 

mSGDMA Start:

while ALT_MSGDMA_PREFETCHER_CTRL_RUN_GET;

set ALTERA_MSGDMA_CSR_STOP_DESCRIPTORS_MASK;

load descriptor IOWR_ALT_MSGDMA_PREFETCHER_NEXT_DESCRIPTOR_PTR_LOW;

IOWR_ALT_MSGDMA_PREFETCHER_NEXT_DESCRIPTOR_PTR_HIGH: set 0;

set ALTERA_MSGDMA_CSR_STOP_ON_ERROR_MASK;

reset ALTERA_MSGDMA_CSR_STOP_DESCRIPTORS_MASK;

set ALT_MSGDMA_PREFETCHER_CTRL_RUN_SET_MASK;

 

 

0 Kudos
0 Replies
Reply