Forum Discussion
Altera_Forum
Honored Contributor
12 years agoHi,
I get the same exact same error. I'm guessing you are also configuring the PCI core with Fixed translation table, and one address page for the address translation? If I change the setting to two address pages, it is possible to compile without error. This is not the setting I need in my design. The error is inside the file altpciexpav_stif_a2p_vartrans.v However, the in the file altpciexpav_stif_a2p_addrtrans, which instantiates altpciexpav_stif_a2p_vartrans, it will select altpciexpav_stif_a2p_fixtrans instead, if CB_A2P_ADDR_MAP_IS_FIXED is set. When I trace the parameter CB_A2P_ADDR_MAP_IS_FIXED in the modules I can see that this is never true: On the top_level of the pcie_core parameter CB_A2P_ADDR_MAP_IS_FIXED is set to 1 when I have selected fixed translation table. Further down in the module altpciexpav_stif_app the parameter setting CB_A2P_ADDR_MAP_IS_FIXED is suddenly hardcoded to 0. So when reaching the module altpciexpav_stif_a2p_addrtrans the setting is always 0. I don't know if this is a bug, or done on purpose to always use altpciexpav_stif_a2p_vartrans instead of altpciexpav_stif_a2p_fixtrans... I tested setting changing the code such that CB_A2P_ADDR_MAP_IS_FIXED was passed further down, but my design did not work. (The same design works when I generate and compile with Quartus 12.1 sp1, I have not tested with 13.0). So it seems that the hardcoding was done on purpose to always use the altpciexpav_stif_a2p_vartrans module, but this module does not support just one address page for the address translation (yet)... Best Regards, Jon