Assembly container optimisation error
Summary
I have a known buildable assembly, that synthesizes for Ultrascale (in Vivado 2018.3) and is simulatable (in Vivado 2018.3 and 2020.1). I added some debug properties to a particular worker and now it fails during the optimisation stage in Vivado 2018.3 and 2020.1:
ERROR: [Opt 31-67] Problem: A LUT4 cell in the design is missing a connection on input pin I0, which is used by the LUT equation. This pin has either been left unconnected in the design or the connection was removed due to the trimming of unused logic. The LUT cell name is: ftop/assembly-name/assy/worker-name/rv/wci/wci_decode/is_raw_r_i_3.
The opt.out
log contains the following warning:
WARNING: [Opt 31-155] Driverless net ftop/assembly-name/assy/worker-name/rv/wci/wci_decode/ctl_MAddr[7] is driving LUT input pin I0 which is used by the LUT equation. If the LUT is not removed or a driver added, this warning will become an error. LUT cell name: ftop/assembly-name/assy/worker-name/rv/wci/wci_decode/is_raw_r_i_3
And also the following critical warning (although this ceases after Phase 3 Sweep):
CRITICAL WARNING: [Opt 31-430] Found a FDRE that its data pin is undriven. Driver is required to prevent unexpected behavior:ftoworkerp/assembly-name_i/assy/worker-name/rv/wci/wci_decode/my_offset_r_reg[9]
Looking at the code for wci.decoder
which is where this problem manifests, this is the driver for is_raw_r
:
is_raw_r <= to_bool((access_in = read_e or access_in = write_e) and
resize(offset_in, worker.decode_width+1) >=
worker.raw_property_base);
And this is the driver for offset_in
:
offset_in <= unsigned(ocp_in.MAddr(worker.decode_width-1 downto 2)) &
be2offset(ocp_in.MByteEn, bfalse);
So my guess is that ocp_in.MAddr(7) is not driven?
Any suggestions as to where I should look above this to find out what's happened?
Steps to reproduce
Not independently reproduceable at this time, but I have an assembly that causes this.
Environment info
- OpenCPI Version used: release-2.0.1
- Type of install (Source or RPM): Source
- Operating System and version (ex. CentOS 7): CentOS 7