Comprender "Verilog predeterminado: '1"
Tengo algunas preguntas sobre lo que hace este código y cómo funciona:
x <= '{default:'1} ;
- ¿Cuál es el propósito de la palabra clave "predeterminada"?
- ¿Cuál es el propósito del apóstrofo interior de comillas simples antes del 1 en este caso?
- ¿Cuál es el propósito del apóstrofe interior de comillas simples antes de {en este caso?
Respuestas
La comilla simple interior antes del 1 es un relleno literal numérico. El '0, '1, 'z, y 'xliterales se ampliará para llenar el ancho de cualquier contexto que se utilizan en.
La comilla simple externa antes de {significa que este es un patrón de asignación a una matriz o estructura. Los patrones de asignación requieren un valor para cada elemento de la matriz o estructura, que puede ordenarse posicionalmente o coincidir por nombre / índice. Cuando se compara por nombre / índice, default:sirve como una coincidencia con cualquier elemento no especificado.
Todo esto se explica en la sección 10.9 Patrones de asignación en IEEE 1800-2017 SystemVerilog LRM
Por lo que sé:
- su SystemVerilog
- '{} define una estructura (sin nombre)
- predeterminado: '1, ya que el ancho predeterminado es de 32 bits, es 32x' 1 'como constante
(si no es correcto, corrígeme)