Articulo de referencia

desviación estándar numérica

numeric_std es un paquete de biblioteca definido para VHDL . Proporciona funciones aritméticas para vectores. Se definen sobrecargas de std_logic_vector para aritmética con y si...

numeric_std es un paquete de biblioteca definido para VHDL . Proporciona funciones aritméticas para vectores. Se definen sobrecargas de std_logic_vector para aritmética con y sin signo . Define tipos numéricos y funciones aritméticas para su uso con herramientas de síntesis. Se definen dos tipos numéricos: UNSIGNED (que representa un número sin signo en forma vectorial) y SIGNED (que representa un número con signo en forma vectorial). El tipo de elemento base es STD_LOGIC. El bit más a la izquierda se trata como el bit más significativo. Los vectores con signo se representan en complemento a dos. Este paquete contiene operadores aritméticos sobrecargados para los tipos SIGNED y UNSIGNED. El paquete también contiene funciones útiles de conversión de tipos.

Normalmente se incluye en la parte superior de una unidad de diseño:

library ieee ; use ieee.std_logic_1164. all ; -- lógica estándar no resuelta UX01ZWLH- use ieee.numeric_std. all ; -- para los tipos con signo, sin signo y operaciones aritméticas

El paquete numérico alternativo ieee.std_logic_arith no debe utilizarse para nuevos diseños. Este paquete no proporciona anulaciones para mezclar funciones con signo y sin signo. Este paquete incluye definiciones para lo siguiente (no todas son sintetizables): [ 1 ]

Operadores y funciones

Operadores de cambio de señales

  • abdominales
  • -

Operadores aritméticos

  • +
  • -
  • *
  • /
  • movimiento rápido del ojo
  • mod

Nota: el segundo argumento de /, rem o mod debe ser distinto de cero.

Operadores de comparación

  • >
  • <
  • <=
  • >=
  • =
  • /=

Funciones de cambio y rotación

  • MAYÚS_IZQUIERDA
  • MAYÚS_DERECHA
  • GIRA A LA IZQUIERDA
  • GIRAR A LA DERECHA
  • todo
  • srl
  • rol
  • ror

Función de redimensionamiento

  • CAMBIAR EL TAMAÑO(v,n)

Nota: al aumentar el tamaño de un vector con signo, los bits más a la izquierda se rellenan con el bit de signo, mientras que el truncamiento conserva el bit de signo junto con los (n-1) bits más a la derecha. Para un vector sin signo, un aumento de tamaño rellena los bits más a la izquierda con ceros, mientras que el truncamiento conserva los n bits más a la derecha.

Funciones de conversión

  • TO_ENTERO
  • PARA_SIN FIRMA
  • PARA FIRMADO

Nota: Las dos últimas funciones requieren un segundo argumento que especifique la longitud del vector resultante.

  • no
  • y
  • o
  • nand
  • ni
  • xor
  • xnor

Función de coincidencia

  • COINCIDENCIA_ESTÁNDAR

Nota: compara los vectores de argumentos elemento por elemento, pero trata cualquier bit con el valor '-' como si coincidiera con cualquier otro valor STD_ULOGIC. Devuelve falso si algún bit del argumento es 'U', 'X', 'W' o 'Z'.

Función de traducción especial

  • TO_01

Nota: 'H' se traduce a '1' y 'L' a '0'. Esta función acepta un segundo argumento opcional, XMAP, que puede ser cualquiera de los valores de std_logic, pero por defecto es '0'. Cualquier valor distinto de 01LH en el argumento de entrada provoca que todos los bits se establezcan en XMAP y se emita una advertencia.

Referencias

  1. 1076.3 Paquetes de síntesis VHDL estándar IEEE