Estoy trabajando en la codificación de un Regsiter a1
con las señales de entrada b1,rst
y wra1
el registro a1
se inicializa a un valor específico al reiniciar.
a1
solo cambia su valor a b1
cuando wra1
es 1
; de lo contrario, mantiene el valor anterior
process(clk,regrst)
begin
if(regrst='1')then
a1 <= (others =>'0');
elsif(clk'event and clk='1') then
if(wra1='1')then
a1 <= b1;
end if;
end if;
end process;
En esta declaración, escribí el proceso de registro para actualizar la señal wra1 necesaria, pero estoy confundido sobre cómo hacer que se mantenga el valor antiguo de la salida en caso de que esta señal de escritura sea 0 ¿Este concepto genera pestillos no intencionados para almacenar el valor anterior? en caso afirmativo, ¿qué puedo agregar como asignación de registro predeterminada al inicio del proceso? y debo incluir la sentencia else con
a1<=a1;
Gracias