1 of 36

Sistemas Digitales II

CLASE DE PROBLEMAS 3 -

Partición Funcional

PAO I - 2025

2 of 36

CLASE DE PROBLEMAS 3

Contenido

LABORATORIO DE SISTEMAS DIGITALES II

    • Diagrama de Bloques
    • Partición Funcional
    • Controlador
    • Bloques Asincrónicos
    • Bloques Sincrónicos
    • Ejercicio 1: Sistema Detector de 1’s y 0’s
    • Ejercicio 2: Sistema de Ascensor
    • Desafío

3 of 36

DIAGRAMA DE BLOQUES

REPASO

LABORATORIO DE SISTEMAS DIGITALES II

Son un esquema superficial

Los bloques no son componentes reales

No tiene muchos elementos

4 of 36

DIAGRAMA DE BLOQUES

REPASO

LABORATORIO DE SISTEMAS DIGITALES II

Entradas

PROPIAS DEL SISTEMA

Salidas

PROPIAS DEL SISTEMA

5 of 36

DIAGRAMA DE BLOQUES

REPASO

LABORATORIO DE SISTEMAS DIGITALES II

Las señales de más de un bit, como los datos, no pasan por el controlador, van directo al sistema

Jefe = Controlador o MSS

Trabajadores = Bloques del sistema

6 of 36

BLOQUES

REPASO

LABORATORIO DE SISTEMAS DIGITALES II

Procesan información

Manejan datos de más de un bit de entrada y de salida

Reciben órdenes del controlador

7 of 36

CONTROLADOR

REPASO

LABORATORIO DE SISTEMAS DIGITALES II

Da órdenes

Establece un proceso

Toma decisiones con base en la información que recibe del sistema

Se comunica con el mundo exterior ya sean entradas o salidas

8 of 36

CONTROLADOR

REPASO

LABORATORIO DE SISTEMAS DIGITALES II

El proceso se representa mediante el Diagrama ASM

9 of 36

PARTICIÓN FUNCIONAL

REPASO

LABORATORIO DE SISTEMAS DIGITALES II

Utiliza componentes existentes para describir cada etapa del diagrama de bloques.

Pueden ser circuitos integrados o componentes codificados en VHDL.

Se declaran todas las señales que los bloques manejan.

Las señales de un bit van hacia el controlador para que tome las decisiones.

10 of 36

COMPONENTES ASINCRÓNICOS

REPASO

LABORATORIO DE SISTEMAS DIGITALES II

Decodificadores

Mux

Sumadores (restadores)

Comparadores

Puertas lógicas

11 of 36

  •  

COMPONENTES ASINCRÓNICOS

REPASO - DECODIFICADOR

LABORATORIO DE SISTEMAS DIGITALES II

12 of 36

COMPONENTES ASINCRÓNICOS

REPASO - MULTIPLEXOR

LABORATORIO DE SISTEMAS DIGITALES II

 

13 of 36

COMPONENTES ASINCRÓNICOS

REPASO - MULTIPLEXOR

LABORATORIO DE SISTEMAS DIGITALES II

14 of 36

COMPONENTES ASINCRÓNICOS

REPASO - MULTIPLEXOR

LABORATORIO DE SISTEMAS DIGITALES II

Sel(1)

Sel(0)

Q

0

0

D0

0

1

D1

1

0

D2

1

1

D3

15 of 36

COMPONENTES ASINCRÓNICOS

REPASO - SUMADOR

LABORATORIO DE SISTEMAS DIGITALES II

  • No espera por el flanco de reloj
  • Suma dos datos de dimensión n
  • La salida tiene dimensión n+1
  • La mayor suma esta dada por (si n es 3):

“111”+ “111”= “1000”

16 of 36

COMPONENTES ASINCRÓNICOS

REPASO - COMPARADOR

LABORATORIO DE SISTEMAS DIGITALES II

  • No espera por el flanco de reloj
  • Compara dos datos de dimensión n
  • Las salidas corresponden a la relación entre las entradas (<,>,=)

17 of 36

COMPONENTES SINCRÓNICOS

REPASO

LABORATORIO DE SISTEMAS DIGITALES II

Registros de sostenimiento

Registros de desplazamiento

Contadores

Memorias RAM

18 of 36

COMPONENTES SINCRÓNICOS

REPASO – REGISTRO DE SOSTENIMIENTO

LABORATORIO DE SISTEMAS DIGITALES II

  • Funciona cuando hay un flanco de reloj
  • Reset con lógica negativa
  • Lee el valor del habilitador “En”
  • “En”=1 » Carga en paralelo Q=Ent
  • “En”=0 » Mantiene el valor anterior Q=Q*

19 of 36

Resetn

Clock

Enable

Acción

0

Φ

Φ

Encera

1

0

0

Mantiene

1

0

1

Mantiene

1

1

0

Mantiene

1

1

1

Carga

00

01

10

11

COMPONENTES SINCRÓNICOS

REPASO – REGISTRO DE SOSTENIMIENTO

LABORATORIO DE SISTEMAS DIGITALES II

20 of 36

COMPONENTES SINCRÓNICOS

REPASO - REGISTRO DE DESPLAZAMIENTO

LABORATORIO DE SISTEMAS DIGITALES II

  • Funciona cuando hay un flanco de reloj
  • Reset con lógica negativa
  • Lee el valor del habilitador “En” y “Ld”
  • “En”=1 & “Ld”=0 » Desplaza miento
  • “En”=1 & “Ld”=1 » Carga en paralelo Q=Ent
  • “En”=0 » Mantiene el valor anterior Q=Q*

21 of 36

COMPONENTES SINCRÓNICOS

REPASO - CONTADOR

LABORATORIO DE SISTEMAS DIGITALES II

  • Funciona cuando hay un flanco de reloj
  • Reset con lógica negativa
  • Lee el valor del habilitador “En” y “Ld”
  • “En”=1 & “Ld”=0 » Cuenta Q=Q*+1
  • “En”=1 & “Ld”=1 » Carga en paralelo Q=Ent
  • “En”=0 » Mantiene el valor anterior Q=Q*

22 of 36

COMPONENTES SINCRÓNICOS

REPASO - CONTADOR

LABORATORIO DE SISTEMAS DIGITALES II

23 of 36

Clk=0

00

10

01

10

COMPONENTES SINCRÓNICOS

REPASO - CONTADOR

LABORATORIO DE SISTEMAS DIGITALES II

Resetn

Clock

Load

Enable

Acción

0

Φ

Φ

Φ

Encera

1

0

Φ

Φ

Mantiene

1

1

0

0

Mantiene

1

1

0

1

Cuenta

1

1

1

0

Mantiene

1

1

1

1

Carga en paralelo

24 of 36

COMPONENTES SINCRÓNICOS

REPASO – MEMORIA RAM

LABORATORIO DE SISTEMAS DIGITALES II

  • Funciona cuando hay un flanco de reloj
  • Reset con lógica negativa
  • Lee el valor de “R/W”
  • “R/W”=0 » Lee Q <= Dato(Add)
  • “R/W”=1 » Escribe Dato(Add) <= Data

25 of 36

PROBLEMA #1

LABORATORIO DE SISTEMAS DIGITALES II

DETECTOR DE 1’s y 0’s

Se desea diseñar un circuito detector de 1’s y 0’s. El sistema deberá iniciar cuando se presione y suelte la botonera START, luego de ello quedará esperando por un dato de 4 bits (NUM) para ser analizado luego que el usuario presione la botonera CARGA. El sistema luego de analizarlo, deberá encender el led LISTO para indicarle al usuario que terminó de analizar.

Mientras se presione la botonera UNO para visualizar en un display de 7 segmentos la cantidad de 1’s presentes en el dato. También se cuenta con la botonera CERO que cumple la misma función que el punto anterior.

Si el usuario no presiona ninguna botonera, el display de 7 segmentos permanecerá mostrando una raya en la mitad para indicar que no se ha seleccionado nada. Considere que no es posible presionar UNO y CERO a la vez.

Para ingresar otro número, deberá presionar OK y regresar al estado de activación.

26 of 36

PROBLEMA #2

LABORATORIO DE SISTEMAS DIGITALES II

  • Se pide: Realizar el Diagrama de Bloques, Partición Funcional y Diagrama ASM

27 of 36

PROBLEMA #2

La empresa Pronobis ha diseñado un nuevo edificio en el Puerto Santa Ana de Guayaquil, que contará con 9 pisos, del piso 2 al 3 estará el “Centro de Bienestar y Salud”, conformado por 28 consultorios para especialidades como odontología, psicología, oftalmología entre otras, del piso 4 al 6, serán oficinas y del piso 7 al 9, departamentos de 1 y 2 dormitorios con vista a la ciudad, al cerro y al Rio Guayas.

LABORATORIO DE SISTEMAS DIGITALES II

SIMULADOR DE UN SISTEMA DE CONTROL DE UN ASCENSOR

28 of 36

PROBLEMA #2

LABORATORIO DE SISTEMAS DIGITALES II

SIMULADOR DE UN SISTEMA DE CONTROL DE UN ASCENSOR

Para lo cual se ha solicitado el diseño de un sistema de control de ascensor que cumpla con todos los requerimientos funcionales que se detallan a continuación:

  1. Simulación de los pisos del ascensor
  2. Arranque del sistema
  3. Proceso de llamada del ascensor
  4. Proceso de selección del piso
  5. Estado de espera y finalización

29 of 36

PROBLEMA #2

LABORATORIO DE SISTEMAS DIGITALES II

SIMULADOR DE UN SISTEMA DE CONTROL DE UN ASCENSOR

Simulación de los pisos del ascensor

El piso donde esta ubicado el ascensor será simulado por medio de un Contador Up/Down, el cual incrementa el valor cuando la señal UP esta activada (U=1) y decrementa su valor con la señal DOWN activada (D=1) con “Enable” (EN) y “Load” (LD) que debe estar incluido en la partición funcional.

Arranque del sistema

El sistema arranca cuando se introduce la llave de seguridad lo que produce que se active la señal START, para lo cual el ascensor se ubica en la planta baja (piso 0).

30 of 36

PROBLEMA #2

LABORATORIO DE SISTEMAS DIGITALES II

SIMULADOR DE UN SISTEMA DE CONTROL DE UN ASCENSOR

Proceso de llamada al ascensor

En cada piso hay un botón de llamada al ascensor (F0, F1, …, F8). Considere que solo uno de los botones puede activarse a la vez. El ascensor debe acudir al piso donde haya sido llamado, para lo cual el contador debe incrementar o decrementar su valor. Cuando el ascensor llega al piso requerido este debe abrir sus puertas, es decir activará la señal OPEN_A. El sistema solo debe atender una llamada a la vez, no atenderá otro llamado hasta que termine de ejecutar el anterior.

Proceso de selección de piso

Luego de ingresar la persona al ascensor y pulsar al piso que desea dirigirse por medio de un teclado (T0, T1, …, T8), las puertas se cierran, para lo cual debe activarse la señal CLOSE y dirigirse al piso solicitado. Una vez alcanzado el piso seleccionado se deben abrir las puertas.

31 of 36

PROBLEMA #2

LABORATORIO DE SISTEMAS DIGITALES II

SIMULADOR DE UN SISTEMA DE CONTROL DE UN ASCENSOR

Estado de espera y finalización

Luego de esto, el sistema espera que ocurra alguna de las siguientes acciones, las cuales deben ser atendidas con el nivel de prioridad mostrado a continuación.

  • Si se presiona un botón del teclado interior del ascensor, significa que ingreso otra persona y debe atenderse su requerimiento de piso igual que antes.
  • Si se presiona uno de los botones de llamada, se debe cerrar la puerta, el ascensor debe ir al piso respectivo y debe operar igual que antes.
  • Si se recibe la señal FINISH la cual es activada mediante una llave de seguridad del ascensor, se debe desactivar el sistema para lo cual debe cerrarse las puertas y el ascensor debe regresar al estado inicial.

32 of 36

PROBLEMA #2

LABORATORIO DE SISTEMAS DIGITALES II

  • Se pide: Realizar el Diagrama de Bloques, Partición Funcional y Diagrama ASM

33 of 36

DESAFÍO

LABORATORIO DE SISTEMAS DIGITALES II

VHDL

NÚMERO DIVISIBLE PARA 9

  • Diseñe un pequeño Sistema Digital que permita detectar si un número es divisible para 9. Inicialmente el sistema debe recibir la señal START, luego de lo cual queda esperando el número. Ahora el usuario debe ingresar por medio de un teclado decimal, un número de tres dígitos, empezando por las centenas luego decenas y finalmente unidades.
  • El sistema debe sumar las tres cifras del número. Si el resultado es mayor que 9, debe nuevamente sumar sus cifras hasta obtener un número de un solo dígito. Si este es el número 9, la cantidad original sí es divisible para 9.

34 of 36

DESAFÍO

LABORATORIO DE SISTEMAS DIGITALES II

VHDL

NÚMERO DIVISIBLE PARA 9

  • Ahora se debe activar la salida DONE y si el número fue divisible para 9, también se debe activar la salida DIVI9. Ambas salidas deben permanecer activadas mientras la señal START continúe siendo verdadera, luego de lo cual el sistema regresa al estado inicial.

35 of 36

DESAFÍO

LABORATORIO DE SISTEMAS DIGITALES II

Se pide: Realizar el Diagrama de Bloques, Partición Funcional, Diagrama ASM y código VHDL del controlador del desafío.

36 of 36

PREGUNTAS?

LABORATORIO DE SISTEMAS DIGITALES II