Este documento describe el diseño de un sistema secuencial de alerta con tres luces usando una máquina de Moore. El sistema tendrá dos secuencias diferentes activadas por un botón. Cada secuencia encenderá las luces en un patrón triangular diferente. El diagrama de estados y la tabla de transiciones describen el comportamiento del sistema. Los mapas de Karnaugh se usan para derivar las ecuaciones lógicas y la programación en VHDL implementa el diseño en Xilinx.
Modelado de un filtro Butterwoth pasa bajos (pasivo) de cuarto orden.
Alerta con luces secuenciales
1. Universidad de Montemorelos
Facultad de Ingenier´ıa y Tecnolog´ıa
Alerta
ABSTRACT
presentado en cumplimiento parcial de los requisitos de la clase
Dise˜no de Sistemas Digitales
por
OmarGutierrez Lozano
2012
2. Alerta
Dise˜nar un sistema secuencial utiizando la maquina de moore en una se˜nal de alerta confor-
mada por 3 triangulos que se utilizaran como luces y seran q1 q2 q3. se formaran 2 secuencias
diferentes accionadas por un boton x las 2 inician con las lamparas apagadas.
si x = 0 el resultado sera la primera fila de triangulos.
x = 1 el resultado sera la segunda filas de triangulos.
A B C
D E F
Diagrama de estados
diagrama de estados se conformara con 8 estados que seran A,B,C,D,E,F. Cada uno de los
estados anteriores tiene una salida que indica si la luz est´a encendida o apagada.
A
Inicio
B C
CambioInicio
D E F
0/1 0/1
1
0
0/1
1
0
0/1 0/1
1
0
Tabla de transiciones
este sistema secuencial solo tien una entrada X y tres estados actuales y tres estados siguien-
tes. La entrada X solo var´ıa entre 0 y 1, entonces el estado siguiente depende de la entrada
y el estado actual . En este caso se ha utilizado un flip-flop de tipo D, entonces el estado
siguiente es igual al valor de cada flip-flip. Por ejemplo, D1 = q1*, D2 = q2* y D3 = q3*.
UMreporte[12.10.15] aparefs 2 [BORRADOR 16 de mayo de 2013 19:36]
4. programacion para JPGA en Xilinx
process (clk)
begin
if (clk’event and clk = ’1’) then
cnt = cnt +1;
clk2 = cnt(26);
end if;
end process;
process(clk2)
begin
if (clk2’event and clk2 = ’1’) then
p(2) = (not p(2) and p(0)) or (not s and not p(2) and not p(1))
or (not s and not p(1) and p(0)) or (p(2) and p(1) and not p(0));
p(1) = (p(2) and not p(1)) or (s and not p(1)) or (not p(2) and p(1) and p(0));
p(0) = (p(1) and not p(0)) or (p(2) and not p(1) and p(0)) or (s and not p(2) and not p(1));
q = p;
end if;
end process;
circuito hecho en Xilinx
UMreporte[12.10.15] aparefs 4 [BORRADOR 16 de mayo de 2013 19:36]
5. Figura 0.2: circuito de alerta
UMreporte[12.10.15] aparefs 5 [BORRADOR 16 de mayo de 2013 19:36]