Intel® Quartus® Prime Software
Intel® Quartus® Prime Design Software, Design Entry, Synthesis, Simulation, Verification, Timing Analysis, System Design (Platform Designer, formerly Qsys)
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.
15394 Discussions

Quartus Prime 16.1: Cannot Edit PCIe BAR widths!!

Honored Contributor II

I am using Quartus Prime 16.1 on Windows, targeting Arria 10. Although I also encountered the problem on the Linux version. For some reason when I add the "Hard IP for PCI Express" I cannot edit the widths/size of any of the BARs, neither in the initial wizard window nor in the Parameter window after it has been added to the Qsys project. 


No matter what parameters I set, the BAR cannot be edited, and as a result it produces an unfixable error. 


I even tried manually editing the backing *.ip file but the change is not reflected in the GUI. 


Anybody encounter this? Or at least has anybody confirmed a version of the software where this ISN'T a problem? 


Screenshot attached. You can see the field greyed out.
0 Kudos
2 Replies
Honored Contributor II

I had the same difficulty with Quartus 17.0 and 17.1. 


The BAR size is set by going to the "View->Exported Interfaces" menu item, finding the avmm interface associated with the BAR (rxm_bar0 for example) and setting the address_width parameter.
Honored Contributor II

I ran into this. The fix is that you need to go into Address Mapping and set the addresses first. 


For example, for me bar[4] goes to two instances. In address mapping, I set the addresses as follows: 

instance 1: 0x0000_0000_0000_0000-0x0000_0000_0000_001F 

instance 2: 0x0000_0000_0000_8000-0x0000_0000_0000_801F  


Then I went back into the HIP instantiation, and toggled between IO Bar and 64-bit prefetchable BAR. The 64-bit prefetchable BAR address width now changed from 5 to 16. (bit 15 is set in the address... it doubles the address space by setting bit 16).