Docsity
Docsity

Prepara tus exámenes
Prepara tus exámenes

Prepara tus exámenes y mejora tus resultados gracias a la gran cantidad de recursos disponibles en Docsity


Consigue puntos base para descargar
Consigue puntos base para descargar

Gana puntos ayudando a otros estudiantes o consíguelos activando un Plan Premium


Orientación Universidad
Orientación Universidad


Circuitos Logicos Programables, Apuntes de Circuitos Lógicos programables

implementar, simular y alambrar un circuito que reciba cuatro entradas BCD a traves de dip switches y despliegue el n´umero correspondientemediante cuatro displays de siete segmentos

Tipo: Apuntes

2019/2020

Subido el 25/08/2020

diaz-monse-kim
diaz-monse-kim 🇲🇽

1 documento

1 / 11

Toggle sidebar

Esta página no es visible en la vista previa

¡No te pierdas las partes importantes!

bg1
Circuitos ogicos: SDI-11322
Pr´actica 2. BCD a 7 segmentos
Departamento Acad´emico de Sistemas Digitales
Instituto Tecnol´ogico Aut´onomo de exico
Oto˜no 2018
1. Objetivos
Que el alumno:
Se familiarice con el uso del software Quartus ySimulink
Se familiarice con el uso de circuitos contadores
Comience a trabajar tanto con esquem´aticos como VHDL
Empiece a utilizar la FPGA para la implementaci´on de circuitos ogicos
2. Problema
Se requiere implementar, simular y alambrar un circuito que reciba cuatro
entradas BCD a trav´es de dip switches y despliegue el umero correspondiente
mediante cuatro displays de siete segmentos.
3. Esbozo de la soluci´on
En la Fig. 1 se muestra el esquema general del circuito a implementar. El
circuito se va a implementar en Quartus, para lo cual es conveniente separarlo
en distintos segmentos. La pr´actica consiste en:
1. Implementar los componentes
a) Decodificador 2 a 4
b) Multiplexor 2 a 1
c) Decodificador BCD a 7 segmentos
2. Simular los componentes
3. Implementar el circuito principal
1
pf3
pf4
pf5
pf8
pf9
pfa

Vista previa parcial del texto

¡Descarga Circuitos Logicos Programables y más Apuntes en PDF de Circuitos Lógicos programables solo en Docsity!

Circuitos L´ogicos: SDI-

Pr´actica 2. BCD a 7 segmentos

Departamento Acad´emico de Sistemas Digitales

Instituto Tecnol´ogico Aut´onomo de M´exico

Oto˜no 2018

1. Objetivos

Que el alumno:

Se familiarice con el uso del software Quartus y Simulink

Se familiarice con el uso de circuitos contadores

Comience a trabajar tanto con esquem´aticos como VHDL

Empiece a utilizar la FPGA para la implementaci´on de circuitos l´ogicos

2. Problema

Se requiere implementar, simular y alambrar un circuito que reciba cuatro entradas BCD a trav´es de dip switches y despliegue el n´umero correspondiente mediante cuatro displays de siete segmentos.

3. Esbozo de la soluci´on

En la Fig. 1 se muestra el esquema general del circuito a implementar. El circuito se va a implementar en Quartus, para lo cual es conveniente separarlo en distintos segmentos. La pr´actica consiste en:

  1. Implementar los componentes

a) Decodificador 2 a 4 b) Multiplexor 2 a 1 c) Decodificador BCD a 7 segmentos

  1. Simular los componentes
  2. Implementar el circuito principal

Entrada Salida S 0 S 1 D 0 D 1 D 2 D 3 0 0 1 0 0 0 0 1 0 1 0 0 1 0 0 0 1 0 1 1 0 0 0 1

Cuadro 1: Tabla de verdad para el decodificador 2 a 4

  1. Alambrar el circuito general en la protoboard
  2. Programar la FPGA

Figura 1: Esquema del circuito a implementar

3.1. Componentes a implementar

3.1.1. Decodificador 2 a 4

Recibe dos bits de entrada y tiene cuatro bits a la salida. De acuerdo a la tabla 2. Implementarlo utilizando VHDL. En la secci´on 4.2 se muestra como implementar ´este componente.

a = m 2 m 0 + m 1 m 2 + m 3 m 1 + m 3 m 2 m 0 + m 3 m 1 m 0 + m 3 m 2 m 1 b = m 3 m 2 + m 2 m 0 + m 3 m 1 m 0 + m 3 m 1 m 0 + m 3 m 1 m 0 c = m 1 m 0 + m 3 m 2 + m 3 m 2 + m 3 m 1 + m 3 m 0 d = m 3 m 1 m 0 + m 2 m 1 m 0 + m 2 m 1 m 0 + m 2 m 1 m 0 + m 3 m 2 m 0 e = m 3 m 2 + m 1 m 0 + m 3 m 1 m 0 + m 2 m 1 m 0 f = m 1 m 0 + m 3 m 2 + m 3 m 1 + m 3 m 2 m 1 + m 2 m 1 m 0 g = m 3 m 2 + m 1 m 0 + m 3 m 0 + m 2 m 1 + m 3 m 2 m 1

3.2. Simulaci´on: ModelSim

ModelSim es el software mediante el cual se pueden simular los circuitos crea- dos en Quartus previo a programarlos a la FPGA. En general, es recomendable simular cada componente que se implementa de manera individual previo a in- cluirlo en el proyecto general. Para ´esta practica, por tratarse de componentes sencillos, es posible simular todas las entradas para verificar todas las posibles salidas. Para componentes m´as complejos, se pueden simular casos espec´ıficos para verificar esas salidas. En 4.3 se describe el uso b´asico de modelsim.

3.3. Circuito principal

El circuito general es conveniente implementarlo utilizando BDF (ver 4.5) en un nuevo archivo. A ´este circuito se importar los componentes implementados (decodificadores, multiplexor) as´ı como el contador y el divisor de frecuencia. Tanto el contador como el divisor de frecuencia NO se tienen que implementar, se pueden descargar desde la p´agina del curso.

3.4. Contador

Un circuito contador tiene como entrada una se˜nal de reloj y a la salida se tiene una se˜nal de n bits que incrementa en 1 a cada nuevo ciclo de reloj hasta llegar a 2n^ − 1 y despu´es comienza desde 0.

3.4.1. Divisor de Frecuencia

Un divisor de frecuencia recibe una se˜nal de reloj de entrada y a la salida se tiene una se˜nal que corresponde a un reloj de menor frecuencia.

3.5. Circuito general

El circuito general se puede dividir en las siguiente partes: circuito de entra- da, FPGA y circuito de salida/visualizaci´on.

3.5.1. Circuito de entrada

El circuito de entrada es la interfaz mediante la cual se van a introducir se˜nales a la FPGA.

3.6. FPGA

Los circuitos implementados en Quartus, se programan en la FPGA. Cuando se tenga el circuito completo, conectar la FPGA a la computadora y programarla (ver 4.6).

3.6.1. Circuito de salida/visualizaci´on

El circuito de salida consiste en displays de siete segmentos y transistores con sus correspondientes resistencias.

  1. Aspectos t´ecnicos de implementaci´on

4.1. Quartus

Quartus es un software para dise˜no de circuitos l´ogicos, los cuales se pueden tanto simular como programar en una FPGA. Para la FPGA que se va a utilizar durante el curso, para cada nuevo proyecto se debe seleccionar como disposi- tivo Cyclone IV E: EP4CE22F17C6. Un proyecto en Quartus puede contener m´ultiples archivos, en este curso se estar´a trabajando tanto con archivos tipo Block Diagram/Schematic File como archivos VHDL. Crear un nuevo proyecto mediante: File − > New Proyect Wizard. Se abre una ventana para configu- rar el proyecto: seleccionar la ubicaci´on del proyecto y su nombre. Seleccionar un proyecto vacio y no se agregan archivos. En la ventana Family, Device & Board Settings seleccionar Family − > Cyclone IV E, en Available devices − > EP4CE22F17C6, el resto se quedan con la opci´on preestablecida y finalizar la configuraci´on: bot´on Finish.

4.2. VHDL

Algunas tutoriales y referencias de VHDL son:

M. Morris Mano. Logic and Computer Design Fundamentals. Prentice Hall; 4 edition (June 17, 2007), 2007. isbn: 013198926X, Cap´ıtulo 4

David Jaime Gonz´alez Maxinez. Programaci´on de sistemas digitales con VHDL. Grupo Editorial Patria, 2014

David G Maxinez y Jessica Alcal´a Jara. “VHDL: el arte de programar sistemas digitales”. En: ()

Jan Van der Spiegel. VHDL Tutorial. 2006. url: https://www.seas. upenn.edu/~ese171/vhdl/vhdl_primer.html

4.2.1. Ecuaciones:

14 architecture function_table of decoder_2_to_4 is 15 begin 16 D0 <= NOT ( S (0)) AND NOT ( S (1)) ; 17 D1 <= NOT ( S (0)) AND S (1); 18 D2 <= S (0) AND NOT ( S (1)); 19 D3 <= S (0) AND S (1); 20 end function_table ;

4.2.2. with/select

14 architecture function_table of decoder_2_to_4 is 15 signal temp : std_logic_vector (0 to 3) := "0000"; 16 begin 17 with S select 18 temp <= "1000" when "00" , 19 "0100" when "01" , 20 "0010" when "10" , 21 "0001" when "11" , 22 " XXXX " when others ; 23 D0 <= temp (0); 24 D1 <= temp (1); 25 D2 <= temp (2); 26 D3 <= temp (3); 27 end function_table ;

Cuando se tenga implementado el circuito, utilizar el bot´on Start Compila- tion (Processing − > Start Compilation) para compilar el proyecto. Si existen errores, revisar el mensaje y corregir lo que sea necesario.

4.3. ModelSim-Altera

Si es la primera vez que se utiliza ModelSim-Altera en una computado- ra, es necesario configurar el simulador en “Tools − > Options − > EDA Tool Options”. En la secci´on de Modelsim-Altera debe de ir la siguiente ruta /opt/altera/modelsim ase/linuxaloem. Despues, checar que la configuraci´on se encuentre igual a la tabla 2 mediante: “Assignments − > Settings − > EDA Tool Settings − > Simulation”.

Figura 2: Configuraci´on

Para abrir model sim: “Tools − > Run Simulation Tool − > RTL Simula- tion”. Se debe abrir una ventana nueva con ModelSim. En la parte izquierda de la ventana ModelSim, se encuentra la secci´on “Li- brary”, expandir “Work − > nombre del proyecto”. Doble click al proyecto. Las se˜nales del proyecto aparecen en la secci´on objects. Ahora se deben definir los valores que tomar´an las se˜nales durante la simulaci´on: click derecho en una se˜nal de entrada − > Modify − > Apply Wave. Existen 5 opciones:

Clock - Solamente se puede utilizar con se˜nales de 1 bit.

Constant - De tratarse de un vector, es posible asignar el valor en formato binario o hexadecimal.

Random - Para los prop´ositos del laboratorio, ´este tipo de se˜nal no resulta muy util.

Repeater - Se pueden definir m´ultiples valores que se van a repetir de acuerdo a los par´ametros que se utilicen

Counter - Similar a Repeater pero solamente se define el valor inicial y el final. Es importante tomar en cuenta la unidad en que se realicen las simulaciones, picosegundos (ps) suele ser una buena opci´on. Es posible agregar se˜nales por partes variando el tiempo de inicio y fin, por ejemplo, el resultado de una se˜nal Counter se puede obtener utilizando segmentos de se˜nales Constant. Para correr la simulaci´on, agregar las se˜nales de salida: Simulate − > Run − > Run-All. Verificar que las se˜nales de salida tengan los valores correctos.

4.4. Importar archivos

Para agregar un archivo al proyecto, desde la aplicaci´on Files (navegador de archivos del sistema operativo) copiar el archivo a la carpeta del proyecto y agregarlo desde Quartus al proyecto: Project − > Add/Remove Files in Project.

4.5. Block Diagram/Schematic File

Crear un nuevo archivo de tipo Block Diagram/Schematic File. Una vez crea- do el archivo, en la parte izquierda de la pantalla en Proyect Navigator cambiar la vista de Hierarchy a Files. Buscar el archivo BDF que se acaba de crear, hacer click derecho y establecerlo como Top level entity. NOTA: ModelSim no puede simular archivos BDF, si se requiere simular, es necesario convertirlos a VHD. Por esto, es importante simular los componentes de manera individual antes de crear el archivo BDF. En este tipo de archivo, el circuito se implementa gr´aficamente. Para selec- cionar un componente para ser incluido en el circuito, utilizar el bot´on que se muestra en la figura 3 que se encuentra en la barra de herramientas de quar- tus. Mediante ´esta herramienta se pueden agregar compuertas l´ogicas y otros componentes como vcc y gnd.

NOTA: Es necesario compilar el proyecto despu´es de la asignaci´on de todos los pines.

4.6.2. Alambrado

Para el alambrado del circuito en la protoboard, conviene dividir el trabajo entre los miembros del equipo. En la protoboard se deben alambrar:

Cuatro dip switches de cuatro salidas cada uno.

Cuatro displays de siete segmentos de c´atodo com´un. Notar las salidas del circuito BCD a siete segmentos implementado en la FPGA son com´unes a los cuatro displays.

Transistores asociados a los displays.

Resistencias asociados a los displays y transistores.

Vcc a los dip switches

Tierra a los transistores.

Antes de conectar la FPGA a la computadora, revisar el alambrado.

4.6.3. Programar la FPGA

Para programar la FPGA, buscar el bot´on de Programmer en la barra de herramientas de Quartus. Se deber´ıa mostrar autom´aticamente el dispositivo en la computador y solamente es necesario apretar el bot´on upload.

4.6.4. Extra: BDF a VHDL

Si fuera necesario simular un archivo BDF, a continuaci´on se describen los pasos para convertir de BDF a VHDL y poder simular. La herramienta que permite simular los circuitos es ModelSim-Altera. Esta aplicaci´on utiliza archivos de descripci´on de lenguaje as´ı como archivos bech para simular. Para generar un archivo vhdl s´olo dirigete al archivo de esquema de bloques y selecciona la opci´on “File − > create / update − > Create HDL Design File from Current file”, selecciona la opci´on VHDL. Finalmente agrega el archivo al proyecto “Assignments − > Settings”. Esto mostrar´a una ventana, en la secci´on “Files” busca el archivo con el boton “...” y agregalo “add”, pero retira el archivo de bloques con “remove”. Aplica los cambios y cierra la ventana.

  1. Validaci´on

Es necesario realizar la simulaci´on de los componentes implementados me- diante ModelSim. Verificar que los resultados sean los esperados. Al alambrar el circuito, las principales fuentes de error son:

Asignaci´on de pines

Conexi´on de los transistores

Conectar el dipswitch correctamente (revisar las resistencia pullup)

Cuando el circuito se encuentre funcionando, realice un experimento para determinar un rango de frecuencias en las que el circuito funciona correctamente. ¿Porqu´e si el decodificador a siete segmentos saca la misma se˜nal a los dis- plays, se pueden ver n´umeros distintos? textbooks