Laboratorio 07. Diseño Jerárquico de Sistemas Digitales

Documentos relacionados
Laboratorio 5: Diseño Jerárquico de Sistemas Digitales

Laboratorio 06. Diseño e implementación de un sistema digital para la captura de caracteres desde teclado

APLICACIÓN CON LOS KITS LEGO Y DRIVERS PARA LOS MOTORES DC DE ESTOS KITS CON LA TARJETA XS95 MINI PALANCA MECANICA

Preparación: Para el diseño secuencial será necesario que utilices una señal de reloj. Para generar este pulso de reloj, refiérete a la práctica 2.

Laboratorio 5: Tarjeta de Desarrollo Spartan-3

LAB 5. Tarjeta de Desarrollo Spartan-3. Laboratorio de Sistemas Digitales ELO212 Primer Semestre de 2012

LAB 5. Tarjeta de Desarrollo Spartan-3. Laboratorio de Sistemas Digitales ELO212 Primer Semestre de 2010

Laboratorio 02. Ambiente de Mediciones Digitales

Cuatro Tipos de Flip-Flop en la GAL22V10

Lattice isplever. Características. Gestión de proyectos

Laboratorio 5: Tarjeta de Desarrollo Spartan-3

Máquinas de Estados en la GAL22V10 Usando ABEL-HDL

Armado de un microcomputador, basado en microcontrolador 8031

CURSO: ELECTRÓNICA DIGITAL UNIDAD 3: SISTEMAS SECUENCIALES - TEORÍA PROFESOR: JORGE ANTONIO POLANÍA

Nota: Para los diseños, anexar los respectivos códigos y simulaciones según el caso.

ABEL Para Síntesis. Dr. Juan C. Herrera Lozada

Laboratorio 10. Controlador VGA

Laboratorio 4. Objetivos

Tutorial introductorio al Lenguaje Abel ( Advanced Bolean Equations Language).

Problemario Electrónica Digital

Montaje y evaluación de sistemas digitales combinacionales.

Diseño electrónico digital integrado: Back to basics. Sep-2011 F.Barbero Escuela Politécnica Superior - Universidad Autónoma de Madrid

Electrónica Digital. Actividad Dirigida. Implementación de un Cronómetro Digital

Lenguaje ABEL-HDL. Departamento de Electrónica. Fundación San Valero

TRAB.PRÁCTICO Nº 1: INTRODUCCIÓN A LAS TÉCNICAS DIGITALES

MÓDULO Nº7 REGISTROS Y CONTADORES

Módulo 2 n. Figura 2.1. Simbología de un contador

5. Decodificadores. Salida _1= A A A A = m = M ... Electrónica Digital. Tema

PRÁCTICA 7. CIRCUITOS ARITMÉTICOS

PRACTICAS GAL22V10. Utilizar la placa PLD (GAL22V10), compilador de programas IspDesignExpert y programa de grabación del dispositivo IspVMSystem.

Dado el siguiente circuito digital, encontrar la tabla característica y la tabla de operación del flip-flop correspondiente

----*************************************************************************

Laboratorio 2: Mediciones Digitales

Practica 1 (3.5 %) 1. Realice el diseño y montaje de un R_S discreto activo en bajo.

Universidad De San Carlos De Guatemala Facultad de Ingeniería Escuela de Ciencias y Sistemas Organización Computacional Ing. Aux.

5.1. Introducción a los sistemas digitales

13-Bloques Básicos Secuenciales

Multiplexor de 3 a 1 Cuádruple con una GAL

4.7 Aplicaciones usando la tarjeta Spartan 3E

Laboratorio 8: Controlador VGA

LECCIÓN Nº 06 DISEÑO DE CONTADORES SINCRONOS

Enlaces Seriales UART, I2C, SPI

Lógica Secuencial. Dr. Andrés David García García Escuela de Ingeniería y Ciencias Campus Estado de México

Proyecto de Electrónica. Contador digital de 0 a 9

TEMA 5.3 SISTEMAS DIGITALES

TRABAJO PRÁCTICO Nº 4. Sistemas combinacionales MSI

CURSO: ELECTRÓNICA DIGITAL UNIDAD 2: SISTEMAS COMBINATORIOS - TEORÍA PROFESOR: JORGE ANTONIO POLANÍA 1. CIRCUITOS ARITMÉTICOS

P1.0,... P1.7 7 EN3 EN2

Ud debe controlar el flujo de información en una interface paralela CENTRONIX, que opera a 60 KB/seg.

Lenguaje ABEL. Introducción. Estructura de un archivo fuente ABEL. Estructura de un archivo fuente ABEL

Esperá que lo anoto, sino me olvido

Laboratorio 5: Semáforo de dos Vías

VHDL: Código Secuencial. Arquitectura del Computador 2017

Tema 2: Circuitos Secuenciales

Es un lenguaje para describir diseños de sistemas digitales en forma jerárquica. Advanced Boolean Equation Language.

LABORATORIO DE SISTEMAS DIGITALES. PRÁCTICA No. 8. Fecha: 03/07/ /07/2017

LABORATORIO DE CIRCUITOS DIGITALES (2005-II) SEGUNDA CLASE DE VHDL

Prof: Zulay Franco Puerto Ordaz, Agosto

APLICACIÓN DE ANALIZADORES LÓGICOS EN EXPERIENCIAS DE LABORATORIO. TUTORIAL PARA EL USO DEL ANALIZADOR LÓGICO

Practica 9 Estilos de codificar a estados FCE

Lenguaje ABEL-HDL. Departamento de Electrónica. Fundación San Valero

ELECTRÓNICA DIGITAL. Ejercicios propuestos Tema 3

Arquitectura del Procesador I

Laboratorio 2: Mediciones Digitales

Otros circuitos digitales. Actividad de apertura. Circuitos lógicos secuenciales.

Practica Nº4 Multiplexores

UNIVERSIDAD TECNICA FEDERICO SANTA MARIA DEPARTAMENTO DE ELECTRONICA ELO212 Laboratorio de Sistemas Digitales

Dispositivos de Memoria

Decodificador de Direcciones de Memoria en una GAL

PRÁCTICAS DE LAS ASIGNATURAS DE ELECTRÓNICA DIGITAL, ESTRUCTURA DE COMPUTADORES Y DISEÑO DE SISTEMAS MICROCOMPUTADORES (SÍNTESIS MEDIANTE PLD S)

PRÁCTICA 4. Montaje y evaluación de sistemas secuenciales.

Diseño Lógico en el Mundo Real. Tema V. ABEL (Advanced Boolean Equation Language) Lenguajes de programación de PLD

Tema V. Diseño Lógico en el Mundo Real

Lógica Programable - AHDL - Introducción n a los Sistemas Lógicos y Digitales 2008

Arquitecturas de Computadores. 4 Sistemas Combinacionales y Secuenciales Prof. Javier Cañas R.

RB0 RB1 RB2 RB3 RB4 RB5 RB6 RB7 PIC 16F87X. Figura # 1

FUNDAMENTOS DE COMPUTADORES

Lógica Digital. Circuitos Secuenciales. Francisco García Eijó. Organización del Computador I Departamento de Computación - FCEyN UBA

Organización del Computador I. David Alejandro González Márquez

Laboratorio 2: Mediciones Digitales

Lógica secuencial. Biestables

Lógica Digital - Circuitos Secuenciales

IIM Aportación al perfil. Esta asignatura proporciona al alumno las competencias necesarias para:

TECNOLOGÍA DE COMPUTADORES / SISTEMAS DIGITALES EXAMEN PARCIAL. PARTE COMBINACIONAL. 26 NOVIEMBRE 2009.

Laboratorio 4: Uso de una FPGA

Oscar Ignacio Botero H. Codificadores y Decodificadores. CODIFICADORES Y DECODIFICADORES

Laboratorio 5: Circuito contador digital y conversor D/A.

UNIVERSIDAD AUTÓNOMA DE BAJA CALIFORNIA

Universidad Nacional Autónoma de México Facultad de Ingeniería División de Ingeniería Eléctrica

2. Biestables asíncronos. Biestables R-S. Tecnología Industrial II. Tema 4.- Elementos básicos de un circuito secuencial.

PRÁCTICA 2: SISTEMAS DIGITALES

Laboratorio 8: Controlador VGA

DISEÑO DE PROCESADORES DEDICADOS. Práctica 6 LCD de Propósito General

FUNDAMENTOS DE COMPUTADORES INGENIERÍA TÉCNICA INFORMÁTICA DE GESTIÓN

Instituto Tecnológico de Tuxtla Gutiérrez PRACTICAS DE GAL S. Software WinCupl 5.0

Transcripción:

Objetivo Principal: Laboratorio 07. Diseño Jerárquico de Sistemas Digitales Adquirir una forma de diseño modular estructurado que permita realizar proyectos de mayor envergadura mediante la subdivisión en tareas más simples con características modulares. Objetivos Específicos: - Comprender y valorar la utilización de una metodología ordenada en el diseño de sistemas digitales que permita la reutilización de diseños anteriores de una manera rápida y clara. - Conocer y utilizar las sentencias correspondientes en ABEL para el desarrollo de subsistemas dentro de un diseño digital. - Diseñar sistemas como interconexión de subsistemas, mediante la clara definición de las tareas que cada subsistema debe realizar. - Desarrollar e implementar métodos de prueba para cada uno de los módulos integrantes de un sistema. - Verificar el funcionamiento del sistema completo. Preparación Previa. Recursos. 1.- Instrucciones en ABEL para declarar subsistemas. Como una manera de introducirse al diseño jerarquizado, se presenta a continuación un diseño sencillo, que permite mostrar por el display de 7 segmentos la cuenta de un contador de 4 bits, a través de la especificación de subsistemas. El siguiente esquema nos muestra ambos módulos y sus conexiones: count3..count0 reloj restart usarcont clk rst cnten Contador q15 q14 q13 q12 D0 D1 D2 D3 q11..q0 Decodificador g f e d c b a D0 D1 D2 D3 D4 D5 D6 Ena usardec Laboratorio de Sistemas Digitales. Prof. L. Silva B. R. Aguilera R. 08-05-2003 1

Es posible apreciar que el contador es en realidad de 16 bits, pero se utilizan los 4 últimos (más significativos) de manera de poder visualizar la cuenta en el display ( a qué frecuencia hay que ajustar el reloj de la tarjeta?). En lo que respecta al diseño jerárquico propiamente tal, el esquema anterior contempla la separación en dos módulos: contador y decodificador. Ambos módulos aparecen encerrados por una caja que los contiene y que tiene distintos nombres a las señales de entrada y salida, según sea el caso. Dicha caja corresponde a la especificación que se encuentra en un nivel superior al nivel que ocuparía la descripción del contador y del decodificador. Los siguientes son los códigos en ABEL de las tres entidades. Nótese el empleo de la palabras reservadas fuctional_block, para declarar una instanciación, en un nivel superior, de un módulo descrito en un nivel inferior; e interface, para declarar las entradas y salidas de una entidad inferior. module maq_digital title 'conexion de subsistemas contador y decoder'; unicont interface (clk,rst, cnten -> q15..q0); decoder interface (D3..D0, Ena -> a,b,c,d,e,f,g); contador functional_block unicont; decodificador functional_block decoder; "entradas del circuito grande reloj pin 9; restart pin 80; usardec pin 81; usarcont pin 52; "salidas del circuito grande S6..S0 pin 15, 18, 23, 21, 19, 14, 17 istype 'com'; count3..count0 pin istype 'reg'; "conexiones equations "conexiones exteriores "entradas contador.clk = reloj; contador.rst = restart; contador.cnten = usarcont; decodificador.ena = usardec; Laboratorio de Sistemas Digitales. Prof. L. Silva B. R. Aguilera R. 08-05-2003 2

"salidas S6=decodificador.a; S5=decodificador.b; S4=decodificador.c; S3=decodificador.d; S2=decodificador.e; S1=decodificador.f; S0=decodificador.g; count3=contador.q15; count2=contador.q14; count1=contador.q13; count0=contador.q12; "conexiones inter modulos decodificador.d3=contador.q15; decodificador.d2=contador.q14; decodificador.d1=contador.q13; decodificador.d0=contador.q12; end Código en ABEL del sistema completo. module unicont interface (clk,rst,cnten -> q15..q0) ; title 'Contador universal de 16 bits' ; "constantes X,C,Z =.X.,.C.,.Z. ; "entradas clk pin; "Reloj de entrada rst pin; "Reset Asincrónico cnten pin; "Habilitar cuenta "salidas q15..q0 pin istype 'reg'; "Salidas del contador "conjuntos count = [q15..q0]; "Counter set "Ecuaciones para el funcionamiento MODE = [cnten]; HOLD = (MODE == [ 0 ]); UP = (MODE == [ 1 ]); equations when UP then count := count + 1 "Contar else when HOLD then count := count ; "mantener cuenta count.clk = clk; "Entrada de reloj count.ar = rst; "Entrada de reset end Módulo de nivel inferior que implementa el contador. Laboratorio de Sistemas Digitales. Prof. L. Silva B. R. Aguilera R. 08-05-2003 3

module decoder interface (D3..D0,Ena -> a,b,c,d,e,f,g); title 'Decodificador de siete segmentos' " a " --- " f g b " --- " e d c " --- D3,D2,D1,D0, Ena pin; a,b,c,d,e,f,g pin istype 'com'; "definición de conjuntos o buses inputs = [D3,D2,D1,D0]; led = [a,b,c,d,e,f,g]; "Definición de constantes ON,OFF = 1,0; " Para LEDs de ánodo común L,H,X,Z = 0,1,.X.,.Z.; equations led.oe =!Ena; @dcset truth_table (inputs -> [ a, b, c, d, e, f, g ]) 0 -> [ ON, ON, ON, ON, ON, ON, OFF]; 1 -> [OFF, ON, ON, OFF, OFF, OFF, OFF]; 2 -> [ ON, ON, OFF, ON, ON, OFF, ON]; 3 -> [ ON, ON, ON, ON, OFF, OFF, ON]; 4 -> [OFF, ON, ON, OFF, OFF, ON, ON]; 5 -> [ ON, OFF, ON, ON, OFF, ON, ON]; 6 -> [ ON, OFF, ON, ON, ON, ON, ON]; 7 -> [ ON, ON, ON, OFF, OFF, OFF, OFF]; 8 -> [ ON, ON, ON, ON, ON, ON, ON]; 9 -> [ ON, ON, ON, ON, OFF, ON, ON]; 10 -> [ ON, ON, ON, OFF, ON, ON, ON]; 11 -> [ OFF, OFF, ON, ON, ON, ON, ON]; 12 -> [ ON, OFF, OFF, ON, ON, ON, OFF]; 13 -> [ OFF, ON, ON, ON, ON, OFF, ON]; 14 -> [ ON, OFF, OFF, ON, ON, ON, ON]; 15 -> [ ON, OFF, OFF, OFF, ON, ON, ON]; end Módulo de nivel inferior que implementa el decodificador. Es necesario notar que en la especificación a nivel superior las señales que van en la sección interface de cada instanciación de un determinado módulo son rebautizadas, y Laboratorio de Sistemas Digitales. Prof. L. Silva B. R. Aguilera R. 08-05-2003 4

depende de la implementación a nivel superior el que estén disponibles ó no para su visualización en la CPLD. Más referencias sobre el tema pueden ser ubicadas en el capítulo 4 del Abel-HDL Reference Manual, disponible en la sección de Aplicaciones de la página del ramo. 2.- Reutilización de código en ABEL. La principal ventaja de la estructuración del código ABEL en módulos es que permite la reutilización de diseños que ya han sido probados en su totalidad. Éstos pueden ser utilizados como parte de un diseño digital más complejo que, al momento de diseñarlo, sea subdividido en módulos que realicen tareas más específicas. Por ejemplo, en la experiencia 6, se tenía un código ABEL cuya tarea específica era la captura desde teclado, respetando las especificaciones del protocolo PS/2, de los códigos específicos de cada tecla (make code). Dicho código incluía una tabla de verdad (truth_table) con la cuál se implementaba la visualización de la tecla presionada cuando correspondía a un número específico. Luego, puede aislarse la parte principal del código que realiza la captura propiamente tal y encapsularla como un módulo que entiende el teclado, de manera de incluirlo posteriormente en algún otro diseño donde se quiera interactuar con la tarjeta de desarrollo en forma externa (sin utilizar el GXSPORT). Un posible implementación de dicho módulo sería: MODULE keyboard TITLE 'keyboard' interface (KB_DATA,KB_CLK -> SLAVE7..SLAVE0); KB_DATA PIN; // datos seriales desde el teclado PS/2 KB_CLK PIN; // reloj desde el teclado PS/2 [MASTER9..MASTER0] NODE ISTYPE 'REG'; // registro maestro para guardar // los datos desde el teclado MASTER = [MASTER9..MASTER0]; [SLAVE9..SLAVE0] PIN ISTYPE 'REG'; //registro esclavo SLAVE = [SLAVE9..SLAVE0]; // EQUATIONS MASTER.CLK =!KB_CLK; MASTER := [KB_DATA,SLAVE9..SLAVE1]; SLAVE.CLK = KB_CLK; SLAVE := MASTER; END keyboard Implementación posible de un módulo que capture caracteres de un teclado PS/2. El módulo anterior puede ser utilizado entonces en cualquier diseño, de manera tal que podemos estar permanentemente capturando cualquier evento proveniente desde el teclado y decidir que hacer con él. Laboratorio de Sistemas Digitales. Prof. L. Silva B. R. Aguilera R. 08-05-2003 5

Actividades Previas. a) Considerando el diseño propuesto por Ud. en la parte a) del laboratorio previo, convierta dicho diseño en un módulo independiente, a través de la directiva interface de ABEL. b) Escriba el código ABEL necesario para armar el siguiente sistema en forma modular: Control del MUX (47) KB_DATA KB_CLK Controlador de Teclado PS/2 SCAN CODE 8 bits 4 bits Decodificador SIETE SEGMENTOS CLOCK (9) Módulo Paralelo a Serie. SALIDA SERIAL (76) Cada módulo debe estar contenido en archivos independientes, y ser ensamblado en un módulo de nivel superior. Puede reutilizar códigos anteriores adaptándolos en forma conveniente. El módulo paralelo serie debe funcionar en por lo menos dos modalidades: una, estando detenido, en cuyo caso la salida serial debe estar en alto, y otra corriendo en forma continua, donde la salida serial debe ser el scancode que se está visualizando en el display de siete segmentos, desde el bit menos significativo al más significativo. Dichas modalidades deben ser controladas a través del GXSPORT. En el Laboratorio. STROBE (46) a) Implemente en la tarjeta de desarrollo el sistema contador - decodificador, dado en la sección de recursos de este laboratorio. Compruebe su correcto funcionamiento. b) Implemente el sistema descrito en el punto b) de la parte previa. c) Pruebe en forma independiente cada módulo descrito (y los que Ud. haya considerado conveniente agregar). d) Verifique el funcionamiento del sistema completo de acuerdo a las especificaciones señaladas. e) Modifique el diseño de manera que la salida serial sea por dos pines: el pin de datos, que comience con un bit de partida en cero, luego siga desde el bit más significativo al menos significativo, agregue un bit paridad par y un bit de fin en uno; mientras que en el otro pin se incluya un reloj que permita distinguir los bits datos, de forma similar al protocolo PS/2. Laboratorio de Sistemas Digitales. Prof. L. Silva B. R. Aguilera R. 08-05-2003 6