Desde el punto de vista de un sintetizador, ¿hay alguna diferencia entre:
Desplazamiento de señal: std_logic_vector (3 downto 0):="0100";
Compensación constante: std_logic_vector (3 downto 0):="0100";
Desde el punto de vista de un sintetizador, ¿hay alguna diferencia entre:
Desplazamiento de señal: std_logic_vector (3 downto 0):="0100";
Compensación constante: std_logic_vector (3 downto 0):="0100";
No. Sin embargo, a "constante" no se le puede asignar ningún valor. Su valor nunca puede cambiar durante la simulación. De lo contrario es como "señal" en sí misma. Solo se utiliza para mejorar la capacidad de mantenimiento, la legibilidad y la claridad en el código para el usuario. Un uso de constante es:
constant const: integer := 7;
signal a: std_logic_vector(const downto 0);
signal b: std_logic_vector(const downto 0);
signal c: std_logic_vector(const+1 downto 0);
En el futuro, si desea cambiar el ancho del bus, solo necesita cambiar el valor de inicialización de const.
Tenga en cuenta que - Como lo señaló @damage, usualmente hacemos toda la inicialización al afirmar la señal de reinicio al principio. Sin embargo, he visto que la mayoría de los sintetizadores de FPGA sintetizan el valor inicializado.
No, para casi todas las herramientas de síntesis no habrá diferencia.
Sin embargo, las personas con antecedentes en el diseño de ASIC desalentarán el uso de valores iniciales para señales y recomendarán el uso de una señal de búsqueda para establecer el valor inicial. Esto se debe a que para los ASIC no hay fase de configuración, ya que para los FPGA y los registros generalmente estarán en un estado desconocido después del encendido.
Para los FPGA, algunos proveedores recomendarán el uso de valores iniciales en lugar de restablecimientos siempre que sea posible , ya que esto puede resultar en una menor utilización de recursos. Esto se debe a que, durante la fase de configuración de los FPGA basados en SRAM, cuando la corriente de bits se carga en el FPGA, cada registro se puede configurar en un valor inicial.
Para la simulación tampoco habrá diferencia.