Nios® II Embedded Design Suite (EDS)
Support for Embedded Development Tools, Processors (SoCs and Nios® II processor), Embedded Development Suites (EDSs), Boot and Configuration, Operating Systems, C and C++
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.
12453 Discussions

QSYS custom component signal parameter error

Honored Contributor II

I'm creating a QSYS component with parameterized address and data bus widths using the 12.0 toolpath. 


The parameters come up fine, but the signals show -1 as their widths, and the component error/warning window indicates corresponding errors. 


I can get the design to work fine by eliminating the signal width parameters so this isn't urgent, but I'd like to know how to make this work. 


0 Kudos
2 Replies
Honored Contributor II

So you have something like this correct? 


module my_module( address, data, etc... ); // these parameters will get overwritten by the user instantiating core parameter ADDRESS_WIDTH = 32; parameter DATA_WIDTH = 32; input address; input data; etc...  


If you fed that code directly into component editor you would see -1 settings in the .tcl file for the address and data widths. That tells the tools to run the Quartus II in the background to figure out the widths based on the parameterization. By the sounds of it these values are not getting overwritten and as a result the -1 is getting set in the widths. I would look at the release notes to see if this is a documented bug (it sounds vaguely familiar) but if the fix is to upgrade tools and you don't want to do that I would hand edit the .tcl file and add an elaboration callback that sets the port widths. If you want to see an example take a look at the read master .tcl file and the error signal to see how the callback is adjusting the width of it:
Honored Contributor II

OK. This is helpful. I can make this work.