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?
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?
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
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.