When trying to simulate an axi_usb2_device_v1_00_a, it may error with a message regarding "no default binding for c_m_axi_supports_threads. In Modelsim:
# ** Error: (vsim-3733) axi_usb2_device_1_wrapper.vhd(334): No default binding for component at 'axi_usb2_device_1'.
# (Generic 'c_m_axi_supports_threads' is not on the entity.)
# Region: /sp601/axi_usb2_device_1/axi_usb2_device_1
The MPD is missing a keyword value pair of TYPE=NON_HDL on the c_m_axi_supports_threads parameter.
To work around this, you can directly modify the MPD. This needs to be done with the pcore in the EDK install area:
$XILINX_EDK/hw/XilinxProcessorIPLib/pcores/axi_usb2_device_v1_00_a/data/axi_usb2_device_v2_1_0.mpd
Make a backup of this file, then change the following line:
PARAMETER C_M_AXI_SUPPORTS_THREADS = 0, DT = INTEGER, BUS = M_AXI, ASSIGNMENT = CONSTANT, ISVALID = (C_INCLUDE_DMA == 1)
To:
PARAMETER C_M_AXI_SUPPORTS_THREADS = 0, DT = INTEGER, BUS = M_AXI, ASSIGNMENT = CONSTANT, ISVALID = (C_INCLUDE_DMA == 1), TYPE = NON_HDL
After this, you must clean all simulation files before trying to simulate.
You may need to delete the "__MpdDataBase.txt" as well. See AR 37712 for details.