openpower-cores / a2i

Other
243 stars 40 forks source link

Fix regression with new GHDL with locally static entity attributes #53

Closed mikey closed 1 year ago

mikey commented 1 year ago

CI started breaking here (no a2i code change, just new ghdl/vunit:mcode docker images) https://github.com/openpower-cores/a2i/actions/runs/2843708471

It seems to come down to a new check in:

/src/rel/src/vhdl/clib/c_prism_csa42.vhdl:58:14: attribute expression for 'entity' must be locally static
   ATTRIBUTE PIN_BIT_INFORMATION of c_prism_csa42 : entity is
             ^
/src/rel/src/vhdl/clib/c_prism_csa42.vhdl:58:14:note: (you can use -frelaxed to turn this error into a warning)
   ATTRIBUTE PIN_BIT_INFORMATION of c_prism_csa42 : entity is

pin_bit_information is defined as

  type pbi_el_t is array(0 to 3) of string;
  type pbi_t is array(integer range <>) of pbi_el_t;
  attribute pin_bit_information: pbi_t;

The pbi_t unconstrained array I think is the issue.

@tgingold Any chance you could help work out how to fix this? pin_bit_information is used lots of locations with different sizes, so contraining it will be difficult without a major rework.

mikey commented 1 year ago

Also @umarcor and @LarsAsplund since you helped setup the CI.

mikey commented 1 year ago

Thanks @LarsAsplund