Seleccionar parte en verilog

1

Estoy un poco confundido debido a una situación extraña en el operador de selección de parte en verilog. Había leído sobre operadores de selección de parte y vector de selección de parte . Pero hay una situación en la que tengo variable[0:0] , como parte seleccionada, aunque puede escribirse como variable[0] , y creo que ambos son correctos. Por favor, corrígeme si me equivoco.

Al utilizar la convención anterior significa variable[0:0] , tengo un error de segmentación en mi programa. ¿Entonces solo quiero confirmar que usar este tipo de convención está bien o no?

    
pregunta shailendra

1 respuesta

3

El uso de la variable de convención [expr1: expr2] es correcto siempre que expr1 y expr2 sean expresiones constantes. El rango definido puede ser little endian, big endian o tener expr1 = expr2 como en la variable de caso [0: 0]. Aunque la variable [0: 0] es menos legible que la variable [0].

Si su herramienta de síntesis, simulador, etc. se bloquea cuando utiliza esta convención, no es porque esté usando una sintaxis incorrecta, sino porque la herramienta tiene un error. Se espera que las herramientas den al menos un error y un número de línea para el código no compatible. Un fallo seg no es el comportamiento esperado. Debe enviar un informe de error al desarrollador y cambiar las herramientas o remodelar su código para que no bloquee la herramienta.

    
respondido por el travisbartley

Lea otras preguntas en las etiquetas