We have detected your current browser version is not the latest one. Xilinx.com uses the latest web technologies to bring you the best online experience possible. Please upgrade to a Xilinx.com supported browser:Chrome, Firefox, Internet Explorer 11, Safari. Thank you!

AR# 22681

LogiCORE Packet Queue - Core stops responding when writing large packets


When writing large packets, the core stops responding.


If your application attempts to write packets that are bigger than the available space in the Primary Data Buffer, the core enters a deadlock state. In this state, STAT_RD_AVAIL, WR_DST_RDY, and RD_SRC_RDY will remain deasserted until the core is reset. The application must implement controls necessary to avoid this condition. 
This condition can be detected by inspecting the Packet Queue outputs in simulation. When it occurs, the STAT_FREE_CNT and STAT_RD_AVAIL outputs will be 0. 
The Packet Queue core should be configured such that the Primary Data Buffer is larger than the total size of all outstanding packets in the worst-case scenario. For instance, if the system supports two channels with a maximum packet size of 4 kilobytes and an interface width of 8 bits, select a buffer depth of 16,384.
AR# 22681
Date 05/19/2014
Status Archive
Type General Article