Verilog: el rango debe estar delimitado por una expresión constante

0

Tengo una duda ... El error se produjo porque el rango debe estar delimitado por una expresión constante cuando se compila la siguiente línea X = en [i + 2: i] + 1'b1; En [i] = - 1; Por favor, dime cómo resolverlo?

    
pregunta lakshmi priya

2 respuestas

0

El ancho de los rangos debe ser una constante y debe escribirse de esta manera: in[i+:3]

Consulte Acceso a las filas de un matriz usando la variable en Verilog

    
respondido por el dave_59
0

Recuerde que Verilog no es un lenguaje de programación de propósito general, es un lenguaje descripción del hardware . Una vez que el hardware se sintetiza o compila, generalmente no cambia. Por lo tanto, el código que utiliza para especificar el hardware debe especificar el hardware fijo.

En lugar de usar variables de tiempo de ejecución para seleccionar las entradas de un sumador, debe usar un multiplexor para seleccionar esas entradas. Las señales de control para el multiplexor se derivarían de la lógica que utilice para elegir el valor de i en su código original.

    
respondido por el Elliot Alderson

Lea otras preguntas en las etiquetas