¿Porque estudiar diseño digital? -...

46
1: Intro 1 ¿Porque estudiar diseño digital? Es la base para la implementación de todos los sistemas computacionales modernos Construcción de unidades más complejas de componentes primitivos. Conocer los principios para organizar los bloques constructivos básicos de la computadores. El paralelismo inherente en el hardware es nuestra primera introducción a la computación paralela. Proveer un modelo y un entendimiento de cómo funciona una computadora.

Transcript of ¿Porque estudiar diseño digital? -...

Page 1: ¿Porque estudiar diseño digital? - Inicioprofesores.elo.utfsm.cl/~tarredondo/info/digital-systems/apuntes... · 1: Intro 1 ¿Porque estudiar diseño digital? Es la base para la

1: Intro 1

¿Porque estudiar diseño digital? Es la base para la implementación de

todos los sistemas computacionales modernos Construcción de unidades más complejas de

componentes primitivos. Conocer los principios para organizar los

bloques constructivos básicos de la computadores.

El paralelismo inherente en el hardware es nuestra primera introducción a la computación paralela.

Proveer un modelo y un entendimiento de cómo funciona una computadora.

Page 2: ¿Porque estudiar diseño digital? - Inicioprofesores.elo.utfsm.cl/~tarredondo/info/digital-systems/apuntes... · 1: Intro 1 ¿Porque estudiar diseño digital? Es la base para la

1: Intro 2

Diseño digital: nuestro PC

Page 3: ¿Porque estudiar diseño digital? - Inicioprofesores.elo.utfsm.cl/~tarredondo/info/digital-systems/apuntes... · 1: Intro 1 ¿Porque estudiar diseño digital? Es la base para la

1: Intro 3

Objetivos El lenguaje de diseño y

modelamiento digital Álgebra de Boole Funciones y representación

de variables discretas Minimización lógica Conceptos de estados Análisis temporal Herramientas CAD

Concepto de estados en sistemas digitales Análogo a variables y

contadores en el software

Como especificar, simular, compilar y analizar sistemas Lenguajes de descripción de HW Herramientas para simular la

operación de nuestros diseños Compiladores lógicos para

sintetizar los bloques de diseños Implementación en hardware

programable Diferentes tecnologías de

implementación de hardware Contrastar con diseño de SW

Implementaciones de máquinas secuenciales y paralelas

Especificar algoritmos, recursos de procesamiento y almacenamiento

Page 4: ¿Porque estudiar diseño digital? - Inicioprofesores.elo.utfsm.cl/~tarredondo/info/digital-systems/apuntes... · 1: Intro 1 ¿Porque estudiar diseño digital? Es la base para la

1: Intro 4

Objetivos

Visto por capas

Arquitectura abstracta

Síntesis y optimización

Bloques básicos

Compuertas y flip-flops

Page 5: ¿Porque estudiar diseño digital? - Inicioprofesores.elo.utfsm.cl/~tarredondo/info/digital-systems/apuntes... · 1: Intro 1 ¿Porque estudiar diseño digital? Es la base para la

1: Intro 5

ObjetivosResumen: Se estudiaran... Los fundamentos matemáticos de las funciones de

variables discretas boolenas, su estructura y diversos métodos de representación.

Los principios y técnicas para modelar situaciones del mundo real, mediante funciones booleanas y registros.

Se analizaran sistemas ya diseñados para posteriormente diseñar, implementar o sintetizar mediante diferentes tecnologías sistemas digitales combinacionales y secuenciales.

Page 6: ¿Porque estudiar diseño digital? - Inicioprofesores.elo.utfsm.cl/~tarredondo/info/digital-systems/apuntes... · 1: Intro 1 ¿Porque estudiar diseño digital? Es la base para la

1: Intro 6

1850: George Boole inventa el álgebra de Boole convierte proposiciones lógicas a

símbolos permite la manipulación de la lógica

proposicional

1938: Claude Shannon aplica el álgebra de Boole al desarrollo de circuitos conmutados (switched circuits) su tesis de Magíster

1945: John von Neumann desarrolla el primer programa de computadora en la arquitectura de programa almacenado (stored-program computer) sus elementos de conmutación son tubos

de vacío

Un poco de historia

Page 7: ¿Porque estudiar diseño digital? - Inicioprofesores.elo.utfsm.cl/~tarredondo/info/digital-systems/apuntes... · 1: Intro 1 ¿Porque estudiar diseño digital? Es la base para la

1: Intro 7

1946: ENIAC . . . La primera computadora electrónica 18,000 tubos de vacío varios miles de multiplicaciones por minuto.

1947: Shockley, Brattain y Bardeen (Bell Labs) inventan el transistor Reemplazo tubos de vacío Permitió la mayor integración de múltiples

dispositivos. Comienzo de la electrónica moderna.

Un poco de historia

Page 8: ¿Porque estudiar diseño digital? - Inicioprofesores.elo.utfsm.cl/~tarredondo/info/digital-systems/apuntes... · 1: Intro 1 ¿Porque estudiar diseño digital? Es la base para la

1: Intro 8

¿Que es el diseño digital? ¿Qué es el diseño?

Dada la especificación de un problema, lograr determinar una manera de resolverla, seleccionando apropiadamente desde un grupo de componentes disponibles.

Siempre considerando un conjunto de criterios (requerimientos) como tamaño, costo, poder, confiabilidad, elegancia, simplicidad etc.

01

01

01

01

01

01

01

01

01

01

01

¿Qué es el diseño digital? Determinación de las componentes de hardware digitales que

implementan las especificaciones de comunicación, control y procesamiento de los datos.

Más específicamente, es descomponer la solución en redes combinacionales y/o secuenciales organizando jerárquicamente el diseño empleando herramientas computacionales modernas.

Hay muchas diferentes tecnologías que se pueden usar para implementar un diseño (e.g., componentes, dispositivos programables, transistores en un chip, etc.)

El diseño tiene que ser optimizado para los requerimientos previamente especificados.

Page 9: ¿Porque estudiar diseño digital? - Inicioprofesores.elo.utfsm.cl/~tarredondo/info/digital-systems/apuntes... · 1: Intro 1 ¿Porque estudiar diseño digital? Es la base para la

1: Intro 9

¿Que es el diseño digital?

Conceptos básicos en sistemas digitales. Sistema con una entrada E y una salida S

Las variables E y S sólo pueden tomar los valores discretos: 0, 1, 2, 3.

Page 10: ¿Porque estudiar diseño digital? - Inicioprofesores.elo.utfsm.cl/~tarredondo/info/digital-systems/apuntes... · 1: Intro 1 ¿Porque estudiar diseño digital? Es la base para la

1: Intro 10

¿Que es el diseño digital?

Codificación. Se denomina codificación binaria al proceso

de asignar un vector booleano a un símbolo o valor de la variable multivaluada.

Sistema numérico binario.• En el sistema numérico binario la base numérica es

2, y los dígitos sólo pueden ser 0 y 1.

Page 11: ¿Porque estudiar diseño digital? - Inicioprofesores.elo.utfsm.cl/~tarredondo/info/digital-systems/apuntes... · 1: Intro 1 ¿Porque estudiar diseño digital? Es la base para la

1: Intro 11

¿Que es el diseño digital?

Información. Bit, Byte. Se denomina bit, que es un acrónimo de

Binary Digit, a la cantidad de información requerida para distinguir entre dos opciones igualmente probables.

Tablas de verdad.

Page 12: ¿Porque estudiar diseño digital? - Inicioprofesores.elo.utfsm.cl/~tarredondo/info/digital-systems/apuntes... · 1: Intro 1 ¿Porque estudiar diseño digital? Es la base para la

1: Intro 12

¿Que es el diseño digital?

Compuertas básicas. Operadores booleanos. En el álgebra de Boole se definen los

operadores and y or, mediante las tablas de verdad .

Expresiones booleanas.

Page 13: ¿Porque estudiar diseño digital? - Inicioprofesores.elo.utfsm.cl/~tarredondo/info/digital-systems/apuntes... · 1: Intro 1 ¿Porque estudiar diseño digital? Es la base para la

1: Intro 13

¿Que es el diseño digital?

Esquemático.

Page 14: ¿Porque estudiar diseño digital? - Inicioprofesores.elo.utfsm.cl/~tarredondo/info/digital-systems/apuntes... · 1: Intro 1 ¿Porque estudiar diseño digital? Es la base para la

1: Intro 14

Algunas aplicaciones del diseño digital

Computadores CPUs, bus, equipos periféricos de I/O (discos,

pendrives, teclados, impresoras, mouse, pantallas, etc)

Redes y comunicaciones centrales, estaciones base, teléfonos, módems,

routers, switches, hubs, gateways, gatekeepers (VoIP) Sistemas embebidos

electrodomésticos aparatos portátiles: celulares, iPods, organizadores juguetes y juegos de video aparatos a control remoto controladores industriales, robots

Equipos científicos equipos de prueba, sensores, aparatos médicos

Muchos otros

Page 15: ¿Porque estudiar diseño digital? - Inicioprofesores.elo.utfsm.cl/~tarredondo/info/digital-systems/apuntes... · 1: Intro 1 ¿Porque estudiar diseño digital? Es la base para la

1: Intro 15

Algunas tendencias actuales en el diseño digital Tendencias de la industria para diseño de hardware

Diseños mas grandes e integrados. Tiempo al mercado mas corto. Productos mas baratos.

Escala Uso común de herramientas computacionales sobre métodos

manuales. Múltiples niveles de diseño y representación.

Tiempo Énfasis en representaciones abstractas de diseño. Uso de componentes programables (e.g. FPGA) sobre otros de

función fija. Técnicas automáticas de síntesis del diseño lógico (e.g. Verilog). Importancia de buenas metodologías y procesos de diseño.

Costo Uso de simulación para depurar (debug). Simulación y verificación (testing) antes de construcción.

Page 16: ¿Porque estudiar diseño digital? - Inicioprofesores.elo.utfsm.cl/~tarredondo/info/digital-systems/apuntes... · 1: Intro 1 ¿Porque estudiar diseño digital? Es la base para la

1: Intro 16

Diseño digital: computación abstracta versus implementación Computación abstracta es un ejercicio mental o de software

(programas). Esta clase trata sobre como se puede implementar sistemas

de computación en hardware que usan voltajes para representar valores lógicos binarios (1 y 0).

Elementos básicos de la computación. Representación binaria: 0, 1 Asignación: x = y Operaciones sobre datos: x + y – 5 Control:

• expresiones secuénciales 1; 2; 3;...• expresiones condicionales: if x == 1 then y• ciclos (loops): for (i = 1; i == 5; i++) x = x +

A[i];• procedimientos (funciones)

Uso común de lenguajes y herramientas computacionales (e.g. HDL, Verilog, Xylinx) sobre métodos manuales.

Múltiples niveles de diseño y representación.

Page 17: ¿Porque estudiar diseño digital? - Inicioprofesores.elo.utfsm.cl/~tarredondo/info/digital-systems/apuntes... · 1: Intro 1 ¿Porque estudiar diseño digital? Es la base para la

1: Intro 17

Abstracción digital Abstracción digital binaria

Consiste en representar las señales análogas reales de entrada y salida usando valores discretos lógicos 0 y 1

Margen de ruido

Margen de ruido

Volts

lógica 1

lógica 0

zona de transición entre lógica 0 y 1

4

3

2

0.5

- 0.5

1

0

Voh

Vol

Vil

Vih

Page 18: ¿Porque estudiar diseño digital? - Inicioprofesores.elo.utfsm.cl/~tarredondo/info/digital-systems/apuntes... · 1: Intro 1 ¿Porque estudiar diseño digital? Es la base para la

1: Intro 18

Abstracción digital ¿Porque es útil la digitalización?

Permite el desarrollo modular de sistemas Ayuda a prevenir que un 0 sea confundido con un 1

y viceversa, valores específicos dependen de la tecnología usada (e.g. TTL)

e.g. VIL debe ser un poco mayor que VOL

Vol Vil

Vil

Vol

Volts

tiempo

Page 19: ¿Porque estudiar diseño digital? - Inicioprofesores.elo.utfsm.cl/~tarredondo/info/digital-systems/apuntes... · 1: Intro 1 ¿Porque estudiar diseño digital? Es la base para la

1: Intro 19

Abstracción digital Bit (Binary digit): unidad de información

Si se tienen 2 eventos igualmente probables y se desea conocer cuál se produce, debe aportarse 1 bit de información

Interruptor abierto es 1 Interruptor cerrado es 0 Se puede codificar en un bit, el estado del

interruptor

¿Si hay 8 eventos posibles, para conocer la ocurrencia de uno de ellos deben tenerse cuantos bits de información?

Page 20: ¿Porque estudiar diseño digital? - Inicioprofesores.elo.utfsm.cl/~tarredondo/info/digital-systems/apuntes... · 1: Intro 1 ¿Porque estudiar diseño digital? Es la base para la

1: Intro 20

Abstracción digital La información puede definirse como:

conocimiento comunicado o recibido concerniente a un hecho particular, el cual reduce la incertidumbre del receptor

Si tenemos un espacio de muestreo dividido en 2N casos que son igualmente probables Ek (k = 1, 2, ..., 2N) entonces la información (en bits) proveída por el hecho Ek es N bits

Page 21: ¿Porque estudiar diseño digital? - Inicioprofesores.elo.utfsm.cl/~tarredondo/info/digital-systems/apuntes... · 1: Intro 1 ¿Porque estudiar diseño digital? Es la base para la

1: Intro 21

Abstracción digital Evento

Se denomina evento al cambio de valor de una señal en un instante de tiempo.

¿Que es un canto de bajada/subida? Pasar de nivel lógico 1 a 0 se denomina canto de

bajada. Un canto de subida se produce cuando la señal

pasa de nivel lógico 0 a 1.

1

0

Page 22: ¿Porque estudiar diseño digital? - Inicioprofesores.elo.utfsm.cl/~tarredondo/info/digital-systems/apuntes... · 1: Intro 1 ¿Porque estudiar diseño digital? Es la base para la

1: Intro 22

¿Qué es el hardware digital?

El modelo del sistema digital tiene inputs y outputs Sistemas combinacionales (sin memoria)

sus outputs solo dependen de sus inputs Sistemas secuenciales (con memoria)

sus outputs dependen no solo de sus inputs actuales sino que también de inputs previos (tienen memoria)

inputs outputssistema

Máquina abstracta: Una máquina abstracta es un modelo de

computación que establece cómo se generan las acciones, o eventos de salida, a partir de los mensajes o eventos de entrada.

Page 23: ¿Porque estudiar diseño digital? - Inicioprofesores.elo.utfsm.cl/~tarredondo/info/digital-systems/apuntes... · 1: Intro 1 ¿Porque estudiar diseño digital? Es la base para la

1: Intro 23

¿Que es el hardware digital?

Colección de dispositivos que miden y controlan señales que usan voltajes digitales (e.g. una cantidad física que se interpreta como un “0” o un “1”) e.g.: lógica digital binaria

• “0” cuando el voltaje en una señal es < 0.8 V• “1” cuando el voltaje es > 2.0 V

El tener Voh > Vih y Vol < Vil causa que la señales lógicas “1” y “0” se vayan regenerando

Page 24: ¿Porque estudiar diseño digital? - Inicioprofesores.elo.utfsm.cl/~tarredondo/info/digital-systems/apuntes... · 1: Intro 1 ¿Porque estudiar diseño digital? Es la base para la

1: Intro 24

¿Que es el hardware digital? Interruptor (switch): elemento básico del

hardware Implementar un circuito simple (flecha muestra si un

cable cambia a “1”)A Z

Z ≡ A

AZ

cerrar switch (si A es “1”) y prender la

bombilla (Z)

abrir switch (si A es “0”) y apagar la

bombilla (Z)

Page 25: ¿Porque estudiar diseño digital? - Inicioprofesores.elo.utfsm.cl/~tarredondo/info/digital-systems/apuntes... · 1: Intro 1 ¿Porque estudiar diseño digital? Es la base para la

1: Intro 25

¿Que es el hardware digital? La composición de interruptores (e.g.

transistores) en elementos mas complejos implementa las funciones de lógica Booleana.

¿Como hago un AND y un OR de dos interruptores?

AND

OR

Z ≡ A and B

Z ≡ A or B

A B

A

B

Page 26: ¿Porque estudiar diseño digital? - Inicioprofesores.elo.utfsm.cl/~tarredondo/info/digital-systems/apuntes... · 1: Intro 1 ¿Porque estudiar diseño digital? Es la base para la

1: Intro 26

¿Que es el hardware digital? Los valores de los interruptores (switches)

determinan si hay o no hay una ruta para encender la luz Para construir cómputos mas complejos

usar la luz (output de un circuito) para activar otros circuitos interconectar redes de circuitos (e.g. ICs o circuitos

integrados en wafers) típicamente se diseñan y modelan estos circuitos usando

aplicaciones de software (e.g. MAGIC para VLSI)

Page 27: ¿Porque estudiar diseño digital? - Inicioprofesores.elo.utfsm.cl/~tarredondo/info/digital-systems/apuntes... · 1: Intro 1 ¿Porque estudiar diseño digital? Es la base para la

1: Intro 27

Hardware digital vs análogo

Es conveniente pensar en los sistemas digitales como teniendo solo valores discretos . En realidad los componentes electrónicos tienen un comportamiento continuo, análogo.

¿Porque se hace la abstracción digital? Interruptores operan de esta manera, es fácil modularizar

diseños basado en compuertas digitales Es mas fácil pensar en valores discretos Los voltajes se pueden ir renovando entre los componentes

manteniendo su valor lógico ¿Porque funciona?

Los errores en voltajes no se propagan Siempre se cambian a 0 o 1

Page 28: ¿Porque estudiar diseño digital? - Inicioprofesores.elo.utfsm.cl/~tarredondo/info/digital-systems/apuntes... · 1: Intro 1 ¿Porque estudiar diseño digital? Es la base para la

1: Intro 28

Sistemas Combinacionales

Se denominan máquinas o sistemas combinacionales a aquellos cuyas salidas, en un instante de tiempo, dependen solamente de los valores que toman las entradas en ese instante de tiempo (no tienen memoria)

Lo cual puede describirse por una función o tabla (truth table) que especifique los valores de las salidas para cada una de las combinaciones posibles de las entradas

En estos sistemas las componentes no cambian sus propiedades a medida que transcurre el tiempo

Page 29: ¿Porque estudiar diseño digital? - Inicioprofesores.elo.utfsm.cl/~tarredondo/info/digital-systems/apuntes... · 1: Intro 1 ¿Porque estudiar diseño digital? Es la base para la

1: Intro 29

fácil de implementar contransistores CMOS (los interruptores masdisponibles)

Símbolos Lógicos

Sistemas lógicos combinacionales usan compuertas estándar que se denominan compuertas lógicas Buffer, NOT

AND, NAND

OR, NOR

Z

AB

Z

Z

A

AB

Page 30: ¿Porque estudiar diseño digital? - Inicioprofesores.elo.utfsm.cl/~tarredondo/info/digital-systems/apuntes... · 1: Intro 1 ¿Porque estudiar diseño digital? Es la base para la

1: Intro 30

Sistemas Combinacionales: ejemplo

Subsistema de calendario: numero de días en un mes Usado para controlar un reloj de tipo LCD Input: mes, indicador de año bisiesto (leap year) Output: numero de días (28, 29, 30 o 31) en ese mes

Page 31: ¿Porque estudiar diseño digital? - Inicioprofesores.elo.utfsm.cl/~tarredondo/info/digital-systems/apuntes... · 1: Intro 1 ¿Porque estudiar diseño digital? Es la base para la

1: Intro 31

Sistemas Combinacionales: ejemplo Implementación en softwareinteger number_of_days ( month, leap_year_flag)

{

switch (month) {

case 1: return (31);

case 2: if (leap_year_flag == 1)

then return (29) else return (28);

case 3: return (31);

...

case 12: return (31);

default: return (0);

}

}

Page 32: ¿Porque estudiar diseño digital? - Inicioprofesores.elo.utfsm.cl/~tarredondo/info/digital-systems/apuntes... · 1: Intro 1 ¿Porque estudiar diseño digital? Es la base para la

1: Intro 32

Sistemas Combinacionales: ejemplo

leapmonth

d28d29d30d31

month leap d28 d29 d30 d310000 – – – – – 0001 – 0 0 0 10010 0 1 0 0 00010 1 0 1 0 00011 – 0 0 0 10100 – 0 0 1 00101 – 0 0 0 10110 – 0 0 1 00111 – 0 0 0 11000 – 0 0 0 11001 – 0 0 1 01010 – 0 0 0 11011 – 0 0 1 01100 – 0 0 0 11101 – – – – –111– – – – – –

Implementación digital Codificación:

Cuántos bits para cada input/output? Número binario para el mes Cuatro alambres para 28 - 31

Comportamiento: combinacional especificado en

la tabla

Page 33: ¿Porque estudiar diseño digital? - Inicioprofesores.elo.utfsm.cl/~tarredondo/info/digital-systems/apuntes... · 1: Intro 1 ¿Porque estudiar diseño digital? Es la base para la

1: Intro 33

Sistemas Combinacionales: ejemplo Análisis

d28 = 1 cuando month=0010 y leap=0 d28 = m8'•m4'•m2•m1'•leap‘ d31 = 1 cuando month=0001 o month=0011 o ...

month=1100 d31 = (m8'•m4'•m2'•m1) + (m8'•m4'•m2•m1) + ...

(m8•m4•m2'•m1')

d31 = podemos simplificarlo mas?

símbolo de and

símbolo de or

month leap d28 d29 d30 d310001 – 0 0 0 10010 0 1 0 0 00010 1 0 1 0 00011 – 0 0 0 10100 – 0 0 1 0...1100 – 0 0 0 11101 – – – – –111– – – – – –0000 – – – – –

Page 34: ¿Porque estudiar diseño digital? - Inicioprofesores.elo.utfsm.cl/~tarredondo/info/digital-systems/apuntes... · 1: Intro 1 ¿Porque estudiar diseño digital? Es la base para la

1: Intro 34

Sistemas Combinacionales: ejemplo

d28 = m8'•m4'•m2•m1'•leap’ d29 = m8'•m4'•m2•m1'•leap d30 = (m8'•m4•m2'•m1') + (m8'•m4•m2•m1') +

(m8•m4'•m2'•m1) + (m8•m4'•m2•m1) = (m8'•m4•m1') + (m8•m4'•m1)

d31 = (m8'•m4'•m2'•m1) + (m8'•m4'•m2•m1) + (m8'•m4•m2'•m1) + (m8'•m4•m2•m1) + (m8•m4'•m2'•m1') + (m8•m4'•m2•m1') + (m8•m4•m2'•m1')

Page 35: ¿Porque estudiar diseño digital? - Inicioprofesores.elo.utfsm.cl/~tarredondo/info/digital-systems/apuntes... · 1: Intro 1 ¿Porque estudiar diseño digital? Es la base para la

1: Intro 35

Máquinas de Estados o Secuenciales Se denominan máquinas de estados o secuenciales a

aquellas cuyas salidas, en un instante de tiempo, dependen de los valores que toman las entradas y de su estado en ese instante de tiempo. Se comienza con un estado inicial.

Se usa una función de transición que especifique los valores de las salidas y del próximo estado para cada una de las combinaciones posibles de las entradas y del estado presente. También se puede usar un diagrama de estados.

Una matriz puede servir para indicar los diferentes valores de esta función.

Las entradas se deben usar una vez que la máquina haya procesado las entradas previas y este estable.

Page 36: ¿Porque estudiar diseño digital? - Inicioprofesores.elo.utfsm.cl/~tarredondo/info/digital-systems/apuntes... · 1: Intro 1 ¿Porque estudiar diseño digital? Es la base para la

1: Intro 36

Máquinas de Estados: ejemplo Candado de combinación:

Seleccionar 3 valores en secuencia y se abre el candado.

Si hay un error se debe recomenzar la secuencia (reset).

Input: secuencia de valores, reset. Outputs: candado abierto/cerrado. Memoria: debe recordar combinación.

Page 37: ¿Porque estudiar diseño digital? - Inicioprofesores.elo.utfsm.cl/~tarredondo/info/digital-systems/apuntes... · 1: Intro 1 ¿Porque estudiar diseño digital? Es la base para la

1: Intro 37

Máquinas de Estados: ejemploImplementación en softwareinteger combination_lock ( ) {

integer v1, v2, v3;integer error = 0;static integer c[3] = 3, 4, 2; // clave

while (!new_value( ));v1 = read_value( );if (v1 != c[1]) then error = 1;while (!new_value( ));v2 = read_value( );if (v2 != c[2]) then error = 1;while (!new_value( ));v3 = read_value( );if (v2 != c[3]) then error = 1;

if (error == 1) then return(0); else return (1);}

Page 38: ¿Porque estudiar diseño digital? - Inicioprofesores.elo.utfsm.cl/~tarredondo/info/digital-systems/apuntes... · 1: Intro 1 ¿Porque estudiar diseño digital? Es la base para la

1: Intro 38

Máquinas de Estados: ejemplo Codificación:

¿Cuántos bits por valor de input? ¿Cuántos valores en la secuencia? ¿Cómo sabemos que hay un valor nuevo de input? ¿cómo representar los estados?

Comportamiento: Línea clock indica cuando.

mirar los inputs (sistema tiene que

estar estable después de un cambio). Secuencial: secuencias de valores

deben ser introducidos. Secuencial: recordar si ocurre un error Especificar los estados finitos.

resetvalue

open/closed

new

clockstate

Page 39: ¿Porque estudiar diseño digital? - Inicioprofesores.elo.utfsm.cl/~tarredondo/info/digital-systems/apuntes... · 1: Intro 1 ¿Porque estudiar diseño digital? Es la base para la

1: Intro 39

Máquinas de Estados: ejemplo Diagrama de estados:

5 estados• Representan situaciones en la ejecución de la máquina• Cada estado tiene outputs• 6 transiciones entre estados, 5 auto transiciones, 1 global• Cambios en estados ocurren cuando reloj indica que se puede• Inputs: reset, new, resultado de comparaciones• Output: open /closed (abierto /cerrado)

C2!=value& new

C3!=value& new

reset

not newnot newnot new

closed

S1

closedC1=value

& new

S2

closedC2=value

& new

S3

C3=value& new

OPEN

open

C1!=value& new

closed

ERR

Page 40: ¿Porque estudiar diseño digital? - Inicioprofesores.elo.utfsm.cl/~tarredondo/info/digital-systems/apuntes... · 1: Intro 1 ¿Porque estudiar diseño digital? Es la base para la

1: Intro 40

Máquinas de Estados: ejemplo ¿Ruta de datos versus control?

ruta de datos• Almacenamiento para combinación• Comparador

control• Controlador de estados finitos• Control para ruta de datos• Cambios en estados controlados por reloj (clock)

reset

open/closed

new

C1 C2 C3

comparator

value

equal

multiplexer

equal

controllermux control

clock

Page 41: ¿Porque estudiar diseño digital? - Inicioprofesores.elo.utfsm.cl/~tarredondo/info/digital-systems/apuntes... · 1: Intro 1 ¿Porque estudiar diseño digital? Es la base para la

1: Intro 41

Máquinas de Estados: ejemplo Refinar máquina de estados finitos

Incluir datos internos de la estructura del HW

closed

closedmux=C1reset

equal& new

not equal& new

not equal& new

not equal& new

not newnot newnot new

S1 S2 S3 OPEN

ERR

closedmux=C2 equal

& new

closedmux=C3 equal

& new

open

Page 42: ¿Porque estudiar diseño digital? - Inicioprofesores.elo.utfsm.cl/~tarredondo/info/digital-systems/apuntes... · 1: Intro 1 ¿Porque estudiar diseño digital? Es la base para la

1: Intro 42

Máquinas de Estados: ejemplo ¿Máquina de estados finitos actualizada?

Generar tabla estados o transiciones

reset new equal state state mux open/closed1 – – – S1 C1 closed0 0 – S1 S1 C1 closed0 1 0 S1 ERR – closed0 1 1 S1 S2 C2 closed0 0 – S2 S2 C2 closed0 1 0 S2 ERR – closed0 1 1 S2 S3 C3 closed0 0 – S3 S3 C3 closed0 1 0 S3 ERR – closed0 1 1 S3 OPEN – open 0 – – OPEN OPEN – open0 – – ERR ERR – closed

next

closed

closedmux=C1reset

equal& new

not equal& new not equal

& new not equal& new

not newnot newnot new

S1 S2 S3 OPEN

ERR

closedmux=C2 equal

& new

closedmux=C3 equal

& new

open

Page 43: ¿Porque estudiar diseño digital? - Inicioprofesores.elo.utfsm.cl/~tarredondo/info/digital-systems/apuntes... · 1: Intro 1 ¿Porque estudiar diseño digital? Es la base para la

1: Intro 43

Máquinas de Estados: ejemplo Codificar tabla de estados

estado puede ser: S1, S2, S3, OPEN o ERR• 3 bits mínimo para codificar

output mux puede ser: C1, C2, o C3• 2 bits mínimo para codificar

output open /closed puede ser: open o closed• mínimo 1 bit para codificar

Trabajo en grupo: elegir codificación de bits para los estados, generar tabla de estados (hay muchas opciones!)

Page 44: ¿Porque estudiar diseño digital? - Inicioprofesores.elo.utfsm.cl/~tarredondo/info/digital-systems/apuntes... · 1: Intro 1 ¿Porque estudiar diseño digital? Es la base para la

1: Intro 44

Máquinas de Estados: ejemplo Codificar tabla de estados

estado puede ser: S1, S2, S3, OPEN o ERR• usar 4 bits

output mux puede ser: C1, C2, o C3• usar 3 bits

output open /closed puede ser: open o closed• usar 1 bit para codificar

reset new equal state state mux open/closed1 – – – 0001 001 0 0 0 – 0001 0001 001 00 1 0 0001 0000 – 00 1 1 0001 0010 010 0 0 0 – 0010 0010 010 00 1 0 0010 0000 – 00 1 1 0010 0100 100 0 0 0 – 0100 0100 100 00 1 0 0100 0000 – 00 1 1 0100 1000 – 1 0 – – 1000 1000 – 10 – – 0000 0000 – 0

next

buena elección!

mux es idéntico a los últimos 3 bits del estado

open / closed esidéntico al primer bitdel estado

Page 45: ¿Porque estudiar diseño digital? - Inicioprofesores.elo.utfsm.cl/~tarredondo/info/digital-systems/apuntes... · 1: Intro 1 ¿Porque estudiar diseño digital? Es la base para la

1: Intro 45

Jerarquía de diseño

sistema digital

ruta de datos ruta de control

registros deestado

red combinacional(lógica)

multiplexer comparator / ALUmemorias /registros

registros lógica / compuertas

redes de compuertas(transistores)

Page 46: ¿Porque estudiar diseño digital? - Inicioprofesores.elo.utfsm.cl/~tarredondo/info/digital-systems/apuntes... · 1: Intro 1 ¿Porque estudiar diseño digital? Es la base para la

1: Intro 46

Resumen

¿De que se trata este curso?

Desarrollar soluciones a problemas usando circuitos combinacionales y secuenciales efectivamente organizando el diseño jerárquicamente.

Utilizar técnicas y herramientas modernas.

Tomar ventaja de oportunidades de optimización.