kactus2 / kactus2dev

Kactus2 is a graphical EDA tool based on the IP-XACT standard.
https://research.tuni.fi/system-on-chip/tools/
GNU General Public License v2.0
191 stars 34 forks source link

Overriding component instance parameter from design is broken #81

Closed eyalherz closed 9 months ago

eyalherz commented 1 year ago

I have a simple design example, component, sub component, port with width defined by a parameter. I've set the parameters to user resolve. In the design editor, with the sub component selected the configurable element value (parameter) is shown, but if I try to override is - so it is taken from the top component - nothing works. There are no drop down options when I click on it. Trying to enter the parameter name manually doesn't work - it shows as n/a and is ignored and does not change the generation.

I tried manually editing the xmls to force it (using the generated parameterID) but it is ignored when read into K2. I tried to inspect the wishbone example from designEditor chapter, but K2 crashes every time I try to load the design description.

Let me know if I can provide additional information.

Version 3.12.0 Qt version 6.2.4

epekkar commented 1 year ago

Hi Eyal,

I am guessing your design is missing parameters. In RTL the parameters can be assigned from (top) module to sub module instance(s). In IP-XACT there is the design in between these two, so you will need to assign the parameters from (top) component to the design and from the design to the component instance.

The following steps should properly propagate the parameters from your top component to the instance:

  1. In the design create (or copy from top component) the relevant parameters in Design Parameters editor and set their resolve to 'user'
  2. Override the parameter values for the component instance with the Design parameter values
  3. In the top component, create a Design Instantiation and reference your Design. This should now list the Design parameters in the table. Override the parameter values in the table with your top component parameter values
  4. Set the Design Instantiation reference in the relevant view in your top component