Tengo una señal de 16 bits, para mí solo los últimos 4 bits son importantes y los primeros 12 bits son siempre "0", así que no hago nada con los primeros 12 bits y al final sale de mi componente al siguiente componente como este:
my16bitsignal <= x"000"& my4bitsignal;
En mi componente VHDL hago muchas operaciones, etc. con my4bitsignal
, pero al final, cuando sintetizo, Xilinx me da estas advertencias:
WARNING:Xst:1710 - FF/Latch <my16bitsignal_4> (without init value) has a constant value of 0 in block <MYCOMPONENT>. This FF/Latch will be trimmed during the optimization process.
WARNING:Xst:1895 - Due to other FF/Latch trimming, FF/Latch <my16bitsignal_5> (without init value) has a constant value of 0 in block <MYCOMPONENT>. This FF/Latch will be trimmed during the optimization process.
.
.
WARNING:Xst:1895 - Due to other FF/Latch trimming, FF/Latch <my16bitsignal_15> (without init value) has a constant value of 0 in block <MYCOMPONENT>. This FF/Latch will be trimmed during the optimization process.
WARNING:Xst:2404 - FFs/Latches <my16bitsignal<15:4>> (without init value) have a constant value of 0 in block <MYCOMPONENT>.
¿Cómo puedo evitar estas advertencias? ¿Crear una señal temporal de 12 bits con ceros y luego asignarla a los primeros 12 bits? Esta solución me parece muy aburrida, ¿hay otra manera?