Diferencias y mejoras entre Verilog-1995 y verilog-2001
1. Extensión de la declaración del módulo
(1) Verilog-2001 permite que la declaración de puerto y la declaración de tipo de datos se coloquen en la misma declaración. Los ejemplos son los siguientes:
(2) Declaraciones de puertos de entrada y salida de estilo ANSIC, que se pueden usar para módulos, tareas y funciones. Los ejemplos son los siguientes:
(3) Para los módulos que contienen parámetros, los ejemplos son los siguientes:
2. Declaración de variable de tipo de registro con inicialización
Verilog-2001. permite Al declarar una variable, se inicializa y se le asigna un valor. Comienza la ejecución en el momento 0 de la declaración inicial. Los ejemplos son los siguientes:
3. Mejoras en tablas sensibles
(1) Separación por comas de tablas sensibles
Las variables en tablas sensibles se pueden separar por comas " , " , por supuesto, por supuesto, o tal vez. Los ejemplos son los siguientes:
always@(posedge clk,negedge rst) también funciona.
(2) También se puede utilizar lógica combinacional sensible al nivel @*//@(*)
"*" representa cada variable asignada en el bloque lógico. El ejemplo es el siguiente. sigue:
4. Extensión de operaciones aritméticas con signo
(1) El tipo de red y el tipo de registro se pueden declarar como variables con signo
(2) Devolución de la función Los valores pueden ser números con signo
(3) Los enteros reales se pueden definir como números con signo
(4) Las operaciones de suma se desplazan hacia la derecha y hacia la izquierda (>>>,< < <)
Operadores">>>" y "<<<". Para números con signo, el bit de signo se desplaza después de realizar una operación de desplazamiento aritmético. Los ejemplos son los siguientes:
(5) Agregue funciones del sistema $signed y $unsigned
para convertir entre números sin signo y números con signo
5. Seleccione la variable campo vectorial
[
[
El bit inicial puede ser una variable, pero el ancho del bit debe ser un número entero. Por lo tanto, puede utilizar la selección de rango variable para seleccionar todos los bits de un vector muy largo mediante una instrucción de bucle.
6. Crear matrices multidimensionales
Verilog-1995 solo permite la creación de matrices unidimensionales de Reg, entero y tiempo. Estas matrices se utilizan generalmente para modelar RAM, ROM. , etc. Verilog-2001 permite la creación de matrices multidimensionales para redes y variables.
6. Verilog-2001 puede crear matrices multidimensionales para redes y variables.
7. Asignación de matriz multidimensional
Verilog-1995 no permite el acceso directo a uno o más bits de la palabra de la matriz. La palabra de la matriz completa debe copiarse a otra variable temporal. acceso.
Verilog-2001 permite el acceso directo a una dimensión o a varios bits de una matriz.
8.Operador de multiplicación
Operación de multiplicación de suma (operación de exponenciación), el operador es **, si uno de los operandos es de tipo REAL, el valor de retorno será de tipo REAL. . Si ambos operandos son números enteros, el valor de retorno será un número entero.
9. Tareas automáticas (reentrantes) y funciones automáticas (recursivas)
(1) Tareas reentrantes
La tarea en sí es estática y *** Disfruta Área de almacenamiento para múltiples tareas a realizar. Cuando se llama a una tarea simultáneamente desde varios lugares de un módulo, ambas tareas operan en el mismo espacio de direcciones y los resultados pueden ser incorrectos. Con la adición de la palabra clave automático en Verilog-2001, el espacio de memoria se asigna dinámicamente, haciendo que la tarea sea reentrante.
(2) Función recursiva
10. Ampliación automática
Verilog-1995 Asignación de bus de alta impedancia con un número no especificado de bits superior a 32 bits, solo el Se asignarán 32 bits bajos de alta resistencia y los bits altos serán 0.
Verilog
11. Funciones constantes
La sintaxis de Verilog estipula que se deben utilizar números o expresiones constantes para definir el ancho de bits del vector y el tamaño del formación.
Verilog-1995 requiere que la expresión anterior sea una operación aritmética.
Verilog-2001 puede utilizar funciones que se convierten en funciones constantes. Su valor se determina durante la compilación o la especificación detallada.
12. Operaciones de entrada/salida de archivos añadidas
Las funciones de operación de entrada/salida de archivos en Verilog-1995 son muy limitadas. Las operaciones de archivos generalmente se manejan con la ayuda de Verilog PLI (Programación). Language Interface), utilizado con el lenguaje C accediendo a la biblioteca de entrada/salida de archivos. Y se estipula que la cantidad de archivos de E/S abiertos al mismo tiempo no puede exceder los 31.
Verilog-2001 añade nuevas tareas y funciones del sistema, y limita el número de archivos que se pueden abrir simultáneamente a 230.