Registro vhdl

Solo disponible en BuenasTareas
  • Páginas : 2 (317 palabras )
  • Descarga(s) : 0
  • Publicado : 1 de febrero de 2012
Leer documento completo
Vista previa del texto
Capítulo 9

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
tracking img