Verilog: ¿Un registro conserva su valor actual si no se le indica explícitamente que lo haga?

2

Considera este código:

reg myReg [4:0];

always @ ( posedge clk )
begin

    if ( someCondition )

        case ( someValue )

            1       : myReg <= 20;
            2       : myReg <= 31;

            //default : myReg <= myReg;

        endcase
end

Si la declaración default: myReg <= myReg está comentada, ¿qué sucede cuando someValue en la condición del caso no es 1 o 2 ?

    
pregunta Jet Blue

1 respuesta

1

Sí, el registro conservará su valor si no se lo asigna explícitamente.

De hecho, esta es la razón por la que las personas tienden a crear cierres involuntarios en el código combinatorio ( always @* ... ) cuando se olvidan de crear asignaciones explícitas para cada registro para cada ruta a través del código.

    
respondido por el Dave Tweed

Lea otras preguntas en las etiquetas