GuiaLab01 PDF

Descargar como pdf o txt
Descargar como pdf o txt
Está en la página 1de 25

PONTIFICIA UNIVERSIDAD CATÓLICA DEL PERÚ

ESTUDIOS GENERALES CIENCIAS

LABORATORIO DE DISEÑO DIGITAL

SESIÓN NÚMERO: 1

INTRODUCCIÓN AL LABORATORIO Y
TEMA:
CIRCUITOS COMBINACIONALES I

DESCRIPCIÓN:

Esta guía corresponde a la primera sesión dirigida del laboratorio de Diseño Digital.
La cual da a conocer la metodología de trabajo que se empleará en todas las sesiones
de laboratorio.

OBJETIVOS:

 Familiarizarse con el uso de las herramientas y dispositivos que serán empleados


a lo largo de todas las sesiones de laboratorio.
 Conocer el flujo de diseño.
 Aprender a utilizar las diferentes herramientas del software QUARTUS PRIME
LITE EDITION.
 Familiarizarse con la codificación del lenguaje de descripción de hardware
VHDL.
 Implementar circuitos digitales en un FPGA.

ACTIVIDADES A REALIZAR
DURACIÓN
Nº DESCRIPCIÓN PUNTOS
APROXIMADA

1 Introducción. 20 min. 0.0 Pts

2 Explicación del hardware y software a utilizar en el laboratorio. 20 min. 0.0 Pts

4 Experiencia práctica: Uso del software Quartus Prime Lite Edition. 175 min. 0.0 Pts

5 Prueba de salida. 15 min. 5.0 Pts

1IEE04 DISEÑO DIGITAL 1


PONTIFICIA UNIVERSIDAD CATÓLICA DEL PERÚ
ESTUDIOS GENERALES CIENCIAS

FIELD PROGRAMMABLE GATE ARRAY (FPGA)


Un field programable gate array (FPGA) es un circuito integrado digital que contiene un arreglo
bidimensional de celdas lógicas genéricas e interruptores programables. En la siguiente figura se
muestra una estructura conceptual de un dispositivo FPGA.

Una celda lógica puede ser configurada para realizar una determinada función, y un interruptor
programable puede ser empleado para proveer interconexiones entre las celdas lógicas. Para la
implementación de un diseño determinado, se especifican las funciones de cada celda lógica y se
activan o desactivan las conexiones de cada interruptor programable.

El término field programable o “programable en el campo” se refiere al hecho de que la


configuración del dispositivo es realizada por el usuario. La mayoría de dispositivos FPGA
disponibles en la actualidad, basados en memorias SRAM, pueden ser configurados una y otra vez, a
fin de realizar tareas distintas. Esta característica se conoce como reconfigurabilidad. Asimismo,
otra característica importante de estos dispositivos es su capacidad de paralelismo. Esto se debe a
que permite emplear celdas lógicas distintas para realizar tareas independientes que se ejecutan en
simultáneo.

LENGUAJE DE DESCRIPCIÓN DE HARDWARE


Los lenguajes de descripción de hardware (hardware description languages o HDLs) son empleados
para modelar o describir sistemas digitales. A diferencia de los lenguajes de programación, donde
las instrucciones se ejecutan en forma secuencial, los HDLs cuentan con sentencias concurrentes, es
decir, que operan en simultáneo.

Los HDLs más empleados a nivel mundial son VHDL y Verilog, los cuales se han establecido como
estándares industriales. Ambos son utilizados para implementar circuitos digitales en dispositivos
lógicos programables como CPLDs o FPGAs, o en circuitos integrados de aplicación específica
(ASICs).

1IEE04 DISEÑO DIGITAL 2


PONTIFICIA UNIVERSIDAD CATÓLICA DEL PERÚ
ESTUDIOS GENERALES CIENCIAS

USO DE SOFTWARE QUARTUS PRIME LITE EDITION


EL QUARTUS PRIME LITE EDITION es un software de la compañía Intel FPGA (ex Altera)
que provee un entorno de múltiples plataformas, diseño independiente de la arquitectura y
tecnología del dispositivo, que permite varios métodos de entrada de diseño, síntesis lógica,
simulación y configuración de arquitecturas reconfigurables como CPLDs o FPGAs.

Flujo de Diseño:

Descripción

Fuente: Tutorial de Xilinx ISE


Síntesis
lógica

Netlist

Placement & Simulación


Routing funcional
l

Generación Bitstream
de
bitstream

Configuración de
dispositivo

10

1IEE04 DISEÑO DIGITAL 3


PONTIFICIA UNIVERSIDAD CATÓLICA DEL PERÚ
ESTUDIOS GENERALES CIENCIAS

Etapas del flujo de diseño:

 Especificación: se definen las características funcionales y los parámetros de performance del


sistema.
 Descripción: el circuito deseado se describe por medio de un diagrama esquemático, o por medio
de un lenguaje de descripción de hardware como VHDL.
 Síntesis lógica: se emplea un sintetizador lógico para convertir la descripción esquemática o en
HDL a un netlist, el cual es una descripción del mismo diseño en base a estructuras de hardware
(compuertas lógicas, flip-flops, etc.) que están disponibles en el dispositivo FPGA seleccionado.
 Simulación funcional: se verifica si el circuito diseñado tiene una funcionalidad correcta, es
decir, si genera las señales de salida deseadas.
 Placement & Routing: cada estructura inferida por el sintetizador es asignada una ubicación
específica en el dispositivo FPGA, y se realizan las conexiones requeridas entre dichas
estructuras.
 Generación de archivo de programación: se genera un archivo binario (bitstream) con la
configuración de los elementos internos del FPGA.
 Configuración de dispositivo: se realiza la implementación física del diseño, es decir, se
configura el dispositivo FPGA con el bitstream generado.

1IEE04 DISEÑO DIGITAL 4


PONTIFICIA UNIVERSIDAD CATÓLICA DEL PERÚ
ESTUDIOS GENERALES CIENCIAS

EXPERIENCIA 1:
USO DEL SOFTWARE QUARTUS PRIME LITE EDITION
CIRCUITO MULTIPLEXOR 2 A 1

Desarrollo de un circuito multiplexor en Quartus así como de simulación y programación en el dispositivo


MAX10.
Un circuito multiplexor permite canalizar varias entradas hacia una salida. Un multiplexor de 2 a 1 dispone de
dos entradas, una salida y un selector tal como se muestra en la figura.

La salida Z será igual a A si es que S es igual a ‘0’ y será igual a B si es que S es igual a ‘1’.
La tabla de verdad es:

S A B Z
0 0 0 0
0 0 1 0
0 1 0 1
0 1 1 1
1 0 0 0
1 0 1 1
1 1 0 0
1 1 1 1

La función simplificada es Z = S’.A + S.B

PROCEDIMIENTO

1. EJECUTAR EL PROGRAMA QUARTUS PRIME LITE EDITION

1IEE04 DISEÑO DIGITAL 10


PONTIFICIA UNIVERSIDAD CATÓLICA DEL PERÚ
ESTUDIOS GENERALES CIENCIAS

2. CREAR UN NUEVO PROYECTO

Creación de un proyecto: File ->


New Project Wizard

1IEE04 DISEÑO DIGITAL 11


PONTIFICIA UNIVERSIDAD CATÓLICA DEL PERÚ
ESTUDIOS GENERALES CIENCIAS

Hacer clic en Next.

Aquí se debe ingresar 3 datos:


 Ruta de trabajo
 El nombre del proyecto
 El nombre de la Entidad Top (nombre del archivo principal)

Hacer clic en Next.

1IEE04 DISEÑO DIGITAL 12


PONTIFICIA UNIVERSIDAD CATÓLICA DEL PERÚ
ESTUDIOS GENERALES CIENCIAS

Hacer clic en Next.

Hacer clic en Next.


A continuación, aparecerá la ventana en donde deberá escoger el dispositivo programable. Escoja lo
que se indica en la siguiente figura. El dispositivo programable 10M50DAF484C7G es el que se
empleará en este laboratorio.

1IEE04 DISEÑO DIGITAL 13


PONTIFICIA UNIVERSIDAD CATÓLICA DEL PERÚ
ESTUDIOS GENERALES CIENCIAS

Hacer clic en Next.

Hacer clic en Next

Hacer clic en Finish.


Se ha creado un proyecto denominado lab0.

1IEE04 DISEÑO DIGITAL 14


PONTIFICIA UNIVERSIDAD CATÓLICA DEL PERÚ
ESTUDIOS GENERALES CIENCIAS

3. CREAR UN NUEVO ARCHIVO PARA EL CIRCUITO DE TRABAJO

Para crear un archivo VHDL, hacer clic en File ->


New y elija VHDL File, tal como se muestra:

A continuación, escribirá la descripción VHDL en la ventana de texto, tal como se muestra a seguir.

1IEE04 DISEÑO DIGITAL 15


PONTIFICIA UNIVERSIDAD CATÓLICA DEL PERÚ
ESTUDIOS GENERALES CIENCIAS

Luego de escribir deberá guardar el archivo haciendo clic en File -> Save. Acepte el nombre
propuesto lab0 haciendo clic en Save.
Notar que el nombre del archivo lab0 coincide con el nombre de la entidad (entity).

4. COMPILAR EL ARCHIVO DEL CIRCUITO DE TRABAJO


A continuación, se procederá a realizar la síntesis lógica del diseño, para lo cual debe hacer clic en
Processing -> Start -> Start Analysis and Synthesis.

El programa compilará el proyecto, si encuentra errores deberá revisarlos y corregirlos. Si fue


exitosa la compilación, aparecerá el siguiente mensaje:

1IEE04 DISEÑO DIGITAL 16


PONTIFICIA UNIVERSIDAD CATÓLICA DEL PERÚ
ESTUDIOS GENERALES CIENCIAS

5. SIMULAR EL ARCHIVO DE TRABAJO (Introducción al TestBench y ModelSim-Altera)

Previo a la simulación del archivo, se debe verificar que el software esté vinculado a la ruta donde se
encuentra el simulador. Se deberá hacer clic en Tools -> Options -> EDA Tools Options. Se debe
verificar que la ruta del ítem ModelSim-Altera sea C:\altera\13.0sp1\modelsim_ase\win32aloem.

Asimismo, se debe ingresar a Assignments -> Settings -> EDA Tool Setings ->
Simulation, y en el ítem Tool Name debe seleccionarse la herramienta ModelSim-Altera.

1IEE04 DISEÑO DIGITAL 17


PONTIFICIA UNIVERSIDAD CATÓLICA DEL PERÚ
ESTUDIOS GENERALES CIENCIAS

Para crear la plantilla de simulación hacer clic en: Processing -> Start -> Start TestBench
Template Writer.

Luego, abrir el archivo extensión .vht que se encuentra en la carpeta


/simulation/modelsim/.

1IEE04 DISEÑO DIGITAL 18


PONTIFICIA UNIVERSIDAD CATÓLICA DEL PERÚ
ESTUDIOS GENERALES CIENCIAS

El archivo .vht deberá ser editado para cumplir con los requerimientos de simulación según sea
necesario.

En la sección always : PROCESS se deben agregar unas líneas en donde se generan los diferentes
estímulos de entrada que se desean aplicar al módulo diseñado.

1IEE04 DISEÑO DIGITAL 19


PONTIFICIA UNIVERSIDAD CATÓLICA DEL PERÚ
ESTUDIOS GENERALES CIENCIAS

A continuación, se debe agregar el archivo testbench para poder simularlo. Ingresar a Assignments -
> Settings -> EDA Tools Settings -> Simulation. En la sección NativeLink settings, seleccionar
Compile test bench y se debe hacer clic en el botón test benches.

Luego, hacer clic en New:

Aparecerá una ventana similar a la que se muestra a continuación:

1IEE04 DISEÑO DIGITAL 20


PONTIFICIA UNIVERSIDAD CATÓLICA DEL PERÚ
ESTUDIOS GENERALES CIENCIAS

Se deberá ingresar el nombre del test bench (en Test bench name), el cual deberá ser el mismo de la
entidad del archivo .vht. En este caso es lab0_vhd_tst

1IEE04 DISEÑO DIGITAL 21


PONTIFICIA UNIVERSIDAD CATÓLICA DEL PERÚ
ESTUDIOS GENERALES CIENCIAS

En la sección Simulation period escoger un tiempo de simulación acorde a su descripción de


testbench, escoger 100ns para este caso. Tener presente que en el archivo testbench ha tomado 10ns
por cada combinación de entradas.

Luego, en la sección Test bench and simulation files se deberá seleccionar y agregar el archivo .vht.

Una vez seleccionado, dar OK a todas las opciones.

1IEE04 DISEÑO DIGITAL 22


PONTIFICIA UNIVERSIDAD CATÓLICA DEL PERÚ
ESTUDIOS GENERALES CIENCIAS

Una vez terminado todo este proceso, se debe emplear el software de simulación. Hacer clic en: Tools
-> Run Simulation Tool -> RTL Simulation.

Esta acción resultará en la ejecución del programa ModelSim que mostrará el resultado de la
simulación en diagramas de tiempo.

Para visualizar su simulación debe hacer clic sobre la ventana Wave y luego hacer clic sobre la lupa
Zoom Full.

1IEE04 DISEÑO DIGITAL 23


PONTIFICIA UNIVERSIDAD CATÓLICA DEL PERÚ
ESTUDIOS GENERALES CIENCIAS

Visualizar las formas de onda (en verde) que vienen a ser los resultados de la simulación y verificar
que sean correctos. Compárelos con la tabla de verdad.

Una vez finalizado este proceso, se deben realizar las siguientes etapas del flujo de diseño.

Para efectuar el Placement & Routing, hacer clic en Processing -> Start -> Start Fitter.
Para generar el archivo de configuración, hacer clic en Processing -> Start -> Start Assembler.

De forma alternativa, el flujo de diseño completo se puede realizar haciendo clic en Processing ->
Start Compilation.

1IEE04 DISEÑO DIGITAL 24


PONTIFICIA UNIVERSIDAD CATÓLICA DEL PERÚ
ESTUDIOS GENERALES CIENCIAS

CONFIGURACIÓN DEL FPGA (Asignación de Pines y Programación del FPGA)

Se usará la tarjeta DE10-Lite que dispone del dispositivo 10M50DAF484C7G, cuyo manual deberá
revisar.
En primer lugar, se asignan los pines físicos del dispositivo que será empleado. Para asignar pines,
hacer clic en: Assignments -> Pin Planner.

Se deberá mostrar una ventana similar a la que se muestra a continuación:

1IEE04 DISEÑO DIGITAL 25


PONTIFICIA UNIVERSIDAD CATÓLICA DEL PERÚ
ESTUDIOS GENERALES CIENCIAS

Se nota que las entradas y salidas del circuito declaradas en la descripción VHDL aparecen en una
tabla en la parte inferior de la ventana. Dicha tabla tendrá varios campos, de los cuales son de interés
los siguientes:

Node name: nombre de la entrada/salida. En este campo deben aparecer todos los nombres de las
entradas y salidas declaradas en la descripción.

Direction: función del nodo. Se indica si es entrada o salida al circuito.

Location: pin asignado a la entrada/salida. Al hacer clic en una celda correspondiente a este campo,
se abrirá una lista desplegable de todos los pines disponibles del FPGA, de la cual se puede escoger
el pin que se quiere asignar a la entrada o salida del circuito. Esto es mostrado a continuación:

Las entradas serán asignadas a unos interruptores (switches) y la salida a un led. En el manual de
usuario de la tarjeta DE10 Lite se encuentran las especificaciones de todos los pines.

Una vez asignados los pines, deberá realizarse nuevamente la compilación del archivo. Para ello,
hacer clic en Processing -> Start Compilation.

1IEE04 DISEÑO DIGITAL 26


PONTIFICIA UNIVERSIDAD CATÓLICA DEL PERÚ
ESTUDIOS GENERALES CIENCIAS

Finalmente, una vez asignados todos los pines, se pasará a programar el módulo.
Conectar la tarjeta DE10-Lite mediante el cable USB a la computadora.
Luego debe hacer clic en Tools -> Programmer.

Verificar que la computadora haya detectado el dispositivo (USB-Blaster) tal como se muestra:

1IEE04 DISEÑO DIGITAL 27


PONTIFICIA UNIVERSIDAD CATÓLICA DEL PERÚ
ESTUDIOS GENERALES CIENCIAS

Hacer clic en Add file, seleccionar en la carpeta output_files el archivo lab0.sof y hacer clic en Open

Hacer clic en Program/Configure y luego clic en Start

El dispositivo se configurará y observará el comportamiento mostrado en la ventana:

1IEE04 DISEÑO DIGITAL 28


PONTIFICIA UNIVERSIDAD CATÓLICA DEL PERÚ
ESTUDIOS GENERALES CIENCIAS

Luego de concluida la configuración, el dispositivo estará implementado con el circuito descrito.

A continuación, deberá verificar la funcionalidad física del circuito en la tarjeta DE10-Lite


manipulando los interruptores y observando el LED correspondiente. Comprobar que se cumple la
tabla de verdad.

1IEE04 DISEÑO DIGITAL 29


PONTIFICIA UNIVERSIDAD CATÓLICA DEL PERÚ
ESTUDIOS GENERALES CIENCIAS

EJERCICIO

Dado el circuito fulladder ilustrado por la Fig 1 (Considere que las entradas del circuito son A, B y
Cin, mientras que las salidas son S y Cout.), desarrolle:
i. La expresión lógica booleana.
ii. La tabla de verdad.

Fig 1

Luego realice la descripción del circuito fulladder empleando VHDL, posteriormente simúlelo y
analice la gráfica generada con la tabla de verdad del mismo. Luego proceda a implementar el circuito
en la tarjeta DE10-Lite.

1IEE04 DISEÑO DIGITAL 30

También podría gustarte