You are on page 1of 21

Organizacin del Computador I Verano

Introduccin a la lgica
digital
Basado en el Apndice B del libro de Patterson y Hennessy

Verano 2014 Profesora Borensztejn


Seales Digitales
Los transistores operan con dos niveles de voltajes: alto y
bajo
Puede haber otros niveles entre esos dos, pero son
transitorios ocurren cuando se pasa de un valor alto a
bajo (o viceversa)
Hay varias y distintas familias lgicas (TTL, CMOS) y
cada una define sus valores de voltajes, por ello, en lugar
de hablar de niveles de voltajes hablamos de seales.
Seales que son:
Verdaderas, o valen 1 o estn activas (asserted)
Falsas, o valen 0 o estn inactivas (deasserted)
Los valores 1 y 0 decimos que son inversos entre s
Seales. Verilog
En el diseo de sistemas digitales
(procesadores, etc) se utilizan
Lenguajes de Descripcin de
Hardware (HDL).
Se utilizan:
Para simular circuitos con una
descripcin abstracta del
hardware
Para sintetizar circuitos , es
decir para implementarlos en
hardware
Verilog es un HDL ampliamente
utilizado
El tipo bsico en Verilog son las
seales (wire). Estas pueden ser de
un bit o de varios bits.
Bloques Lgicos
Se dividen en dos grupos
Los que no utilizan memoria, llamados
Combinacionales:
Las salidas dependen nicamente de los valores presentes
en las entradas
Los que utilizan memoria, llamados Secuenciales:
Las salidas dependen de las entradas y tambien del valor
almacenado en su memoria.
En esta clase nos concentramos en los bloques
sin memoria: lgica combinacional
Tablas de Verdad

Dado que un bloque lgico combinacional


no tiene memoria, puede ser descrito
completamente definiendo el valor de las
salidas para cada uno de los posibles valores
de la entrada.
Por ej: si tenemos n entradas, tendremos 2n
combinaciones, o sea, 2n entradas de la
Tabla de Verdad
Tablas de Verdad
Tabla de Verdad para la funcin igualdad
b1 b0 a1 a0 eq

0 0 0 0 1
i1 i0 eq 0 0 0 1 0
0 0 1 0 0
0 0 1 0 0 1 1 0
0 1 0 0 0
0 1 0 0 1 0 1 1
0 1 1 0 0
0 1 1 1
1 0 0 1 0 0 0
0
0
1 0 0 1 0
1 1 1 1 0 1 0 1
1 0 1 1 0
1 1 0 0 0
1 1 0 1 0
1 1 1 0 0
1 1 1 1 1
Algebra de Boole
Las Tablas de Verdad crecen muy rpidamente al aumentar
el nmero de entradas.
Otra manera de describir las funciones lgicas es mediante
al algebra de Boole.
En el ao 1854, George Boole, matemtico ingls, escribi
un tratado sobre como usar tcnicas algebraicas aplicadas
a la lgica. Nadie supo que hacer con eso, hasta que cien
aos mas tarde, Claude Shannon, ingeniero electrnico y
matemtico americano, desempolv el libro de Boole y le
pareci adecuado para describir circuitos electrnicos.
Algebra de Boole
En el Algebra de Boole todas las variables
tienen los valores 0 o 1, y existen 3
operadores:
OR: se escribe con el smbolo + (suma lgica)
AND: se escribe con el smbolo * (producto
lgico)
NOT: se escribe con el smbolo A. Es la
inversin.
Algebra de Boole: Leyes y
Teoremas

Leyes de Morgan
De Tabla de Verdad a Expresin
Lgica
De Tabla de Verdad a expresin
lgica
Expresamos la funcin como SUMA de
PRODUCTOS:

Suma de trminos producto

Una funcin en forma de suma de productos (o


producto de sumas) puede ser minimizada. (Mapas de
Karnaugh, Simplificaciones algebraicas)
Las minimizaciones y simplificaciones son procesos
mecnicos que hoy realizan herramientas
automticamente
Puertas Lgicas

Los bloques lgicos se construyen con puertas


(gates) que implementan la funcin AND, OR y
NOT.
Las funciones AND y OR son conmutativas y
asociativas las puertas pueden tener mltiples
entradas
La funcin NOT siempre tiene una nica entrada.
Puertas Lgicas

Las puertas NOT se representan mediante


una burbujita

simplificada
Verilog: assign
i1 i0 eq
0 0 1
0 1 0
1 0 0
1 1 1
La sentencia assign
funciona como la lgica
combinacional: la salida es
continuamente asignada,
y un cambio en las
entradas produce un
cambio en la salida
Verilog. Descripcin de un
circuito combinacional
b1 b0 a1 a0 eq

0 0 0 0 1
0 0 0 1 0
0 0 1 0 0
0 0 1 1 0
0 1 0 0 0
0 1 0 1 1
0 1 1 0 0
0 1 1 1 0
1 0 0 0 0
1 0 0 1 0
1 0 1 0 1
1 0 1 1 0
1 1 0 0 0
1 1 0 1 0
1 1 1 0 0
1 1 1 1 1
Bloques Combinacionales:
Decodificador
Bloques Combinacionales:
Multiplexor
Multiplexor de dos entradas
Arrays de Bloques Lgicos

FIGURE B.3.6A multiplexor is arrayed 32 times to perform a selection between two 32-bit inputs. Note that
there is still only one data selection signal used for all 32 1-bit multiplexors.
Copyright 2014 Elsevier Inc. All rights reserved. 18
Verilog: construccin always@
Cuando la lgica combinacional es compleja, usar assign
es tediosoVerilog provee una construccin que permite
especificar estructuras de control : if then else, case
Verilog: MIPS ALU
Es lo que vamos a hacer poco a poco.
FIN
Lgica Digital

You might also like