Está en la página 1de 10

Simulación de circuitos combinacionales y secuenciales en VHDL

SIMULACIÓN DE CIRCUITOS COMBINACIONALES Y SECUENCIALES EN VHDL


Mária Paula Garzón Vargas
e-mail: u5600117@unimilitar.edu.co
Maria Camila Jiménez Ávila
e-mail: u5600112@unimilitar.edu.co
Diego Alejandro Josa Cifuentes
e-mail: u5600195@unimilitar.edu.co

RESUMEN: Se realizan 6 simulaciones en


modelsim el cual es un entorno que permite el desarrollo
y la verificación del Hardware Description Lenguage
como lo es VHDL, la simulación en esta se realiza por
medio de una interfaz gráfica o los scripts, allí se analiza
el correcto funcionamiento de cada compuerta o flip-flop
y los circuitos que estos forman.

PALABRAS CLAVE: Modelsim, VHDL, Flip-flop,


Compuertas, Secuencial, Combinacional. Imagen 1: Circuito de estructura secuencial a
realizar en modelsim.
2.2 FLIP-FLOPS
1 INTRODUCCIÓN
En este caso se realiza 4 tipos de flip-flop
El lenguaje de descripción de hardware (VHDL), son • El primero es un flip-flop D
lenguajes sencillos los cuales describen un circuito
electrónico digital se asimila a un lenguaje de
programación, pero con 2 diferencias notables:
1. La mayoría de expresiones se “ejecutan”
concurrentemente.
2. Cada expresión o “instrucción” corresponde a la
operación de un bloque de circuitos. Imagen 2: Flip-flop D a describir en modelsim.
Este lenguaje es muy útil ya que es posible simular el • El segundo es un flip-flop JK
correcto funcionamiento antes de construir el circuito
real.

Una estructura secuencial es aquella en la que una


acción sigue a otra en secuencia, de tal modo que la
salida de una es la entrada de la siguiente y así
sucesivamente. Imagen 3: Flip-flop JK a describir en modelsim.
Por otro lado, una estructura combinacional es cuando la
• El tercero es un flip-flop RS
salida son función exclusiva del valor de sus entradas en
un momento dado, sin que intervengan en ningún caso
estados anteriores de entradas y salidas.

2 DESARROLLO
Imagen 4: Flip-flop RS a describir en modelsim.
2.1 CIRCUITO COMBINACIONAL • El cuarto es un flip-flop T

En este caso se simulan compuertas IR, AND, EXOR,


NAND

Imagen 5: Flip-flop T a describir en modelsim.

1
Simulación de circuitos combinacionales y secuenciales en VHDL
.

2.3 REGISTRO DE DESPLAZAMIENTO DE 4


BITS 3.1.2 FLIP-FLOPS

Se realiza un circuito secuencial y combinacional así: Flip-flop D

library ieee;
use ieee.std_logic_1164.all;
use ieee.std_logic_arith.all;
use ieee.std_logic_unsigned.all;

Entity flipflopD is

port (clk, D, reset: in std_logic;


O : out std_logic);
Imagen 6: Circuito a describir en modelsim.
End flipflopD;
3 RESULTADOS
Architecture funcional of flipflopD is
3.1 CÓDIGOS begin
3.1.1 CIRCUITO COMBINACIONAL process (clk, D, reset)
begin
if reset = '1' then
library ieee; O <= '0';
use ieee.std_logic_1164.all; elsif clk'event and clk = '1' then
O<= D;
use ieee.std_logic_arith.all; end if;
use ieee.std_logic_unsigned.all; end process;
end funcional;
Entity supercompuerta is Flip-Flop JK
port (
p1: in std_logic; library ieee;
use ieee.std_logic_1164.all;
p2: in std_logic; use ieee.std_logic_arith.all;
p3: inout std_logic; use ieee.std_logic_unsigned.all;
c: in std_logic;
Entity flipflopJK is
q3: inout std_logic;
h: inout std_logic; port (clk, j, k, reset: in std_logic;
a: inout std_logic; q: inout std_logic);
d: in std_logic;
b: inout std_logic; End flipflopJK;
z2: out std_logic;
Architecture funcional of flipflopJK is
z3: out std_logic);
end supercompuerta;
Architecture funcional of supercompuerta is begin
begin process (j, k)
begin
p3 <= (p1 or p2); if reset='1' then
q<= '0';
q3 <= (p3 and c); elsif clk'event and clk='1' then
h <= (p3 and c and p3); if j<='0' and k<='0' then
a <= not(h); q<=q;
elsif j<= '0' and k<= '1' then
b <= not(d); q<='0';
z2 <= (q3 xor a); elsif j<= '1' and k<= '0' then
z3 <= (a and b); q<='1';
elsif j<= '1' and k<= '1' then
q<= not q;
End funcional; end if;

2
Simulación de circuitos combinacionales y secuenciales en VHDL
.

end if; process (r, s)


end process; begin
end funcional; if reset='1' then
q<= '0';
Flip-Flop T elsif clk'event and clk='1' then
if r<='0' and s<='0' then
library ieee; q<=q;
elsif r<= '0' and s<= '1' then
use ieee.std_logic_1164.all; q<='1';
elsif r<= '1' and s<= '0' then
use ieee.std_logic_arith.all; q<='0';
end if;
use ieee.std_logic_unsigned.all; end if;
end process;
Entity flipflopT is end funcional;

port (clk, T, reset: in std_logic; 3.1.3 REGISTRO DE DESPLAZAMIENTO DE 4


q: inout std_logic); BITS

library ieee;
End flipflopT;
use ieee.std_logic_1164.all;
Architecture funcional of flipflopT is
use ieee.std_logic_arith.all;
use ieee.std_logic_unsigned.all;
begin
Entity desp is
process (T)
begin port (
if reset='1' then clk,D: in std_logic;
q<= '0'; q1, q2, q3 : inout std_logic;
elsif clk'event and clk='1' then q : out std_logic
if T<='0’ then );
q<=q;
elsif T<= '1' then End desp;
q<= not q;
end if; Architecture funcional of desp is
end if; begin
end process; process (clk,D,q1,q2,q3)
end funcional; begin
if clk'event and clk = '1' then
Flip-FLop RS q1 <= D;
end if;
library ieee; if clk'event and clk = '1' then
q2 <= q1;
use ieee.std_logic_1164.all; end if;
if clk'event and clk = '1' then
use ieee.std_logic_arith.all; q3 <= q2;
end if;
use ieee.std_logic_unsigned.all; if clk'event and clk = '1' then
q <= q3;
Entity flipflopRS is end if;
end process;
port (clk, r, s, reset: in std_logic; end funcional;;
q: inout std_logic); 3.2 SIMULACIONES

End flipflopRS; 3.2.1 CIRCUITO COMBINACIONAL

Architecture funcional of flipflopRS is La simulación se puede apreciar en el anexo 1.

begin

3
Simulación de circuitos combinacionales y secuenciales en VHDL
.

3.2.2 FLIP-FLOPS

Las simulaciones se pueden apreciar así:


• Flip-flop D Anexo 2
• Flip-Flop JK Anexo 3
• Flip-FLop RS Anexo 4
• Flip-Flop T Anexo 5

3.2.3 REGISTRO DE DESPLAZAMIENTO DE 4


BITS

La simulación se puede apreciar en el anexo 6.

4 CONCLUSIONES

• Hoy en día los circuitos deben ser pequeños ya


que los componentes electrónicos se buscan
que sean pequeños para poder ser más
cómodos, para esto programar VHDL resulta
muy eficaz ya que se ahorran cables y espacio.
• El manejo de compuertas y flip-flops en los
circuitos aunque podría llegar a ser primitivo
esta lógica se usa muy seguido en los circuitos
hoy en día y el poder acomodarlos
secuencialmente y combinacionalmente se
sacan las respuestas resumidas a grandes
circuitos con muchas entradas.

5 REFERENCIAS

[1] processes/variables, m., 2020. Modelsim: Find


Processes/Variables. [online] Stack Overflow. Available at:
<https://stackoverflow.com/questions/20050151/modelsim-
find-processes-variables> [Accessed 22 March 2020].
[2] Es.slideshare.net. 2020. Latches Y Flip Flops. [online]
Available at: <https://es.slideshare.net/otmolllllll/latches-y-
flip-flops> [Accessed 22 March 2020].
[3] Forums.intel.com. 2020. Forums. [online] Available at:
<https://forums.intel.com/s/question/0D50P00003yyRkqSAE
/modelsim-how-to-see-local-variables-in-vhdl-procedures-in-
waveforms?language=en_US> [Accessed 22 March 2020].

4
Simulación de circuitos combinacionales y secuenciales en VHDL
.

ANEXO 1

5
Simulación de circuitos combinacionales y secuenciales en VHDL
.

ANEXO 2

6
Simulación de circuitos combinacionales y secuenciales en VHDL
.

ANEXO 3

7
Simulación de circuitos combinacionales y secuenciales en VHDL
.

ANEXO 4

8
Simulación de circuitos combinacionales y secuenciales en VHDL
.

ANEXO 5

9
Simulación de circuitos combinacionales y secuenciales en VHDL
.

ANEXO 6

10

También podría gustarte