SlideShare una empresa de Scribd logo
1 de 46
Descargar para leer sin conexión
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.
1: Intro 2
Diseño digital: nuestro PC
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
1: Intro 4
Objetivos
 Visto por capas
Arquitectura abstracta
Síntesis y optimización
Bloques básicos
Compuertas y flip-flops
1: Intro 5
Objetivos
Resumen: 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.
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
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
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.
0101010101010101010101
 ¿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.
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.
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.
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.
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.

1: Intro 13
¿Que es el diseño digital?
 Esquemático.
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
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.
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.
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
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
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?
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
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
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.
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
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
A
Z
cerrar switch (si A es “1”) y prender la
bombilla (Z)
abrir switch (si A es “0”) y apagar la
bombilla (Z)
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
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)
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
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
1: Intro 29
fácil de implementar con
transistores CMOS
(los interruptores mas
disponibles)
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
A
B
Z
Z
A
A
B
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
1: Intro 31
Sistemas Combinacionales:
ejemplo
 Implementación en software
integer 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);
}
}
1: Intro 32
Sistemas Combinacionales:
ejemplo
leapmonth
d28d29d30d31
month leap d28 d29 d30 d31
0000 – – – – –
0001 – 0 0 0 1
0010 0 1 0 0 0
0010 1 0 1 0 0
0011 – 0 0 0 1
0100 – 0 0 1 0
0101 – 0 0 0 1
0110 – 0 0 1 0
0111 – 0 0 0 1
1000 – 0 0 0 1
1001 – 0 0 1 0
1010 – 0 0 0 1
1011 – 0 0 1 0
1100 – 0 0 0 1
1101 – – – – –
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
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 d31
0001 – 0 0 0 1
0010 0 1 0 0 0
0010 1 0 1 0 0
0011 – 0 0 0 1
0100 – 0 0 1 0
...
1100 – 0 0 0 1
1101 – – – – –
111– – – – – –
0000 – – – – –
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')
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.
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.
1: Intro 37
Máquinas de Estados: ejemplo
Implementación en software
integer 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);
}
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
clock
state
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
closed
C1=value
& new
S2
closed
C2=value
& new
S3
C3=value
& new
OPEN
open
C1!=value
& new
closed
ERR
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
controller
mux
control
clock
1: Intro 41
Máquinas de Estados: ejemplo
 Refinar máquina de estados finitos
 Incluir datos internos de la estructura del HW
closed
closed
mux=C1
reset
equal
& new
not equal
& new
not equal
& new
not equal
& new
not newnot newnot new
S1 S2 S3 OPEN
ERR
closed
mux=C2 equal
& new
closed
mux=C3 equal
& new
open
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/closed
1 – – – S1 C1 closed
0 0 – S1 S1 C1 closed
0 1 0 S1 ERR – closed
0 1 1 S1 S2 C2 closed
0 0 – S2 S2 C2 closed
0 1 0 S2 ERR – closed
0 1 1 S2 S3 C3 closed
0 0 – S3 S3 C3 closed
0 1 0 S3 ERR – closed
0 1 1 S3 OPEN – open
0 – – OPEN OPEN – open
0 – – ERR ERR – closed
next
closed
closed
mux=C1reset
equal
& new
not equal
& new not equal
& new not equal
& new
not newnot newnot new
S1 S2 S3 OPEN
ERR
closed
mux=C2 equal
& new
closed
mux=C3 equal
& new
open
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!)
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/closed
1 – – – 0001 001 0
0 0 – 0001 0001 001 0
0 1 0 0001 0000 – 0
0 1 1 0001 0010 010 0
0 0 – 0010 0010 010 0
0 1 0 0010 0000 – 0
0 1 1 0010 0100 100 0
0 0 – 0100 0100 100 0
0 1 0 0100 0000 – 0
0 1 1 0100 1000 – 1
0 – – 1000 1000 – 1
0 – – 0000 0000 – 0
next
buena elección!
mux es idéntico a los últimos
3 bits del estado
open / closed es
idéntico al primer bit
del estado
1: Intro 45
Jerarquía de diseño
sistema digital
ruta de datos ruta de control
registros de
estado
red combinacional
(lógica)
multiplexer comparator / ALU
memorias /
registros
registros lógica / compuertas
redes de compuertas
(transistores)
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.

Más contenido relacionado

La actualidad más candente

CONTADOR BINARIO DESCENDENTE DE 14 BITS CON ARDUINO
CONTADOR BINARIO DESCENDENTE DE 14 BITS CON ARDUINOCONTADOR BINARIO DESCENDENTE DE 14 BITS CON ARDUINO
CONTADOR BINARIO DESCENDENTE DE 14 BITS CON ARDUINOFernando Marcos Marcos
 
CONTADOR BINARIO DESCENDENTE DE 8 BITS CON ARDUINO
CONTADOR BINARIO DESCENDENTE DE 8 BITS CON ARDUINOCONTADOR BINARIO DESCENDENTE DE 8 BITS CON ARDUINO
CONTADOR BINARIO DESCENDENTE DE 8 BITS CON ARDUINOFernando Marcos Marcos
 
1. sist analogicos digitales
1. sist analogicos digitales1. sist analogicos digitales
1. sist analogicos digitalesJustino Cat
 
electrónica digital ies guadiana 2012 13
electrónica digital ies guadiana 2012 13electrónica digital ies guadiana 2012 13
electrónica digital ies guadiana 2012 13puyuelin
 
Unidad 1
Unidad 1Unidad 1
Unidad 1Ana
 
59069331 manual-logica-y-neumatica
59069331 manual-logica-y-neumatica59069331 manual-logica-y-neumatica
59069331 manual-logica-y-neumaticaOscar Barreto
 
1. sist analogicos-digitales
1. sist analogicos-digitales1. sist analogicos-digitales
1. sist analogicos-digitalessonsolesbar
 
Trabajo de tecno
Trabajo de tecnoTrabajo de tecno
Trabajo de tecnoandresto15
 
Introducción a los microprocesadores
Introducción a los microprocesadoresIntroducción a los microprocesadores
Introducción a los microprocesadoresDaniel Remondegui
 
CONTADOR BINARIO ASCENDENTE DE 14 BITS CON ARDUINO
CONTADOR BINARIO ASCENDENTE DE 14 BITS CON ARDUINOCONTADOR BINARIO ASCENDENTE DE 14 BITS CON ARDUINO
CONTADOR BINARIO ASCENDENTE DE 14 BITS CON ARDUINOFernando Marcos Marcos
 
8. sist analogicos-digitales
8. sist analogicos-digitales8. sist analogicos-digitales
8. sist analogicos-digitalesClauFdzSrz
 

La actualidad más candente (15)

CONTADOR BINARIO DESCENDENTE DE 14 BITS CON ARDUINO
CONTADOR BINARIO DESCENDENTE DE 14 BITS CON ARDUINOCONTADOR BINARIO DESCENDENTE DE 14 BITS CON ARDUINO
CONTADOR BINARIO DESCENDENTE DE 14 BITS CON ARDUINO
 
Electrónica digital
Electrónica digitalElectrónica digital
Electrónica digital
 
Lógica digital
Lógica digitalLógica digital
Lógica digital
 
CONTADOR BINARIO DESCENDENTE DE 8 BITS CON ARDUINO
CONTADOR BINARIO DESCENDENTE DE 8 BITS CON ARDUINOCONTADOR BINARIO DESCENDENTE DE 8 BITS CON ARDUINO
CONTADOR BINARIO DESCENDENTE DE 8 BITS CON ARDUINO
 
1. sist analogicos digitales
1. sist analogicos digitales1. sist analogicos digitales
1. sist analogicos digitales
 
electrónica digital ies guadiana 2012 13
electrónica digital ies guadiana 2012 13electrónica digital ies guadiana 2012 13
electrónica digital ies guadiana 2012 13
 
Unidad 1
Unidad 1Unidad 1
Unidad 1
 
59069331 manual-logica-y-neumatica
59069331 manual-logica-y-neumatica59069331 manual-logica-y-neumatica
59069331 manual-logica-y-neumatica
 
1. sist analogicos-digitales
1. sist analogicos-digitales1. sist analogicos-digitales
1. sist analogicos-digitales
 
Trabajo de tecno
Trabajo de tecnoTrabajo de tecno
Trabajo de tecno
 
Introducción a los microprocesadores
Introducción a los microprocesadoresIntroducción a los microprocesadores
Introducción a los microprocesadores
 
SISTEMAS DE NUMERACIÓN
SISTEMAS DE NUMERACIÓN SISTEMAS DE NUMERACIÓN
SISTEMAS DE NUMERACIÓN
 
Sistemas digitales
Sistemas digitalesSistemas digitales
Sistemas digitales
 
CONTADOR BINARIO ASCENDENTE DE 14 BITS CON ARDUINO
CONTADOR BINARIO ASCENDENTE DE 14 BITS CON ARDUINOCONTADOR BINARIO ASCENDENTE DE 14 BITS CON ARDUINO
CONTADOR BINARIO ASCENDENTE DE 14 BITS CON ARDUINO
 
8. sist analogicos-digitales
8. sist analogicos-digitales8. sist analogicos-digitales
8. sist analogicos-digitales
 

Destacado

El Uso de Datos para Informar la Toma de Decisiones
El Uso de Datos para Informar la Toma de DecisionesEl Uso de Datos para Informar la Toma de Decisiones
El Uso de Datos para Informar la Toma de DecisionesMEASURE Evaluation
 
Programa apepa abril 2017
Programa apepa abril 2017Programa apepa abril 2017
Programa apepa abril 2017apepasm
 
3Com 5998014246917
3Com 59980142469173Com 5998014246917
3Com 5998014246917savomir
 
3Com 21H9856
3Com 21H98563Com 21H9856
3Com 21H9856savomir
 
3Com 3CPCCOMBO-CB1
3Com 3CPCCOMBO-CB13Com 3CPCCOMBO-CB1
3Com 3CPCCOMBO-CB1savomir
 
3Com 3CCFE575BT-1
3Com 3CCFE575BT-13Com 3CCFE575BT-1
3Com 3CCFE575BT-1savomir
 
3Com 10505-04
3Com 10505-043Com 10505-04
3Com 10505-04savomir
 

Destacado (10)

El Uso de Datos para Informar la Toma de Decisiones
El Uso de Datos para Informar la Toma de DecisionesEl Uso de Datos para Informar la Toma de Decisiones
El Uso de Datos para Informar la Toma de Decisiones
 
Unidad 1 toma de decisiones
Unidad 1 toma de decisionesUnidad 1 toma de decisiones
Unidad 1 toma de decisiones
 
Criterios
CriteriosCriterios
Criterios
 
Programa apepa abril 2017
Programa apepa abril 2017Programa apepa abril 2017
Programa apepa abril 2017
 
3Com 5998014246917
3Com 59980142469173Com 5998014246917
3Com 5998014246917
 
3Com 21H9856
3Com 21H98563Com 21H9856
3Com 21H9856
 
3Com 3CPCCOMBO-CB1
3Com 3CPCCOMBO-CB13Com 3CPCCOMBO-CB1
3Com 3CPCCOMBO-CB1
 
3Com 3CCFE575BT-1
3Com 3CCFE575BT-13Com 3CCFE575BT-1
3Com 3CCFE575BT-1
 
Отчет Коллегии по жалобам на прессу за 2014 - 2017 годы
Отчет Коллегии по жалобам на прессу за 2014 - 2017 годы Отчет Коллегии по жалобам на прессу за 2014 - 2017 годы
Отчет Коллегии по жалобам на прессу за 2014 - 2017 годы
 
3Com 10505-04
3Com 10505-043Com 10505-04
3Com 10505-04
 

Similar a 01 introduccion

Qué Es Un Ordenador
Qué Es Un OrdenadorQué Es Un Ordenador
Qué Es Un OrdenadorMayte76
 
electrónica digital
electrónica digitalelectrónica digital
electrónica digitalVidal Rangel
 
Conferencia1 - Programacion de Computadores
Conferencia1 - Programacion de ComputadoresConferencia1 - Programacion de Computadores
Conferencia1 - Programacion de ComputadoresEdward Alexander Rojas
 
Introduccion a la informatica -recopilación
Introduccion a la informatica -recopilaciónIntroduccion a la informatica -recopilación
Introduccion a la informatica -recopilaciónciro morales sacha
 
Conceptos básicos de informática
Conceptos básicos de informáticaConceptos básicos de informática
Conceptos básicos de informáticaAbrirllave
 
Tutorial proton ide plus part 1
Tutorial proton ide plus part 1Tutorial proton ide plus part 1
Tutorial proton ide plus part 1dar851112
 
151953932 laboratorio-de-codificador-y-decodificador
151953932 laboratorio-de-codificador-y-decodificador151953932 laboratorio-de-codificador-y-decodificador
151953932 laboratorio-de-codificador-y-decodificadorEver Omar Nolasco
 
Informatica
InformaticaInformatica
Informaticalore_76
 
Informatica
InformaticaInformatica
Informaticalore_76
 
Sistemas digitales blog
Sistemas digitales blogSistemas digitales blog
Sistemas digitales blogPEDRO VAL MAR
 
Sistema digita l_analogico
Sistema digita l_analogicoSistema digita l_analogico
Sistema digita l_analogicoluisj9212
 
Sistema digita l_analogico
Sistema digita l_analogicoSistema digita l_analogico
Sistema digita l_analogicoAlberto Vargas
 
Diagramar sistemas digitales
Diagramar sistemas digitalesDiagramar sistemas digitales
Diagramar sistemas digitalesEliezerNava
 

Similar a 01 introduccion (20)

Qué Es Un Ordenador
Qué Es Un OrdenadorQué Es Un Ordenador
Qué Es Un Ordenador
 
electrónica digital
electrónica digitalelectrónica digital
electrónica digital
 
Conceptos básicos
Conceptos básicosConceptos básicos
Conceptos básicos
 
Jornada 2 TIC Boconó
Jornada 2 TIC BoconóJornada 2 TIC Boconó
Jornada 2 TIC Boconó
 
Iats practicas 1
Iats practicas 1Iats practicas 1
Iats practicas 1
 
Conferencia1
Conferencia1Conferencia1
Conferencia1
 
Conferencia1 - Programacion de Computadores
Conferencia1 - Programacion de ComputadoresConferencia1 - Programacion de Computadores
Conferencia1 - Programacion de Computadores
 
Conferencia1
Conferencia1Conferencia1
Conferencia1
 
Introduccion a la informatica -recopilación
Introduccion a la informatica -recopilaciónIntroduccion a la informatica -recopilación
Introduccion a la informatica -recopilación
 
Conceptos básicos de informática
Conceptos básicos de informáticaConceptos básicos de informática
Conceptos básicos de informática
 
Ejercicios vlsm
Ejercicios vlsmEjercicios vlsm
Ejercicios vlsm
 
Tutorial proton ide plus part 1
Tutorial proton ide plus part 1Tutorial proton ide plus part 1
Tutorial proton ide plus part 1
 
151953932 laboratorio-de-codificador-y-decodificador
151953932 laboratorio-de-codificador-y-decodificador151953932 laboratorio-de-codificador-y-decodificador
151953932 laboratorio-de-codificador-y-decodificador
 
Informatica
InformaticaInformatica
Informatica
 
Informatica
InformaticaInformatica
Informatica
 
Sistemas digitales blog
Sistemas digitales blogSistemas digitales blog
Sistemas digitales blog
 
Guia de-programacion-i-visual-b-net
Guia de-programacion-i-visual-b-netGuia de-programacion-i-visual-b-net
Guia de-programacion-i-visual-b-net
 
Sistema digita l_analogico
Sistema digita l_analogicoSistema digita l_analogico
Sistema digita l_analogico
 
Sistema digita l_analogico
Sistema digita l_analogicoSistema digita l_analogico
Sistema digita l_analogico
 
Diagramar sistemas digitales
Diagramar sistemas digitalesDiagramar sistemas digitales
Diagramar sistemas digitales
 

Último

Elementos del Dibujo: La línea como elemento principal
Elementos del Dibujo: La línea como elemento principalElementos del Dibujo: La línea como elemento principal
Elementos del Dibujo: La línea como elemento principaljflores44
 
andrea arriojas afiche didactico, historia 4
andrea arriojas afiche didactico, historia 4andrea arriojas afiche didactico, historia 4
andrea arriojas afiche didactico, historia 4Andrea11166
 
HISTORIA DE LA FILOSOFÍA DE FRANCISCO SUAREZ
HISTORIA DE LA FILOSOFÍA DE FRANCISCO SUAREZHISTORIA DE LA FILOSOFÍA DE FRANCISCO SUAREZ
HISTORIA DE LA FILOSOFÍA DE FRANCISCO SUAREZAnthonellaQuispe
 
Trabajo historia sobre el Renacimiento en la arquitectura
Trabajo historia sobre el Renacimiento en la arquitecturaTrabajo historia sobre el Renacimiento en la arquitectura
Trabajo historia sobre el Renacimiento en la arquitecturaccastilloojeda12
 
apendicitisguzman-230811224257-9c1e33c0.pptx
apendicitisguzman-230811224257-9c1e33c0.pptxapendicitisguzman-230811224257-9c1e33c0.pptx
apendicitisguzman-230811224257-9c1e33c0.pptxsalazarsilverio074
 
manual_primeros_auxilios.pdfbuigfuogyuighg
manual_primeros_auxilios.pdfbuigfuogyuighgmanual_primeros_auxilios.pdfbuigfuogyuighg
manual_primeros_auxilios.pdfbuigfuogyuighgTareghKarami
 
Signos-de-Puntuación-para-Cuarto-de-Secundaria.doc
Signos-de-Puntuación-para-Cuarto-de-Secundaria.docSignos-de-Puntuación-para-Cuarto-de-Secundaria.doc
Signos-de-Puntuación-para-Cuarto-de-Secundaria.docCesarCastillo170650
 
Biografía de Isaac Newton, sus parientes y sus inventos
Biografía de Isaac Newton, sus parientes y sus inventosBiografía de Isaac Newton, sus parientes y sus inventos
Biografía de Isaac Newton, sus parientes y sus inventoslilianacajamarca3
 
Dibujos de cuento de "mago de oz" para colorear
Dibujos de cuento de "mago de oz" para colorearDibujos de cuento de "mago de oz" para colorear
Dibujos de cuento de "mago de oz" para colorearKarenValdesCordova
 
EVOLUCION DE LA DANZA.pptxhuhfytffiuyfui
EVOLUCION DE LA DANZA.pptxhuhfytffiuyfuiEVOLUCION DE LA DANZA.pptxhuhfytffiuyfui
EVOLUCION DE LA DANZA.pptxhuhfytffiuyfuireyesandre407
 
Introducción a la teoría de Autómatas, Lenguajes y Computación..pdf
Introducción a la teoría de Autómatas, Lenguajes y Computación..pdfIntroducción a la teoría de Autómatas, Lenguajes y Computación..pdf
Introducción a la teoría de Autómatas, Lenguajes y Computación..pdfMIGUELANGEL2672
 
E.VIDAL LA PINTURA COSTUMBRISTA ,Catalog Mobile Presentation.pdf
E.VIDAL LA PINTURA COSTUMBRISTA ,Catalog Mobile Presentation.pdfE.VIDAL LA PINTURA COSTUMBRISTA ,Catalog Mobile Presentation.pdf
E.VIDAL LA PINTURA COSTUMBRISTA ,Catalog Mobile Presentation.pdfEusebioVidal1
 
Antigua Grecia 1234567890 1234576890940.pdf
Antigua Grecia 1234567890 1234576890940.pdfAntigua Grecia 1234567890 1234576890940.pdf
Antigua Grecia 1234567890 1234576890940.pdfVictoria867681
 
la modernidad en la arquitectura afiche didactico
la modernidad en la arquitectura afiche didacticola modernidad en la arquitectura afiche didactico
la modernidad en la arquitectura afiche didacticofabianamarcano1
 
"Armonía, proporción y matemáticas en la arquitectura griega: una tradición g...
"Armonía, proporción y matemáticas en la arquitectura griega: una tradición g..."Armonía, proporción y matemáticas en la arquitectura griega: una tradición g...
"Armonía, proporción y matemáticas en la arquitectura griega: una tradición g...dnmxd1213
 
Artes/ObrasMaestras del siglo XVI - tiempos BY: CLAUDIA GINGLIONA RAMÍREZ DIF...
Artes/ObrasMaestras del siglo XVI - tiempos BY: CLAUDIA GINGLIONA RAMÍREZ DIF...Artes/ObrasMaestras del siglo XVI - tiempos BY: CLAUDIA GINGLIONA RAMÍREZ DIF...
Artes/ObrasMaestras del siglo XVI - tiempos BY: CLAUDIA GINGLIONA RAMÍREZ DIF...CLAUDIA GINGLIONA RAMÍREZ DIFILIPPI
 
Primo de Rivera presentacion 2 bachillerato selectividad
Primo de Rivera  presentacion 2 bachillerato selectividadPrimo de Rivera  presentacion 2 bachillerato selectividad
Primo de Rivera presentacion 2 bachillerato selectividaddk7nvvt85n
 
Arquitectura renacentista - Adriánn Díaz 30.118.599.pptx
Arquitectura renacentista - Adriánn Díaz 30.118.599.pptxArquitectura renacentista - Adriánn Díaz 30.118.599.pptx
Arquitectura renacentista - Adriánn Díaz 30.118.599.pptxAdriannDiaz
 
Luz natural en Fotografía en exteriores1
Luz natural en Fotografía en exteriores1Luz natural en Fotografía en exteriores1
Luz natural en Fotografía en exteriores1photonikavzla
 
estamentos unjbg de la universidad de tacna
estamentos unjbg de la universidad de tacnaestamentos unjbg de la universidad de tacna
estamentos unjbg de la universidad de tacnaluischoquecota1
 

Último (20)

Elementos del Dibujo: La línea como elemento principal
Elementos del Dibujo: La línea como elemento principalElementos del Dibujo: La línea como elemento principal
Elementos del Dibujo: La línea como elemento principal
 
andrea arriojas afiche didactico, historia 4
andrea arriojas afiche didactico, historia 4andrea arriojas afiche didactico, historia 4
andrea arriojas afiche didactico, historia 4
 
HISTORIA DE LA FILOSOFÍA DE FRANCISCO SUAREZ
HISTORIA DE LA FILOSOFÍA DE FRANCISCO SUAREZHISTORIA DE LA FILOSOFÍA DE FRANCISCO SUAREZ
HISTORIA DE LA FILOSOFÍA DE FRANCISCO SUAREZ
 
Trabajo historia sobre el Renacimiento en la arquitectura
Trabajo historia sobre el Renacimiento en la arquitecturaTrabajo historia sobre el Renacimiento en la arquitectura
Trabajo historia sobre el Renacimiento en la arquitectura
 
apendicitisguzman-230811224257-9c1e33c0.pptx
apendicitisguzman-230811224257-9c1e33c0.pptxapendicitisguzman-230811224257-9c1e33c0.pptx
apendicitisguzman-230811224257-9c1e33c0.pptx
 
manual_primeros_auxilios.pdfbuigfuogyuighg
manual_primeros_auxilios.pdfbuigfuogyuighgmanual_primeros_auxilios.pdfbuigfuogyuighg
manual_primeros_auxilios.pdfbuigfuogyuighg
 
Signos-de-Puntuación-para-Cuarto-de-Secundaria.doc
Signos-de-Puntuación-para-Cuarto-de-Secundaria.docSignos-de-Puntuación-para-Cuarto-de-Secundaria.doc
Signos-de-Puntuación-para-Cuarto-de-Secundaria.doc
 
Biografía de Isaac Newton, sus parientes y sus inventos
Biografía de Isaac Newton, sus parientes y sus inventosBiografía de Isaac Newton, sus parientes y sus inventos
Biografía de Isaac Newton, sus parientes y sus inventos
 
Dibujos de cuento de "mago de oz" para colorear
Dibujos de cuento de "mago de oz" para colorearDibujos de cuento de "mago de oz" para colorear
Dibujos de cuento de "mago de oz" para colorear
 
EVOLUCION DE LA DANZA.pptxhuhfytffiuyfui
EVOLUCION DE LA DANZA.pptxhuhfytffiuyfuiEVOLUCION DE LA DANZA.pptxhuhfytffiuyfui
EVOLUCION DE LA DANZA.pptxhuhfytffiuyfui
 
Introducción a la teoría de Autómatas, Lenguajes y Computación..pdf
Introducción a la teoría de Autómatas, Lenguajes y Computación..pdfIntroducción a la teoría de Autómatas, Lenguajes y Computación..pdf
Introducción a la teoría de Autómatas, Lenguajes y Computación..pdf
 
E.VIDAL LA PINTURA COSTUMBRISTA ,Catalog Mobile Presentation.pdf
E.VIDAL LA PINTURA COSTUMBRISTA ,Catalog Mobile Presentation.pdfE.VIDAL LA PINTURA COSTUMBRISTA ,Catalog Mobile Presentation.pdf
E.VIDAL LA PINTURA COSTUMBRISTA ,Catalog Mobile Presentation.pdf
 
Antigua Grecia 1234567890 1234576890940.pdf
Antigua Grecia 1234567890 1234576890940.pdfAntigua Grecia 1234567890 1234576890940.pdf
Antigua Grecia 1234567890 1234576890940.pdf
 
la modernidad en la arquitectura afiche didactico
la modernidad en la arquitectura afiche didacticola modernidad en la arquitectura afiche didactico
la modernidad en la arquitectura afiche didactico
 
"Armonía, proporción y matemáticas en la arquitectura griega: una tradición g...
"Armonía, proporción y matemáticas en la arquitectura griega: una tradición g..."Armonía, proporción y matemáticas en la arquitectura griega: una tradición g...
"Armonía, proporción y matemáticas en la arquitectura griega: una tradición g...
 
Artes/ObrasMaestras del siglo XVI - tiempos BY: CLAUDIA GINGLIONA RAMÍREZ DIF...
Artes/ObrasMaestras del siglo XVI - tiempos BY: CLAUDIA GINGLIONA RAMÍREZ DIF...Artes/ObrasMaestras del siglo XVI - tiempos BY: CLAUDIA GINGLIONA RAMÍREZ DIF...
Artes/ObrasMaestras del siglo XVI - tiempos BY: CLAUDIA GINGLIONA RAMÍREZ DIF...
 
Primo de Rivera presentacion 2 bachillerato selectividad
Primo de Rivera  presentacion 2 bachillerato selectividadPrimo de Rivera  presentacion 2 bachillerato selectividad
Primo de Rivera presentacion 2 bachillerato selectividad
 
Arquitectura renacentista - Adriánn Díaz 30.118.599.pptx
Arquitectura renacentista - Adriánn Díaz 30.118.599.pptxArquitectura renacentista - Adriánn Díaz 30.118.599.pptx
Arquitectura renacentista - Adriánn Díaz 30.118.599.pptx
 
Luz natural en Fotografía en exteriores1
Luz natural en Fotografía en exteriores1Luz natural en Fotografía en exteriores1
Luz natural en Fotografía en exteriores1
 
estamentos unjbg de la universidad de tacna
estamentos unjbg de la universidad de tacnaestamentos unjbg de la universidad de tacna
estamentos unjbg de la universidad de tacna
 

01 introduccion

  • 1. 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.
  • 2. 1: Intro 2 Diseño digital: nuestro PC
  • 3. 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
  • 4. 1: Intro 4 Objetivos  Visto por capas Arquitectura abstracta Síntesis y optimización Bloques básicos Compuertas y flip-flops
  • 5. 1: Intro 5 Objetivos Resumen: 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.
  • 6. 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
  • 7. 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
  • 8. 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. 0101010101010101010101  ¿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.
  • 9. 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.
  • 10. 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.
  • 11. 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.
  • 12. 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. 
  • 13. 1: Intro 13 ¿Que es el diseño digital?  Esquemático.
  • 14. 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
  • 15. 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.
  • 16. 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.
  • 17. 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
  • 18. 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
  • 19. 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?
  • 20. 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
  • 21. 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
  • 22. 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.
  • 23. 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
  • 24. 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 A Z cerrar switch (si A es “1”) y prender la bombilla (Z) abrir switch (si A es “0”) y apagar la bombilla (Z)
  • 25. 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
  • 26. 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)
  • 27. 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
  • 28. 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
  • 29. 1: Intro 29 fácil de implementar con transistores CMOS (los interruptores mas disponibles) 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 A B Z Z A A B
  • 30. 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
  • 31. 1: Intro 31 Sistemas Combinacionales: ejemplo  Implementación en software integer 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); } }
  • 32. 1: Intro 32 Sistemas Combinacionales: ejemplo leapmonth d28d29d30d31 month leap d28 d29 d30 d31 0000 – – – – – 0001 – 0 0 0 1 0010 0 1 0 0 0 0010 1 0 1 0 0 0011 – 0 0 0 1 0100 – 0 0 1 0 0101 – 0 0 0 1 0110 – 0 0 1 0 0111 – 0 0 0 1 1000 – 0 0 0 1 1001 – 0 0 1 0 1010 – 0 0 0 1 1011 – 0 0 1 0 1100 – 0 0 0 1 1101 – – – – – 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
  • 33. 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 d31 0001 – 0 0 0 1 0010 0 1 0 0 0 0010 1 0 1 0 0 0011 – 0 0 0 1 0100 – 0 0 1 0 ... 1100 – 0 0 0 1 1101 – – – – – 111– – – – – – 0000 – – – – –
  • 34. 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')
  • 35. 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.
  • 36. 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.
  • 37. 1: Intro 37 Máquinas de Estados: ejemplo Implementación en software integer 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); }
  • 38. 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 clock state
  • 39. 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 closed C1=value & new S2 closed C2=value & new S3 C3=value & new OPEN open C1!=value & new closed ERR
  • 40. 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 controller mux control clock
  • 41. 1: Intro 41 Máquinas de Estados: ejemplo  Refinar máquina de estados finitos  Incluir datos internos de la estructura del HW closed closed mux=C1 reset equal & new not equal & new not equal & new not equal & new not newnot newnot new S1 S2 S3 OPEN ERR closed mux=C2 equal & new closed mux=C3 equal & new open
  • 42. 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/closed 1 – – – S1 C1 closed 0 0 – S1 S1 C1 closed 0 1 0 S1 ERR – closed 0 1 1 S1 S2 C2 closed 0 0 – S2 S2 C2 closed 0 1 0 S2 ERR – closed 0 1 1 S2 S3 C3 closed 0 0 – S3 S3 C3 closed 0 1 0 S3 ERR – closed 0 1 1 S3 OPEN – open 0 – – OPEN OPEN – open 0 – – ERR ERR – closed next closed closed mux=C1reset equal & new not equal & new not equal & new not equal & new not newnot newnot new S1 S2 S3 OPEN ERR closed mux=C2 equal & new closed mux=C3 equal & new open
  • 43. 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!)
  • 44. 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/closed 1 – – – 0001 001 0 0 0 – 0001 0001 001 0 0 1 0 0001 0000 – 0 0 1 1 0001 0010 010 0 0 0 – 0010 0010 010 0 0 1 0 0010 0000 – 0 0 1 1 0010 0100 100 0 0 0 – 0100 0100 100 0 0 1 0 0100 0000 – 0 0 1 1 0100 1000 – 1 0 – – 1000 1000 – 1 0 – – 0000 0000 – 0 next buena elección! mux es idéntico a los últimos 3 bits del estado open / closed es idéntico al primer bit del estado
  • 45. 1: Intro 45 Jerarquía de diseño sistema digital ruta de datos ruta de control registros de estado red combinacional (lógica) multiplexer comparator / ALU memorias / registros registros lógica / compuertas redes de compuertas (transistores)
  • 46. 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.