Article ID: 000073696 Content Type: Troubleshooting Last Reviewed: 07/16/2013

Why does the Simple Socket Server not work on my board with a custom Qsys project?

Environment

  • Quartus® II Subscription Edition
  • BUILT IN - ARTICLE INTRO SECOND COMPONENT
    Description

    The Simple Socket Server application example uses drivers that make an assumption about the naming of the Ethernet and DMA controller names. In a custom project, the user may have given different names to the peripherals that would cause the Simple Socket Server reference to not function correctly when running.

    To resolve this issue, there are two options:

    1. Modify the names of the Ethernet and DMA peripherals to match the following:
    Ethernet Core - TSE_MAC
    Read DMA core - SGDMA_TX
    Write DMA core - SGDMA_RX

    2. In the BSP project, add -DTSE_MY_SYSTEM to your defined system and create a function to correctly define the tse_mac_device entry, filling in your TSE Max, and DMA controller settings to be named correctly for your implementation:

    alt_tse_system_info tse_mac_device[MAXNETS] = {
        #if ( defined(<TSE_MAC>_BASE) && defined( <SGDMA_TX>_NAME) && defined(<SGDMA_RX>_NAME) )
            #ifdef DESCRIPTOR_MEMORY_BASE
                TSE_SYSTEM_EXT_MEM_NO_SHARED_FIFO(<TSE_MAC>, 0, <SGDMA_TX>, <SGDMA_RX>,\
                TSE_PHY_AUTO_ADDRESS, 0, DESCRIPTOR_MEMORY)
            #else
                TSE_SYSTEM_INT_MEM_NO_SHARED_FIFO(<TSE_MAC>, 0, <SGDMA_TX>, <SGDMA_RX>,\
                TSE_PHY_AUTO_ADDRESS, 0)
            #endif
        #endif
    };

    This issue is fixed for the Quartus® II software and later.

    Related Products

    This article applies to 1 products

    Intel® Programmable Devices