• No se han encontrado resultados

ELO211: Sistemas Digitales. Tomás Arredondo Vidal 1er Semestre 2011

N/A
N/A
Protected

Academic year: 2022

Share "ELO211: Sistemas Digitales. Tomás Arredondo Vidal 1er Semestre 2011"

Copied!
55
0
0

Texto completo

(1)

1: Intro

ELO211: Sistemas Digitales Tomás Arredondo Vidal

1er Semestre – 2011

Este material está basado en:

textos y material de apoyo: Contemporary Logic Design 1st / 2nd edition. Gaetano Borriello and Randy Katz. Prentice Hall, 1994, 2005

material del curso ELO211 del Prof. Leopoldo Silva

material en el sitio http://es.wikipedia.org

(2)

1: Intro

1-Introducción

1.1 ¿Porque estudiar diseño digital?

1.2 ¿Que vamos a aprender en esta clase?

1.3 Un poco de historia

1.4 ¿Que es el diseño digital?

1.5 ¿Que es el hardware digital?

1.6 Sistemas combinacionales

1.7 Maquinas de estados

(3)

1: Intro

¿Porque estudiar diseño digital?

❒ Es la base para la implementación de todos los sistemas computacionales modernos

construcción de unidades mas 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 como

funciona una computadora

(4)

1: Intro

Diseño digital: nuestro PC

(5)

1: Intro

1-Introducción

1.1 ¿Porque estudiar diseño digital?

1.2 ¿Que vamos a aprender en esta clase?

1.3 Un poco de historia

1.4 ¿Que es el diseño digital?

1.5 ¿Que es el hardware digital?

1.6 Sistemas combinacionales

1.7 Maquinas de estados

(6)

1: Intro

¿Que vamos a aprender en esta clase?

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 maquinas secuenciales y paralelas

Especificar algoritmos, recursos de procesamiento y

almacenamiento

(7)

1: Intro

¿ Que vamos a aprender en esta clase?

❒ Visto por capas

Arquitectura abstracta Síntesis y optimización

Bloques básicos

Compuertas y flip-flops

(8)

1: Intro

¿Que vamos a aprender en esta clase?

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.

(9)

1: Intro

1-Introducción

1.1 ¿Porque estudiar diseño digital?

1.2 ¿Que vamos a aprender en esta clase?

1.3 Un poco de historia

1.4 ¿Que es el diseño digital?

1.5 ¿Que es el hardware digital?

1.6 Sistemas combinacionales

1.7 Maquinas de estados

(10)

1: Intro

1850: George Boole inventa el álgebra de Boole

convierte proposiciones lógicas a símbolos

permite la manipulación de la lógica proposicional

1937: Alan Turing diseña una modelo conceptual de una computadora llamada Turing Machine o Maquina de Turing. Esta manipula símbolos en una cinta de acuerdo a una tabla de reglas.

A pesar de su simpleza puede implementar cualquier algoritmo computacional.

1938: Claude Shannon aplica el álgebra de Boole al desarrollo de circuitos conmutados (switched circuits)

su tesis de Magíster.

Un poco de historia

(11)

1: Intro

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

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 II

(12)

1: Intro

1-Introducción

1.1 ¿Porque estudiar diseño digital?

1.2 ¿Que vamos a aprender en esta clase?

1.3 Un poco de historia

1.4 ¿Que es el diseño digital?

1.5 ¿Que es el hardware digital?

1.6 Sistemas combinacionales

1.7 Maquinas de estados

(13)

1: Intro

¿Que es el diseño digital?

¿Que 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.

0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1

¿Que 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

(14)

1: Intro

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

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

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

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

V

oh

V

ol

V

il

V

ih

(18)

1: Intro

Abstracción digital

❒ ¿ Porque es útil la digitalización?

Permite el desarrollo modular de systemas

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. V

IL

debe ser un poco mayor que V

OL

V

ol

V

il

V

il

V

ol

Volts

tiempo

(19)

1: Intro

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

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 2

N

casos que son igualmente probables E

k

(k = 1, 2, ...,

2

N

) entonces la información (en bits) proveída por

el hecho E

k

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

1-Introducción

1.1 ¿Porque estudiar diseño digital?

1.2 ¿Que vamos a aprender en esta clase?

1.3 Un poco de historia

1.4 ¿Que es el diseño digital?

1.5 ¿Que es el hardware digital?

1.6 Sistemas combinacionales

1.7 Maquinas de estados

(23)

1: Intro

¿Que 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 sistema outputs

Maquina 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.

(24)

1: Intro

¿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

(25)

1: Intro

¿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)

(26)

1: Intro

¿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

(27)

1: Intro

¿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)

(28)

1: Intro

Hardware digital: Relays

Una manera simple de conectar rutas e interruptores es usar relays electro-mecánicos

¿Que es un relay?

¿Que determina la velocidad de una red de relays?

al cerrase el circuito causa flujo de corriente

corriente fluye en la bobina causa flujo magnético que causa

que el contacto normalmente cerrado (nc) se abra

cuando no hay corriente un resorte en el contacto lo retorna a su posición normal

(29)

1: Intro

Hardware digital: CMOS

Los relays no se siguen utilizando mucho

algunos controladores de luz siguen siendo electromecánicos

Sistemas digitales modernos utilizan tecnología CMOS

MOS: Metal Oxide Semiconductor

C: Complementary porque usa interruptores normalmente abiertos (no) y normalmente cerrado (nc) en pares complementarios y simétricos

tienen tres terminales: drain, gate y souce

si el voltaje en el terminal gate es de cierto valor mayor/menor que source entonces se establece un conductor entre drain y source

n-channel

canal conduce si voltaje en G es mayor que el de S:

voltage(G) > voltage (S) + ε

p-channel

canal conduce si voltaje en G es menor que el de S:

voltage(G) < voltage (S) – ε G

S D

G

S D

(30)

1: Intro

Compuertas Lógicas CMOS

3v

X

Y

0 volts

x y

3 volts

0v

cual es la relación entre

x e y?

0 volts 3 volts

(31)

1: Intro

Compuertas Lógicas CMOS

cual es la relación entre

x, y y z?

x y z1 z2

0 volts 3 volts 0 volts 3 volts 0 volts

0 volts 3 volts 3 volts

3v

X Y

0v

Z

1

3v

X Y

0v

Z

2

3 volts 3 volts 3 volts 0 volts

3 volts 0 volts 0 volts 0 volts NAND NOR

(32)

1: Intro

Compuertas Lógicas CMOS

¿Que influencia la velocidad de una red CMOS?

carga y descarga de voltajes en cables y entradas de transistores

el nodo de output (Z) tiene capacitancia

interna que se carga o descarga dependiendo de los inputs (X o Y)

resistencias retardan el movimiento de electrones

resistencias principalmente de los transistores

¿Cual es un gran beneficio de CMOS?

Lógica CMOS utiliza menos potencia que NMOS dado que usa energía solo cuando cambiando de estado (conmutando o switching)

Diagrama físico de NAND

(33)

1: Intro

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

(34)

1: Intro

Hardware digital: valores lógicos

Tecnología Estado 0 Estado 1

Relay logic Circuito Abierto Circuito Cerrado

CMOS logic 0.0-1.0 volts 2.0-3.0 volts

Transistor transistor logic (TTL) 0.0-0.8 volts 2.0-5.0 volts

Fibra Optica Luz apagada Luz prendida

Dynamic RAM (DRAM) Condensador descargado Conden. cargado

Nonvolatile memory (erasable) Electrones atrapados Electrones no atrapados ROM Programable (PROM) Contacto eliminado Contacto intacto

Memoria Bubble Sin burbuja magnética Burbuja presente Disco Magnético Flujo no reverso Flujo reverso Compact disc Sin indentación (pit) Con indentación

(35)

1: Intro

1-Introducción

1.1 ¿Porque estudiar diseño digital?

1.2 ¿Que vamos a aprender en esta clase?

1.3 Un poco de historia

1.4 ¿Que es el diseño digital?

1.5 ¿Que es el hardware digital?

1.6 Sistemas combinacionales

1.7 Maquinas de estados

(36)

1: Intro

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 de verdad (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

(37)

1: Intro

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

(38)

1: Intro

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

(39)

1: Intro

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);

} }

(40)

1: Intro

Sistemas Combinacionales: ejemplo

month leap

d28 d29 d30 d31

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:

cuantos bits para cada input/output?

numero binario para el mes

cuatro alambres para 28 - 31

Comportamiento:

combinacional

especificado en la tabla

(41)

1: Intro

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

(42)

1: Intro

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')

(43)

1: Intro

1-Introducción

1.1 ¿Porque estudiar diseño digital?

1.2 ¿Que vamos a aprender en esta clase?

1.3 Un poco de historia

1.4 ¿Que es el diseño digital?

1.5 ¿Que es el hardware digital?

1.6 Sistemas combinacionales

1.7 Maquinas de estados

(44)

1: Intro

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 maquina haya

procesado las entradas previas y este estable.

(45)

1: Intro

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

(46)

1: Intro

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);

}

(47)

1: Intro 47

Máquinas de Estados: ejemplo

Codificación:

¿cuantos bits por valor de input?

¿cuantos valores en la secuencia?

¿como sabemos que hay un valor nuevo de input?

¿como 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

reset value

open/closed new

clock state

(48)

1: Intro

Máquinas de Estados: ejemplo

Diagrama de estados:

5 estados

• representan situaciones en la ejecución de la maquina

• 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 new not new

not new closed

S1

closed C1=value

& new

S2

closed C2=value

& new

S3

C3=value

& new

OPEN open

C1!=value

& new

closed ERR

(49)

1: Intro

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

(50)

1: Intro

Máquinas de Estados: ejemplo

Refinar maquina de estados finitos (MEF o FSM)

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 new not new

not new

S1 S2 S3 OPEN

ERR

closed

mux=C2 equal

& new

closed

mux=C3 equal

& new

open

(51)

1: Intro 51

Máquinas de Estados: ejemplo

¿Maquina 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

next

closed

closed mux=C1 reset

equal

& new

not equal

& new not equal

& new not equal

& new

not new not new

not new

S1 S2 S3 OPEN

ERR

closed

mux=C2 equal

& new

closed

mux=C3 equal

& new

open

(52)

1: Intro

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!)

(53)

1: Intro

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

(54)

1: Intro

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)

(55)

1: Intro 55

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

En el diseño vale la pena recordar el principio KISS (Keep It Simple and Stupid)

Es muy importante usar una buena metodología de trabajo y saber trabajar en equipo

Para muchos trabajos es muy importante el poder

comunicarse con ingenieros en otros países (e.g. Ingles)

Hay que poder comunicarse de manera efectiva, honesta y

transparente (e.g. saber compartir la informacion!)

Referencias

Documento similar

Los criterios para esta selección no están solo relacionados directamente con las teorías en las que se basan las arquitecturas o restricciones para su

5 Dentro de los proyectos relacionados a la Agricultura sostenida por la comunidad, se mencionan: acuerdos a largo plazo entre la producción y consumo, cestas de temporada como

Volviendo a la jurisprudencia del Tribunal de Justicia, conviene recor- dar que, con el tiempo, este órgano se vio en la necesidad de determinar si los actos de los Estados

Según los datos suministrados por los sistemas de responsabilidad ampliada del productor, los aceites minerales usados recogidos en Castilla-La Mancha fueron

Razón por la cual para reducir la incertidumbre, se tomo como instante inicial de la simulación el tiempo 15360 segundos, tiempo en el cual el desarrollo del penacho es

La campaña ha consistido en la revisión del etiquetado e instrucciones de uso de todos los ter- mómetros digitales comunicados, así como de la documentación técnica adicional de

Coadyuvar al desarrollo integral y sostenible de la sociedad mediante la formación de profesionales con capacidad para demostrar sus habilidades, actitudes y

Gastos derivados de la recaudación de los derechos económicos de la entidad local o de sus organis- mos autónomos cuando aquélla se efectúe por otras enti- dades locales o