Comprender "Verilog predeterminado: '1"

Sep 09 2020

Tengo algunas preguntas sobre lo que hace este código y cómo funciona:

x <= '{default:'1} ;
  1. ¿Cuál es el propósito de la palabra clave "predeterminada"?
  2. ¿Cuál es el propósito del apóstrofo interior de comillas simples antes del 1 en este caso?
  3. ¿Cuál es el propósito del apóstrofe interior de comillas simples antes de {en este caso?

Respuestas

3 dave_59 Sep 09 2020 at 22:02

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

schnedan Sep 09 2020 at 21:44

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)