Está en la página 1de 7

Materia: Dispositivos Digitales

Nombre de la Práctica:
Introducción a los primeros
pasos con Quartus Intel

Nombre del estudiante:


oscar adrian medina

Nombre del Profesor:


Dr. José Roberto Reyes Barón

Fecha: 27/Sep/2023
Introducción.

La práctica 1 consistió en la realización de un programa en donde se iban a declarar 3 entradas (XY-


CIN) y 2 salidas (S-COUT). Al energizar cada una de sus entradas, las salidas mostrarían la sumatoria
de las entradas energizadas en manera binaria. Después del funcionamiento de la programación, se
realizó el circuito en físico para ver su funcionamiento.

Marco Teórico

Hoy en día el CPLD se ha convertido en un dispositivo muy utilizado y eficaz, ya que ha permitido la
implementación de sistemas más eficaces con un espacio y costo más reducido a cualquier otra
compuerta lógica. Ese es la gran diferencia de ambos dispositivos, un CPLD puede ser un
componente para circuitos digitales reprogramables. A diferencia de la compuerta lógica que ya
tiene preterminado su función. La aplicación de CPLD cómo un sumador es simple, un sumador
realiza la suma combinando los transportes de cada posición de bit. El sumador completo consta de
dos mitades de sumador y la compuerta OR. El sumador completo supone un circuito un poco más
complejo. A diferencia del semisumador, nos permite incluir en la suma de dos bits el acarreo de una
suma anterior a través de una entrada que se llama Cin, con lo que ya podremos realizar cualesquiera
sumas.

Según lo dicho, tendremos tres variables de entrada, a las que llamaremos A, B y la propia Cin y dos
de salida: S, la suma y Cout, el acarreo de la misma (si procede). Entonces, la tabla de verdad
quedará:

1
Material

• Protoboard
• 5 leds de color rojo
• 5 resistencias de 220Ω
• Dip switch
• Cables Jumpers Hembra-Macho
• CPLD
• USB Blaster

Código del diseño.


-- Copyright (C) 1991-2016 Altera Corporation. All rights reserved.
-- Your use of Altera Corporation's design tools, logic functions
-- and other software and tools, and its AMPP partner logic
-- functions, and any output files from any of the foregoing
-- (including device programming or simulation files), and any
-- associated documentation or information are expressly subject
-- to the terms and conditions of the Altera Program License
-- Subscription Agreement, the Altera Quartus Prime License Agreement,
-- the Altera MegaCore Function License Agreement, or other
-- applicable license agreement, including, without limitation,
-- that your use is for the sole purpose of programming logic
-- devices manufactured by Altera and sold by Altera or its
-- authorized distributors. Please refer to the applicable --
agreement for further details.

--
*************************************************************************
**
2
-- This file contains a Vhdl test bench template that is freely editable to
-- suit user's needs .Comments are provided in each section to help the
user
-- fill out necessary details.

--
*************************************************************************
**
-- Generated on "09/26/2023 12:38:40"

-- Vhdl Test Bench template for design : test1


--
-- Simulation tool : ModelSim-Altera (VHDL)
--

LIBRARY ieee;
USE ieee.std_logic_1164.all;

ENTITY test1_vhd_tst IS END test1_vhd_tst; ARCHITECTURE


test1_arch OF test1_vhd_tst IS
-- constants
-- signals
SIGNAL Cin : STD_LOGIC; SIGNAL Cout : STD_LOGIC; SIGNAL S : STD_LOGIC;
SIGNAL X : STD_LOGIC; SIGNAL Y : STD_LOGIC; COMPONENT test1 PORT
(
Cin : IN STD_LOGIC;
Cout : BUFFER STD_LOGIC; S : BUFFER STD_LOGIC;
X : IN STD_LOGIC;
Y : IN STD_LOGIC
);

END COMPONENT; BEGIN i1


: test1 PORT MAP (
-- list connections between master ports and signals Cin => Cin,
Cout => Cout, S => S,
X => X, Y => Y
); init :
PROCESS
-- variable declarations BEGIN
-- code that executes only once

X <= '0';
Y <= '0'; Cin
<= '0'; wait
for 10 ns; X <=
'0';
Y <= '1'; Cin
<= '0'; wait
for 10 ns;

3
X <= '1'; Y <= '0';
Cin <= '0';
wait for 10 ns;

X <= '1';
Y <= '1'; Cin
<= '0'; wait
for 10 ns;

X <= '0';
Y <= '0'; Cin
<= '1'; wait
for 10 ns;

X <= '0';
Y <= '1'; Cin
<= '1'; wait
for 10 ns;

X <= '1';
Y <= '0'; Cin
<= '1'; wait
for 10 ns;

X <= '1';
Y <= '1'; Cin
<= '1'; wait
for 10 ns;

WAIT;

END PROCESS init;


always : PROCESS
-- optional sensitivity list
-- ( )
-- variable declarations BEGIN
-- code executes for every event on sensitivity list WAIT;
END PROCESS always;
END test1_arch;

Imágenes de la simulación y del diseño físico.

4
5
Conclusiones.
Al parecer el tema de la programación en Quartus fue muy complejo, ya que es la primera vez que la
utilizo, aparte de comparar con otros tipos de lenguajes. La práctica realizada tuvo éxito, el
accionamiento de cada entrada hacía cumplir la función de la tabla de verdad del sumador
complejo.

Referencias.

• (S/f). Unam.mx:8080. Recuperado el 28 de septiembre de 2023, de


http://www.ptolomeo.unam.mx:8080/jspui/bitstream/132.248.52.100/658/8/A8.pd
f

• Wikipedia contributors. (s/f). CPLD. Wikipedia, The Free Encyclopedia.

https://es.wikipedia.org/w/index.php?title=CPLD&oldid=127711681

• León, Á. M. (s/f). Sumador completo. Github.io. Recuperado el 28 de septiembre de 2023,


de https://angelmicelti.github.io/4ESO/EDI/sumador_completo.html
• (S/f-b). Unican.es. Recuperado el 28 de septiembre de 2023, de
https://personales.unican.es/manzanom/Planantiguo/EDigitalI/SumG2_09.pdf
• Sasmita. (2015, May 9). Full Adder. Retrieved September 28, 2023, from Electronics Post
website: https://electronicspost.com/full-adder/

También podría gustarte