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

Diseño y simulación de circuitos lógicos combinacionales, Ejercicios de Estructuras y Materiales

Este documento aborda los conceptos fundamentales del diseño y simulación de circuitos lógicos combinacionales. Incluye temas como la representación de circuitos mediante funciones booleanas, tablas de verdad y funciones canónicas, así como la explicación del procedimiento de simulación de funciones booleanas y circuitos lógicos. También se describe la metodología de diseño de circuitos lógicos combinacionales, incluyendo la definición de variables, la elaboración de tablas de verdad y la simplificación de funciones booleanas. Además, se explica el uso de dispositivos lógicos programables (fpgas y cplds) en el diseño de circuitos digitales. El documento también aborda el funcionamiento de circuitos msi (integrados de escala media) y su aplicación en sistemas mecatrónicos y robóticos.

Tipo: Ejercicios

2021/2022

Subido el 20/06/2024

hugo-jean-rosas-gomez
hugo-jean-rosas-gomez 🇲🇽

1 / 30

Toggle sidebar

Esta página no es visible en la vista previa

¡No te pierdas las partes importantes!

bg1
1
UNIVERSIDAD Politécnica
DE CHIAPAS
Reporte de practica
Materia:
Sistemas digitales
Docente:
Arroyo Núñez Alexander
Cuatrimestre:
5ro -
Grupo
A
Carrera:
mecatrónica
Alumnos:
Rosas Gómez Hugo Jean
pf3
pf4
pf5
pf8
pf9
pfa
pfd
pfe
pff
pf12
pf13
pf14
pf15
pf16
pf17
pf18
pf19
pf1a
pf1b
pf1c
pf1d
pf1e

Vista previa parcial del texto

¡Descarga Diseño y simulación de circuitos lógicos combinacionales y más Ejercicios en PDF de Estructuras y Materiales solo en Docsity!

UNIVERSIDAD Politécnica

DE CHIAPAS

Reporte de practica

Materia: Sistemas digitales Docente: Arroyo Núñez Alexander Cuatrimestre: 5 ro - Grupo A Carrera: mecatrónica

Alumnos:

  • Rosas Gómez Hugo Jean

Contenido Sistemas y códigos numéricos en los sistemas digitales ..................................................................... 4 Reconocer las características de las señales y sistemas analógicos y digitales. ............................. 4

Identificar los sistemas y códigos numéricos utilizados en los sistemas digitales......................... 5

Identificar los códigos GRAY, BCD Y ASCII. ...................................................................................... 5 Explicar los procedimientos de conversión de sistemas numéricos decimal, binario, octal y hexadecimal. ................................................................................................................................... 6 Explicar el procedimiento de operaciones aritméticas: suma y resta. ........................................... 8 Funciones y familias lógicas ................................................................................................................ 9 Definir las características de los circuitos lógicos digitales. ............................................................ 9 Describir las características de las compuertas lógicas AND, OR, NOT, NAND, NOR, EXOR y EXNOR: .......................................................................................................................................... 10 Simplificación de funciones booleanas ............................................................................................. 12 Describir las funciones lógicas combinacionales. ......................................................................... 12 Distinguir la representación de circuitos combinacionales con funciones booleanas, tablas de verdad y funciones canónicas. ...................................................................................................... 13 Describir la elaboración de diagramas de circuitos lógicos combinacionales a partir de funciones booleanas, tablas de verdad y funciones canónicas. .................................................................... 13 Explicar las técnicas de simplificación de funciones booleanas y tablas de verdad: - algebra booleana - teoremas de DeMorgan - mapas de Karnaugh ........................................................... 15 Explicar el procedimiento de simulación de funciones booleanas y circuitos lógicos. ................. 16 Diseño de circuitos lógicos combinacionales .................................................................................... 18 Explicar la metodología de diseño de circuitos lógicos combinacionales. .................................... 18 Explicar los principios de operación de los dispositivos lógicos programables. ........................... 19 Estructura de la programación HDL. ............................................................................................. 20 Lógica de programación explicita HDL. ......................................................................................... 21 El procedimiento de implementación de programas explícitos HDL al dispositivo lógico programable (PLD´s)...................................................................................................................... 22 Circuitos Lógicos de máxima escala de integración (MSI) ................................................................ 24 Identificar las características de la información presentada en hojas de datos de los circuitos lógicos integrados. ........................................................................................................................ 24 Describir las características y funcionamiento de los circuitos MSI - decodificadores - codificadores - multiplexores - demultiplexores - comparadores – sumadores .......................... 26 El procedimiento de simulación del funcionamiento de los circuitos MSI. .................................. 27

Sistemas y códigos numéricos en los sistemas digitales Reconocer las características de las señales y sistemas analógicos y digitales. Definición de Analógico: Una magnitud analógica es aquella que toma valores continuos. Ejemplos incluyen la temperatura, el tiempo, la presión, la distancia y el sonido. Definición de Digital: Una magnitud digital es aquella que toma un conjunto de valores discretos. Se representan mediante códigos digitales, que constan de una serie de 1s y 0s. Ejemplos incluyen la música en formato digital. Ejemplos de Sistemas Analógicos y Digitales: Sistema Analógico: Sistema de Transmisión de Radio FM En un sistema de transmisión de radio FM (Frecuencia Modulada), la señal de audio es analógica. Un micrófono captura las ondas sonoras analógicas que representan la voz o la música. Estas ondas modulan la frecuencia de la portadora, generando así una señal FM. La señal modulada es transmitida a través del espacio y recibida por una antena de radio, donde un sintonizador la demodula para recuperar la señal de audio analógica original. Se puede saber que: La onda de audio es continua y varía su frecuencia. La señal de radio transmitida es una representación analógica de la onda de audio original. La calidad de la señal está sujeta a interferencias y ruido. Sistema Digital: Reproductor de MP Un reproductor de MP3 almacena música en formato digital. Las canciones se codifican y comprimen digitalmente para ocupar menos espacio de almacenamiento. Cuando reproduces una canción, un convertidor digital-analógico (DAC) convierte los datos digitales nuevamente en una señal analógica que se amplifica y envía a los auriculares. Se puede saber que: La música se representa mediante una serie de bits (código digital).

Almacenamiento eficiente debido a la representación digital. La reproducción es más precisa y menos susceptible al ruido analógico. Identificar los sistemas y códigos numéricos utilizados en los sistemas digitales. Sistema Numérico Utilizado: Binario Se puede saber que: En electrónica digital se utilizan sistemas y circuitos con dos estados posibles, representados por niveles de tensión diferentes: ALTO (HIGH) y BAJO (LOW). Estos dos estados se denominan 1 y 0, y el sistema de numeración de dos estados se llama binario. Códigos Numéricos Utilizados: Bits y Códigos Binarios Se puede saber que: En sistemas digitales como las computadoras, se emplean combinaciones de los dos estados (1 y 0), denominadas códigos, para representar números, símbolos, caracteres alfabéticos y otros tipos de datos. Los dos dígitos del sistema binario son 0 y 1, y cada dígito binario se llama bit. Identificar los códigos GRAY, BCD Y ASCII. Código Gray: En este código, cada número consecutivo difiere en un solo bit, lo que significa que solo un bit cambia su estado de 0 a 1 o viceversa cuando pasas de un número a otro. La característica más importante del código Gray es que solo varía un bit de un código al siguiente, lo que minimiza las probabilidades de error en aplicaciones como codificadores de posición. Puede tener cualquier número de bits. Código BCD (Binary Coded Decimal): El código BCD es una forma de representar números decimales utilizando combinaciones de bits. Cada dígito decimal se representa por su equivalente binario de 4 bits. El código decimal binario (BCD) es una forma de expresar cada dígito decimal con un código binario, utilizado para representar números decimales en sistemas binarios. Entre sus características: Utilizado para representar números decimales de 0 a 9. Facilita la conversión entre sistemas decimal y binario. Ampliamente utilizado en interfaces entre sistemas binarios y humanos, como teclados numéricos y visualizadores de siete segmentos. Código ASCII (American Standard Code for Information Interchange):

Octal a Decimal: En octal, cada dígito tiene un valor asociado, similar a binario y decimal. Multiplica cada dígito por su valor y suma los resultados. Hexadecimal a Decimal: En el sistema hexadecimal, los dígitos van desde 0 hasta F (que representa 15 en decimal). Cada dígito tiene un valor, y haces lo mismo: multiplicas y sumas. Decimal a Hexadecimal: Al igual que en binario y octal, divides sucesivamente por 16. Los residuos, leídos de abajo hacia arriba, te dan tu número en hexadecimal. Usa A para 10, B para 11, y así sucesivamente. Octal a Binario: Convierte cada dígito octal (0-7) en su equivalente binario de 3 bits. Agrupa los resultados y eso es. Binario a Octal: Agrupa los bits en conjuntos de 3 desde la derecha, conviértelos a números octales y listo. Binario a Hexadecimal: Similar al paso anterior, pero agrupas en conjuntos de 4 bits y usas los dígitos hexadecimales. Hexadecimal a Binario: Cada dígito hexadecimal es simplemente 4 bits en binario. Así que, solo convierte cada dígito y agrúpalos. Octal a Hexadecimal: Primero conviertes de octal a binario y luego de binario a hexadecimal.

Hexadecimal a Octal: Igual que antes, primero conviertes de hexadecimal a binario y luego de binario a octal. Decimal a BCD (Binary-Coded Decimal): Cada dígito decimal se convierte en su forma binaria de 4 bits. BCD a Decimal: Agrupa los dígitos binarios de 4 bits y conviértelos de nuevo a decimal. Gray a Binario: Para convertir de código Gray a binario, usa la regla XOR (la suma sin acarreo). Binario a Gray: Para convertir de binario a código Gray, realiza operaciones XOR consecutivas en los bits. Explicar el procedimiento de operaciones aritméticas: suma y resta. En el mundo de los números binarios con signo, las operaciones aritméticas, como la suma y la resta, se llevan a cabo mediante el sistema de complemento a 2. Suma: Cuando sumamos dos números binarios con signo, se pueden dar cuatro casos:

  1. Ambos números son positivos:
    • Ejemplo: 00000111 (7) + 00000100 (4) = 00001011 (11)
    • La suma es positiva, un número binario real.
  2. El número positivo es mayor que el negativo en valor absoluto:
    • Ejemplo: 00001111 (15) + 11111010 (-6) = 00001001 (9)
    • La suma es positiva, un número binario real.
  3. El número negativo es mayor que el positivo en valor absoluto:
    • Ejemplo: 00010000 (16) + 11101000 (-24) = 11111000 (-8)
    • La suma es negativa, y está en complemento a 2.
  4. Ambos números son negativos:

Implementación con Dispositivos Electrónicos: Los circuitos lógicos digitales se implementan utilizando dispositivos electrónicos, como transistores y puertas lógicas. Describir las características de las compuertas lógicas AND, OR, NOT, NAND, NOR, EXOR y EXNOR: La simbología, función lógica matemática y la tabla de verdad se muestran a continuación gráficamente en la Tabla 1, la hoja de datos de cada componente se muestra en los Anexos. Tecnología de Transistores: https://www.lifeder.com/lenguaje-matematico/

CMOS (Complementary Metal−Oxide Semiconductor): Utiliza transistores de efecto de campo (FET, por sus siglas en inglés). Especifica el uso de un tipo de transistor específico. TTL (Transistor-Transistor Logic): Emplea transistores bipolares. Se basa en transistores bipolares para la implementación de sus circuitos. Sensibilidad a Descargas Electroestáticas: CMOS: Sensible a descargas electrostáticas. TTL: Menos sensible a descargas electrostáticas que CMOS. Más práctico para experimentos y prototipos en entornos de laboratorio. Velocidad de Conmutación: CMOS: Tradicionalmente conocido por una menor velocidad de conmutación en comparación con TTL. TTL: Ha sido reconocido por sus altas velocidades de conmutación. Sin embargo, las velocidades de conmutación de CMOS han mejorado y pueden competir con TTL. Disipación de Potencia: CMOS: Ofrece una disipación de potencia significativamente menor en comparación con TTL, especialmente a medida que disminuye la tensión de alimentación. TTL: Históricamente dominante debido a sus altas velocidades de conmutación, pero con una mayor disipación de potencia. Series y Tensiones de Alimentación: CMOS: Se clasifica en series según la tensión de alimentación continua (5V, 3.3V, 2.5V, 1.8V). Ejemplos incluyen 74HC, 74AC, 74AHC. TTL: Opera comúnmente con una alimentación de 5V. Series como 74, 74S, 74LS, 74AS son ejemplos. BiCMOS: CMOS: Existen series de CMOS puro y también BiCMOS que combinan elementos de ambas tecnologías. TTL: Principalmente basado en tecnología TTL, pero existen variantes avanzadas como BiCMOS (74BCT, 74ABT, 74LVT, 74ALB) que combinan elementos de CMOS y TTL.

Función lógica: La salida es la inversa del resultado de la operación OR. Si al menos una de las entradas es 1, la salida es 0; solo cuando ambas entradas son 0, la salida es 1. Distinguir la representación de circuitos combinacionales con funciones booleanas, tablas de verdad y funciones canónicas. Funciones Booleanas: Son expresiones algebraicas que representan la relación lógica entre las variables de entrada y salida de un circuito combinacional. Proporcionan una representación algebraica compacta y abstracta de las operaciones lógicas realizadas por el circuito. Permite una comprensión matemática profunda de la función del circuito, pero puede no ser tan intuitiva para una interpretación visual. Tablas de Verdad: Muestran exhaustivamente todas las posibles combinaciones de entradas y sus correspondientes salidas. Proporcionan una representación detallada y completa del comportamiento del circuito. Son útiles para la verificación directa del funcionamiento del circuito y para identificar patrones en el comportamiento de salida en función de las entradas. Funciones Canónicas: Representan la función booleana de manera desglosada y específica, utilizando términos estándar como productos de sumas (POS) o sumas de productos (SOP). Ofrecen una forma estructurada de expresar la función lógica en términos de términos canónicos que facilitan la implementación y comprensión. Pueden ser más intuitivas que las funciones booleanas generales al mostrar directamente las condiciones bajo las cuales la salida es 1. Describir la elaboración de diagramas de circuitos lógicos combinacionales a partir de funciones booleanas, tablas de verdad y funciones canónicas. Símbolos y Asignación de Variables: Comienza identificando el número necesario de entradas y salidas según las especificaciones del problema.

Asigna un símbolo a cada variable de entrada y salida. Por ejemplo, para un circuito BCD a exceso-3, podrías usar las letras A, B, C, D para las entradas y w, x, y, z para las salidas. Tabla de Verdad: Construye la tabla de verdad que muestra todas las combinaciones posibles de las variables de entrada y las correspondientes salidas. Asegúrate de que la tabla refleje con precisión las relaciones especificadas entre entradas y salidas. Funciones Booleanas Simplificadas: A partir de la tabla de verdad, deriva las funciones booleanas para cada salida. Puedes utilizar diferentes métodos: Manipulación Algebraica: Simplificación algebraica de las expresiones booleanas. Mapas de Karnaugh: Organización sistemática de los valores de la tabla de verdad para encontrar patrones y simplificar las funciones. Funciones Canónicas: Expresiones booleanas en forma de suma de productos o producto de sumas. Uso de Funciones Canónicas: Las funciones canónicas representan de manera estándar las expresiones booleanas. Suma de Productos: Representa la función como la suma (OR) de términos en los cuales todas las variables aparecen de forma directa o complementada. Producto de Sumas: Representa la función como el producto (AND) de términos en los cuales al menos una variable aparece de forma directa o complementada. Dibujo del Diagrama Lógico: Utiliza las funciones booleanas simplificadas o canónicas para dibujar el diagrama lógico del circuito. Considera diferentes niveles de compuertas y optimizaciones para lograr un diseño eficiente. Ejemplo de Conversión de Código (Continuación):

Divide las combinaciones posibles de valores de entrada en celdas, representando cada celda con el valor de la función en esa combinación. Agrupa los 1s adyacentes en el mapa para identificar términos que se pueden combinar en la expresión simplificada. Cada grupo en el mapa de Karnaugh se traduce en un término producto mínimo en la expresión final. La adyacencia en el mapa de Karnaugh es esencial, ya que solo se pueden combinar celdas que difieren en una única variable. Explicar el procedimiento de simulación de funciones booleanas y circuitos lógicos. Simulación de Funciones Booleanas: Definición de la Función Booleana: Comienza con la descripción lógica de la función booleana. Esto puede ser una expresión booleana, una tabla de verdad o cualquier otra representación. Selección de Herramientas: Elige la herramienta de simulación adecuada. Puedes utilizar software de simulación, como ModelSim, Verilog, VHDL, o incluso lenguajes de programación específicos para la simulación de lógica booleana. Codificación: Codifica la descripción lógica en la herramienta seleccionada. En el caso de lenguajes de descripción de hardware como Verilog o VHDL, esto implica escribir el código correspondiente. Estímulos y Estímulos de Prueba: Define los estímulos para la función booleana. Estos pueden ser combinaciones de entradas que deseas probar para verificar el comportamiento de la función en diferentes situaciones. Simulación: Ejecuta la simulación con los estímulos definidos. Observa las salidas resultantes y verifica sí coinciden con las expectativas basadas en la descripción lógica.

Depuración: Si la simulación no produce los resultados esperados, realiza un proceso de depuración para identificar y corregir posibles errores en la descripción lógica o en los estímulos de entrada. Simulación de Circuitos Lógicos: Diseño del Circuito: Para circuitos más complejos, diseña el circuito lógico utilizando herramientas de diseño como EDA (Automatización del Diseño Electrónico). Puedes utilizar herramientas como Altium, KiCad, o cualquier otra herramienta de diseño de circuitos. Conversión a Descripción Lógica: Convierte el diseño del circuito en una descripción lógica. Esto podría ser una expresión booleana, una tabla de verdad o un conjunto de ecuaciones lógicas. Codificación del Modelo: Codifica el modelo del circuito en el lenguaje de descripción de hardware correspondiente (por ejemplo, Verilog o VHDL). Estímulos y Estímulos de Prueba: Define los estímulos para el circuito. Estos pueden ser secuencias de entrada que representan condiciones de operación normales y de borde. Simulación del Circuito: Ejecuta la simulación del circuito con los estímulos definidos. Observa cómo responden las salidas y verifica sí coinciden con las expectativas según el diseño. Depuración del Circuito: Si la simulación muestra comportamientos inesperados, realiza depuración para identificar y corregir posibles errores en el diseño del circuito o en los estímulos de entrada.

Definición de Variables: Para el ejemplo de conversión de código BCD a exceso-3, se tienen cuatro variables de entrada (A, B, C, D) y cuatro variables de salida (w, x, y, z). Tabla de Verdad: Se presenta una tabla de verdad que relaciona las variables de entrada BCD con las variables de salida de código exceso-3. Mapas de Karnaugh: Se utilizan mapas de Karnaugh para obtener funciones booleanas simplificadas para cada salida (w, x, y, z). Los mapas ayudan a visualizar los minitérminos que hacen que la salida sea 1. Diagrama Lógico: Se obtiene un diagrama lógico a partir de las expresiones booleanas deducidas de los mapas de Karnaugh. En la figura 4-4 se muestra un ejemplo de diagrama lógico para el convertidor de código BCD a exceso-3. Explicar los principios de operación de los dispositivos lógicos programables. Los dispositivos lógicos programables, como los FPGAs (Field-Programmable Gate Arrays) y CPLDs (Complex Programmable Logic Devices), son componentes electrónicos que ofrecen flexibilidad en el diseño de circuitos digitales.

  1. Bloques Lógicos Configurables: Estos dispositivos cuentan con bloques lógicos configurables que pueden ser programados para realizar diversas funciones lógicas. Los bloques incluyen compuertas lógicas, flip-flops, y otros elementos, y su conectividad puede ser modificada según los requisitos del diseño.
  2. Matriz de Conexiones Programables: La matriz de conexiones permite la interconexión de los bloques lógicos configurables. Puedes establecer las conexiones entre diferentes bloques según las necesidades del circuito. Esta flexibilidad facilita la implementación de cualquier diseño digital.
  1. Elementos de Entrada/Salida Configurables: Los FPGAs y CPLDs suelen tener elementos de entrada/salida configurables que permiten conectar el dispositivo con otros componentes del sistema. Estos elementos pueden asignarse para actuar como entradas, salidas, o incluso para funciones específicas.
  2. Programación y Configuración: La programación se realiza mediante el uso de lenguajes de descripción de hardware (HDL) como Verilog o VHDL, o mediante herramientas de diseño que permiten definir la funcionalidad del circuito. La configuración se almacena en una memoria interna del dispositivo.
  3. Volatilidad y No Volatilidad: Algunos dispositivos son volátiles, lo que significa que pierden su configuración cuando se apaga la alimentación, mientras que otros son no volátiles y retienen la configuración incluso después de apagar la alimentación. Esto influye en la rapidez con la que pueden arrancar y comenzar a funcionar.
  4. Tiempo de Configuración: El tiempo que tarda un dispositivo en configurarse varía. Algunos dispositivos permiten la reconfiguración dinámica, lo que significa que pueden cambiar su configuración mientras están en funcionamiento, mientras que otros requieren una reinicialización completa.
  5. Aplicaciones: Estos dispositivos son utilizados en una variedad de aplicaciones, desde el prototipado rápido de circuitos hasta la implementación de lógica personalizada en sistemas embebidos, procesadores especializados, y aceleradores de hardware.
  6. Flexibilidad y Rendimiento: La flexibilidad en la configuración permite adaptarse a diferentes tareas, y en algunos casos, los FPGAs pueden ofrecer un rendimiento cercano al de los circuitos integrados diseñados específicamente para una tarea. Estructura de la programación HDL. Módulos: Definición de módulo: Los programas en HDL se organizan en módulos, que son unidades básicas de construcción. Entradas y salidas: Los módulos especifican sus entradas y salidas. Modelado a nivel de compuertas: