ELECTRÓNICA DIGITAL (P2000)

ELECTRÓNICA DIGITAL (P2000) ACTIVIDAD: REPASO DE SISTEMAS LÓGICOS Departamento de Sistemas Electrónicos y de Control Curso 2010/2011 2 1. Introd

18 downloads 186 Views 235KB Size

Recommend Stories


TACHYMÉTRE DIGITAL TACÓMETRO DIGITAL
TACÓMETRO DIGITAL / DIGITAL TACHOMETER / TACHYMÉTRE DIGITAL TACÓMETRO DIGITAL TACÓMETRO DIGITAL PARTES DEL TACÓMETRO 1. Marca reflectante 2. Luz

Digital Business & Digital Marketing
Máster Executive en Digital Business & Digital Marketing Executive Executive Máster Executive en Digital Business y Digital Marketing Bienvenida

Digital. Digital. Digital. Digital. Digital. Cuantificación Análisis Detalle. Proporción Semejanza. Proporción Semejanza
Objetivos del curso Universidad Rey Juan Carlos Ingeniería de Telecomunicación Electrónica digital (Electrónica Digital I) CDA A+B=B+A CAD Electró

COMUNICA DIGITAL 360 COMUNICA DIGITAL 360 COMUNICA DIGITAL 360
COMUNICA DIGITAL 360 COMUNICA DIGITAL 360 COMUNICA DIGITAL 360 Síntesis informativa actualizada con lo más reciente en materia de telecomunicaciones

Digital Still Camera C_mara fotografia digital
ON_JLr _ 4-143-379-61/ Digital Still Camera C_mara fotografia digital DSC-W180AN190 Instruction Manual ............................. Manual de ins

Story Transcript

ELECTRÓNICA DIGITAL (P2000)

ACTIVIDAD: REPASO DE SISTEMAS LÓGICOS

Departamento de Sistemas Electrónicos y de Control Curso 2010/2011

2

1. Introducción y objetivos El objetivo del ejercicio que aquí se plantea es repasar algunos conceptos que ya se vieron en la asignatura “Sistemas Lógicos” y que se consideran requisitos previos para el correcto aprovechamiento de la asignatura “Electrónica Digital”. El ejercicio propuesto tiene una dificultad similar a los que se proponen en la parte D2 del examen de “Sistemas Lógicos”, que está orientada al diseño y análisis de un sistema digital de mediana complejidad en el que se realiza una división de su estructura en una ruta de datos (o datapath) y un controlador. Para la realización del ejercicio necesitará los ficheros que se suministran junto con el enunciado en la zona de descargas de la página web de la asignatura.

2. Temporización de los trabajos y entregables Los ejercicios correspondientes a esta actividad podrá realizarlos en su horario de laboratorio si termina antes la práctica correspondiente, en los horarios de libre acceso al laboratorio que se han habilitado o en cualquier lugar en el que se disponga de las herramientas de diseño. En el último apartado de este enunciado se propone un ejercicio opcional que requiere la utilización de la tarjeta PRINCE y que por tanto únicamente podrá realizarse en el laboratorio. La lectura completa del diseño y la realización de la ruta de datos (apartado 3.4.1) deberá realizarse durante la semana del 4 de octubre. El diseño del controlador (apartado 3.4.2) y el diseño del sistema completo (3.4.3) deberán realizarse durante la semana del 11 de octubre (o antes). Bajo su directorio de usuario deberá crear una carpeta llamada “actividad1”, donde se ubicarán las carpetas de los proyectos utilizados para el diseño. Los entregables de cada semana serán los correspondientes proyectos Max+PlusII, conteniendo esquemas y simulaciones. Los entregables para el profesor deberán estar disponibles el primer día de la semana siguiente a la prevista para su realización (por ejemplo, el diseño de la ruta de datos deberá estar disponible el día 11 de octubre).

3

3. Descripción del sistema. 3.1. Funcionalidad y señales de entrada y salida Se pretende diseñar un circuito conversor de BCD de 4 dígitos a Binario Natural. El circuito recibe como entrada un número de 4 dígitos expresado en BCD y debe generar a su salida ese mismo número pero expresado en binario natural. A modo de ejemplo, si a la entrada llega el valor 1234BCD a la salida debe aparecer la combinación 00010011010010BN . En la figura 1 puede ver un diagrama donde aparecen las entradas y salidas del sistema.

Figura 1. Diagrama de bloques del sistema completo

El interfaz de entrada del circuito está compuesto por una entrada de datos de 4 bits (DATO_IN[3..0]) y una entrada de habilitación (ENABLE_DATO). Los dígitos correspondientes al número BCD deben introducirse a través de este interfaz en este orden: millares, centenas, decenas y unidades. Cada vez que en la entrada de datos hay un dígito válido se activa durante un ciclo de reloj (a nivel alto) la señal de habilitación. Una vez realizada la conversión a Binario Natural, el resultado de la misma se obtendrá en la salida RESULTADO[13..0]. Una vez realizada una conversión esta debe mantenerse estable en la salida hasta que se finalice una nueva conversión. La salida CALCULANDO se activa (a nivel alto) cada vez que llega el primer dígito BCD de una nueva conversión y se desactiva una vez se tiene en RESULTADO el número en Binario Natural. La salida FIN se activa (a nivel alto) sólo durante un ciclo de reloj para indicar que el dato en RESULTADO es válido. En la Figura 2 se muestra un cronograma que ilustra el funcionamiento del sistema. Tras el reset asíncrono inicial, se introduce en la entrada el número 4.083 (secuencia 4, 0, 8, 3). Nada mas recibir el 4 se activa la señal CALCULANDO. Después de unos ciclos de reloj, el circuito genera como resultado el número en Binario Natural, activa FIN y desactiva CALCULANDO.

4

Figura 2. Cronograma que muestra el funcionamiento del sistema completo 1

3.2. Algoritmo de conversión El algoritmo que se va a utilizar para realizar la conversión de BCD a Binario Natural es el siguiente: • Se toma el dígito BCD correspondiente a los millares y se multiplica por 10, almacenando el resultado en un registro. • Se toma el dígito BCD correspondiente a las centenas, se suma con el resultado del paso anterior, se multiplica el resultado por 10 y se almacena el nuevo resultado en un registro. • Se toma el dígito BCD correspondiente a las decenas, se suma con el resultado del paso anterior, se multiplica el resultado por 10 y se almacena el nuevo resultado en un registro. • Finalmente, se toma el dígito BCD correspondiente a las unidades y se suma con el resultado del paso anterior. El resultado obtenido es el número en Binario Natural. A modo de ejemplo, si el dato BCD de entrada es el 4.083, los cuatro pasos anteriores se realizarían de la siguiente manera: •

4×10=40



0+40=40; 40×10=400



8+400=408×10=4.080



3+4.080=4.083

3.3. Estructura del diseño Para simplificar la realización del diseño se ha resuelto dividir su estructura en una ruta de datos y un controlador. 3.3.1 Ruta de datos La ruta de datos del diseño debe ser capaz de realizar las operaciones descritas en el apartado 3.2. Las operaciones que es necesario realizar con cada dato de entrada son un producto y una acumulación (suma y almacenamiento). Como los datos van llegando secuencialmente, resulta factible utilizar un multiplicador y un acumulador para realizar las operaciones correspondientes a los cuatro datos, tal y como se muestra en la figura 3.

1

Esta figura al igual que la 4 y 5 se encuentran repetidas al final del documento con una escala mayor con objeto de que se puedan apreciar mejor los detalles de las mismas.

5

Una vez que se han realizado las cuatro operaciones hay que almacenar el resultado en un registro auxiliar de salida para que dicho resultado permanezca estable hasta que comience una nueva conversión.

Figura 3. División de la ruta de datos en acumulador, multiplicador y registro de salida.

La ruta de datos de la figura 3 tiene 2 entradas de control: •

RESET_ACUMULADOR. Sirve para realizar la puesta a 0 del registro (interno) del acumulador una vez ha finalizado la conversión de un número BCD. Además se empleará para poder resguardar en el “registro de salida” el resultado de la conversión y que este se mantenga hasta que finalice la próxima conversión.



ENABLE_ACUMULADOR. Indica al acumulador cuándo puede acumular el siguiente dígito BCD que se presente en la entrada DATO_IN[3..0].

Esta ruta de datos es capaz de implementar el algoritmo descrito en el apartado 3.2, con una pequeña diferencia: los resultados intermedios del procesamiento de cada dígito (un producto y una acumulación) no aparecen a la salida del acumulador hasta la llegada del siguiente dígito. Como consecuencia, para el último dato sólo se realiza la acumulación (no se multiplica por 10). Pero como esto es lo que realmente se persigue, esta diferencia no causa ningún problema. Una vez que se recibe el último dato el resultado de la operación se almacena en un “registro de salida” y se procede a resetear el acumulador que queda preparado para comenzar una nueva conversión El secuenciamiento de los datos de entrada, las señales de control y la salida de los datos de la ruta de datos puede verse en el cronograma de la figura 4. En este cronograma se ha incluido la señal denominada INTERMEDIO[13..0] que representa el valor de la salida del acumulador para que se aprecie cómo se va realizando la conversión dígito a dígito.

Figura 4. Cronograma de las entradas y salidas empleadas por la ruta de datos.

6

3.3.2 Controlador En la figura 5 se muestra un símbolo con las entradas y salidas del controlador. Además del reloj (CLK) y del reset asíncrono (aRST), la entrada ENABLE_DATO se activa durante un ciclo de reloj cada vez que llega un nuevo dígito BCD (ver cronograma de la figura 2). En principio el controlador debe ser capaz de generar a su salida las señales de control descritas en el apartado 3.3.1, RESET_ACUMULADOR y ENABLE_ACUMULADOR, junto con las salidas CALCULANDO y FIN que se describieron en el apartado 3.1. Sin embargo, es fácil darse cuenta que la señal que habilita el acumulador (ENABLE_ACUMULADOR) es la misma que la entrada de habilitación de datos (ENABLE_DATO) por lo que no es necesario que sea generada por el controlador.

Figura 5. Símbolo asociado al controlador del sistema.

El diseño del controlador se realizará con un autómata de Moore. En la figura 6 se muestra el diagrama de estados de este autómata. Revise este diagrama y compruebe que se generan las señales de control adecuadas tal y como se ha mostrado en el cronograma de la figura 4.

0

ESPERA

1

Estado

0

0,0,0 X

rst_acc, calculando, fin

MILLAR 0,1,0 1 FIN 0

1,1,1 CENTENAS 0,1,0

DECENAS 1

1 0,1,0

0

Figura 6. Diagrama de estados del controlador del convertidor BCD-4 a binario natural.

7

3.4.

Diseño del circuito

3.4.1 Ruta de datos. El esquema de la ruta de datos es el presentado en la figura 3. A continuación se proponen una serie de ejercicios encaminados a diseñar y simular esta ruta de datos. a) Multiplicador Se trata de realizar un circuito capaz de multiplicar un número por una constante, en este caso 10. Este tipo de operaciones (multiplicaciones por constantes) son muy sencillas de realizar con subsistemas combinacionales si tiene en cuenta que cualquier multiplicación por una constante se puede descomponen en sumas de multiplicaciones por potencias de 2 que, como bien es sabido, simplemente implican desplazamientos a izquierdas. Para el caso de multiplicar por 10 se tiene que 10X=8X+2X. Diseñe, capture y simule el subsistema multiplicador empleando exclusivamente subsistemas combinacionales. Una vez que compruebe su correcto funcionamiento genere un símbolo para poder incluirlo en la ruta de datos. b) Acumulador Diseñe, capture y simule el subsistema acumulador. Una vez que compruebe su correcto funcionamiento genere un símbolo para poder incluirlo en la ruta de datos c) Ruta de datos completa En este ejercicio se trata de diseñar y simular la ruta de datos completa. Para agilizar el trabajo se facilita el fichero rutadatos.gdf 2 que contiene el esquema presentado en dicha figura 3 sobre el que hay que insertar los módulos que ha diseñado previamente. Realice una simulación de toda la ruta de datos utilizando los estímulos que se encuentran en el fichero rutadatos.scf. Analice los estímulos que contiene el fichero y los resultados de la simulación para asegurarse que el circuito funciona correctamente. 3.4.2 Controlador. El diseño del controlador se va a realizar con un autómata de Moore, a partir del diagrama de estados de la figura 6. Realice la tabla de transiciones empleando como modelo una tabla con las columnas mostradas en la Figura 7 3 . Para codificar los estados emplee una numeración consecutiva, esto es, el estado “espera” estará codificado con el 000, el estado “millar” con el 001, “centena” con el 010 y así sucesivamente hasta el estado “fin”. 2

Este fichero, al igual que el resto de ficheros a los que se hace referencia en este documento, se pueden descargar de la página Web de la asignatura.

3

Como podrá apreciar los nombres de las señales que emplea el controlador se han abreviado para que quepan en la tabla.

8

Estado Actual

Entradas

Estado Futuro

Qi

ENABLE_DATO

Di

Salidas RESET_ ACC

CALCULANDO

FIN

Figura 7. Tabla de transiciones del diagrama de estados.

A partir de la tabla que ha rellenado extraiga las ecuaciones de las señales que caracterizan el estado futuro (Di) y todas las salidas. Utilizando estas ecuaciones, cree un nuevo proyecto en el que capture el esquema del controlador. Seguidamente, utilizando los estímulos definidos en el fichero controlador.scf, realice la simulación del circuito y asegúrese de que su funcionamiento es correcto. 3.4.2 Sistema completo. El último paso consiste en unir en un único proyecto la ruta de datos y el controlador diseñados en los apartados anteriores. Para ello genere un nuevo proyecto en el que se incluyan ambos subsistemas tal y como se muestra en la Figura 8.

Figura 8. Esquema correspondiente al sistema completo.

Una vez capturado simule su comportamiento empleando el fichero denominado top.scf que contiene los estímulos que aparecen en la figura 2. 3.4.3 Funcionamiento en la tarjeta PRINCE (apartado opcional). El último paso es trasladar el diseño a la tarjeta PRINCE. Para ello es necesario definir los interfaces de entrada y salida que se van a emplear. Como interfaces de entrada se emplearán los siguientes elementos: • Cada uno de los datos correspondientes a unidades, decenas, centenas y millares se introducirán a través de 4 microinterruptores S5-1 a S5-4. El bit de menor peso se corresponde con el microinterruptor S5-1 y el de mayor con S5.4. Tenga especial cuidado a la hora de introducir dígitos puesto que como bien es sabido empleando 4 bits se pueden introducir dígitos que no son BCD. Tenga cuidado a la hora de seleccionar los dígitos para no introducir ninguno que no sea BCD puesto que el comportamiento del sistema sería inesperado. • Para validad cada uno de los datos de entrada se empleará el pulsador S1. Recuerde que la duración de la señal de habilitación de cada dato es de un 9

periodo de reloj por lo que deberá conformar de algún modo la señal proveniente del pulsador para que tenga una anchura de un ciclo de reloj. Tenga en cuenta también si el nivel de activación de la señal de los pulsadores, es el adecuado. Para ello consulte el manual de la PRINCE. Como interface de salida se utilizarán los LEDs que posee la tarjeta PRINCE. Dado que la tarjeta sólo tiene 10 LEDs no pueden representarse todos los bits que se obtienen como resultado de la conversión (14). En este caso represente los 10 de menor peso por lo que el mayor número BCD que se debe introducir es el 1023. Una vez definidos los interfaces de entrada y salida genere un nuevo proyecto en el que incluya el convertidor BCD-4 a binario. Tras generar el proyecto, asignar los pines y simularlo, vuélquelo sobre la tarjeta PRINCE y compruebe su correcto funcionamiento.

10

Figura 2.

Figura 3.

Figura 4

Get in touch

Social

© Copyright 2013 - 2024 MYDOKUMENT.COM - All rights reserved.