Registro vhdl
Registros
9.1. Introducción
Un registro no es más que un conjunto de biestables que almacenan una palabra. Los más usados son los de entrada y salida enparalelo, que almacenan una palabra de n bits. No obstante en sistemas de comunicaciones son muy útiles los denominados registros de desplazamiento, que como veremos nos permitenenviar una palabra de n bits por un solo cable, enviando los bits en serie de uno en uno.
9.2. Registros de entrada y salida en paralelo
Estos registros están compuestos por nbiestables de tipo D y almacenan una palabra de n bits (uno por biestable obviamente). En la figura 9.1 se muestra un registro de 4 bits. Como se puede observar el registro no es másque 4 biestables con las entradas de reloj y clear unidas. Por tanto, en cada flanco de reloj la entrada de datos se copiará a la salida, donde permanecerá estable hasta elsiguiente flanco de reloj. Descripción en VHDL La descripción en VHDL de un registro se realiza en un process, de una forma similar a como se han descrito los registros que almacenanel estado en las máquinas
d3 d2 d1 d0
clk reset_n q3 q2 q1 q0
Figura 9.1: Registro con entrada y salida en paralelo. 175
176
Registros
de estado del capítuloanterior.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29
-- Registro de 4 bits library ieee; use ieee. std_logic_1164 .all; entity Registro is port( clk reset_n d q
: : : :
in in in out
std_logic ; -- Entradas de control std_logic ; std_logic_vector (3 downto 0); -- datos std_logic_vector (3 downto 0));
endRegistro ; architecture behavioral of Registro is begin -- behavioral
process (clk , reset_n , d) begin if reset_n = ’0’ then q ’0’); elsif clk ’event and clk = ’1’ then q
Regístrate para leer el documento completo.