Professional Documents
Culture Documents
Grupo: Mec-101
Objetivo: Realizar los programas en cdigo VHDL que muestre el comportamiento de los 4 principales tipos de flip-flop, los cuales son el flip-flop tipo RS/ D/ T/ JK, Y programar los cdigos en el FPGA spartan 3E pertenecientes al fabricante Xilinx Desarrollo: Par proceder con la implementacin de los flip-flop en un FPGA se comienza con abrir el programa destinado para este motivo, el cual es para este tipo de dispositivos es el ISE PROJECT NAVIGATOR versin 11 el cual se muestra en la ilustracin 1.
En el programa para poder empezar con la programacin en VHDL se inicializa con configurar el proyecto con el dispositivo que se va a utilizar, para lo cual se lleva a cabo el siguiente procedimiento. 1- Dar clic en file y consecutivamente se selecciona NEW PROJECT como se muestra en la ilustracin nmero 2.
3- Inmediatamente despus se da Next y nos llevara a la ilustracin 4 en la cual se determinara las caractersticas del FPGA con el cual se trabaja, siendo indispensables la familia a la que pertenece el dispositivo, el dispositivo mismo y el empaquetado as como la velocidad.
4- Al determinar las caractersticas del dispositivo solo damos clic en next hasta encontrar la leyenda de finish y al termino de esto, se mostrara una ilustracin como la mostrada en la numero 5.
5- En la pantalla mostrada en la ilustracin anterior se da clic derecho sobre el dispositivo y se selecciona la opcin new module el cual llevara a la ventana mostrada en la ilustracin 6, en esta se selecciona las opciones marcadas para despus iniciar el editor en el cual se empezara a describir el cdigo de comportamiento de los flip-flop.
Flip-flop Es un elemento de memoria utilizado indistintamente en el diseo de los sistemas sncronos o asncronos y tambin llamados celda binaria. La principal caracterstica de un flip-flop es mantener o almacenar un bit de manera indefinida hasta que a travs de un pulso o una seal cambie de estado en la ilustracin 7 se muestra la tabla de verdad que describe el comportamiento de los 4 principales flip-flop.
A continuacin se muestra el cdigo en VHDL que describe el comportamiento de los flip-flop: Cdigo en VHDL del flip flop tipo D
library IEEE; use IEEE.STD_LOGIC_1164.ALL; use IEEE.STD_LOGIC_ARITH.ALL; use IEEE.STD_LOGIC_UNSIGNED.ALL; entity TIPOD is Port ( D : in STD_LOGIC; CLK : in STD_LOGIC; UP : IN STD_LOGIC; Q : INOUT STD_LOGIC_VECTOR (3 DOWNTO 0); Q2 : INOUT STD_LOGIC_VECTOR (25 DOWNTO 0); Q1 : out STD_LOGIC); end TIPOD; architecture Behavioral of TIPOD is begin PROCESS (UP,CLK) BEGIN IF (CLK' EVENT AND CLK = '1') THEN IF (UP ='0') THEN Q2 <= Q2+1; ELSE
Q2 <= Q2-1; END IF; END IF; END PROCESS; PROCESS (UP,Q2(23)) BEGIN IF (Q2(23)' EVENT AND Q2(23) ='1') THEN IF (UP ='0') THEN Q <= Q+1; ELSE Q <= Q-1; END IF; END IF; END PROCESS; PROCESS (Q(3),D) BEGIN IF (Q(3)' EVENT AND Q(3)='1') THEN Q1 <= D; END IF; END PROCESS; end Behavioral;
END PROCESS; PROCESS (Q(3),J,K) BEGIN IF (Q(3)' EVENT AND Q(3)='1') THEN IF (J = '0' AND K = '0') THEN Q1 <= Q1; QN <= QN; ELSIF (J = '0' AND K = '1') THEN Q1 <='1'; QN <='0'; ELSIF (J='1' AND K='0') THEN Q1 <= '0'; QN <= '1'; ELSIF (J='1' AND K='1') THEN Q1 <=NOT Q1; QN <=NOT QN; END IF; END IF; END PROCESS; end Behavioral;
PROCESS (Q(3),S,R) BEGIN IF (Q(3)' EVENT AND Q(3)='1') THEN IF (S = '0' AND R = '1') THEN Q0 <= '0'; Q1 <= '1'; ELSIF (S = '1' AND R = '0') THEN Q0 <='1'; Q1 <='0'; ELSIF (S='0' AND R='0') THEN Q0 <= Q0; Q1 <= Q1; ELSE Q0 <= '-'; Q1 <= '-'; END IF; END IF; END PROCESS; end Behavioral;
IF (T='1') THEN Q1 <= NOT Q1; QN <= NOT Q1 AFTER 0.5ns; ELSE Q1 <= Q1; QN <= NOT Q1 AFTER 0.5ns; END IF; END IF; END PROCESS; end Behavioral;
Despus de realizar los cdigos se debe proceder a ver errores de sintaxis y direccionar las variables utilizadas para ser usadas en las salidas y entradas del FPGA, para ello se utilizan las funciones mostradas en la ilustracin 8.
Se selecciona la opcin marcada para abrir el editor de direcciones necesarias para ser implementadas en el dispositivo.
Para poder colocar las direcciones se deber seleccionar esta opcin he inmediatamente despus cerrar el programa que ser abierto automticamente e inmediatamente se deber dar clic sobre la extensin .ucf mostrado en la ilustracin 9
Ilustracin Opciones disponibles para ver errores de sintaxis, y generar las direcciones del FPGA y el programa a implementar
En la figura 9 se muestra el editor de direcciones las cuales debern ser copiadas dela hoja de datos del dispositivo a utilizar, al termino se compilara el cdigo y direcciones, igualmente generar la extensin que ser programada. A continuacin se muestra el FPGA utilizado
Para aclara los puntos anteriores dirigirse a la hoja de datos del dispositivo Spartan-3E Starter Kit Board User Guide
D P A J