Clase 1 - Presentación del curso e Introducción [1:15:58] - Ver completa

Presentación y formalidades del curso

Introducción a los sistemas digitales

Representación de la información en forma digital

Link a autoevaluación de la clase - Autoevaluación 1

 

Clase 2 - Representación de la Información en Formato Digital (parte 1) [1:21:39] Ver completa

Representación de la información: Información no numérica

Sistema de numeración

Aritmética en binario

Representación de la información: Representación numérica

  • [53:10] - Magnitud y signo
    • ¿Qué desventajas tiene utilizar la representación magnitud y signo?
    • ¿Qué representa el bit más significativo (MSB) en la representación magnitud y signo?
    • ¿Qué rango de números enteros se puede representar con 8 bits utilizando magnitud y signo?

Link a autoevaluación de la clase - Autoevaluación 2

 

Clase 3 - Representación de la Información en Formato Digital (parte2) [1:20:33] - Ver completa

Complemento a 2

Representación de Numeros Racionales

  • [52:23] - Punto Fijo, Punto Flotante.
    • ¿De qué formas puedo representar un número racional?
    • ¿Cuáles son las ventajas/desventajas de usar punto fijo o punto flotante?
    • ¿Cómo se convierte un número decimal a punto flotante o punto fijo?

Link a autoevaluación de la clase - Autoevaluación 3

 

Clase 4 - Representación de la Información en Formato Digital (parte 3) [1:22:53] Ver completa

Continuación punto flotante

Códigos binarios de números decimales

Código Gray

  • [23:36] - Código Gray
    • ¿Qué ventajas introduce la codificación Gray?

Códigos para detección y corrección de errores

  • [36:30] - Definición de código
    • ¿Qué es un código? ¿Qué son las palabras válidas de un código?
    • ¿Cuántas palabras válidas tiene el código BCD, y cuántas no válidas?

Link a autoevaluación de la clase - Autoevaluación 4

 

Clase 5 - Código de Hamming y Funciones Lógicas [1:24:36] Ver completa

Continuación Código de Hamming

  • [00:00] - Definición de Código Hamming
    • ¿Qué es el código de Hamming?
    • ¿Qué distancia tiene?
    • ¿Qué tipo de errores puede corregir?
    • ¿Cómo determina la posición del error?
  • [05:55] - Ejemplo Largo 7 bits
    • ¿Cuántos bits necesito para identificar la posición de un error en 7 bits?
    • Entonces ¿cuántos bits de datos puedo enviar de los 7 totales?
    • ¿Cómo se codifican los bits de detección?

Lógica Combinatoria

  • [41:15] - Sistemas Combinatorios
    • ¿Qué signfica que un sistema tenga o no memoria?
    • ¿Qué es una función lógica?
    • ¿Cómo hacer una tabla de verdad para una función lógica?
    • Funciones NOT, AND/NAND, OR/NOR, EXOR/EXNOR
  • [1:15:00] - Representación de Funciones Lógicas
    • Término Producto
    • Mini-término
    • Expresión Suma de Productos: suma de términos producto
    • Representación Canónica de una Función Lógica: suma de mini-términos

Link a autoevaluación de la clase - Autoevaluación 5

 

Clase 6 - Funciones Lógicas. Álgebra de Boole [1:23:48] Ver completa

Representación canónica de una función lógica

  • [06:53] - Minitérminos - Maxitérminos - Representación canónica
    • ¿Qué es un mini término? ¿ y un maxi término?
    • ¿Para una función lógica de n variables cuántos mini términos y máxi términos hay?
    • ¿Cómo se obtiene la representación canónica de una función lógica?
    • ¿La siguiente función lógica está en su forma canónica? f(x1,x2,x3) = x1x2 + x2x3 ¿Por qué?
    • ¿Qué compuertas lógicas se necesitan para crear cualquier función lógica?

Álgebra de Boole

    • [41:40] - Álgebra de Boole: Teoremas y propiedades
      • ¿Qué propiedades cumple el álgebra de Boole?
      • ¿Qué resultado se obtiene al realizar a + a'? ¿Y a*a'?
      • ¿Qué teoremas del álgebra de Boole utilizarías para demostrar A*(A'+B) = A*B ?

Simplificación de funciones lógicas

Teorema de DeMorgan

  • [1:13:50]- Teorema de DeMorgan
    • ¿Qué es el Teorema de DeMorgan?
    • La siguiente igualdad (a'+ (bc)')' = abc ¿Se cumple?
    • ¿Qué compuertas lógicas son necesarias para realizar cualquier operación lógica utilizando el Teorema de DeMorgan?

Link a autoevaluación de la clase - Autoevaluación 6

 

Clase 7 - Simplificación de Funciones Lógicas y Mapas de Karnaugh [1:24:02] Ver completa

Continuación de Funciones Lógicas

Mapas de Karnaugh

Link a autoevaluación de la clase - Autoevaluación 7

 

Clase 8 - Mapas K de 5 y 6 Variables. Implementación NAND-NAND. Azares. Dispositivos MSI: Deco, MUX, Tristate [1:25:29] Ver completa

Mapas de Karnaugh: Continuación

Implementación NAND-NAND (NOR-NOR)

  • [22:00] - Implementación NAND-NAND (NOR-NOR)
    • Un circuito con compuertas AND en primer nivel y una compuerta OR en segundo nivel ¿se puede implementar solo con compuertas NAND?¿Cómo?
    • ¿Para utilizar solo compuertas NOR, debo partir de una minimización en productos de suma o de una minimización en suma de productos?
    • ¿Qué cuidado debo tener si tengo entradas conectadas directamente al segundo nivel?

Azares o riesgos

  • [29:50] - Azares o riesgos
    • ¿Qué es el retardo de una compuerta?
    • ¿Qué son los azares? ¿Por qué ocurren?
    • ¿Se pueden evitar?¿Cómo?
    • Una vez corregido los azares, ¿la función queda minimizada?

Dispositivos MSI

  • [58:25] - Decodificadores
    • ¿Qué es y para qué sirve el decodificador?
    • ¿Cuál es la tabla de verdad para un decodificador de 2 entradas?
    • Si tengo un decodificador de 4 entradas, ¿cuántas salidas tendrá?
  • [1:05:25] - Tristate
    • ¿Para qué sirven las compuertas tristate?
    • ¿Por qué no se pueden conectar directamente entre si las salidas de funciones lógicas?
  • [1:10:26] - Multiplexores
    • ¿Qué son y para qué sirven los multiplexores?
    • ¿Qué indica el número binario que se coloca en la pata de control del multiplexor?
    • Si tengo un multiplexor con 3 bits de control, ¿cuántas entradas tendrá? ¿y salidas?
    • ¿Cómo puedo realizar funciones lógicas utilizando multiplexores?

Link a autoevaluación de la clase - Autoevaluación 8

 

Clase 9 - Dispositivos MSI(medium scale integration) [1:20:11] Ver completa

Codificadores, Comparadores, Sumadores y ALUs

  • [00:00] - Continuación de Dispositivos MSI
    • ¿Cómo se comparan dos números digitales?
    • ¿Cómo sumar dos números digitales?
    • ¿Qué es un Sumador Completo o Full Adder?
    • ¿Por qué el Full Adder puede tener un retardo significativo?
    • ¿Qué es una ALU?

Memorias ROM/PROM/EPROM/EEPROM

  • [22:51] - Memorias ROM
    • ¿Qué es una memoria ROM y dónde se utilizan?
    • ¿Cuál es la desventaja de implementar una Función Lógica en una ROM?
    • Mirá estas ROM que traje!

Circuitos Integrados Programables

  • [1:06:38] - FPGAs
    • ¿Qué son? Un poco de historia
    • Esquema del Cyclone III (chip del laboratorio)

Link a autoevaluación de la clase - Autoevaluación 9

 

Clase 10 - Introducción Circuitos Secuenciales. Flip-Flop SR. Reloj. Sincronización. Tipos de FF: D, JK, T [1:19:52] Ver completa

Circuitos Secuenciales

  • [00:00] - Circuitos secuenciales
    • ¿Cuál es la diferencia entre un circuito secuencial y un circuito combinatorio?
    • ¿Qué debemos conocer en un sistema secuencial para determinar la salida?
    • ¿Cómo es el diagrama general para la representación de los sistemas secuenciales?

Celdas de memoria: Flip-Flop

  • [9:20] - Flip-Flop SR
    • ¿Qué es un Flip-Flop?
    • Utilizando compuertas NOR ¿cómo se puede diseñar un Flip-Flop?
    • ¿Se puede determinar la salida conociendo solamente los valores de entrada?
    • ¿Cómo puedo utilizar el Flip-Flop como celda de memoria?
    • ¿Cómo es la tabla de verdad de un Flip-Flop SR? ¿En qué difiere dicha tabla con las tablas anteriormente realizadas en los circuitos combinatorios ?
    • ¿Por qué el Flip-Flop SR puede ser utilizado como mecanismo para eliminar rebotes?
  • [45:50] - Reloj
    • ¿Qué es?
    • ¿Para qué introducimos el reloj?¿Qué controla?
    • ¿Cómo introducir la señal de reloj al Flip-Flop SR?¿Qué problemas presenta?
  • [58:30] - Flip-Flop D
    • ¿Qué ventaja tiene frente al Flip-Flop SR?
    • ¿Cómo se puede implementar un Flip-Flop D a partir de un SR?
    • ¿Cuál es la tabla de verdad del Flip-Flop D?
  • [1:05:20] - Flip-Flop JK
    • ¿Qué ventaja presenta frente al Flip-Flop SR?
    • ¿Cómo se puede implementar un Flip-Flop JK a partir de un SR?
    • ¿Cuál es la tabla de verdad del Flip-Flop JK?
    • ¿Cómo funciona el Flip-Flop Toggle?

Link a autoevaluación de la clase - Autoevaluación 10

 

Clase 11 - Flip-Flop Maestro-Esclavo, Flip-Flops Sensibles al Flanco y Registros [1:19:50] Ver completa

Repaso clase pasada, Flip-Flop Maestro-Esclavo (Master-Slave) y Flip-Flop Activo por Flanco

  • [04:57] - Flip-Flop Master-Slave
    • ¿Cuál es el problema de que la salida del Flip-Flop pueda cambiar siempre?
    • ¿Qué es un Flip-Flop Master-Slave y cómo soluciona este problema?
  • [27:20] - Flip-Flop Activo por Flaco
    • ¿Qué es un Flip-Flop sensible al Flaco de Reloj vs uno sensible al Nivel de Reloj?
    • Flip-Flop D sensible al Flanco de Reloj
    • Tiempo de Setup y Tiempo de Hold
    • Preset y Clear

Registros

Link a autoevaluación de la clase - Autoevaluación 11

 

Clase 12 - Modo Reloj. Ejemplos de Análisis y Diseño con FF-D y FF-JK [1:24:33] Ver completa

Modo Reloj: Análisis de circuito secuencial modo reloj

  • [00:00] - Continuación del ejemplo de la clase anterior
    • ¿Cómo realizar la tabla de transición a partir de un circuito?¿Qué información nos brinda?
    • ¿Cómo realizar la tabla de estados?¿Qué diferencia hay entre la tabla de transiciones y la tabla de estados?
    • ¿Qué es el diagrama de estados? ¿Qué información nos brinda?
    • ¿Qué es el diagrama de tiempo?¿Cómo realizarlo a partir de la tabla de estados o diagrama de estados?

Modo Reloj: Diseño de circuitos secuenciales modo reloj

  • [31:50] - Ejemplo: detector de 3 o más unos
    • ¿Qué pasos debo seguir para diseñar un circuito secuencial modo reloj a partir de una especificación?
    • ¿Qué significa que la entrada esté sincronizada con el reloj?
    • ¿Qué debo realizar con los estados q0,q1,q2,q3 al pasar del diagrama de estado/tabla de estados a la tabla de transiciones?
    • ¿Cómo obtengo la cantidad de Flip-Flop a utilizar en el circuito a diseñar?
    • Si tengo 5 estados, ¿cuántos Flip-Flop debo utilizar?¿Y si tengo 8?
    • ¿Cuáles son las entradas y salidas del bloque combinatorio a diseñar?
    • ¿Cuántos mapas K debo resolver si tengo solamente una salida y 3 Flip-Flop tipo D?
    • ¿Qué diferencia hay entre utilizar Flip-Flop D o Flip-Flop JK al momento de diseñar el circuito?

Link a autoevaluación de la clase - Autoevaluación 12

 

Clase 13 - Modo Reloj. Procedimiento de Diseño y Minimización de Estados [1:25:17] Ver completa

Modo Reloj: Procedimiento de Diseño

Modo Reloj: Minimización de Estados

  • [20:57] - Minimización de Estados
    • Definición de Estados Equivalentes
    • Ejemplo de Minimización de Estados por Método de Huffman-Mealy
    • ¿Cómo se visualiza la Minimización en el Diagrama de Estados?

Link a autoevaluación de la clase - Autoevaluación 13

 

Clase 14 - Minimización de Estados en Circuitos Incompletamente Especificados [1:12:35] Ver completa

Repaso: Circuitos secuenciales - FF - Modo reloj - Minimización

Minimización de estados en circuitos secuenciales incompletamente especificados

  • [14:20] - Primer Ejemplo: Minimización de estados en circuitos secuenciales incompletamente especificados
    • ¿ Cómo minimizar cuando aparecen don't care en la tabla de estados?
    • ¿ Qué significa que dos estados son compatibles? ¿Por qué no puedo hablar de estados equivalentes cuando hay don't care?
    • ¿ Cómo realizar el grafo de compatibilidad luego de resolver la tabla de implicación?
    • ¿ Qué representa cada nodo y arista del grafo de compatibilidad?
    • ¿ Observando el grafo de compatibilidad, qué debe cumplir la zona a encerrar del grafo para minimizar estados?

Link a autoevaluación de la clase - Autoevaluación 14

 

Clase 15 - Contadores y Lenguaje de Especificación Hardware (RTL) [1:22:51] Ver completa

Contadores

  • [00:00] - Contadores síncronos
    • ¿Qué es un contador síncrono?¿Qué cuenta?
    • Diagrama de estados del contador síncrono
    • Ejemplo contador binario módulo 5 (con autoarranque)
  • [20:22] - Contador de anillo (también síncrono)
    • Un contador basado en shift register
    • Ejemplo contador de anillo módulo 3
    • Ejemplo contador de anillo modificado módulo 6
  • [31:20] - Contadores asíncronos
    • Contador de ripple, basado en Flip-Flop J-K

Lenguajes de Especificación Hardware

Link a autoevaluación de la clase - Autoevaluación 15

 

Clase 16 - RTL: Definición del Lenguaje [1:22:43] Ver completa

Lenguaje RTL

  • [00:00] - Transferencia a un registro
    • ¿En qué se diferencian los registros escalares y registros vectoriales?
    • ¿Cómo definimos en lenguaje RTL un registro?
    • ¿Cómo se representa la transferencia de un registro A a un registro B?
    • ¿Cómo se representa en hardware la siguiente instrucción: A <--- B?
    • ¿Cómo indico la transferencia de un registro no ordenado? Si A[4], B[8] ¿A <-- B se puede implementar?
  • [06:30] - Flip-Flop: ENABLE
    • ¿Qué es la entrada ENABLE de un Flip-Flop? ¿Por qué es conveniente usar estos Flip-Flop?
    • ¿Qué dos condiciones se tienen que cumplir para que se produzca una transferencia?
  • [21:35] - Operaciones con registros
    • ¿Qué significa la instrucción C <-- A or B? Si A = 1000 y B= 1100 ¿qué queda almacenado en C? y si ahora la operacion es C <--- A and B ?
    • ¿Qué representa la operación A <-- inc(A)?
  • [29:20] - Entradas y conexiones
    • ¿Cómo represento la trasferencia de una entrada X a un registro A?
    • ¿Cómo represento las conexiones en RTL?
    • En un determinado paso quiero mostrar el contenido de A en la salida Z y en otro paso, el contenido de B en la misma Z ( paso k Z= A, paso k+1 Z= B). ¿Cómo se implementa en hardware?
  • [38:05] - Transferencia condicional
    • ¿Cómo represento la transferencia condicional? ¿Qué es una transferencia condicional?
  • [42:45] - Ejemplo: Estructura del Lenguaje RTL
    • ¿Qué partes componen la descripción de un circuito en lenguaje RTL?
    • ¿Qué se declara inicialmente?
    • ¿Qué es la secuencia de control?
    • ¿Cómo realizar el bloque de control?
    • ¿Para qué se utilizan las señales generadas en el bloque de control?
    • ¿En qué instante de tiempo ocurren la transferencia?
    • ¿Cómo se representa una bifurcación condicional en RTL? ¿Cómo indico si quiero empezar en un determinado paso?

Link a autoevaluación de la clase - Autoevaluación 16

 

Clase 17 - RTL: Ejemplo de Diseño [1:23:17] Ver completa

RTL: Ejemplo Comparador

  • [00:00] - Diagrama de Flujo del Circuito
    • Representación de Paso como Instrucción más Bifurcación
    • Representación de Bifurcación Condicional
    • Ejemplo de Tansferencia Condicional
    • ¿Cómo Inicializar un Registro en RTL?
    • ¿Qué valor toma una salida durante un Paso si no esta definida en ese Paso?
  • [16:03] - Código RTL
    • Encabezado: MODULE, INPUTS, OUTPUTS, MEMORY
    • Algunos ejemplos de Pasos equivalentes
    • Pasos que describen el Circuito
    • ¿Cómo determino desde que paso parte el circuito después de un reset?
    • Esquema general de un Código RTL
  • [29:52] - Bloque de Datos y Bloque de Control
    • Bloque de Datos: Descripción de como conectar los Registros ultizados (Entradas, Salidas, Enable)
    • Bloque de Control: Anillo de FF que determina el número de pasos y como llego a cada uno
  • [52:43] - Diagrama de Tiempo
    • ¿En qué momento del Período de un Paso se ejecutan las Transferencias programadas en dicho Paso?

RTL: Otro Ejemplo

  • [1:00:40] - Ejemplo para Analizar Tiempos
    • ¿Qué valor tiene una variable durante un paso si en este paso se escribe la misma?
    • ¿En qué momento cambian las conexiones(definidas con un =) como las salidas?
    • ¿Si una entrada cambia después del flanco inicial de un Período y vuelve a su valor original antes del flanco del siguiente Período, ese cambio ¿puede afectar algo?

Link a autoevaluación de la clase - Autoevaluación 17

 

Clase 18 - RTL: Buses. Memoria RAM. Ejemplo RTL: Ej5 Repartido "Repaso 2" [1:15:34] Ver completa

RTL: Buses - Memorias 

  • [00:00] - Buses
    • ¿Cuál es la sintaxis para declarar buses en RTL?
    • ¿Cómo implemento la siguiente instrucción RTL :  7. BUS_X = B C <-- BUS_X ?
    • ¿Cómo conecto dos o más registros a un mismo bus (cada registro usará el bus en distinto momento)?
  • [08:30] - Memorias de lectura - escritura
    • ¿En qué se diferencia una memoria de lectura-escritura de una memoria de solo lectura?
    • ¿Qué característica tiene el bus de datos?
    • ¿Qué son las entradas DIR, WE, OE y CS?
    • ¿Cómo es el ciclo de lectura?
    • ¿Cómo es el ciclo de escritura?
    • Si quiero leer el contenido de la posicion 0xBBAA, que debo colocar en las entradas DIR, WE, OE y CS de la memoria suponiendo que WE,OE y CS son activas por alto?
    • ¿Qué tiempos se deben respetar en un ciclo de escritura?
  • [28:50] - Ejemplo RTL: Repartido repaso 2 Ejercicio 5
    • STACK con RAM
    • ¿Qué es un STACK? ¿Qué significa realizar un PUSH y un POP?
    • Descripción RTL, bloque de datos y bloque de control del ejercicio 5

Link a autoevaluación de la clase - Autoevaluación 18

 

Clase 19 - Circuitos Secuenciales Modo Nivel [1:22:14] Ver completa

Circuitos Secuenciales Modo Nivel o Asíncronos(sin Reloj o FF) 

  • [00:00] - Flip-Flop SR
    • ¿Cómo determinar estado actual y estado siguiente en el Mapa de Karnaugh?
    • ¿Por qué algunos estados van a ser inestables?
    • Diagrama de Tiempos
    • Diagrama de Estados y Minimización
  • [36:04] - Modo Fundamental
    • Definición de Modo Fundamental
  • [42:02] - Problemas de Circuitos Secuenciales Modo Nivel: Carreras
    • ¿Qué problemas puede haber al cambiar de un estado a otro?
    • Métodos para Eliminar Carreras: Codificación de Estados
    • Métodos para Eliminar Carreras: Conjuntos de Destino

Link a autoevaluación de la clase - Autoevaluación 19

 

Clase 20 - Eliminación de Carreras. Ejemplo Modo Nivel: Diseño de un FF-D Sensible al Flanco de Subida (parte 1) [1:26:13] Ver completa

Eliminación de carreras 

  • [00:00] - Eliminación de carreras- Continuación ejemplo clase 19
    • ¿Cuándo ocurren las carreras?
    • ¿Qué información nos brindan los conjuntos destinos? ¿Cómo se construyen?
    • ¿Cuáles son las reglas para evitar carreras? ¿Qué pasa si no se cumple la primera regla?
    • ¿Cómo y cuándo puedo realizar ciclos para evitar carreras?
    • ¿Cómo asigno salidas a los estados insestables? ¿Cuándo puedo dejar la salida como don't care?
  • [32:15] - Casilleros no especificados
    • ¿Cómo puedo utilizar un casillero o varios casilleros no especificado para evitar carreras?
  • [39:15] - Método del cubo
    • Si uno de cuatro estados debe ser adyacente con los otros 3 ¿Tiene solución en el plano? ¿Cómo lo resuelvo?
    • ¿Cuántas variables de estado tengo ahora? ¿Por qué hay que utilizar este método como último recurso?
  • [1:01:10] - Mapas K- Modo nivel
    • ¿Por qué hay que evitar azares en todas las funciones combinatorias que forman parte del diseño modo nivel?
    • ¿Cómo garantizo que no se producen azares cuando resuelvo los mapas de Karnaugh?
  • [1:10:55] - Diseño de un FF-D Sensible al Flanco de Subida
    • Diseño de un FF-D sensible al flanco de subida 

Link a autoevaluación de la clase - Autoevaluación 20

 

Clase 21 - Ejemplo Modo Nivel: Diseño de un FF-D Sensible al Flanco de Subida (parte 2). Ejemplo RTL: Exámen Feb 99 [1:03:15] Ver completa

Ejemplo Modo Nivel 

  • [00:00] - Diseño de un FF-D Sensible al Flanco de Subida (parte 2)
    • ¿Por qué necesito 4 estados en un FF sensible al flanco?
    • ¿Por qué en modo nivel cada estado tiene un lazo a sí mismo? ¿Por qué este diagrama no tiene carreras?
    • Minimización de Estados
    • ¿Cómo hacer Mapas K sin azares
    • Diagrama del Circuito (no usar FF, es Modo Nivel)

Ejemplo RTL 

Link a autoevaluación de la clase - Autoevaluación 21

 

Clase 22 - Ejemplo RTL: Repartido Repaso 2, ej. 2 (parte 2). Práctico 9, ej 9 (mencionado en el video como ej. 9 del repartido repaso 2) (parte 1) [1:25:09] Ver completa

 

Clase 23 - Ejemplo RTL: Práctico 9, ej 9 (parte 2) [1:18:09] Ver completa

 

Clase 24 - Modo Reloj. Práctico 8, ej 1 (mencionado en el video como el ej. 6 del repartido de repaso 2) [1:22:05] Ver completa

 

Clase 25 - Modo Nivel: Examen Diciembre 2011: Problema 1 [1:16:41] Ver completa

 

Clase 26 - Examen Diciembre 2011: Ejercicio 1 y 2 - Examen Diciembre 2010: Ejercicio 1 y 2  [1:22:29] Ver completa

Última modificación: martes, 9 de agosto de 2022, 15:24