ESCUELA POLITÉCNICA NACIONAL SISTEMAS DIGITALES

ÌNDICE GENERAL
OTROS TIPOS DE LÒGICA

DEFINICIONES: ________________________________________________________________ - 1 -
ASIC ________________________________________________________________________ - 1 -
VHDL _______________________________________________________________________ - 4 -
AHDL _______________________________________________________________________ - 7 -
VERILOG ____________________________________________________________________ - 7 -
CPLD__________________________________________________________________________- 9 -

FPGA_________________________________________________________________________ - 10 -

INTRODUCCIÓN ________________________________________________________________ - 8 -
Historia de la logica binaria ______________________________________________________ - 10 -
LÓGICA BINARIA ______________________________________________________________ - 14 -
Operaciones lógicas ____________________________________________________________ - 15 -
Universalidad de la compuerta NOR _______________________________________________ - 20 -
Circuitos logicos integrados ______________________________________________________ - 27 -
Familias lógicas _______________________________________________________________ - 37 -
Funciones y tablas de verdad _____________________________________________________ - 47 -
Aplicaciones: _________________________________________________________________ - 61 -
LÓGICA TERNARIA ____________________________________________________________ - 80 -
Los operadores ternarios ________________________________________________________ - 82 -
Circuitos lógicos ternarios cmos___________________________________________________ - 89 -
Aplicaciones: _________________________________________________________________ - 93 -
LÓGICA DIFUSA _______________________________________________________________ - 97 -
¿Que es la logica difusa? ________________________________________________________ - 98 -
Las etiquetas lingüísticas y operadores: ____________________________________________ - 112 -
Operaciones entre conjuntos difusos ______________________________________________ - 115 -
Operadores composicionales ____________________________________________________ - 132 -
Aplicaciones _________________________________________________________________ - 142 -
SISTEMAS DE NUMERACIÒN
Definición___________________________________________________________________ - 158 -
CONVERSIÓN DE BASES ______________________________________________________ - 162 -
Códigos binarios sin peso _______________________________________________________ - 171 -
Ejercicios sobre cambios de sistemas. _____________________________________________ - 171 -
ARITMETICA BINARIA _______________________________________________________ - 183 -
Operaciones elementales con números binarios ______________________________________ - 185 -
REPRESENTACION DE VALORES EN COMPLEMENTO ____________________________ - 194 -
Suma y resta en complemento A-1 ________________________________________________ - 197 -
Suma y resta en complemento A-2 ________________________________________________ - 200 -
Sumadores y restadores de n bits _________________________________________________ - 213 -
OTROS CODIGOS BINARIOS __________________________________________________ - 219 -
Codigo binario bcd ____________________________________________________________ - 219 -

Sergio E. Ávila P. -0-

ESCUELA POLITÉCNICA NACIONAL SISTEMAS DIGITALES

Codigo binario gray ___________________________________________________________ - 225 -
Codigo binario offset __________________________________________________________ - 230 -
CODIGOS ALFANUMERICOS __________________________________________________ - 244 -
Codigo ebcdic________________________________________________________________ - 246 -
El codigo baudot/murray _______________________________________________________ - 249 -
Codigo ascci _________________________________________________________________ - 250 -
Los caracteres de control ASCII __________________________________________________ - 259 -
MÉTODO DE SIMPLIFICACIÓN TABULAR QUINE MCCLUSEY _____________________ - 268 -
Implicación__________________________________________________________________ - 270 -
Seleccion de implicantes primos. _________________________________________________ - 274 -
Método de Quine-Mccluskey ____________________________________________________ - 278 -
BIBLIOGRAFÍA

Sergio E. Ávila P. -1-

ESCUELA POLITÉCNICA NACIONAL SISTEMAS DIGITALES

OTROS TIPOS DE LOGICA

DEFINICIONES:

ASIC
Un Circuito Integrado para Aplicaciones Específicas (o ASIC, por sus siglas en inglés) es un circuito
integrado hecho a la medida para un uso en particular, en vez de ser concebido para propósitos de uso general.
Se usan para una función especifica. Por ejemplo, un chip diseñado únicamente para ser usado en un teléfono
móvil es un ASIC. Por otro lado, los circuitos integrados de la serie 7400 son circuitos lógicos
(combinacionales o secuenciales) que se pueden utilizar para una multiplicidad de aplicaciones. En un lugar
intermedio entre los ASIC y los productos de propósito general están los Productos Estándar para
Aplicaciones Específicas, o ASSP por sus siglas en inglés.
Con los avances en la miniaturización y en las herramientas de diseño, la complejidad máxima, y por ende la
funcionalidad, en un ASIC ha crecido desde 5.000 puertas lógicas a más de 100 millones. Los ASIC modernos
a menudo incluyen procesadores de 32-bit, bloques dememoria RAM, ROM, EEPROM y Flash, así como
otros tipos de módulos. Este tipo de ASIC frecuentemente es llamado Sistema en un Chip, o SoC, por sus
siglas en inglés. Los diseñadores de ASIC digitales usan lenguajes descriptores de hardware (HDL), tales
como Verilog o VHDL, para describir la funcionalidad de estos dispositivos.
Las FPGA (Field Programmable Gate Arrays, matriz de puertas programables) son la versión moderna de los
prototipos con puertas lógicas de la serie 7400. Contienen bloques de lógica programable e interconexiones
programables que permiten a un modelo de FPGA ser usada en muchas aplicaciones distintas. Para los diseños
más pequeños o con volúmenes de producción más bajos, las FPGAs pueden tener un costo menor que un
diseño equivalente basado en ASIC, debido a que el costo fijo (el costo para preparar una línea de producción
para que fabrique un ASIC en particular), es muy alto, especialmente en las tecnologías más densas, más de
un millón de dólares para una tecnología de 90nm o menor.
Historia

Los primeros ASIC utilizaban tecnología de matriz de puertas. Ferranti fabricó tal vez la primera matriz de
puertas, la ULA (Uncommitted Logic Array o Matriz lógica no fija), alrededor de 1980. El diseño a la medida
se realizaba al variar la máscara de interconexión metálica. Las ULAs tenían complejidades de hasta algunos
miles de puertas. Las versiones posteriores fueron más generalizadas, con moldes base configurados tanto por
las capas metálicas como polisiliconicas. Algunos moldes base incluían elementos de RAM.

Diseño basado en celdas estándares (standard cell)

A mediados de 1980, un diseñador elegía a un fabricante de ASIC, y luego implementaba el diseño utilizando
las herramientas provistas por ese fabricante en particular. A pesar de que existían herramientas de diseño
provista por terceros, no había un enlace efectivo entre éstas y los procesos productivos de los fabricantes.
Una solución a este problema, que además permitió aumentar la densidad de los ASIC, fue la implementación
de Celdas Estándares. Cada fabricante de ASIC creaba bloques funcionales con características eléctricas
conocidas, tales como los tiempos de propagación, capacitancias e inductancias, que podían ser representadas
en las herramientas desarrolladas por terceros. El diseño basado en Celdas Estándares es el uso de estos
bloques funcionales para alcanzar densidades de puertas muy altas, y un buen desempeño eléctrico. Este tipo
de diseño se ubica entre diseño de Matriz de Puertas, y el diseño hecho totalmente a la medida, en término de
los costos fijos y de fabricación de cada unidad.
Hacia finales de 1980, estuvieron disponibles las herramientas de síntesis lógica, tales como el Design
Compiler. Estas herramientas podían compilar descripciones HDL en una lista de nodos al nivel de puertas.
Esto dio paso a un estilo de diseño llamado Diseño basado en Celdas Estándares. Este tipo de diseño
contempla las siguientes etapas conceptuales, aunque en la práctica estas etapas se traslapan
significativamente.
Estos pasos, llevados a cabo con el nivel de habilidad común en la industria, casi siempre producen un
dispositivo final que implementa correctamente el diseño original, a menos que se introduzcan fallas al nivel
físico de fabricación.

1. Un equipo de ingenieros de diseño comienza con la compresión no formal de las funciones requeridas
por el ASIC a diseñar, usualmente derivada del análisis de requerimientos.

Sergio E. Ávila P. -1-

ESCUELA POLITÉCNICA NACIONAL SISTEMAS DIGITALES

2. El equipo de diseño construye una descripción del ASIC para alcanzar estos objetivos, utilizando un
HDL. Este proceso es similar a escribir un programa computacional en un lenguaje de alto nivel. Este
usualmente es llamado el diseño RTL (Register Transfer Level).
3. La validez del diseño es verificada a través de una simulación. Un sistema virtual, implementado a
nivel de software puede simular el desempeño de los ASIC a velocidades equivalentes de mil
millones de instrucciones por segundo.
4. Una herramienta de síntesis lógica convierte el diseño RTL en un gran conjunto de elementos de bajo
nivel, llamados Celdas Estándares. Estos elementos son tomados desde una biblioteca, que consiste
en una colección de puertas precaracterizadas (tales como NOR de 2 entradas, NAND de 2 entradas,
inversores, etc.). Las celdas estándares usualmente son específicas para el fabricante del ASIC. El
conjunto resultante de Celdas Estándares, junto a la interconexión de ellas, es llamado la lista de
nodos a nivel de puertas.
5. La lista de nodos es luego procesada por una herramienta de posicionamiento, la cual ubica las Celdad
Estándares en una región que representa el ASIC final. Esta ubicación está sujeta a un conjunto de
restricciones. En ocasiones se utilizan técnicas avanzadas para optimizar el posicionamiento.
6. La herramienta de ruteo toma la ubicación física de las celdas, y utiliza el listado de nodos para crear
las conexiones eléctricas entre ellas. La salida de esta etapa es un conjunto de fotomáscaras, con las
que el fabricante producirá los circuitos integrados.
7. Se puede hacer una estimación bastante precisa de los retardos finales, las resistencias y capacitancias
parásitas y del consumo de energía. Estas estimaciones son usadas en la ronda final de pruebas. Estas
pruebas demostrarán que el dispositivo funcionará en los rangos de temperatura y voltaje extremos.
Cuando estas pruebas finalizan, la información de las fotomáscaras en entregada para lafabricación
del chip.
Estos pasos de diseño son también comunes al diseño de un producto estándar. La diferencia significativa es
que el diseño con Celdas Estándares utiliza la biblioteca de celdas del fabricante, que ha sido utilizada en
potencialmente cientos de otros diseños, y por lo tanto constituyen un riesgo mucho menor que un diseño
hecho totalmente a la medida. Las Celdas Estándares producen una densidad de diseño con un costo
comparativamente más bajo, y pueden también integrar núcleos IP y SRAM en una forma efectiva, a
diferencia de las matrices de puertas.
Diseño basado en matriz de puertas

El diseño basado en Matriz de Puertas es un método de manufactura en donde las capas difundidas, es decir,
los transistores y otros elementos activos están predefinidos, y las obleas que contienen estos dispositivos se
mantienen en stock antes de la metalización, es decir, desconectadas. El proceso de diseño físico luego define
la interconexión del dispositivo final. Para la mayoría de de los fabricantes de ASIC, esto consiste de dos a
cinco capas metálicas, cada una perpendicular a la que la precede. Los costos fijos son mucho más bajos, ya
que las máscaras litográficas se requieren sólo para las capas metálicas, y los ciclos productivos son mucho
más cortos, ya que la metalización es un proceso comparativamente más rápido. También es importante para
el diseñador que con este método se pueden conseguir retardos de propagación mínimos, comparado con las
soluciones basadas en FPGAs disponibles en el mercado.
Los ASIC basados en MAtriz de puertas requieren siempre de un compromiso, ya que al determinar la
correspondencia de un diseño determinado con las obleas que el fabricante tiene es stock, nunca da una
utilización del 100%. A menudo las dificultades que aparecen al rutear las interconexiones, requieren migrar a
un dispositivo con un arreglo más grande, con el consecuente aumento en el costo del dispositivo. Estos
problemas frecuentemente son resultado del software utilizado para desarrollar las interconexiones.
En la actualidad, los diseños formados solamente por puertas lógicas raramente son implementados con
Matriz de puertas, y son reemplazados por dispositivos programables, como las FPGA, las cuales pueden ser
programadas por el usuario, y el costo fijo asociado es mínimo, un costo por unidad marginalmente superior, y
desempeño comparable. Hoy, las Matrices de puertas están evolucionando en ASIC estructurados, que
consisten en un gran núcleo IP (Intellectual Property), como un procesador, una unidad DSP, periféricos,
memorias y bloques lógicos reconfigurables. Este cambio se debe principalmente a que los ASIC son capaces
de integrar estos grandes bloques de sistemas funcionales, y los "sistemas en un chip" (SoC) requieren más
que sólo bloques lógicos.
El término "Matriz de puertas" (Gate Array) es casi sinónimo del término "Semi a la medida" (Semi-Custom).
El término utilizado depende de quién lo utilice; si se es un ingeniero de proceso, probablemente se utilice el
término "Semi a la medida", mientras que si se es un diseñador a nivel lógico, se utiliza "Matriz de puertas"
(Gate Array).
Diseño hecho totalmente a la medida
Sergio E. Ávila P. -2-

ESCUELA POLITÉCNICA NACIONAL SISTEMAS DIGITALES

Por otro lado, el diseño hecho totalmente a la medida define la totalidad de las capas litográficas del
dispositivo. Este se utiliza tanto para el diseño de ASIC como para el diseño de productos estándares.
Los beneficios de este método usualmente incluye un área reducida (y consecuentemente costos por unidad
menores), mejoras en el desempeño y también la habilidad de integrar componentes analógicos y otros
componentes pre-diseñados, como son los microprocesadoresque forman un SoC.
Las desventajas del diseño totalmente a la medida son un costo y tiempo de desarrollo mayores, costos fijos
mayores, mayor complejidad del software CAD y la necesidad de habilidades mucho mayores por parte del
equipo de diseño.
Sin embargo, para diseños puramente digitales, las librerías de "celdas estándares", junto con los sistemas
CAD modernos, pueden ofrecer ventajas considerables en términos de costos y desempeño junto a un bajo
riesgo. Las herramientas de layout automático son rápidas y fáciles de usar, y ofrecen la posibilidad de
optimizar manualmente cualquier aspecto que limite el desempeño del diseño.
Diseño Estructurado

El diseño estructurado de ASIC es una expresión ambigua, con diferentes significados dependiendo del
contexto. Éste es un término relativamente nuevo en la industria, lo que explica que haya variaciones en su
definición. Sin embargo, la premisa básica es que tanto el ciclo de manufactura como el ciclo de diseño se
reducen comparado con los ASIC basados en celdas, gracias a la existencia de capas metálicas predefinidas
(que reducen el tiempo de fabricación), y una pre-caracterización de lo que está en el silicio (lo que reduce el
tiempo de diseño).
Una definición establece que en un diseño ASIC estructurado, las máscaras de las capas lógicas están
predefinidas por el vendedor del ASIC (en algunos caso por un tercero). El diseño se realiza al crear capas de
metal hechas a la medida, que crean conexiones entre los elementos predefinidos de las capas inferiores. La
tecnología de "ASIC estructurados" es vista como el puente que une la barrera entre las FPGA y los diseños
ASIC de celdas estándares. Debido a que sólo un número pequeño de las capas del chip deben ser producidas
a la medida, los "ASIC estructurados" tienen costos fijos menores que los chip basados en celdas estándares o
hechos totalmente a la medida, los que requieren producir un conjunto completo de máscaras para cada
diseño. Esto corresponde, en efecto, a la misma definición de una Matriz de Puertas.
Lo que hace a los ASIC estructurados diferente de las matrices de puertas es que en estas últimas, las capas
metálicas predefinidas sirven para acelerar el proceso de fabricación. En los ASIC estructurados, la
metalización predefinida sirve principalmente para reducir el costo del conjunto de máscaras, y también se
utiliza para reducir el ciclo de desarrollo. Por ejemplo, en un diseño basado en celdas o en matriz de puertas,
el usuario a menudo debe diseñar la alimentación, el reloj y las estructuras de prueba; éstas están predefinidas
en la mayoría de los ASIC estructurados, lo que se traduce en un ahorro de tiempo y costos. Asimismo, las
herramientas utilizadas para los ASIC estructurados pueden reducir sustancialmente y facilitar el diseño, ya
que la herramienta no tienen que realizar todas las funciones necesarias para los ASIC basados en celdas. En
algunos casos, los vendedores de ASIC estructurados requieren de herramientas hechas a la medida para usar
sus dispositivos, lo que también permite acelerar la manufactura.
Otro aspecto importante sobre los ASIC estructurados es que permiten el uso de IP que son comunes a ciertas
aplicaciones, o segmentos de la industria, en vez de ser diseñados. Al construir la IP directamente en la
arquitectura, el diseñador puede nuevamente ahorrar tanto tiempo como dinero, comparado con el diseño de
IP en ASIC basadas es celdas. El mejor consejo es leer cuidadosamente como el vendedor define un ASIC
estructurado en particular, ya que existen diferencias significativas entre las ofertas de los distintos
vendedores.
Fabricantes de ASIC (fundiciones)

 Chartered
 IBM
 LSI Logic
 Microchip Technology
 SMIC
 Texas Instruments
 TSMC
 UMC
 Agere Systems

Sergio E. Ávila P. -3-

ESCUELA POLITÉCNICA NACIONAL SISTEMAS DIGITALES

VHDL
VHDL es el acrónimo que representa la combinación de VHSIC y HDL, donde VHSIC es el acrónimo
de Very High Speed Integrated Circuit yHDL es a su vez el acrónimo de Hardware Description Language.
Es un lenguaje definido por el IEEE (Institute of Electrical and Electronics Engineers) (ANSI/IEEE 1076-
1993) usado por ingenieros para describir circuitos digitales. Otros métodos para diseñar circuitos son la
captura de esquemas (con herramientas CAD) y los diagramas de bloques, pero éstos no son prácticos en
diseños complejos. Otros lenguajes para el mismo propósito son Verilog y ABEL.
Aunque puede ser usado de forma general para describir cualquier circuito se usa principalmente para
programar PLD (Programable Logic Device - Dispositivo Lógico Programable), FPGA (Field Programmable
Gate Array), ASIC y similares.
Formas de describir un circuito

Dentro del VHDL hay varias formas con las que podemos diseñar el mismo circuito y es tarea del diseñador
elegir la más apropiada.

 Funcional: Describimos la forma en que se comporta el circuito. Esta es la forma que más se parece a
los lenguajes de software ya que la descripción es secuencial. Estas sentencias secuenciales se encuentran
dentro de los llamados procesos en VHDL. Los procesos son ejecutados en paralelo entre sí, y en paralelo
con asignaciones concurrentes de señales y con las instancias a otros componentes.
 Flujo de datos: describe asignaciones concurrentes (en paralelo) de señales.

 Estructural: se describe el circuito con instancias de componentes. Estas instancias forman un diseño
de jerarquía superior, al conectar los puertos de estas instancias con las señales internas del circuito, o con
puertos del circuito de jerarquía superior.
 Mixta: combinación de todas o algunas de las anteriores.
En VHDL también existen formas metódicas para el diseño de máquinas de estados, filtros digitales, bancos
de pruebas etc.
Secuencia de diseño

El flujo de diseño de un sistema podría ser:

 División del diseño principal en módulos separados. La modularidad es uno de los conceptos
principales de todo diseño. Normalmente se diferencia entre dos metodologías de diseño: top-down y
botton-up. La metodología top-down consiste en que un diseño complejo se divide en diseños más
sencillos que se puedan diseñar (o describir) más fácilmente. La metodología botton-up consiste en
construir un diseño complejo a partir de módulos, ya diseñados, más simples. En la práctica, un diseño
usa generalmente ambas metodologías.
 Entrada de diseños, pueden usarse diversos métodos tal como VHDL como se vió anteriormente.
 Simulación funcional, es decir, comprobaremos que lo escrito en el punto anterior realmente funciona
como queremos, si no lo hace tendremos que modificarlo. En este tipo de simulación se comprueba que el
código VHDL o Verilog (u otro tipo de lenguaje HDL) ejecuta correctamente lo que se pretende.
 Síntesis. En este paso se adapta el diseño anterior (que sabemos que funciona) a un hardware en
concreto, ya sea una FPGA o un ASIC. Hay sentencias del lenguaje que no son sintetizables, como por
ejemplo divisiones o exponenciaciones con números no constantes. El hecho de que no todas las
expresiones en VHDL sean sintetizables es que el VHDL es un lenguaje genérico para modelado de
sistemas (no sólo para diseño de circuitos digitales), por lo que hay expresiones que no pueden ser
transformadas a circuitos digitales. Durante la síntesis se tiene en cuenta la estructura interna del
dispositivo, y se definen restricciones, como la asignación de pines. El sintetizador optimiza las
expresiones lógicas con objeto de que ocupen menor área, o bien son eliminadas las expresiones lógicas
que no son usadas por el circuito.
 Simulación post-síntesis. En este tipo de simulación se comprueba que el sintetizador ha realizado
correctamente la síntesis del circuito, al transformar el código HDL en bloques lógicos conectados entre
sí. Este paso es necesario ya que, a veces, los sintetizadores producen resultados de síntesis incorrectos, o
bien realiza simplificaciones del circuito al optimizarlo.
 Ubicación y enrutamiento. El proceso de ubicación consiste en situar los bloques digitales obtenidos
en la síntesis de forma óptima, de forma que aquellos bloques que se encuentran muy interconectados
entre sí se sitúen próximamente. El proceso de enrutamiento consiste en interconectar adecuadamente los

Sergio E. Ávila P. -4-

con objeto de poder realizar una simulación temporal (también llamada simulación post-layout). Estructura de programa VHDL fue diseñado en base a los principios de la programación estructurada. El primero es la síntesis que convierte la descripción en VHDL en un conjunto de componentes que pueden ser realizados en la tecnología seleccionada. -5- . una de las causas puede ser por los retardos internos del chip. Procedimiento de diseño El primer paso del diseño consiste en la construcción del diagrama en bloque del sistema. En proyectos complejos se hace necesario invertir un gran tiempo en generar pruebas que permitan evaluar el circuito en un amplio rango de operaciones de trabajo. En la siguiente figura se ilustra el concepto anterior. para sus interfaces y sus detalles internos. como el máximo número de niveles lógicos o la capacidad de salida que se requiere. La idea es definir la interfaz de un modulo de hardware mientras deja invisible sus detalles internos.  Anotación final. Una vez ha sido completado el proceso de ubicación y enrutamiento. La entidad (ENTITY) en VHDL es simplemente la declaración de las entradas y salidas de un modulo mientras que la arquitectura (ARCHITECTURE) es la descripción detallada de la estructura interna del modulo o de su comportamiento. aunque el entorno de los programas de VHDL incluye su propio editor de texto. se puede utilizar cualquier editor para esta tarea. El diseñador puede ayudar a la herramienta de síntesis especificando requerimientos a la tecnología empleada. intentando minimizar retardos de propagación para maximizar la frecuencia máxima de funcionamiento del dispositivo. Para el caso de ASIC se dibujarían las compuertas y se definiría como conectarlas. El VHDL da la posibilidad de crear bancos de prueba que automáticamente aplica entradas y compara las salidas con las respuestas deseadas. es decir es más que comparar entradas y salidas. Estos retardos son anotados en un fichero SDF (Standard Delay Format) que asocia a cada bloque o interconexión un retardo mínimo/típico/máximo. en donde se incluye las demoras de las compuertas y otras consideraciones de tiempo como los tiempos de establecimiento (set-up time) y los tiempos de mantenimiento (hold time). Mientras que la entidad A utiliza a todas las demás. El propósito de la simulación es verificar que el circuito trabaja como se desea. En ASIC genera una lista de compuertas y un netlist que especifica como estas compuertas son interconectadas. Ávila P. El segundo paso es la elaboración del código en VHDL para cada modulo. Para PLD esto significa que acopla las ecuaciones obtenidas con los elementos AND – OR que dispone el circuito. Se implementa el diseño en el dispositivo final y se comprueba el resultado. Encontrar errores en este paso del diseño es mejor que al final. En la figura las entidades B. Sergio E. Como el VHDL es un lenguaje basado en texto. El compilador de VHDL analiza este código y determina los errores de sintaxis y chequea la compatibilidad entre módulos. En él último paso se realiza la verificación temporal ya que a esta altura es que se pueden calcular los elementos parásitos como las capacidades de las conexiones. la arquitectura de la entidad de más nivel (top level) puede usar otras entidades dejando invisible los detalles de la arquitectura de la identidad de menos nivel.  Simulación temporal. Esto forma la base de un sistema de diseño jerárquico. Crea toda la información necesaria para la simulación. Después que se ha escrito algún código se hace necesario compilarlo.  Su verificación en el tiempo. Con esta simulación se puede comprobar. El próximo paso es la simulación. En el siguiente paso de ajuste (fiting) los componentes se ajustan a la capacidad del dispositivo que se utiliza. Muchos diseñadores conciben la Entity como una funda de la arquitectura dejando invisible los detalles de lo que hay dentro (architecture). En diseños complejos como en software los programas son generalmente jerárquicos y VHDL ofrece un buen marco de trabajo para definir los módulos que integran el sistema y sus interfaces. Hay dos dimensiones a verificar:  Su comportamiento funcional en donde se estudia su comportamiento lógico independiente de consideraciones de tiempo como las demoras en las compuertas. E y F no utilizan a otras entidades. Como en cualquier otro proceso creativo puede ser que ocasionalmente se avance dos pasos hacia delante y uno hacia atrás (o peor).  Programación en el dispositivo. A la pareja entidad - arquitectura se le llama modelo. dejando los detalles para pasos posteriores. La simulación es un paso dentro del proceso de verificación. se extraen los retardos de los bloques y sus interconexiones. En un fichero texto VHDL la entidad y la arquitectura se escriben separadas. Por ejemplo con PLD se generan las ecuaciones en suma de productos. y si hay errores se tiene que volver a uno de los anteriores pasos. A pesar de la simulación anterior puede que el diseño no funcione cuando se programa. en donde hay que repetir entonces una gran cantidad de pasos del diseño.ESCUELA POLITÉCNICA NACIONAL SISTEMAS DIGITALES bloques entre sí. el cual le permite establecer los estímulos a cada modulo y observar su respuesta.

Nombre de señal: modo tipo de señal ) .  MODO es una de las 4 siguientes palabras reservadas para indicar la dirección de la señal: Modo Descripción IN En este modo las señales solo entran en la entidad OUT Las señales salen de la entidad Este modo se utiliza para las señales que además de salir de la entidad pueden usarse como entradas BUFFER realimentadas Este modo se utiliza para señales bidireccionales. donde los primeros 128 son los caracteres Character ASCII. hay varios tipos de señales predefinidas por el lenguaje. IS. "Z" (para el 3er Std_logic estado). es una lista de uno o más identificadores separados por una coma y seleccionados por el usuario para identificar las señales externas de la interfaz. -6- . una ENTITY tiene los siguientes elementos. Los 1 y los 0 se escriben sin “ Bit_Vector En este tipo los valores de las señales son una cadena de unos y ceros. "-" (para los opcionales). Se emplea en salida con tres estados.  Nombre de señal. Los comentarios se escriben con 2 guiones (--) y termina al final de la línea.. Integer En este tipo las señales toman valores enteros. Tipo de señal. es un identificador seleccionado por el usuario para seleccionar la entidad. END nombre_entidad . Ejemplo: “1000” En este tipo los valores de las señales son una cadena de los nueve valores permisibles Std_Logic_Vector para el tipo std_logic. "0". En la figura siguiente se muestra la estructura de un modelo en VHDL. Sergio E. Además de las palabras reservadas o claves ENTITY. Contiene todos los caracteres ISO de 8 bits. Además de darle nombre a la entidad el propósito de la declaración es definir sus señales (o ports) de interfaz externa en su declaración de ports.  Nombre_entidad. Se puede INOUT asignar como sustituto de los tres modos anteriores. el ejemplo que sigue las utilizaremos en mayúsculas y negritas para identificarlas. Como en otros programas VHDL ignora los espacios y saltos de líneas. Ávila P. pero no se aconseja pues dificulta la comprensión del programa. ENTITY Nombre_entidad IS PORT ( Nombre de señal: modo tipo de señal. Aunque las palabras reservadas no son sensibles a las mayúsculas o minúsculas. entre ellos tenemos: "1". PORT and END. tales como: TIPO Características BIT En este tipo las señales solo toman los valores de "1" y "0" Booleana En este tipo las señales solo toman los valores de True y False En este tipo las señales toman 9 valores.ESCUELA POLITÉCNICA NACIONAL SISTEMAS DIGITALES por ejemplo a continuación se muestra un programa muy simple en VHDL de una compuerta de 2 entradas.. . en VHDL. SINTAXIS PARA LA DECLARACION DE LA ENTIDAD VHDL define muchos caracteres especiales llamados “palabras reservadas”.

algunas veces llamado Verilog HDL. Un diseño en Verilog consiste de una jerarquía de módulos. Por otro lado la definición de constantes en Verilog requiere la longitud de bits con su base. A diferencia del lenguaje C. muy importante en un HDL. El lenguaje. apuntadores o funciones recursivas. y la mayoría de palabras reservadas de control como "if". digitales y deseñal mixta a diferentes niveles de abstracción. Sergio E. y funciones definidas por el usuario % VARIABLE TIMER[7. este lenguaje tiene una sintaxis parecida al lenguaje de programación C y una funcionalidad similar a VHDL. describiendo las relaciones entre los puertos.. Ejemplo: % un contador creciente simple en AHDL. hasta buffers tri-estado. ) % las variables pueden ser cualquier cosa. del Inglés Hardware Description Language) usado para modelar sistemas electrónicos. los corchetes indican una matriz % SUBDESIGN COUNTER ( CLK :INPUT. % BEGIN DEFAULTS TIMER[]. -7- . en que la ejecución de las sentencias no es estrictamente lineal. % esto se ocupa de los resets d-ff % TIMER[]. Si los módulos en un diseño contienen sólo sentencias sintetizables.clrn = VCC. las funciones ahdl deben ser prototipadas (prototyped) % % PROTOTYPE: FUNCTION COUNTER (CLK) RETURNS (CNTOUT[7. % % declaración de función. se debe pensar en esto menos como un algoritmo y más como nodos interconectados.0]: DFF. Las sentencias concurrentes y secuenciales definen el comportamiento del módulo. no se encuentra en C.. VERILOG Verilog es un lenguaje de descripción de hardware (HDL. El lenguaje difiere de los lenguajes de programación convencionales.ESCUELA POLITÉCNICA NACIONAL SISTEMAS DIGITALES AHDL AHDL (sigla en inglés de "Altera Hardware Description Language". Ávila P. Verilog no tiene estructuras.0]). Las sentencias secuenciales son colocadas dentro de un bloque begin/end y ejecutadas en orden secuencial. soporta el diseño. Internamente un módulo contiene una lista de cables y registros.0] :OUTPUT. END DEFAULTS. Verilog usa Begin/End en lugar de llaves para definir un bloque de código. El lenguaje tiene un preprocesador como C. máquinas de estado. Finalmente el concepto de tiempo. Lenguaje de Descripción de Hardware de Altera) es un lenguaje de descripción de hardware (HDL) proprietario de Altera Corporation para la programación de CPLDs (Complex Programmable Logic Devices oDispositivos Complejos de Lógica Programable) y FPGAs (Field Programmable Gate Arrays o Campo de Matrices de Puertas Programables). Los diseñadores de Verilog querían un lenguaje con una sintaxis similar a la del lenguaje de programación C. TIMER[].prn = VCC. de tal manera que le resultara familiar a los ingenieros y así fuera rápidamente aceptada. liberado a dominio público el 11/13/2006 % % [los comentarios de bloque se marcan con el signo de porcentaje] % % como en c. donde se declaran las entradas (inputs). Compilado con el Quartus de Altera y la serie de compiladores Max+.. pero todas las sentencias concurrentes y todos los bloques begin/end son ejecutadas en paralelo en el diseño. % como en todo HDL. Los módulos son definidos con conjuntos de puertos de entrada. salidas (outputs). END. CNTOUT[7.d = TIMER[]. cables y registros. salida y bidireccionales. y pines bidireccionales % % también como en c. Un módulo puede contener una o más instancias de otro módulo para definir un sub-comportamiento. desde flip-flops (como es el caso). prueba e implementación de circuitos analógicos. se puede usar software para convertir o sintetizar el diseño en una lista de nodos que describe los componentes básicos y los conectores que deben implementarse en hardware.q + H"1".

Un CPLD se forma con múltiples bloques lógicos. permitiendo que cualquier combinación de señales de la matriz de interconexión pueda ser enlazada hacia cualquier bloque lógico. estas ventajas provocan que disminuya el rendimiento del dispositivo. Las líneas de selección de estos multiplexores son programadas para permitir que sea seleccionada únicamente una vía de la matriz de interconexión por cada multiplexor la cual se propagara a hacia el bloque lógico. A continuación se explican brevemente las principales características de la arquitectura de un CPLD. Una macrocelda interna es similar a una macrocelda de entrada/salida.ESCUELA POLITÉCNICA NACIONAL SISTEMAS DIGITALES CPLD Un CPLD (del acrónimo inglés Complex Programmable Logic Device) es un dispositivo electrónico. La salida de una macrocelda interna va directamente a la matriz de interconexión programable. El tamaño del bloque lógico es una medida de la capacidad del CPLD. macroceldas de entrada y macroceldas internas u ocultas (buried macrocells). cada uno similar a un PLD. y reducen costos. CPLD MAX 7000 Su Arquitectura de un CPLD es la forma en que están organizados y a la disposición a los elementos internos del dispositivo. Su densidad varía entre dos bloques LAB y 16 bloques LAB. Teniendo la estructura clásica PAL/GAL que nos permite generar las funciones suma de producto. mejoran la fiabilidad del diseño. Las vías de interconexión programables son conectadas a las entradas de un número de multiplexores por cada bloque lógico. además de aumentar el consumo de energía y el tamaño del componente. ya que de esto depende el tamaño de la función booleana que pueda ser implementada dentro del bloque. Esta configuración permite una total interconexión entre las entradas y salidas del dispositivo o bloques lógicos. el uso de grandes multiplexores incrementa el tamaño de dispositivo y reduce su eficiencia. lo cual hace más eficiente el uso del silicio. 1 Sergio E. Celda de entrada/salida La función de una celda de entrada/salida es permitir el paso de una señal hacia dentro o hacia el exterior del dispositivo. en tanto que un 22V10 tiene solamente macroceldas de entrada/salida. Macroceldas Las macroceldas de un CPLD son similares a las de un PLD. y macroceldas. conduciendo a una mejor eficiencia a menor costo. control de polaridad. sólo que esta no puede ser conectada directamente a un pin de salida. Al igual que en las GAL esta celda puede ser activada para conectar/desconectar la correspondiente fila y columna. cada uno pose un bloque de compuertas AND y OR en forma de suma de productos. Los bloques lógicos se comunican entre sí utilizando una matriz programable de interconexiones. Arquitectura Matriz de Interconexiones Programables La matriz de interconexiones programables (PIM) permiten unir los pines de entrada/salida a las entradas del bloque lógico. Sin embargo. Son similares al diagrama de bloque de un CPLD genérico. Estas también están provistas con registros. En la interconexión mediante multiplexores. Cabe mencionar que no todas las vías son conectadas a las entradas de cada multiplexor. La rutabilidad se incrementa usando multiplexores de mayor tamaño. una configuración para la distribución de estas sumas de productos. -8- . Ávila P. Sin embargo. dependiendo del dispositivo concreto de la serie que se vaya a utilizar. ya que utilizan menor espacio. Bloques Lógicos Un bloque lógico es similar a un PLD. existe un multiplexor por cada entrada al bloque lógico. Los CPLD extienden el concepto de un PLD (del acrónimo inglés Programmable Logic Device) a un mayor nivel de integración ya que permite implementar sistemas más eficaces. La mayoría de los CPLDs usan una de dos configuraciones para esta matriz: interconexión mediante bloques o interconexión mediante multiplexores. Dependiendo del fabricante y de la arquitectura del CPLD estas celdas pueden o no ser consideradas parte del bloque lógico. o las salidas del bloque lógico a las entradas de otro bloque lógico o inclusive a las entradas del mismo. y buffers para salidas en alta impedancia. Los bloques lógicos usualmente tienen de 4 a 20 macroceldas. El primero se basa en una matriz de filas y columnas con una celda programable de conexión en cada intersección. Por lo general un CPLD tiene macroceldas de entrada/salida.

Ávila P. A pesar de esto. Las versiones que se pueden programar dentro del sistema para ello se utilizan la interfaz estándar JTAG. cabe mencionar que utilizan una tecnología de proceso basada en EEPROM. los cuales incluyen uno o más procesadores PowerPC embebidos junto con la lógica del FPGA. Estos bloques lógicos e interconexiones pueden ser programados después del proceso de manufactura por el usuario/diseñador. siempre y cuando esta disponga de los recursos necesarios. mientras las demás partes siguen funcionando. Estos códigos se llaman cores. Históricamente las FPGA surgen como una evolución de los conceptos desarrollados en las PAL y los CPLD. INTRODUCCIÓN El álgebra lógica fue desarrollada a principios del siglo XIX por el matemático George Boole para investigar las leyes fundamentales en que se basa el razonamiento humano. con la condición de ser mutuamente excluyentes. bioinformática. sus costes de desarrollo y adquisición son mucho menores para pequeñas cantidades de dispositivos y el tiempo de desarrollo es también menor. en estos casos. Esos núcleos incluyen los procesadores MicroBlaze y PicoBlaze de Xlinx. algo parecido a un breadboard (es una placa de uso genérico reutilizable o semi permanente) programable. por lo que sus ventajas e inconvenientes se encuentran a medio camino entre los ASICs y las FPGAs reprogramables. Ejemplo de tales tecnologías híbridas pueden ser encontradas en los dispositivos Virtex-II PRO y Virtex-4 de Xilinx. Las aplicaciones donde más comúnmente se utilizan los FPGA incluyen a los DSP (procesamiento digital de señales). filtros. Sergio E. sobre todo en aquellas aplicaciones que requieren un alto grado de paralelismo. prototipos de ASICs. Una tendencia reciente ha sido combinar los bloques lógicos e interconexiones de los FPGA con microprocesadores y periféricos relacionados para formar un «Sistema programable en un chip». sistemas aeroespaciales y de defensa. y los procesadores de código abierto LatticeMicro32 y LatticeMicro8. así que el FPGA puede desempeñar cualquier función lógica necesaria. Cabe notar que su uso en otras áreas es cada vez mayor. Ciertos fabricantes cuentan con FPGAs que sólo se pueden programar una vez. tienen un mayor consumo de potencia y no pueden abarcar sistemas tan complejos como ellos. sistemas de visión para computadoras. entre otras. permitiendo que una parte del diseño sea reprogramada. emulación de hardware de computadora. ambos dígitos pueden representar cualquier par de estados. microcontroladores.ESCUELA POLITÉCNICA NACIONAL SISTEMAS DIGITALES Un bloque LAB es similar a un SPLD y que el tamaño de los encapsulados varían entre 44 y 208 pines. El FPSLIC de Atmel es otro dispositivo similar. La lógica programable puede reproducir desde funciones tan sencillas como las llevadas a cabo por una puerta lógica o un sistema combinacional hasta complejos sistemas en un chip. módulos de comunicaciones y memorias. Este álgebra tiene una característica especial: sus variables solo pueden adoptar dos valores. Otra alternativa es hacer uso de núcleos de procesadores implementados haciendo uso de la lógica del FPGA. las FPGAs tienen las ventajas de ser reprogramables (lo que añade una enorme flexibilidad al flujo de diseño).Muchos FPGA modernos soportan la reconfiguración parcial del sistema. o los «sistemas reconfigurables» Aplicaciones Cualquier circuito de aplicación específica puede ser implementado en un FPGA.Las FPGAs se utilizan en aplicaciones similares a los ASICs sin embargo son más lentas. reconocimiento de voz. radio definido por software. -9- . sistemas de imágenes para medicina. Nios y Nios II de Altera. tradicionalmente denominados cierto y falso (es usual representarlos con 1 y 0 respectivamente). Existe código fuente disponible (bajo licencia GNU GPL)1 de sistemas como microprocesadores. Este es el principio de la idea de la «computación reconfigurable». el cual usa un procesador AVR en combinación con la arquitectura lógica programable de Atmel. FPGA Una FPGA (del inglés Field Programmable Gate Array) es un dispositivo semiconductor que contiene bloques de lógica cuya interconexión y funcionalidad puede ser configurada 'in situ' mediante un lenguaje de descripción especializado. Caracterìsticas Una jerarquía de interconexiones programables permite a los bloques lógicos de un FPGA ser interconectados según la necesidad del diseñador del sistema. entre otros.

Dicha lógica simbólica cuenta con operaciones lógicas que siguen el comportamiento de reglas algebraicas. Se definen los principios y propiedades de la lógica multidimensional. importancia que se ha ido incrementando hasta nuestros días. Gracias a ella. La lógica multidimensional le asigna un vector de verdad a un hecho. la lógica se transforma radicalmente en lógica matemática. Además.. por lo cual el Álgebra booleana se puede entender cómo el Álgebra del Sistema Binario. O. Este nombre fue propuesto porque existe la idea de extender el modelo de más de un valor de verdad no sólo para dos (como actualmente está). Boole. sino valores lógicos binarios y se la denomina Álgebra o lógica binaria (o Booleana). "Ensayo acerca de un cálculo del razonamiento deductivo" que indica como la lógica aparece como un cálculo algebraico. La co ncep ció n d e amp l io s s ector e s de l a m a t em á t i c a como s i s t em a d ed uc ti vo. se definen equivalencia. estas proposiciones pueden ser representadas mediante símbolos y la teoría que permite trabajar con estos símbolos. en el manejo de información digital (por eso hablamos de Lógica Digital). en vez de sólo un valor. Una breve definición de lógica paraconsistente y ejemplos de cuando es usada son dados. XIX. pero existe la intención de generalizar el modelo actual. en sus libros: "The Mathematical Analysis of Logic" (1847) y "An Investigation of te Laws of Thought" (1854). La id ea d e un l enguaj e m at em át i co uni ve r s a l.ESCUELA POLITÉCNICA NACIONAL SISTEMAS DIGITALES Por esto se dice que no maneja cantidades en el sentido del resto de las matemáticas. La lógica multidimensional es un nuevo sistema de lógica propuesto para modelar lógica paraconsistente.. George Boole (1815-1864). se Sergio E. frases o predicados de la lógica clásica) son aquellas que únicamente pueden tomar valores Verdadero/Falso. A mediados del siglo XX el álgebra Booleana resultó de una gran importancia práctica. tales como las variables lógicas multidimensionales. desarrolló la idea de que las proposiciones lógicas podían ser tratadas mediante herramientas matemáticas. NO. grado de contradicción. Todas las variables y constantes del Álgebra booleana.10 - . SI. Según Boole. 0/1 o Verdadero/Falso. La idea no está lo suficientemente madura para ser expuesta aquí. Hacia la mitad del S. Esta lógica se inicia con The Mathematical Analysis of Logic (1847). admiten sólo uno de dos valores en sus entradas y salidas: Sí/No. y la proyección de la lógica multidimensional en la difusa. Los operadores lógicos Y. sus entradas (variables) y sus salidas (respuestas) es la Lógica Simbólica desarrollada por él. Gracias a ella. Ávila P. Estos valores bivalentes y opuestos pueden ser representados por números binarios de un dígito (bits). o preguntas cuyas únicas respuestas posibles sean Sí/No. Esto se debió a que se realizaron encuentro de cuatro corrientes distintas: La ló gi ca ari s to t éli ca. al conjunto de reglas de la Lógica Simbólica se le denomina ÁLGEBRA DE BOOLE. Las proposiciones lógicas (asertos. lo c ua l co nd ucí a a l a necesid ad d e co ns t r ui r " l a ló gi c a de l a m a t em á ti c a ". Por ello. Esto incluye un pequeño programa que usa lógica multidimensional. Lo s p ro gr eso s d e ál gebr a y l a geom e tr í a . Shannon (1930) pudo formular su teoría de la codificación y John Von Neumann pudo enunciar el modelo de arquitectura que define la estructura interna de los ordenadores desde la primera generación. LOGICA BINARIA HISTORIA A mediados del siglo XIX. ENTONCES y SÍ Y SÓLO SI son definidos y explicados para la lógica multidimensional. sino para n. . Shannon (1930) pudo formular su teoría de la codificación y John Von Neumann pudo enunciar el modelo de arquitectura que define la estructura interna de los ordenadores desde la primera generación. de G.

mañana y siempre. en estos casos. el método de matrices (o tablas de verdad) y nuevos desarrollos de la lógica proposicional. y se formulan leyes lógicas. Y el cálculo que crea Boole es totalmente artificial. También son conceptos distintos los dígitos 0/1 del sistema binario y los valores cierto/falso de las variables lógicas binarias. Los lógicos medievales continuaron estudiando la lógica aristotélica. es posible establecer una relación biunívoca entre los valores numéricos y los estados lógicos. El hecho de que en este tipo de sistemas (de variables lógicas binarias) se utilice un sistema de numeración binario (de base 2). los enunciados lógicos son concebidos como ecuaciones. Este álgebra tiene una característica especial: sus variables solo pueden adoptar dos valores. Los circuitos eléctricos digitales. El hecho de que en este tipo de sistemas (de variables lógicas binarias) se utilice un sistema de numeración binario(de base 2). Podemos distinguir dos etapas o dos tipos de lógica: la lógica antigua y la lógica moderna (matemática).S. pueden existir grados intermedios. abierto-cerrado. con la condición de ser mutuamente excluyentes. Ávila P. XIX. donde las cosas no son blancas o negras. El álgebra lógica fue desarrollada a principios del siglo XIX por el matemático George Boole para investigar las leyes fundamentales en que se basa el razonamiento humano. los estados no son mutuamente exclusivos. Parménides y Platón también realizaron estudios lógicos. las cifras 0 y 1 no representan cantidades numéricas. ambos dígitos pueden representar cualquier par de estados. las cifras 0 y 1 no representan cantidades numéricas. tensión no-tensión. El álgebra se convierte en modelo de la lógica. con luz (fibra óptica) y otros. con luz (fibra óptica) y otros. Esto se debió a que se realizaron encuentro de cuatro corrientes distintas: Sergio E. la lógica difusa. Son símbolos de dos estados mutuamente excluyentes. donde las cosas no son blancas o negras. cuando las matemáticas se convierten en objeto de lógica. Hagamos hincapié que en estos casos. . se prestan muy bien a tratar este tipo de señales. conectado no-conectado. encendido. la semántica. Esta relación se hace a veces tan íntima que la distinción tiende a desdibujarse. abierto-cerrado. pueden existir grados intermedios. porque es fácil construir circuitos que adopten tales valores. apagado etc. Existe un álgebra lógica de mas de dos estados. aunque el sistema de numeración de base dos (o cualquier otra base) y la lógica binaria (representada por su álgebra) sean conceptos totalmente distintos. se prestan muy bien a tratar este tipo de señales. También son conceptos distintos los dígitos 0/1 del sistema binario y los valores cierto/falso de las variables lógicas binarias. La Lógica Antigua Aristóteles fue quien fundó la lógica y desarrolló ampliamente la silogística que es igual a la actual lógica de clases. es posible establecer una relación biunívoca entre los valores numéricos y los estados lógicos. Por esto se dice que no maneja cantidades en el sentido del resto de las matemáticas. porque es fácil construir circuitos que adopten tales valores. Por eso se puede decir que se abre un nuevo período. apagado etc. Más tarde. Boole desarrolla la lógica de clases y la lógica proposicional. la nueva lógica surge de la aplicación de los métodos matemáticos a la lógica antigua. es porque al tener este sistema de numeración solo dos dígitos 0 y 1. Existe un álgebra lógica de más de dos estados. tradicionalmente denominados cierto y falso (es usual representarlos con 1 y 0 respectivamente).11 - . Peirce hará aportaciones: la lógica de relaciones. los estados no son mutuamente exclusivos. encendido. la lógica difusa. es porque al tener este sistema de numeración solo dos dígitos 0 y 1. los circuitos con fluidos (hidráulicos y neumáticos). La Lógica Moderna (Matemática) Hacia la mitad del S. los circuitos con fluidos (hidráulicos y neumáticos). La adaptación del álgebra de Boole a los computadores digitales fue presentada en 1938 por Claude Shannon de los Laboratorios Bell. Hagamos hincapié que en estos casos. Los circuitos eléctricos digitales. no añadieron nada sustancial. Como nos podemos dar cuenta la lógica ha logrado conquistar el extenso mundo de la investigación y lo seguirá conquistando hoy. Esta relación se hace a veces tan íntima que la distinción tiende a desdibujarse. conectado no-conectado.ESCUELA POLITÉCNICA NACIONAL SISTEMAS DIGITALES produce a una completa simbolización. Así pues. sino valores lógicos binarios y se la denomina Álgebra o lógica binaria (o Booleana). La adaptación del álgebra de Boole a los computadores digitales fue presentada en 1938 por Claude Shannon de los Laboratorios Bell. Ch. pero si hicieron notables avances en un campo desconocido en esa época. la lógica se transforma radicalmente en lógica matemática. Son símbolos de dos estados mutuamente excluyentes. aunque el sistema de numeración de base dos (o cualquier otra base) y la lógica binaria (representada por su álgebra) sean conceptos totalmente distintos. tensión no-tensión.

a una lámpara corriente (tubo fluorescente) el álgebra de Boole sólo la considera en uno de los dos estados posibles y opuestos: encendida o Sergio E. . Esta relación se hace a veces tan íntima que la distinción tiende a desdibujarse. se prestan muy bien a tratar este tipo de señales.ESCUELA POLITÉCNICA NACIONAL SISTEMAS DIGITALES La lógica aristotélica. Por eso se puede decir que se abre un nuevo período. la nueva lógica surge de la aplicación de los métodos matemáticos a la lógica antigua. en estos casos. El hecho de que en este tipo de sistemas (de variables lógicas binarias) se utilice un sistema de numeración binario (de base 2). También son conceptos distintos los dígitos 0/1 del sistema binario y los valores cierto/falso de las variables lógicas binarias. Más tarde. Existe un álgebra lógica de más de dos estados. que consisten en admitir dos estados donde dichos estados tienen un carácter opuesto. Hagamos hincapié que en estos casos. es posible establecer una relación biunívoca entre los valores numéricos y los estados lógicos. Boole desarrolla la lógica de clases y la lógica proposicional. LÓGICA: la lógica se puede definir como una disciplina que investiga y estudia los principios formales del conocimiento humano. pueden existir grados intermedios. Ávila P. lo cual conducía a la necesidad de construir "la lógica de la matemática". Así pues. La idea de un lenguaje matemático universal Los progresos de álgebra y la geometría. con luz (fibra óptica) y otros. el método de matrices (o tablas de verdad) y nuevos desarrollos de la lógica proposicional. los enunciados lógicos son concebidos como ecuaciones. es porque al tener este sistema de numeración solo dos dígitos 0 y 1. encendido. El álgebra lógica fue desarrollada a principios del siglo XIX por el matemático George Boole para investigar las leyes fundamentales en que se basa el razonamiento humano. aunque el sistema de numeración de base dos (o cualquier otra base) y la lógica binaria (representada por su álgebra) sean conceptos totalmente distintos. Esta relación se hace a veces tan íntima que la distinción tiende a desdibujarse. los circuitos con fluidos (hidráulicos y neumáticos). Por esto se dice que no maneja cantidades en el sentido del resto de las matemáticas. apagado etc. Boole. La concepción de amplios sectores de la matemática como sistema deductivo. de G.S. ambos dígitos pueden representar cualquier par de estados. los estados no son mutuamente exclusivos. Y el cálculo que crea Boole es totalmente artificial. Así. porque es fácil construir circuitos que adopten tales valores. El álgebra se convierte en modelo de la lógica. las formas y las leyes mas generales del pensamiento humano considerado puramente en si mismo sin referencia a los objetos. y se formulan leyes lógicas. Esta lógica se inicia con The Mathematical Analysis of Logic (1847).12 - . "Ensayo acerca de un cálculo del razonamiento deductivo" que indica como la lógica aparece como un cálculo algebraico. tensión no-tensión. las cifras 0 y 1 no representan cantidades numéricas. cuando las matemáticas se convierten en objeto de lógica. El hecho de que en este tipo de sistemas (de variables lógicas binarias) se utilice un sistema de numeración binaria (de base 2). abierto-cerrado. conectado no-conectado. aunque el sistema de numeración de base dos (o cualquier otra base) y la lógica binaria (representada por su álgebra) sean conceptos totalmente distintos. es porque al tener este sistema de numeración solo dos dígitos 0 y 1. donde las cosas no son blancas o negras. con la condición de ser mutuamente excluytentes[1]. La adaptación del álgebra de Boole a los computadores digitales fue presentada en 1938 por Claude Shannon de los Laboratorios Bell. Hagamos hincapié que en estos casos. También son conceptos distintos los dígitos 0/1 del sistema binario y los valores cierto/falso de las variables lógicas binarias. Son de dos simb0olos estados mutuamente excluyentes. las cifras 0 y 1 no representan cantidades numéricas. Ch. es posible establecer una relación biunívoca entre los valores numéricos y los estados lógicos. Como nos podemos dar cuenta la lógica ha logrado conquistar el extenso mundo de la investigación y lo seguirá conquistando hoy. Los circuitos eléctricos digitales. Son símbolos de dos estados mutuamente excluyentes. mañana y siempre. tradicionalmente denominados cierto y falso (es usual representarlos con 1 y 0 respectivamente). se decir. la lógica difusa. y su concordancia consigo mismo. El álgebra de Boole establece una serie de postulados y operaciones lógicas. por ejemplo. se produce a una completa simbolización. Este álgebra tiene una característica especial: sus variables solo pueden adoptar dos valores. sino valores lógicos binarios y se la denomina Álgebra o lógica binaria (o Booleana). Peirce hará aportaciones: la lógica de relaciones.

Al igual que en álgebra tradicional. etcétera. ambos dígitos pueden representar cualquier par de estados. Cargado/Descargado (condensador). tensión no-tensión. porque es fácil construir circuitos que adopten tales valores. El hecho de que en este tipo de sistemas (de variables lógicas binarias) se utilice un sistema de numeración binario (de base 2). . No se admiten estados intermedios. De hecho. se le denomina de diversas formas tales como: Verdadero. se prestan muy bien a tratar este tipo de señales. etcétera. conectado no-conectado. pensando en los ordenadores como una jerarquía de niveles. Esta relación se hace a veces tan íntima que la distinción tiende a desdibujarse. Hagamos hincapié que en estos casos. Los circuitos eléctricos digitales. Al otro estado (lámpara apagada). apagado etc. se prestan muy bien a tratar este tipo de señales. Por esto se dice que no maneja cantidades en el sentido del resto de las matemáticas. Encendida/Apagada (bombilla). Este álgebra tiene una característica especial: sus variables solo pueden adoptar dos valores. La denominación de "álgebra lógica" se debe al carácter intuitivo y lógico que tienen los razonamientos que en ella se aplican. Con el pasar de los años el hombre siempre a querido buscar la manera de explicar en totalidad los fenómenos que ocurren en la naturaleza. así como de muchos de los elementos físicos que permiten la existencia de las telecomunicaciones modernas. la base o nivel inferior sería ocupada por la lógica digital (en el nivel más alto del ordenador encontraríamos los actuales lenguajes de programación de alto nivel). con luz (fibra óptica) y otros. con la condición de ser mutuamente excluyentes. el control de máquinas. tradicionalmente denominados cierto y falso (es usual representarlos con 1 y 0 respectivamente). es posible establecer una relación biunívoca entre los valores numéricos y los estados lógicos. conectado no-conectado. Ejemplos de dichos estados son: Abierto/Cerrado (interruptor). hasta la creación del universo. Nivel Lógico 0. porque es fácil construir circuitos que adopten tales valores. Todas las operaciones (representadas por símbolos determinados) pueden ser materializadas mediante elementos físicos de diferentes tipos (mecánicos. con luz (fibra óptica) y otros. es porque al tener este sistema de numeración solo dos dígitos 0 y 1. Los circuitos eléctricos digitales. La adaptación del álgebra de Boole a los computadores digitales fue presentada en 1938 por Claude Shannon de los Laboratorios Bell. abierto-cerrado. Estado Bajo. también se trabaja con letras del alfabeto para denominar variables y formar ecuaciones para obtener el resultado de ciertas operaciones mediante una ecuación o expresión booleana. etc. habitualmente. neumáticos o electrónicos) que admiten entradas binarias o lógicas y que devuelven una respuesta (salida) también binaria o lógica. encendido. etc. Son símbolos de dos estados mutuamente excluyentes. abierto-cerrado. Nivel Lógico 1. y otros son los que permiten el diseño. Estado Alto. las cifras 0 y 1 no representan cantidades numéricas. Estos dispositivos. desde la propia vida. Evidentemente los resultados de las correspondientes operaciones también serán binarios. Sergio E. y la implementación. los circuitos con fluidos (hidráulicos y neumáticos).13 - . los circuitos con fluidos (hidráulicos y neumáticos). de los circuitos de cualquier ordenador moderno. El álgebra lógica fue desarrollada a principios del siglo XIX por el matemático George Boole para investigar las leyes fundamentales en que se basa el razonamiento humano. Ávila P. se le referencia con palabras opuestas tales como: Falso. aunque el sistema de numeración de base dos (o cualquier otra base) y la lógica binaria (representada por su álgebra) sean conceptos totalmente distintos. A uno de los dos estados posibles (lámpara encendida). sino valores lógicos binarios y se la denomina Álgebra o lógica binaria (o Booleana). También son conceptos distintos los dígitos 0/1 del sistema binario y los valores cierto/falso de las variables lógicas binarias. encendido. Los dispositivos con los cuales se implementan las funciones lógicas son llamados puertas (o compuertas) y. apagado etc. La posibilidad de que todos los elementos admitan dos estados en este "Tipo de Álgebra" ha llevado a llamarla "álgebra binaria". tensión no-tensión. eléctricos. en estos casos. La adaptación del álgebra de Boole a los computadores digitales fue presentada en 1938 por Claude Shannon de los Laboratorios Bell. son dispositivos electrónicos basados en transistores. Nivel Lógico 0/Nivel lógico 1 (salida lógica de un circuito semiconductor).ESCUELA POLITÉCNICA NACIONAL SISTEMAS DIGITALES apagada.

En otras palabras. ''más o menos''. con la condición de ser mutuamente excluyentes. las cuales de una u otra forma han logrado. ''altamente''. ''estrictamente''. Una representación aproximada para una etiqueta lingüística se puede lograr en términos de combinaciones o composiciones de las operaciones básicas explicadas en la sección anterior. tradicionalmente denominados cierto y falso (es usual representarlos con 1 y 0 respectivamente). etc. creada por el ruso Dimitri Mendeleiev en 1869. tomamos el operador ''muy'' que podemos caracterizar con un significado de que aún cuando no tenga validez universal sea sólo una aproximación. ''técnicamente''. Como nos podemos dar cuenta la lógica ha logrado conquistar el extenso mundo de la investigación y lo seguirá conquistando hoy.. Lo importante del concepto de variable lingüística es su estimación de variable de alto orden más que una variable difusa. En el sentido de que una variable lingüística toma variables difusas como sus valores.14 - .ESCUELA POLITÉCNICA NACIONAL SISTEMAS DIGITALES A partir de estas inquietudes. Es importante aclarar que se hará mayor énfasis en que estas representaciones se proponen principalmente para ilustrar el enfoque. ''virtualmente''. En el campo de la semántica difusa cuantitativa al significado de un término "x" se le representa como un conjunto difuso M(x) del universo de discusión. sino valores lógicos binarios y se la denomina Álgebra o lógica binaria. Asumimos que si el significado de un término x es un conjunto difuso A. puede considerarse como un operador que actúa sobre un conjunto difuso asociado al significado de su operando. o el álgebra de Boole el cual con su aporte abrió las puertas a un gran campo de la ingeniería digital como es la electrónica digital y otras. ''ligeramente''. Esto reduce la aparente complejidad de describir un sistema que debe concordar con su semántica. una interpretación que pueda facilitar una formula. Zadeh también considera que las etiquetas lingüísticas pueden clasificarse en dos categorías que informalmente se definen como sigue: Tipo I: las que pueden representarse como operadores que actúan en un conjunto difuso: ''muy''. importantes ciencias han nacido. Tipo II: las que requieren una descripción de cómo actúan en los componentes del conjunto difuso (operando): ''esencialmente''. más que para proporcionar una definición exacta de las etiquetas lingüísticas. uno de los problemas básicos en semántica es que se desea calcular el significado de un término compuesto. y. Si tenemos un conjunto difuso llamado ''largo'' éste es una simple variable lingüística y puede ser empleada como una regla-base en un sistema basado en la longitud de un proyecto en particular Si duración-proyecto es largo entonces la-terminación-de-tareas es DECRECIENTE. Una variable lingüística siempre representa un espacio difuso. pero no en su totalidad satisfacer la curiosidad humana. Por ejemplo en el caso de un término compuesto ''muy alto''. en estos casos. Este álgebra tiene una característica especial: sus variables solo pueden adoptar dos valores. Una variable lingüística encapsula las propiedades de aproximación o conceptos de imprecisión en un sistema y da una forma de computar adecuada. Por esto se dice que no maneja cantidades en el sentido del resto de las matemáticas. Ejemplos de etiquetas tipo I. etc. ''más o menos''. La lógica con el pasar de los años ha tenido una gran participación en grandes descubrimientos como ha sido la tabla periódica. Desde su raíz. . la cual a brindado caminos para la expansión y explotación de dichas ciencias. o los trabajos de Herbrand en 1930 quien presento un algoritmo para encontrar. como la física. ambos dígitos pueden representar cualquier par de estados. etc. estas grandes ciencias han dado pasos importantes con la ayuda de un gran aliado “La lógica”. ''prácticamente''. Ávila P... La idea básica sugerida por Zadeh es que una etiqueta lingüística tal como ''muy''. LÓGICA BINARIA El álgebra lógica fue desarrollada a principios del siglo XIX por el matemático George Boole para investigar las leyes fundamentales en que se basa el razonamiento humano. Desde este punto de vista. la química y la matemática por nombrar algunas. El centro de las técnicas de modelado difuso es la idea de variable lingüística. las etiquetas lingüísticas pueden ser caracterizadas cómo operadores más que construcciones complicadas sobre las operaciones primitivas de conjuntos difusos.. Sergio E. una variable lingüística es el nombre de un conjunto difuso. entonces el significado de muy X. ''ligeramente''. mañana y siempre. De acuerdo a éste punto de vista y sabiendo que el lenguaje natural es muy rico y complejo. ''bastante''. el operador ''muy'' actúa en el conjunto difuso asociado al significado del operando ''alto''. ''mucho''.

Por ejemplo: s = a . n el álgebra tradicional.15 - . es preciso definir el resultado (0 o 1) para las 2 2 = 4 combinaciones que pueden presentarse. se pueden definir 2 4 = 16 funciones distintas para dos variables. encendido. 1 1 1 0 También son conceptos distintos los dígitos 0/1 del sistema binario y los valores cierto/falso de las variables lógicas binarias. a. aquí. utilizamos aquí la expresión a^b como equivalente a: ab. . las cifras 0 y 1 no representan cantidades numéricas. t v c p Son símbolos de dos estados mutuamente excluyentes. 2 . en el álgebra binaria se definen operadores y relaciones con los que se pueden construir funciones (relaciones). porque es fácil construir circuitos que adopten tales valores. siendo n el número de variables independientes. = es una relación. b. la lógica difusa. s es la variable dependiente (o función). cada una de las cuales puede tener dos estados mutuamente excluyentes. aunque el 1 0 1 0 sistema de numeración de base dos (o cualquier otra base) y la lógica binaria (representada 1 1 0 0 por su álgebra) sean conceptos totalmente distintos. En 1 1 1 la Tabla-1 se ha representado lo que podría ser la definición (tabla de verdad) de una función de dos variables. son operadores lógicos (no tienen ninguna relación con los peradores "suma" y "producto" que estamos acostumbrados a ver en aritmética). y tantas filas 0 1 1 como resultados hay que definir (tantos n como combinaciones pueden hacerse con las 1 0 1 variables independientes) es decir. Del mismo modo. que se llaman "lógicas" o "booleanas". pudiendo existir 28 = 22^3 = 256 funciones distintas. la definición de un operador entre 2 variables a y b. Nota: Por conveniencia de la notación. en forma implícita: s = f(a. los circuitos con fluidos (hidráulicos y neumáticos). Del mismo modo. donde las cosas no son blancas o negras. Operaciones lógicas De forma análoga al álgebra tradicional. c son variables lógicas. para definir una función de tres variables hay que definir 2 3 = 8 resultados. con luz (fibra óptica) y otros. es porque al tener este sistema de numeración solo dos dígitos 0 y 1. es preciso definir el valor de la resultante (función) para todo el ámbito de existencia de las variables independientes. los estados no son mutuamente exclusivos. es preciso definir el valor que adopta la variable dependiente para todas las posibles combinaciones de las independientes. La lógica del asunto podría presentarse como sigue: n variables lógicas (a. Del mismo modo. lo que puede expresarse 22^2 (la que se ha representado en la Tabla-1 es una de las 16 funciones posibles). Tabla-3 Hagamos hincapié que en estos casos. y en la Tabla-2 la correspondiente a una función de tres variables.ESCUELA POLITÉCNICA NACIONAL SISTEMAS DIGITALES Los circuitos eléctricos digitales. d. Una función entre n variables significa establecer una relación de forma que a cada Sergio E. y en genera 2n para n variables. 0 1 1 0 1 0 0 1 Esta relación se hace a veces tan íntima que la distinción tiende a desdibujarse. para definir un operador entre dos variables lógicas. pueden existir grados intermedios. exige definir el resultado (0 o 1) para las 4 (2 2) combinaciones de valores posibles que a y b pueden presentar. tensión no-tensión. El hecho de que en este tipo de 0 0 0 0 sistemas (de variables lógicas binarias) se utilice un sistema de numeración binario (de base 0 0 1 0 2). Estas definiciones pueden expresarse cómodamente en forma tabular. c. es posible establecer 0 1 0 0 una relación biunívoca entre los valores numéricos y los estados lógicos. Como estos resultados podrían ser dos para cada combinación. b y c son las variables independientes. c. Puesto que en el álgebra de Boole las variables (independientes y función) solo pueden adoptar dos valores. apagado etc. conectado no-conectado. Consiste en una 0 0 0 tabla con tantas columnas como variables (contando la dependiente o función). Observe que en el primer caso. b.) representan n situaciones (no tienen porque tener ninguna conexión entre si). Existe un álgebra lógica de más de dos estados.+ y . Tabla-1 A b s Este tipo de representación se denomina Tabla de Verdad de la función. La adaptación del álgebra de Boole a los computadores digitales fue presentada en 1938 por Claude Shannon de los Laboratorios Bell. b+b . como hemos visto en la Tabla-2. se prestan muy bien a tratar este tipo de señales. para 3 variables hay que definir 23 resultados. Etc. Ávila P. abierto-cerrado. b. c) Donde s . a. para que una operación (otra manera de llamar a una función) entre dos variables esté perfectamente definida.

La Lógica Difusa. Relación de igualdad Igualdad Decimos que entre dos variables a. Estas funciones pueden ser emuladas físicamente mediante circuitos electrónicos ("puertas" lógicas) con tantos hilos de "entrada" como variables independientes. v. Por ejemplo. y decimos que p dependerá del valor de las restantes variables (técnicamente decimos que es función de t. v. La función booleana es X = A + B + C. en el que se puede entrar por dos puertas distintas. la lámpara NO se encendera (0) Se pueden definir etiquetas lingüísticas artificiales. y que. que denominamos salida (también puede ser llamada variable dependiente o función). solo pueden tener dos valores si/cierto (que representamos con 1) y no/falso (que representamos con 0). Podríamos establecer una cuarta variable p que representa si llevaremos o no paraguas. Si un cliente entra por la puerta a (1) O si un cliente entra por la puerta b (1). y c). Con lógica difusa. Ávila P. y se expresa: p = f(t. Si no entra ningún cliente por ninguna de las puertas a (0) ni b (0). otra variable v representa el estado del viento. La lámpara incandescente se iluminará cuando cualquiera de los interruptores (A o B o C) se cierre. y un hilo para la "salida". y en ese sentido podía considerarse una extensión de la Lógica Multivaluada.Según esta teoría. Un circuito eléctrico compuesto por dos interruptores en paralelo. menos. nació en los años 60 como la lógica del razonamiento aproximado. La lámpara SI se encenderá (1) si se acciona el interruptor a (1) O si se acciona el interruptor b (1) O si se accionan ambos interruptores. por ejemplo: más. una tercera c representa si sacaremos el coche. 50% verdad si existe neblina y 0% si llueve todo el día.Recordemos que todas estas variables son binarias. b hay una relación de igualdad cuando su tabla de a b verdad es la que se adjunta (es una identidad). que hoy en día se encuentra en constante evolución. el grado de pertenencia de un elemento a un conjunto va a venir determinado por una función de pertenencia.16 - . que avisaría al dependiente al entrar un cliente por cualquiera de las dos puertas del establecimiento. Es también utilizada en algunos correctores de voz para sugerir una lista de probables palabras a reemplazar en una mal dicha. Los exponentes se eligen de modo que se de la igualdad aproximada: mas mas x = menos muy x. puede ser 100% verdad si no hay nubes. además. Si no se acciona ningún interruptor. c).ESCUELA POLITÉCNICA NACIONAL SISTEMAS DIGITALES combinación de las n situaciones (variables de entrada. las proposiciones pueden ser representadas con grados de veracidad o falsedad. Se puede ver que cuando cualquiera de ellos esté cerrado la lámpara estará alimentada y se encenderá. Aplicando señales (por ejemplo tensión/no tensión) en los hilos de entrada del circuito. El timbre NO suena (0). Nuestro criterio respecto a sacar el paraguas podría ser expresado por la tabla de verdad de la Tabla-3. . se pueden utilizar para definir etiquetas lingüísticas cuyo significado difiere ligeramente de otras. que son instancias de lo que puede llamarse acentuador y desacentuador respectivamente. 0 0 1 1 Sergio E. La representación de la función de pertenencia de un elemento a un Conjunto Difuso se representa según la figura 1.La Lógica Difusa actualmente está relacionada y fundamentada en la teoría de los Conjuntos Difusos. 80% verdad si hay pocas nubes. Podemos concretarlo en un caso: Imaginemos que una variable t representa el estado del tiempo en lo que a lluvia se refiere. Se puede ver que cuando cualquiera de ellos esté cerrado la lámpara estará alimentada y se encenderá. cuya función es proporcionar ligeras variantes de la concentración y la dilatación. cumple la lógica OR. que representaría sin ambigüedades el comportamiento que seguiremos al respecto. ejemplo: Un tipo de lógica que reconocemás que simples valores verdaderos y falsos. que puede tomar todos los valores reales comprendidos en el intervalo [0. Una aplicación práctica sencilla de la operación lógica OR. La Lógica Difusa ha sido probada para ser particularmente útil en sistemas expertos y otras aplicaciones de inteligencia artificial. el timbre suena (1). el de salida adopta el valor definido por la tabla de verdad.1]. o independientes) le corresponde uno de los dos valores posibles de una nueva variable (lógica) s. la sentencia "hoy es un día soleado". sería el circuito de señalización instalado en un comercio. Nota: lo de "entrada" y "salida" viene de su utilización en circuitos electrónicos.

Para 2 variables: hay 22 combinaciones 22^2 =16 funciones. f1 es una identidad (transforma la variable en si misma). Para 3 variables hay que definir 2 3 = 8 resultados. . que se han representado en la Tabla-5 (incluyen las 4 posibilidades correspondientes a 1 variable). Así pues. Este caso es el representado en la Tabla-4. En ella vemos que aparte de las dos seudo funciones (f0 y f3). para definir una función entre n variables hay que definir 2n valores. Ávila P. La función f2 aplicada sobre a produce un resultado que es el inverso de a. Para 3 variables: 23 = 8 combinaciones. Para n variables: 2n combinaciones. Función OR o suma lógica. Finalmente. y pueden existir 23 de estas funciones. Funciones lógicas Hemos adelantado que la definición de un operador entre 2 variables a y b. Función NOT o negación lógica. Las posibilidades de asignar 0/1 a estas combinación es 2 3^2 = 256.17 - . En la implementación de las ecuaciones lógicas que resuelven los procesos en los que se aplica el álgebra de Boole. exige definir el resultado (0 o 1) para las 4 combinaciones de valores posibles que pueden presentar a y b (mostradas en la Tabla-1 ). Tabla-4 Valores de a 0 1 Función f0(a) 0 0 f(a) = 0 f1(a) 0 1 f(a) = a (identidad) f2(a) 1 0 f(a) = a (inverso) f3(a) 1 1 f(a) = 1 Nota: Esta tabla de verdad debe leerse de la siguiente forma: la función f0 aplicada sobre a produce un resultado 0 con cualquier valor (0 o 1) que tenga a. se utilizan diversas operaciones o funciones lógicas entre las que se citan las tres fundamentales: Función AND o producto lógico. Queda f2 como auténtica función (la inversión ya estudiada anteriormente). Vemos que están incluidas algunas que no lo son realmente (resultados que no dependen de los valores de las Sergio E. el arsenal de funciones distintas en función del número de variables implicadas es el siguiente: Para una variable: 21 combinaciones. Por su parte f1 aplicada sobre a produce un resultado 0 o 1 según el valor (0 o 1) que tenga a (en realidad no modifica el valor de a). En general. y pueden ser definidas 2n^2 funciones distintas. 21^2 funciones. A continuación definimos las 16 operaciones posibles entre "dos" variables lógicas (denominadas conectivas).ESCUELA POLITÉCNICA NACIONAL SISTEMAS DIGITALES Notación: a = b Propiedades: Reflexiva: a = a Simétrica: a = b b=a Transitiva: a = b y b = c a = c. y que pueden existir 16 de estas funciones. Las posibilidades de asignar 0/1 a estas combinación es 2 n^2. independientemente del valor (0 o 1) de a. f3 aplicada sobre a produce siempre un 1.

En la columna derecha se indica el valor que toman las salidas para cada combinación de las entradas. B A B X 0 0 0 0 1 0 1 0 0 1 1 1 Simbología. Es digno de destacarse que estas 16 funciones no son independientes entre sí. Ávila P.18 - . 1 0 1 La expresión simbólica de dicha ecuación en el álgebra de Boole es la siguiente: 1 1 1 Ecuación lógica de la función AND para dos variables de entrada X=A·B Para representar una ecuación lógica de forma clara y completa se usa un gráfico denominado Tabla de Verdad. que consiste en una tabla cuyas columnas de la parte izquierda representan todas las combinaciones posibles que pueden tomar las variables de entrada. En consecuencia. OR y NOT. con independencia de los valores a y b. el resultado toma el estado ALTO si alguna de ellas tiene dicho estado. se define mediante la tabla de verdad adjunta. Función Lógica AND. las tablas de verdad de cada operación las dejamos referidas a esta tabla. existen dos entradas (A. En la Tabla-5 se han señalado estas 16 posibilidades. Unión (tiene todos estos nombres). dará lugar a N = 2 x 2 = 4 combinaciones posibles. inclusive-OR. B) y un sola salida (X). para cada una de ellas. producen una variable a b s de salida. que en el ejemplo citado. Reunión. Las marcadas con 2© son las de una variable ya comentadas. A continuación se comentan las mas interesantes. Vemos que las funciones marcadas con 1 ©. y que están también las de una sola variable. En el caso de la ecuación X = A · B. la tabla de verdad dispondrá de 4 combinaciones diferentes para las dos entradas y. N que se pueden realizar con a variables binarias viene expresado por la fórmula N = 2ª . igual que la operación convencional de multiplicación. valen 0 y 1 (falso y cierto) respectivamente. Puerta AND: Inclusive OR La operación lógica AND. Sergio E. si todas ellas tienen dicho nivel o 0 0 0 estado. 1 F7 La operación Suma. Pueden expresarse en función de tres de ellas: AND. que sólo toma el nivel lógico 1 o estado alto o verdadero. 0 1 1 La operación lógica AND también recibe el nombre de producto lógico porque se representa mediante un punto. no son realmente funciones. Función Lógica OR ó Puerta OR: Cuando distintas variables lógicas se combinan mediante la función OR. Para representar una ecuación lógica de forma clara y completa se usa un gráfico denominado Tabla de Verdad. (en la columna de la derecha) se expresará el valor que toma la salida tal como se expresa a continuación: Tabla de verdad que describe la ecuación lógica X = A .ESCUELA POLITÉCNICA NACIONAL SISTEMAS DIGITALES variables independientes). El número de combinaciones diferentes. que consiste en una tabla cuyas columnas de la parte izquierda representan todas las combinaciones posibles que pueden tomar las variables de entrada. f0 y f15. .

La siguiente figura muestra la ecuación lógica de la función NOT. Función NOR La función NOR equivale a la función ORnegada por lo tanto esta puerta se basa en la combinación de una puerta O y una NO. En castellano recibe el nombre de operación NO. Ávila P. FUNCION LÓGICA NOT. Tabla de Verdad de la Puerta Inversora NOT Entrada Salida 0 1 1 0 Simbología.puesto que la salida vale sólo 1 solo si presenta dicho valor la entrada A "o" la B. sobre dos variables a y b es el siguiente: S es cierto si a es FALSO (0) y si b es FALSO (0).19 - . La ecuación que representa la función OR de dos variables de entrada es la siguiente: A continuación se representa la tabla de verdad que representa a la ecuación anterior.ESCUELA POLITÉCNICA NACIONAL SISTEMAS DIGITALES La operación OR es menos exigente que la AND por que sólo exige que alguna de las variables de entrada valga 1. . para que la salida tome ese nivel. se muestran en la tabla de verdad adjunta: A B S 0 0 1 0 1 0 1 0 0 Sergio E. Ecuación lógica de la función OR para dos variables de entrada X= A + B A B X 0 0 0 0 1 1 1 0 1 1 1 1 Simbología. A la función OR también se le denomina Suma Lógica ya que se representa con el símbolo suma (+). El resultado S de aplicar la función lógica NOR. La salida toma el estado opuesto o inverso del que tiene la entrada. Los resultados de la operación lógica NOR. Por este motivo. su tabla de verdad y el símbolo usado para la representación de la puerta NOT. En castellano recibe el nombre de operación O. basta con unir las entradas o conectar a masa las entradas no utilizadas. en las cuatro combinaciones posibles de valores dos variables. PUERTA NOT O INVERSOR Se trata de una operación que sólo maneja una variable de entrada y otra de salida. también se le llama Función Inversión o negación. La puerta NO-O también se puede comportar como un inversor.

Otro detector b se activa cuando entra otro vehículo por el carril contrario. Son símbolos de dos estados mutuamente excluyentes.ESCUELA POLITÉCNICA NACIONAL SISTEMAS DIGITALES 1 1 0 Una aplicación de la operación lógica NOR. cumple la lógica NOR: la lámpara SI se encenderá (1) si NO se acciona el interruptor a (0) NI se acciona el interruptor b (0). El hecho de que en este tipo de sistemas (de variables lógicas binarias) se utilice un sistema de numeración binario (de base 2). sería el sistema de seguridad de un puente levadizo. las cifras 0 y 1 no representan cantidades numéricas. .20 - . es porque al tener este sistema de numeración solo dos dígitos 0 y 1. Hagamos hincapié que en estos casos. Si se acciona cualquiera de los dos interruptores. Un detector a se activa cuando entra un vehículo en el puente. es posible establecer una relación biunívoca entre los valores numéricos y los estados lógicos Un circuito eléctrico compuesto por dos interruptores normalmente cerrados. en serie. Ávila P. Otro detector b se activa cuando entra otro vehículo por el carril contrario. Simbología: Universalidad de la compuerta NOR Circuitos de la universalidad de la compuerta NOR Una aplicación de la operación lógica NOR. Sergio E. por el carril derecho. Los motores que accionan el sistema de elevación del puente sólo deben ponerse en marcha si se da la condición NOR: no hay vehículos por el carril derecho NI por el izquierdo. Los motores que accionan el sistema de elevación del puente sólo deben ponerse en marcha si se da la condición NOR: no hay vehículos por el carril derecho NI por el izquierdo. Un detector a se activa cuando entra un vehículo en el puente. la lámpara NO se encenderá (0). sería el sistema de seguridad de un puente levadizo. por el carril derecho.

es posible establecer una relación biunívoca entre los valores numéricos y los estados lógicos. Los resultados de la operación lógica NAND. es porque al tener este sistema de numeración solo dos dígitos 0 y 1. Sergio E. Función NAND La función NAND equivale a la función ANDnegada. Durante el día el detector está desactivado (0) y durante la noche el detector está activado (1). sería el sistema de seguridad de un puente levadizo. Ávila P. el control del aire acondicionado de un edificio inteligente.21 - . El resultado S de aplicar la función lógica NAND. se muestran en la tabla de verdad adjunta: A B S 0 0 1 0 1 1 1 0 1 1 1 0 Una aplicación práctica sencilla de la operación lógica NAND sería. Supongamos que el edificio está equipado con un detector crepuscular. sobre dos variables a y b es el siguiente: S es cierto si a es FALSO (0) o si son FALSAS (0) ambas variables. por el carril derecho. que se activa al llegar la noche. El hecho de que en este tipo de sistemas (de variables lógicas binarias) se utilice un sistema de numeración binario (de base 2). con un circuito que siga la lógica NAND: el aire acondicionado se parará cuando sea de noche y no quede nadie en el edificio Hagamos hincapié que en estos casos.ESCUELA POLITÉCNICA NACIONAL SISTEMAS DIGITALES Una aplicación de la operación lógica NOR. Supongamos también que en la entrada del edificio hay un sistema de recuento de personas que se pone a CERO (0) cuando hay alguien en el edificio y se pone a UNO (1) cuando todo el mundo ha salido ya. Los motores que accionan el sistema de elevación del puente sólo deben ponerse en marcha si se da la condición NOR: no hay vehículos por el carril derecho NI por el izquierdo. Un detector a se activa cuando entra un vehículo en el puente. por ejemplo. en las cuatro combinaciones posibles de valores dos variables. ¿Cómo controlar la puesta en marcha del aire acondicionado? Muy fácil. Son símbolos de dos estados mutuamente excluyentes. Otro detector b se activa cuando entra otro vehículo por el carril contrario. . las cifras 0 y 1 no representan cantidades numéricas.

en paralelo. Ávila P. se muestran en la tabla de verdad adjunta: a b S 0 0 0 0 1 1 1 0 1 1 1 0 Un circuito eléctrico como el del esquema siguiente. Los resultados de la operación lógica XOR. Tampoco se encenderá si no se acciona ninguno de los dos pulsadores. . pero NO se encenderá si se accionan simultáneamente ambos pulsadores. compuesto por dos pulsadores dobles NA + NC.22 - . cumple la lógica XOR: la lámpara S se encenderá (1) EXCLUSIVAMENTE si se acciona el pulsador ao si se acciona el pulsador b. sobre dos variables a y b es el siguiente: S es cierto solo si a es CIERTO (1) o si b es CIERTO (1). pero no si ambas variables son ciertas. El resultado S de aplicar la función lógica XOR. cumple la lógica NAND: la lámpara SI se encenderá (1) si NO se acciona el interruptor a (0) o si NO se acciona el interruptor b (0) o si NO se accionan ambos interruptores.ESCUELA POLITÉCNICA NACIONAL SISTEMAS DIGITALES Un circuito eléctrico compuesto por dos interruptores normalmente cerrados. en las cuatro combinaciones posibles de valores dos variables. Sergio E. Simbología: Universalidad de la compuerta NAND Función XOR La función XOR se conoce también con el nombre de OREXCLUSIVA.

el corrector ortográfico la comparará con todas las palabras semejantes de su diccionario aplicando una función XNOR entre ellas. en las cuatro combinaciones posibles de valores dos variables. Simbología: Otro ejemplo de aplicación de la función lógica XNOR es la corrección automática de textos: si una persona escribe una palabra en su procesador de textos.23 - . En la tabla a continuación se muestran a las diferentes compuertas con su correspondiente símbolo IEEE y del fabricante. se muestran en la tabla de verdad adjunta: a b S 0 0 1 0 1 0 1 0 0 1 1 1 Un circuito eléctrico como el del esquema siguiente. ambas variables tienen el mismo valor. sobre dos variables a y b es el siguiente: S es cierto si a y b son CIERTOS (1) o si a y b son FALSOS (0). Los resultados de la operación lógica XNOR. cumple la lógica XNOR: la lámpara S se encenderá si se accionan ambos pulsadoreso si no se acciona ninguno de ellos. Es decir. El resultado S de aplicar la función lógica XNOR.ESCUELA POLITÉCNICA NACIONAL SISTEMAS DIGITALES Simbología: Función XNOR La función XNOR se conoce también con el nombre de OREXCLUSIVA NEGADA. compuesto por dos pulsadores dobles NA + NC. Ávila P. . Sergio E.

aquí. . Del mismo modo. es preciso definir el valor que adopta la variable dependiente para todas las posibles combinaciones de las independientes. y en genera 2n para n variables. exige definir el resultado (0 o 1) para las 4 (2 2) combinaciones de valores posibles que a y b pueden presentar.ESCUELA POLITÉCNICA NACIONAL SISTEMAS DIGITALES Compuerta Símbolo Símbolo alterno AND OR NOT NAND NOR XOR XNOR Operadores XOR y XNOR XOR: XNOR: En el álgebra tradicional. Puesto que en el álgebra de Boole las variables (independientes y función) solo pueden adoptar dos valores. Estas definiciones pueden expresarse cómodamente en forma tabular. para que una operación (otra manera de llamar a una función) entre dos variables esté perfectamente definida. Este tipo de representación se denomina Tabla de Verdad de la función. es preciso definir el valor de la resultante (función) para todo el ámbito de existencia de las variables independientes. la definición de un operador entre 2 variables a y b. para definir un operador entre dos variables lógicas. Ávila P. Consiste en una tabla con tantas Sergio E. Del mismo modo. para 3 variables hay que definir 23 resultados.24 - .

y tantas filas como resultados hay que definir (tantos como combinaciones pueden hacerse con las variables independientes) es decir. pudiendo realizarlos desde una complejidad mínima hasta una complejidad considerablemente alta. La Lógica Difusa (llamada también Lógica Borrosa por otros autores) o Fuzzy Logic es básicamente una lógica con múltiples valores. y para manipular variables lógicas con el objeto de determinar el mejor método de ejecución de cierta función.25 - . La señal mostrada consiste en 16 elementos binarios individuales o bits. el álgebra Booleana es relativamente fácil de manejar. La lógica tradicional de las computadoras opera con ecuaciones muy precisas y dos Sergio E. Blanco / Negro. Cero o Uno (un 1 equivale a 5 voltios) o es un cero (un 0 como lo indica su nombre tiene un valor de cero voltios) y esto nos simplifica el trabajo. Otra señal binaria es b=[1 1 0 0 1 0 1 0 1 1 0 1 0 1 0 0]. no hay fracciones. Ya que sólo puede haber dos valores. Otra señal binaria es b=[1 1 0 0 1 0 1 0 1 1 0 1 0 1 0 0]. Esto significa que la señal posee dos diferentes y bien distinguidos signos que los nombramos ' 0 ' y ' 1 '. números imaginarios ni nada de esas operaciones que empleamos en el álgebra decimal. La figura siguiente muestra los signos 'a' y ' b' aplicando una función binaria 'NO EQUAL' que comprende la expresión: Utilidad del Álgebra de Boole. La figura siguiente muestra los signos 'a' y ' b' aplicando una función binaria 'NO EQUAL' que comprende la expresión: C→a b. pues con sólo dos estados posibles son menos variables las que debemos de tomar en cuenta al realizar diseños. La señal mostrada consiste en 16 elementos binarios individuales o bits. Ávila P. siendo n el número de variables independientes. 2n. El álgebra Booleana se aprovecha para expresar y simular los efectos que los diversos circuitos digitales ejercen sobre las entradas lógicas. Señales Binarias Se designan signos binarios a ' 0 ' o ' 1 '. también muestra la señal resultante 'c'. Con la Lógica Difusa.ESCUELA POLITÉCNICA NACIONAL SISTEMAS DIGITALES columnas como variables (contando la dependiente o función). . La figura siguiente muestra los signos 'a' y ' b' aplicando una función binaria 'NO EQUAL' que comprende la expresión: La señal mostrada consiste en 16 elementos binarios individuales o bits. que permite definir valores en las áreas oscuras entre las evaluaciones convencionales de la lógica precisa: Si / No. Se considera un súper conjunto de la Lógica Booleana. Esto no significa que los signos correspondientes realmente son 0 Voltio y 1 Voltio. La lógica binaria a dado un gran aporte a los circuitos lógicos porque es lo mas sencillo de manejar ya que en la lógica binaria solamente hay dos posibles estados. logaritmos. En el álgebra Booleana. raíces cuadradas. Otra señal binaria es b=[1 1 0 0 1 0 1 0 1 1 0 1 0 1 0 0]. números negativos. La figura siguiente muestra una señal a=[0 1 1 1 0 1 0 0 1 0 1 0 1 1 0 1]. raíces cúbicas. etc. Cierto / Falso. comparándola con el álgebra ordinaria. las proposiciones pueden ser representadas con grados de certeza o falsedad.

tenemos definido que en un IC el estado bajo (0 binario) se encuentra entre 0v y 1. La habilidad de la Lógica Difusa para procesar valores parciales de verdad ha sido de gran ayuda para la ingeniería. Nociones básicas sobre circuitos integrados. Alimentación. OR y NOT.En los circuitos digitales todos los voltajes. Permite también cuantificar aquellas descripciones imprecisas que se usan en el lenguaje y las transiciones graduales en electrodomésticos como ir de agua sucia a agua limpia en una lavadora.. De forma general los IC se alimentan con una tensión dentro de las características que el fabricante indica pero hay que tener previsto que los IC durante el paso de un estado lógico a otro da lugar a un pico de absorción por lo que será necesario conectarle entre masa y alimentación un dispositivo de reserva para que mantenga estable la alimentación y para ello se utiliza un condensador. por ejemplo. para que sean procesadas por computadoras y cuantificar expresiones humanas vagas.) o complejos como los microprocesadores y las memorias. lo que permite ajustar los ciclos de lavado a través de sensores.ESCUELA POLITÉCNICA NACIONAL SISTEMAS DIGITALES respuestas: Si o no. uno o cero. Umbrales lógicos. se agrupan en dos posibles categorías: voltajes altos y voltajes bajos. operan con números binarios. Tecnología de construcción de circuitos electrónicos digitales. Los IC (integrate circuit) se venden en contenedores estándares con dos filas de pines adaptados a la soldadura o para insertarlos a zócalos de soporte Dentro del IC se encuentra un rectángulo de silicio o chip donde se encuentra el circuito. estas son las AND. En general. o la combinación de estas. Como hemos dicho anteriormente los IC requieren cierta tensión para funcionar esta alimentación es la que utilizan para definir los estados lógicos es decir son de referencia para estos estados. Por eso es importante que las entradas a los IC nunca deben dejarse abiertas (sin conectar) ya que el estado lógico seria indeterminado. Ahora.5v y los 3. 0 y 1 hay que representarlas de forma eléctrica en los circuitos para ello y por convenio se utiliza 0 = 0v y el 1 = 5v. es un intento de aplicar la forma de pensar humana a la programación de los computadores. Siendo estos algunos de lo que hemos descrito anteriormente.Todos los sistemas digitales se construyen utilizando básicamente tres compuertas lógicas básicas. Estos IC pueden ser simples o complejos: simples cuando sólo contiene una lógica (AND NOT etc. así como los elementos de salida del dispositivo. tales como "Muy alto" o "luz brillante". se ha aplicado a: Las compuertas lógicas son bloques de construcción básica de los sistemas digitales. De esa forma. .5v mientras que el estado alto (1 binario) se encuentra entre 3. Definimos umbrales lógicos al "espacio" eléctrico donde se encuentra definido los estados binarios 0 y 1. Ávila P. por lo que se les denomina puertas lógicas binarias. FAMILIA TTL Acrónimo inglés de Transistor-Transistor Logic o "Lógica Transistor a Transistor". Por medio de la Lógica Difusa pueden formularse matemáticamente nociones como un poco caliente o muy frío.5v y 5v bien pues la zona comprendida entre los 1.. Esto se genera en el paso de un estado de transición a otro aunque no se nota ya que este paso es rápido. Niveles lógicos en los IC.5v es un estado indefinido o de incertidumbre donde el IC no sabe si esta en 0 "o" 1 en binario. para aplicaciones de computadores muy mal definidas o sistemas vagos se emplea la Lógica Difusa. en los que los elementos de entrada de la red lógica son transistores. Familia de integrados Los circuitos integrados se dividen en dos grandes familia los CMOS y los bipolares o TTL la diferencia radica en su estructura interna mientras que los primeros utilizan transistores MOSFET los bipolares utilizan los BJT Sergio E.26 - . a excepción de las fuentes de alimentación. La lógica binaria en los IC o sea.

3.. esta demasiado próximo a masa y cualquier interferencia débil puede provocar error.27 - . de manera que Vo puede ser tan alto como de 0.ESCUELA POLITÉCNICA NACIONAL SISTEMAS DIGITALES Características básicas de los CMOS 1.Posee umbrales lógicos asimétricos en especial en el nivel bajo (0) ya que este. Sergio E.. 2. Familia de los Circuitos Lógicos Integrados Tecnología Serie TTL estándar TTL de baja potencia Familia de circuitos TTL TTL shoottky lógicos integrados con transistores bipolares TTL shoottky de baja potencia TTL shoottky avanzada ECL CMOS estándar CMOS CMOS HC Familia de circuitos lógicos integrados con CMOS HCT transistores MOSFET NMOS PMOS BiCMOS Combina transistores bipolares con transistores MOSFET CIRCUITOS LOGICOS INTEGRADOS Las compuertas lógicas son bloques de construcción básica de los sistemas digitales. Ávila P. 2..4 V Una salida LVTTL puede controlar una entrada TTL sin ningún problema.La alimentación tolera un rango máximo de 5v FAMILIA LVTTL (Low Voltaje TTL) La tecnología LVTTL se emplea en aplicaciones donde las salidas tienen cargas de CD significativas. 1.Estos IC requieren poca corriente para funcionar y solo consumen durante la transición de un estado lógico a otro... excepto por el problema de controlarlo más allá del Vcc de 3. 3. De manera similar una salida TTL puede controlar una entrada LVTTL. En los circuitos digitales todos los voltajes. se agrupan en dos posibles categorías: voltajes altos y voltajes bajos. esto da lugar a que no interfieren en el circuito que esta conectado.. operan con números binarios. a excepción de las fuentes de alimentación. mientras sus especificaciones de corriente de salida (loL max y loH max) sean respetadas.Consumos bastantes elevados cuando cambian de estado lógico. .3 V del LVTTL.. por lo que se les denomina puertas lógicas binarias.Inmunidad ante el ruido: una interferencia por encima de 1v en una entrada no causa la lectura de un nivel lógico erróneo.La alimentación tolera hasta un rango de 15v Características básicas de los TTL. 4.las entradas poseen alta impedancia.4 V y VoH puede ser tan bajo como de 2.

Los IC (integrate circuit) se venden en contenedores estándares con dos filas de pines adaptados a la soldadura o para insertarlos a zócalos de soporte Dentro del IC se encuentra un rectángulo de silicio o chip donde se encuentra el circuito. tenemos definido que en un IC el estado bajo (0 binario) se encuentra entre 0v y 1. Como hemos dicho anteriormente los IC requieren cierta tensión para funcionar esta alimentación es la que utilizan para definir los estados lógicos es decir son de referencia para estos estados. Sergio E. Estos IC pueden ser simples o complejos: simples cuando sólo contiene una lógica (AND NOT etc.. Esto se genera en el paso de un estado de transición a otro aunque no se nota ya que este paso es rápido. Nociones básicas sobre circuitos integrados. Siendo estos algunos de lo que hemos descrito anteriormente. esto da lugar a que no interfieren en el circuito que esta conectado.28 - . 4.. Definimos umbrales lógicos al "espacio" eléctrico donde se encuentra definido los estados binarios 0 y 1. esta demasiado próximo a masa y cualquier interferencia débil puede provocar error. Umbrales lógicos.5v y los 3.5v y 5v bien pues la zona comprendida entre los 1. 3. Ávila P.las entradas poseen alta impedancia.Estos IC requieren poca corriente para funcionar y solo consumen durante la transición de un estado lógico a otro.. 2. Alimentación. La lógica binaria en los IC o sea. en los que los elementos de entrada de la red lógica son transistores..5v mientras que el estado alto (1 binario) se encuentra entre 3.. Tecnología de construcción de circuitos electrónicos digitales. .. 0 y 1 hay que representarlas de forma eléctrica en los circuitos para ello y por convenio se utiliza 0 = 0v y el 1 = 5v. Niveles lógicos en los IC. o la combinación de estas. FAMILIA TTL Acrónimo inglés de Transistor-Transistor Logic o "Lógica Transistor a Transistor". por ejemplo. estas son las AND. 1. Por eso es importante que las entradas a los IC nunca deben dejarse abiertas (sin conectar) ya que el estado lógico seria indeterminado.Inmunidad ante el ruido: una interferencia por encima de 1v en una entrada no causa la lectura de un nivel lógico erróneo. Familia de integrados Los circuitos integrados se dividen en dos grandes familia los CMOS y los bipolares o TTL la diferencia radica en su estructura interna mientras que los primeros utilizan transistores MOSFET los bipolares utilizan los BJT Características básicas de los CMOS 1. OR y NOT. De forma general los IC se alimentan con una tensión dentro de las características que el fabricante indica pero hay que tener previsto que los IC durante el paso de un estado lógico a otro da lugar a un pico de absorción por lo que será necesario conectarle entre masa y alimentación un dispositivo de reserva para que mantenga estable la alimentación y para ello se utiliza un condensador.) o complejos como los microprocesadores y las memorias.ESCUELA POLITÉCNICA NACIONAL SISTEMAS DIGITALES Todos los sistemas digitales se construyen utilizando básicamente tres compuertas lógicas básicas.La alimentación tolera hasta un rango de 15v Características básicas de los TTL. así como los elementos de salida del dispositivo..5v es un estado indefinido o de incertidumbre donde el IC no sabe si esta en 0 "o" 1 en binario.Posee umbrales lógicos asimétricos en especial en el nivel bajo (0) ya que este.

que parecía muy prometedor en 1957. El rendimiento es alto ya que los componentes de cambiar rápidamente y consumen poca energía (en comparación con sus homólogos discreto) porque los componentes son pequeñas y colocadas muy juntas. Esta idea. por Jack Kilby . Figura: Circuito integrado de Atmel Diopsis 740 System on Chip mostrando bloques de memoria. [5] Sin embargo. como el proyecto fue cobrando impulso. . Sergio E.Consumos bastantes elevados cuando cambian de estado lógico. El costo es bajo debido a los chips. Ávila P. A partir de 2006. La idea del circuito integrado fue concebida por un científico del radar de trabajo para el establecimiento de radar Real de los británicos Ministerio de Defensa . viruta.29 - . El uso comercial de su patente no ha sido reportado.ESCUELA POLITÉCNICA NACIONAL SISTEMAS DIGITALES 2.UU. Componentes podrían ser integrada y conectada en una red compacta bidimensional o tridimensional. mucho menos material se utiliza para construir un IC envasados morir que un circuito discreto. Geoffrey WA Dummer (1909-2002). Circuito integrado desde entonces ha venido a referirse a la pieza de circuito de la construcción-único conocido originalmente como un circuito integrado monolítico Invensión Los primeros desarrollos del circuito integrado se remontan a 1949. [4] ha dado a muchos simposios público para propagar sus ideas. y microchip) es un circuito electrónico fabricado por la difusión de trazas de elementos en la superficie de una delgada sustrato de semiconductor material. Computadoras . 3. Por otra parte. la lógica y de entrada / salida almohadillas alrededor de la periferia Introducción Los circuitos integrados fueron posibles gracias a descubrimientos experimentales que mostraron que los dispositivos semiconductores podría desempeñar las funciones de los tubos de vacío y por la tecnología del siglo 20 a mediados avances en dispositivos de fabricación de semiconductores . Los circuitos integrados se utilizan en casi todos los equipos electrónicos en uso hoy en día y han revolucionado el mundo de la electrónica. cuando el ingeniero alemán Werner Jacobi ( Siemens AG ) presentó una patente para un circuito integrado de semiconductores-como el dispositivo que amplifica [3] mostrando cinco transistores en un sustrato común dispuestas en dos etapas amplificador de acuerdo. se propuso al Ejército de los EE. Jacobi divulga pequeño y barato audífonos como típicas aplicaciones industriales de su patente.La alimentación tolera un rango máximo de 5v Un circuito integrado o circuito integrado monolítico (también conocida como IC. y de bloque enfoque de construcción para el diseño de circuitos garantizar la rápida adopción de los circuitos integrados estándar en lugar de diseños utilizando transistores discretos.. así como componentes pasivos en régimen de servidumbre a una placa de circuito o sustrato. con hasta 1 millón de transistores por mm 2. El circuito integrado de la producción en masa de capacidad. Terminología El circuito integrado originalmente se refería a una miniatura circuito electrónico que consiste en dispositivos de semiconductores . con todos sus componentes. DC el 7 de mayo de 1952.. y llevó a la breve duración del programa Micromódulo (similar a la de 1951 Proyecto TINKERTOY ). teléfonos celulares . Hay dos ventajas principales de los circuitos integrados en los circuitos discretos : costo y rendimiento. La integración de un gran número de pequeños transistores en un chip pequeño fue una enorme mejora sobre el ensamblaje manual de los circuitos con componentes electrónicos . y otros digitales aparatos son ahora partes inextricables de la estructura de las sociedades modernas. se imprimen como una unidad por fotolitografía en lugar de ser construido un transistor a la vez. Una idea precursora de la IC fue la creación de pequeños cuadrados de cerámica (obleas). las áreas de chips van desde unos pocos milímetros cuadrados a alrededor de 350 mm 2. cada uno con un único componente miniaturizado. Dummer intentó sin éxito construir un circuito en el año 1956. quien la publicó en el Simposio sobre Avances en la calidad de componentes electrónicos en Washington. [1] Esta configuración es ahora comúnmente conocida como circuitos integrados híbridos . hecho posible por el bajo costo de producción integrados circuitos. confiabilidad. Kilby vino para arriba con un diseño nuevo y revolucionario: el CI.

circuitos digitales que contienen transistores de numeración en las decenas proporcionó una pocas puertas lógicas. [12]. y viceversa. Robert Noyce también vino con su propia idea de un circuito integrado de medio año después de Kilby. los mercados de consumo. los circuitos integrados comenzaron a aparecer en los productos de consumo por el cambio de década. a partir de ahí vinieron los términos para el SSI. chip de Noyce. viruta Noyce resuelto muchos problemas prácticos que Kilby no había. y en 1968. menos trabajos de montaje (por menos componentes por separado). [ 12 ]FMtelevision El precio medio por circuito integrado se redujo de 50. IBMRolf Landauercitation needed El término Gran Escala de Integración se utilizó por primera vez por IBM científico Rolf Landauer al describir el [concepto teórico cita requerida ]. [7] En su solicitud de patente del 6 de febrero de 1959. y una serie de otras ventajas. el equipo de orientación Apolo llevó y motivó a la tecnología de circuito integrado. tomada a finales de 1960. millones. MSI y LSI Los primeros circuitos integrados contenía sólo unos pocos transistores. [10] de los transistores pueden ser colocados en un chip. por ejemplo. finalmente. VLSI. [11] . .UU. como la escala utilizada fue grande debido a la tecnología contemporánea. El siguiente paso en el desarrollo de circuitos integrados. espacial de los EE. Eran atractivos económicamente porque mientras que el costo para producir poco más que los dispositivos de SSI.30 - . sólo unos pocos transistores pueden ser colocados en un chip. y ULSI. que permite sistemas más complejos que se producen utilizando las tarjetas de circuitos más pequeños.ESCUELA POLITÉCNICA NACIONAL SISTEMAS DIGITALES Robert Noyce acredita Kurt Lehovec de Sprague eléctrica al principio de la unión pn aislamiento causado por la acción de una unión pn sesgada (el diodo) como un concepto clave detrás de la IC. La demanda por el Gobierno de los EE. y hacer un buen diseño se convirtió en una tarea a ser planificada cuidadosamente.000 del mercado de circuitos integrados en 1962. mientras que el chip Kilby fue hecho de germanio . A medida que el grado de integración era pequeño. mientras que a principios VA lineal como el Plessey SL201 o el Philips TAA320 había tan sólo dos transistores. Sergio E. introdujo dispositivos que contenían cientos de transistores en cada chip. El programa de misiles Minuteman y los demás programas de la Marina en cuenta para el total de $ 4. llamado "Media-Scale Integration" (MSI).UU. Gobierno y los gastos de defensa seguía representando el 37% de la producción total de 312 millones dólares. el diseño fue realizado con facilidad. Más tarde. una aplicación típica de ser FM compañía de procesamiento de sonido.33 en 1968.. PlesseyPhilips Se llama "Pequeña Escala de Integración" (SSI). MSI. Minuteman missileApollo programApollo guidance computer[ 11 ] Tanto los misiles Minuteman y el programa Apolo necesarios ligeros ordenadores digitales para sus sistemas de guía inercial. apoyó el incipiente mercado de circuitos integrados hasta que los costos se redujo lo suficiente como para permitir a las empresas para penetrar en los sectores industrial y. y hoy miles de millones. en la televisión receptores. circuitos SSI fueron cruciales para los proyectos de la industria aerospacial. en donde todos los componentes del circuito electrónico totalmente integrado. SSI. estaba hecha de silicio . Ávila P. Esto dio lugar a nuevos métodos de diseño .. otros. Figura: Jack Kilby 's originales del circuito integrado Jack Kilby registró sus ideas iniciales sobre el circuito integrado.000. mientras que el misil Minuteman obligó a la producción en masa. en julio de 1958 y demostrado con éxito el primer circuito integrado de trabajo el 12 de septiembre de 1958. " [8] Kilby ganó el 2000 Premio Nobel de Física por su parte de la invención del circuito integrado.00 dólares en 1962 a $ 2. Generaciones En los primeros días de los circuitos integrados. Kilby describió su nuevo aparato como "un cuerpo de materiales semiconductores . realizada en Fairchild Semiconductor .

La energía más eficiente CMOS sustituye NMOS y PMOS . en particular supercomputadoras masivamente paralelas. a partir de la década de 1980 y continuando hasta el presente. muy que utiliza una oblea de silicio para producir un todo único "super-chip". que contenía más de un millón de transistores. el término ULSI que significa "a gran escala de integración ultra" fue propuesto para los chips de la complejidad de más de 1 millón de transistores. El último paso en el proceso de desarrollo. era "en gran escala de integración muy" ( VLSI ). Las herramientas de diseño mejorado lo suficiente como para que sea práctica para terminar estos diseños en un tiempo razonable. evitando un aumento prohibitivo en el consumo de energía. entre otros factores. por lo que el consumo de energía es mucho menor que en equivalente de circuitos separados. Los fabricantes se trasladó a los pequeños y menos contaminantes fábricas de normas. [14] ULSI. con decenas de miles de transistores por chip. pueden comprometer la eficacia de algunos elementos. . los chips de la calculadora.31 - . A través de una combinación de gran tamaño y embalaje reducido. de memorias de ordenador principal y los microprocesadores de segunda generación. y continúa más allá de varios miles de millones de transistores a partir de 2009. había en 4000 transistores. Sin embargo. El uso juicioso de corta alambres verticales pueden reducir considerablemente la longitud del cable en general para una operación más rápida. acercándose a 10 mil transistores. la evolución de múltiples fueron necesarios para lograr este aumento de la densidad. SOC y 3D IC- A fin de reflejar un mayor crecimiento de la complejidad. llevó a "gran escala de integración (LSI) a mediados de la década de 1970. Es cierto circuitos LSI. La comunicación entre las capas de aplicaciones on-die de señalización. WSI podía conducir a costos dramáticamente reducido para algunos sistemas. WSI. para que puedan fabricar chips con transistores más y mantener el rendimiento adecuado. VLSI Figura: Altos niveles de interconexión en un Intel 80486 microprocesador DX2 morir.ESCUELA POLITÉCNICA NACIONAL SISTEMAS DIGITALES Un mayor desarrollo. impulsado por los factores económicos mismo. Mejor textos como el libro de texto histórico por Mead y Conway ayudaron a educar a las escuelas más diseñadores. Una dimensión de circuitos integrados y tres (3D-IC) tiene dos o más capas de componentes electrónicos activos que están integrados tanto vertical como horizontalmente en un solo circuito. el estado actual de la técnica cuando WSI se estaba desarrollando. que comenzó a fabricarse en cantidades moderadas en la década de 1970. y la creación de componentes dispares en una única pieza de silicio. Escala de integración de la oblea (WSI) es un sistema de construcción de grandes circuitos integrados. estos inconvenientes se ven compensados por los menores costes de fabricación y montaje y por un presupuesto reducido en gran medida el poder: ya que las señales entre los componentes se mantienen en el chip. comenzaron a ser producidas alrededor de 1974. Un sistema-en-un-chip (SoC o SOC) es un circuito integrado en el que todos los componentes necesarios para un equipo u otro sistema se incluyen en un solo chip. como espolones 1K-bits. El desarrollo comenzó con cientos de miles de transistores en la década de 1980. Avances en los circuitos Integrados Sergio E. mucho menos energía se requiere (ver embalaje ). [13] La tendencia continúa sin disminuir en gran medida. El nombre está tomado de la expresión de muy gran escala de integración. Los circuitos integrados. En 1986 la primera megabits de RAM chips se introdujeron. El camino de la mejora de los procesos se resume en la Hoja de Ruta Tecnológica Internacional de Semiconductores (ITRS). chips de microprocesadores pasado la marca del millón de transistores en 1989 y la marca del transistor millones de dólares en 2005. Ávila P. El diseño de este dispositivo pueden ser complejos y costosos. y los primeros microprocesadores. con chips introducido en 2007 que contiene decenas de miles de millones de transistores de la memoria.

2048 bytes de EPROM . Digital chips de memoria y ASICs son ejemplos de otras familias de circuitos integrados que son importantes para la moderna sociedad de la información . Circuitos integrados digitales pueden contener cualquier cosa de uno a millones de puertas lógicas . digitales y de señal mixta (analógica y digital en el mismo chip). Tales circuitos ofrecen un tamaño más Sergio E. aunque estos problemas no son insuperables y que probablemente será resuelto o al menos mejorar con la introducción de high-k de dieléctricos . tales como convertidores A / D y D / A . DSP . baja disipación de potencia. En proyectos de investigación actuales. Este aumento de la capacidad por unidad de superficie se pueden utilizar para disminuir los costos y / o aumentar la funcionalidad de ver la ley de Moore que. A/D convertersD/A converters VA también puede combinar y digitales circuitos analógicos en un solo chip para crear funciones. Sin embargo. una de 8 bits del microcontrolador que incluye una CPU Funcionando a 12 MHz. Este proceso. en su interpretación moderna. el filtrado activo . y otros circuitos en milímetros cuadrados. El pequeño tamaño de estos circuitos permite alta velocidad. Clasificación Los circuitos integrados se pueden clasificar en analógicos . mezcla . gestión de circuitos de potencia y amplificadores operacionales . VA con nanómetros dispositivos de escala no están exentas de problemas. y la reducción de costes de fabricación en comparación con el nivel de integración de la Junta. El rendimiento de los circuitos integrados es alto debido a que el pequeño tamaño permite rastros cortos que a su vez permite baja potencia lógica (por ejemplo. desde computadoras y teléfonos celulares digitales de microondas . y el progreso esperado en los próximos años. multiplexores . y la velocidad aumenta. entre las que destacan es la corriente de fuga (ver debajo del umbral de fuga para una discusión de esto). microcontroladores y trabajo con las matemáticas binaria para procesar "uno" y "cero" señales. tales como sensores. existe una competencia feroz entre los fabricantes a utilizar geometrías más fino. 128 bytes de memoria RAM . por lo general los microprocesadores . demodulación . Puesto que estos aumentos del consumo de velocidad y el poder son evidentes para el usuario final. . sellado de las estrategias particulares que deben tomarse en tales ambientes biogénicas para evitar la corrosión o la biodegradación de los materiales semiconductores expuestos.32 - . si se extendiera a toda típicamente millones de unidades de producción el costo individual del IC se reduce al mínimo. CMOS ) para ser utilizado en el cambio rápido de velocidad. En general. el trabajo de procesamiento de señales continuas. de nitruro de titanio TiN resultó como excepcionalmente estable y bien adaptado para los usos de electrodos en implantes médicos. Ávila P. amplificationactive filteringdemodulationmixing Llevan a cabo funciones como la amplificación . flip-flops . afirma que el número de transistores en un circuito integrado se duplica cada dos años. Si bien el costo de diseñar y desarrollar un circuito integrado complejo es bastante alto. los circuitos integrados también se desarrollan para sensorial aplicaciones en implantes médicos u otros bioelectrónica dispositivos. casi todo lo que mejora el coste por unidad y el consumo de energía de conmutación descender. y E / S en el mismo chip VA siempre han emigrado a los tamaños de característica más pequeños en los últimos años. Figura: Un CMOS 4000 IC en un DIP power management circuitsoperational amplifiers Analog VA. Figura: La muerte de un procesador Intel 8742.ESCUELA POLITÉCNICA NACIONAL SISTEMAS DIGITALES Entre los circuitos integrados más avanzados son los microprocesadores o "núcleos". etc Analog VA aliviar la carga de los diseñadores de circuitos por tener diseñados por expertos circuitos analógicos en lugar de diseñar un circuito analógico difícil desde el principio. permitiendo que más circuitos para ser embalado en cada chip. está bien descrito por la Hoja de Ruta Tecnológica Internacional de Semiconductores (ITRS). que controlan todo. ya que la función se reduce el tamaño. Como uno de los pocos materiales bien establecida en CMOS de la tecnología. Estos circuitos integrados digitales.

fotolitografía se utiliza para marcar las diferentes áreas del substrato que se dopó o tener polisilicio. en forma muy parecida a la realización de placas paralelas de un condensador eléctrico tradicional. los materiales fueron estudiados sistemáticamente en los años 1940 y 1950. Más raramente. Desde un dispositivo CMOS sólo se basa en curso sobre la transición entre la lógica de los estados . Semiconductores ICs se fabrican en un proceso de capa que incluye los siguientes pasos clave del proceso: Imágenes Deposición Aguafuerte Los pasos del proceso principal se complementa con el dopaje y la limpieza. un transistor se forma donde la capa de la puerta (polisilicio o metal) atraviesa una capa de difusión. Una memoria de acceso aleatorio es el tipo más regular del circuito integrado. De cristal de silicio mono obleas (o para aplicaciones especiales. En la actualidad. Las capas de material se fabrican muy similar a un proceso fotográfico. determina la resistencia. Algunas capas marca en diferentes dopantes se difunden en el sustrato (capas llamadas difusión). células solares y la velocidad de los circuitos integrados más alta.33 - .ESCUELA POLITÉCNICA NACIONAL SISTEMAS DIGITALES pequeño y más barato. algunos definen donde los iones adicionales se implantan (capas del implante). aisladores o metal (generalmente de aluminio ) pistas depositado en ellos. como el arseniuro de galio se utilizan para aplicaciones especializadas. o simula giradores . de silicio sobre zafiro o arseniuro de galio obleas) se utilizan como sustrato. Las estructuras de color rojizo son puertas de polisilicio. Debido a que cada función es tan pequeño. de silicio . En un auto-alineados CMOS de proceso. los dispositivos CMOS consumen mucho menos corriente que bipolar dispositivos. las estructuras de inducción se puede construir tan pequeño chip de bobinas de encendido. Las estructuras de color arena son de metal de interconexión. a continuación. Figura: La representación de una pequeña célula estándar con tres capas de metal ( dieléctrica se ha quitado). aunque la luz las ondas en el espectro visible no puede utilizarse para "exponer" una capa de material. los microscopios electrónicos son Sergio E. (Ver la estructura matriz regular en la parte inferior de la primera imagen. Los circuitos integrados se componen de muchas capas superpuestas.con anchuras que han ido disminuyendo desde hace décadas . Condensadores de una amplia gama de tamaños son comunes en VA. por lo general los enchufes de tungsteno. algunos definen los conductores (capas de polisilicio o metal). Tuvieron que pasar décadas para perfeccionar los métodos de creación de cristales sin defectos en la estructura cristalina del material semiconductor. láseres . Así. pero con cuidado debe tener en cuenta la interferencia de la señal.) Si bien las estructuras son complejas . pero incluso un microprocesador se tiene memoria en el chip. y el sólido en el fondo es el silicio cristalino a granel. Todos los componentes están hechos de una combinación específica de estas capas. Ávila P. La razón de la longitud de la estructura resistente a su anchura. estructuras capacitivas . combinado con su resistencia de la hoja. y normalmente se muestra en colores diferentes. A partir de óxido de cobre . . Serpenteando a rayas de diferentes longitudes se utilizan a veces para formar en el chip resistencias . los fotones de frecuencias más altas (por lo general ultravioleta ) se utilizan para crear los patrones para cada capa. con los pilares verticales que los contactos. ya que sería demasiado grande para las características. como los LEDs . aunque la mayoría de los circuitos de lógica no necesita resistencias. Fabricación Los semiconductores de la tabla periódica de los elementos químicos fueron identificados como los materiales más probable para un estado sólido tubo de vacío . aunque algunos compuestos III-V de la tabla periódica.las capas siguen siendo mucho más delgado que los anchos de dispositivo. se forman de acuerdo a la zona de las "placas". cada una definida por la fotolitografía. y algunos definen las conexiones entre las capas conductoras ( o póngase en contacto a través de capas). la densidad de los dispositivos son más altos por lo tanto los recuerdos. procediendo a germanio . con material aislante entre las placas. el silicio monocristales son los principales sustrato utilizado para los circuitos integrados (CI).

cuatro de plástico del paquete plano (PQFP) y de contorno pequeño paquete delgado (TSOP) paquetes se convirtió en el más común de contar con dispositivos de alta pasador. los dispositivos de pasar por las pruebas finales en el mismo o similar ATE utilizados durante la oblea sondeo. envases circuito comercial rápidamente se trasladó a la en-línea paquete doble (DIP). que sigue siendo utilizado por los militares por su fiabilidad y el pequeño tamaño de muchos años. y AMD está usando 45 nanómetros para su CPU fichas. Cada bien morir (dados plural. con un espesor típico que es de 70 % menos. como lo demuestra -esquema de circuitos integrados pequeños . A partir de 2005. El gráfico muestra LDD-MISFET sobre un sustrato SOI con cinco capas de la metalización y topetón de la soldadura para unir los flip-chip. aunque los paquetes de la PGA.ESCUELA POLITÉCNICA NACIONAL SISTEMAS DIGITALES herramientas esenciales para un proceso de ingeniería que podría ser la depuración de un proceso de fabricación. Sergio E. Interconexiones de cobre en el cableado de cobre sustituye aluminio para las interconexiones. más grande. se utilizan frecuentemente para la gama alta de microprocesadores .una compañía aérea que ocupa un área de aproximadamente 30 a 50% menos que el equivalente DIP . Figura: Principios de la URSS-hizo del circuito integrado A finales de 1990. cada uno de ellos se llama un dado. por lo general se encuentran alrededor del borde de la muerte. porque gran parte de la operación es automática. Este paquete tiene "alas de gaviota" lleva saliendo de los dos lados largos y una distancia principal de 0. Los procesos más avanzados emplean las siguientes técnicas: Las obleas de hasta 300 mm de diámetro (más ancho que un plato de comida común). NEC . También se muestra la sección de FEOL (front-end de la línea).34 - . lo que pin grid array (PGA) y la compañía de chips sin plomo (LCC) paquetes. o muere) se conecta en un paquete con aluminio (o de oro ) los cables de bonos que están soldadas y / o en condiciones de servidumbre thermosonic a los cojines. montaje en superficie de embalaje apareció en la década de 1980 y se hizo popular a finales de 1980. Costo de prueba puede dar cuenta de más del 25% del coste de fabricación de los productos de menor costo. en un proceso conocido como prueba de la oblea . como se construyó en la década de 2000. El uso de 65 nanómetros o menor proceso de fabricación de chips.050 pulgadas. . Después del envasado. BEOL (back-end de la línea) y la primera parte del proceso de back-end. En la década de 1980 cuenta con pines de los circuitos VLSI excedió el límite práctico para el envasado de DIP. o la oblea sondeo. La oblea se corta en bloques rectangulares. utilizando más fino tono de plomo con los plomos de forma. IBM y AMD en el desarrollo de un proceso de 45 nm usando litografía de inmersión . Low-k dieléctrico aislantes. una planta de fabricación (conocida comúnmente como una fábrica de semiconductores) cuesta más de $ 1 mil millones para la construcción. Figura: Estructura esquemática de un chip CMOS. y / o superior. IBM . Ávila P. por primera vez en cerámica y más tarde en plástico. Cada dispositivo se prueba antes de envasado que utilizan equipos de prueba automáticos (ATE). [17] . pero puede ser insignificante en los dispositivos de bajo coste rendimiento. muere. Silicio sobre aislante (SOI) silicio rígido en un proceso utilizado por IBM conocido como silicio tensado directamente sobre aislante (SSDOI) Embalaje Los primeros circuitos integrados fueron envasados en paquetes de cerámica plana. Intel y AMD están actualmente en transición de los paquetes de PGA en los microprocesadores de gama alta de la tierra grid array (LGA) paquetes. ya sea de ala de gaviota o J de plomo. Intel .

La protección jurídica de los diseños de chips de semiconductores. Ávila P. Otros acontecimientos: En la década de 1980. o módulo multi-chip . Cuando muere múltiples se ponen en un solo paquete. incluyendo artículos de uso cotidiano. Extremadamente pequeñas tecnología de montaje superficial partes a menudo implican un número que se utiliza en la tabla de un fabricante para encontrar las características del chip.ESCUELA POLITÉCNICA NACIONAL SISTEMAS DIGITALES Ball Grid Array (BGA) paquetes han existido desde la década de 1970. Estos dispositivos contienen circuitos cuya función lógica y la conectividad puede ser programado por el usuario. Las huellas de la muerte. lavadoras. y en la placa de circuito impreso tiene propiedades eléctricas muy diferentes. La posibilidad de copiar fotografiando cada capa de un circuito integrado y la preparación de fotomáscaras para su producción sobre la base de las fotografías obtenidas es la razón principal para la introducción de legislación para la protección de los esquemas de trazado. Esto permite que un solo chip para ser programado para ejecutar diferentes funciones de tipo LSI. Los circuitos integrados se utilizan en una amplia gama de productos. los circuitos integrados programables se han desarrollado. diseños de IC diseño son creaciones de la mente humana. paquetes FCBGA permiten una gran variedad de señales de entrada-salida (llamada Zona I / O) a distribuir en todo el morir en lugar de estar confinados en la periferia morir. conocidos como MEMS . Por lo general son el resultado de una inversión enorme. así como sofisticados equipos de procesamiento de datos. Cuanto más pequeño es un circuito integrado. por sistema en paquete . La fecha de fabricación se suele representar como un año de dos dígitos seguido de un código de semana de dos dígitos. en 1989. Hay una continua necesidad de la creación de nuevos esquemas de trazado que reduzcan las dimensiones de los actuales circuitos integrados y al mismo tiempo aumentar sus funciones. que aprobó un Tratado sobre la Propiedad Intelectual respecto de los Circuitos Integrados (Tratado IPIC). . Cuando muere múltiples se combinan en un substrato pequeños. también llamado Tratado de Washington o Tratado IPIC (firmado en Washington el 26 de mayo de 1989) no está actualmente en vigor. Ejemplo de aplicaciones comerciales incluyen DLP Sergio E. que permiten contar con pasador mucho mayor que otros tipos de otro paquete. a través del paquete. y el menor el espacio necesario para acomodar. se desarrollaron en la década de 1990. Estos dispositivos se utilizan en una variedad de aplicaciones comerciales y militares. Los dispositivos actuales denominado FPGA (Field Programmable Gate Arrays) ahora pueden aplicar decenas de miles de circuitos LSI en paralelo y funcionamiento de hasta 1. Las técnicas perfeccionadas por la industria de circuitos integrados en las últimas tres décadas se han utilizado para crear máquinas microscópicas. menor es el material necesario para su fabricación. que se llama un MCM. de tal manera que una parte que lleva el código de 8341 fue fabricado en la semana 41 de 1983. el número de parte. Se requieren técnicas especiales de diseño y necesitan mucho más energía eléctrica que las señales limita al propio chip.35 - . un número de producción de piezas del lote y / o número de serie y un código de cuatro dígitos que identifica cuando el chip ha sido fabricado. Una conferencia diplomática celebrada en Washington. El Tratado sobre la Propiedad Intelectual respecto de los circuitos integrados. Como la mayoría de las otras formas de propiedad intelectual. las serpientes y los registros . flip-chip Ball Grid Array paquetes. en lugar de ser fijada por el fabricante del circuito integrado. En un paquete de FCBGA el dado está montado al revés (volcó) y se conecta con las bolas de paquetes a través de un paquete de sustrato que es similar a un tablero de circuito impreso en lugar de por cables. en comparación con el chip de señales. o aproximadamente en octubre de 1983. Chip etiquetado y fecha de fabricación La mayoría de los circuitos integrados lo suficientemente grande como para incluir información de identificación incluyen cuatro secciones comunes: el nombre del fabricante o el logotipo. tales como puertas lógicas . a menudo de cerámica. DC . tanto en términos del tiempo de expertos altamente calificados y económicamente. automóviles. El límite entre una gran MCM y una pequeña placa de circuito impreso es a veces difusa. pero se ha integrado parcialmente en el Acuerdo sobre los ADPIC acuerdo. Las legislaciones nacionales la protección de los diseños de IC diseño se han adoptado en varios países. se llama SiP. televisores. tales como relojes.5 GHz (Achronix sostiene el récord de velocidad). etc.

las radios no podían ser fabricados en los mismos procesos de bajo costo como los microprocesadores. ya utilizada por el procesador Intel de doble núcleo y los procesadores de AMD. los de operación fija y los programables. que conduce a la 68000 y 88000 serie (utilizado en algunos ordenadores de Apple y en la década de 1980 Commodore Amiga de la serie). un gran número de chips de radio se han desarrollado utilizando procesos CMOS. debido a la tendencia a facilitar y economizar las tareas del hombre. Arte de silicio. condensadores. es representada en electrónica digital por una compuerta. como el de código abierto X10 lenguaje de programación están diseñados para ayudar en esta tarea. debido a que este concepto debe de quedar inmerso dentro de los conocimientos mínimos de una persona. lenguajes de programación paralela . Los ejemplos incluyen teléfonos inalámbricos DECT de Intel. no sólo por aquellos que están en contacto habitual con este. donde cada operación de esta lógica. Pero desde 1998.36 - . y acelerómetros utilizados para desplegar automóvil las bolsas de aire. silicio o de Graffiti garabatos de silicio. La evolución futura parecen seguir la multi-core -microprocesador de múltiples paradigma. algunos diseñadores de chips han utilizado la superficie de silicio para las imágenes subrepticia. CIRCUITOS DIGITALES INTEGRADOS Los circuitos integrados son la base fundamental del desarrollo de la electrónica en la actualidad. usado en muchos ordenadores de la década de 1980 El Motorola 6800 serie de proyectos de chips informáticos. Estos se refieren a veces como la viruta de Arte . el CMOS de contrapartida a la serie 7400 (véase también: serie 74HC00 ) Intel 4004 . . etc. Silicio etiquetado y el Graffiti Para permitir la identificación en chips de silicio de producción más tendrá un número de serie en una esquina. es capaz de hacer las funciones realizadas por la unión en un circuito. etc El MOS Technology 6502 y Zilog Z80 microprocesadores. También es común que añadir el logotipo del fabricante. En el pasado.286 .088 . sino también por las personas en general. o Atheros 802. Según esto los Cis se clasifican en los siguientes niveles o escalas de integración : Sergio E. transistores. Los métodos de fabricación actuales de fabricación permiten construir Cis cuya complejidad está en el rango de una a 105 o más puertas por pastilla. "no para la venta comercial" chip que lleva 80 microprocesadores. Clasificación De Los Circuitos Integrados Existen dos clasificaciones fundamentales de circuitos integrados(CI): los análogos y los digitales. Intel presentó recientemente un prototipo. 80. en este caso nos encargaremos de los circuitos integrados digitales de operación fija. Desde que se crearon circuitos integrados. La complejidad de un CI puede medirse por el número de puertas lógicas que contiene. Esto es en respuesta al límite de calor en comparación con velocidad que está a punto de ser alcanzado mediante la tecnología de transistores existentes. el primer el microprocesador . de varios elementos electrónicos. Un circuito integrado es una pieza o cápsula que generalmente es de silicio o de algún otro material semiconductor.ESCUELA POLITÉCNICA NACIONAL SISTEMAS DIGITALES proyectores . como: resistencias. Este diseño proporciona un nuevo desafío a la programación del chip. lo que llevó a la famosa 8080 de la CPU y luego el IBM PC 's 8. Ávila P. Cada núcleo es capaz de manejar su propia tarea de forma independiente de los demás. que utilizando las propiedades de los semiconductores. no funcionales o palabras. impresoras de inyección de tinta . 486 . Estos circuitos integrales funcionan con base en la lógica digital o álgebra de Boole. Por esto es fundamental el manejo del concepto de circuito integrado.11 s tarjeta. VA notables y familias IC El 555 circuito de la sincronización común El amplificador operacional 741 Serie 7400 TTL bloques de construcción lógica 4000 .

. El CONSUMO de potencia. MSI ( media escala ) : entre 10 y 100 puertas.ESCUELA POLITÉCNICA NACIONAL SISTEMAS DIGITALES SSI ( pequeña escala ) : menor de 10 puertas. La capacidad de integración depende fundamentalmente de dos factores : El ÁREA ocupada por cada puerta.000 puertas. de forma que las características más importantes sean comunes. de forma que si este calor no es disipado convenientemente se producirá un aumento de temperatura que puede provocar un funcionamiento anómalo de los circuitos. que intentan conseguir lo mejor de ambas: un bajo consumo y una alta velocidad. El consumo total del chip es igual al consumo de cada puerta por el número de puertas. Cuanto menor sea esta área mayor será la capacidad de integración a gran escala. Cuadro Comparativo De Las Familias PARAMETRO TTL estándar TTL TTL Schottky de Fairchild 4000B Fairchild 4000B 74L baja potencia (LS) CMOS (con CMOS (con Vcc=5V) Vcc=10V) Tiempo de propagación 10 ns 33 ns 5 ns 40 ns 20 ns de puerta Frecuencia máxima de 35 MHz 3 MHz 45 MHz 8 MHz 16 MHz funcionamiento Potencia disipada por 10 mW 1 mW 2 mW 10 nW 10 nW puerta Margen de ruido 1V 1V 0'8 V 2V 4V admisible Fan out 10 10 20 50 (*) 50 (*)| (*) O lo que permita el tiempo de propagación admisible Sergio E. para que haya una compatibilidad entre fabricantes. La familia lógica ECL se encuentra a caballo entre la TTL y la CMOS. De forma global los componentes lógicos se engloban dentro de una de las dos familias siguientes: TTL: diseñada para una alta velocidad. Si el consumo de cada puerta es elevado se generará mucho calor en el chip debido al efecto Joule.000 puertas. pero en raras ocasiones se emplea. FAMILIAS LÓGICAS Los circuitos digitales emplean componentes encapsulados. Actualmente dentro de estas dos familias se han creado otras. VLSI ( muy alta escala ) : a partir de 10. Estos componentes están estandarizados. que depende a su vez del tipo y del número de transistores utilizados para realizarla. Ávila P.37 - . Esta familia nació como un intento de conseguir la rapidez de TTL y el bajo consumo de CMOS. LSI ( alta escala ) : entre 100 y 10. En un circuito integrado se realizan muchas puertas en un espacio reducido. CMOS: diseñada para un bajo consumo. los cuales pueden albergar puertas lógicas o circuitos lógicos más complejos.

Margen Del Cero Es el rango de tensiones de entrada en que se considera un cero lógico: VIL máx: tensión máxima que se admite como cero lógico. Es el rango de tensiones de entrada en que se considera un uno lógico: VIH máx: tensión máxima que se admite como uno lógico. VIH mín: tensión mínima que se admite como uno lógico. S: Schottky = disipación normal y tiempo de propagación pequeño. AL máx: VH máx . Si trabajamos muy cerca de los límites impuestos por VIH y VIL puede que el ruido impida el correcto funcionamiento del circuito. Margen De Transicion Debido a que dos puertas de la misma familia no suelen tener las mismas características debemos emplear los valores extremos que tengamos. Internamente la familia TTL emplea transistores bipolares (de aquí su alto consumo). .VL máx Amplitud Logica El ruido es el elemento más común que puede hacer que nuestro circuito no funcione habiendo sido diseñado perfectamente.38 - . por lo que vamos a tener una serie de limitaciones impuestas por el propio diseño interno de los dispositivos lógicos. Tension De Alimentacion CMOS: 5 a 15 V (dependiendo de la tensión tendremos un tiempo de propagación). Ávila P. PARÁMETROS DE PUERTA Las puertas lógicas no son dispositivos ideales. El ruido puede ser inherente al propio circuito (como consecuencia de proximidad entre pistas o capacidades internas) o también como consecuencia de ruido exterior (el propio de un ambiente industrial).VL mín AL mín : VH mín . utilizando el valor de VIL máx más bajo y el valor de VIH mín más alto. MT = VIH mín . VIL mín: tensión mínima que se admite como cero lógico. Esta zona no debe ser empleada nunca. TTL : 5 V. 4. Por ello debemos trabajar teniendo en cuenta un margen de ruido: Sergio E. 3.ESCUELA POLITÉCNICA NACIONAL SISTEMAS DIGITALES Dentro de la familia TTL encontramos las siguiente sub-familias: 1. ya que la puerta se comporta de forma incorrecta. LS: Low power Schottky = disipación y tiempo de propagación pequeño. AS: Advanced Schottky = disipación normal y tiempo de propagación extremadamente pequeño. mientras que la familia CMOS emplea transistores MOS (a lo que debe su bajo consumo).VIL máx. L: Low power = dsipación de potencia muy baja 2. Margen Del Uno Se corresponde con el rango de tensiones en que la entrada es indeterminada y puede ser tomada como un uno o un cero.

que se calcula como: Tpd = (Tphl + Tplh)/2 Tiempos De Propagacion Frecuencia Maxima De Funcionamiento Se define como: Fmáx = 1 / (4 * Tpd) Familias Lógicas Del Ti ABT Advanced BiCMOS Technology (Tecnología Avanzada De BiCMOS) Impulsor de alta velocidad.VOL máx VOH y VOL son los niveles de tensión del uno y el cero respectivamente para la salida de la puerta lógica. Supongamos que trabajamos a un nivel bajo de VOL = 0'4 V con VIL máx = 0'8 V. . alto. Tplh = tiempo de paso de nivel bajo a alto. En estas condiciones tendremos un margen de ruido para nivel bajo de: VML = 0'8 . Potencia Disipada Definimos como tiempo de propagación el tiempo transcurrido desde que la señal de entrada pasa por un determinado valor hasta que la salida reacciona a dicho valor. Como norma se suele emplear el tiempo medio de propagación. Los productos de ABT se satisfacen bien para las aplicaciones de la vivir-inserción con un I de la especificación de 0. Nos asegura que en la entrada de las puertas excitadas: VOH es mayor que VOH mín VOL es menor que VOL mín Para el caso en que el FAN OUT sea diferente a nivel bajo y a nivel alto.8 micrones BiCMOS y proporciona al alto mecanismo impulsor hasta 64 mA y retardos de la propagación debajo del rango de 5 ns. Fan Out Es la media de potencia disipada a nivel alto y bajo.1 mA. escogeremos el FAN OUT más bajo para nuestros diseños.39 - . Si además nos encontramos con que el fabricante no nos proporciona el FAN OUT podemos calcularlo como: FAN OUT = IOL máx / IIL máx Donde IOL e IIL son las corrientes de salida y entrada mínimas de puerta. mientras que mantiene el consumo de energía muy bajo. Ávila P. 5 V VCC La familia del megabus-interfaz de ABT es manufacturada con un proceso de 0. Para reducir efectos de la Sergio E.ESCUELA POLITÉCNICA NACIONAL SISTEMAS DIGITALES VMH (margen de ruido a nivel alto) = VOH mín .VIH mín VML (margen de ruido a nivel bajo) = VIL máx . Se traduce en la potencia media que la puerta va a consumir. vamos a tener dos tiempos de propagación: Tphl = tiempo de paso de nivel alto a bajo.0'4 = 0'4 V Ruido Es el máximo número de puertas que podemos excitar sin salirnos de los márgenes garantizados por el fabricante.

y las funciones octales fabricadas usando el proceso de EPIC1-S que produce alto rendimiento en el bajo costo. mecanismo impulsor bajo. y bajo-conducen aplicaciones. Megabus-sostenga el trazado de circuito elimina los resistores externos del pullup en las entradas de información y los resistores serie-series-damping en las salidas para humedecer reflexiones.3 V VCC. AHC/AHCT Advanced High-Speed CMOS Logic (Lógica De alta velocidad Avanzada Del Cmos) velocidad media. la familia de ABT tiene opciones serie-series-damping del resistor. 5 V VCC La familia del ACL de dispositivos se fabrica en 1 µm Cmos y tiene más de 70 funciones incluyendo las puertas. Las características de funcionamiento de la familia de AHC son: 1. los programas pilotos. ALB Advanced Low-Voltage BiCMOS (Low-Voltage Avanzado BiCMOS) Mecanismo impulsor de alta velocidad. Además. 5 V VCC ABTE tiene márgenes más anchos del ruido y es al revés compatible con lógica existente de la TTL. los circuitos integrados a escala media.8 micrones BiCMOS proporcionando al alto mecanismo impulsor hasta 90 mA. que es cerca de tres veces más rápidamente que los dispositivos de HC. Se incluyen en los productos del centro-contacto 16 -. usando tecnología del Cmos. 4.2 ns (octals).Mecanismo impulsor:Salida-conduzca la corriente es ±8 mA en 5 V VCC y ±4 mA en 3. ABTE es manufacturado con un proceso de 0.Velocidad: Con retardos típicos de la propagación de 5. El trazado de circuito de OEC. tales como transmisores-receptores universales del megabus (UBT) emulan una variedad amplia de funciones del megabus-interfaz. hay las piezas especiales de ABT que proporcionan al mecanismo impulsor extremadamente de gran intensidad (180 mA) para transmitir abajo a las líneas de la transmisión de 25 ohmios.Potencia baja:La familia de AHC. exhibe el consumo de energía bajo (corriente estática máxima. Además. 18 -.3 V VCC Sergio E. mecanismo impulsor medio.Ruido bajo:La familia de AHC permite que los diseñadores combinen las características de poco ruido de los dispositivos de HCMOS con los niveles de funcionamiento de hoy sin los problemas de overshoot/undershoot típicos de alto-conduce los dispositivos requeridos generalmente para conseguir velocidades de AHC. 3. AC/ACT Advanced CMOS Logic (Lógica Avanzada Del Cmos) velocidad media. Ávila P. y las funciones del megabus-interfaz 20-bit.40 - . Las opciones de la multiplexación para la interpolación y el megabus de la memoria upsizing o downsizing también se proporcionan. 3. . Se incluyen en la familia los productos estándares del extremo-contacto y el centro-contacto VCC y los productos de la configuración de la tierra con el salida-borde controlan el trazado de circuito (OEC). y los transmisores-receptores. los contadores. los flip-flop. los dispositivos de Widebus tienen megabus- sostienen el trazado de circuito en las entradas de información para eliminar la necesidad de los resistores externos del pullup para flotar entradas de información. Los dispositivos de la CA ofrecen entradas de información de MCOcS-compatible y los dispositivos del ACTO ofrecen entradas de información de TTL-compatible. ABTE/ETL Advanced BiCMOS Technology / Enhanced Transceiver Logic (La Tecnología Avanzada De BiCMOS / Realzó Lógica Del Transmisor-receptor )mecanismo impulsor de alta velocidad. los dispositivos de AHC son la solución rápida y reservada para la operación de la alto-velocidad. de poco ruido. La familia del ACL es una familia confiable. ayuda a reducir el ruido simultáneo de la conmutación asociado a alta lógica de la velocidad. mitad de 40 µA el de HCMOS). 2. disponible solamente con los productos del centro-contacto. 5 V VCC La familia de la lógica de AHC/AHCT proporciona a una migración natural para los utilizadores de HCMOS que necesitan más velocidad para de baja potencia.ESCUELA POLITÉCNICA NACIONAL SISTEMAS DIGITALES transmisión-línea. La familia de la lógica de AHC consiste en las puertas básicas. alto. Los dispositivos de ABTE utilizan la especificación de VME64-ETL con tolerancias apretadas el tiempos de la posición oblicua y de la transición. alto. de baja potencia de la lógica con 24 mecanismos impulsores de la salida de mA. Otras características incluyen un contacto diagonal y los resistores internos del pullup en los contactos del control para el máximo viven protección de la inserción. Las funciones avanzadas del megabus.

y los multiplexores. BCT BiCMOS Bus-Interface Technology (Tecnología De BiCMOS Bus-Interface) mecanismo impulsor de alta velocidad. y potencia muy baja en el modo lisiado. los cierres del repaso. ALVC Advanced Low-Voltage CMOS Technology (Tecnología Avanzada De Low-Voltage Cmos ) Velocidad. alto mecanismo impulsor. ALS Advanced Low-Power Schottky Logic (Lógica Avanzada De Low-Power Schottky) velocidad baja. Usando AS en caminos velocidad-críticos y ALS donde está menos crítica la velocidad. Usando AS en caminos speed-critical y ALS donde está menos crítica la velocidad. Una familia de rápido. multiplexando. los cierres. de la salida 64- mA. los contadores. BCT ofrece la entrada-salida de la TTL con el alto mecanismo impulsor de las velocidades. Diseñado específicamente asegurarse incidente-agite Sergio E. los flip-flop. la ALB proporciona al mecanismo impulsor de 25 mA en 3.3-V. los programas pilotos. los diseñadores pueden optimizar funcionamiento de la velocidad y de la potencia. Esta familia. 3. y los programas pilotos 10-bit. y los multiplexores. los transmisores-receptores. . Mirando al futuro. La familia también incluye las funciones innovadoras para la interpolación de la memoria.6 tecnologías del µm Cmos. los programas pilotos del reloj. los programas pilotos.6 µm tecnologías del BiCMOS para las funciones del megabus- interfaz. los transmisores-receptores registrados. Además. Esta familia. Éstos diseñaron especialmente 5-V tolerante.41 - . puede ser utilizada para optimizar velocidad y potencia del sistema con el presupuesto del funcionamiento. los transmisores-receptores. Ávila P.5-V.3-V.3-V utilizan las 0. ALVT Advanced Low-Voltage BiCMOS Technology (Tecnología Avanzada De Low-Voltage BiCMOS ) mecanismo impulsor de alta velocidad.3 V VCC ALVT es una familia del megabus-interfaz del alto rendimiento 3. Los dispositivos de ALVT tienen megabus-sostienen las células en entradas de información para eliminar la necesidad de los resistores externos del pullup para flotar entradas de información. 9 -. los programas pilotos del reloj. ALVT proporciona al funcionamiento superior. 5 V VCC BCT es una familia de 8 -. los cierres del repaso. e interconectando a DRAMs síncrono. alto. La familia de ALS incluye las puertas. los ficheros del registro. el mecanismo impulsor actual de 64 mA. Estos productos especialmente diseñados 3-V se procesan en 0. combinada con la familia de ALS. alto mecanismo impulsor. 3. entregando 2. puede ser utilizada para optimizar sistemas con el presupuesto del funcionamiento.3 V utiliza las 0. Diseñado específicamente para las aplicaciones del megabus-interfaz. Los dispositivos de ALVC tienen megabus-sostienen las células en entradas de información para eliminar la necesidad de los resistores externos del pullup para flotar entradas de información. combinada con la familia AS. productos 3. alto. los transmisores-receptores registrados. dando los retardos típicos menos de 3 ns de la propagación junto con mecanismo impulsor actual de 24 mA y del consumo de energía estático de 40 µA para las funciones del megabus-interfaz. AS la familia incluye las puertas.3 V de retardos máximos de la propagación de 2. tales como resistores serie-series-damping para reducir efectos de la transmisión-línea. y a 3-state de ciclo inicial para eliminar el cargamento megabus-actual. 5 V VCC Mientras que la familia de la lógica bipolar de alto rendimiento incluye concluido 90 funciones que ofrezcan altas capacidades de mecanismo impulsor. los flip-flop. los ficheros del registro. los contadores. mecanismo impulsor medio.4 retardos de la propagación del ns. los transmisores-receptores.3 V VCC ALVC es una familia del megabus-interfaz del alto rendimiento 3. 5 V VCC La familia de ALS proporciona a un espectro completo concluido de 130 funciones bipolares de la lógica.AS Advanced Schottky Logic (Lógica Avanzada De Schottky) velocidad media. Los productos de ALVT también se satisfacen bien para las aplicaciones de la vivir-inserción con un I apagado de 0. los diseñadores pueden optimizar funcionamiento de la velocidad y de la potencia. especifican a la familia de ALVT ya para la operación 2.6 tecnologías del µm BiCMOS para las funciones del megabus-interfaz.1 mA. y los transmisores-receptores registrados. La familia de ALVT también proporciona a características innovadoras. alto-conduce funciones del megabus- interfaz que proporcione a incidente-agite la conmutación requerida por aplicaciones grandes de la placa madre se ha incorporado en el ofrecimiento de BCT. y el consumo de energía estático de 90 µA.2 ns. Las entradas de información tienen afianzar diodos con abrazadera para eliminar llegan más allá y aterrizaje corto.ESCUELA POLITÉCNICA NACIONAL SISTEMAS DIGITALES La familia especial-diseñada de la ALB de 3.

También pueden usarse dispositivos de CBT como 5-V a 3. y COMO tecnologías. 5 V VCC La familia 64BCT ofrece todas las características encontradas en familia estándar de TÍs BCT. 74F Fast Logic (Lógica rápida) velocidad elemento.3-V traductores y pueden permitirse diseñadores para mezclar 5-V o 3. TI ofrece a una serie de retraso de la propagación bajo y sesga. Además. así como 3 V y 5 V.ESCUELA POLITÉCNICA NACIONAL SISTEMAS DIGITALES cambiar abajo a 25 ohmios. paseo alto. ABT. Cada dispositivo en esta serie entrega 188 mA de la corriente de mecanismo impulsor de I OL. Las funciones del reloj-driver especiales están disponibles en el ACL. rebasa problemas del undershoot. TI proporciona más de 60 funciones incluso las verjas. y la solución eficaz a los requisitos del bus- termination. También en nuestra familia de BCT incluyen a una serie de programas pilotos de la memoria. CDC Clock-Distribution Circuits (Circuitos reloj-distribución) Los CDCs de TI proporcionan principio de circuitería de reloj-generación exacto a cada sistema digital y producen cronometrando signos que se usan para sincronizar actividad del sistema. eficiente. 64BCT 64-Series BiCMOS Technology (tecnología de 64-Series BiCMOS) mecanismo impulsor de alta velocidad. 5 V VCC. alto-entusiasta-fuera chóferes del reloj manejar sistemas del clocking alto rendimiento eficazmente diseñaron. Los drivers del reloj entran buffered (4341 función). el poder y velocidad son dos de las preocupaciones principales. y 18-bit versiones con TTL y traducción de BTL en baje Sergio E. En sistemas digitales de la alta velocidad con las líneas largas de la transmisión. CBT Crossbar Technology Interfaces de bus de velocidad altas En el mercado de la informática de hoy. .1-1991 (BTL) y IEEE 896-1991 (Futurebus+) las normas. 5 V VCC. Los FB serie dispositivos se usan para las aplicaciones del autobús de gran velocidad y son totalmente compatible con el IEEE 1194.3-V componentes en el mismo sistema. buffer/drivers. las ondas de reflejo en la línea pueden causar los aterrizajes cortos del voltaje y llegan más allá que conducen al mal funcionamiento de la entrada manejada. contadores. Estos dispositivos incorporan un resistor serie-series-damping para reducir llegan más allá y el aterrizaje corto que puede ocurrir en aplicaciones memoria-memory-driving. 9 -. flip- flop (4304 función). Un BTA es una serie de diodos que las alertas un signo en un Bus o cualquier otro rastro señalado que usa lógica de alta frecuencia elimina. especifican de -40°C a 85°C e incorpora a la familia el trazado de circuito para proteger el dispositivo en aplicaciones de la live-insertion. Estos transrecibidores están disponibles en 7 -. Ávila P. 8 -. CBT permite a un dispositivo de la bus-interface funcione como un mismo interruptor del bus rápido y aisla buses eficazmente cuando el interruptor está cerrado y ofreciendo retraso de la propagación muy pequeño cuando el interruptor está abierto. los dispositivos en la familia del programa piloto de la bajo-impedancia de BiCMOS pueden maximizar la velocidad y la confiabilidad de sistemas pesadamente cargados. Encontrarse el reloj- signo severo que cronometra requisitos de los sistemas de hoy. FB+/BTL Backplane Transceiver Logic velocidad alta. y phase-locked con llave loop-based (PLL 4586 función) los elementos. Estos dispositivos pueden funcionar como bus de gran velocidad une entre los componentes del computadora-sistema como la unidad del proceso central (CPU) y memoria. paseo alto. latches. CBT puede dirigirse los dos de estos problemas en aplicaciones de la bus-interface. flip-flop. multiplexores. 74F lógica es una familia del general-propósito de lógica bipolar avanzada de gran velocidad. y demultiplexers en la 74F familia de la lógica. transrecibidores del autobús. alto. BTA Bus-Termination Arrays (Matrices De Bus-Termination) La familia de BTA del TI ofrece un space-saving.42 - .

. y alto-bandwidth computando. Más de 100 tipos del dispositivo están disponibles. 5 V VCC. y dividir el examine camino en los segmentos más pequeños. pestillos. TI les ofrece a GTL / TTL traductores unir con los subsistemas TTL-basado. oferta superficie-montaña espacio-salvadora que empaqueta y clases de la múltiple- velocidad para la facilidad de plan. 3. buffer/drivers. y transrecibidores. La familia de LV es 2 µm en un proceso CMOS que proporciona a 8 MA de paseo y propagación tarda de 18 máximo Sergio E. Las funciones de examinar-apoyo incluyen dispositivos por controlar el autobús de la prueba. Esto les permite a diseñadores usar las normas GTL-switching para los subsistemas velocidad-sensibles y usar a los traductores para unir con el resto del sistema. realizando a-velocidad la comprobación funcional. DSP. el byte cambalacheando. contadores. paseo bajo. Los dispositivos de GTL tienen circuitería innovadora. incluso las verjas. La familia de LV entera también ha sido recaracterizada para operar a 5 V. pestillos. Mando de edge-rate de rendimiento (OEC) se ofrece en los rendimientos para reducir interferencia electromagnética (EMI) causado por las frecuencias altas de GTL. autobús emparejando.. GTL Gunning-Transceiver-Logic Technology La tecnología de GTL es un nuevo reduced-voltage que cambia norma que proporciona de gran velocidad. compuestos de una selección ancha de BCT y octals de ABT. y los transrecibidores registrado. y 20-bit opciones de los pulidores normales.ESCUELA POLITÉCNICA NACIONAL SISTEMAS DIGITALES que 5-ns actuación. FIFO First-In. modo de desviación. 18 -. Strobed que se ofrecen FIFOs unidireccionales y bidireccionales en 16 a 4K profundidades de memoria y 4-bit a 18-bit anchuras. Los FIFOs aplicación-específicos de TI se diseñan especialmente para el uso en telecomunicaciones. Ávila P. TI ofrece a una familia llena de lógica de HC/HCT. Otros rasgos incluyen paseo a a 100 MA y alfileres del prejuicio para las aplicaciones de la vivir-inserción. y cada uno de las funciones de examinar-apoyo. Los LV de TI que se diseñan CMOS tecnología productos especialmente a las partes para 3 V impulsan uso del suministro. Para los requisitos de lógica de bajo-poder. LV Low-Voltage CMOS Technology velocidad baja. y tiempo del board- layout. paseo bajo.3 V VCC. en 8 -. comunicaciones del punto-a-punto con dispersión de poder baja. ABT y LVT Widebus. ABT. y microprocesador-como la interface del mando. transrecibidores. LS Low-Power Schottky Logic velocidad baja.1 (JTAG) Boundary-Scan Logic Devices El IEEE 1149. HC/ HCT High-Speed CMOS Logic (Lógica de CMOS de gran velocidad) velocidad baja. y examinar-apoyo funciones corporaciones circuitería que permiten estos dispositivos y los sistemas electrónicos en los que ellos se usan para ser probados sin confianza en técnicas sondeando tradicionales. está disponible. sistemas del internetworking. más manejables. flip-flops. multiplexores. retransmit. FIFOs aplicación-específico. First-Out Memories TI ha extendido su producto de FIFO que ofrece de CMOS Avanzado (ACTO) y BiCMOS Avanzado (ABT) FIFOs. Más de 40 dispositivos. Estos dispositivos incluyen rasgos como paridad genere y verifique.1 (JTAG) boundary-scan la familia de la lógica de octal. El HC familiar ofrece entradas CMOS- compatibles y los HCT familiar ofrece entradas TTL-compatibles. Widebus. Los dispositivos de lógica de Bus-interface están disponibles en BCT.43 - . y tecnologías de LVT. 5 V VCC. El autobús-sostenimiento de LVTH y los rasgos de la resistencia serie-humedeciendo también están disponibles. paseo bajo. La FIFO producto familia incluye clocked que FIFOs unidireccional y bidireccional ofreció en 64 a 8K profundidades de memoria y 1-bit a 36-bit anchuras. como sostenimiento del bus en las entradas eliminar la necesidad por las resistencias externas para entradas flotantes que reducen poder costo. además del Widebus de TI los productos de FIFO. IEEE 1149.

y cualquier número de diodos puede usarse. 24 MA el paseo actual. LVT puede proporcionar a a 64 MA de paseo. Lógica Diodo-Transistor (DTL) El problema básico con compuertas DL es que ellos deterioran el signo lógico rápidamente. El margen de ruido es de alrededor de 1 V y es posible un abanico de salida tan alto como 8. consume menos de 100 µA de poder de reserva. LVTZ Low-Voltage BiCMOS Technology velocidad alta.5 propagación de máximo de ns tarda para los funcionamientos del driver.8 µm BiCMOS-proceso tecnología para las funciones de la bus-interface. 3. Las entradas tienen el rasgo del bus-hold para eliminar las resistencias del pullup externas y I/Os que pueden manejar a a 7 V que les permiten actuar como 5-V/3-V traductores. la puerta básica es la compuerta NOR.44 - . 3. Además. LVT Low-Voltage BiCMOS Technology velocidad alta.ESCUELA POLITÉCNICA NACIONAL SISTEMAS DIGITALES del ns. LVTZ incorpora circuitería para proteger los dispositivos en aplicaciones de la live-insertion. Es decir. La familia de LVC es una versión alto rendimiento con 0.3 V VCC. El dispositivo sube al estado de powered-up durante poder y impulsa abajo que se llama impulsar-a 3 estado (PU3S). . Sin embargo. SSTL Series-Stub Terminated Logic Lógica De Resistor-Transistor (RTL) El circuito mostrado aquí es una puerta de NOR/OR. si el signo se re-amplifica entre las compuertas. El LVTZ familiar ofrece todos los rasgos encontrados en la familia de LVT normal de TI. 5 V VCC. y 6. paseo alto. Una desventaja de este circuito es la resistencia de la entrada al transistor. Como sus 5 V el colega de ABT. Todos los dispositivos de LVC están disponibles con 5 V las entradas tolerantes y rendimientos. Compuerta DTL básica NAND La disipación de potencia de una compuerta DTL es aproximadamente 12 mW y el retardo de propagación promedia 30 ns. Lógica Del Cmos Sergio E. El abanico de salida de la compuerta DTL esta limitado con la corriente máxima que puede fluir en el colector del transistor saturado. No hay ninguna interacción por consiguiente entre las entradas diferentes. mientras teniendo un consumo de poder estático de sólo 20 µA para los dos la bus-interface y funciones de la verja. La disipación de potencia de la compuerta RTL es alrededor de 12 mW y el retardo de propagación promedia 25ns. LVC Low-Voltage CMOS Technology velocidad elemento. Ávila P. Los especialmente diseñaron 3 V LVT los usos familiares la 0. S Schottky Logic (Lógica de Schottky) velocidad baja. Lógica del diodo- transistor (DTL) logra esa meta.3 V VCC Los LVC lógica productos de TI se diseñan especialmente para 3 V impulse suministros. ellos trabajan para una fase en un momento. 3. El circuito básico de la familia lógica digital DTL es la compuerta AND. Su presencia tiende a reducir la velocidad el circuito y limita la velocidad en la que el transistor está cambiar estados así.8 µm CMOS procese tecnología.3 V VCC. y además. paseo alto. VENTAJA de este circuito encima de su RTL equivalente es que la lógica de OR habida realizada por los diodos. paseo bajo. no son resistencias. los meduim manejan. 4-ns propagación tarda.

su resistencia es con eficacia infinita. Los chipsets de la conexión del canal multiplexan y demultiplex líneas de señales lentas de la TTL para proporcionar a un estrecho. El circuito mostrado abajo es un ejemplo práctico de un Cmos 2-input NI puerta. Cuando esta apagado. Este concepto se puede ampliar en las estructuras NI y del NAND combinando los inversores en parcialmente una serie. cuando encendido. Familias Logicas Del Ldv 1.ESCUELA POLITÉCNICA NACIONAL SISTEMAS DIGITALES La lógica del Cmos es una nueva tecnología. sus puertas están conectados juntos para formar la entrada de información. interfaz bajo de la potencia LVDS.- Sergio E. tan bien como una reducción en la cantidad de espacio físico requerida para la huella del conector. También se diseña para resolver las necesidades de las aplicaciones futuras puesto que la fuente de alimentación puede ser tan baja como 2v. La tecnología de LVDS se utiliza en dispositivos del programa piloto de línea simple y de la capa física del receptor así como chipsets más complejos de la comunicación del interfaz. Esta tecnología se basa en el estándar de interfaz de ANSI/TIA/EIA-644 LVDS. Los dos MOSFETs se diseñan para tener características que son complementarios el uno al otro. Observe que ambos transistores son el realce-modo MOSFETs. Estos chipsets proporcionan a ahorros dramáticos de los sistemas en costes del cable y del conector. Las puertas todas del Cmos se basan en el circuito fundamental del inversor mostrado. estructura parcialmente paralela. Puesto que la puerta es esencialmente un circuito abierto que no traza ninguna corriente. Las familias TTL estándar. basada en el uso de los transistores complementarios del MOS de realizar funciones de la lógica con casi ningún actual requerido. y un P-canal con su fuente conectada con +V.45 - . el oscilación de la baja tensión reduce al mínimo la disipación de la potencia mientras que proporciona a las ventajas de la transmisión diferenciada. velocidad. y sus drenes están conectados juntos para formar la salida. LVDS entrega los milivatios de los Megabites para las aplicaciones hambrientas de la transmisión de datos de la anchura de banda de hoy y de mañana. Esto permite que los productos traten las altas tarifas de datos que se extienden a partir de Mbps del 100 a mayor de 1 Gbps. su resistencia del canal está sobre 200 ohms. y el voltaje de la salida será igual o a molido o al voltaje de la fuente de alimentación. La tecnología de LVDS ofrece una señal diferenciada de la baja tensión de 330mV (máximo del abd 450mV de 250mV minuto) y de los tiempos rápidos de la transición. dependiendo de el cual el transistor está conduciendo. El hecho de que trabajarán con los voltajes de fuente de hasta sólo 3 voltios y tan arriba como 15 voltios son también muy provechosos. un N- canal con su fuente puesto a tierra. Evolucion De Las Familias Logicas CARACTERÍSTICAS IMPORTANTES TTL La familia TTL usa transistores del tipo bipolar por lo que está dentro de las familias lógicas bipolares. Las soluciones de LVDS proveen de diseñadores un nuevo alternativa a solucionar problemas de alta velocidad del interfaz de la entrada-salida. Además. Esto hace estas puertas muy útiles en aplicaciones con pilas. Ávila P. LVDS El diferencial de la baja tensión que señala (LVDS) es una nueva tecnología que trata las necesidades de las aplicaciones de hoy de la transmisión de datos del alto rendimiento. .

5 a 5. operable sobre rangos mayores de temperatura (de –55 a +125ºC) y suministro de alimentación (cuya variación en el suministro de voltaje va de 4. hay posibilidad de ocurrencia de oscilaciones en la salida. Utilizados por lo general para fabricar memoria RAM y aplicaciones de conmutación.5 V). -Se presentan situaciones en que una entrada TTL debe mantenerse normalmente BAJA y luego hecha pasar a ALTA por la actuación de un suiche mecánico. serie 74S00: Tiene la mayor velocidad disponible en la línea TTL. serie 74H00: Poseen una velocidad de conmutación mucho más rápida con un retardo promedio de propagación de 6ns. Ávila P. CMOS usa sólo una fracción de la potencia que se necesita para la serie TTL de baja potencia (74L00) y es así apropiada idealmente para aplicaciones que usan potencia de batería o potencia con batería de respaldo. La serie 5400/7400 ha sido una de las familias lógicas de Circuitos Integrados más usadas.75 a 5. por lo que pueden manejar otras 10 entradas. Pero la velocidad aumentada se logra a expensas de una disipación mayor de potencia. TTL de baja potencia. TTL Schotty. Algunas características más importantes de esta familia lógica son: -La disipación de potencia de estado estático de los circuitos lógicos CMOS es muy baja. con la cual es de directa competencia. Contiene algunas funciones disponibles en la serie TTL 7400 y está en expansión constante. esta serie es ideal para aplicaciones en las cuales la disipación de potencia es más crítica que la velocidad. Si los tiempos de subida o de caída son mayores que 1 µs. La serie 7400 opera sobre el rango de temperatura 0 – 70ºC y con una tensión de alimentación de 4. estos dispositivos se caracterizan por una alta velocidad de acceso y un bajo consumo de electricidad. La diferencia entre las versiones 5400 y 7400 es que la primera es de uso militar. al costo de mayores retardos en propagación. -No todas las entradas en un Circuito Integrado TTL se usan en una aplicación particular. por lo que la regulación de la fuente no es una consideración seria para CMOS. pero se espera mejorar en este respecto. todas las entradas son 1 a menos que estén conectadas con alguna señal lógica. El proceso de fabricación del CMOS es más simple que TTL y tiene una densidad de empaque mayor. Circuitos de baja frecuencia operados por batería tales como calculadoras son apropiados para la serie TTL. Cuando se usa CMOS con TTL.75 V. CMOS Acrónimo de Complementary Metal Oxide Semiconductor (Semiconductor Complementario de Óxido Metálico). La velocidad de operación de CMOS no es comparable aún con las series TTL más rápidas. -Los niveles lógicos de voltaje CMOS son 0 V para 0 lógico y + VDD para 1 lógico. permitiendo por consiguiente más circuitería en un área dada y reduciendo el costo por función. Ambas tienen un fan-out típico de 10.46 - . -Las señales de entrada que manejan circuitos TTL deben tener transiciones relativamente rápidas para una operación confiable. TTL de alta velocidad. Otras propiedades de los TTL son: -En cualquier Circuito Integrado TTL. mayormente a expensas de TTL. El suministro + VDD puede estar en el rango 3 V a 15 V para la serie 4000A. el voltaje de la fuente se hace 5 V. Pueden resultar dañados fácilmente por la electricidad estática. siendo los niveles de voltaje de las dos familias los mismos Sergio E.ESCUELA POLITÉCNICA NACIONAL SISTEMAS DIGITALES Texas Instruments (1964) introdujo la primera línea estándar de productos circuitales TTL. serie 74L00: Tienen menor consumo de energía. La serie 4000A es la línea más usada de Circuitos Integrados digitales CMOS. . La lógica CMOS ha emprendido un crecimiento constante en el área MSI.

c. c).. Al primero de ellos se le llama producto canónico y al segundo suma canónica. El número máximo de productos canónicos o sumas canónicas viene dado por las variaciones con repetición de dos elementos tomados de n en n. Verdadero corresponde al valor digital 1. Los teoremas del álgebra de Boole son demostrables a diferencia de los del álgebra convencional. El término abc es un producto canónico mientras que el término a + b + c es una suma canónica. Si. siempre y cuando no se exceda el fan-out de la fuente de señal. b. el producto canónico de todos los posibles 2n.. En la fabricación de los circuitos integrados se usan transistores bipolares par el TTL y transistores MOSFET para La tecnología CMOS. que implica que todas las variables de circuito deben ser 1 o 0. La tabla de verdad de una función lógica es una forma de representación de la misma en la que se indica el valor 1 o 0 que toma la función para cada una de las combinaciones posibles de las variables de las cuales depende. cada termino canónico se expresa mediante un número decimal equivalente al binario obtenido al sustituir las variables ordenadas con un criterio determinado por un 1 o un 0 según aparezcan en su forma directa o complementada respectivamente.. En la siguiente tabla se representa la tabla de verdad de una función de tres variables. Para mayor facilidad de representación.) El valor lógico de f. Estas entradas no usadas pueden también ser conectadas a una de las entradas usadas.. la fusión toma el valor lógico 1. Ávila P. depende del de las variables a. c. . Para poder realizar esto se emplean las llamadas tablas de verdad que no son otra cosa que representaciones gráficas de todos los casos que pueden darse en una relación y de sus respectivos resultados.ESCUELA POLITÉCNICA NACIONAL SISTEMAS DIGITALES -La velocidad de conmutación de la familia CMOS 4000A varía con el voltaje de la fuente. Se llama termino canónico de una función lógica a todo producto o suma en la cual aparecen todas las variables en su forma directa o inversa. Por ejemplo sea una función de tres variables f (a. porque estas entradas serían susceptibles al ruido. El número de productos o sumas canónicas de n variables es por lo tanto 2n. según el tipo de operación que describen y si las variables son verdaderas o falsas. b. El álgebra utilizada para resolver problemas y procesar la información en los sistemas digitales se denomina álgebra de Boole.47 - . llamadas tablas booleanas. ha de formar parte de la función. Se representa una función lógica por la expresión f = f (a. preferiblemente tierra o VDD.. La deducción del producto canónico correspondiente es inmediata asignando al estado 0 la variable inversa y al estado 1 la variable directa. producto lógico. b. para una determinada combinación de las entradas. CIRCUITOS INTERNOS EN LOS CHIPS Sergio E. -Todas las entradas CMOS deben estar conectadas a algún nivel de voltaje. suma lógica e inversión. El álgebra booleana considera que las proposiciones lógicas son verdaderas o falsas. presentan todas las posibles combinaciones de entrada frente a las salidas resultantes. FUNCIONES Y TABLAS DE VERDAD Una función de un Álgebra de Boole es una variable binaria cuyo valor es igual al de una expresión algebraica en la que se relacionan entre sí las variables binarias por medio de las operaciones básicas. mientras que falso corresponde a 0. que vale 1 para dicha combinación. Diferencias más importantes: Los voltajes de alimentación son de 5V para los circuitos TTL y de 3 V a 15 V para los circuitos CMOS. Los circuitos digitales operan en el sistema numérico binario. Entradas no usadas no pueden dejarse flotado (desconectadas). Esto es altamente improbable debido al alto fan-out del CMOS. Las tablas de verdad. basada sobre la lógica más que sobre el cálculo de valores numéricos reales.. por el método de inducción completa. El circuito integrado CMOS es de menor consumo de energía pero de menor velocidad que los TTL. La deducción de la forma canónica de la función por medio de la tabla de verdad resulta sencilla.

Lógica Diodo-Transistor (DTL) El problema básico con compuertas DL es que ellos deterioran el signo lógico rápidamente. en donde por medio de la UCE (Unidad Central Electrónica) va a calcular el momento de encendido correcto para todos los estados de servicio. Cuando esta apagado. paseo bajo. dependiendo de el cual el transistor está conduciendo. VENTAJA de este circuito encima de su RTL equivalente es que la lógica de OR habida realizada por los diodos. Sin embargo. por ser más fiables y económicos.48 - . El LVTZ familiar ofrece todos los rasgos encontrados en la familia de LVT normal de TI. motor y posición PMS que le envían los sensores.m. y sus drenes están conectados juntos para formar la salida. La disipación de potencia de la compuerta RTL es alrededor de 12 mW y el retardo de propagación promedia 25ns. . no son resistencias. estructura parcialmente paralela. la puerta básica es la compuerta NOR. Sergio E. Su presencia tiende a reducir la velocidad el circuito y limita la velocidad en la que el transistor está cambiar estados así. S Schottky Logic (Lógica de Schottky) velocidad baja. 5 V VCC. entre los cuales tenemos: Régimen r.ESCUELA POLITÉCNICA NACIONAL SISTEMAS DIGITALES Los circuitos internos utilizan los chips. Puesto que la puerta es esencialmente un circuito abierto que no traza ninguna corriente. y cualquier número de diodos puede usarse.p. Temperatura motor enviada por el Transmisor ó Resistencia inversa NTC. Este concepto se puede ampliar en las estructuras NI y del NAND combinando los inversores en parcialmente una serie. si el signo se re-amplifica entre las compuertas. sus puertas están conectados juntos para formar la entrada de información. Lógica Del Cmos La lógica del Cmos es una nueva tecnología. El hecho de que trabajarán con los voltajes de fuente de hasta sólo 3 voltios y tan arriba como 15 voltios son también muy provechosos. El abanico de salida de la compuerta DTL esta limitado con la corriente máxima que puede fluir en el colector del transistor saturado. No hay ninguna interacción por consiguiente entre las entradas diferentes. su resistencia del canal está sobre 200 ohms. Compuerta DTL básica NAND La disipación de potencia de una compuerta DTL es aproximadamente 12 mW y el retardo de propagación promedia 30 ns. ellos trabajan para una fase en un momento. El margen de ruido es de alrededor de 1 V y es posible un abanico de salida tan alto como 8. El dispositivo sube al estado de powered-up durante poder y impulsa abajo que se llama impulsar-a 3 estado (PU3S). SSTL Series-Stub Terminated Logic Lógica De Resistor-Transistor (RTL) El circuito mostrado aquí es una puerta de NOR/OR. El circuito mostrado abajo es un ejemplo práctico de un Cmos 2-input NI puerta. Una desventaja de este circuito es la resistencia de la entrada al transistor. y un P-canal con su fuente conectada con +V. Las puertas todas del Cmos se basan en el circuito fundamental del inversor mostrado. Además. Los dos MOSFETs se diseñan para tener características que son complementarios el uno al otro. y el voltaje de la salida será igual o a molido o al voltaje de la fuente de alimentación. su resistencia es con eficacia infinita. Es decir. Lógica del diodo-transistor (DTL) logra esa meta. El circuito básico de la familia lógica digital DTL es la compuerta AND. LVTZ incorpora circuitería para proteger los dispositivos en aplicaciones de la live-insertion. Presión en Colector Admisión medido por el Transmisor ó Resistencia PTC. cuando encendido. Observe que ambos transistores son el realce-modo MOSFETs. un N- canal con su fuente puesto a tierra. Esto hace estas puertas muy útiles en aplicaciones con pilas. Una de sus finalidades corresponde al funcionamiento del encendido totalmente electrónico. Ávila P. basada en el uso de los transistores complementarios del MOS de realizar funciones de la lógica con casi ningún actual requerido.

Esta tecnología se basa en el estándar de interfaz de ANSI/TIA/EIA-644 LVDS. serie 74L00: Tienen menor consumo de energía. el oscilación de la baja tensión reduce al mínimo la disipación de la potencia mientras que proporciona a las ventajas de la transmisión diferenciada. Circuitos de baja frecuencia operados por batería tales como calculadoras son apropiados para la serie TTL.ESCUELA POLITÉCNICA NACIONAL SISTEMAS DIGITALES Familias Logicas Del Ldv 2. serie 74S00: Tiene la mayor velocidad disponible en la línea TTL. -No todas las entradas en un Circuito Integrado TTL se usan en una aplicación particular. Estos chipsets proporcionan a ahorros dramáticos de los sistemas en costes del cable y del conector. .- Texas Instruments (1964) introdujo la primera línea estándar de productos circuitales TTL. La tecnología de LVDS se utiliza en dispositivos del programa piloto de línea simple y de la capa física del receptor así como chipsets más complejos de la comunicación del interfaz. interfaz bajo de la potencia LVDS. Además.49 - . La serie 7400 opera sobre el rango de temperatura 0 – 70ºC y con una tensión de alimentación de 4. También se diseña para resolver las necesidades de las aplicaciones futuras puesto que la fuente de alimentación puede ser tan baja como 2v. por lo que pueden manejar otras 10 entradas. Las soluciones de LVDS proveen de diseñadores un nuevo alternativa a solucionar problemas de alta velocidad del interfaz de la entrada-salida. todas las entradas son 1 a menos que estén conectadas con alguna señal lógica. La tecnología de LVDS ofrece una señal diferenciada de la baja tensión de 330mV (máximo del abd 450mV de 250mV minuto) y de los tiempos rápidos de la transición. Otras propiedades de los TTL son: -En cualquier Circuito Integrado TTL. Sergio E.5 V).5 a 5. LVDS El diferencial de la baja tensión que señala (LVDS) es una nueva tecnología que trata las necesidades de las aplicaciones de hoy de la transmisión de datos del alto rendimiento. TTL Schotty. esta serie es ideal para aplicaciones en las cuales la disipación de potencia es más crítica que la velocidad. TTL de alta velocidad. CARACTERÍSTICAS IMPORTANTES TTL La familia TTL usa transistores del tipo bipolar por lo que está dentro de las familias lógicas bipolares. TTL de baja potencia. Ávila P. Pero la velocidad aumentada se logra a expensas de una disipación mayor de potencia. LVDS entrega los milivatios de los Megabites para las aplicaciones hambrientas de la transmisión de datos de la anchura de banda de hoy y de mañana. al costo de mayores retardos en propagación. Esto permite que los productos traten las altas tarifas de datos que se extienden a partir de Mbps del 100 a mayor de 1 Gbps. La serie 5400/7400 ha sido una de las familias lógicas de Circuitos Integrados más usadas. -Se presentan situaciones en que una entrada TTL debe mantenerse normalmente BAJA y luego hecha pasar a ALTA por la actuación de un suiche mecánico. Ambas tienen un fan-out típico de 10. operable sobre rangos mayores de temperatura (de –55 a +125ºC) y suministro de alimentación (cuya variación en el suministro de voltaje va de 4.75 a 5.75 V. serie 74H00:Poseen una velocidad de conmutación mucho más rápida con un retardo promedio de propagación de 6ns. velocidad. tan bien como una reducción en la cantidad de espacio físico requerida para la huella del conector. La diferencia entre las versiones 5400 y 7400 es que la primera es de uso militar. Las familias TTL estándar. Los chipsets de la conexión del canal multiplexan y demultiplex líneas de señales lentas de la TTL para proporcionar a un estrecho.

-La velocidad de conmutación de la familia CMOS 4000A varía con el voltaje de la fuente. por ser más fiables y económicos. Estas entradas no usadas pueden también ser conectadas a una de las entradas usadas.m. CIRCUITO INTEGRADO DE APLICACIÓN ESPECÍFICA Sergio E. Diferencias mas importantes: Los voltajes de alimentación son de 5V para los circuitos TTL y de 3 V a 15 V para los circuitos CMOS. Algunas características más importantes de esta familia lógica son: -La disipación de potencia de estado estático de los circuitos lógicos CMOS es muy baja. porque estas entradas serían susceptibles al ruido. mayormente a expensas de TTL. siendo los niveles de voltaje de las dos familias los mismos . Ávila P. CIRCUITOS INTERNOS EN LOS CHIPS Los circuitos internos utilizan los chips. -Todas las entradas CMOS deben estar conectadas a algún nivel de voltaje. CMOS Acrónimo de Complementary Metal Oxide Semiconductor (Semiconductor Complementario de Óxido Metálico). en donde por medio de la UCE (Unidad Central Electrónica) va a calcular el momento de encendido correcto para todos los estados de servicio. Contiene algunas funciones disponibles en la serie TTL 7400 y está en expansión constante. Temperatura motor enviada por el Transmisor ó Resistencia inversa NTC. Entradas no usadas no pueden dejarse flotado (desconectadas).ESCUELA POLITÉCNICA NACIONAL SISTEMAS DIGITALES -Las señales de entrada que manejan circuitos TTL deben tener transiciones relativamente rápidas para una operación confiable. El circuito integrado CMOS es de menor consumo de energía pero de menor velocidad que los TTL. con la cual es de directa competencia. entre los cuales tenemos: Régimen r. El suministro + VDD puede estar en el rango 3 V a 15 V para la serie 4000A. -Los niveles lógicos de voltaje CMOS son 0 V para 0 lógico y + VDD para 1 lógico. permitiendo por consiguiente más circuitería en un área dada y reduciendo el costo por función. La velocidad de operación de CMOS no es comparable aún con las series TTL más rápidas. motor y posición PMS que le envían los sensores. por lo que la regulación de la fuente no es una consideración seria para CMOS. CMOS usa sólo una fracción de la potencia que se necesita para la serie TTL de baja potencia (74L00) y es así apropiada idealmente para aplicaciones que usan potencia de batería o potencia con batería de respaldo. Pueden resultar dañados fácilmente por la electricidad estática. Si los tiempos de subida o de caída son mayores que 1 µs.50 - . estos dispositivos se caracterizan por una alta velocidad de acceso y un bajo consumo de electricidad.p. Cuando se usa CMOS con TTL. . pero se espera mejorar en este respecto. hay posibilidad de ocurrencia de oscilaciones en la salida. preferiblemente tierra o VDD. El proceso de fabricación del CMOS es más simple que TTL y tiene una densidad de empaque mayor. La lógica CMOS ha emprendido un crecimiento constante en el área MSI. Utilizados por lo general para fabricar memoria RAM y aplicaciones de conmutación. siempre y cuando no se exceda el fan-out de la fuente de señal. En la fabricación de los circuitos integrados se usan transistores bipolares par el TTL y transistores MOSFET para La tecnología CMOS. La serie 4000A es la línea más usada de Circuitos Integrados digitales CMOS. Presión en Colector Admisión medido por el Transmisor ó Resistencia PTC. Esto es altamente improbable debido al alto fan-out del CMOS. Una de sus finalidades corresponde al funcionamiento del encendido totalmente electrónico. el voltaje de la fuente se hace 5 V.

El diseño basado en Celdas Estándares es el uso de estos bloques funcionales para alcanzar densidades de puertas muy altas. capacitancias e inductancias. para describir la funcionalidad de estos dispositivos. casi siempre producen un dispositivo final que implementa correctamente el diseño original. que podían ser representadas en las herramientas desarrolladas por terceros. Las FPGA (Field Programmable Gate Arrays. las FPGAs pueden tener un costo menor que un diseño equivalente basado en ASIC. o SoC. Cada fabricante de ASIC creaba bloques funcionales con características eléctricas conocidas. 2. y luego implementaba el diseño utilizando las herramientas provistas por ese fabricante en particular. especialmente en las tecnologías más densas. Diseño basado en Celdas Estándares (Standard Cell) A mediados de 1980. utilizando un HDL. así como otros tipos de módulos. Los diseñadores de ASIC digitales usan lenguajes descriptores de hardware (HDL). Sergio E. es un circuito integrado hecho a la medida para un uso en particular. Por ejemplo.51 - . un chip diseñado únicamente para ser usado en un teléfono móvil es un ASIC. estuvieron disponibles las herramientas de síntesis lógica. alrededor de 1980. y un buen desempeño eléctrico. Un equipo de ingenieros de diseño comienza con la compresión no formal de las funciones requeridas por el ASIC a diseñar. con moldes base configurados tanto por las capas metálicas como polisiliconicas. Estas herramientas podían compilar descripciones HDL en una lista de nodos al nivel de puertas. en término de los costos fijos y de fabricación de cada unidad. Esto dio paso a un estilo de diseño llamado Diseño basado en Celdas Estándares. Este tipo de diseño se ubica entre diseño de Matriz de Puertas. Historia Los primeros ASIC utilizaban tecnología de matriz de puertas. El equipo de Gdiseño construye una descripción del ASIC para alcanzar estos objetivos. un diseñador elegía a un fabricante de ASIC. más de un millón de dólares para una tecnología de 90nm o menor. A pesar de que existían herramientas de diseño provista por terceros. ROM.} Con los avances en la miniaturización y en las herramientas de diseño. y por ende la funcionalidad.000 puertas lógicas a más de 100 millones. o ASIC por sus siglas en inglés. en un ASIC ha crecido desde 5. En un lugar intermedio entre los ASIC y los productos de propósito general están los Productos Estándar para Aplicaciones Específicas. Las versiones posteriores fueron más generalizadas. Por otro lado. usualmente derivada del análisis de requerimientos. debido a que el costo fijo (el costo para preparar una línea de producción para que fabrique un ASIC en particular). Las ULAs tenían complejidades de hasta algunos miles de puertas. Estos pasos. Para los diseños más pequeños o con volúmenes de producción más bajos. matriz de puertas programables) son la versión moderna de los prototipos con puertas lógicas de la serie 7400. Se usan para una función especifica. o ASSP por sus siglas en inglés. Este tipo de diseño contempla las siguientes etapas conceptuales. . Este proceso es similar a escribir un programa computacional en un lenguaje de alto nivel. Hacia finales de 1980. llevados a cabo con el nivel de habilidad común en la industria. en vez de ser concebido para propósitos de uso general.ESCUELA POLITÉCNICA NACIONAL SISTEMAS DIGITALES Un Circuito Integrado para Aplicaciones Específicas. Los ASIC modernos a menudo incluyen procesadores de 32-bit. fue la implementación de Celdas Estándares. la complejidad máxima. no había un enlace efectivo entre éstas y los procesos productivos de los fabricantes. a menos que se introduzcan fallas al nivel físico de fabricación. por sus siglas en inglés. aunque en la práctica estas etapas se traslapan significativamente. Algunos moldes base incluían elementos de RAM. tales como los tiempos de propagación. Este tipo de ASIC frecuentemente es llamado Sistema en un Chip. Una solución a este problema. los circuitos integrados de la serie 7400 son circuitos lógicos (combinacionales o secuenciales) que se pueden utilizar para una multiplicidad de aplicaciones. la ULA (Uncommitted Logic Array o Matriz lógica no fija). y el diseño hecho totalmente a la medida. tales como el Design Compiler. Este usualmente es llamado el diseño RTL (Register Transfer Level). EEPROM y Flash. es muy alto. bloques de memoria RAM. Ávila P. El diseño a la medida se realizaba al variar la máscara de interconexión metálica. tales como Verilog o VHDL. Contienen bloques de lógica programable e interconexiones programables que permiten a un modelo de FPGA ser usada en muchas aplicaciones distintas. Ferranti fabricó tal vez la primera matriz de puertas. que además permitió aumentar la densidad de los ASIC. 1.

una unidad DSP. y los "sistemas en un chip" (SoC) requieren más que sólo bloques lógicos. Este cambio se debe principalmente a que los ASIC son capaces de integrar estos grandes bloques de sistemas funcionales. esto consiste de dos a cinco capas metálicas. . Los ASIC basados en MAtriz de puertas requieren siempre de un compromiso. También es importante para el diseñador que con este método se pueden conseguir retardos de propagación mínimos. desconectadas. La herramienta de ruteo toma la ubicación física de las celdas. Estos elementos son tomados desde una biblioteca. probablemente se utilice el término "Semi a la medida". inversores. ya que al determinar la correspondencia de un diseño determinado con las obleas que el fabricante tiene es stock. un costo por unidad marginalmente superior. requieren migrar a un dispositivo con un arreglo más grande. memorias y bloques lógicos reconfigurables. que consisten en un gran núcleo IP (Intellectual Property). mientras que si se es un diseñador a nivel lógico. Cuando estas pruebas finalizan. a diferencia de las matrices de puertas. llamados Celdas Estándares. cada una perpendicular a la que la precede. La diferencia significativa es que el diseño con Celdas Estándares utiliza la biblioteca de celdas del fabricante. 5. 4. se utiliza "Matriz de puertas" (Gate Array). es llamado la lista de nodos a nivel de puertas. 7. y pueden también integrar núcleos IP y SRAM en una forma efectiva. En la actualidad. etc. Sergio E. El proceso de diseño físico luego define la interconexión del dispositivo final. que ha sido utilizada en potencialmente cientos de otros diseños. y utiliza el listado de nodos para crear las conexiones eléctricas entre ellas. junto a la interconexión de ellas. que consiste en una colección de puertas precaracterizadas (tales como NOR de 2 entradas. y por lo tanto constituyen un riesgo mucho menor que un diseño hecho totalmente a la medida. comparado con las soluciones basadas en FPGAs disponibles en el mercado. Hoy. Estos pasos de diseño son también comunes al diseño de un producto estándar. Para la mayoría de de los fabricantes de ASIC. Estos problemas frecuentemente son resultado del software utilizado para desarrollar las interconexiones. La salidad de esta etapa es un conjunto de fotomáscaras. las cuales pueden ser programadas por el usuario. y desempeño comparable. Las celdas estándares usualmente son específicas para el fabricante del ASIC. y las obleas que contienen estos dispositivos se mantienen en stock antes de la metalización.52 - . Esta ubicación está sujeta a un conjunto de restricciones. Estas pruebas demostrarán que el dispositivo funcionará en los rangos de temperatura y voltaje extremos. periféricos. Diseño basado en Matriz de Puertas (Gate Array) El diseño basado en Matriz de Puertas es un método de manufactura en donde las capas difundidas. En ocasiones se utilizan técnicas avanzadas para optimizar el posicionamiento. El término "Matriz de puertas" (Gate Array) es casi sinónimo del término "Semi a la medida" (Semi-Custom). la información de las fotomáscaras en entregada para la fabricación del chip. Las Celdas Estándares producen una densidad de diseño con un costo comparativamente más bajo. es decir. NAND de 2 entradas. los transistores y otros elementos activos están predefinidos. y son reemplazados por dispositivos programables. La lista de nodos es luego procesada por una herramienta de posicionamiento. con el consecuente aumento en el costo del dispositivo. como un procesador. Ávila P.). si se es un ingeniero de proceso. los diseños formados solamente por puertas lógicas raramente son implementados con Matriz de puertas. y el costo fijo asociado es mínimo. la cual ubica las Celdad Estándares en una región que representa el ASIC final. Los costos fijos son mucho más bajos. Un sistema virtual. A menudo las dificultades que aparecen al rutear las interconexiones. las resistencias y capacitancias parásitas y del consumo de energía. 6. las Matrices de puertas están evolucionando en ASIC estructurados.ESCUELA POLITÉCNICA NACIONAL SISTEMAS DIGITALES 3. El término utilizado depende de quién lo utilice. Estas estimaciones son usadas en la ronda final de pruebas. implementado a nivel de software puede simular el desempeño de los ASIC a velocidades equivalentes de mil millones de instrucciones por segundo. ya que la metalización es un proceso comparativamente más rápido. nunca da una utilización del 100%. es decir. y los ciclos productivos son mucho más cortos. Una herramienta de síntesis lógica convierte el diseño RTL en un gran conjunto de elementos de bajo nivel. La validez del diseño es verificada a través de una simulación. ya que las máscaras litográficas se requieren sólo para las capas metálicas. con las que el fabricante producirá los circuitos integrados. El conjunto resultante de Celdas Estándares. como las FPGA. Se puede hacer una estimación bastante precisa de los retardos finales.

la premisa básica es que tanto el ciclo de manufactura como el ciclo de diseño se reducen comparado con los ASIC basados en celdas. se entregan bajo un acuerdo de confidencialidad y serán considerados como propiedad intelectual del fabricante. Los beneficios de este método usualmente incluye un área reducida (y consecuentemente costos por unidad menores). el diseñador puede nuevamente ahorrar tanto tiempo como dinero. En los ASIC estructurados. lo que también permite acelerar la manufactura. La tecnología de "ASIC estructurados" es vista como el puente que une la barrera entre las FPGA y los diseños ASIC de celdas estándares. Una definición establece que en un diseño ASIC estructurado. Diseño estructurado (Structured Array) El diseño estructurado de ASIC es una expresión ambigua. a la misma definición de una Matriz de Puertas. y una pre-caracterización de lo que está en el silicio (lo que reduce el tiempo de diseño). Aunque no tienen un costo adicional. Esto corresponde. y ofrecen la posibilidad de optimizar manualmente cualquier aspecto que limite el desempeño del diseño. las herramientas utilizadas para los ASIC estructurados pueden reducir sustancialmente y facilitar el diseño. como son los microprocesadores que forman un SoC. mejoras en el desempeño y también la habilidad de integrar componentes analógicos y otros componentes pre-diseñados. lo que se traduce en un ahorro de tiempo y costos. diseño basado en IP. El diseño se realiza al crear capas de metal hechas a la medida. Las herramientas de layout automático son rápidas y fáciles de usar. Lo que hace a los ASIC estructurados diferente de las matrices de puertas es que en estas últimas.ESCUELA POLITÉCNICA NACIONAL SISTEMAS DIGITALES Diseño hecho totalmente a la medida (Full Custom Circuits) Por otro lado. lo que explica que haya variaciones en su definición. en efecto. mayor complejidad del software CAD y la necesidad de habilidades mucho mayores por parte del equipo de diseño. costos fijos mayores. por lo cual se denominan "macros duros". los que requieren producir un conjunto completo de máscaras para cada diseño. Éste es un término relativamente nuevo en la industria. Este se utiliza tanto para el diseño de ASIC como para el diseño de productos estándares. las capas metálicas predefinidas sirven para acelerar el proceso de fabricación. Por ejemplo. Ávila P. las máscaras de las capas lógicas están predefinidas por el vendedor del ASIC (en algunos caso por un tercero). pueden ofrecer ventajas considerables en términos de costos y desempeño junto a un bajo riesgo. Sin embargo. comparado con el diseño de IP en ASIC basadas es celdas. en un diseño basado en celdas o en matriz de puertas. . éstas están predefinidas en la mayoría de los ASIC estructurados. las librerías de "celdas estándares". comúnmente son suministrados por el fabricante del dispositivo como parte de sus servicios. los "ASIC estructurados" tienen costos fijos menores que los chip basados en celdas estándares o hechos totalmente a la medida. con diferentes significados dependiendo del contexto. Las desventajas del diseño totalmente a la medida son un costo y tiempo de desarrollo mayores. Al construir la IP directamente en la arquitectura. el diseño hecho totalmente a la medida define la totalidad de las capas litográficas del dispositivo. En algunos casos. y también se utiliza para reducir el ciclo de desarrollo. Sin embargo. gracias a la existencia de capas metálicas predefinidas (que reducen el tiempo de fabricación). la metalización predefinida sirve principalmente para reducir el costo del conjunto de máscaras. ya que la herramienta no tienen que realizar todas las funciones necesarias para los ASIC basados en celdas. Usualmente su diseño físico estará predefinido. ya que existen diferencias significativas entre las ofertas de los distintos vendedores. Debido a que sólo un número pequeño de las capas del chip deben ser producidas a la medida.53 - . Asimismo. el usuario a menudo debe diseñar la alimentación. o segmentos de la industria. los vendedores de ASIC estructurados requieren de herramientas hechas a la medida para usar sus dispositivos. junto con los sistemas CAD modernos. para diseños puramente digitales. el reloj y las estructuras de prueba. Otro aspecto importante sobre los ASIC estructurados es que permiten el uso de IP que son comunes a ciertas aplicaciones. El mejor consejo es leer cuidadosamente como el vendedor define un ASIC estructurado en particular. Sergio E. macros Las bibliotecas de celdas de primitivos lógicos. Librería de celdas. que crean conexiones entre los elementos predefinidos de las capas inferiores. en vez de ser diseñados.

y las organizaciones más grandes pueden tener un departamento completo para producir estas IP para el resto de la organización. es muy importante recordar éste echo. Los macros suaves a menudo no dependen del proceso. los decodificadores para las pantallas de siete segmentos comerciales tienen capacidad para desplegar valores adicionales que corresponden a las letras A a la F para representaciones hexadecimales. Actualmente muchas organizaciones venden estas IP prediseñadas. Un ejemplo común de un circuito combinacional es el decodificador de siete segmentos. o como un diseño totalmente ruteado que puede ser impreso directamente en la máscara del ASIC. diseños comprados a terceros como subcomponentes de un ASIC más grande. El fabricante es a menudo llamado como "fundición de silicio". como cada salida corresponde a una función lógica individual. en el 2008 son asumibles diseños en 65nm con más de 10 millones de puertas. Sea D el bit de alto orden de éste número y A el bit de bajo orden. El servicio incluye el suministro de una base de datos de diseños físicos. Los macros duros están limitados a un proceso. El contrato incluye el ensamblaje de un puñado de dispositivos. y es necesario esfuerzos adicionales para migrarlos a otros procesos o empresas. 0 a b c d e f 1 b c Sergio E. que contienen varios diseños. se trata de un circuito que acepta cuatro entradas y determina cuál de los siete segmentos se deben iluminar para representar la respectiva entrada. MPW por sus siglas en inglés. el segmento e debe iluminarse para los valores 0000. FPGAs Las FPGA (Field Programmable Gate Array. Circuitos combinacionales Un circuito combinacional es un sistema que contiene operaciones booleanas básicas (AND. De hecho. ethernet. cada salida representa una función booleana diferente. sin embargo la mecánica para iluminar los respectivos segmentos es similar a la aquí representada para los valores numéricos. de acuerdo con lo dicho en el párrafo anterior. por ejemplo.54 - . debido a la poca participación que tienen durante el proceso. reduce drásticamente los ciclos de los productos y mejora su calidad. como crear propiedad intelectual toma mucho tiempo y dinero. el amplio rango de funciones disponibles en la actualidad es un factor significativo en el aumento de la electrónica en los años 1990 y 2000. matriz de puertas programables) se asemejan a las matrizes de puertas pero son programables por el usuario en lugar de fabricadas a medida para cada aplicación. A menudo llamados ""shuttles"". Pueden suministrarse como una descripción HDL (a menudo denominadas "macros blandos"). un circuito combinacional a menudo implementa varias funciones booleanas diferentes. se fabrican a intervalos regulares. como un método para obtener prototipos de bajo costo. esto las hace suficientes para la mayoría de aplicaciones. Las cuatro entradas para cada una de éstas funciones booleanas son los cuatro bits de un número binario en el rango de 0 a 9. tenga en cuenta que sólo se están representando valores en el rango de 0 a 9. Por ejemplo. se deben implementar siete funciones de salida diferentes. 0110 y 1000. . una para cada segmento. pueden ser fabricados en un amplio rango de procesos de manufactura y por diferentes empresas. es decir. uno puede comprar CPUs. NOT).ESCUELA POLITÉCNICA NACIONAL SISTEMAS DIGITALES Pero lo que la mayoría de los ingenieros entiende como "propiedad intelectual" son los núcleos IP. comúnmente con poca responsabilidad por parte del fabricante. USB o interfaces telefónicas. La ley de Moore y el creciente coste de inversión de las tecnologías juega a su favor y hace que su cuota de mercado crezca consistentemente cada año. Ávila P. estos MPW. algunas entradas y un juego de salidas. cada función lógica debe producir un uno (para el segmento encendido) para una entrada dada si tal segmento en particular debe ser iluminado. Ver el artículo dedicado a las FPGAs Obleas multiproyecto Algunos fabricantes ofrecen obleas multiproyecto. decenas de megabits de RAM e incluso varios procesadores. Aunque su densidad siempre será menor consiguen integrar un gran número de puertas. En la siguiente tabla se puede ver qué segmentos deben iluminarse de acuerdo al valor de entrada. 0010. OR. su reutilización y desarrollos posteriores.

Entre los circuitos combinacionales clásicos tenemos: Lógicos Generador/Detector de paridad Multiplexor y Demultiplexor Codificador y Decodificador Conversor de código Comparador Aritméticos Sumador Aritméticos y lógicos Unidad aritmético lógica Éstos circuitos están compuestos únicamente por puertas lógicas interconectadas entre sí. para una puerta OR sería . dividir y muchas otras aplicaciones más.XOR) son booleanas (de Boole) donde cada función se puede representar en una tabla de la verdad. multiplicar. Ávila P. En electrónica digital la lógica combinacional está formada por ecuaciones simples a partir de las operaciones básicas del álgebra de Boole. Los circuitos combinacionales son la base de muchos componentes en un sistema de cómputo básico. dividir y muchas otras aplicaciones más. . Funciones Combinacionales Todos los circuitos combinacionales pueden representarse empleando álgebra de Boole a partir de su función lógica. un sistema combinacional compuesto exclusivamente por una puerta AND tendría dos entradas A y B. Un Sergio E. Por ejemplo. Esto permite emplear diferentes métodos de simplificación para reducir el número de elementos combinacionales que forman el sistema Decodificadores Cantaidades discretas de información se presentan en sistemas digitales con códigos binarios. De este modo.NAND. el siguiente esquema se define por la función indicada debajo del mismo. restar.ESCUELA POLITÉCNICA NACIONAL SISTEMAS DIGITALES 2 a b d e g 3 a b c d g 4 b c f g 5 a c d f g 6 c d e f g 7 a b c 8 a b c d e f g 9 a b c f g Los circuitos combinacionales son la base de muchos componentes en un sistema de cómputo básico. Por tanto. se puede construir circuitos para sumar. se puede construir circuitos para sumar. Estas operaciones se pueden combinar formando funciones más complejas.AND. multiplicar. comparar. Así. Un código binario de n bits es capaz de representar hasta 2 n elementos diferentes de información codificada.55 - . comparar. sin que intervengan en ningún caso estados anteriores de las entradas o de las salidas. generando de forma matemática el funcionamiento del sistema combinacional. SISTEMA COMBINACIONAL Se denomina sistema combinacional o lógica combinacional a todo sistema digital en el que sus salidas son función exclusiva del valor de sus entradas en un momento dado. cada señal de entrada es una variable de la ecuación lógica de salida. Las funciones (OR. carecen de memoria y de retroalimentación. restar. Su función combinacional seria .

Esta salida se denomina como "de alto rendimiento activo". la puerta NAND se conecta la salida será "baja" (0) sólo cuando todas sus entradas son "Alta". Sergio E. que actúa como un selector entre los dos de 3 a 8 decodificadores.) de N bits de entrada y M líneas de salida (N puede ser cualquier entero y M es un entero menor o igual a 2 N). el decodificador de 3 a 8 o decodificador de 4 a 16. Una aplicación particular de este decodificador sería una conversión binaria a octal. Esto permite la entrada del cuarto para que el decodificador sea superior o inferior. El mismo método utilizado para codificar es por lo general sólo invierte con el fin de descifrar. Podemos formar un decodificador de 3 a 8 a partir de dos de 2 a 4 decodificadores (con señales de habilitación). . Estos circuitos.ESCUELA POLITÉCNICA NACIONAL SISTEMAS DIGITALES decodificador es un circuito combinacional que convierte la información binaria de n líneas de entrada a un máximo de 2 n salidas. Este tipo de decodificadores son circuitos combinacionales que convierten la información binaria n 'codificados entradas "de un máximo de dos únicas salidas n. Ávila P. n tipo binario decodificadores. Un decodificador que contiene entradas de habilitación también se conoce como un decodificador- demultiplexor. Un decodificador o descodificador es un circuito combinacional. donde los códigos de entrada y salida son diferentes. etc. n-a-2. El circuito decodificador ejemplo podría ser una puerta porque la salida de una puerta es "alta" (1) sólo cuando todas sus entradas son "Alta". Si en lugar de la puerta. tales que cada línea de salida será activada para una sola de las combinaciones posibles de entrada. Por lo tanto. un descodificador puede tomar la forma de un múltiple entrada. Decodificador en línea e 3 a 8. que produce productos de D (0) a D (7) para el primer decodificador. se suelen encontrar como decodificador / demultiplexor. BCD. convierte un código binario de entrada (natural. Habilitar los insumos deben estar en el decodificador para funcionar. también podemos formar un decodificador de 4 a 16 por la combinación de dos de 3 a 8 decodificadores. Un decodificador es un dispositivo que hace lo contrario de un codificador . y D (8) a D (15) para el segundo decodificador. Esto es debido a que un demultiplexor puede comportarse como un decodificador. normalmente. Podemos tener de 2 a 4 decodificador. y la memoria de decodificación de direcciones. Ejemplo: Un decodificador de la línea 2 a 4 de un solo bit Un poco más complejo decodificador sería el n-a-2. esto es. Decimos que un máximo de 2 salidas n porque en el caso 'n' bits codificada la información se ha utilizado poco combinaciones.56 - . Sin embargo un decodificador en línea de 3 a 8 puede ser usado para decodificar cualquier código de 3 bits para generar ocho salidas. cuya función es inversa a la del codificador. una para cada elemento del código. de lo contrario sus resultados suponen un solo "desactivado" la palabra del código de salida. produciendo 16 salidas. En este tipo de diseño de circuito. Los tres inversores generan el complemento de las entradas y cada una de las ocho compuertas AND generan uno de los términos mínimos. n. Decodificación es necesario en aplicaciones tales como datos de la multiplexación Display de 7 segmentos. por ejemplo. Las tres entradas se decodifican en ocho salidas y cada salida representa uno de los terminos mínimos de las variables de 3 entradas. las entradas de permitir tanto de 3 a 8 decodificadores vienen de un cuarto de entrada. Del mismo modo. Esta salida se denomina como "la salida activa baja". Como ejemplo tenemos un circuito decodificador en línea de 3 a 8. deshaciendo la codificación para que la información original se puede recuperar. código binario decimal decodificadores. múltiple salida del circuito de lógica que convierte el código de los insumos en productos codificados. Las variables de entrada podrían representar un número binario y las salidas representarían los ocho dígitos en el sistema de numeración octal. tenemos un decodificador de 4 a 16 producido por la adición de una entrada de 4 º compartido entre ambos decodificadores. el decodificador puede tener menos de 2 n salidas. Figura: Un Digitrax DH163AT DCC decodificador en un Athearn locomotora antes de que el shell continúa En electrónica digital.

La salida y es 1 para los dígitos octales 2 . Las líneas de salida generan el código binario para las 2 n variables de entrada. El circuito tiene ocho entradas y podría tener 2 8 = 256 combinaciones de entrada posibles. ciertas entradas pueden hacer que en la salida se presente la suma lógica de dichas entradas. Una CPU simple con 8 registros puede utilizar a 8 lógica decodificadores 3 dentro del decodificador de instrucciones para seleccionar dos registros fuente del archivo de registro para alimentar a la UTA . Este se construye com compuertas OR. 3. donde se ha considerado que las salidas se activen con un "uno" lógico: Seleccionar fila La mayoría de los tipos de memoria de acceso aleatorio utilizar un n-a-2.ESCUELA POLITÉCNICA NACIONAL SISTEMAS DIGITALES Si por ejemplo tenemos un decodificador de 2 entradas con 2 2=4 salidas. Por ello. puede darse el caso de salidas cuya entrada no pueda ser conocida: por ejemplo. este tipo de codificadores es usado únicamente cuando el rango de datos de entrada está correctamente acotado y su funcionamiento garantizado. deshaciendo la codificación para que la información original se puede recuperar. Solamente ocho de estas combinaciones tienen significado. la salida codifica la de mayor prioridad (generalmente correspondiente al valor decimal más alto). Losbits de salida de bajo orden z son 1 si los digitos octales de entrada son impares. . Las otras combinaciones son condiciones de no importa. n decodificador para convertir la dirección seleccionada en el bus de direcciones a una de las dirección de la fila seleccionar líneas. y la otra que alguna entrada está activa. 6 ó 7. así como el registro de destino a aceptar la salida de la ALU. se diseñan los codificadores con prioridad. Para evitar los problemas anteriormente comentados. Un codificador tiene 2n (o menos) líneas de entrada y n líneas de salida. la microinstrucción . Esta discrepancia puede resolverse agragando una salida más para indicar el hecho de que todas las entradas no son ceros. Este codificador asume que una línea de entrada puede ser igual a 1 en cualquier momento. Adicionalmente. Un decodificador de instrucciones típicas de la CPU también incluye varias otras cosas Codificadores Un codificador es una función digital que produce una operación invesa a la del decodificador. En estos sistemas. la salida binaria debe ser sólo ceros en este caso. la salida 0 podría indicar que no hay ninguna entrada activada o que se ha activado la entrada número 0. Dirección local de lugar. Esta medida permite discernir Sergio E. se codifican dos salidas más: una indica que ninguna entrada está activa. de otra forma el circuito no tiene significado. Un codificador es un circuito combinacional con 2N entradas y N salidas. en CPUs que tengan microcódigo . el decodificador de la instrucción es la parte de la CPU que convierte los bits almacenado en el registro de la instrucción . su funcionamiento sería el que se indica en la siguiente tabla. cuyas entradas se determinan a partir de la tabla de verdad . En el caso de codificadores sin prioridad. ocasionando mayor confusión.en las señales de control que controlan las otras partes de la CPU. Una salida de sólo ceros se obtiene también cuando todas las entradas sean cero. en el que las entradas.57 - . D0 no se conecta a ninguna compuerta OR. La salida x es 1 para los dígitos octales 4. cuya misión es presentar en la salida el código binario correspondiente a la entrada activada. Además. El mismo método utilizado para codificar es por lo general sólo invierte con el fin de descifrar. Decodificador de instrucciones En el diseño de la CPU . Como ejemplo tenemos un codificador cotal a binario consiste en ocho entradas una para cada uno de los ocho dígitos y tres salidas para generar el número binario correspondiente. Un decodificador es un dispositivo que hace lo contrario de un codificador. Ávila P. Existen dos tipos fundamentales de codificadores: codificadores sin prioridad y codificadores con prioridad. 5. cuando existe más de una señal activa. 6 ó 7 .o.

. comprimir y convertir audio Un codificador de vídeo puede ser capaz de capturar. o que la entrada número 0 estuviera activada. También entendemos como codificador (códec). transductor.58 - . Ejemplos: Medios de Comunicación Software para la codificación de audio . Puestos de trabajo A la entrada de datos del codificador puede introducir los datos de las encuestas de teléfono en un formato codificado en una base de datos. A la entrada de datos del codificador puede entrar en los montos de pago de los documentos de curso legal de las instituciones financieras en una base de datos. texto en formatos estandarizados: Un compresor codifica los datos (por ejemplo. la velocidad. según si la información que se recupera coincide exactamente con la original o es una aproximación. comprimir y convertir audio / video Un codificador de correo electrónico asegura correo electrónico en línea de cosechadoras de correo electrónico Un codificador PHTML conserva la lógica secuencia de comandos de código en un formato seguro que sea transparente para los visitantes en un sitio web Un multiplexor combina múltiples entradas en una salida. programa. Estos pueden transformar un señal a una forma codificada usada para la transmisión o cifrado o bien obtener la señal adecuada para la visualización o edición (no necesariamente la forma original) a partir de la forma codificada. ahorro de espacio o por la reducción de tamaño. la seguridad.) Un codificador de audio pueden ser capaces de capturar. imagen o vídeo. los codificadores son utilizados en archivos multimedia para comprimir audio. a los efectos de la normalización. CPT . el secreto. circuito. Se utilizan también en la compresión de datos para obtener un tamaño de archivo menor. podemos dividir los codificadores en códecs sin pérdidas y códecs con pérdidas. Según esta nueva definición. Transductores Sergio E. ya que la forma original de este tipo de archivos es demasiado grande para ser procesada y transmitida por los sistema de comunicación disponibles actualmente. un esquema que regula una serie de transformaciones sobre una señal o información. Seguridad Un dispositivo o la persona que codifica o encripta mensajes militares. Un salto de Microchip codificador de circuito integrado para los no-fijo-código de entrada asegurada. para aumentar la precisión y permite la facilidad de la auditoría de cumplimiento. vídeo . Ávila P. En este caso. Un codificador manual manualmente puede escanear las etiquetas de código de equipaje que no fueron detectados por un sistema automatizado.ESCUELA POLITÉCNICA NACIONAL SISTEMAS DIGITALES entre los supuestos de que el circuito estuviera deshabilitado por la no activación de la señal de capacitación. que el circuito no tuviera ninguna entrada activa. de audio / video / imágenes) en un formato más pequeño (Ver códec . y HCPCS nivel II de los códigos médicos. algoritmo o persona que convierte la información de un formato o código a otro. como el cifrado ADFGVX en la Primera Guerra Mundial o el dispositivo de Enigma en la Segunda Guerra Mundial. Software de codificación médica EncoderPro búsquedas CIE-9-CM . Un codificador es un dispositivo.

y el apoyo de 1982 de la tecnología musical innovador. con cinco voces de polifonía. Estos acontecimientos fueron muy Sergio E. por lo que es posible tocar acordes real en un sintetizador como por ejemplo en un piano. diseño. Circuitos secuenciales también fue fundamental en la planificación. [1] Esta fue la primera asequible. lanzado en 1978. totalmente programable polifónicos sintetizador analógico. analógica cuadratura. (SCI) es una de California basada en sintetizadores empresa que fue fundada en 1970 por Dave Smith y vendida a Yamaha Corporation en 1987. Con los elementos mencionados es posible construir un microprocesador completo. y se hizo muy popular en la década de 1980.59 - . Sequential Circuits Inc. Desafortunadamente las computadoras requieren de la habilidad para "recordar" el resultado de cálculos pasados. En teoría. por ejemplo) o digital (digital de cuadratura por ejemplo. pero el codificador absoluto es más robusto a las interrupciones en la señal del transductor. Codificadores Tal puede ser absoluta o incremental. Los productos y las innovaciones primeros productos de secuencial se secuenciadores y los dispositivos de programador de sintetizadores de partido tercero. Telecomunicaciones Un dispositivo usado para cambiar una señal (como un flujo de bits ) o de datos en un código . por lo tanto ambigua. codificadores de prioridad establecer la prioridad de los insumos en competencia (como las peticiones de interrupción) por la salida de un código binario que representa la prioridad más alta de entrada activa. La señal de un codificador incremental es cíclica. MIDI . 32 bits en paralelo o USB) de la señal electrónica. secuencial fue capaz de hacer un teclado de relativo bajo costo. la mayoría de los sistemas de cómputo requieren recordar un grupo de bits. La compañía. en un caso se convirtió entonces en el estándar para un instrumento polifónico. éstos últimos también los conocemos como circuitos de reloj. sin tener que volver a calibrar el instrumento para cada interruptor. En la combinación de control del microprocesador completo con chips de bajo costo módulo sintetizador hechas por estado sólido musical y más tarde Electromusic Curtis.ESCUELA POLITÉCNICA NACIONAL SISTEMAS DIGITALES Transductores (como los codificadores ópticos o magnéticos). A partir de aquí es posible implementar diferentes circuitos como registros de corrimiento y contadores. Ávila P. el sintetizador era capaz de recorrer diversos (hasta un centenar) los sonidos en una sesión. esto se logra combinando varios flip-flop en paralelo. Este principio revolucionario de la combinación de cinco voces similares analógico con una fácil edición y programación. . Circuitos electrónicos Un codificador simple asigna un código binario a una línea de entrada activa. fue pionero en muchas innovadoras tecnologías y principios de diseño que se han tomado para el mundo de hoy concedidas en mucho mayor de la tecnología musical. La señal de un encoder absoluto da una posición clara dentro del rango de viaje sin necesidad de conocimientos de cualquier posición anterior. cualquier cambio en los valores de entrada se refleja (después de un intervalo de tiempo llamado retardo de propagación) en las salidas. y exige el recuento de ciclos para mantener la posición absoluta dentro de la gama de viajes. Un codificador lineal similar convierte posición lineal con una señal electrónica. Ambos pueden proporcionar la misma precisión. una conexión de éste tipo recibe el nombre de registro. Aunque recordar un bit sencillo es importante. Éste es el dominio de la lógica secuencial. Circuitos Secuenciales Un problema con la lógica secuencial es su falta de "memoria". a lo largo de su vida. sensación de posición u orientación para su uso como una referencia o comentarios activo para controlar la posición: Un codificador rotatorio convierte posición rotatoria a una entrada analógica (. Bowen (diseñador de sonido) fue el gran éxito Prophet-5 . una idea original de Dave Smith y John S. Su primer sintetizador. La unidad de memoria más básica es el flip-flop Set/Reset. Una celda de memoria es un circuito electrónico que recuerda un valor de entrada después que dicho valor ha desaparecido. Con la adición de almacenamiento de revisión (una innovación que aporta a la realidad de Dave Smith con la ayuda de E-mu 's Dave Rossum ) [2]. todas las funciones de salida en un circuito combinacional dependen del estado actual de los valores de entrada.

Profeta-10 en 1980. En octubre de 1983 (en la Expo Goodman Música). que fueron diseñadas por Roger Linn . Fue diseñado como una máquina de bajo costo y de fácil transporte "cero- pad" para probar los arreglos. Secuencial también lanzó dos cajas de ritmos : el Drumtraks y el TOM. en la sección dedicada al diseño electrónico estudiaremos a profundidad los conceptos Sergio E. Los últimos Circuitos secuenciales instrumento comercial fue puesto en libertad el estudio 440. Esta unidad de $ 5.000 unidades. Más de 1. Tenía una estructura de ocho voz que era similar a la del Prophet 5. programado. Dave Smith diseñado. Como la mayoría de la línea secuencial. la velocidad y aftertouch sensibles al mecanismo de teclado fue tan popular que New England Digital . Muchas de estas tecnologías se incluyen más adelante en muestras de Yamaha en una serie. el Profeta 2000 sampler fue liberado. que combina el revolucionario generador de forma de onda digital y mando de control de vectores a los juzgados y probados analógica Curtis filtro. Robert Moore y su pareja. Esto precedió a la liberación de la popular Akai MPC secuenciadores por varios años. una interfaz de control remoto. Se sigue considerando un uso intensivo de hoy a pesar de su dependencia de los raros componentes personalizados con una alta tasa de fracasos. salió a principios de 1986. y resultó en un instrumento único con un sonido muy distinto. introdujo el primer sintetizador MIDI: el Profeta 600 . en 1982. la compañía estaba trabajando en un sampler de 16 bits llamado el Profeta 3000. En el enero de 1983 NAMM convención. como la detección automática de tono. híbrido de las Artes y Robert Moore demostró la primera computadora personal. Secuencial también fue instrumental en el desarrollo de MIDI. El Profeta VS sintetizador de vector. la comisión aprobó para su uso en sus Synclavier estaciones de trabajo. . Ávila P. asignación de teclas. con ventas de más de 10. preparó el terreno para más problemas financieros. programas) del Profeta 600 puede ser almacenado en un solo disquete. este cuenta con toma de muestras contenidas que fueron muy por delante de su tiempo. Arte Híbrido "MidiMate" (la interfaz MIDI primera computadora personal a) vinculado al Profeta 600 y el Atari 800 ordenador (no hay ordenadores que ofrece una interfaz MIDI). equipados con MIDI y una a bordo de vía digital secuenciador seis. grabadora MIDI / secuenciador y completa interfaz de usuario gráfica (GUI). Nueva iteraciones de esta tecnología apareció en el Multitrak y teclados MAX. A finales de 1985. MidiTrack. La . Sintetizador Programador / editor / bibliotecario. e implementó una base de interfaz MIDI. el Atari 800 (8 bits equipo con 48k de memoria) que se comunica con un teclado MIDI. Dave Smith se mantiene y mantiene una unidad T8 como el teclado controlador principal en su estudio casero. y. este instrumento ha difundido con un Roland Júpiter-6 sintetizador en la primera demostración pública del protocolo MIDI. Secuencial de seguimiento de este exitoso debut con una voz-la versión diez del Profeta. el éxito comercial de Split-8 . aunque el texto de sólo Atari no mostrar gráficos. El programa. multipista. que también marcó un salto desafortunado en el reino no desarrollado de la edición por computadora y la secuenciación. pero se fue a la quiebra y fue comprada por Yamaha.000 "parches" (también conocido como. Todos los mandos e interruptores del Profeta 600 se mostraron en el CRT de la Atari 800. experimento relativamente infructuosos secuencial en este campo. que se sintetizador digital secuencial único. El Seis-Trak (1984) fue uno de los multitímbrico primeros sintetizadores.ESCUELA POLITÉCNICA NACIONAL SISTEMAS DIGITALES inesperado en la industria de sintetizador. y construyó el Profeta en menos de ocho meses. En 1987. e instalaciones de fácil colocación y ajuste de sonido en la muestra.60 - . que vendrá en una gran doble manual de paquete con un secuenciador digital y la posibilidad de jugar dos diferentes timbres a la vez.000 parecía una caja de ritmos y combinó un sampler y un secuenciador para hacer una estación de trabajo de composición musical . especialmente de una empresa desconocida que operaba en un garaje de California. Pablo Rother diseñó el MidiMate y desarrollado conjuntamente el programa MidiTrack. Yamaha vendió las pocas muestras completado por un precio muy bajo. que era el Profeta 600. Relación entre la lógica combinacional y secuencial con la programación En ésta lección hemos dado una repasada muy básica a los elementos que forman la base de los modernos sistemas de cómputo. incluyó una de 16 pistas. un buen amigo y frecuente colaborador de Dave Smith. El Profeta-T8 (1983) aparece un teclado de madera de la nota 76 (desigual A a C). Con un esquema de síntesis se conoce como síntesis de vectores . llegando a ser particularmente exitoso. Robert fuentes personalizadas diseñadas para hacer los gráficos y la programación se realizó con un " lápiz de luz ". Una versión monofónica llamado Pro-uno seguido. junto con su último sintetizador analógico .

Todos los lenguajes desde los más altos como Php hasta los más bajos como Assembler pasan por binario. cada vez que movemos el Mouse eso esta produciendo un procesamiento de datos binarios. . Ávila P. a la de las variables lingüísticas. pero para aquellos que están más interesados en el aspecto programático podemos decir que con los elementos vistos en ésta lección es posible implementar máquinas de estado. La operación más importante para el desarrollo y creación de Reglas Lógicas es la implicación. como me pasó a mí al confundir la lógica borrosa con la probabilidad. como es el caso de los enunciados if-then ó los bucles while..). OR. que intentan reproducir los esquemas mentales del cerebro humano en el proceso de razonamiento. los microcontroladores y los profesionales dedicados a la Programación Orientada a Objetos. En esta gráfica se puede ver como la certidumbre de la proposición Una persona de i años es joven decrece de forma continua a partir de los 30 hasta llegar a la falsedad a los 35. se infiere la existencia de un futuro muy prometedor para el profesional de la programación. Aún y cuando Usted no desee trabajar en hardware. Así. como el C y el C++.. simbolizada por " ® " que representa el "Entonces" de las reglas heurísticas: Si (. independientemente del lenguaje que utilice. lo podemos a su vez implementar directamente en hardware. restas. etc. APLICACIONES: El computador sin software solo tiene capacidades para hacer operaciones aritméticas simples (sumas. Las consecuencias de éste fenómeno apenas se están explotando. y las observaciones presentes por otro (serán las premisas de cada regla).. multiplicación. en la actualidad ésta es la función principal del lenguaje ensamblador y otros con capacidad de trabajar directamente en hardware.. La última característica de los sistemas lógicos es el procedimiento de razonamiento. Los esquemas de razonamiento utilizados son "esquemas de razonamiento aproximado". Para tener éxito en éstos campos de la investigación es fundamental comprender las funciones booleanas y la manera de implementarlas en software. se puede especificar como una secuencia de ecuaciones booleanas. Esto sugiere que la lógica booleana es la base computacional en los modernos sistemas de cómputo actuales.) Entonces ( ® ) (. es importante conocer las funciones booleanas ya que muchos lenguajes de alto nivel procesan expresiones booleanas.61 - .ESCUELA POLITÉCNICA NACIONAL SISTEMAS DIGITALES aquí presentados. es posible implementar cualquier función de hardware directamente en software. En la lógica borrosa la 'verosimilitud a' indica la cantidad de certeza de una proposición mientra que una probabilidad sobre un evento indica la medida de 'verosimilitud b' de que el evento sea completamente cierto. Es importante no ir de listo. Generalmente. sea éste de alto ó bajo nivel. el razonamiento lógico se basa en silogismos. especialmente aquellos dedicados a los sistemas incrustados (embedded systems). orienta tus esfuerzos como programador a reducir al máximo el consumo de recursos. los cuales sugieren una lista de palabras probables para reemplazar una palabra mal escrita. Los operadores lógicos que se utilizarán en Lógica Difusa (AND. sin embargo la moraleja de ésta lección es muy importante: cualquier algoritmo que podamos implementar en software. Sergio E. pero mediante un "principio de extensión" por el cual gran parte del aparato matemático clásico existente puede ser adaptado a la manipulación de los Conjuntos Difusos y. por tanto. seguro lograras una suma consumiendo menor cantidad de recursos que lo habitual. en la Lógica Difusa hay muchas maneras de definir la implicación. Estos esquemas consistirán en una generalización de los esquemas básicos de inferencia en Lógica Binaria (silogismo clásico).). que permite inferir resultados lógicos a partir de una serie de antecedentes.) se definen también usando tablas de verdad. etc. Un hecho igualmente interesante es el punto de vista opuesto. Y es el software que valiéndose se esas simples operaciones con procesos como los antes explicados puede crear la interfaz como de la que hoy disfrutamos en materia de Sistemas Operativos. Control de sistemas de trenes subterráneos. en los que los antecedentes son por un lado las proposiciones condicionales (nuestras reglas). Verificadores de ortografía. Cualquier programa que Usted escriba. Se puede elegir una "función (matemática) de implicación" distinta en cada caso para representar a la implicación. en fin.

E y F. se hace necesario simplificar las formas canónicas para obtener otras expresiones más simples. Estos circuitos se conocen como "circuitos lógicos" pues basan su función en condiciones presenciales o nó de los pulsos altos o bajos. el bus de direcciones lo constituyen las líneas que dan a conocer las posiciones de ubicación de los datos en la memoria (registros). Para ello elegiremos un mapa de Karnaugh de igual número de variables que las que tenga la función a simplificar. ante cualquier combinación lógica en sus entradas (vea que en la tabla aparecen todas las combinaciones lógicas posibles de entrada). . Ávila P. A continuación te mostramos las principales representaciones básicas en los estudios de ingenierías relacionadas con informática y electrónica para que tengas una idea de lo que hablamos: Todo bus local esta compuesto de dos áreas: datos y direcciones. cada una de las variables de entrada corresponderá a una entrada del circuito. Resultado de esto es la utilización hoy en día de sistemas de caracteres con los que se trabaja en la programación de las computadoras.75 más cierta que falsa. el 18 por: 10010. B. Las señales de tensión alta (más de 1 voltio) o bajas (menos de 1 voltio) han dado lugar a su vez a representaciones electrónicas que se utilizan en el diseño de los circuitos integrados. Por ejemplo. Una proposición con verosimilitud 0 sería completamente falsa. la que tenga menos términos. estaremos en disposición de desarrollar formalmente un controlador "heurístico" que nos permita inferir el control adecuado de un determinado proceso en función de un conjunto de reglas "lingüísticas". A. o sea. el número 36 se representa por: 100100. D. ya que las formas canónicas no son las expresiones más simples de una determinada función. pues simplifiquemos primeramente F en su forma canónica de maxitérminos. Tenemos pues cuatro variables de entrada y tres funciones de salida. ya que el objetivo final es poder desarrollar un procedimiento analítico concreto para el diseño de controladores difusos y la toma de decisiones en general. A continuación. C. y mientras más simple sea una función más simple será el circuito que la implemente. la simplificación se puede llevar a cabo de la forma canónica de minitérminos o de la forma canónica de maxitérminos. Sin embargo. funciones de salida). Es aquí donde entran en juego los mapas de Karnaugh. Por contra. En la lógica difusa utilizamos una función con imágen en [0.1] que nos indica el grado de certidumbre de una proposición. El bus de datos lo forman las líneas dedicadas a la transmisión de señales u ordenes. Bien. La posición de estos unos y ceros en una presentación en el SISTEMA BINARIO (llamado así porque se basa en un sistema de base 2: dos dígitos) equivalen a la representación de un caracter. Se aplica por ejemplo al trabajo de asignación de variables en Ram. en este caso será de cuatro variables. En esta tabla se han diferenciado las funciones de salida de las variables de entrada gracias al empleo de mayúsculas (para las funciones) y minúsculas (para las variables). A nosotros nos toca decidir. Como ya se desprende de lo comentado más arriba. ¿Cómo? Pues el criterio que considero más lógico (salvo demostración en contra) es el de simplificar la forma canónica que ya de por sí sea más simple. esta forma de proceder no es la más adecuada por motivos de economía de medios. Cada una de estas funciones corresponderá a una salida de nuestro circuito combinacional (es por eso que reciben ese nombre.ESCUELA POLITÉCNICA NACIONAL SISTEMAS DIGITALES Tan importante será la selección de un esquema de razonamiento como su representación material. La Lógica Binaria En Los Computadores Los caracteres que vemos en la pantalla de la computadora son representaciones individuales de 1 y 0.62 - . Así por ejemplo el número 15 se representa por: 1F. desde el punto de vista de sus salidas. Pero hay otro sistema de representación muy utilizado en la programación: el sistema Hexadecimal o de base 16. Una vez que dispongamos de representaciones analíticas de cada uno de los elementos lógicos que acabamos de enumerar. con 1 complemente cierta y con . Empecemos diciendo que de esta tabla se podrían sacar las formas canónicas (de minitérminos o de maxitérminos) de las funciones F. a partir de estas formas canónicas. definidas de antemano tras la observación de la salida y normas de funcionamiento de éste. la tabla de la verdad indica cómo se comportará el circuito. G y H y. Entonces. Dos de los más utilizados son el código ASCII (American Standard Code for Information Interchange) y el código EBCDIC (Extended Binary Coded Decimal Interchange Code). Eso en cuanto a la representación de caracteres "normales". El sistema utiliza los símbolos 0-9. En el caso de la función F de la tabla estaríamos hablando de forma canónica de maxitérminos. implementar el circuito lógico correspondiente a cada función. colocaremos Sergio E. Así pues.

un diseñador de circuitos digitales crea planos combinando compuertas lógicas. Y nosotros tampoco tenemos una inversión para este. Ellos son justos lo que ellos son: nombres o etiquetas para algo que es diferente de algo más. Hay también maneras limitadas de recibir de un estado a otro uno aplicando lógica. Esto parece difícil. para que la salida pueda entregar también un 1. Principalmente porque los conceptos verdadero y falso o encendido y apagado tienen ningún equivalente en lógica del multi-valor. No hay ninguna razón fundamental por qué nosotros no podemos hacer el 1 el estado equivalente al aritmético 2. Se invade así bien en nuestro pensamiento y aceptó como la base de lógica que los conceptos binarios que se suponía que explicaba meramente y clarificar ahora grandemente la aplicación de lógica binaria dicta nuestra comprensión de lógica. Problemas con estados de la lógica. estudios de ingenierías y reparaciones electrónicas de laboratorio. Esto no es incorrecto. Un byte. Y la lógica ' 1 ' es equivalente con el aritmético ' 1 '. Para decir que los estados son que el sin sentido no significa que ellos son inútiles. es un conjunto de 8 pulsos y representa a un caractér (como una a. Ello se debe a que la "lógica" o condición de funcionamiento de esta compuerta lógica es que todas las entradas deben tener un valor 1. Ávila P. Se llaman niveles bajos al 0 y se llaman niveles altos al 1. Sin embargo en comunicaciones inalámbricas digitales la lógica 0 es fijo como equivalente al aritmético -1 para calcular propiedades de la correlación. O el opuesto de verdad es falso. El conocimiento a fondo de las diversas compuertas lógicas es indispensable en el trabajo de investigación. Asignando estos valores a los estados de la lógica nosotros hemos dado significando o hemos valorado a (lo que esencialmente es) los estados de lógica del sin sentido.ESCUELA POLITÉCNICA NACIONAL SISTEMAS DIGITALES ceros en las casillas del mapa cuyas coordenadas correspondan con los valores de las variables que producen los ceros de F: Aquí vemos una "Tabla de verdad" de una compuerta lógica Y. Resumiendo los conceptos. OR.63 - . Para clarificar el concepto de un 'sin sentido' declaran las muestras de la figura siguientes la tabla de verdad para el binario inversor. Él simplemente medios que ellos no tienen cualquier inherente valor o significando. representado por un 0. complementadores. En general nosotros consideramos 0 y 1 como propiedades fundamentales de cambiar lógica. flip-flop. si por A y B ingresan señales eléctricas altas (representando el digito 1) mientras que a C llega una baja (equivalente al 0). Las compuertas lógicas básicas son AND. la salida tendría un código bajo. Más aun el problema serio se levanta alrededor de los conceptos como la inversión de estados o valores. etc). NOT y basan su funcionamiento en la presencia condicional de pulsos altos o bajos para entregar una señal de salida determinada. Ésta es una espada de doble filo. De esta manera. La lógica 1 se asume que es idéntico al aritmético 1 y el lógico 0 se asume que es idéntico al aritmético 0. Pero quizás cuando nosotros entendemos que no es ningún estado. En lógica binaria el opuesto de 1 es 0. pero hay algunas calificaciones a esa declaración: Los niveles de voltaje señalados binarios electrónicos son bajo o el alto. Otro ejemplo es usar ' 3 ' y ' 5 ' como estados designados. Por tanto. Nos ayuda a trabajar con lógica binaria. valores y significando La lógica binaria es la fundación reconocida para las computadoras y circuitos de la lógica. entonces: un bit (binary digit) es un pulso. Sin embargo los estados de la lógica binarios son ahora 'verde' y 'rojo'. Por ejemplo 1 y 0 son conocidas para ser equivalente a verdadero y falso. Estados en realidad son sin sentido. la programación de "entradas" y "salidas" condicionales permite crear suficientes variaciones o esquemas en el diseño de los circuitos integrados. eso es por qué las computadoras pueden hacer cálculos. s. pero también limita nuestra capacidad para ver más allá de la lógica binaria. Por ejemplo. Es razonable asumir que si 0 es falso y 1 es verdad que 2 como un tercer estado tiene que significar algo como quizás. h. La tabla de verdad permite analizar lo que sucedería si las entradas varían. para conseguir los comportamientos necesarios de un CI (circuito integrado) en un circuito electrónico (sumadores. . Sergio E. etc).

ESCUELA POLITÉCNICA NACIONAL SISTEMAS DIGITALES

Éstas tablas de verdad tienen poca importancia más allá de describir algún mecanismo cambiando. Cuando
nosotros podemos mirar lógica binaria como 2 estados cambiando con estados arbitrariamente nombrados él
se pone más fácil admitir cambiando como lógica ternaria sin preocupar lo que estos estados pueden significar
a 3 estados.

Lógica no binaria

Lógica digital para su utilización en los circuitos lógicos que se diseñan para manejar más de dos niveles
(voltajes, etc.). En la lógica q valorada hay q niveles y cada elemento de la memoria (circuitos basculantes,
etc.) puede existir en q estados diferentes. La clasificación de los circuitos lógicos en combinatorios y
secuenciales se aplica a la lógica de valores múltiples exactamente como a la lógica binaria. Normalmente hay
gran interés en la lógica ternaria (q = 3) y algo menos en la cuaternaria (q = 4). Estas lógicas prometen
números reducidos de puertas lógicas, elementos de la memoria y, quizá más significativamente, de
interconexiones. La lógica ternaria es sencilla de poner en aplicación en la tecnología CMOS y hay
posibilidad de que llegue a ser importante en el diseño de los circuitos de VLSI. Su riqueza lógica
incrementada se demuestra en el hecho de que existen 16 puertas binarias posibles de dos entradas, pero
19.683 puertas ternarias (haciendo caso omiso de las degradaciones en ambos casos).

Los conjuntos clásicos se definen mediante un predicado que da lugar a una clara división del Universo de
Discurso X en los valores "Verdadero" y "Falso". Sin embargo, el razonamiento humano utiliza
frecuentemente predicados que no se pueden reducir a este tipo de división: son los denominados predicados
vagos.

Por ejemplo, tomando el Universo de Discurso formado por todas las posibles temperaturas ambientales en la
ciudad de Huelva, se puede definir en dicho universo el conjunto A como aquél formado por las temperaturas
"cálidas". Por supuesto, es imposible dar a A una definición clásica, ya que su correspondiente predicado no
divide el universo X en dos partes claramente diferenciadas. No podemos afirmar con rotundidad que una
temperatura es "cálida" o no lo es. El problema podría resolverse en parte considerando que una temperatura
es "cálida" cuando su valor supera cierto umbral fijado de antemano. Se dice que el problema tan sólo se
resuelve en parte, y de manera no muy convincente, por dos motivos: de una parte el umbral mencionado se
establece de una manera arbitraria, y por otro lado podría darse el caso de que dos temperaturas con valores
muy diferentes fuesen consideradas ambas como "cálidas". Evidentemente, el concepto "calor" así definido
nos daría una información muy pobre sobre la temperatura ambiental.

La manera más apropiada de dar solución a este problema es considerar que la pertenencia o no pertenencia de
un elemento x al conjunto A no es absoluta sino gradual. En definitiva, definiremos A como un Conjunto
Difuso. Su función de pertenencia ya no adoptará valores en el conjunto discreto {0,1} (lógica booleana), sino
en el intervalo cerrado [0,1]. En conclusión podemos observar que los Conjuntos Difusos son una
generalización de los conjuntos clásicos.

Mediante notación matemática se define un Conjunto Difuso B como:

B = { ( x , mB( x ) ) / x å X }
mB: X® [0,1]

La función de pertenencia se establece de una manera arbitraria, lo cual es uno de los aspectos más flexibles
de los Conjuntos Difusos. Por ejemplo, se puede convenir que el grado de pertenencia de una temperatura de
"45ºC" al conjunto A es 1, el de "25ºC" es 0.4 , el de "6ºC" es 0, etc.: cuanto mayor es el valor de una
temperatura, mayor es su grado de pertenencia al conjunto B. Para operar en la práctica con los Conjuntos
Difusos se suelen emplear funciones de pertenencia del tipo representado en la figura 2.

Además una variable binaria puede adoptar un valor u otro (no ambos a la vez). En las lógicas de más de dos
estados la variable podría optar entre más de dos valores. Por ejemplo, en la lógica ternaria podría ser
"cierto", "falso" y "desconocido" (no definido, etc). Existe un tipo de lógica de más de dos estados, la lógica
Sergio E. Ávila P. - 64 -

ESCUELA POLITÉCNICA NACIONAL SISTEMAS DIGITALES

difusa, en la que las variables pueden adoptar múltiples valores, intermedios entre dos posiciones extremas.
Estos valores intermedios representan estados no excluyentes. Por ejemplo, entre "cierto" y "falso" cabrían
todo tipo de situaciones intermedias: "casi completamente cierto", "medianamente cierto", etc. En estos casos,
la variable tiene, en mayor o menor proporción, una componente de los valores extremos. En cierto sentido
podríamos decir que la lógica binaria es absolutamente maniquea, mientras que la difusa se acercaría más al
mundo real.

Un circuito combinacional es un sistema que contiene operaciones booleanas básicas (AND, OR, NOT),
algunas entradas y un juego de salidas, como cada salida corresponde a una función lógica individual, un
circuito combinacional a menudo implementa varias funciones booleanas diferentes, es muy importante
recordar éste echo, cada salida representa una función booleana diferente.
Un ejemplo común de un circuito combinacional es el decodificador de siete segmentos, se trata de un circuito
que acepta cuatro entradas y determina cuál de los siete segmentos se deben iluminar para representar la
respectiva entrada, de acuerdo con lo dicho en el párrafo anterior, se deben implementar siete funciones de
salida diferentes, una para cada segmento. Las cuatro entradas para cada una de éstas funciones booleanas son
los cuatro bits de un número binario en el rango de 0 a 9. Sea D el bit de alto orden de éste número y A el bit
de bajo orden, cada función lógica debe producir un uno (para el segmento encendido) para una entrada dada
si tal segmento en particular debe ser iluminado, por ejemplo, el segmento e debe iluminarse para los valores
0000, 0010, 0110 y 1000.

En la siguiente tabla se puede ver qué segmentos deben iluminarse de acuerdo al valor de entrada, tenga en
cuenta que sólo se están representando valores en el rango de 0 a 9, los decodificadores para las pantallas de
siete segmentos comerciales tienen capacidad para desplegar valores adicionales que corresponden a las letras
A a la F para representaciones hexadecimales, sin embargo la mecánica para iluminar los respectivos
segmentos es similar a la aquí representada para los valores numéricos.
Los circuitos combinacionales son la base de muchos componentes en un sistema de cómputo básico, se puede
construir circuitos para sumar, restar, comparar, multiplicar, dividir y muchas otras aplicaciones más.
Los circuitos combinacionales son la base de muchos componentes en un sistema de cómputo básico, se puede
construir circuitos para sumar, restar, comparar, multiplicar, dividir y muchas otras aplicaciones más.
Cantidades discretas de información se presentan en sistemas digitales con códigos binarios. Un código
binario de n bits es capaz de representar hasta 2 n elementos diferentes de información codificada. Un
decodificador es un circuito combinacional que convierte la información binaria de n líneas de entrada a un
máximo de 2 n salidas.

Decodificador en línea e 3 a 8 .
Como ejemplo tenemos un circuito decodificador en línea de 3 a 8. Las tres entradas se decodifican en ocho
salidas y cada salida representa uno de los terminos mínimos de las variables de 3 entradas. Los tres
inversores generan el complemento de las entradas y cada una de las ocho compuertas AND generan uno de
los términos mínimos. Una aplicación particular de este decodificador sería una conversión binaria a octal.
Las variables de entrada podrían representar un número binario y las salidas representarían los ocho dígitos en
el sistema de numeración octal. Sin embargo un decodificador en línea de 3 a 8 puede ser usado para
decodificar cualquier código de 3 bits para generar ocho salidas, una para cada elemento del código.

[1] Esto significa sencillamente que en un momento dado, una variable binaria puede adoptar un valor u otro
(no ambos a la vez). En las lógicas de más de dos estados la variable podría optar entre más de dos valores.
Por ejemplo, en la lógica ternaria podría ser "cierto", "falso" y "desconocido" (no definido, etc). Existe un
tipo de lógica de más de dos estados, la lógica difusa, en la que las variables pueden adoptar múltiples
valores, intermedios entre dos posiciones extremas. Estos valores intermedios representan estados no
excluyentes. Por ejemplo, entre "cierto" y "falso" cabrían todo tipo de situaciones intermedias: "casi
completamente cierto", "medianamente cierto", etc. En estos casos, la variable tiene, en mayor o menor
proporción, una componente de los valores extremos. En cierto sentido podríamos decir que la lógica binaria
es absolutamente maniquea, mientras que la difusa se acercaría más al mundo real.
Internamente el ordenador sólo es capaz de distinguir entre dos símbolos: 1 y 0.
Toda información debe ser codificada utilizando únicamente estos dos si Internamente el ordenador solo es
capaz de distinguir entre dos símbolos: 1 y 0.
Toda información debe ser codificada utilizando únicamente estos dos símbolos.
Toda operación debe ser codificada también en binario.
¿Cómo codificar toda la información utilizada utilizando lógica binaria?

Propiedades de una Codificación COD-2

Sergio E. Ávila P. - 65 -

ESCUELA POLITÉCNICA NACIONAL SISTEMAS DIGITALES

A cada símbolo le corresponde un único código binario.
A cada código binario le corresponde un ´único símbolo.
¿Cuántos símbolos se quieren codificar?
Con n bits se pueden codificar hasta 2n símbolos diferentes.
Para codificar N símbolos se precisan como mínimo dlog2Ne.
Ejemplo: ¿Cuantos bits se necesitan para codificar 33 símbolos?

Codificación de Números Naturales COD-3
En lugar de utilizar base 10 se utiliza base 2.
Con un número finito de bits tan sólo se puede representar un subconjunto de los números naturales.
Ejemplo: Un número de cuatro cifras en base 10 d3d2d1d0 se obtiene mediante la fórmula:

Valor = _3i
=0(di _ basei) = (d0 _ 100) + (d1 _ 101) + (d2 _ 102) + (d3 _ 103)

Análogamente, un número de cuatro cifras en base 2, se obtiene mediante la misma fórmula.
Ejemplo: El valor del numero 1101 se obtiene
Valor = _3i
=0(di _ 2i) = (d0 _ 1) + (d1 _ 2) + (d2 _ 4) + (d3 _ 8)

Otra forma de cálculo: Los dígitos de un número binario tienen como peso relativo las potencias de 2: 1, 2, 4,
8, 16,. . .
El valor de un número no varía si se añaden ceros a su izquierda.
Al conjunto de ocho bits se le denomina byte.

Ejemplo de Codificación Binario - Decimal COD-4
Número en Binario Número en Decimal
00100111! 39
10110010 ! 178
11011001 ! 217
El peso de cada bit es 2p siendo p la posición que ocupa el bit en el número binario empezando por el bit
menos
Significativo y contando desde el cero.
Bit numero 0 1 2 3 4 5 6 7
Peso 20 21 22 23 24 25 26 27
Equivalente 1 2 4 8 16 32 64 128

Bit menos significativo: El de menor peso, es decir
20 = 1. El primero por la derecha.

Bit más significativo: El de mayor peso. En un byte, el
De peso 27 = 128. El ´ultimo por la derecha.
Conversión de Binario a Decimal
Peso Bit Valor Bit Valor Bit Valor
128 0 1 128 1 128
64 0 0 1 64
32 1 32 1 32 0
16 0 1 16 1 16
80018
414040
212120
1110111
Total 39 178 217

Codificación en Base 16 o Hexadecimal COD-5
Los números en lógica binaria son demasiado largos.
Para expresar un byte se precisa especificar los ocho bits.
Tanto la notación binaria como su traducción a decimal es muy incómoda de manipular.
La base 16 o hexadecimal permite una traducción instantánea de códigos binarios a un formato más compacto.
Los 16 dígitos se representan mediante los números 0 al 9 y las letras de la ’A’ a la ’F’.

Sergio E. Ávila P. - 66 -

ESCUELA POLITÉCNICA NACIONAL SISTEMAS DIGITALES

Cada dígito en hexadecimal representa cuatro bits (y viceversa).
Para denotar que un numero está codificado en hexadecimal se precede con el prefijo 0x

Dígito Ex. 0 1 2 3 4 5 6 7

Binario 0000 0001 0010 0011 0100 0101 0110 0111

Dígito Hex. 8 9 A B C D E F

Binario 1000 1001 1010 1011 11100 1101 1110 1111

Codificación Binario/Hexadecimal COD-6
Número en Binario Número en Hexacimal
00100111 ! 0x27
10110010 ! 0xB2
11011001 ! 0xD9
Se agrupan los bits de cuatro en cuatro comenzando por el menos significativo. El numero binario se completa
con
Los ceros a la izquierda necesarios.
Número en Binario Grupos de 4 bits Número en Hexadecimal
00100111 0010 = 2 0111 = 7 0x27
10110010 1011 = 11 0010 = 2 0xB2
11011001 1101 = 13 1001 = 9 0xD9
Conversión Hexadecimal/Decimal: Idéntica a la conversión binaria a decimal, pero utilizando 16 como base
en

Lugar de 2 y teniendo en cuenta los valores de las letras A, B, C, D, E y F.
0x27 ! 2 _ 161 + 7 _ 160 = 39
0xB2 ! 11 _ 161 + 2 _ 160 = 178
0xD9 ! 13 _ 161 + 9 _ 160 = 217

Codificación de Números Enteros COD-7

Al intentar codificar también números negativos la codificación aplicada para el número natural no sirve.

Primera Aproximación: Se codifica el valor absoluto como un número natural, y se añade un bit adicional
Para codificar su signo (positivo, negativo).
En este caso, se mezcla la codificación numérica, con la codificación de símbolos: positivo, negativo.
Esta codificación no es inequívoca: El cero puede tener dos códigos igualmente validos.

Segunda Aproximación: Representación en complemento a dos. Soluciona el problema anterior. La
codificación
´on sí es inequívoca.
Con n bits se pueden codificar los números enteros desde −2(n−1) hasta 2(n−1) − 1.
−128,−127, . . . ,−2,−1, 0, 1, 2, . . . , 126, 127
10000000, 10000001, . . . , 11111110, 11111111, 00000000, 00000001, 00000010, . . . , 01111110, 01111111
Además, los números positivos comienzan por cero y los negativos comienzan por uno.

Codificación de Números Enteros COD-8
Si el numero entero N es positivo, comienza por cero.
• Si N es positivo entonces N 2 [0, 2n−1 − 1].
• Como máximo N = 2n−1 − 1, y 2n−1 − 1 requiere n − 1 dígitos.
• El dígito n es cero.
Si el numero entero N es negativo, comienza por uno.
• Si N es negativo entonces N 2 [−2n−1,−1].
• N = −2n + ABS(N).
• Lo mínimo que puede valer ABS(N) es tal que −2n + ABS(N) = −2n−1.
• ABS(N) = 2n − 2n−1 = 2n−1, entonces N comienza por uno.
Números Representación
Naturales N 2 [0, 2n − 1] N = Pn−1

Sergio E. Ávila P. - 67 -

ESCUELA POLITÉCNICA NACIONAL SISTEMAS DIGITALES

0 2ibi
Enteros N 2 [0, 2n−1 − 1] N empieza por cero,
N = Pn−1
0 2ibi
N 2 [−2n−1,−1] N empieza por uno,
N = −2n + ABS(N)
N = −2n +Pn−1
0 2ibi
−128,−127, . . . ,−2,−1, 0, 1, 2, . . . , 126, 127
10000000, 10000001, . . . , 11111110, 11111111, 00000000, 00000001, 00000010, . . . , 01111110, 01111111

Aritmética con Números Enteros COD-9
Los números enteros se representan con un conjunto finito de bits.
Las operaciones entre enteros reciben operandos y producen un resultado entero.
¿Qué pasa si sólo podemos manipular números decimales de 4 dígitos y sumamos 9999 + 1000?
Cuando un número no se puede representar con los dígitos permitidos se produce una situación de
desbordamiento (overflow).

Ejemplo: Representamos números decimales con 1 byte. ¿Cuál es el resultado de la suma 0xFC + 0xA5?

Aritmética con Números Enteros Representados en Binario COD-10
En base 10 (números decimales), las operaciones de multiplicación y división entera por 10 son triviales.
En general, en base b, las operaciones de multiplicación y división entera por b son triviales.
Ejemplo: Al multiplicar por 2 el número 01101011 se obtiene 11010110 (o en hexadecimal 0x6B*2 = 0xD6).
Ejemplo: Al dividir por 2 el número 01101011 se obtiene 00110101 (o en hexadecimal 0x6B/2 = 0x35).
¿Cómo se realiza una multiplicación o división por una potencia de 2 de un número binario?
¿Qué sucede en la operación 0x90*4 si los números se representan por 1 byte?

Representación de Números Reales COD-11
La representación de números enteros y naturales en binario se reduce a un intervalo definido por el número
De bits utilizado por la representación.
En un intervalo de números reales existen infinitos números.
¿Cómo se puede representar un conjunto finito con un conjunto infinito de bits?.
Sólo se representan ciertos números.
Todo número real se puede representar mediante la expresión: mantisa _ base, donde la mantisa es un numero
Cuyo primer decimal es diferente de cero.
Ejemplo: 15,4 = 0,154 _ 102: Ambos datos se pueden codificar como enteros
La representación en coma flotante consiste en codificar las dos partes de un número: mantisa y exponente
Como dos enteros: mantisa _ 2e.

Representación de Números Reales COD-12
Los dígitos a la derecha de la coma tienen como peso las potencias negativas de 2.
Ejemplo: 110, 101 = 1 _ 22 + 1 _ 21 + 0 _ 20 + 1 _ 2−1 + 0 _ 2−2 + 1 _ 2−3 = 6, 625
Para representar un numero en coma flotante se desplaza hasta que no haya dígitos en su parte entera y se
Ajusta el exponente.
Ejemplo: 110, 101 = 0, 110101 _ 23
Supongamos una representación con 8 bits para la mantisa y 4 para el exponente. La codificación ser’ a:
mantisa = 11010100, exp = 0011.
¿Cómo puedo incrementar la precisión de la mantisa manteniendo el mismo número de bits?

Representación de Conjuntos de Símbolos COD-13
Un conjunto arbitrario de n símbolos se puede representar mediante un conjunto de bits.
Con un bit podemos codificar un máximo de dos elementos.
¿Cuántos bits se precisan?
Se debe especificar el tamaño de la representación (numero de bits por símbolo) y la correspondencia
símbolo-número binario.

Representación de Conjuntos de Símbolos COD-14
Ejemplo: Se quiere representar la colección de colores {rojo, verde, azul}.
Se necesitan como mínimo dos bits.

Sergio E. Ávila P. - 68 -

ESCUELA POLITÉCNICA NACIONAL SISTEMAS DIGITALES

2 bits permiten cuatro combinaciones, por tanto se pueden codificar cuatro elementos como máximo.
00 ! Elemento 1
01 ! Elemento 2
10 ! Elemento 3
11 ! Elemento 4

¿Cuántos elementos como máximo podemos codificar con n bits?
¿Por qué “como máximo”?
01 ! Elemento 1
10 ! Elemento 2
Posibles codificaciones:
Valor Cód. 1 Cód. 2 Cód. 3
Rojo 00 11 001
Verde 01 10 010
Azul 10 01 100

Representación de Cadenas de Caracteres (Strings) COD-15
Aparte de datos numéricos, se precisan manipular cadenas de caracteres.
La codificación de los caracteres tiene que ser común para todas las aplicaciones.
Los códigos más comunes utilizados para esta representación son ASCII (8 bits) y Unicode (16 bits).
El código ASCII, al utilizar 8 bits puede representar un máximo de 256 símbolos.
Ejemplo: Los caracteres ’1’, ’2’, ’3’, ’4’ y ’5’ se representan como 0x31, 0x32, 0x33, 0x34, 0x35

Almacenamiento de un Programa COD-16
Un programa es un texto que se escribe mediante un editor en un fichero.
Los símbolos incluidos en el fichero se codifican mediante código ASCII, y estos números son los que se
almacenan en el fichero.
.data
20 20 20 20 20 20 20 20 2E 64 61 74 61 0A
msg: .asciz "Hello world\n"
6D 73 67 3A 20 20 20 20 2E 61 73 63 69 7A 20 22 48 65 6C 6C...
.text
20 20 20 20 20 20 20 20 2E 74 65 78 74 0A
.globl start
20 20 20 20 20 20 20 20 2E 67 6C 6F 62 6C 20 73 74 61 72 74...
start: push $msg
73 74 61 72 74 3A 20 20 70 75 73 68 20 24 6D 73 67 0A
call printf
20 20 20 20 20 20 20 20 63 61 6C 6C 20 70 72 69 6E 74 66 0A
add $4, %esp
20 20 20 20 20 20 20 20 61 64 64 20 24 34 2C 20 25 65 73 70....
ret
20 20 20 20 20 20 20 20 72 65 74 0A
Codificación de la Información Abelardo Pardo universidad Carlos III de Madrid

Codificación de Operaciones COD-17
En lugar de codificar números o símbolos se quieren codificar operaciones.
Ejemplo: Operaciones de suma, resta, multiplicación y división de dos números de 8 bits.

¿Cuántas posibles combinaciones de operaciones son posibles?
Existen 4 operaciones, 256 números posibles como primer operando, y 256 como segundo, total: 28 _ 28 _ 22
=
218.

Se deben codificar 218 elementos posibles. Se procede a codificarlos por partes.
1. Conjunto de operaciones ADD, SUB, MUL, DIV: se precisan 2 bits como mínimo.
2. Primer operando: se precisan 8 bits.
3. Segundo operando: se precisan 8 bits.

Sergio E. Ávila P. - 69 -

Los Universos de Discurso con elementos discretos utilizan los símbolos "+" y "S " para representar la operación unión. Supongamos que estos lugares son: LugarA y LugarB. Se ejecuta la instrucción: ADD 0x10 0x02 LugarB 5. Ejemplos de codificación: Sergio E. El Conjunto Difuso "Joven" representa el grado de pertenencia respecto al parámetro juventud que tendrían los individuos de cada edad. . Se puede observar que los Conjuntos Difusos de la figura 3 se superponen. Esto indica que posee cualidades asociadas con ambos conjuntos. La operación òx representa la unión de los elementos difusos µA(x)/x. Resultado: LugarA = 0x20. Por ejemplo ceros al final del ultimo byte. Operación Codificación ADD 00 SUB 01 MUL 10 DIV 11 • Con esta codificación la operación para sumar los números 0x27 y 0xB2 se codifica: ADD 0x27 0xB2 = 00 00100111 10110010 • ¿Cuántos bytes son precisos para codificar la instrucción ´en anterior? Se debe decidir cómo completar la representación con dígitos extra. Un Conjunto Difuso podría ser considerado como una distribución de posibilidad. En la figura se pueden observar dos tipos de funciones de pertenencia de todos los posibles: el tipo triangular. que puede ser un caso concreto del trapezoidal en el que los dos valores centrales son iguales. Resultado: LugarA = 0x08. que también puede expresarse como: Bajo la notación de los Conjuntos Difusos. Ávila P. Resultado: LugarA = 0x08. Es decir. El Conjunto Difuso A es la unión de los grados de pertenencia para todos los puntos en el Universo de Discurso X. µA(x)/x es un elemento del conjunto A. El resultado se guarda con tamaño 1 byte. seguida de los 8 bits que codifican el primer operando y 8 más que codifican el segundo.ESCUELA POLITÉCNICA NACIONAL SISTEMAS DIGITALES Formato de Instrucciones COD-18 Se decide representar la instrucción como una secuencia de 2 bits que denotan la operación. LugarB = 0x12 Las instrucciones deben codificar donde se almacena el resultado. Se ejecuta la instrucción: DIV 0x10 0x02 LugarA 3. Ejemplo: 1. Inicialmente: LugarA = 0x00. como ya se ha señalado anteriormente. LugarB = 0x00 2. LugarB como 1. que es diferente a una distribución de probabilidad. y el de forma de campana gaussiana.70 - . el conjunto expresa la posibilidad de que un individuo sea considerado joven. Se ejecuta la instrucción: MUL 0x10 0x02 LugarA 7. Tómese ahora el Universo de Discurso de la edad. Se utiliza un bit. El grado de pertenencia de x en A. se representa por m A(x). Cada instrucción tiene una ´única representación hexadecimal en bytes: Instrucción Codificación ADD 0x27 0xB2 0x09EC80 SUB 0x11 0x2F 0x444BC0 MUL 0xFA 0x2B 0xBE8AC0 DIV 0x10 0x02 0xC40080 Almacenamiento de Resultado COD-19 Las instrucciones se complican: el resultado se guarda o almacena en dos lugares posibles. Este bit se escribe a continuación de los dos operandos Codificación de Instrucciones con Resultado COD-20 Se decide codificar LugarA como 0. LugarB = 0 4. por lo que un individuo xl podría tener distintos grados de pertenencia en dos conjuntos al mismo tiempo: "Joven" y "Maduro". LugarB = 0x12 6.

Ávila P. 1 bit para codificar el destino Codificación de Instrucciones COD-24 Ejemplos: Instrucción Codificación ADD 0x01 0x00 LugarA 0x002000 ADD 0x02 0x00 LugarB 0x004008 MUL LugarB 0x03 LugarA 0xA02030 MUL LugarB 0x04 LugarA 0xA02040 Sergio E. Si el primer bit es 1: de los ocho bits siguientes se toma el ´ultimo que es el que indica de qué lugar obtener el operando. El formato de instrucción con el que se ha realizado la codificación es: Operación Operando1 Operando2 Destino Bits Extra Dados 3 bytes se puede obtener de forma inequívoca la instrucción que representa. 2 bits para codificar el tipo de operación 2. 1 bit para codificar el tipo del segundo operando 5. . Bin. Codificación de la Información Abelardo Pardo universidad Carlos III de Madrid Códigos que Incluyen Condiciones COD-22 La ´única condición de la codificación es que sea inequívoca. ¿Qué modificaciones son necesarias en la codificación de las instrucciones? Los operandos pueden ser de dos tipos: 1. El operando se codifica con 9 bits. Se añade un bit que dice si los siguientes 8 bits representan un número o uno de los dos lugares para obtener el operando. 8 bits para codificar el dato del primer operando 4. 1 bit para codificar el tipo del primer operando 3. Un número codificado con 8 bits. Uno de los lugares LugarA o LugarB La codificación debe cambiar para poder expresar las nuevas instrucciones. ¿Qué instrucción representa el código 0x04023F? ¿Qué se hacen con los bits de la representación que sobran? Resultados Previos como Operandos COD-21 Se quieren extender las instrucciones tal que un operando pueda ser uno de los dos lugares en los que se ha almacenado un resultado.ESCUELA POLITÉCNICA NACIONAL SISTEMAS DIGITALES Instrucción Cód. 2. 8 bits para codificar el dato del segundo operando 6. DIV 0x10 0x02 LugarA 1100 0100 0000 0000 1000 0000 0xC40080 ADD 0x10 0x02 LugarB 0000 0100 0000 0000 1010 0000 0x0400A0 MUL 0x10 0x02 LugarA 1000 0100 0000 0000 1000 0000 0x840080 Observación:Como el destino de la operación es un lugar de dos posibles con un ´único bit es suficiente paracodificarlo. Ejemplo: Sería deseable tener la instrucción ADD LugarA 0x10 LugarB. Bin. Operando 000010010 Número 0x12 (18 en decimal) 100010011 LugarB 001111010 Número 0x7A (122 en decimal) 100010010 LugarA 1XXXXXXX0 LugarA Formato Extendido de Instrucción COD-23 El formato extendido de instrucción consta ahora de 6 partes: 1. Ejemplo de codificación de operando: Cod.71 - . Hex. 1. Dada una instrucción se puede obtener 3 bytes que la representan. Si el primer bit es 0: los ocho bits siguientes representan el operando como un numero. Cod. 2.

Toda operación debe ser codificada también en binario. . Description Adds the first operand (destination operand) and the second operand (source operand) and stores the result in the destination operand (. . ¿Cuántos símbolos se quieren codificar? Con n bits se pueden codificar hasta 2n símbolos diferentes... ¿Cuál es el resultado final contenido en LugarA? ¿Cuál es el resultado final contenido en LugarB? mabolos.. Codificación de la Información Abelardo Pardo universidad Carlos III de Madrid Secuencias de Instrucciones COD-27 Supongamos que inicialmente: LugarA = 0. En el ejemplo: 8 si es un numero y 1 si es uno de los dos lugares (LugarA o LugarB). Todas las instrucciones tienen la misma longitud. Ávila P. Ejemplo: ADD LugarA LugarB LugarA se codifica como 0010110.. LugarB = 0 A continuación se ejecutan por orden las siguientes instrucciones: ADD 0x01 0x00 LugarA ADD 0x00 0x00 LugarB MUL 0x02 LugarA LugarA ADD 0x02 LugarB LugarB MUL 0x03 LugarA LugarA ADD 0x03 LugarB LugarB MUL 0x04 LugarA LugarA ADD 0x04 LugarB LugarB Esta secuencia de instrucciones se codifica como un conjunto de bytes.. ¿Se pueden codificar estas instrucciones con menos bits? El formato de instrucción puede tener longitud variable. Para codificar N símbolos se precisan como mínimo dlog2Ne.. Operation DEST DEST + SRC. La interpretación de una instrucción mira el código del operando y a continuación interpreta los bits necesarios de la manera pertinente.. Instrucciones de Longitud Variable COD-25 Se pueden interpretar los bits que codifican el tipo de operando y a continuación obtener los bits necesarios. imm8 Add imm8 to AL . .ESCUELA POLITÉCNICA NACIONAL SISTEMAS DIGITALES No todos los operandos posible deben aparecer necesariamente en una instrucción. . La instrucción ADD LugarA LugarB LugarA se puede codificar como 0010110.. El procesador es un sistema digital capaz de interpretar y ejecutar un conjunto de instrucciones codificadas en binario. Ejemplo: ¿Cuantos bits se necesitan para codificar 33 símbolos? Codificación de la Información Abelardo Pardo universidad Carlos III de Madrid Codificación de Números Naturales COD-3 En lugar de utilizar base 10 se utiliza base 2. por lo que se puede codificar en un byte como 00101100 = 0x2C Codificación de la Información Abelardo Pardo universidad Carlos III de Madrid Breve Incursión en el Pentium COD-26 Extra’ do del manual de instrucciones del procesador Intel Pentium (Instrucción Set Referencie) ADD–Add Opcode Instruction Description 04 ib ADD AL. ¿Cómo codificar toda la información utilizada utilizando lógica binaria? Propiedades de una Codificación COD-2 A cada símbolo le corresponde un ´único código binario. A cada código binario le corresponde un ´único símbolo. La codificación sí debe contemplar todos los casos posibles..72 - .. Esta tarea se puede hacer porque los bits de relleno están incluidos al final de la instrucción. Sergio E. ).

la función booleana simplificada es la que se implementará con las compuertas lógicas. Una salida de sólo ceros se obtiene también cuando todas las entradas sean cero. 5. La salida x es 1 para los dígitos octales 4. el costo total e inclusive. nuestro individuo x tiene un grado de pertenencia mayor al conjunto "Joven " que al conjunto "Maduro"(0. Desafortunadamente las computadoras requieren de la habilidad para "recordar" el resultado de cálculos pasados. . en la sección dedicada al diseño electrónico estudiaremos a profundidad los conceptos aquí presentados. Esto sugiere que la lógica booleana es la base computacional en los modernos sistemas de cómputo actuales. Como se puede observar en la figura. pero para aquellos que están más interesados en el aspecto programático podemos decir que con los elementos vistos en ésta lección es posible implementar máquinas de estado. sin embargo la moraleja de ésta lección es muy importante: cualquier algoritmo que podamos implementar en software. 6 ó 7. que x es joven o que x es maduro de manera rotunda. Circuitos Secuenciales Un problema con la lógica secuencial es su falta de "memoria". cualquier cambio en los valores de entrada se refleja (después de un intervalo de tiempo llamado retardo de propagación) en las salidas. pero no se puede decir. Las líneas de salida generan el código binario para las 2 n variables de entrada. Como ejemplo tenemos un codificador cotal a binario consiste en ocho entradas una para cada uno de los ocho dígitos y tres salidas para generar el número binario correspondiente. cuyas entradas se determinan a partir de la tabla de verdad . 3. Una Sergio E. En teoría. Tómese un individuo x cuya edad sea de 20 años. Relación entre la lógica combinacional y secuencial con la programaciónEn ésta lección hemos dado una repasada muy básica a los elementos que forman la base de los modernos sistemas de cómputo. el número de errores que pueden introducirse cuando se implementa el circuito.4 para el Conjunto Difuso "Maduro". Esta discrepancia puede resolverse agragando una salida más para indicar el hecho de que todas las entradas no son ceros.ESCUELA POLITÉCNICA NACIONAL SISTEMAS DIGITALES Con un número finito de bits tan sólo se puede representar un subconjunto de los números naturales. éstos últimos también los conocemos como circuitos de reloj. la potencia disipada por el mismo. tratándose de Conjuntos Difusos. Cualquier programa que Usted escriba. Solamente ocho de estas combinaciones tienen significado. se puede especificar como una secuencia de ecuaciones booleanas. la salida binaria debe ser sólo ceros en este caso. De este ejemplo se puede deducir que un elemento puede pertenecer a varios Conjuntos Difusos a la vez aunque con distinto grado. Este se construye com compuertas OR.4). Ejemplo: Un número de cuatro cifras en base 10 d3d2d1d0 se obtiene mediante la fórmula: Un codificador es una función digital que produce una operación invesa a la del decodificador. El circuito tiene ocho entradas y podría tener 28 = 256 combinaciones de entrada posibles. en general será posible simplificar sea ecuación para obtener la función más simple posible. Ávila P. también posee un grado de 0 para "Viejo". Se puede observar que posee un grado de pertenencia µA(x) de 0. Este codificador asume que una línea de entrada puede ser igual a 1 en cualquier momento. lo podemos a su vez implementar directamente en hardware. El circuito que se implementará es el que tenga el menor número de compuertas y el menor número de conexiones.6 > 0. D0 no se conecta a ninguna compuerta OR. 6 ó 7 . una conexión de éste tipo recibe el nombre de registro. Con los elementos mencionados es posible construir un microprocesador completo. de otra forma el circuito no tiene significado. Las otras combinaciones son condiciones de no importa. Así. La ecuación booleana de una función lógica se la puede obtener de su tabla de verdad. independientemente del lenguaje que utilice. La importancia de la simplificación se debe a que al reducir el número de compuertas se disminuye el número de conexiones.73 - . Losbits de salida de bajo orden z son 1 si los digitos octales de entrada son impares. esto se logra combinando varios flip-flop en paralelo. La salida y es 1 para los dígitos octales 2 . Un codificador tiene 2n (o menos) líneas de entrada y n líneas de salida. pertenece al Conjunto Difuso "Joven" y al Conjunto Difuso "Maduro". Aunque recordar un bit sencillo es importante. el tamaño físico del circuito. A partir de aquí es posible implementar diferentes circuitos como registros de corrimiento y contadores. todas las funciones de salida en un circuito combinacional dependen del estado actual de los valores de entrada. la mayoría de los sistemas de cómputo requieren recordar un grupo de bits. La unidad de memoria más básica es el flip-flop Set/Reset. Una celda de memoria es un circuito electrónico que recuerda un valor de entrada después que dicho valor ha desaparecido.6 para el Conjunto Difuso "Joven" y un grado de 0. sea éste de alto ó bajo nivel. Éste es el dominio de la lógica secuencial.

Para tener éxito en éstos campos de la investigación es fundamental comprender las funciones booleanas y la manera de implementarlas en software. 16. Bit numero 0 1 2 3 4 5 6 7 Peso 20 21 22 23 24 25 26 27 Equivalente 1 2 4 8 16 32 64 128 Bit menos significativo: El de menor peso. un número de cuatro cifras en base 2. . Aún y cuando Usted no desee trabajar en hardware. Codificación de la Información Abelardo Pardo universidad Carlos III de Madrid Ejemplo de Codificación Binario . Para expresar un byte se precisa especificar los ocho bits. . . Sergio E. Al conjunto de ocho bits se le denomina byte. En un byte. 4. se infiere la existencia de un futuro muy prometedor para el profesional de la programación. Tanto la notación binaria como su traducción a decimal es muy incómoda de manipular. El primero por la derecha. Ávila P. como el C y el C++.Decimal COD-4 Número en Binario Número en Decimal 00100111 ! 39 10110010 ! 178 11011001 ! 217 El peso de cada bit es 2p siendo p la posición que ocupa el bit en el número binario empezando por el bit menos significativo y contando desde el cero. se obtiene mediante la misma fórmula. El ´ultimo por la derecha. es decir 20 = 1. Un hecho igualmente interesante es el punto de vista opuesto. como es el caso de los enunciados if-then ó los bucles while. Conversión de Binario a Decimal Peso Bit Valor Bit Valor Bit Valor 128 0 1 128 1 128 64 0 0 1 64 32 1 32 1 32 0 16 0 1 16 1 16 80018 414040 212120 1110111 Total 39 178 217 Codificación de la Información Abelardo Pardo universidad Carlos III de Madrid Codificación en Base 16 o Hexadecimal COD-5 Los números en lógica binaria son demasiado largos. Las consecuencias de éste fenómeno apenas se están explotando. Los 16 dígitos se representan mediante los números 0 al 9 y las letras de la ’A’ a la ’F’. en la actualidad ésta es la función principal del lenguaje ensamblador y otros con capacidad de trabajar directamente en hardware. el de peso 27 = 128. Ejemplo: El valor del numero 1101 se obtiene Valor = _3i =0(di _ 2i) = (d0 _ 1) + (d1 _ 2) + (d2 _ 4) + (d3 _ 8) Otra forma de cálculo: Los dígitos de un número binario tienen como peso relativo las potencias de 2: 1. 8. La base 16 o hexadecimal permite una traducción instantánea de códigos binarios a un formato más compacto. los microcontroladores y los profesionales dedicados a la Programación Orientada a Objetos. especialmente aquellos dedicados a los sistemas incrustados (embedded systems).74 - . valor = _3i =0(di _ basei) = (d0 _ 100) + (d1 _ 101) + (d2 _ 102) + (d3 _ 103) Análogamente.ESCUELA POLITÉCNICA NACIONAL SISTEMAS DIGITALES forma de simplificar una ecuación booleana es mediante el uso de los postulados y teoremas del Álgebra de Boole. Bit más significativo: El de mayor peso. es importante conocer las funciones booleanas ya que muchos lenguajes de alto nivel procesan expresiones booleanas. 2. . es posible implementar cualquier función de hardware directamente en software. El valor de un número no varía si se añaden ceros a su izquierda.

Esta codificación no es inequívoca: El cero puede tener dos códigos igualmente validos. Ávila P. los números positivos comienzan por cero y los negativos comienzan por uno. Primera Aproximación: Se codifica el valor absoluto como un número natural. B. 10000001. . . Segunda Aproximación: Representación en complemento a dos. 01111110. . . 01111111 Además.−1] N empieza por uno. . se mezcla la codificación numérica. Soluciona el problema anterior. . . 11111110.−2. • ABS(N) = 2n − 2n−1 = 2n−1. E y F. • El dígito n es cero. Si el numero entero N es negativo. 00000001. .−1]. y 2n−1 − 1 requiere n − 1 dígitos. Para denotar que un numero está codificado en hexadecimal se precede con el prefijo 0x Dígito Hex. . Números Representación Naturales N 2 [0. −128. . 00000000. C.75 - . 2. D. 11111111. negativo). 00000010. Con n bits se pueden codificar los números enteros desde −2(n−1) hasta 2(n−1) − 1. . Número en Binario Grupos de 4 bits Número en Hexadecimal 00100111 0010 = 2 0111 = 7 0x27 10110010 1011 = 11 0010 = 2 0xB2 11011001 1101 = 13 1001 = 9 0xD9 Conversión Hexadecimal/Decimal: Idéntica a la conversión binaria a decimal. N = −2n + ABS(N) N = −2n +Pn−1 0 2ibi Sergio E. . 0 1 2 3 4 5 6 7 Binario 0000 0001 0010 0011 0100 0101 0110 0111 Dígito Hex. • Lo mínimo que puede valer ABS(N) es tal que −2n + ABS(N) = −2n−1. Codificación de Números Enteros COD-8 Si el numero entero N es positivo. • N = −2n + ABS(N). . comienza por uno. 2n−1 − 1]. negativo. La codificación ´on sí as inequívoca. 2n − 1] N = Pn−1 0 2ibi Enteros N 2 [0.−127. N = Pn−1 0 2ibi N 2 [−2n−1.−1. 126. 8 9 A B C D E F Binario 1000 1001 1010 1011 11100 1101 1110 1111 Codificación Binario/Hexadecimal COD-6 Número en Binario Número en Hexacimal 00100111 ! 0x27 10110010 ! 0xB2 11011001 ! 0xD9 Se agrupan los bits de cuatro en cuatro comenzando por el menos significativo. con la codificación de símbolos: positivo. . pero utilizando 16 como base en lugar de 2 y teniendo en cuenta los valores de las letras A. 2n−1 − 1] N empieza por cero. El numero binario se completa con los ceros a la izquierda necesarios. y se añade un bit adicional para codificar su signo (positivo. . . En este caso. 1. 0x27 ! 2 _ 161 + 7 _ 160 = 39 0xB2 ! 11 _ 161 + 2 _ 160 = 178 0xD9 ! 13 _ 161 + 9 _ 160 = 217 Codificación de Números Enteros COD-7 Al intentar codificar también números negativos la codificación aplicada para el número natural no sirve. • Si N es negativo entonces N 2 [−2n−1. 127 10000000. entonces N comienza por uno. • Si N es positivo entonces N 2 [0. • Como máximo N = 2n−1 − 1.ESCUELA POLITÉCNICA NACIONAL SISTEMAS DIGITALES Cada dígito en hexadecimal representa cuatro bits (y viceversa). . 0. comienza por cero.

−127. En un intervalo de números reales existen infinitos números. . 0. Ejemplo: Al dividir por 2 el número 01101011 se obtiene 00110101 (o en hexadecimal 0x6B/2 = 0x35). ¿Cuál es el resultado de la suma 0xFC + 0xA5? Aritmética con Números Enteros Representados en Binario COD-10 En base 10 (números decimales). Ejemplo: 110. Ejemplo: 110.−1. Sólo se representan ciertos números. Se necesitan como mínimo dos bits. verde.−2. . . ¿Cómo se puede representar un conjunto finito con un conjunto infinito de bits?. . . Ejemplo: Al multiplicar por 2 el número 01101011 se obtiene 11010110 (o en hexadecimal 0x6B*2 = 0xD6).4 = 0. Todo número real se puede representar mediante la expresión: mantisa _ base. Ejemplo: Representamos números decimales con 1 byte. 126. Representación de Conjuntos de Símbolos COD-14 Ejemplo: Se quiere representar la colección de colores {rojo. Ejemplo: 15. . Ávila P. 10000001. 101 = 1 _ 22 + 1 _ 21 + 0 _ 20 + 1 _ 2−1 + 0 _ 2−2 + 1 _ 2−3 = 6.154 _ 102: Ambos datos se pueden codificar como enteros La representación en coma flotante consiste en codificar las dos partes de un número: mantisa y exponente como dos enteros: mantisa _ 2e. 00000001. 00000000. azul}. . 110101 _ 23 Supongamos una representación con 8 bits para la mantisa y 4 para el exponente. Representación de Números Reales COD-12 Los dígitos a la derecha de la coma tienen como peso las potencias negativas de 2.76 - . 00000010. ¿Qué pasa si sólo podemos manipular números decimales de 4 dígitos y sumamos 9999 + 1000? Cuando un número no se puede representar con los dígitos permitidos se produce una situación de desbordamiento (overflow). 1. . . en base b.ESCUELA POLITÉCNICA NACIONAL SISTEMAS DIGITALES −128. Con un bit podemos codificar un máximo de dos elementos. ¿Cuántos bits se precisan? Se debe especificar el tamaño de la representación (numero de bits por símbolo) y la correspondencia símbolo-número binario. las operaciones de multiplicación y división entera por b son triviales. . 01111111 Aritmética con Números Enteros COD-9 Los números enteros se representan con un conjunto finito de bits. . por tanto se pueden codificar cuatro elementos como máximo. exp = 0011. La codificación ser’ a: mantisa = 11010100. . 101 = 0. donde la mantisa es un numero cuyo primer decimal es diferente de cero. En general. . 2 bits permiten cuatro combinaciones. . . . 01111110. 00 ! Elemento 1 01 ! Elemento 2 10 ! Elemento 3 11 ! Elemento 4 ¿Cuántos elementos como máximo podemos codificar con n bits? ¿Por qué “como máximo”? 01 ! Elemento 1 Sergio E. Las operaciones entre enteros reciben operandos y producen un resultado entero. 2. ¿Cómo puedo incrementar la precisión de la mantisa manteniendo el mismo número de bits? Representación de Conjuntos de Símbolos COD-13 Un conjunto arbitrario de n símbolos se puede representar mediante un conjunto de bits. ¿Cómo se realiza una multiplicación o división por una potencia de 2 de un número binario? ¿Qué sucede en la operación 0x90*4 si los números se representan por 1 byte? Representación de Números Reales COD-11 La representación de números enteros y naturales en binario se reduce a un intervalo definido por el número de bits utilizado por la representación. 127 10000000. . las operaciones de multiplicación y división entera por 10 son triviales. 11111111. 11111110. 625 Para representar un numero en coma flotante se desplaza hasta que no haya dígitos en su parte entera y se ajusta el exponente.

1. .. 3 Rojo 00 11 001 Verde 01 10 010 Azul 10 01 100 Representación de Cadenas de Caracteres (Strings) COD-15 Aparte de datos numéricos. Formato de Instrucciones COD-18 Se decide representar la instrucción como una secuencia de 2 bits que denotan la operación... seguida de los 8 bits que codifican el primer operando y 8 más que codifican el segundo. ’4’ y ’5’ se representan como 0x31. Se procede a codificarlos por partes. Ejemplo: Los caracteres ’1’.77 - . y 256 como segundo. SUB. Conjunto de operaciones ADD.. %esp 20 20 20 20 20 20 20 20 61 64 64 20 24 34 2C 20 25 65 73 70. Se deben codificar 218 elementos posibles. Ávila P. La codificación de los caracteres tiene que ser común para todas las aplicaciones. . se precisan manipular cadenas de caracteres. 0x34. ¿Cuantas posibles combinaciones de operaciones son posibles? Existen 4 operaciones. y estos números son los que se almacenan en el fichero. MUL.text 20 20 20 20 20 20 20 20 2E 74 65 78 74 0A . 1 Cod.. ’2’.ESCUELA POLITÉCNICA NACIONAL SISTEMAS DIGITALES 10 ! Elemento 2 Posibles codificaciones: Valor Cod. Segundo operando: se precisan 8 bits. ’3’. Los símbolos incluidos en el fichero se codifican mediante código ASCII. 2 Cod. El código ASCII.data 20 20 20 20 20 20 20 2E 64 61 74 61 0A msg: .globl start 20 20 20 20 20 20 20 20 2E 67 6C 6F 62 6C 20 73 74 61 72 74. Operación Codification ADD 00 SUB 01 MUL 10 DIV 11 • Con esta codificación la operación para sumar los números 0x27 y 0xB2 se codifica: ADD 0x27 0xB2 = 00 00100111 10110010 • ¿Cuántos bytes son precisos para codificar la instrucción ´en anterior? Sergio E. DIV: se precisan 2 bits como mínimo. al utilizar 8 bits puede representar un máximo de 256 símbolos.. Primer operando: se precisan 8 bits. ret 20 20 20 20 20 20 20 20 72 65 74 0A Codificación de Operaciones COD-17 En lugar de codificar números o símbolos se quieren codificar operaciones. 256 números posibles como primer operando. total: 28 _ 28 _ 22 = 218. 0x35 Almacenamiento de un Programa COD-16 Un programa es un texto que se escribe mediante un editor en un fichero. resta. start: push $msg 73 74 61 72 74 3A 20 20 70 75 73 68 20 24 6D 73 67 0A call printf 20 20 20 20 20 20 20 20 63 61 6C 6C 20 70 72 69 6E 74 66 0A add $4. Los códigos más comunes utilizados para esta representación son ASCII (8 bits) y Unicode (16 bits). . 2.asciz "Hello world\n" 6D 73 67 3A 20 20 20 20 2E 61 73 63 69 7A 20 22 48 65 6C 6C. Ejemplo: Operaciones de suma. 0x33. multiplicación y división de dos números de 8 bits. 3. 0x32..

Ejemplo: Sería deseable tener la instrucción ADD LugarA 0x10 LugarB. Cod. LugarB como 1. 1. El resultado se guarda con tamaño 1 byte. Ejemplo: 1. El formato de instrucción con el que se ha realizado la codificación es: Operación Operando1 Operando2 Destino Bits Extra Dados 3 bytes se puede obtener de forma inequívoca la instrucción que representa. Se ejecuta la instrucción: MUL 0x10 0x02 LugarA 7. Inicialmente: LugarA = 0x00. El operando se codifica con 9 bits. Se añade un bit que dice si los siguientes 8 bits representan un número o uno de los dos lugares para obtener el operando. . Dada una instrucción se puede obtener 3 bytes que la representan. Supongamos que estos lugares son: LugarA y LugarB. LugarB = 0x00 2. Resultado: LugarA = 0x08. Uno de los lugares LugarA o LugarB La codificación debe cambiar para poder expresar las nuevas instrucciones. Códigos que Incluyen Condiciones COD-22 La única condición de la codificación es que sea inequívoca. Si el primer bit es 0: los ocho bits siguientes representan el operando como un numero. Hex. LugarB = 0 4. Cada instrucción tiene una ´única representación hexadecimal en bytes: Instrucción Codificación ADD 0x27 0xB2 0x09EC80 SUB 0x11 0x2F 0x444BC0 MUL 0xFA 0x2B 0xBE8AC0 DIV 0x10 0x02 0xC40080 Almacenamiento de Resultado COD-19 Las instrucciones se complican: el resultado se guarda o almacena en dos lugares posibles. ¿Qué instrucción representa el código 0x04023F? ¿Qué se hacen con los bits de la representación que sobran? Resultados Previos como Operandos COD-21 Se quieren extender las instrucciones tal que un operando pueda ser uno de los dos lugares en los que se ha almacenado un resultado. Si el primer bit es 1: de los ocho bits siguientes se toma el ´ultimo que es el que indica de qué lugar obtener el operando. Se ejecuta la instrucción: DIV 0x10 0x02 LugarA 3. Este bit se escribe a continuación de los dos operandos Codificación de Instrucciones con Resultado COD-20 Se decide codificar LugarA como 0. 2. Ejemplos de codificación: Instrucción Cod.ESCUELA POLITÉCNICA NACIONAL SISTEMAS DIGITALES Se debe decidir cómo completar la representación con dígitos extra. Bin. ¿Qué modificaciones son necesarias en la codificación de las instrucciones? Los operandos pueden ser de dos tipos: 1. Ejemplo de codificación de operando: Sergio E. LugarB = 0x12 Las instrucciones deben codificar donde se almacena el resultado. Se utiliza un bit.78 - . Resultado: LugarA = 0x08. LugarB = 0x12 6. DIV 0x10 0x02 LugarA 1100 0100 0000 0000 1000 0000 0xC40080 ADD 0x10 0x02 LugarB 0000 0100 0000 0000 1010 0000 0x0400A0 MUL 0x10 0x02 LugarA 1000 0100 0000 0000 1000 0000 0x840080 Observación: Como el destino de la operación es un lugar de dos posibles con un ´único bit es suficiente para codificarlo. Ávila P. 2. Un número codificado con 8 bits. Resultado: LugarA = 0x20. Se ejecuta la instrucción: ADD 0x10 0x02 LugarB 5. Por ejemplo ceros al final del ´ultimo byte.

Bin. Codificación de la Información Abelardo Pardo universidad Carlos III de Madrid Secuencias de Instrucciones COD-27 Supongamos que inicialmente: LugarA = 0. 1 bit para codificar el tipo del primer operando 3. Operando 000010010 Número 0x12 (18 en decimal) 100010011 LugarB 001111010 Número 0x7A (122 en decimal) 100010010 LugarA 1XXXXXXX0 LugarA Formato Extendido de Instrucción COD-23 El formato extendido de instrucción consta ahora de 6 partes: 1. 2 bits para codificar el tipo de operación 2. imm8 Add imm8 to AL . Esta tarea se puede hacer porque los bits de relleno están incluidos al final de la instrucción. 1 bit para codificar el tipo del segundo operando 5. Todas las instrucciones tienen la misma longitud. por lo que se puede codificar en un byte como 00101100 = 0x2C Breve Incursión en el Pentium COD-26 Extra’ do del manual de instrucciones del procesador Intel Pentium (Instrucción Set Referencie) ADD–Add Opcode Instruction Description 04 if ADD AL.. Ejemplo: ADD LugarA LugarB LugarA se codifica como 0010110. Description Adds the first operand (destination operand) and the second operand (source operand) and stores the result in the destination operand (. . ¿Se pueden codificar estas instrucciones con menos bits? El formato de instrucción puede tener longitud variable. .ESCUELA POLITÉCNICA NACIONAL SISTEMAS DIGITALES Cod. Operation DEST DEST + SRC.. 1 bit para codificar el destino Codificación de Instrucciones COD-24 Ejemplos: Instrucción Codificación ADD 0x01 0x00 LugarA 0x002000 ADD 0x02 0x00 LugarB 0x004008 MUL LugarB 0x03 LugarA 0xA02030 MUL LugarB 0x04 LugarA 0xA02040 No todos los operandos posible deben aparecer necesariamente en una instrucción.. 8 bits para codificar el dato del primer operando 4. .. . Ávila P. Instrucciones de Longitud Variable COD-25 Se pueden interpretar los bits que codifican el tipo de operando y a continuación obtener los bits necesarios. La codificación sí debe contemplar todos los casos posibles. LugarB = 0 A continuación se ejecutan por orden las siguientes instrucciones: ADD 0x01 0x00 LugarA ADD 0x00 0x00 LugarB MUL 0x02 LugarA LugarA ADD 0x02 LugarB LugarB Sergio E.. La instrucción ADD LugarA LugarB LugarA se puede codificar como 0010110. 8 bits para codificar el dato del segundo operando 6. )... La interpretación de una instrucción mira el código del operando y a continuación interpreta los bits necesarios de la manera pertinente. En el ejemplo: 8 si es un numero y 1 si es uno de los dos lugares (LugarA o LugarB)..79 - ...

entre otras muchas. «sino todo lo contrario». . mientras que si era falsa. Hasta que un día apareció en la isla un sabio muy sabio. Estas propiedades pueden reasumirse como sigue: la lógica Ternaria es una generalización de binario la lógica. También el escritor siente muchas veces una especie de necesidad o de tentación de afirmar algo que no sea verdad ni mentira porque ha podido comprobar que tanto lo uno como lo otro. la divertida parábola inventada por el intuicioncita Brouwer acerca de un soberano xenófobo que. pues. tratando de fabricar paradojas y antinomias. y el análisis de las ideas principales en las que se fundamenta creo que puede ser de gran interés para todos aquellos que trabajen en campos afines a la lógica y la filosofía del lenguaje. había que decapitarle y entonces el fatídico presagio resultaría trágicamente verdadero. suele hacer falta inventar un tercio excluso. y si falsa. definida a comienzos de los años setenta por Routley y Meyer. tanto la verdad como la mentira. hemos de hablar primero de las paradojas del condicional y de la semántica de los mundos posibles estándar o modelos Kripke. ¿Cuál es el resultado final contenido en LugarA? ¿Cuál es el resultado final contenido en LugarB? LÓGICA TERNARIA Introducción Basado en el trabajo de Iván Guzmán de Rojas [1] y algunas nociones básicas de lógica binaria y el álgebra de Boole. algo que no sea verdad ni mentira. La semántica de relación ternaria. ¿Cómo cumplir la orden del rey sin incumplirla al mismo tiempo? Si la afirmación era verdadera. El manejo de la semántica relacional ternaria es verdaderamente útil dada su idoneidad para modelizar una gran variedad de lógicas. de modo que serán los problemas que el condicional ha venido planteando a lo largo de la historia de la lógica el objeto fundamental de nuestro estudio. La perplejidad del funcionario encargado de juzgar acerca del destino de los desdichados viajeros fue enorme. El procesador es un sistema digital capaz de interpretar y ejecutar un conjunto de instrucciones codificadas en binario. Si ésta resultaba cierta. podríamos decir que la idea fundamental es sustituir la relación binaria de la semántica kripkeana por una relación ternaria. queriendo evitar la presencia de extranjeros en su isla. Ha habido en cambio otros filósofos «profesionales» que se han dedicado a desmontar al principio del tercio excluso desde el interior mismo de la lógica. Ávila P. Cierta gente no quiere que se le mienta. es basado adelante más de tres los funcionamientos básicos. algunas de ellas realmente especiales. había que ahorcar al sabio. el cual supo burlar la poco apetitosa disyuntiva lanzando la siguiente camelística frase: «Seré decapitado». y sus tautologías y contradicciones son más complicadas para el hallazgo fuera. con lo que la misma resultaría falsa. pero tampoco soporta que se le diga la verdad. Para comprender los conceptos básicos de la semántica de relación ternaria. De modo general.80 - . hieren e irritan a las personas. Urquhart y Fine entre otros. para probar que existen proposiciones coherentes al margen de la verdad y el error. Así. nosotros introduciremos y mostraremos algunas propiedades elementales de lógica ternaria. la estructura de esta exposición es la siguiente: comenzaré explicando el concepto de implicación de Lewis y cómo éste intenta eliminar las paradojas del condicional material clásico. Por tanto. dio orden de que a todo recién llegado se le obligara a hacer una afirmación.ESCUELA POLITÉCNICA NACIONAL SISTEMAS DIGITALES MUL 0x03 LugarA LugarA ADD 0x03 LugarB LugarB MUL 0x04 LugarA LugarA ADD 0x04 LugarB LugarB Esta secuencia de instrucciones se codifica como un conjunto de bytes. Tales lógicas tienen como objetivo lograr un condicional que realmente represente la noción de implicación del lenguaje ordinario. de las más variadas hechuras. el hombre debería ser ahorcado. El objetivo de esta exposición es explicar del modo más claro y sencillo posible cómo funciona la semántica de relación ternaria y las ideas básicas en las que se basa desde el punto de vista de los problemas que plantean las lógicas para las que fue diseñada. Sergio E. Así lo dicho por el sabio no era ni verdadero ni falso y esto salvó su vida de ambas suertes amenazadoras. decapitado. se diseñó especialmente para modelizar las lógicas de la relevancia. Así. no tiene una estructura para ser una álgebra de Boole.

molestan extraordinariamente y hay que guardarse de decirlas.81 - . rehuir la tentación de refugiarse en el tercio excluso. Incluso hay que evitar el confesárselas uno a sí mismo para poder vivir tranquilo. Se utilizan los microprocesadores: controlar los hornos de microonda. pues. El sistema entero abisagra en la calidad de las muestras de los datos tomadas adentro o la calidad de la salida de los resultados. CPU. una especie de arlequines de la literatura. El escritor debe. Estos números tienen que ser exactos. Para mejorar la calidad del cálculo. Según estos señores. Hasta el Papa -y perdonen ustedes esto que puede parecer una irreverencia-. el álgebra Booleana es relativamente fácil de manejar. Un sistema no puede ser más exacto que qué lee adentro o tiene la capacidad de hacer salir. la mayoría de los mortales no quiere sabios y prudentes que les digan la verdad. y para manipular variables lógicas con el objeto de determinar el mejor método de ejecución de cierta función. Se utilizan los microprocesadores: controlar los hornos de microonda. lo mismo que en el siglo V antes de Cristo. Este error del cuantization también afecta la manera que las computadoras interconectan al mundo exterior. Cuál es incorrecto con la base 2? En fin. Cada herramienta tiene un propósito en el cual sobresalga. logaritmos. Ya que sólo puede haber dos valores. no hay nada mal con la base 2. ciertas verdades sobre todo. cada hombre debe decir la verdad o lo que el cree que es verdadero. no nos referiremos a este uso de la computadora. Cero o Uno (un 1 equivale a 5 voltios) o es un cero (un 0 como lo indica su nombre tiene un valor de cero voltios) y esto nos simplifica el trabajo. . Cuál estamos a punto de aprender se dirige dando a diseñadores otra herramienta que se pueda utilizar para solucionar problemas. Esto es logrado convirtiendo del mundo análogo a digital y de nuevo a análogo. que sin decir nada parezca que afirman mucho. volar el avión. Resulta que el número de los pedacitos usados para la entrada o la salida es el factor final en la calidad del sistema entero. audio de la transferencia a través de las líneas telefónicas. El problema viene en la capacidad de representar los números que son análogos en naturaleza cuantificándolos en unidades discretas. raíces cuadradas. raíces cúbicas. audio de la Sergio E. Para esta discusión. sino simplemente sofistas que entretengan. En la medida de sus fuerzas y de sus posibilidades. El álgebra Booleana se aprovecha para expresar y simular los efectos que los diversos circuitos digitales ejercen sobre las entradas lógicas. más pedacitos se utilizan de modo que el error del cuantización disminuya. volar el avión. Y todo lo demás son meros subterfugios. Pero todo hombre necesita que alguien le muestre la realidad desde fuera de sí mismo. Las computadoras se utilizan para dos fines generales. aunque no sea más que por pura cortesía. memoria disponible. Uno es recuperación de datos que el otro es cálculo matemático. no hay fracciones. comparándola con el álgebra ordinaria. La recuperación de datos es generalmente dependiente en la velocidad de los componentes de la computadora por ejemplo: el accionamiento de disco. números imaginarios ni nada de esas operaciones que empleamos en el álgebra decimal. y también el número en las tareas concurrentes que son realizadas en la máquina. hasta el Papa tiene que tener alguien al lado que le diga las verdades. Este error del cuantization también afecta la manera que las computadoras interconectan al mundo exterior. e igualarlo para hacer los juguetes de los niños más realistas dándoos discurso. Ávila P. pudiendo realizarlos desde una complejidad mínima hasta una complejidad considerablemente alta. Y este tipo de escritores abunda y prolifera extraordinariamente entre nosotros. las verdades. El truco es dominar ambos y saberlos cuando cada uno es el más apropiado para el trabajo Qué da sistemas ternarios su lugar único es el hecho de que pueden representar números mucho más grandes con pocos dígitos. En el álgebra Booleana. Los cálculos numéricos se utilizan para una variedad de cosas del tiempo que modela a los cálculos del interés financiero. La lógica binaria a dado un gran aporte a los circuitos lógicos porque es lo mas sencillo de manejar ya que en la lógica binaria solamente hay dos posibles estados.ESCUELA POLITÉCNICA NACIONAL SISTEMAS DIGITALES Hoy. números negativos. pues con sólo dos estados posibles son menos variables las que debemos de tomar en cuenta al realizar diseños.

existe asociada una función de pertenencia para sus elementos. LOGICA TERNARIA Una lógica ternaria o lógica trivalentees algún sistema lógico multivaluado en el que hay tres valores de verdad. una orden más alta las virutas DE ANALÓGICO A DIGITAL y de D/A ocupa más espacio del tablero porque tienen más pernos. Se basa en reglas heurísticas de la forma SI (antecedente) ENTONCES (consecuente). Falso. Se utilizan los microprocesadores: controlar los hornos de microonda. "drásticamente". Esta fue entonces reformulada de forma axiomática y algebráica por Grigore Moisil. Por ejemplo. El problema es que como agregas más pedacitos. y algún otro valor indeterminado.82 - . audio de la transferencia a través de las líneas telefónicas. el valor Desconocido puede entenderse metafóricamente como una caja cerrada que contiene ya sea un Verdadero o un Falso. indicando Verdadero. Esto es logrado convirtiendo del mundo análogo a digital y de nuevo a análogo. el resultado de un op del funcionamiento en el valor desconocido es determinado por: if op(1) ≠ op(2) op(0) = 0 else op(0) = op(1) = op(2) Sergio E. Resulta que el número de los pedacitos usados para la entrada o la salida es el factor final en la calidad del sistema entero. Para cada conjunto difuso. uno puede inferir que Verdadero or Desconocido también es Verdadero. El hecho de si algún Desconocido es Verdadero o Falso. donde el antecedente y el consecuente son también conjuntos difusos. También. Las formas de las funciones de pertenencia más típicas son trapezoidal. Un sistema no puede ser más exacto que qué lee adentro o tiene la capacidad de hacer salir. Un sistema no puede ser más exacto que qué lee adentro o tiene la capacidad de hacer salir. Esto es logrado convirtiendo del mundo análogo a digital y de nuevo a análogo. Este error del cuantization también afecta la manera que las computadoras interconectan al mundo exterior. más costoso el sistema informático llega a ser. no se tiene. lineal y curva. Sirvan como ejemplos de regla heurística para esta lógica (nótese la importancia de las palabras "muchísimo". un ingeniero normalmente agregar más pedacitos. Ávila P. que indican en qué medida el elemento forma parte de ese conjunto difuso. volar el avión. "un poco" y "levemente" para la lógica difusa): LOS OPERADORES TERNARIOS Pueden extenderse los funcionamientos de la lógica booleana para trabajar con la lógica ternaria. e igualarlo para hacer los juguetes de los niños más realistas dándoos discurso. algunas operaciones que involucren a un Desconocido pueden dar un resultado inambiguo. El sistema entero abisagra en la calidad de las muestras de los datos tomadas adentro o la calidad de la salida de los resultados. En general. Esto contrasta con las más comunes lógica bivalentes (tal como la clásica lógica proposicional o la lógica booleana) que contemplan únicamente Verdadero o Falso. El sistema entero abisagra en la calidad de las muestras de los datos tomadas adentro o la calidad de la salida de los resultados. Sin embargo. . e igualarlo para hacer los juguetes de los niños más realistas dándoos discurso. En esta tabla. y extendida a lógicas n-valuadas en 1945. Resulta que el número de los pedacitos usados para la entrada o la salida es el factor final en la calidad del sistema entero. y Verdadero and Falso también es Verdadero. ya sea puros o resultado de operar con ellos. Resolver los criterios de calidad del sistema diseñar. Lewis y Sulski.ESCUELA POLITÉCNICA NACIONAL SISTEMAS DIGITALES transferencia a través de las líneas telefónicas. La idea fundamental de la lógica trivalente fue formulada por Łukasiewicz. ya que Verdadero or Verdadero es Verdadero.

aun cuando el valor de verdad es desconocido. Por ejemplo. y x! y 2 L. La disyunción de · (OREGÓN): El resultado del operador de la disyunción es falso si p y q son falsos. CONECTIVOS COMUNES: La negación de · (NO): El operador de la negación debe intercambiar verdadero y falso. existe asociada una función de pertenencia para sus elementos. El sistema L es cerrado y bajo ninguno de estas cuatro operaciones.. que indican en qué medida el elemento forma parte de ese conjunto difuso. y hay 331 = 27 de estas funciones. entre ellas están. .83 - .. x _ y 2 L. Podemos definir generalmente funciones lógicas ternarias como mappings f: Zn ¡3! Z3. La negación del operador unario es una función f: ¡Z3! Z3. la identificación del rmation del la identidad o de A (x).ESCUELA POLITÉCNICA NACIONAL SISTEMAS DIGITALES Note que esta regla no generaliza de operadores a las funciones booleanas arbitrarias. Estos valores pueden ser obtenidos usando la tabla verdad como las demostraciones de la tabla 7. Otra manera de describir las operaciones básicas antedichas está considerándolas como funciones. la negación N (x). y es por consiguiente una tautología en la lógica booleana dos-estimada normal. su valor es 0 (desconocido). en este caso. y desconocido. la fórmula . Sin embargo. Ávila P. de x ^y. La implicación de · (SI. el de la tautología (x) y la Sergio E. Para cada conjunto difuso. el ^ y de x 2 L. normalmente llamó la ley del medio excluido. Las formas de las funciones de pertenencia más típicas son trapezoidal. Notar que la implicación. no está derivada del de otras tres operaciones básicas mientras que sucede en la lógica binaria. En tal tabla 7 también se demuestra la operación de equivalencia cuál se puede derivar de la conjunción y de la implicación. lineal y curva Cuando n = 1 nosotros tiene funciones uno-variables f (x). desde la negación de una declaración desconocida todavía es desconocido. tiene el valor 'verdadero' (es decir 1) cuando A es verdad o falso (es decir 1 o 2). de x _y. el sentido que toma x. y de x! y y otras operaciones compuestas dependen del valor de cada componente x y Y. y desconocido. falsos si p o q es por otra parte falso. mientras deja el valor desconocido inalterado. El valor del ¬x. y 2 L es ¬x 2 L. en la lógica ternaria usual. ENTONCES) La equivalencia de · (los IGUALES): Nótese que cualquiera de las dos declaraciones con el mismo valor de verdad es equivalente. verdaderos si p o q es por otra parte verdad. y un operador binario tal como la separación es una función f: Z2 ¡3! Z3. La conjunción de · (Y): El resultado del operador de la conjunción es verdad si p y q son verdad.

Para hacer la distinción entre el valor de entrada y el estado y las señales de salidaestán codificados por color. Es más o menos se ve igual que la lógica binaria. . y hay 332 = 19683 de ellas. Ávila P. El valor del ¬x. y de x! y y otras operaciones compuestas dependen del valor de cada componente x y Y. Esta función no es una contradicción pues sucede en el caso binario de la lógica. Por lo tanto. Esta función es conmutativa (ya que no importa si cambiamos la 'a' y las entradas 'B'). . Para fines ilustrativos el siguiente programa de Visual Basic puede ser utilizado. y un operador binario tal como la separación es una función f: Z2 ¡3! Z3. En tal tabla 7 también se demuestra la operación de equivalencia cuál se puede derivar de la conjunción y de la implicación. La tabla de verdad va a identificar el estado correcto. • f19 (x) = ¬x del ^ de x = está lloviendo. Todas estas 27 funciones también se llaman las funciones modales de x y ellas se demuestra en la tabla 8 Cuando n = 2 nosotros tiene funciones dos-variables f (x. Otra manera de describir las operaciones básicas antedichas está considerándolas como funciones. xn) de las variables de n. el sistema ternario de la lógica no puede tener una estructura del álgebra de boole. En el ejemplo se demuestra que la condición 9 de la definición del álgebra de Boole no puede ser asimiento por el sistema ternario de la lógica. o no está lloviendo. La lógica ternaria tiene 3x3x3x3x3x3x3x3x3 =19. Podemos definir generalmente funciones lógicas ternarias como mappings f: Zn ¡3! Z3. La lógica binaria tiene 16 funciones diferentes. La tabla de verdad de un dispositivo ternario se ve diferente desde una binaria. Las entradas se pueden cambiar y el programa va a generar los estados de salida correctas.84 - . el sistema ternario de la lógica no puede tener un booleano Estructura del álgebra. entonces demostraremos uno variable o funciones ternarias f (x) • f1 (x) = la identificación (x) = está lloviendo (un rmation de la • f20 (x) = N (x) = ¬x = no está lloviendo (la negación) • f8 (x) = (x) = x! x = si entonces lo está lloviendo está lloviendo (la tautología) • f22 (x) = ¡(x) = ¬ (x! x) = no es verdad que si entonces está lloviendo está lloviendo (contradicción) el • F2 (x) = ¬x de x _ = está lloviendo. de x ^y. y no está lloviendo.ESCUELA POLITÉCNICA NACIONAL SISTEMAS DIGITALES contradicción (x). de x _y. Estos valores pueden ser obtenidos usando la tabla verdad como las demostraciones de la tabla 7. Por lo tanto.683 funciones diferentes de las cuales 729 son conmutativa. Como la lógica ternaria que significa un sistema cuyos elementos llamados proposiciones o declaraciones se Sergio E. En general existen las funciones lógicas ternarias erent f (x1. y). Ejemplo: Dejar x ser la declaración simple “que está lloviendo” de algunas funciones o asuntos de una variable. Esta función no es una tautología pues sucede en el caso binario de la lógica. en una sola página. La negación del operador unario es una función f: ¡Z3! Z3. 33 Podemos computar de la misma forma que hay 3 = 7625597484987 funciones erent tres-variables de di. También este ejemplo demuestra que la condición 10 de la definición del álgebra de Boole no puede ser asimiento por el sistema ternario de la lógica. La siguiente figura muestra la tabla de verdad de una función lógica ternaria. x2 de 33n di . Se ejecuta una función ternaria no conmutativa lógica. Es imposible. pero hay algunas diferencias importantes. ya que es unestado más que tratar. demostrar la tabla verdadera para cada uno.

These values can be obtained by using the true table as the Table 1 shows. When n = 1 we have one-variable functions f(x). the Tautology τ(x) and the contradiction γ(x).85 - . Ávila P. Table 1. Para hacer la distinción entre el valor de entrada y el estado y las señales de salidaestán codificados por color. se definenen las siguientes operaciones básicas. In general. tenemos que si v (x) = 1 (verdadero) en virtud de las reglas de la lógica binaria a continuación. the negation N(x). La tabla de verdad va a identificar el estado correcto. y є continuación. A continuación. en el sentido de que si x.. Sergio E. • La negación ¬ (operación unaria "no") • La disyunción (operación binaria "o") • La conjunción ^ (operación binaria "y") • La implicación! (operación binaria "si . Esto creó denotamos por. Las entradas se pueden cambiar y el programa va a generar los estados de salida correctas. we can define ternary logical functions as mappings . All these 27 functions are also called modal functions of x and they are shown in the Table 2. and there are of these functions.ESCUELA POLITÉCNICA NACIONAL SISTEMAS DIGITALES valoran en el conjunto {0. en este caso. . De forma análoga para el valor falso. 2}. Para fines ilustrativos el siguiente programa de Visual Basic puede ser utilizado. Basic operations in the ternary logic The value of ¬x. and a binary operator such as the disjunction is a function . el valor de x puede ser visto como un mapeo tal que De esto. se puede evitar haciendo v V (x) = x. Por otro lado. x^y. entonces") El sistema es cerrado bajo cualquiera de estas cuatro operaciones. The unary operator negation is a function . Nótese que la implicación. and xy and other composed operations depend on the value of each component x and y. no se deriva de las otras tresoperaciones básicas como sucede en la lógica binaria. Se ejecuta una función ternaria no conmutativa lógica. the Identity or Affirmation id(x).Another way to describe the above basic operations is by considering them as functions. among them are. 1. también v (x) = 1 (verdadero) bajo las leyes ternarias de la lógica. x y. Si x es unaproposición. para las mismas consideraciones realizadas para el caso de la lógica binaria.. In such Table 1 also it is shown the equivalence operation which can be derived from the conjunction and implication.

and m22(x. the ternary logic system can not have a Boolean Algebra structure. and it is not raining. respectively.ESCUELA POLITÉCNICA NACIONAL SISTEMAS DIGITALES Table 2: All the one-variable ternary functions When n = 2 we have two-variable functions f(x. Otra manera de describir las operaciones básicas antedichas está considerándolas como funciones. La tabla de verdad de un dispositivo ternario se ve diferente desde una binaria. • f19(x) = x^¬x = it is raining. Therefore. La negación del operador unario es una función f: ¡Z3! Z3. y). if only if it is not raining and the sun is not shining. This function is not a contradiction as it happens in the binary logic case.86 - . xn) of n variables. ya que es unestado más que tratar. Then we write some of the 19683 two-variable functions • τ(x. x2. . Esta función es conmutativa (ya que no importa si cambiamos la 'a' y las entradas 'B').y) = ¬x ^ ¬y we can verify in the Table 3 that this is a tautology called the first law of the De Morgan. This function is not a tautology as it happens in the binary logic case. Example: Some functions or propositions of two variables Let x. Ávila P. Also this example shows that condition 10 of the definition of Algebra of Boole can not be hold by the ternary logic system. La siguiente figura muestra la tabla de verdad de una función lógica ternaria. y)= ¬x ¬y we can see that the second law of the De Morgan holds in ternary logic. y)= ¬(x y) and m12(x. to show the true table for each one. y be the propositions “it is raining” and “the sun is shining”. in a single page. Also this example shows that condition 9 of the definition of Algebra of Boole can not be hold by the ternary logic system. or it is not raining. It is impossible. Sergio E. In the same way we can compute that there are three-variable different functions. y) = ¬(x y)↔(¬x^¬y) =It is not true that it is raining or the sun is shining. y un operador binario tal como la separación es una función f: Z2 ¡3! Z3. the ternary logic system can not have a Boolean Algebra structure. .y)= ¬(x^y). then we show 6 of the 27 one-variable ternary functions f(x) • f1(x) = id(x) = it is raining (affirmation) • f20(x) = N(x) = ¬x = it is not raining (negation) • f8(x) = τ(x)= xx = if it is raining then it is raining (tautology) • f22(x) = γ(x) = ¬(xx) = it is not true that if it is raining then it is raining (contradiction) • f2(x) = x ¬x = it is raining. . . . Analogously for m 21(x. Example: Some functions or propositions of one variable Let x be the simple statement “it is raining”. and there are of them. By making m11(x. Podemos definir generalmente funciones lógicas ternarias como mappings f: Zn ¡3! Z3. In general there exist different ternary logical functions f(x1. Therefore.

The following figure shows the ternary signal a= [2 1 0 1 1 0 2 0 2 2 1 2 0 1 0 2]. The true table of this function is shown in the Table 4 together the true table of the implication and we can verify over there. y) = ¬x y = it is not raining or the sun is shining. .ESCUELA POLITÉCNICA NACIONAL SISTEMAS DIGITALES Table 3: The De Morgan laws in ternary logic • α(x. Table 5: The derivation of the equivalence law in ternary logic Señales ternarias Ternary input and output signals can assume one of three levels. y) = (x→y)^(y→x) = If it not raining then the sun is shining. Ávila P. y) and imp(x. We can verify in the Table 4 that it is equivalent with the implication as the binary case. and if the sun is shining then it is raining. y) = ¬y¬x = If the sun is not shining then it not raining. Consequently they have more 'information content' than binary signals. We can see in the Table 5 that it is equivalent to the “equivalent” function. y) are not equivalent as it happens in binary logic • β(x. Sergio E.87 - . Table 4: (x→y)↔(¬x y) fails and (¬y→¬x)↔(x !) holds in ternary logic• δ(x. that α (x.

88 - . logic states are being defined on the basis of assigned values b. While this is in part true it would ignore fundamentally different properties of multi-value logic compared to binary logic. without changing the essence of the logic functions. This is of course not possible in non-binary logic. not every ternary state can be 'inverted' into another ternary state c. Multi-valores invertibles It may seem that multi-value logic is similar to binary logic just with more states and functions. . And the inversion of a' is a''=[0 1 2]. 0 and +1. 1 and 2 are assigned by us and are not inherent to ternary logic. The number of possible 4-value logic functions is around 4 billion. It is not the purpose of this web page to provide an in-depth analysis of multi-value logic. The same approach can be applied to other non-binary logics. such as 4-value logic. The most useful inversion is one that can be reversed. The following figure shows the ternary input signals 'a' and 'b' and the ternary output signal 'c' of a ternary logic device executing ternary logic function 'ter'. That leaves '1' to have itself as an inversion. The inversion of state '0' can be '1' or '2'. However one aspect that must be pointed out is the use of state (or value) inversion in multi-value logic. An arithmetical approach to inverters in an m-valued logic in the literature is provided by the formula:\ x = (m-1) – y In this formula y is the 'original' value and x is the 'inverted' value of y. Keep in mind that the values 0. Ávila P. Sergio E. For instance the inversion of '0' can be '2' and the inversion of '2' can be '0'. which we named '0'. The inversion of the signal a=[0 1 2] would then be a'=[2 1 0]. Each state has the other as its inversion. which is useful in balancing the DC component of the signals. In binary logic each of the two states '0' and '1' has one inversion. The inversion of '0' is '1' and the inversion of '1' is '0'. There are several unsatisfactory aspects to this definition. here are three of them: a. They can for instance be -1. this inverter is of limited use State based ternary inverters In ternary logic there are three states.ESCUELA POLITÉCNICA NACIONAL SISTEMAS DIGITALES The following figure shows the ternary input signals 'a' and 'b' and the ternary output signal 'c' of a ternary logic device executing ternary logic function 'ter'. This demonstrates how to apply non-binary logic. '1' and '2'. Much of the literature uses this approach and you will see in many articles that x = [ 2 1 0] is used as the standard ternary inverter of y = [0 1 2].

Obtiene un conjunto S'. por ejemplo en cámaras digitales.n son miembros del conjunto Hi. En la lógica difusa. una de las herramientas más importantes para la solución de problemas. como caliente/tibio/frío. En caso de que S no contenga la cláusula vacía. El método de resolución de Robinson esta considerado como el precursor de toda una familia de métodos. S'1. Estos sistemas son generalmente robustos y tolerantes a imprecisiones y ruidos en los datos de entrada. es la base de muchos procedimientos automáticos de prueba que se usan en la actualidad.. y prueba sucesivamente la insatisfactibilidad de los conjuntos generados. Entonces cada Hi es llamado el conjunto de constantes de nivel i de S y H".. principalmente los relacionados con control de procesos industriales complejos y sistemas de decisión en general. Los procedimientos de demostración de Herbrand y los basados en resolución.. para valores concretos que puedan ser manipuladas por los ordenadores. El aspecto central del método consiste en probar que si S contiene la cláusula vacía. ya que los sistemas de control pueden necesitar retroalimentarse en un espacio concreto de tiempo. se intentara derivarla a partir de las cláusulas existentes en S. la lógica difusa.. el algoritmo de Herbrand genera una secuencia S'1. la resolución la compresión de datos. se probará que la negación de la fórmula es inconsistente. Con la lógica convencional.. entonces es inconsistente. que hacen uso de los conceptos centrales. Probar la inconsistencia ahora.. se dice que H0={a}.tn) para todas las funciones N-arias fn de S.S'2. Consiste esencialmente en una extensión de la regla de la literal simple de Davis y Putman.. también tiene un especial valor la variable del tiempo. la unión de Hi y el conjunto de todos los términos de la forma fn(t1. este método esencialmente elimina cláusulas aplicando cuatro reglas de simplificación. Si la cláusula vacía es derivada de las cláusulas existentes. o lim Hi es llamado el Universo de Herbrand de S. Gilmore. las computadoras pueden manipular valores estrictamente duales. Dado un conjunto de cláusulas base S. Consiste en la aplicación de la lógica difusa con la intención de imitar el razonamiento humano en la programación de computadoras.. 1. entonces H0 consiste de una sola constante. Los sistemas basados en lógica difusa imitan la forma en que toman decisiones los humanos.. se usan modelos matemáticos para representar nociones subjetivas. para probar la insatisfactibilidad de S. sistemas de aire acondicionado.. el planteamiento anterior es lo mejor que podemos esperar obtener de un procedimiento de “Demostración Automática de Teoremas”. con la ventaja de ser mucho más rápidos. . entonces es inconsistente.ESCUELA POLITÉCNICA NACIONAL SISTEMAS DIGITALES Aplicaciones de la lógica a la demostración automática de teoremas La lógica de Primer Orden es. Para i=0.. son procedimientos por refutación.89 - . o lógica borrosa se utiliza para la resolución de una variedad de problemas. Se aplica directamente a cualquier conjunto de cláusulas (no necesariamente cláusulas base)..S'n de conjuntos de instancias base de S. etc. en lugar de probar que una fórmula es valida. j=1. en 1960 fue el primero en presentar una implementación en una computadora.. . lavarropas. Si no aparecen constantes en S. S es inconsistente. es asunto de la lógica de proposiciones y Gilmore uso para ello el método multiplicativo (un método para el cálculo de proposiciones). Aunque el problema de encontrar un procedimiento único para probar la validez de todas las fórmulas del Calculo de Primer Orden. Dado un conjunto S de cláusulas. es decir. existen procedimientos de prueba que pueden verificar si una fórmula es valida (cuando efectivamente lo es). En caso de que S no contenga la cláusula vacía. en la actualidad. Herbrand en 1930 presentó un algoritmo para encontrar una “interpretación” que pueda “falsificar” una fórmula.. y aplicando el teorema de Herbrand se sabe que S' es insatisfactible si y solo si. En este paradigma.. Davis y Putnam mejoraron el método unos meses después de publicado el trabajo de Gilmore en el mismo año de 1960... Ávila P. como verdadero/falso. por las constantes del i-ésimo nivel del Universo de Herbrand. donde tj. Los sistemas de lógica difusa están también muy extendidos en la tecnología cotidiana. pero que. sí/no o ligado/desligado. El universo de Herbrand define lo siguiente: Sea H0un conjunto de constantes que aparecen en S. En virtud de los resultados de Church y Turing. S es insatisfactible. pueden necesitarse datos anteriores para hacer una evaluación media de la situación en un periodo de tiempo anterior. del procedimiento de Herbrand. 2. es irresoluble. aunque no se pueda conocer efectivamente cuando una fórmula es invalida.. El método de Herbrand. de alguna manera proponen algún refinamiento. En Inteligencia artificial. generando los conjuntos S'n. en donde S'i es la conjunción de todas las instancias base obtenidas de reemplazar “todas” las variables en S. sea Hi+1. Circuitos lógicos ternarios cmos Las ventajas y características de los sistemas ternarios han creado gran interés en el diseño e implementación Sergio E.

pero ahora el material es polisilicio . La compañía tiene actualmente una serie de 18 patentes pendientes con la oficina de la patente y de la marca registrada de Estados Unidos (USPTO). 1L. La frase "de metal-óxido-semiconductor" es una referencia a la estructura física de ciertos transistores de efecto de campo . Las palabras "de simetría complementaria" se refieren al hecho de que el típico estilo de diseño digital con CMOS de usos y simétricos pares complementarios de tipo p y tipo n de semiconductores de óxido metálico transistores de efecto de campo (MOSFET) para las funciones de la lógica. no-binarias por tecnologías multi-valued binarias y de la novela actuales de la lógica. 0. convertidores de datos . aproximadamente 0. Estas resistencias son escogidas para que el circuito tenga una corriente de carga igual a al corriente de salida que manejan los circuitos binarios. el proceso y la detección de señales numéricas de niveles múltiples. disminución de la complejidad de las interconexiones (en el circuito integrado y en el sistema).+V voltios respectivamente. Aluminum fue una vez utilizado. 0 y -V. el almacenaje.ESCUELA POLITÉCNICA NACIONAL SISTEMAS DIGITALES de tales sistemas. estas resistencias agregadas permiten obtener 3 niveles de voltajes equiprobables con dos voltajes de alimentación. El LLC de Ternarylogic es una compañía basada de New Jersey. las principales ventajes de tales sistemas son: mayor velocidad de las operaciones aritméticas. tales como sensores de imagen . y otros de lógica digital circuitos. La tecnología CMOS también se utiliza para varios circuitos analógicos. nand.3mA para el transistor de canal n y 0. disminución del numero de pines de los circuitos integrados. A un inversor binario cmos se le insertan dos resistencias entre los transistores de canal n y p. Familia cmos Concepto De metal complementario de óxido-semiconductor (CMOS) es una tecnología para la construcción de circuitos integrados . 3.UU. que a su vez está en la parte superior de un material semiconductor . Frank Wanlass CMOS patentado en 1967 ( patente de EE. que tiene una puerta de metal electrodo colocado en la parte superior de un aislante de óxido.90 - . Los niveles lógicos 0L. Los tres niveles de voltaje son iguales a + V. la segunda corresponde al inversor ternario positivo (PTI). nor ternarios utilizando CI cmos. Basados en esta idea se diseñan los circuitos inversor. y la última salida corresponde al inversor ternario negativo (NTI). peso significativo sólo cuando el elaborado transistores en el dispositivo CMOS son el cambio entre dentro y fuera de los Estados. Dos características importantes de los dispositivos CMOS son de alta inmunidad al ruido y estática bajo consumo de energía . Conduce la investigación en la creación. por ejemplo -transistor lógica transistor (TTL) o la lógica del NMOS . uno de estos voltajes es positivo y se aplica a la fuente del transistor de canal p (Vdd=+V) y el segundo es negativo y se aplica a la fuente del transistor de canal n (Vss=-V).16 mA para el transistor de canal P. En consecuencia.Los valores típicos de los voltajes de alimentación positivos y negativos son +4 y -4 voltios. 2L corresponden a .V. El inversor tiene tres salidas. la falta de una tecnología adecuada no ha permitido el desarrollo de circuitos lógicos ternarios. y altamente integrado transceptores para muchos tipos de comunicación.858 ). Ávila P.356. la primera salida corresponde al inversor ternario simple (STI). A partir de estos operadores básicos se pueden desarrollar diferentes circuitos secuenciales. mejor uso de los canales de transmisión debido al alto contenido de información que va por los canales. sin embargo. Fue principalmente por esta razón que se convirtió en el CMOS utiliza la tecnología más para ser implementado en VLSI fichas. RAM estática . mayor densidad de información. Otras puertas de metal han vuelto con la llegada de high-k de materiales dieléctricos en el proceso CMOS. según lo anunciado por IBM e Intel para el de 45 nanómetros y más allá de nodo. CMOS también permite una alta densidad de funciones lógicas en un chip. voltios respectivamente. y los valores típicos de las resistencias son 12k. los dispositivos CMOS no producen tanto calor residual como otras formas de la lógica. Sergio E. La tecnología CMOS se utiliza en microprocesadores . respectivamente. inversor CMOS ( puerta lógica NO ) CMOS también se refiere a veces como la simetría de metal complementario de óxido-semiconductor (o COS-MOS [1] ). microcontroladores . . LLC de Ternarylogic: la compañía y su lista del IP.

Esto es mucho mejor que los TTL ya que los CMOS pueden ser utlizados en medios con mucho más ruido. Como podemos ver mientras VDD sea mayor podemos operar en frecuencias más elevadas. Esto hace posibles remplazar algunos circuitos TTL por un diseño equivalente CMOS. La serie 74C que su característica principal es que es compatible terminal por terminal y función por función con los dispositivos TTL. niveles de voltaje Cuando las salidas CMOS manejan solo entradas CMOS. estas fueron las primeras series CMOS. Las series 74HC y 74HCT funcionan con voltajes de 2 a 6 V. voltaje de alimentación Las series 4000 y 74C funcionan con valores de V DD que van de 3 a 15V. esto es por que los CMOS son. La serie 74HCT es también de alta velocidad. Características principales. Comunmente este factor de carga es de 50 para bajas frecuencias. La mayoría de los CI digitales MOS se construyen exclusivamente con MOSFET. Hay otras características muy importante que tenemos que considerar siempre. Características de la familia CMOS. Sergio E.91 - . estos valores van de 3 a 15 V para los 4000 y los 74C.ESCUELA POLITÉCNICA NACIONAL SISTEMAS DIGITALES Carácterísticas Existen varias series en la familia CMOS de circuitos integrados digitales. y a VDD para el estado alto. La tecnología MOS (Metal Oxido Semiconductor) deriva su nombre de la estructura básica MOS de un electrodo metálico montado en un aislador de óxido sobre un subestrato semiconductor. Una compuerta CMOS tiene la misma potencia de disipación en promedio con un 74LS en frecuencia alrededor de 2 a 3 Mhz. De 2 a 6 V para los 74HC y 74HCT. todas tienen que estar conectadas a un nivel fijo de voltaje.5 nW cuando V DD = 5 V y cuando VDD = 10 V la potencia consumida aumenta a sólo 10 nW. tienen un aumento de 10 veces la velocidad de conmutación. por lo que la regulación de voltaje no es un aspecto crítico. Los requerimientos de voltaje en la entrada para los dos estados lógicos se expresa como un porcentaje del voltaje de alimentación. Tenemos entonces: VOL(max) = 0 V VOH(min) = VDD VIL(max) = 30%VDD VIH(min) = 70% VDD Por lo tanto los margenes de ruido se pueden determinar a partir de la tabla anterior y tenemos que es de 1. Los valores de velocidad de conmutación dependen del voltaje de alimentación que se emplee. Ávila P. Los margenes de ruido pueden hacerse todavía mejores si aumentamos el valor de V DD ya que es un porcentaje de este. . En lo que a la disipación de potencia concierne tenemos un consumo de potencia de sólo 2. Así pues. La serie 74HC son los CMOS de alta velocidad. Los voltajes de alimentación en la familia CMOS tiene un rango muy amplio.5 V. las entradas CMOS nunca deben dejarse desconectadas. Pero debido a su capacitancia de entrada se limita el número de entradas CMOS que se pueden manejar con una sola salida CMOS. los niveles de voltaje de la salida pueden estar muy cercanos a 0V para el estado bajo. y también es compatible en lo que respecta a los voltajes con los dispositivos TTL. La serie 4000 que fue introducida por RCA y la serie 14000 por Motorola. La potencia crece en proporción con la frecuencia. Los transistores de la tecnología MOS son transistores de campo denominados MOSFET. para altas frecuencias el factor de carga disminuye. . por ejemplo en una 4000 el tiempo de propagación es de 50 ns para V DD = 5 V y 25ns para VDD = 10 V. el factor de carga de CMOS depende del máximo retardo permisible en la propagación. al igual que los MOS muy susceptibles a cargas electrostáticas y ruido que podrían dañar los dispositivos. Ya que los CMOS tienen una resistencia de entrada extremadamente grande (10 12 ) que casi no consume corriente. Sin embargo tenemos que la disipación de potencia sera baja mientras estemos trabajando con corriente directa.

25Mw Complejidad del proceso La lógica MOS es la familia lógica más simple de fabricar ya que utiliza un solo elemento básico. y serán proporcionalmente mayores para valores más grandes de V DD. consumo de potencia Los CI MOS consumen pequeñas cantidades de potencia debido a las resistencias relativamente grandes que utilizan.92 - . los márgenes de ruido N-MOS están alrededor de 1. . serie 4000/14000 ii. para frecuencias mayores de 100 kHz. 1. se observa un deterioro del factor de carga – siendo del orden de 50. Para circuitos operando en DC o de baja frecuencia.ESCUELA POLITÉCNICA NACIONAL SISTEMAS DIGITALES VOL (max) 0V VOH (min) VDD VIL (max) 30% VDD VIH (min) 70% VDD Velocidad de operación Una compuerta NAND N-MOS común tiene un tiempo de retardo de 50 ns. serie 74HC (CMOS de alta velocidad) iv. Esto se debe principalmente a la resistencia de salida relativamente alta (100kΩ) y la carga capacitiva representada por las entradas de los circuitos lógicos manejados. margen de ruido Normalmente. Susceptibilidad a la carga estática Las familias lógicas MOS son especialmente susceptibles a daños por carga electrostática. Una pequeña carga electrostática que circule por estas altas impedancias puede dar origen a voltajes peligrosos. La mayoría de los nuevos dispositivos CMOS están protegidos contra daño por carga estática mediante la inclusión en sus entradas de un diodo zener de protección. lo que es un tanto mejor que en las familias TTL. se muestra la disipación de potencia del INVERSOR N-MOS en sus dos estados de operación.05nA = 0. Esto es consecuencia directa de la alta impedancia de entrada de estos CI. las capacidades del factor de carga son virtualmente ilimitadas. Para los circuitos integrados binarios se han resuelto problemas como la interconexión (en chips y entre Sergio E. Las principales series CMOS son: i. serie 74C iii. Factor de carga. el transistor N-MOS (o bien el P-MOS).25 nW 2. Estos diodos están diseñados para conducir y limitar la magnitud del voltaje de entrada a niveles muy inferiores a los necesarios para hacer daño. A manera de ejemplo. PD = 5V x 0. por lo que no requiere de otros elementos como diodos o resistencias (como el CI TTL). VENTAJAS Y DESVENTAJAS DE LA LOGICA TERNARIA Ventajas Una ventaja obvia de la representación de datos ternaria (datos multivaluados) es su potencial para reducir el número de líneas requeridas para la transmisión de grandes cantidades de datos debido al alto contenido de información que va por las líneas. serie 74HCT v.5V cuando operan desde V DD = 5 V. PD = 5V x 50μA = 0. Sin embrago. Ávila P.

SQL asume esto significa que existe un valor real. las implementaciones LSI y VSLI ternarias tienen la ventaja de incrementar la capacidad de procesamiento de datos por unidad de área. empaquetado y refrigeración.ESCUELA POLITÉCNICA NACIONAL SISTEMAS DIGITALES chips). La lógica ternaria no es compatible con la lógica binaria. ya sea como un valor numérico de cero. por tanto las ventajas resumidas en la fig 1. También está la indecisión de decartarse por los expertos o por la tecnología (principalmente mediante Redes neuronales) para reforzar las reglas heurísticas iniciales de cualquier sistema de control basado en este tipo de lógica. o una cadena de longitud cero. con el gasto energético que ello conllevaría. Como principal ventaja. Si un campo no contiene ningún valor definido. Los circuitos lógicos ternarios permiten que cada entrada/salida acepte o entregue mayor información. Ávila P. Tenga en cuenta que un valor que falta no es lo mismo. como elementos principales en los diferentes sistemas electrónicos y computacionales. por tanto el número de pines es menor (esto se debe también a la disminución en la complejidad de las interconexiones).1 no son suficientes para una completa superioridad sobre circuitos lógicos binarios. cabe destacar los excelentes resultados que brinda un sistema de control basado en lógica difusa: ofrece salidas de una forma veloz y precisa. . La lógica ternaria al poseer un mayor número de funciones lógicas que la lógica binaria. si el aire acondicionado se encendiese al llegar a la temperatura de 30º. pero se resuelve en DESCONOCIDO de un registro con un campo Ciudad NULL. En la figura se resumen varias ventajas potenciales de la lógica ternaria: Desventajas La falta de circuitos integrados basados en lógica ternaria no permite aprovechar todas las potencialidades que ofrece esta lógica.93 - . En comparación con cualquier cosa-incluso otro NULL NULL resultados en un estado de verdad DESCONOCIDO. Por ejemplo. disminuyendo así las transiciones de estados fundamentales en el entorno físico que controle. En otras palabras. Por ejemplo. esos 30º no serían ningún umbral. puede implementar un mayor número de aplicaciones y algoritmos más complejos que en sistema binario. El uso de lógica ternaria permite reducir la complejidad de las interconexiones y por tanto incrementar el área efectiva utilizada por el dispositivo. APLICACIONES: Artículo principal: Nulo (SQL) La base de datos estructurales lenguaje de consulta SQL implementa la lógica ternaria como medio de manipulación de NULL contenido del campo. pero ese valor no está actualmente registrada en la base de datos. Se incrementa la velocidad al realizar operaciones aritméticas y se tiene mayor eficacia en la detección de errores. El ruteamiento de interconexiones en los chips es el mayor problema. Si estuviese regulado por lógica difusa. por tanto. La gran funcionalidad de los circuitos lógicos binarios. y la temperatura actual oscilase entre los 29º-30º. es así que el área de silicio usada para las interconexiones es mayor que el área usada para los elementos activos lógicos. dado que los dígitos ternarios poseen mayor contenido de información que los binarios. y el sistema de control aprendería a mantener una temperatura estable sin continuos apagados y encendidos. Sergio E. el SQL expresión " City = 'Paris' "se resuelve en falso para un registro con" Chicago "en el ámbito de la ciudad. al momento de transmitir datos a sistemas binarios actuales se producen cuellos de botella ya que los circuitos binarios no pueden procesar toda la información. Se tiene una mayor densidad de información. no permiten que la lógica ternaria avance más rápidamente ya que no hay la demanda suficiente. SQL utiliza NULL para representar los datos que faltan en una base de datos. nuestro sistema de aire acondicionado estaría encendiéndose y apagándose continuamente.

al servir de lógica binaria para el usuario de SQL. 2. monótona en cada uno de sus factores. sin embargo. Descripción del estado de la técnica Circuitos para realizar el ternario Intercambiador una función son conocidos en el estado de la técnica. conmutativa.1 hasta aplicaciones de física cuántica. Sin embargo. PST. Campo de la invención La presente invención se refiere al álgebra ternaria. En lo referente al diseño de circuitos la mayoría de estudios se basan en la tecnología MOS. sin embargo. . Utilizando la lógica ternaria. En cualquier otro caso. y cuyo campo Saldo explícitamente contiene un número no-negativo. es decir. En SQL Lenguaje de manipulación de datos . Esta expresión se resuelve en TRUE para cualquier registro cuyo balance campo contiene un número negativo. Un estado de la verdad de TRUE o UNKNOWN indica una fila se ha validado con éxito en contra de la restricción de comprobación. y una salida de 0 cuando la entrada es de 2. lo que si existe son módulos que manejan señales ternarias y son utilizados principalmente en codificación digital como 4B3T. Condición actual de la lógica ternaria Existen varios estudios teóricos sobre lógica ternaria que van desde el diseño e implementación de circuitos basados en alguna de las tecnologías mencionadas en el literal 4. Del mismo modo. por lo cual no hay mayor interés por explotarlos. NAND y NOR. Esto se debe a la falta de un valor de la ciudad podría perder la cadena 'París'. una operación booleana es FALSO O sólo cuando sus dos operandos son también falso. SQL Restricciones CHECK comportan de manera diferente. esta expresión es TRUE para cualquier registro con 'París' en su campo Ciudad. Procederemos ahora a introducir operadores que extiendan a los usuales de intersección y unión. Sin embargo.94 - . La expresión se resuelve en falso sólo para un registro cuyo campo Ciudad contenga explícitamente una cadena que no sea 'París'.0 ". cuatro son triviales. hay cuatro funciones de una sola variable. En álgebra binaria. A nivel comercial no existen circuitos lógicos ternarios. MS43. Sólo una verdad del estado de resultados falsos en una violación de una restricción de comprobación. a un álgebra en donde las variables pueden tomar en cualquiera de estos tres valores. SQL puede explicar el estado de verdad desconocida en la evaluación de expresiones booleanas. es decir. Ávila P. mientras que en el álgebra ternaria hay 27 funciones. la expresión se resuelve en DESCONOCIDO. y el resto son valiosos en una medida en función de la aplicación en particular. a Sergio E. De estos. el estado de la técnica no proporciona el trazado de circuito para realizar la mayoría de las otras 26 funciones de la lógica ternaria de una sola variable. Usaremos esto como estrategia para extender las operaciones conjuntistas a los conjuntos difusos: extenderemos las operaciones en un conjunto dado completo de conectivos y luego obtendremos las extensiones de los demás operadores en función de las extensiones que hagamos de los operadores que aparezcan en el conjunto completo. y un saldo faltante que podría hacer falta un número negativo.ESCUELA POLITÉCNICA NACIONAL SISTEMAS DIGITALES a SQL. ninguno de estos estudios garantiza ventajas sobre los circuitos binarios existentes. una producción de 2 cuando la entrada es 0. entre otros. un estado de verdad de verdad para una expresión (por ejemplo. independientemente de la falta de datos. [5] ANTECEDENTES DE LA INVENCIÓN 1. por lo que no todos los datos que faltan conduce a una resolución DESCONOCIDO. [4] En de esta manera. un campo indefinido representa potencialmente un valor posible: una ciudad que faltan pueden o no representar a París. Considere la posibilidad de la expresión " City = 'Paris' OR Balance < 0. en un WHERE cláusula) inicia una acción en una fila (por ejemplo. devolver la fila). tres son necesarios para la integridad lógica. El Intercambiador una función proporciona una salida de 1 cuando la entrada es 1. mientras que un estado de verdad de DESCONOCIDO o FALSE no. Utilizando tecnología CMOS se han desarrollado circuitos lógicos ternarios básicos NOT. la lógica ternaria se implementa en SQL. a diferencia de sólo los dos valores de booleana o álgebra binaria. Basta pues definir un conjunto completo de operadores para describir luego a los otros operadores conjuntistas en términos de los ya definidos. Observemos que la intersección usual es asociativa.

creada por el ruso Dimitri Mendeleiev en 1869. A partir de estas inquietudes. La calidad del control deseó por el diseñador puede dictar que un pedacito 12 convertidor DE ANALÓGICO A DIGITAL y de D/A esté utilizado. importantes ciencias han nacido. . y “quizás arregle el false”=0 quizás. 1. sin embargo. o los trabajos de Herbrand en 1930 quien presento un algoritmo para encontrar. En esta nota. hasta la creación del universo. de nosotros. los cuales aparecen frecuentemente como problemas de planeación. Ávila P. Consecuentemente. INTEL. Por x nosotros querremos decir una declaración simple o proposición considerando que por p o f nosotros querremos decir una proposición compuesta que depende de otras proposiciones simples. o bien ``tesistas'' y ``directores de Sergio E. Es una CPU de 8 pedacitos. las cuales de una u otra forma han logrado. estas grandes ciencias han dado pasos importantes con la ayuda de un gran aliado “La lógica”. el mencionar que corresponde a un planteamiento típico de los problemas dichos de ``Matrimonios Estables'' (en inglés ``Stable Marriage Problems''). los clientes y los servidores son ``clientes de una empresa'' y ``funcionarios de la empresa''. mañana y siempre. o el álgebra de Boole el cual con su aporte abrió las puertas a un gran campo de la ingeniería digital como es la electrónica digital y otras. 2} qué significa el true=1. Con el pasar de los años el hombre siempre a querido buscar la manera de explicar en totalidad los fenómenos que ocurren en la naturaleza. tiempo de reacción. en los últimos años la estructura de circuito SUS-LOCK ha llamado la atención por sus características excepcionales en el diseño de circuitos. Esto hará la CPU utilizar 2 ciclos de la memoria para leer. o bien ``clientes en colas'' y ``despachadores de las colas''. una interpretación que pueda facilitar una formula. La falta de estructura de Boole. La lógica con el pasar de los años ha tenido una gran participación en grandes descubrimientos como ha sido la tabla periódica. también ha anunciado el desarrollo de un chip basado en lógica ternaria que podría revolucionar el mundo electrónico. esta basada en tecnología CMOS. existen inconvenientes en la transición de estados consecutivos. En algunas aplicaciones. por ejemplo INTEL utiliza su memoria para el procesador numérico 8087. se compensa por las herramientas poderosas para el análisis ilativo [1]. MOTOROLA y GENERAL INSTRUMENTS en forma independiente han diseñado memorias ROM de 4 estados para utilizarlos en sus circuitos. o bien ``tareas'' y ``procesadores''. y los requisitos de la memoria que aumentos posteriores el coste o hacen el sistema infeasible. puede hacer a un diseñador agregar más pedacitos que el tamaño natural de la palabra del microprocesador. Por ejemplo. para el caso binario. Esto puede afectar funcionamiento del sistema. la cual a brindado caminos para la expansión y explotación de dichas ciencias. no trabajan adecuadamente con voltajes menores a 3 voltios. como la física. Si se piensa que los chicos son ``clientes'' y las chicas ``servidores''7 entonces se ha de buscar una asignación donde los clientes y los servidores creen entre ellos los mínimos conflictos posibles. etc. también refiérase ellos como las funciones. trabaja en modo voltaje. Considerando que para el caso ternario nosotros usaremos los valores {0. Sírvame como disculpa de la banalidad de este ejemplo. 1} qué significa el true=1 y el false=0. para escribir.ESCUELA POLITÉCNICA NACIONAL SISTEMAS DIGITALES partir de los cuales se pueden desarrollar elementos combinacionales y secuenciales. respectivamente.95 - . una gran cantidad de sistemas de control se basan alrededor de una viruta nombrada los 8051. La generalización está en el sentido que si una proposición p es verdadera o falsa bajo las reglas entonces de lógica binaria es verdadera o falsa bajo la lógica ternaria. en la practica no son adecuados ya que presentan inconvenientes como alto consumo de potencia. la química y la matemática por nombrar algunas. Esta anotación es el más adecuado para un más tarde el análisis algebraico. desde la propia vida. la posición de memoria dos será necesaria almacenar datos o cálculos intermedios. nosotros usaremos los valores {0. el false=2. en la lógica ternaria. Como nos podemos dar cuenta la lógica ha logrado conquistar el extenso mundo de la investigación y lo seguirá conquistando hoy. esta diseñada para resolver los inconvenientes mencionados en el literal anterior debido a su flexibilidad Otro problema es que la calidad requerida de un sistema. no ofrecen una buena inmunidad contra el ruido. pero no en su totalidad satisfacer la curiosidad humana. o para realizar cualquier matemática en los datos. si hubiese que crearlos. INTEL.

Comparado a decimal y a binario Representaciones de números del número entero en ternario no consiga incómodo muy largo tan rápidamente como adentro binario.11111111111 0.1 0. y 2.01010101010 0.33333333333 0. etc. usado en lógica de la comparación y computadoras ternarias.14285714285 0.01111111111 0. . ternario no ofrece a representación finita para la fracción más básica: una mitad (y así.vea abajo para una manera compacta de codificar usar ternario nonary y septemvigesimal.00100100100 0. con un nombre análogo a “pedacito".02020202020 0. decimal 365 corresponde a 101101101 binarios (9 dígitos) y a 111112 ternarios (6 dígitos)..00110011001 0.01210121012 0. Fracciones en ternario Ternar 0. alternadamente.00220022002 0.00200200200 0. son todos números enteros no negativos. Sin embargo. Fracci 1/2 1/3 1/4 1/5 1/6 1/7 ón Ternar 0..01010101010 0.96 - . o bien ``aspirantes a ingresar al bachillerato'' y ``escuelas de bachilleres disponibles''..16666666666 0.).. 0.00010011101 0..00211002110 0.. etc.ESCUELA POLITÉCNICA NACIONAL SISTEMAS DIGITALES tesis''. Un trit contiene cerca de 1.25 0. Sergio E.. el adjetivo también presta su nombre a ternario equilibrado sistema..00010101010 0.1 io 1… 2… 1… 1… 2. un octavo.00101010101 0.00011001100 0. Ternario dígitos se conocen como trits (trempuje inaryél).5 0.01021201021 0. pero una desventaja importante es que. Sistema de numeración ternario Ternario o trinary es base-3sistema de numeración.2 al 3… 6… 7.00202020202 0.01 io 1… 2… 0… 0… 2… Binari 0.. o bien ``cursos'' y ``aulas''. Los números uno twenty-seven en ternario estándar Ternario 1 2 10 11 12 20 21 22 100 Binario 1 10 11 100 101 110 111 1000 1001 Decimal 1 2 3 4 5 6 7 8 9 Ternario 101 102 110 111 112 120 121 122 200 Binario 1010 1011 1100 1101 1110 1111 10000 10001 10010 Decimal 10 11 12 13 14 15 16 17 18 Ternario 201 202 210 211 212 220 221 222 1000 Binario 10011 10100 10101 10110 10111 11000 11001 11010 11011 Decimal 19 20 21 22 23 24 25 26 27 En cuanto a números racionales.58596 (registro23) pedacito de la información. ofertas ternarias una manera conveniente de representar un tercio (en comparación con su representación incómoda como secuencia infinita de dígitos que se repiten en decimal). Ávila P.001 o 1.00011100011 0. Aunque ternario refiere lo más a menudo posible a un sistema en el cual los tres dígitos. Binari 0. 1. ni unos ni otros para un cuarto.. 1… 1.00010111010 0. Por ejemplo.01 o 1… 1… … 1… Decim 0. siguen siendo menos acuerdo lejano que las representaciones correspondientes en bases por ejemplo decimal . un sexto. un décimos. 1… 0. porque 2 no es a primafactor de la base.

Ejemplo de división binaria: En este ejemplo. década y media. Puesto que cada turno consiste en 3 salidas.es que la cuenta no distrae la mente demasiado puesto que el contador necesita dividirse solamente Tasbihs en grupos de tres. Uso práctico Un sistema de la base-tres se utiliza adentro Islam para no perder de vista la cuenta Tasbih a 99 o a 100 en un solo mano para contar rezos (como alternativa para Misbaha). Principalmente se trata de aplicaciones más bien simples de lógica borrosa. así como también para la electrónica de entretenimiento y hogar. desde hace ya. más 2 salidas del 7mo turno. cada dígito es tres dígitos ternarios) es de uso frecuente. hasta el diseño de dispositivos artificiales de deducción automática.1. Fracci 1/8 1/9 1/10 1/11 1/12 1/13 ón Representación ternaria compacta: base 9 y 27 Nonary (la base 9. Ávila P. Aunque la lógica borrosa se inventó en Estados Unidos el crecimiento rápido de esta tecnología ha comenzado desde Japón y ahora nuevamente ha alcanzado USA y también Europa. así como también de sistemas de diagnóstico. La lógica difusa ha cobrado una fama grande por la variedad de sus aplicaciones. Bajando la siguiente cifra (un 0) resulta que 1000 entre 111 toca a 1. La lógica borrosa es todavía un boom en Japón. hay que comenzar cogiendo 4 cifras del dividendo para sobrepasar al divisor. solamente la parte fraccionaria del número se escribe en forma ternaria. las proposiciones pueden ser representadas con grados de certeza o falsedad. similar a cómo octal y hexadecimal los sistemas se utilizan en lugar de binario. 1 por 111 es 111 y falta 100 hasta llegar a 1011. que permite definir valores en las áreas oscuras entre las evaluaciones convencionales de la lógica precisa: Si / No. La ventaja . Si el número de cifras es grande.. que es seis dígitos ternarios.08333333333 0. en cuyo caso queda 1. 5tos y 6tos turnos.09090909090 0. Los números ternarios se pueden utilizar para transportar las estructuras self-similar como a Triángulo de Sierpinski o a Sistema del Cantor convenientemente.125 0.. etc.1 al 1… 9… 3… 3. al menos. Un raro punto ternario se utiliza denotar partes fraccionarias de turno en béisbol. el número de cartas patentando aplicaciones aumenta exponencialmente. la expedición Sergio E.07692307692 0. sistemas de diagnóstico y otros sistemas expertos. uno o cero. cada dígito es dos dígitos ternarios) o septemvigesimal (la base 27. cada uno hacia fuera se considera un tercio de un turno y se denota como . pasando por la construcción de artefactos electrónicos de uso doméstico y de entretenimiento.2. el tryte. Por ejemplo. el suyo Turnos echados la columna para ese juego sería enumerada como 3. para aplicaciones de computadores muy mal definidos o sistemas vagos se emplea la Lógica Difusa. Blanco / Negro. Ternario también tiene una unidad similar a a octeto. Así resulta que 1011 entre 111 toca a 1 (solo puede ser 1 o 0). LÓGICA DIFUSA Introducción La Lógica Difusa o Fuzzy Logic es básicamente una lógica con múltiples valores. Cierto / Falso. si un jugador echó todos los 4tos. Así sucesivamente. Ejemplo de producto binario: La multiplicación es tan sencilla que no se necesita explicación.ESCUELA POLITÉCNICA NACIONAL SISTEMAS DIGITALES Decim 0. es posible que se junten muchos unos en las sumas finales. las cuales van desde el control de complejos procesos industriales. La lógica tradicional de las computadoras opera con ecuaciones muy precisas y dos respuestas: Si o no. La lógica borrosa (Fuzzy Logic) ha surgido como una herramienta lucrativa para el control de subsistemas y procesos industriales complejos.97 - . significando el ⅔ 3. Ahora. se arrastra un 0 a la izquierda (que no afecta) y se arrastra un 1 dos lugares a la izquierda. Si sabemos multiplicar en sistema decimal no encontraremos ningún problema para hacerlo en binario. Con la Lógica Difusa.11111111111 0. por ejemplo 5 unos cuya suma binaria es 101. Se considera un súper conjunto de la Lógica Booleana.aparte de permitir que una sola mano cuente hasta 99 o a 100 . En este uso. De hecho. .

también se está obligado a considerar qué tan rápido es el vehículo. El adjetivo ``difuso'' aplicado a ellas se debe a que los valores de verdad no-deterministas utilizados en ellas tienen. al calificar que ``el cielo es azul`` uno está tentado a graduar qué tan ``azul``. sigue siendo controvertido entre la mayoría de los estadísticos . [2] [3] A pesar de la lógica difusa se ha aplicado a muchos campos.98 - . la lógica difusa variables pueden tener un valor de verdad que va en grados entre 0 y 1. y son excelentes mecanismos de control de procesos. las lógicas difusas son tipos especiales de lógicas multivaluadas. El objetivo de todo sistema manejador de una lógica difusa es describir los grados de los enunciados de salida en términos de los de entrada. Introduciremos primero la noción de conjunto difuso. es decir. la lógica difusa es un superconjunto de los convencionales (booleano) la lógica que se ha extendido para manejar el concepto de verdad parcial. los valores de verdad asumidos por enunciados aunque no son deterministas. Qué tan lleno puede estar es un elemento de incertidumbre.ESCUELA POLITÉCNICA NACIONAL SISTEMAS DIGITALES de patentes industriales de mecanismos basados en la lógica difusa tiene un crecimiento sumamente rápido en todas las naciones industrializadas del orbe. Zadeh. desde la teoría del control de la inteligencia artificial . Desde el punto de vista tecnológico. desde un punto de vista optimista. Estas últimas imponen a sus enunciados únicamente valores falso o verdadero. que prefieren la lógica bayesiana . La lógica difusa surgido como consecuencia de la propuesta de 1965 de la teoría de conjuntos difusos por Lotfi Zadeh . por lo general. Más aún. pues de hecho hay que hablar de ellas en plural. Así pues. donde el valor de verdad puede oscilar entre del todo cierto y totalmente falsa. en efecto. Ahora bien. Dicho más simplemente. Las lógicas difusas han tenido aplicaciones de suma relevancia en el procesamiento electrónico de datos. a sus enunciados se les asocia valores de verdad que son grados de veracidad o falsedad. presentaremos ciertos tipos de cálculos proposicionales de tipo difuso y de cuantificación difusa. que prefieren la tradicional lógica de dos valores ¿QUE ES LA LOGICA DIFUSA? Sergio E. En un sistema deductivo se distingue enunciados ``de entrada'' y enunciados ``de salida’’. las lógicas difusas se encuadran en el área de la llamada Inteligencia Artificial y han dado origen a sistemas expertos de tipo difuso y a sistemas de control automático. introducido por Lotfi A. independientemente de que también esté medio vacío. e igualmente. donde binario sistemas tienen dos valores de la lógica . [1] Además. La lógica difusa es una forma de muchos-la lógica de valor derivada de la teoría de conjuntos difusos para hacer frente a un razonamiento que es líquido o aproximadas en lugar de fijas y exactas. no está lleno completamente ni está vacío completamente. Ávila P. reiteramos. Las lógicas difusas procuran crear aproximaciones matemáticas en la resolución de ciertos tipos de problemas. Bien que éstas han modelado satisfactoriamente a una gran parte del razonamiento ``natural’’. es el cielo. aunque esto último no implique necesariamente cuantificar la velocidad del vehículo con toda precisión. si ``un vehículo se mueve rápido``. . lo difuso puede entenderse como la posibilidad de asignar más valores de verdad a los enunciados que los clásicos ``falso'' o ``verdadero''. en la Universidad de California en Berkeley. y algunos ingenieros de control . Inmediatamente después. y las operaciones usuales en ese tipo de conjuntos. En esta presentación haremos énfasis en el carácter multivaluado de las lógicas difusas. es cierto que el razonamiento humano utiliza valores de verdad que no necesariamente son ``tan deterministas’’. una connotación de incertidumbre. cuando lingüística variables se utilizan . En contraste con la "lógica crujiente". En determinadas áreas de conocimiento. estos títulos pueden ser administrados por funciones específicas. mucho más amplios que los meros ``verdadero'' y ``falso’’. Por otra parte. por lo cual son particularmente útiles en aplicaciones electrónicas o computacionales. Se ha considerado de manera general que el concepto de lógica difusa apareció en 1965. no necesariamente son desconocidos. Pretenden producir resultados exactos a partir de datos imprecisos. entendida esta última como una propiedad de indeterminismo. Las lógicas difusas. son esencialmente lógicas multivaluadas que extienden a las lógicas clásicas. Por ejemplo. Por estas propiedades es que ciertos sistemas de lógica difusa aparentan una labor de aprendizaje. de difusidad. Un vaso medio lleno. algunos sistemas son capaces de refinar los grados de veracidad de los enunciados de salida conforme se refinan los de los de entrada.

es decir. y son excelentes mecanismos de control de procesos. Zadeh. así como también de sistemas de diagnostico la lógica difusa ha cobrado significativa fama en la industria mundial. La lógica difusa es esencialmente una lógica multivaluada que extiende a la lógica clásica. nuestra mente asocia automáticamente la imagen de ciertas personas o tipos de personas. Este término inglés significa “confuso. mucho más amplios que los meros “verdadero” y “falso”. Podemos observar que desde el punto de vista de los “conjuntos difusos” el periodo de edad de los treinta a los treinta y cinco puede considerarse tanto dentro del círculo “joven” como el de “mediana edad”. Sergio E. Otro tanto ocurre entre los cincuenta y los cincuenta y cinco años que pueden concebirse dentro de la “mediana edad” y de la “tercera edad”. hasta el diseño de dispositivos artificiales de deducción automática. Supongamos que hemos llegado a la conclusión de que la edad mediana son los 45 años. independientemente de que también esté medio vacío. Este término se traduce por “flou” en frances y “aimai” en japones. Al escuchar el término “mediana edad”. introducido por Lotfi A. y con ello dan la posibilidad de hacer programas para ordenadores que interpreten las expresiones humanas que normalmente son imprecisas para la matemática tradicional. Incluso algunos sistemas son capaces de refinar los grados de veracidad de los enunciados de salida conforme se refinan los de los de entrada. imponiendo a sus enunciados únicamente valores falso o verdadero. que ordinariamente exige que las cosan sean definidas. El objetivo de todo sistema manejador de una lógica difusa es describir los grados de los enunciados de salida en términos de los de entrada. el segundo el de la “mediana edad” va de los treinta hasta los cincuenta y cinco anos. Por ejemplo. pasando por la construcción de artefactos electrónicos de uso domestico y de entretenimiento. Tomemos como ejemplo el concepto de “mediana edad”. y pretende producir resultados exactos a partir de datos imprecisos. el de los jóvenes va de los 0 hasta los treinta y cinco anos. la lógica difusa se encuadra en el área de la llamada Inteligencia Artificial y ha dado origen a sistemas expertos de tipo difuso y a sistemas de control automático. se puede observar que la expedición de patentes industriales de mecanismos basados en la lógica difusa ha tenido un rápido crecimiento en todas las naciones industrializadas del planeta. por lo cual es particularmente útil en aplicaciones electrónicas o computacionales. El primero. no está lleno completamente ni está vacío completamente. entendida esta última como una propiedad de indeterminismo. Como indicador del auge de la lógica difusa. El adjetivo “difuso” se debe a que los valores de verdad no deterministas utilizados en este tipo de lógica tienen por lo general una connotación de incertidumbre. Es aquí donde entra la Lógica Difusa. el concepto básico es fácilmente comprensible. De tal forma creamos tres círculos.ESCUELA POLITÉCNICA NACIONAL SISTEMAS DIGITALES Es una rama de la lógica que usa grados de membresía (pertenencia) a los conjuntos en lugar de pertenecer a ellos como verdadero o falso El término “difuso” procede de la palabra inglesa “fuzz” que sirve para denominar la pelusa que recubre el cuerpo de lo polluelos al poco de salir del huevo. Desde el punto de vista tecnológico. borroso. Qué tan lleno puede estar es un elemento de incertidumbre. de difusidad. Por el contrario. Un vaso medio lleno. a sus enunciados se les asocia valores de verdad que son grados de veracidad o falsedad. Pero este es un concepto con límites imprecisos que no puede ser tratado por el programa de un ordenador. Estas transiciones de valoración facilitan la expresión matemática de las expresiones difusas o indefinidas. y por ultimo el de la tercera edad que va de los cincuenta en adelante. Ávila P. El concepto de lógica difusa surgió en 1965. indefinido o desenfocado”. Desde un punto de vista optimista. La lógica clásica ha modelado satisfactoriamente a una gran parte del razonamiento “natural”. al calificar que “el cielo es azul” uno está tentado a graduar qué tan “azul”. en la Universidad de California en Berkeley. en efecto. Aunque la teoría de conjuntos difusos presente cierta complejidad. Sin embargo es cierto que el razonamiento humano utiliza valores de verdad que no necesariamente son tan deterministas. En determinadas áreas de conocimiento. . no necesariamente son desconocidos. Por estas propiedades es que ciertos sistemas de lógica difusa aparentan una labor de aprendizaje. lo difuso puede entenderse como la posibilidad de asignar mas valores de verdad a los enunciados que los clásicos “falso” o “verdadero”. aunque esto ultimo no implique necesariamente cuantificar la velocidad del vehiculo con toda precisión. En un sistema deductivo se distingue enunciados “de entrada” y enunciados “de salida”. La lógica difusa procura crear aproximaciones matemáticas en la resolución de ciertos tipos de problemas.99 - . si “un vehiculo se mueve rápido”. Sin embargo no podemos descartar a las personas de 35 o 55 anos como edad mediana. e igualmente. es el cielo. los valores de verdad asumidos por enunciados aunque no son deterministas. Por otra parte. La lógica difusa ha tenido aplicaciones de suma relevancia en el procesamiento electrónico de datos. las cuales van desde el control de complejos procesos industriales. los menores de 30 años y los mayores de 60 tampoco se pueden considerar radicalmente como no de mediana edad. también se está obligado a considerar qué tan rápido es el vehiculo. Por la variedad de sus aplicaciones.

Para sumar o restar dos valores. pero sí se puede sumar 103·10-2 con 2350·10-2 porque ya tienen igual exponente y el resultado será (103 + 2350)·10-2. En los registros. el valor -43. rápido. En coma flotante cada número se expresa con un valor entero y un exponente de la base del sistema. si acaso éste pertenece o no al conjunto. Sin coma flotante. que es un número entre 0 y 1. poco. Un conjunto difuso es una función cuyo dominio es el universo y cuyo contradominio es el intervalo [0. es necesario seguir la pista a la posición de la coma cada vez que se hace una operación y al operar con los valores de dos registros no puede relacionarse directamente bit con bit de iguales posiciones. al conjunto formado por las personas residentes en este país con una edad entre 18 años (cumplidos) y 66 años (por cumplir). queda definido por el valor entero -43425 y el exponente -3. El ganso es CLARO y muy ALEGRE.100 - . y alguien que no tuvo salario alguno en ese mes y no estuvo vinculado a ningún empleador bajo una relación contractual. Al multiplicar los valores de dos registros. Los Conjuntos Difusos pueden utilizarse para representar expresiones tales como: x es PEQUEÑO. en la que es posible determinar para un objeto cualquiera. el funcionario del Ministerio de Trabajo podría decir: “Todo ciudadano que haya trabajado al menos una hora en ese mes y por eso haya recibido un pago. También se puede utilizar los distintos modificadores lingüísticos como muy. El conjunto de personas empleadas en Argentina en ese mes. Una Variable Lingüística es aquella variable cuyos valores son palabras o sentencias son vagas o imprecisas. sin duda alguna era una persona empleada. está bien determinado: una persona en ese universo que entonces hubiera vendido su fuerza de trabajo. es “si pertenece” o “no pertenece”. se podría pensar. Al dividir. se dividen los enteros y se restan los exponentes. ya que al variar las posiciones de las comas hacen que los pesos de cada bit también se desplacen. es un empleado”. En este ejemplo. se destina un número fijo de cifras para el valor entero y el resto de cifras para el exponente. La habilidad humana de comunicarse mediante definiciones vagas o inciertas es un atributo importante de la inteligencia. (Ganso es una variable lingüística) Las expresiones anteriores pueden dar lugar a expresiones lingüísticas más complejas como: x no es PEQUEÑO. etc. La decisión. En un conjunto difuso a cada elemento del universo se le asocia un grado de pertenencia a ese conjunto. a una empresa legalmente constituida. Tampoco faltará quien le responda: “¿Qué empleo? No hallé trabajo en todo el 2000 y sólo en el mes de diciembre.425 será igual a -43425·10-3 (notación científica). naturalmente. como "gato pardo" o "ligero cambio". simplemente se multiplican los enteros y se suman los exponentes. Considerando un mes cualquiera. . bajo un contrato de empleo. Nótese que al Sergio E. lento. considerando como universo a la población económicamente activa. Vemos entonces que la noción intuitiva de conjunto puede ser muy estrecha. en un universo dado. mi primo me empleó para envolver regalos en su local: Yo no soy ningún empleado”.ESCUELA POLITÉCNICA NACIONAL SISTEMAS DIGITALES VARIABLES LINGÜÍSTICAS Los Conjuntos Difusos son capaces de captar por sí mismos la vaguedad lingüística de palabras y frases comúnmente aceptadas. por ejemplo. Por ejemplo. Conjuntos difusos De manera intuitiva se tiene el concepto de conjunto como una colección bien definida de elementos. Para estas variables lingüísticas se utilizará un nombre y un valor lingüístico sobre un Universo de Discurso. En tanto el grado de pertenencia sea más cercano a 1 tanto más estará el elemento en el conjunto y en tanto el grado de pertenencia sea más cercano a 0 tanto menos estará el elemento en el conjunto. Ávila P. (X es una variable lingüística) La velocidad es RÁPIDA. entonces no era empleado. (Velocidad es una variable lingüística) El ganso es CLARO. es decir. es decir. 1]. La forma anterior de proceder es complicada de implementar con electrónica digital o al menos existe otra manera mucho más sencilla que es la coma flotante. Un conjunto difuso es por lo tanto una correspondencia (o función) que a cada elemento del universo le asocia su grado de pertenencia. no se puede sumar directamente 103·10 -2 con 235·10-1. Por ejemplo. La velocidad es RÁPIDA pero no muy RÁPIDA. Se puede observar claramente la sobresimplificación del criterio de pertenencia enunciado. siempre y cuando tengan igual exponente. por ejemplo diciembre de 2000. se suman o restan los enteros y se mantienen los exponentes.

son. o la resta. se tiene que la característica del complemento posee el valor opuesto al de la característica del conjunto. Naturalmente. esas operaciones incluyen la adición. son los que se obtienen mediante las siguientes reglas: Todo conjunto primitivo es definible. El rebalse significa que el resultado de la suma. Si nos referimos a funciones características. hay que multiplicar al entero por la base (10 en sistema decimal. Si A1. En consecuencia. en la CPU del procesador. . A2. Ávila P. de complemento.101 - . llamadas booleanas. y la característica de la intersección vale uno si las características de ambos conjuntos valen uno. Este rango de valores está definido por la siguiente desigualdad: donde el bit más significativo está reservado para el signo del número. la sustracción. Números con distinto signo (+ o -) se restan y el signo del resultado corresponde al signo del número mayor en valor absoluto. 2. definible. 2 en binario) elevada al valor que se resta al exponente. La suma y la resta de números binarios en signo magnitud se realiza de igual forma que en el sistema decimal. El rebalse en signo magnitud se produce cuando hay un acarreo hacia la columna de signo. posee una función característica: En cada elemento. pueden hacerse algunas simplificaciones que facilitan mucho la realización de las operaciones. la característica de la unión de dos conjuntos vale uno si al menos una de las características de los conjuntos vale uno. éste se suma con el préstamo y cambia a 0. Los valores límite en este tipo de representación dependen por separado del número de bits asignados al entero y al exponente. de intersección y de unión fijos. partiendo de los conjuntos primitivos. la unión de dos conjuntos la forman los elementos que están en uno o en otro conjunto y la intersección la conforman los elementos en ambos conjuntos. Utilizando notación signo magnitud. pero debido a la sencillez del sistema de numeración. Finalmente. unión e intersección. en el sentido intuitivo. como esta suma entre el préstamo y el bit del sustraendo produce un acarreo (no siempre). a diferencia de los métodos complemento a 1 y a 2.15. Existen dos problemas fundamentales en cualquier teoría de conjuntos difusos: Sergio E. Anson conjuntos difusos primitivos. Es bien sabido que los conjuntos intuitivos pueden combinarse mediante las operaciones. la clase de conjuntos definibles. 1. se continúa con la resta de derecha a izquierda. A partir de operaciones de complemento. es capaz de realizar operaciones aritméticas. Esto puede servir de motivación para definir operadores de composición de conjuntos difusos. como veremos después. Ejemplo. cuando ocurre un préstamo hacia la siguiente columna y el próximo dígito del sustraendo es 1. la característica vale 1 (“sí”) si el elemento está en el conjunto y vale 0 (“no”) en caso contrario. Las operaciones se hacen del mismo modo que en el sistema decimal.ESCUELA POLITÉCNICA NACIONAL SISTEMAS DIGITALES restar un valor al exponente. …. En el caso de la resta. para operadores de complemento. este acarreo debe sumarse con el siguiente bit del sustraendo. Donde 0 significa positivo (+) y 1 negativo (-). El complemento de todo definible es. unión e intersección: El complemento de un conjunto está formado por los elementos del universo que no están en él. La Unidad Aritmético Lógica. el producto y la división. a su vez. Un conjunto.14 y 2. hasta que el acarreo de esta suma sea cero. se obtienen conjuntos difusos “más complejos” como resultado de aplicar sucesivamente estos operadores partiendo de una colección de conjuntos difusos “primitivos”. con datos numéricos expresados en el sistema binario. éste se cambia por 1 (debido a la suma). Pero si ocurre un préstamo y el dígito del sustraendo es 0. Números con igual signo (+ o -) se suman y el signo del resultado corresponde al signo de los sumandos. excede el rango de valores permitido para n bits. Esto se debe a que los signos en este método no se suman. definibles también. a su vez. La intersección y la unión de dos conjuntos definibles. todo conjunto intuitivo es en si un conjunto difuso. Las reglas de la suma y de la resta se realizan de acuerdo a las tablas de las figuras 2.

unión e intersección. de modo que nos limitamos a recordarlo: La base es el número de cifras distintas que utiliza el sistema. Ella misma proclama que hasta ahora no se halla un campo que verdaderamente requiera dichos métodos. se refiere a la utilidad de la lógica difusa. Sabemos que solo existen dos cifras en este sistema. pueden ser resueltos. En binario. vemos que la lógica difusa es un área de cálculo preciso. mediante las funciones de los conectivos de complemento. En la etapa de aplicación. solo si el uso de sus reglas contribuye a la creación de métodos que aligeren los cálculos de una determinada clase. unión e intersección. asegurándose de que los pesos acumulados no sobrepasan el valor decimal. y teniendo en cuenta las funciones de los conectivos de complemento. Otra forma es dividir repetidamente el número decimal entre la base del sistema al que deseamos convertirlo y se obtiene el valor buscado comenzando por el último cociente y los restos en sentido ascendente. La regla para contar en binario es la misma que para contar en decimal: Después de la última cifra se vuelve a comenzar con el 0 y se suma 1 a la cifra de la izquierda. Así por ejemplo. Al contrario de una primera idea sugerida por su nombre. se calcula consecutivamente los grados de pertenencia de los conjuntos involucrados hasta obtener el valor buscado. los finales han de ser de tales cuales”. En la etapa de aplicación.. una resolución de este problema se ve como un agente que realiza “diagnósticos”: “Si los valores observados (finales) son de tales características en unas ciertas condiciones (iniciales). se intenta la división tomando un dígito más (1001 entre 100). entonces.1024 512 256 128 64 32 16 8 4 2 1. Después de 3999 vendrá el 4000 en decimal y después de 0111 vendrá el 1000 en binario. y tan solo tendría algún valor en ayudar a dilucidar la naturaleza de lo falso y lo verdadero.. 0 y 1. analizando los tipos de las funciones matemáticas involucradas en los grados de pertenencia y en los conectivos lógicos. Como ocurre en decimal. entonces este tipo de lógica seria de utilidad. II. Restamos las cifras del dividendo del divisor y bajamos la cifra siguiente. el divisor sólo podrá estar contenido una vez en el dividendo. En ese caso.El peso de cada cifra se obtiene de derecha a izquierda comenzando por 1 y multiplicando por la base para obtener el siguiente. en el ejemplo). es decir. efectiva y eficientemente. los ceros a la izquierda no tienen valor. Otra de las críticas.Paso de un valor a decimal: Se multiplica cada cifra por su peso y se suman los resultados. El procedimiento de división continúa del mismo modo que en el sistema decimal. Paso de decimal a otro sistema: Se tantea comenzando por la cifra de mayor peso. la primera cifra del cociente es un UNO.. en decimal se pasa del 9 al 10 y en binario se pasa del 1 al 10. Problema de deducción: Se puede decir que éste es un problema de tipo “hacia adelante”: conociendo los valores iniciales. el resultado de multiplicar el divisor por 1 es el propio divisor. Se intenta dividir el dividendo por el divisor. Al 1 que se suma a la izquierda se le denomina arrastre y pueden aparecer varios arrastres consecutivos en cualquiera de los sistemas. la base es 2 y los pesos son . Ávila P.ESCUELA POLITÉCNICA NACIONAL SISTEMAS DIGITALES I. Los conjuntos difusos involucran de manera esencial procedimientos de cálculo numérico o simbólico. Si ha revisado el apartado anterior ya sabrá cómo convertir valores entre cualquier sistema ponderado y el decimal. Ambos problemas. Problema de inferencia: Se puede decir que éste es un problema de tipo “hacia atrás”: conociendo los valores finales y algunos iniciales. Criticas a la logica difusa Una de las principales críticas de la lógica difusa es a.C. Aunque la regla del arrastre se aplica con facilidad. se busca determinar los valores que debieron asumir los demás grados de pertenencia iniciales para obtener el valor final. de deducción y de inferencia. entonces las demás variables iniciales han de haber cumplido con tales hipótesis”. luego los pesos que se aplican están limitados por el número de cifras significativas (sin ceros a la izquierda). una resolución de este problema se ve como un agente que realiza “pronósticos”: “Si los valores iniciales son de tales características. quien afirma que el uso de la lógica difusa es innecesario. sino que al contrario la lógica difusa hace los cálculos mas complejos. Sergio E. Si no puede dividirse. empezando por tomar en ambos el mismo número de cifras (100 entre 110.102 - . Si la división es posible. es lógico que no interesa para traducir a otro sistema si el valor es muy grande. .

ESCUELA POLITÉCNICA NACIONAL SISTEMAS DIGITALES

Estas críticas son contestadas por Fox, quien alude que esta lógica es un aparato que permite analizar
transacciones del mundo real que son inherentemente difusas. Fox opina axial mismo, que la lógica difusa y la
lógica no son en si competidoras sino mas bien complementarias la una de la otra.

Conceptos básicos de lógica difusa:

Conjuntos difusos.
Un universo es una colección de objetos de los que se hablará en una lógica específica. Por ejemplo, si se ha
de tratar de ``contribuyentes al fisco'', entonces el universo consistirá de las personas físicas o morales que
pagan o han de pagar impuestos y, naturalmente, de las cantidades pagadas como impuesto. Si se habla de
automóviles y sus refacciones, el universo consistirá de los objetos involucrados, a saber, automóviles y
componentes de ellos que sean relevantes en el discurso.

Un conjunto en el universo es, desde un punto de vista intuitivo, una colección de objetos en el discurso tal
que es posible decidir cuándo un objeto del universo está o no en esa colección. En el universo de
contribuyentes, las personas físicas forman un conjunto, las personas morales otro, los contribuyentes cuyo
pago anual de impuestos excede 10 5 unidades monetarias forma un conjunto, etc. Abstrayendo la noción de
conjunto, se puede considerar que un conjunto es exactamente una función del universo en el conjunto de
valores 0,1 que asocia precisamente el valor 1 a los objetos que estén en el conjunto y el valor 0 a los que no 1.

Un conjunto difuso es también una función que asocia a cada objeto del universo un valor en el intervalo [0,1].
Si x es un objeto en el universo y y=C(x) es el valor asociado a x, se dice que y es el grado de pertenencia del
objeto x al conjunto difuso C. Así pues, todo conjunto en el sentido usual es también un conjunto difuso. Los
conjuntos usuales merecen un nombre especial. En inglés, por ejemplo, se les llama de manera convencional
crisp2 sets. En español no hay una tal convención, así que aquí los llamaremos sencillamente conjuntos
usuales.
El conjunto vacío coincide con la función idénticamente cero y el universo coincide con la función
constante. Por ejemplo, en el universo de contribuyentes, para cada contribuyente x, sea i(x) el impuesto anual
pagado por x en unidades monetarias. En México, podemos suponer que i(x)=104 es un valor más o menos
generalizado, i(x)=105 es un valor propio de un contribuyente de la ``clase media alta'' e i(x)=106 es propia de
un millonario. Por supuesto que hay posibles valores mayores para la función i. Podemos distinguir un

conjunto de ``contribuyentes mayores'' asociándole a cada contribuyente x el valor 1 si , el valor

si , y 0 en cualquier otro caso. En la figura 1 (a) presentamos gráficamente a
esta función que determina a un conjunto difuso de contribuyentes mayores. El eje de las x's tiene como
unidades ``diez millares de unidades monetarias'' y se muestra ahí únicamente a valores entre -10 y 110
. Otro conjunto de ``contribuyentes mayores'' se puede construir asociándole a cada contribuyente x el

valor f(i(x)) donde En la figura (1) (b) se ve la gráfica de esta segunda función.
Aquí la distinción entre contribuyentes mayores y no-mayores es más drástica alrededor de las 500 000
unidades monetarias.

Subconjuntos

Dados dos conjuntos difusos A y B en un universo, diremos que A es un subconjunto de B si para todo objeto x

del universo se cumple la desigualdad . Los conjuntos serán iguales si cada uno es un
subconjunto del otro, en otras palabras, si para todo x, A(x) = B(x).
Por ejemplo, en el conjunto de contribuyentes consideremos al conjunto mostrado en la figura 1 (a):

(1)

Sergio E. Ávila P. - 103 -

ESCUELA POLITÉCNICA NACIONAL SISTEMAS DIGITALES

donde i(x) es el impuesto anual pagado por x en unidades monetarias. Ahora consideremos al conjunto de
Cuya gráfica está en la figura 3 (a) (observe ahí que aunque se tiene la misma forma que en la figura 1 (a) la
escala de valores en el dominio de la función es distinta).

(2)

Cuya gráfica está en la figura 3 (a) (observe ahí que aunque se tiene la misma forma que en la figura 1 (a) la
escala de valores en el dominio de la función es distinta).

Gráficamente esto se ve en la figura 3 (b), donde la función que ahí aparenta ser la constante 1 es la que
determina el conjunto difuso de contribuyentes mayores . Por tanto el conjunto de contribuyentes gigantes es
un subconjunto del de contribuyentes mayores. Todo contribuyente que sea ``gigante'' ha de ser ``mayor'',
aunque el recíproco no se cumpla.

Puede parecer paradójica la ec. (3), mas no lo es. Por ejemplo, un contribuyente que aporta un impuesto de,

digamos, unidades monetarias tiene un grado de pertenencia a ``gigantes'' igual a 1/2, mas su
grado de pertenencia a ``mayores'' es 1. Es pues ``mayor'' con toda certeza, mas no tanto es ``gigante''.

Cortes
Estas operaciones en conjuntos difusos permite transformarlos en conjuntos usuales. Fijo un umbral a se toma
alos elementos cuyo grado de pertenencia al conjunto difuso sea al menos a. Sea A un conjunto difuso y sea
un número entre 0 y 1. El corte-a de A es el conjunto, en el sentido usual, consistente de aquellos objetos
cuyos grados de pertenencia a A superen, estrictamente, el valor a. En el ejemplo arriba de ``contribuyentes
gigantes'' si se fija, por ejemplo entonces el corte- consta de los contribuyentes cuya contribución anual exceda
a las unidades monetarias. Si a>0, el corte-a cerrado de A es3 Aa el cual conjunto consta de los puntos cuyos
grados de pertenencia a A no sea inferior a a.

Tamaños
Con esta noción ``contaremos'' a los elementos de un conjunto difuso.
El tamaño, o cardinalidad, de un conjunto difuso A en un universo dado es la suma, sobre los elementos del
universo, de los grados de pertenencia a A: El peso relativo, respecto a A, de cada objeto x del universo es .
Por ejemplo, en el recuadro (1) presentamos un universo de 10 contribuyentes, cada uno con su respectivo
impuesto anual, y sus grados de pertenencia a los conjuntos de contribuyentes ``mayores'' y ``gigantes''.
Table 1: Un universo de 10 contribuyentes.

Contribuyente Impuesto Grado Grado PesoRel PesoRel

``mayores'' ``gigantes'' ``mayores'' ``gigantes''

Azcárraga 8 454 1 18.30 77.59

Bracho 10 0 1.66 0.00

Sergio E. Ávila P. - 104 -

ESCUELA POLITÉCNICA NACIONAL SISTEMAS DIGITALES

Cárdenas 200 1 18.30 1.83

De la Madrid 300 1 18.30 2.74

Elizondo 4 0 .55 0.00

Fox 945 1 18.30 8.67

Gómez 1 0 0 0.00 0.00

Hernández 34 0 6.10 0.00

Iglesias 1 000 1 18.30 9.17

Jiménez 2 0 0.18 0.00

Tamaños:

El tamaño del conjunto ``mayores'' en ese universo es o sea, la suma de la tercera

columna en el recuadro (1). El del conjunto ``gigantes'' es o sea, la suma de la
cuarta columna. Así pues, podemos pensar que ``mayores'' abarca aproximadamente el 54% de los 10
miembros del universo y ``gigantes'' el 11%.
Los pesos relativos de cada contribuyente en los dos conjuntos aparecen, multiplicados por 100 para
expresarlos como porcentajes, en el mismo recuadro (1), en sus últimas columnas.

Momentos
Los momentos en un conjunto difuso son parámetros correspondientes a promedios ponderados de los grados
de pertenencia de los elementos en el universo al conjunto difuso.
Los momentos en un conjunto difuso son parámetros correspondientes a promedios ponderados de los grados
de pertenencia de los elementos en el universo al conjunto difuso.
Los momentos en un conjunto difuso son parámetros correspondientes a promedios ponderados de los grados
de pertenencia de los elementos en el universo al conjunto difuso. El valor esperado, o centroide, de un

conjunto difuso A es el promedio . Inclusive, se define la noción de m-ésimo

momento de A como .
Los momentos de un conjunto difuso proporcionan información sobre la ``distribución'' de los puntos en ese
conjunto difuso.

Por ejemplo, en el recuadro (2) presentamos los momentos de órdenes 1, 2, 5 y 20 de los conjuntos ``mayores''
y ``gigantes'' en el universo de los 10 contribuyentes.

Sergio E. Ávila P. - 105 -

ESCUELA POLITÉCNICA NACIONAL SISTEMAS DIGITALES

El momento de orden 1 es el centroide. Para el conjunto de ``mayores'', se tiene que el valor esperado del
grado de pertenencia a ese conjunto es 0.93... La manera en la que decrecen los valores de los momentos
muestra que la noción de ``mayores'' está distribuída más uniformemente que la de ``gigantes'' en el universo
planteado en el recuadro (1).

Table 2: Momentos de orden 1, 2, 5 y 20 en el universo de 10 contribuyentes.

Orden k k-ésimo momento de k-ésimo momento de
``mayores'' ``gigantes''
1 0.937004051606639 0.6812326310655667
2 0.921892613092972 0.5674392997837057
5 0.915223398204837 0.3521307053587635
20 0.914972273584962 0.0329106898382526

Realces

Un realce es una función unaria que hace el papel de un adverbio en un conjunto
difuso. Dado un conjunto difuso A el realce de A bajo r es la función que se obtiene de aplicar primero A y
luego r, llamada también la composición . Un realce es pues un subconjunto difuso en el intervalo

unitario [0,1]. Si para cada t, , decimos que r es un realce diminutivo4 en tanto que si para cada t,

, decimos que r es un realce aumentativo. En el ejemplo más adelante se verá una justificación de
esta terminología.
Los momentos en un conjunto difuso son parámetros correspondientes a promedios ponderados de los grados
de pertenencia de los elementos en el universo al conjunto difuso.
Los momentos en un conjunto difuso son parámetros correspondientes a promedios ponderados de los grados
de pertenencia de los elementos en el universo al conjunto difuso.

Para cada p>0, la función , es un realce. Para el realce rp

es diminutivo y para , rp es aumentativo. En la figura 4 se muestra las gráficas de las funciones rp para

.

Figure: Gráficas de las funciones rp para

.

Sergio E. Ávila P. - 106 -

ESCUELA POLITÉCNICA NACIONAL SISTEMAS DIGITALES

Como casos extremos están p=0, que hace 1 a todo grado de pertenencia positivo según se ve en la figura 5
(b), y , que hace 0 a todo grado de pertenencia inferior a 1 según se ve en la

figura 5 (c). r0 es el ``más diminutivo'' de los realces rp y el ``más aumentativo''.

Ejemplo:
Consideremos como universo al conjunto de vehículos de transporte. Sea el conjunto difuso que a

cada vehículo v le asocia el valor , donde V(v) es la velocidad promedio, medida en , con la
que v recorre la distancia entre dos puntos prefijados. En el recuadro (3) mostramos algunos ejemplos de
valores de velocidad y su gráfica, visto como función.

Ahora bien, consideremos el realce diminutivo . Entonces para cada

posible vehículo vtendremos . En el recuadro (4)
mostramos los mismos ejemplos considerando el conjunto difuso al menos un poco veloz.
Los vehículos que son menos rápido tienen un grado de pertenencia mayor al conjunto Al menos un poco

veloz. Similarmente, consideremos el realce aumentativo . Entonces para cada posible vehículo

v tendremos . En el recuadro (5) mostramos los mismos ejemplos
considerando el conjunto difuso muy veloz.

También aquí, los vehículos veloces tienen un menor grado de pertenencia a los Muy veloces.

Proporción en la que se posee un atributo

En este caso, los grados de pertenencia se interpretan como proporciones, por lo cual se definen las
operaciones como sigue:

Complemento: El complemento de un conjunto difuso D asigna a cada objeto x el grado “complementario”:
gD(x) = 1 - gD(x).

Intersección: La intersección de dos conjuntos difusos D, E asocia el mínimo de los grados de pertenencia, es
decir, para cada objeto x: gD ∩ E(x) = Min(gD(x), gE(x)).

Unión: De manera similar, la unión de dos conjuntos difusos D, E asocia el máximo de los grados de
pertenencia, es decir, para cada objeto x: gD U E(x) = Max(gD(x), gE(x)).

Probabilidad

Vistos los grados de pertenencia como probabilidades, se tiene:

Complemento: La probabilidad del complemento de un conjunto difuso D es la probabilidad
“complementaria”: gD(x) = 1 - gD(x).

Sergio E. Ávila P. - 107 -

ESCUELA POLITÉCNICA NACIONAL SISTEMAS DIGITALES

Intersección: Ésta es la probabilidad de la ocurrencia simultánea de dos eventos.

La intersección está muy ligada al concepto de probabilidad condicional. Si denotamos por Prob(A│B) a la
probabilidad de que “ocurra A dado que ha ocurrido B”, entonces por un célebre resultado de la Teoría de la
Probabilidad, llamado el Teorema de Bayes, ha de valer la identidad Prob(A│B)Prob(B) =
Prob(B│A)Prob(A). El valor común en esta igualdad es, precisamente, la probabilidad de la intersección
Prob(A ∩ B).

Así pues, teniendo una función d que a dos eventos cualesquiera A, B les asocia una “densidad de
probabilidad condicional” d(AjB) tal que a cada objeto x le asocia un valor d(A│B)(x) de manera que

d(A│B)(x) * gB(x) = d(B│A)(x) * gA(x)

Entonces para dos conjuntos difusos cualesquiera D, E se puede definir el grado de pertenencia a la
intersección como gD ∩ E(x) = d(D│E)(x) * gE(x).

Para definir la operación de intersección, basta tener un operador de “probabilidad condicional”.

De manera recíproca, si se tiene definida de alguna manera al operador de intersección, entonces siguiendo el
teorema de Bayes se puede definir un operador de “probabilidad condicional”.

Por tanto, las nociones de intersección (probabilista) de conjuntos difusos y la de probabilidad condicional son
reducibles una a la otra.

Los conjuntos difusos involucran de manera esencial procedimientos de cálculo numérico o simbólico. Al
contrario de una primera idea sugerida por su nombre, veremos que la lógica difusa es un área de cálculo
preciso. Ambos problemas, de deducción y de inferencia, pueden ser resueltos, efectiva y eficientemente,
analizando los tipos de las funciones matemáticas involucradas en los grados de pertenencia y en los
conectivos lógicos. Los conjuntos difusos involucran de manera esencial procedimientos de cálculo numérico
o simbólico. Al contrario de una primera idea sugerida por su nombre, veremos que la lógica difusa es un área
de cálculo preciso. Ambos problemas, de deducción y de inferencia, pueden ser resueltos, efectiva y
eficientemente, analizando los tipos de las funciones matemáticas involucradas en los grados de pertenencia y
en los conectivos lógicos.

Unión: La probabilidad de que ocurra uno u otro evento es la probabilidad de uno, más la probabilidad del
otro, menos la probabilidad de que ocurran ambos eventos:

gD U E(x) = gD(x) + gE(x) – gD ∩ E(x).

Medida de creencia

Las siguientes funciones pueden parecer definidas de manera arbitraria, pero ciertamente tienen una
motivación intuitiva:

Complemento: Como en los casos anteriores: gD(x) = 1 - gD(x).

Intersección: Dados dos conjuntos difusos A, B con sendos grados de pertenencia gA y gB, si para un punto
dado x, la suma gA(x) + gB(x) es menor que 1 entonces descartamos que ese punto sea común a ambos
conjuntos, es decir, no debe estar “en la intersección”. En otro caso, se toma como grado de pertenencia, a la
intersección, a la razón de la diferencia [gA(x) + gB(x)] - 1 entre el máximo de gA(x) y gB(x). En símbolos

Unión: Dados dos conjuntos difusos A, B con sendos grados de pertenencia gA y gB, si para un punto dado x,
la suma gA(x) + gB(x) es mayor que 1 entonces convenimos en que ese punto está “en la unión”. En otro
caso, se toma como grado de pertenencia, a la unión, al máximo de las razones gA(x)/(1-gB(x)) y gB(x)/(1-
gA(x)). En símbolos:

Sergio E. Ávila P. - 108 -

para operadores de complemento. analizando los tipos de las funciones matemáticas involucradas en los grados de pertenencia y en los conectivos lógicos. Ambos problemas. y (b) unión.An sus correspondientes grados de pertenencia gA i(x) caen en intervalos [ai. son. Los conjuntos difusos involucran de manera esencial procedimientos de cálculo numérico o simbólico. . bi].Ak+1. a su vez. en términos de los grados de creencia gA(x) y gB(x). definibles.n. veremos que la lógica difusa es un área de cálculo preciso. La dicotomía entre el rigor y la precisión del modelado matemático en todos los campos y la intrínseca incertidumbre del mundo real no es generalmente aceptada por los científicos. según el enfoque de “medida de creencia”. si se sabe que el grado de pertenencia gF(A1.109 - . Al contrario de una primera idea sugerida por su nombre. La intersección y la unión de dos conjuntos definibles. se obtienen conjuntos difusos más complejos como resultado de aplicar sucesivamente estos operadores partiendo de una colección de conjuntos difusos. definible. son los que se obtienen mediante las reglas siguientes: Todo conjunto primitivo es definible. i = k. la clase de conjuntos definibles. unión e intersección. de (a) intersección.ESCUELA POLITÉCNICA NACIONAL SISTEMAS DIGITALES En la figura siguiente se muestran las gráficas correspondientes a estos operadores de intersección y de unión: En la figura siguiente se muestran las gráficas correspondientes a estos operadores de intersección y de unión En la figura siguiente se muestran las gráficas correspondientes a estos operadores de intersección y de unión: Figura 1: Grados de pertenencia. bi] debieron caer los correspondientes grados de pertenencia gAi(x). Problema 2 o de inferencia: Para un conjunto definible F(A1. efectiva y eficientemente. de deducción y de inferencia. Existen dos problemas fundamentales en cualquier teoría de conjuntos difusos: Problema 1 o de deducción: Para un conjunto definible F(A1. tomar decisiones y reconocer conceptos compatibles con altos niveles de vaguedad y ambigüedad: La temperatura está caliente Sergio E. llamados primitivos. Ávila P.…. filósofos y analistas de negocios. también.An son conjuntos difusos primitivos. pueden ser resueltos. gA[B(x). A partir de operaciones de complemento. Conceptos imprecisos Aceptamos la imprecisión como una consecuencia natural de la forma de las cosas en el mundo. si se sabe que cada grado de pertenencia gAi(x) cae en un intervalo [ai.An) y un objeto dado x. El complemento de todo definible es.An) y un objeto dado x.…. Para hablar con un poco de más precisión: Si A1. entonces se ha de estimar para los otros índices i = 1.….…. Estamos capacitados para formular planes. partiendo de los conjuntos primitivos.k-1 en qué intervalos [ai. entonces se ha de estimar en qué intervalo I ha de caer el grado de pertenencia gF(A1. a su vez.…. Nosotros simplemente aproximamos estos eventos a funciones numéricas y escogemos un resultado en lugar de hacer un análisis del conocimiento empírico. bi].….An)(x) cae en un intervalo I. y que para algunos conjuntos primitivos Ak. Sin embargo procesamos y entendemos de manera implícita la imprecisión de la información fácilmente. gA\B(x).….…. de intersección y de unión fijos.An)(x).

En general los grados de pertenencia son subjetivos en el sentido de que su especificación es una cuestión objetiva. son incompatibles con el modelado tradicional y el diseño de sistemas de información. Sin embargo. sobreentendiendo que los conjuntos difusos de nivel-1 son conjuntos difusos ordinarios. . o sea que los conjuntos difusos son una generalización de los conjuntos usuales. Este concepto es suficiente para muchas áreas de aplicación. es ``sí pertenece'' o bien ``no pertenece''. Es decir un conjunto difuso A se considera como un conjunto de pares ordenados. respectivamente). naturalmente. en un universo dado. De manera intuitiva se tiene el concepto de conjunto como una colección bien definida de elementos. Más formalmente nosotros podemos denotar: Sergio E. Ávila P. A = [5.110 - . También los conjuntos difusos tipo-1 son equivalentes a los conjuntos difusos ordinarios. su uso y como participa en un modelo. se dice que u pertenece más a A (de modo que 0 y 1 denotan la no pertenencia y la pertenencia completa. Pero nosotros podemos encontrar fácilmente situaciones donde carece de flexibilidad. Esto conlleva a la figura siguiente: Podemos interpretar los elementos que han asignado el número 1 como los elementos que están en el conjunto A y los elementos que han asignado el número 0 como los elementos que no están en el conjunto A. se analiza el siguiente ejemplo: Queremos describir el conjunto de gente joven. Si podemos incorporar estos conceptos logramos que los sistemas sean potentes y se aproximen más a la realidad. es decir esta función asigna un número 1 o 0 al elemento en X.ESCUELA POLITÉCNICA NACIONAL SISTEMAS DIGITALES La inflación actual aumenta rápidamente Los grandes proyectos generalmente tardan mucho Nuestros precios están por abajo de los precios de la competencia IBM es una compañía grande y agresiva Alejandro es alto pero Ana no es bajita Estas proposiciones forman el núcleo de nuestras relaciones con la forma de las cosas en el mundo. por ejemplo los conjuntos difusos de nivel-m y los conjuntos difusos tipo-n. Ahora.1] ). es más natural considerarlo simplemente como un grado de pertenencia. definimos un subconjunto A de X con todos números reales en el rango entre 5 y 8. dependiendo de si el elemento está en el subconjunto A o no. los valores de las funciones de pertenencia son conjuntos difusos de tipo-(n-1) del intervalo [0.8] Ahora se muestra el conjunto A por su función característica. por ejemplo: Considerando un conjunto X con todos los números reales entre 0 y 10 que llamamos el universo de discurso. La fusificación es independiente de cualquier capacidad para medir. La decisión. La altura de un conjunto difuso es como máximo un grado de pertenencia y es una cota cercana al concepto de normalización. si acaso éste pertenece o no al conjunto. Se nota además que: a) Mientras más próximo está (u) a el valor 1. Las propiedades más importantes de un conjunto difuso son las concernientes a las dimensiones verticales del conjunto difuso (altura y normalización) y las dimensiones horizontales (conjunto soporte y cortes "alpha").1]. en la que es posible determinar para un objeto cualquiera.1] (en lugar de ser puntos de [0. b) Un conjunto en el sentido usual es también difuso pues su función característica u es también una función u [0. Para los conjuntos difusos tipo-n. y el segundo componente especifica precisamente quién es ése elemento de u. Zadeh ha hecho algunas extensiones a los conceptos de conjuntos difusos ordinarios que se ha explicado.1] que denota el grado de pertenencia de un elemento u de U en A. Se debe aclarar que aunque puede interpretarse como el grado de verdad de que la expresión ‘u A’ sea cierta. ya que un conjunto difuso es un conjunto que no tiene límites bien definidos. Un conjunto difuso tiene muchas propiedades intrínsecas que afectan la forma del conjunto. La superficie de la región de un conjunto difuso es el universo de valores. Para un conjunto difuso de nivel-m se considera como su universo de discusión al conjunto de conjuntos difusos de nivel-(m-1). en los que el primer componente es un número en el rango [0. Para comprender este criterio de flexibilidad.

111 - . Ávila P. Para ser más concreto se muestra ahora gráficamente el conjunto de gente joven de forma similar al primer ejemplo por su función característica. el número 1 asignado a un elemento significa que el elemento está en el conjunto B y 0 significa que el elemento no está definitivamente en el conjunto el B. el rango más inferior de este conjunto está claro. En su primerísimo artículo sobre conjuntos borrosos. porque si movemos el límite superior del rango desde 20 a un punto arbitrario podemos plantear la misma pregunta. y ahora tenemos que codificar la idea más formalmente. denominando el intervalo de unidad Yo = [0. digamos. por otra parte. A. permitimos infinitas alternativas entre 0 y 1. Sergio E. y B un número borroso entorno a 4.20] Ahora la pregunta es: ¿Por qué alguien es en su 20 cumpleaños joven y al día siguiente no? Obviamente. L. De hecho. se muestran varios ejemplos: Sea A un intervalo borroso entre 5 y 8. es más bien complicado de definir. El rango superior. Como un primer intento colocamos el rango superiora en. Una manera más natural de construir el conjunto B estaría en suavizar la separación estricta entre el joven y el no joven. la edad comienza en 0. en general. Una manera de generalizar este concepto está en permitir más valores entre 0 y 1. La interpretación de los números ahora asignados a todos los elementos del Universo de Discurso es algo más difícil. podemos introducir las operaciones básicas sobre conjuntos borrosos. 20 años. Es fácil ver que estos operadores coinciden con la unificación booleana. Tal y como constatamos en la introducción podemos usar conjuntos borrosos para hacer computadoras más sabias. unificar y negar conjuntos borrosos. Por supuesto. Por lo tanto nosotros definimos B como un intervalo denominado: B = [0. 1]. este es un problema estructural. De esta forma unos 25 años de edad todavía sería joven al grado de 50 por ciento. e intersección si nosotros únicamente consideramos los grados miembros 0 y 1. Las figuras correspondientes se muestran a continuación: La figura siguiente muestra la operación AND (Y) del conjunto borroso A y el número borroso B (el resultado es la línea azul). El resto de valores significan una pertenencia gradual al conjunto B. Operaciones con conjuntos borrosos: Ahora que se tiene una idea de lo que son conjuntos borrosos. A fin de aclarar esto. Nosotros haremos esto para permitir no solamente la (crispada) decisión "él/ella SI está en el conjunto de gente joven" o "él/ella NO está en el conjunto de gente joven". Pasamos a continuación a mostrar como un conjunto borroso nos permite definir una noción como "él/ella es un poco joven". Parecido a las operaciones sobre conjuntos booleanos nosotros también podemos interseccionar. En nuestro ejemplo primero codificamos todos los elementos del Universo de Discurso con 0 o 1. Zadeh sugirió el operador mínimo para la intersección y el operador máximo para la unión de dos conjuntos borrosos.ESCUELA POLITÉCNICA NACIONAL SISTEMAS DIGITALES B = {conjunto de gente joven} Como. . sino también las frases más flexibles como "él/ella SI pertenece un poquito más al conjunto de gente joven" o "él/ella NO pertenece aproximadamente al conjunto de gente joven".

En otras palabras. etc. Una variable lingüística siempre representa un espacio difuso. una variable lingüística es el nombre de un conjunto difuso. Sergio E. ``bastante``. uno de los problemas básicos en semántica es que se desea calcular el significado de un término compuesto. Puede considerarse como un operador que actúa sobre un conjunto difuso asociado al significado de su operando. La línea azul es la NEGACION del conjunto borroso A. de-tareas es DECRECIENTE. Ávila P. La idea básica sugerida por Zadeh es que una etiqueta lingüística tal como ''muy''. ``altamente``. Por ejemplo en el caso de un término compuesto ''muy alto''. etc.112 - . ``virtualmente``. ``prácticamente``. Zadeh también considera que las etiquetas lingüísticas pueden clasificarse en dos categorías que informalmente se definen como sigue: . Lo importante del concepto de variable lingüística es su estimación de variable de alto orden más que una variable difusa. ``ligeramente``.ESCUELA POLITÉCNICA NACIONAL SISTEMAS DIGITALES La operación OR (O) del conjunto borroso A con el número borroso B se muestra en la próxima figura (nuevamente. ''más o menos''. Si tenemos un conjunto difuso llamado ''largo'' éste es una simple variable lingüística y puede ser empleada como una regla-base en un sistema basado en la longitud de un proyecto en particular Si duración-proyecto es largo entonces la-terminación. Esto reduce la aparente complejidad de describir un sistema que debe concordar con su semántica. más que para proporcionar una definición exacta de las etiquetas lingüísticas. tomamos el operador ''muy'' que podemos caracterizar con un significado de que aún cuando no tenga validez universal sea sólo una aproximación. Una representación aproximada para una etiqueta lingüística se puede lograr en términos de combinaciones o composiciones de las operaciones básicas explicadas en la sección anterior. Ejemplos de etiquetas tipo I: De acuerdo a éste punto de vista y sabiendo que el lenguaje natural es muy rico y complejo. Es importante aclarar que se hará mayor énfasis en que estas representaciones se proponen principalmente para ilustrar el enfoque. las etiquetas lingüísticas pueden ser caracterizadas cómo operadores más que construcciones complicadas sobre las operaciones primitivas de conjuntos difusos. Esta figura da un ejemplo para una negación. Asumimos que si el significado de un término x es un conjunto difuso A. ``más o menos``. ''ligeramente''. En el sentido de que una variable lingüística toma variables difusas como sus valores. es la línea azul). entonces el significado de muy X.Tipo II: las que requieren una descripción de cómo actúan en los componentes del conjunto difuso (operando): ``esencialmente``. Una variable lingüística encapsula las propiedades de aproximación o conceptos de imprecisión en un sistema y da una forma de computar adecuada.Tipo I: las que pueden representarse como operadores que actúan en un conjunto difuso: ``muy``. . Las etiquetas lingüísticas y operadores: El centro de las técnicas de modelado difuso es la idea de variable lingüística. ``mucho’’. ``técnicamente``. Desde este punto de vista. etc. Desde su raíz. . En el campo de la semántica difusa cuantitativa al significado de un término "x" se le representa como un conjunto difuso M(x) del universo de discusión. ``estrictamente``. el operador ''muy'' actúa en el conjunto difuso asociado al significado del operando ''alto''.

Esto se hace para especificar las funciones pertenecientes al conjunto borroso: Negativo alto (celeste) Negativo bajo (verde) Cero (rojo) Positivo bajo (azul) Positivo alto (morado) Lo mismo se hace para el ángulo entre la plataforma y la pértiga. sin embargo.por definición - ocurrir. se pueden utilizar para definir etiquetas lingüísticas cuyo significado difiere ligeramente de otras. empleando las variables lingüísticas que son descritas mediante conjuntos borrosos.113 - .ESCUELA POLITÉCNICA NACIONAL SISTEMAS DIGITALES Más y menos: Se pueden definir etiquetas lingüísticas artificiales. Regular: Es una etiqueta que tiene el efecto de reducir el grado de pertenencia de aquellos elementos que tienen tanto un alto grado de pertenencia al conjunto como de aquellos que lo tienen pequeño. Ligeramente: Su efecto es dependiente de la definición de proximidad u ordenamientos en el dominio del operando. menos. el conocimiento experto se usa en vez de ecuaciones diferenciales para describir un sistema. Ávila P. . 45 grados en cualquier dirección no pueda . etc. la definición de una etiqueta de este tipo debe formularse como un algoritmo difuso que envuelve etiquetas tipo I. En general. Como la magnitud de las ponderaciones es una medida del atributo asociado. suponemos que al principio la pértiga está en una posición cercana a la central para que un ángulo mayor de. Los exponentes se eligen de modo que se de la igualdad aproximada: mas mas x = menos muy x. Su efecto puede describirse aproximadamente como una modificación de los coeficientes de ponderación de una combinación convexa. en los que su significado puede definirse en términos de etiquetas lingüísticas tipo I. Ejemplo: El péndulo invertido . Ellos trabajan de una forma bastante diferente a los controladores convencionales. Existen casos. y sólo aumenta el grado de pertenencia de aquellos elementos que tienen un grado de pertenencia cercano. El control borroso: Los controladores borrosos son las aplicaciones más importantes de la teoría borrosa. además. bajo la suposición de que el dominio del operando es un conjunto ordenado linealmente. Sergio E. y por lo tanto es más compleja que las del tipo I. Este conocimiento puede expresarse de una manera muy natural. cuya función es proporcionar ligeras variantes de la concentración y la dilatación. que son instancias de lo que puede llamarse acentuador y desacentuador respectivamente. El problema está en equilibrar una pértiga sobre una plataforma móvil que puede moverse en dos únicas direcciones. y que. digamos. nosotros tenemos que definir (subjetivamente) cual es la velocidad del andén: alta. además de para la velocidad angular de este ángulo: Apréciese que. Clase de: Es una etiqueta lingüística que tiene el efecto de reducir el grado de pertenencia de los elementos que están en el ''centro'' (grados de pertenencia grandes) de una clase x e incrementa el de aquellos que están en su periferia (grados de pertenencia pequeños). Etiquetas tipo II: Su caracterización envuelve una descripción de forma que afectan a los componentes del operando. por ejemplo: más. para hacerlo más fácil. juega el papel de difusificador. Ante todo. ''más o menos rectangular'' etc. a la izquierda o a la derecha. intuitivamente una etiqueta de este tipo tiene el efecto de aumentar las ponderaciones de los atributos importantes y disminuir los que relativamente no lo son. baja. ejemplo: Más o menos: Otra etiqueta lingüística interesante es ''más o menos'' que en sus usos más comunes como ''más o menos inteligente''.

pero está en movimiento a baja velocidad en la dirección positiva.114 - . Esta es la variable lingüística "ángulo" donde nos centramos en el conjunto "cero" y el ángulo actual: Nos damos cuenta que nuestro valor real pertenece al conjunto borroso "cero" en un grado de 0. Si el ángulo es cero y la velocidad angular es positiva baja entonces la velocidad será positiva baja. y por lo tanto no tenemos que hacer nada (la velocidad es cero). .75.4: Como las dos partes de la condición de nuestra regla están unidas por una Y (operación lógica AND) calculamos el mín(0. Naturalmente nosotros tendríamos que compensar el movimiento de la pértiga moviendo la plataforma en la misma dirección a baja velocidad. Ávila P.4)=0.ESCUELA POLITÉCNICA NACIONAL SISTEMAS DIGITALES Ahora se menciona varias reglas que dicen qué hacer en situaciones concretas: . Obviamente esta es la situación deseada.75: Ahora mostramos la variable lingüística "velocidad angular" donde nos centramos en el conjunto borroso "cero" y el valor actual de velocidad angular: Nos damos cuenta que nuestro valor real pertenece al conjunto borroso "cero" en un grado de 0.4 y cortamos el conjunto borroso "cero" de la variable "velocidad" a este nivel (según nuestra regla): Sergio E. De esta forma se ha constituido dos reglas que pueden ponerse en una forma más formalizada como esta: Si el ángulo es cero y la velocidad angular es cero entonces la velocidad será cero.0. Consideremos otro caso: el polo está en la posición central como antes. .Considere por ejemplo que la pértiga está en la posición central (el ángulo es cero) y no se mueve (la velocidad angular es cero).

Las funciones de pertenencia se muestran en las ilustraciones 6 y 7 para edad joven y edad adulta. unión y complemento haciendo uso de las mismas funciones de pertenencia: Las ilustraciones de la intersección. los cuales fueron utilizados en una encuesta a 10 personas para saber cual es el rango en años para definir estas edades. es posible definir las operaciones de intersección.115 - . unión y complemento de la ilustración 2. Puesto que los primeros son una generalización de los segundos. Supongamos la variable lingüística edad y sus conjuntos difusos joven y adulto. Ávila P. Difuso se calcula de acuerdo a la siguiente formula: Con el resultado de las tablas 1 y 2.El valor de FREC. OPERACIONES ENTRE CONJUNTOS DIFUSOS Los Conjuntos Difusos se pueden operar entre sí del mismo modo que los conjuntos clásicos. comenzaremos definiendo que conjuntos difusos formaran el universo de discurso.7 y 8 respectivamente. se muestran en la ilustración 6.ESCUELA POLITÉCNICA NACIONAL SISTEMAS DIGITALES Aproximacion de las funciones de pertenencia en los conjuntos difusos Para realizar la aproximación de las funciones de pertenencia de los conjuntos difusos. Las preguntas utilizadas fueron: ¿Cuál es el rango en años para un joven?¿Cuál es el rango en años para un adulto?Las respuestas se muestran en las tablas 1 y 2. TIPOS DE SISTEMAS DE LOGICA DIFUSA Sergio E. realizamos una grafica con la EDAD y FREC DIFUSO que representan a las funciones de pertenencia. .

que toma los valores numéricos provenientes del exterior y los convierte en valores "difusos" que pueden ser procesados por el mecanismo de inferencia. Para lograr que la salida del sistema difuso pueda ser interpretada por elementos que solo procesen información numérica. y por lo tanto es más compleja que las del tipo I. por ejemplo. Base de Reglas Difusas La base de reglas son la manera que tiene el sistema difuso de guardar el conocimiento lingüístico que le permiten resolver el problema para el cual ha sido diseñado. el antecedente y la conclusión como se observa en la siguiente figura: En un sistema difuso tipo Mamdani tanto el antecedente como el consecuente de las reglas están dados por expresiones lingüísticas. Esta es la función del fuzzificador. para que este valor pueda ser procesado por el sistema difuso se hace necesario convertirlo a un "lenguaje" que el mecanismos de inferencia pueda procesar. de un sensor. Estas reglas son del tipo IF-THEN.-la entrada de un sistema de lógica difusa tipo Mamdani normalmente es un valor numérico proveniente. Ávila P. este proceso lo realiza el fuzzificador. Estos valores difusos son los niveles de pertenencia de los valores de entrada a los diferentes conjuntos difusos en los cuales se ha dividido el universo de discurso de las diferentes variables de entrada al sistema. Una regla de la base de reglas o base de conocimiento tiene dos partes. Los más populares sistemas de lógica difusa que se encuentra en la literatura se encuentran en unos de los siguientes tipos: sistemas difusos tipo Mamdani (con fuzzificador y defuzzificador ) Sistemas difusos tipo Takagi-Sugeno Sistemas Tipo Mamdani Su caracterización envuelve una descripción de forma que afectan a los componentes del operando. . Procesamiento General En un sistema difuso tipo Mamdani se distinguen las siguientes partes: Fuzzificador. la definición de una etiqueta de este tipo debe formularse como un algoritmo difuso que envuelve etiquetas tipo I. En general. Sergio E. lo cual significa que no puede ser interpretada por un elemento externo (por ejemplo un controlador) que solo manipule información numérica.116 - .Defuzzificador La salida que genera el mecanismo de inferencia es una salida difusa. hay que convertir la salida difusa del mecanismos de inferencia. La tarea del sistema de inferencia es tomar los niveles de pertenencia y apoyado en la base de reglas generar la salida del sistema difuso. Su efecto puede describirse aproximadamente como una modificación de los coeficientes de ponderación de una combinación convexa. Sistema Difuso Mamdani. variables lingüísticas y demás. los mismos deben ser procesados para general una salida difusa. Mecanismo de inferencia difusa Teniendo los diferentes niveles de pertenencia arrojados por el fuzzificador.ESCUELA POLITÉCNICA NACIONAL SISTEMAS DIGITALES Los sistemas de lógica difusa tienen una estrecha relación con los conceptos difusos tales como conjuntos difusos.

85 Voltios.7) / 2 = 2. Analizando la salida de esta compuerta OR y suponiendo que los valores de las resistencias son iguales en todo el circuito.Vd) / 2 Reemplazando por valores reales: Vout = (5 . para generar la salida numérica a partir de este conjuntos existen varias opciones como el Centro de Gravedad. Pero ahora estas salidas sirven de entrada a una compuerta OR. Sistema Difuso Sugeno.0.B. Ávila P. Procesamiento General En los sistemas difusos Sugeno se distinguen las siguientes partes: Fuzzificador Realiza la misma función que en los sistemas Mamdani explicados anteriormente Mecanismo de inferencia difusa Realiza la misma función que en los sistemas Mamdani explicados anteriormente Base de Reglas Difusas Las reglas de la base de conocimiento de un sistema Sugeno es diferente a las de los sistemas Mamdani pues el consecuente de estas reglas ya no es una etiqueta lingüística sino que es una función de la entrada que tenga el sistema en un momento dado. las dos resistencias de las compuertas AND estarían en paralelo y éstas a su vez en serie con la de la compuerta OR. las salidas de al menos una de las 2 compuertas AND será "1". esto se ilustra a continuación: Sergio E. Procesamiento Detallado Sistemas Tipo Sugeno Otra alternativo de procesamiento en los sistemas difusos fue la propuesta por Sugeno en los sistemas difusos que llevan su nombre.D) estén a "1" lógico. Centro de Gravedad Si se analiza con cuidado se puede observar que en el caso en que sólo A y B o sólo C y D estén en "1" lógico.117 - . lo que daría un voltaje de salida de: 2. por lo que este método sólo se utiliza para compuertas sencillas En el siguiente gráfico se muestra de manera mas detallada como es el funcionamiento de un sistema difuso Mamdani Sistema Difuso Mamdani. los Centros Promediados entre otros. (se divide entre dos pues hay dos resistencias de igual valor en el paso de la corriente) El caso en que todas las entradas (A.C. Centros Promediados Si se pusieran más compuertas en cascada el problema sería más grave. se ve que se ha creado una división de tensión donde la tensión de salida será aproximadamente: Vout = (+V .ESCUELA POLITÉCNICA NACIONAL SISTEMAS DIGITALES La salida del mecanismo de inferencia es un conjunto difuso resultante.15 Voltios. . Estos valores están dentro de la zona prohibida de lo aceptable para un "1" lógico.

y un buen desempeño eléctrico. Estos pasos. y luego implementaba el diseño utilizando las herramientas provistas por ese fabricante en particular.118 - . tales como el Design Compiler.ESCUELA POLITÉCNICA NACIONAL SISTEMAS DIGITALES Las FPGA (Field Programmable Gate Arrays. Esto dio paso a un estilo de diseño llamado Diseño basado en Celdas Estándares. matriz de puertas programables) son la versión moderna de los prototipos con puertas lógicas de la serie 7400. que podían ser representadas en las herramientas desarrolladas por terceros. especialmente en las tecnologías más densas. . capacitancias e inductancias. Estas herramientas podían compilar descripciones HDL en una lista de nodos al nivel de puertas. y el diseño hecho totalmente a la medida. la ULA (Uncommitted Logic Array o Matriz lógica no fija). A pesar de que existían herramientas de diseño provista por terceros. alrededor de 1980. casi siempre producen un dispositivo final que implementa correctamente el diseño original. Contienen bloques de lógica programable e interconexiones programables que permiten a un modelo de FPGA ser usada en muchas aplicaciones distintas. Historia Los primeros ASIC utilizaban tecnología de matriz de puertas. debido a que el costo fijo (el costo para preparar una línea de producción para que fabrique un ASIC en particular). os valores que arrojan los consecuentes de las diferentes reglas que se han activado en un momento determinado ya son valores numéricos por lo que no se necesita una etapa de deffuzificación. en término de los costos fijos y de fabricación de cada unidad. Una solución a este problema. El diseño a la medida se realizaba al variar la máscara de interconexión metálica. es muy alto. Hacia finales de 1980. Las versiones posteriores fueron más generalizadas. que además permitió aumentar la densidad de los ASIC. a menos que se introduzcan fallas al nivel físico de fabricación. En los sistema difusos tipo Sugeno. Diseño basado en Celdas Estándares (Standard Cell) A mediados de 1980. Las ULAs tenían complejidades de hasta algunos miles de puertas. Ferranti fabricó tal vez la primera matriz de puertas. En el siguiente gráfico se muestra de manera mas detallada como es el funcionamiento de un sistema difuso Sugeno. Ávila P. más de un millón de dólares para una tecnología de 90nm o menor. Este tipo de diseño contempla las siguientes etapas conceptuales. Cada fabricante de ASIC creaba bloques funcionales con características eléctricas conocidas. las FPGAs pueden tener un costo menor que un diseño equivalente basado en ASIC. Para calcular la salida del sistema difuso se ponderan los diferentes consecuentes teniendo en cuenta el valor que se activó el antecedente de cada una de las reglas. Sergio E. Para los diseños más pequeños o con volúmenes de producción más bajos. llevados a cabo con el nivel de habilidad común en la industria. con moldes base configurados tanto por las capas metálicas como polisiliconicas. fue la implementación de Celdas Estándares. Algunos moldes base incluían elementos de RAM. no había un enlace efectivo entre éstas y los procesos productivos de los fabricantes. El diseño basado en Celdas Estándares es el uso de estos bloques funcionales para alcanzar densidades de puertas muy altas. para un sistema con dos reglas la salida del sistema difuso sería: Cálculo de la Salida de un Sistema Difuso Sugeno En este caso: Serían las funciones que permiten calcular el consecuente de cada una de las dos reglas implicadas. tales como los tiempos de propagación. un diseñador elegía a un fabricante de ASIC. estuvieron disponibles las herramientas de síntesis lógica. aunque en la práctica estas etapas se traslapan significativamente. Este tipo de diseño se ubica entre diseño de Matriz de Puertas.

a una empresa legalmente constituída. sin duda alguna era una persona empleada. Consideremos un mes cualquiera. si acaso éste pertenece o no al conjunto. Ferranti fabricó tal vez la primera matriz de puertas.ESCUELA POLITÉCNICA NACIONAL SISTEMAS DIGITALES Sistema Difuso Sugeno. las FPGAs pueden tener un costo menor que un diseño equivalente basado en ASIC. y alguien que no tuvo salario alguno en ese mes y no estuvo vinculado a ningún patrón bajo una relación contractual. En un conjunto difuso a cada elemento del universo se le asocia un grado de pertenencia. alrededor de 1980. en un mes. que es un número entre 0 y 1. Por ejemplo. De porcentaje en ingreso Las FPGA (Field Programmable Gate Arrays. El diseño a la medida Sergio E. matriz de puertas programables) son la versión moderna de los prototipos con puertas lógicas de la serie 7400.119 - . bajo un contrato de empleo. La noción intuitiva de conjunto puede. diciembre de 2000 (y no porque entonces hubiera habido un cambio. La decisión. naturalmente. más de un millón de dólares para una tecnología de 90nm o menor. es decir. Un conjunto difuso es pues una correspondencia (o función) que a cada elemento del universo le asocia su grado de pertenencia. Por ejemplo. Contienen bloques de lógica programable e interconexiones programables que permiten a un modelo de FPGA ser usada en muchas aplicaciones distintas. En efecto. . Procesamiento Detallado Conjuntos difusos De manera intuitiva se tiene el concepto de conjunto como una colección bien definida de elementos. en un universo dado. a ese conjunto.'' Supongamos que el total de horas posibles a ser laboradas en un mes sea . Enunciada así esta definición parece ser cíclica. En tanto el grado de pertenencia sea más cercano a 1 tanto más estará el elemento en el conjunto y en tanto el grado de pertenencia sea más cercano a 0 tanto menos estará el elemento en el conjunto. los siguientes son conjuntos difusos. especialmente en las tecnologías más densas. consideremos como universo a la población económicamente activa1 en México. y tampoco faltará quien diga: ``Qué empleo? No hallé trabajo en todo el 2000 y sólo en su último mes. está bien determinado: una persona en nuestro universo que entonces hubiera vendido su fuerza de trabajo. así. Historia Los primeros ASIC utilizaban tecnología de matriz de puertas. al conjunto formado por las personas residentes en ese país con una edad entre 18 años (cumplidos) y 66 años (por cumplir). dados como funciones . Hagamos igual al valor mínimo que resulte de comparar 1 con la razón . pues no era empleado. De porcentaje en tiempo ``Uno es empleado en proporción al tiempo trabajado. bajo pago. debido a que el costo fijo (el costo para preparar una línea de producción para que fabrique un ASIC en particular). mas no lo es: un conjunto difuso es una función cuyo dominio es el universo y cuyo contra dominio es el intervalo .'' Para cada persona sea el número de horas trabajadas bajo pago el mes en cuestión. en la que es posible determinar para un objeto cualquiera. es ``sí pertenece'' o bien ``no pertenece''. mi primo me empleó a destajo para envolver regalos en su tienda: Yo no soy ningún empleado''. la ULA (Uncommitted Logic Array o Matriz lógica no fija). ser muy estrecha. Ávila P. es muy alto. ni falta el funcionario de la Secretaría del Trabajo que dirá: ``Todo ciudadano que haya trabajado al menos una hora en ese mes y por eso haya recibido un pago. es un empleado''. podríamos pensar. digamos. Para los diseños más pequeños o con volúmenes de producción más bajos. El lector observará la sobresimplificación del criterio de pertenencia enunciado. sino porque era ése el último mes del siglo XX). El conjunto de personas empleadas en México en ese mes. Hagamos si y si . que pueden abarcar el concepto de empleado: De estadística optimista ``Uno es empleado si trabaja al menos una hora.

Ferranti fabricó tal vez la primera matriz de puertas. y un buen desempeño eléctrico. y un buen desempeño eléctrico. en término de los costos fijos y de fabricación de cada unidad. las FPGAs pueden tener un costo menor que un diseño equivalente basado en ASIC. . Una solución a este problema. Diseño basado en Celdas Estándares (Standard Cell) A mediados de 1980. Cada fabricante de ASIC creaba bloques funcionales con características eléctricas conocidas. Sergio E. matriz de puertas programables) son la versión moderna de los prototipos con puertas lógicas de la serie 7400. con moldes base configurados tanto por las capas metálicas como polisiliconicas. El diseño basado en Celdas Estándares es el uso de estos bloques funcionales para alcanzar densidades de puertas muy altas. más de un millón de dólares para una tecnología de 90nm o menor. un diseñador elegía a un fabricante de ASIC. tales como el Design Compiler. fue la implementación de Celdas Estándares. Este tipo de diseño se ubica entre diseño de Matriz de Puertas. y el diseño hecho totalmente a la medida. Supongamos que la ``canasta básica'' la evalúa la Secretaría de Comercio en pesos al mes. Algunos moldes base incluían elementos de RAM. que además permitió aumentar la densidad de los ASIC.120 - . Este tipo de diseño se ubica entre diseño de Matriz de Puertas. y luego implementaba el diseño utilizando las herramientas provistas por ese fabricante en particular.ESCUELA POLITÉCNICA NACIONAL SISTEMAS DIGITALES se realizaba al variar la máscara de interconexión metálica. en término de los costos fijos y de fabricación de cada unidad. Una solución a este problema. Las versiones posteriores fueron más generalizadas. a menos que se introduzcan fallas al nivel físico de fabricación. Historia Los primeros ASIC utilizaban tecnología de matriz de puertas. aunque en la práctica estas etapas se traslapan significativamente. Las FPGA (Field Programmable Gate Arrays. y el diseño hecho totalmente a la medida. Para los diseños más pequeños o con volúmenes de producción más bajos. especialmente en las tecnologías más densas. A pesar de que existían herramientas de diseño provista por terceros. llevados a cabo con el nivel de habilidad común en la industria. casi siempre producen un dispositivo final que implementa correctamente el diseño original. además de él mismo. capacitancias e inductancias.'' Denotemos por a la paga que recibe el ciudadano por hora de su trabajo. A pesar de que existían herramientas de diseño provista por terceros. no había un enlace efectivo entre éstas y los procesos productivos de los fabricantes. tales como los tiempos de propagación. El diseño a la medida se realizaba al variar la máscara de interconexión metálica. Algunos moldes base incluían elementos de RAM. Estos pasos. la ULA (Uncommitted Logic Array o Matriz lógica no fija). Ávila P. Hagamos igual al valor mínimo que resulte de comparar 1 con la razón . que podían ser representadas en las herramientas desarrolladas por terceros. Este tipo de diseño contempla las siguientes etapas conceptuales. El diseño basado en Celdas Estándares es el uso de estos bloques funcionales para alcanzar densidades de puertas muy altas. Contienen bloques de lógica programable e interconexiones programables que permiten a un modelo de FPGA ser usada en muchas aplicaciones distintas. El salario del trabajador ha de mantener a 3 personas. ``Uno es empleado en proporción con que pueda adquirir los bienes de consumo necesarios para su familia. con moldes base configurados tanto por las capas metálicas como polisiliconicas. que podían ser representadas en las herramientas desarrolladas por terceros. es muy alto. Hacia finales de 1980. no había un enlace efectivo entre éstas y los procesos productivos de los fabricantes. y luego implementaba el diseño utilizando las herramientas provistas por ese fabricante en particular. Esto dio paso a un estilo de diseño llamado Diseño basado en Celdas Estándares. capacitancias e inductancias. Diseño basado en Celdas Estándares (Standard Cell) A mediados de 1980. alrededor de 1980. debido a que el costo fijo (el costo para preparar una línea de producción para que fabrique un ASIC en particular). un diseñador elegía a un fabricante de ASIC. Las ULAs tenían complejidades de hasta algunos miles de puertas. por persona. Las versiones posteriores fueron más generalizadas. estuvieron disponibles las herramientas de síntesis lógica. fue la implementación de Celdas Estándares. y que cada trabajador tiene en promedio 2 dependientes económicos. que además permitió aumentar la densidad de los ASIC. Estas herramientas podían compilar descripciones HDL en una lista de nodos al nivel de puertas. Cada fabricante de ASIC creaba bloques funcionales con características eléctricas conocidas. Las ULAs tenían complejidades de hasta algunos miles de puertas. tales como los tiempos de propagación.

Estas herramientas podían compilar descripciones HDL en una lista de nodos al nivel de puertas. entonces para cada objeto . Es bien sabido que los conjuntos intuitivos pueden combinarse mediante las operaciones. Ponderación de tiempo e ingreso ``Uno es empleado cuando trabaje mucho aunque no coma o no tenga apuros económicos aunque no trabaje. definida anteriormente. de complemento. Estos pasos. para cada . . tales como el Design Compiler. llevados a cabo con el nivel de habilidad común en la industria. estuvieron disponibles las herramientas de síntesis lógica. en el sentido intuitivo. es un grado con el que se cree que posee el atributo . . es la probabilidad de que ocurra en el evento . Para ilustrar la connotación probabilista. El corte a altura 0 es entonces todo el universo. es el ``porcentaje'' con el que posee . Recíprocamente.ESCUELA POLITÉCNICA NACIONAL SISTEMAS DIGITALES Hacia finales de 1980. llamadas booleanas. Por ejemplo. en el sentido intuitivo. según se dice en la Teoría de la Probabilidad. entonces para cada objeto . es ciertamente una proporción del tiempo laborado. Diremos que es el corte a altura de . en contextos diferentes. Las siguientes son sólo algunas posibles interpretaciones: Proporción en la que se posee un atributo Si consideramos que es un atributo. En consecuencia. Hagamos . posee una función característica: En cada elemento. la característica vale 1 (``sí'') si el elemento está en el conjunto y vale 0 (``no'') en caso contrario.'' Sean y dos coeficientes entre 0 y 1 tales que . de elementos con grado de pertenencia al menos : está en si y sólo si . Este tipo de diseño contempla las siguientes etapas conceptuales. entonces para cada objeto . aunque en la práctica estas etapas se traslapan significativamente. se puede fijar un umbral entre 0 y 1. consideremos el conjunto difuso . para formar el conjunto. casi siempre producen un dispositivo final que implementa correctamente el diseño original. El grado de pertenencia a un conjunto difuso puede ser interpretado de diversas maneras. Medida de creencia Si consideramos que es un atributo. es decir. Probabilidad Si consideramos que es un evento probabilista (una variable aleatoria. Entonces. . Un conjunto. Esto dio paso a un estilo de diseño llamado Diseño basado en Celdas Estándares. en tanto que el corte a altura 1 consta de los elementos con valor de pertenencia 1 al conjunto. unión e intersección: El complemento de un conjunto está formado por los Sergio E. es una medida de creencia (y la selección de pesos y sesga el énfasis que se le quiera dar al tiempo laborado o al ingreso obtenido). con valores en el conjunto de partes del universo). a menos que se introduzcan fallas al nivel físico de fabricación. sería una probabilidad de que sea feliz. dado un conjunto difuso con función de pertenencia . inclusive. Ávila P. todo conjunto intuitivo es en sí un conjunto difuso.121 - .

Algunos moldes base incluían elementos de RAM. Para los diseños más pequeños o con volúmenes de producción más bajos. y la característica de la intersección vale uno si las características de ambos conjuntos valen uno. para cada una de las interpretaciones descritas arriba se puede introducir una colección particular de operadores. Ávila P. Si nos referimos a funciones características. asocia el máximo de los grados de pertenencia. debido a que el costo fijo (el costo para preparar una línea de producción para que fabrique un ASIC en particular). es decir. De hecho. A pesar de que existían herramientas de diseño provista por terceros. por lo cual se definen las operaciones como sigue: Complemento El complemento de un conjunto difuso asigna a cada objeto el grado ``complementario'': . Sergio E.122 - . se tiene que la característica del complemento posee el valor opuesto al de la característica del conjunto. Veamos en cada caso operaciones de complemento. y luego implementaba el diseño utilizando las herramientas provistas por ese fabricante en particular. es muy alto. los grados de pertenencia se interpretan como proporciones. alrededor de 1980. un diseñador elegía a un fabricante de ASIC. para cada objeto : . la ULA (Uncommitted Logic Array o Matriz lógica no fija). la unión de dos conjuntos difusos . El diseño a la medida se realizaba al variar la máscara de interconexión metálica. Este tipo de diseño se ubica entre diseño de Matriz de Puertas. capacitancias e inductancias. Una solución a este problema. las FPGAs pueden tener un costo menor que un diseño equivalente basado en ASIC. Historia Los primeros ASIC utilizaban tecnología de matriz de puertas. fue la implementación de Celdas Estándares. Ferranti fabricó tal vez la primera matriz de puertas. El diseño basado en Celdas Estándares es el uso de estos bloques funcionales para alcanzar densidades de puertas muy altas. tales como los tiempos de propagación.ESCUELA POLITÉCNICA NACIONAL SISTEMAS DIGITALES elementos del universo que no están en él. Contienen bloques de lógica programable e interconexiones programables que permiten a un modelo de FPGA ser usada en muchas aplicaciones distintas. Las versiones posteriores fueron más generalizadas. la unión de dos conjuntos la forman los elementos que están en uno o en otro conjunto y la intersección la conforman los elementos en ambos conjuntos. especialmente en las tecnologías más densas. que podían ser representadas en las herramientas desarrolladas por terceros. . matriz de puertas programables) son la versión moderna de los prototipos con puertas lógicas de la serie 7400. Esto puede servir de motivación para definir operadores de composición de conjuntos difusos. y un buen desempeño eléctrico. Diseño basado en Celdas Estándares (Standard Cell) A mediados de 1980. para cada objeto : . no había un enlace efectivo entre éstas y los procesos productivos de los fabricantes. Las ULAs tenían complejidades de hasta algunos miles de puertas. que además permitió aumentar la densidad de los ASIC. la característica de la unión de dos conjuntos vale uno si al menos una de las características de los conjuntos vale uno. en término de los costos fijos y de fabricación de cada unidad. más de un millón de dólares para una tecnología de 90nm o menor. Unión De manera similar. se tiene: Las FPGA (Field Programmable Gate Arrays. Cada fabricante de ASIC creaba bloques funcionales con características eléctricas conocidas. y el diseño hecho totalmente a la medida. Intersección La intersección de dos conjuntos difusos . es decir. asocia el mínimo de los grados de pertenencia. Probabilidad Vistos los grados de pertenencia como probabilidades. con moldes base configurados tanto por las capas metálicas como polisiliconicas. unión e intersección: Proporción en la que se posee un atributo En este caso.

Este tipo de diseño contempla las siguientes etapas conceptuales. Esto dio paso a un estilo de diseño llamado Diseño basado en Celdas Estándares. menos la probabilidad de que ocurran ambos eventos: . a la intersección. Unión La probabilidad de que ocurra uno u otro evento es la probabilidad de uno. . En símbolos Unión Dados dos conjuntos difusos . la suma es menor que entonces descartamos que ese punto sea común a ambos conjuntos. de (a) intersección. En otro caso. Medida de creencia Las siguientes funciones pueden parecer definidas de manera arbitraria. con sendos grados de pertenencia y . al máximo de las razones y . llevados a cabo con el nivel de habilidad común en la industria. se hace: . estuvieron disponibles las herramientas de síntesis lógica. Estas herramientas podían compilar descripciones HDL en una lista de nodos al nivel de puertas. a la razón de la diferencia entre el máximo de y .ESCUELA POLITÉCNICA NACIONAL SISTEMAS DIGITALES Hacia finales de 1980. si para un punto dado . no debe estar ``en la intersección''.123 - . la suma es mayor que entonces convenimos en que ese punto está ``en la unión''. En símbolos En la figura 1 mostramos las gráficas correspondientes a estos operadores de interseccón y de unión. se toma como grado de pertenencia. con sendos grados de pertenencia y . pero ciertamente tienen una motivación intuitiva: Complemento Como en los casos anteriores. Figura 1: Grados de pertenencia. En otro caso. a menos que se introduzcan fallas al nivel físico de fabricación. en términos de los grados de creencia y . tales como el Design Compiler. y (b) unión. es decir. Sergio E. . . casi siempre producen un dispositivo final que implementa correctamente el diseño original. si para un punto dado . Intersección Dados dos conjuntos difusos . aunque en la práctica estas etapas se traslapan significativamente. a la unión. Ávila P. se toma como grado de pertenencia. más la probabilidad del otro. según el enfoque de ``medida de creencia''. Estos pasos.

3. también.124 - . a su vez. a su vez. Para hablar con un poco de más precisión: Si son conjuntos difusos primitivos. La intersección y la unión de dos conjuntos definibles. 5. para operadores de complemento. . a su vez. son. los finales han de ser de tales cuales''. se calcula consecutivamente los grados de pertenencia de los conjuntos involucrados hasta obtener el valor . la cual. son. son. las FPGAs pueden tener un costo menor que un diseño equivalente basado en ASIC. 6. La intersección y la unión de dos conjuntos definibles. partiendo de los conjuntos primitivos. ``primitivos''. ESCUELA POLITÉCNICA NACIONAL SISTEMAS DIGITALES A partir de operaciones de complemento. definibles. de intersección y de unión fijos. si se sabe que cada grado de pertenencia cae en un intervalo . si son tres conjuntos difusos primitivos. se obtienen conjuntos difusos ``más complejos'' como resultado de aplicar sucesivamente estos operadores partiendo de una colección de conjuntos difusos. por ejemplo. matriz de puertas programables) son la versión moderna de los prototipos con puertas lógicas de la serie 7400. debido a que el costo fijo (el costo para preparar una línea de producción Sergio E. son. definibles. Ávila P. 4. sólo para enfatizar el hecho de que se obtiene de los conjuntos . definible. digamos. unión e intersección. los siguientes son meros ejemplos de conjuntos difusos definibles a partir de ellos: Denotemos a un conjunto definible como . podemos decir que éste es un problema de tipo ``hacia adelante'': conociendo los valores iniciales . mediante las funciones de los conectivos de complemento. la clase de conjuntos definibles. un resolvedor de este problema se ve como un agente que realiza ``pronósticos'': ``Si los valores iniciales son de tales características. Todo conjunto primitivo es definible. a su vez. también. son los que se obtienen mediante las reglas siguientes: 1. Existen dos problemas fundamentales en cualquier teoría de conjuntos difusos: Problema 2. Cada tal conjunto tiene asociada una función que a cada objeto del universo le asocia un grado de pertenencia al conjunto definible. se escribe como una composición de los grados de pertenencia de los conjuntos primitivos. a su vez. definibles. unión e intersección. 2. En etapas de aplicación. Utilizando una jerga técnica actual. Para los diseños más pequeños o con volúmenes de producción más bajos. Así. entonces se ha de estimar en qué intervalo ha de caer el grado de pertenencia .1 (de deducción) Para un conjunto definible y un objeto dado . Las FPGA (Field Programmable Gate Arrays. definibles. también. La intersección y la unión de dos conjuntos definibles. naturalmente. La intersección y la unión de dos conjuntos definibles. El complemento de todo definible es. también. Contienen bloques de lógica programable e interconexiones programables que permiten a un modelo de FPGA ser usada en muchas aplicaciones distintas.

Sergio E. La entrada Cin del primer FA es mantenido en un nivel BAJO. y el diseño hecho totalmente a la medida. Estos pasos. Una solución a este problema. A pesar de que existían herramientas de diseño provista por terceros. Las ULAs tenían complejidades de hasta algunos miles de puertas. casi siempre producen un dispositivo final que implementa correctamente el diseño original. Si observamos los dos últimos gráficos podemos apreciar que estos circuitos son muy parecidos por lo que nos queda fácil implementar un circuito que realice las dos operaciones tratadas (suma y resta). Se invierte el sustraendo (entradas B). estuvieron disponibles las herramientas de síntesis lógica. y luego implementaba el diseño utilizando las herramientas provistas por ese fabricante en particular. las cuatro XOR actúan como inversores. se busca determinar los valores que debieron asumir los demás grados de pertenencia iniciales para obtener el valor final. un diseñador elegía a un fabricante de ASIC. pueden ser resueltos. fue la implementación de Celdas Estándares. más de un millón de dólares para una tecnología de 90nm o menor. Algunos moldes base incluían elementos de RAM.125 - . Diseño basado en Celdas Estándares (Standard Cell)A mediados de 1980. Ambos problemas. teniendo en cuenta las funciones de los conectivos de complemento. Al contrario de una primera idea sugerida por su nombre. especialmente en las tecnologías más densas. La entrada Cin del primer FA esta en un nivel ALTO. un resolvedor de este problema se ve como un agente que realiza ``diagnósticos'': ``Si los valores observados (finales) son de tales características en unas ciertas condiciones (iniciales). El diseño basado en Celdas Estándares es el uso de estos bloques funcionales para alcanzar densidades de puertas muy altas. .2 (de inferencia) Para un conjunto definible y un objeto dado . Cada fabricante de ASIC creaba bloques funcionales con características eléctricas conocidas. no había un enlace efectivo entre éstas y los procesos productivos de los fabricantes. aunque en la práctica estas etapas se traslapan significativamente. de deducción y de inferencia. que podían ser representadas en las herramientas desarrolladas por terceros. Estas herramientas podían compilar descripciones HDL en una lista de nodos al nivel de puertas. con moldes base configurados tanto por las capas metálicas como polisiliconicas. podemos decir que éste es un problema de tipo ``hacia atrás'': conociendo los valores finales y algunos iniciales . efectiva y eficientemente. El diseño a la medida se realizaba al variar la máscara de interconexión metálica. capacitancias e inductancias. Este tipo de diseño contempla las siguientes etapas conceptuales. unión e intersección. Cuando la entrada de Modo de Control esta en un nivel alto (1 lógico). . alrededor de 1980. y que para algunos conjuntos primitivos sus correspondientes grados de pertenencia caen en intervalos . Problema 2. y un buen desempeño eléctrico. es muy alto. entonces las demás variables iniciales han de haber cumplido con tales hipótesis''. en término de los costos fijos y de fabricación de cada unidad. Historia Los primeros ASIC utilizaban tecnología de matriz de puertas. si se sabe que el grado de pertenencia cae en un intervalo . Este tipo de diseño se ubica entre diseño de Matriz de Puertas. Ferranti fabricó tal vez la primera matriz de puertas. Ávila P. la ULA (Uncommitted Logic Array o Matriz lógica no fija). las cuatro puertas XOR no tienen efecto en el dato de las entradas B (el dato pasa a través de las puertas XOR y no es invertido). Los conjuntos difusos involucran de manera esencial procedimientos de cálculo numérico o simbólico. Las versiones posteriores fueron más generalizadas. tales como los tiempos de propagación. lo cual hace que este primer FA trabaje como semisumador. También en jerga técnica. llevados a cabo con el nivel de habilidad común en la industria. Hacia finales de 1980. En etapas de aplicación. tales como el Design Compiler. Si esta entrada está en un nivel bajo (0 lógico). entonces se ha de estimar para los otros índices en qué intervalos debieron caer los correspondientes grados de pertenencia . veremos que la lógica difusa es un área de cálculo preciso. El circuito Sumador/Restador mostrado en la figura 12 tiene una entrada adicional denominada modo de control. analizando los tipos de las funciones matemáticas involucradas en los grados de pertenencia y en los conectivos lógicos. Esto dio paso a un estilo de diseño llamado Diseño basado en Celdas Estándares. a menos que se introduzcan fallas al nivel físico de fabricación.ESCUELA POLITÉCNICA NACIONAL SISTEMAS DIGITALES para que fabrique un ASIC en particular). que además permitió aumentar la densidad de los ASIC.

Al contrario de una primera idea sugerida por su nombre. del punto x. 2. A(x) = B(x). Figure 2: Dos conjuntos difusos de puntos cercanos a un punto. Por ejemplo. entre x0-h y x0 va de 0 a 1. también. a su vez. en el conjunto de contribuyentes consideremos al conjunto mostrado en la figura 1 (a): (1) Donde i(x) es el impuesto anual pagado por x en unidades monetarias. En lo que resta de esta sección presentaremos extensiones de aquellas definiciones elementales e introduciremos terminología que utilizaremos posteriormente. 1. entre x0 y x0+h va de 1 a 0 y después del extremo superior x0+h es nula. si para todo x. se tiene una serie de conceptos bien definidos. La intersección y la unión de dos conjuntos definibles. Ahora consideremos al conjunto de: Sergio E. de deducción y de inferencia. analizando los tipos de las funciones matemáticas involucradas en los grados de pertenencia y en los conectivos lógicos. cuándo un conjunto es un subconjunto de otro. son. efectiva y eficientemente. . veremos que la lógica difusa es un área de cálculo preciso.126 - . Mónadas: Sea x un punto del universo. Consideremos la función lineal por trozos tal que antes del extremo inferior x0-h es nula. La diferencia (resultado) se puede apreciar en los visualizadores. cuántos elementos tiene un conjunto. etc. Ambos problemas. Subconjuntos Dados dos conjuntos difusos A y B en un universo. pueden ser resueltos. La función que vale 1 en x y 0 en cualquier otro punto se dice ser la mónada. a saber. Otros ejemplos. Sea x0 un punto del intervalo y h>0. Valores cercanos a un centro: Consideremos como universo a un intervalo en la recta real. Los conjuntos serán iguales si cada uno es un subconjunto del otro. puede verse como el conjunto de ``puntos cercanos'' a x0. cuándo dos conjuntos son iguales. En los conjuntos usuales. Vemos pues que los conjuntos difusos involucran de manera esencial procedimientos de cálculo numérico o simbólico. En la figura 2 presentamos dos funciones de este tipo. Ávila P.ESCUELA POLITÉCNICA NACIONAL SISTEMAS DIGITALES lo que es lo mismo que sumar +1 al sustraendo en complemento a 1. definibles. diremos que A es un subconjunto de B si para todo objeto x del universo se cumple la desigualdad . en otras palabras.

ESCUELA POLITÉCNICA NACIONAL SISTEMAS DIGITALES (2) cuya gráfica está en la figura 3 (a) (observe ahí que aunque se tiene la misma forma que en la figura 1 (a) la escala de valores en el dominio de la función es distinta). digamos. Sea A un conjunto difuso y sea un número entre 0 y 1. mas su grado de pertenencia a ``mayores'' es 1. aunque el recíproco no se cumpla. estrictamente. mas no tanto es ``gigante''.127 - . unidades monetarias tiene un grado de pertenencia a ``gigantes'' igual a 1/2. (3). y finalmente si entonces y . Por ejemplo. si entonces y . en el sentido usual. En la (b) se ve a ambos conjuntos de contribuyentes mayores y gigantes. El corte-a de A es el conjunto. mas no lo es. consistente de aquellos objetos cuyos grados de pertenencia a A superen. si entonces y . el valor a. . Cortes Estas operaciones en conjuntos difusos permite transformarlos en conjuntos usuales. En cualquier caso (3) Gráficamente esto se ve en la figura 3 (b). Se tiene. Sergio E. Fijo un umbrala se toma alos elementos cuyo grado de pertenencia al conjunto difuso sea al menos a. Es pues ``mayor'' con toda certeza. un contribuyente que aporta un impuesto de. Todo contribuyente que sea ``gigante'' ha de ser ``mayor''. Puede parecer paradójica la ec. donde la función que ahí aparenta ser la constante 1 es la que determina el conjunto difuso de contribuyentes mayores . En la gráfica (a) se ve el conjunto de contribuyentes gigantes. si entonces y . Por tanto el conjunto de contribuyentes gigantes es un subconjunto del de contribuyentes mayores. Ávila P. Figure 3: Los contribuyentes gigantes forman un subconjunto del de los contribuyentes mayores.

Esta característica se observa en algunos códigos BCD. se dirá que la distancia entre ellas es igual a dos (ya que de una a otra cambian dos bits). Si a>0. a su vez. que de cualquier combinación del código a la siguiente cambia un sólo bit. consta de los contribuyentes cuya contribución anual exceda a las unidades monetarias. o ASIC por sus siglas en inglés. en vez de ser concebido para propósitos de uso general. adyacente a la primera. Por ejemplo. Se usan para una función especifica. Además. como el código Aiken o el código BCD exceso 3. con el concepto de distancia se puede definir la distancia mínima de un código.ESCUELA POLITÉCNICA NACIONAL SISTEMAS DIGITALES En el ejemplo arriba de ``contribuyentes gigantes'' si se fija. En un lugar intermedio entre los Sergio E. algunos códigos binarios.128 - . cada posición de una secuencia de dígitos tiene asociado un peso. Desdifusificar Un Circuito Integrado para Aplicaciones Específicas. El sistema binario es. Esta propiedad es aplicable únicamente a las combinaciones binarias de un código. También aquí. Cuando la última combinación del código es. Ávila P. Autocomplementariedad Se dice que un código binario es autocomplementario cuando el complemento a nueve del equivalente decimal de cualquier combinación del código puede hallarse invirtiendo los valores de cada uno de los bits (operación lógica unaria de negación) y el resultado sigue siendo una combinación válida en ese código. un sistema de numeración posicional ponderado. es decir. Los códigos autocomplementarios facilitan las operaciones aritméticas. si se tienen las combinaciones de cuatro bits 0010 y 0111. Otros. como el mismo código binario natural o el BCD natural sí lo son. Por ejemplo. como el código Gray. Continuidad La continuidad es una característica de los códigos binarios que cumplen que todas las posibles combinaciones del código son adyacentes. Adyacencia La adyacencia es una característica que consiste en que de una combinación binaria a la siguiente sólo varía un bit (distancia igual a uno). es decir. de hecho. no al código en sí mismo. es decir. no son ponderados. Distancia La distancia es una característica sólo aplicable a las combinaciones binarias. Por otro lado. los circuitos integrados de la serie 7400 son circuitos lógicos (combinacionales o secuenciales) que se pueden utilizar para una multiplicidad de aplicaciones. los vehículos veloces tienen un menor grado de pertenencia a los Muy veloces. el corte-a cerrado de A es3Aa el cual conjunto consta de los puntos cuyos grados de pertenencia a A no sea inferior a a. es un circuito integrado hecho a la medida para un uso en particular. no tienen un peso asociado a cada posición. correspondientes al 2 y al 7 en binario natural. Ésta no es más que la distancia menor que haya entre dos de las combinaciones de ese código. En este caso se dice que el código es continuo. un chip diseñado únicamente para ser usado en un teléfono móvil es un ASIC. Características de los códigos binarios Ponderación La mayoría de los sistemas de numeración actuales son ponderados. por ejemplo entonces el corte. La distancia entre dos combinaciones es el número de bits que cambian de una a otra. se trata de un código cíclico. . Sin embargo.

existen diversos criterios.129 - . Con esta operación ``se suprime lo difuso'' porque habiendo estimado propiedades de un conjunto difuso. Historia Los primeros ASIC utilizaban tecnología de matriz de puertas. consiste en seleccionar un elemento representativo de un conjunto difuso. tal que . debido a que el costo fijo (el costo para preparar una línea de producción para que fabrique un ASIC en particular). la complejidad máxima. tales como el Design Compiler. Primer máximo Tómese como representante de un conjunto difuso al primer elemento xAen el universo X. y por ende la funcionalidad. El diseño a la medida se realizaba al variar la máscara de interconexión metálica. Este tipo de diseño se ubica entre diseño de Matriz de Puertas. Para esto. fue la implementación de Celdas Estándares. por sus siglas en inglés. o SoC. que además permitió aumentar la densidad de los ASIC. tales como Verilog o VHDL.ESCUELA POLITÉCNICA NACIONAL SISTEMAS DIGITALES ASIC y los productos de propósito general están los Productos Estándar para Aplicaciones Específicas. así como otros tipos de módulos. a menos que se introduzcan fallas al nivel físico de fabricación. Los diseñadores de ASIC digitales usan lenguajes descriptores de hardware (HDL). un diseñador elegía a un fabricante de ASIC. Para los diseños más pequeños o con volúmenes de producción más bajos. estuvieron disponibles las herramientas de síntesis lógica. es muy alto. alrededor de 1980. Esto dio paso a un estilo de diseño llamado Diseño basado en Celdas Estándares. Corte-a Sergio E. bloques de memoria RAM.000 puertas lógicas a más de 100 millones. y luego implementaba el diseño utilizando las herramientas provistas por ese fabricante en particular. se elige a un objeto ``concreto'' que lo representa. Algunos moldes base incluían elementos de RAM. Estas herramientas podían compilar descripciones HDL en una lista de nodos al nivel de puertas. Ávila P. con moldes base configurados tanto por las capas metálicas como polisiliconicas. definida sobre X. El diseño basado en Celdas Estándares es el uso de estos bloques funcionales para alcanzar densidades de puertas muy altas. Las ULAs tenían complejidades de hasta algunos miles de puertas. precisamente A. ROM. capacitancias e inductancias. especialmente en las tecnologías más densas. más de un millón de dólares para una tecnología de 90nm o menor. de acuerdo con un orden dado. o ASSP por sus siglas en inglés. aunque en la práctica estas etapas se traslapan significativamente. en término de los costos fijos y de fabricación de cada unidad. para describir la funcionalidad de estos dispositivos. La operación de desdifusificar5. Los ASIC modernos a menudo incluyen procesadores de 32-bit. Diseño basado en Celdas Estándares (Standard Cell) A mediados de 1980. Este tipo de ASIC frecuentemente es llamado Sistema en un Chip. la ULA (Uncommitted Logic Array o Matriz lógica no fija). A pesar de que existían herramientas de diseño provista por terceros. y el diseño hecho totalmente a la medida. Contienen bloques de lógica programable e interconexiones programables que permiten a un modelo de FPGA ser usada en muchas aplicaciones distintas. Hacia finales de 1980. en un ASIC ha crecido desde 5. matriz de puertas programables) son la versión moderna de los prototipos con puertas lógicas de la serie 7400. Este tipo de diseño contempla las siguientes etapas conceptuales. tales como los tiempos de propagación. Las versiones posteriores fueron más generalizadas. Las FPGA (Field Programmable Gate Arrays. no había un enlace efectivo entre éstas y los procesos productivos de los fabricantes. . Con los avances en la miniaturización y en las herramientas de diseño. Una solución a este problema. que podían ser representadas en las herramientas desarrolladas por terceros. EEPROM y Flash. las FPGAs pueden tener un costo menor que un diseño equivalente basado en ASIC. Este criterio conlleva la dificultad de calcular un valor máximo de una función real. casi siempre producen un dispositivo final que implementa correctamente el diseño original. u operación-DF para abreviar. Cada fabricante de ASIC creaba bloques funcionales con características eléctricas conocidas. Estos pasos. Ferranti fabricó tal vez la primera matriz de puertas. y un buen desempeño eléctrico. llevados a cabo con el nivel de habilidad común en la industria.

se tiene que dado cualquier punto xen ese poliedro mínimo han de existir coeficientes tales que y . x0 es uno de los elementos en el universo X cuyo grado de pertenencia a A es el más cercano al valor esperado de los valores de A. sea su centroide. Por ejemplo. . y sólo Azcárraga desdifusifica al de ``gigantes''. pero estrictamente menor que 1. el vector se dice ser una suma convexa de los elementos de X' y está precisamente en el poliedro mínimo que contiene a X'. Elíjase al elemento tal que es decir. De la Madrid. Fox o Iglesias. sea un número real positivo. x1+x2.ESCUELA POLITÉCNICA NACIONAL SISTEMAS DIGITALES Dado un conjunto difuso A en un universo X. De manera más general. Elíjase un elemento en el corte-a de A. para . Diremos que el número a es el umbral de corte. Ávila P. x0 es uno de los elementos cuyo grado de pertenencia a A tiene una k-ésima potencia más cercana al k-ésimo momento de A. Dado un conjunto de n puntos en X. cualquiera de los contribuyentes Azcárraga. el lector puede suponer que X es el espacio tridimensional . y dados ncoeficientes tales que . Centro de gravedad Supongamos por ahora que el universo X posee una estructura geométrica de espacio vectorial. con este criterio. Cárdenas. Un conjunto difuso A en X se dice ser convexo si para cualesquiera n puntos y cualesquiera ncoeficientes tales que . desdifusifica al conjunto de ``mayores''. Centroide Dado un conjunto difuso A en un universo X. Para fijar ideas.130 - . se tiene Sergio E. se puede elegir al elemento tal que es decir. y para cada número real t se tiene también la elongación t x1 del vector x1 por el escalar t. Por esta razón a ese poliedro mínimo se le llama la cerradura convexa de X'. Dados dos vectores se tiene definida su suma. Recíprocamente.

En el caso de que A sea un conjunto convexo. Si . Para. el conjunto Ap no es convexo. si A fuese un conjunto usual. entonces se podría elegir a un elemento fuera de A con este criterio. el conjunto Ap es convexo. Para p=2 la gráfica de Ap es una parábola. (4) resulta Sergio E.131 - . El centro de gravedad de altura a de A es El centro de gravedad C(A. un cálculo directo muestra que El centro de gravedad es pues (4) Que. el tamaño de este corte-a es y. en términos de a y p define una función cuya gráfica se muestra en la figura 6. el corte-a cerrado es .a) es pues el promedio de los elementos en el corte-a de A. con p>0. si p fuese un entero. Así pues. Sea X=[0. de la ec. cualquiera de los centros básico o máximo puede ser un buen representante del conjunto difuso A. En particular. . El centro de gravedad máximo es el centro de gravedad de altura . Figure 7: (a) Vista de la función de centros de gravedad desde el plano p=0. Recordamos que el corte-a cerrado Aa de A consta de todos los puntos cuyo grado de pertenencia a A no es inferior al valor a. El centro de gravedad básico es el centro de gravedad de altura 0. Sin embargo. Ejemplo. Dado se tiene: . Por ejemplo.ESCUELA POLITÉCNICA NACIONAL SISTEMAS DIGITALES Sea .1] y sea Ap el conjunto difuso . (b) Vista de la función de centros de gravedad desde el plano a=0. Para p> 1. coincide con la gráfica de la raíz cuadrada según se muestra en la figura 4. Por tanto. Ávila P. la selección por centros puede ser muy desafortunada. si A no es convexo.

en tanto es mayor el umbral. donde la susceptibilidad a errores se incrementa con el numero de cambios de bit entre numeros adyacentes en una secuencia. Esta propiedad es muy importante para muchas aplicaciones. En el otro extremo.132 - . La tabla siguiente es una lista del codigo Gray de cuatro bits para numeros decimales del 0 al 15. un investigador de los laboratorios Bell. a todas luces. Ávila P. el conjunto de conjuntos usuales forma una estructura algebraica llamada precisamente álgebra booleana. en función del orden que se desee seguir). Es bien sabido que los conjuntos usuales pueden ser operados para formar otros nuevos. Las operaciones típicas entre conjuntos son la unión. el codigo Gray cambia de 0010 a 0110. para conjuntos no-convexos. Hay varios algoritmos para generar una secuencia de código Gray (y varios códigos posibles resultantes. Como los numeros binarios. a pesar de que los problemas de ruido y potencia se hayan reducido. es más bien bajo pues se está considerando en el promedio a muchos valores que son pequeños. En esta sección veremos algunas maneras de extender las operaciones conjuntistas convencionales a conjuntos difusos. Consiste en una ordenación de <math>2^n</math> números binarios de tal forma que cada número sólo tenga un dígito binario distinto a su predecesor.ESCUELA POLITÉCNICA NACIONAL SISTEMAS DIGITALES (5) de donde se ve que el centro básico es . esto es. Así pues. el codigo Gray puede tener cualquier numero de bits. Por ejemplo. El Código Gray es un caso particular de sistema binario. Note el cambio de bit unico entre los numeros sucesivos del codigo Gray. pero el más usado consiste en cambiar el bit menos significativo que genera un nuevo código. el código Gray se sigue empleando para el diseño de cualquier circuito electrónico combinacional mediante el uso de un Mapa de Karnaugh. . El uso de código Gray garantizó que en cualquier transición variaría tan sólo un bit. un cambio de tres bits. Este es un código gray de cuatro bits generado con dicho algoritmo: El primer uso documentado de un código de estas características fue en una demostración del telégrafo del ingeniero francés Émile Baudot. Los contadores necesitaban potencias muy elevadas a la entrada y generaban picos de ruido cuando varios bits cambiaban simultáneamente. Los numeros binarios se muestran en la tabla como una referencia. en 1878. el centro máximo es C(Ap. la intersección y el complemento respecto a un universo. En la actualidad. el conjunto de conjuntos usuales forma una estructura algebraica llamada precisamente álgebra Sergio E. El carácter importante del codigo Gray es que exhibe solo un cambio de bit unico de un numero de codigo al siguiente. ya que el principio de diseño de buscar transiciones más simples y rápidas entre estados sigue vigente. lendo del decimal 3 al 4. Con estas operaciones.1)=1. como era de esperarse. Con estas operaciones. En un primer plano aparece el caso de a=0 y al fondo el de a=1. será mejor la selección del centro de gravedad. No es ponderado ni es un código aritmético. mientras que el binario cambio de 0011 a 0100. OPERADORES COMPOSICIONALES Es bien sabido que los conjuntos usuales pueden ser operados para formar otros nuevos. Pero no fueron patentados hasta 1953 por Frank Gray (que dio nombre al sistema de codificación). los otros permanecen iguales. Las operaciones típicas entre conjuntos son la unión. no hay pesos especificos asignados a las posiciones de los bits. Elunico cambio de bit se origina en el tercer bit de la derecha en el codigo Gray. la intersección y el complemento respecto a un universo. Este valor. tales como codificadores de posizian axial. Esta técnica de codificación se originó cuando los circuitos lógicos digitales se realizaban con válvulas de vacío y dispositivos electromecánicos. Estos dos aspectos quedan mostrados en la figura 7 (b).

Negación de la verdad. es decir. tenemos que la operación complemento ``voltea'' los valores de pertenencia: A los puntos donde se tuviese un valor de pertenencia 1 el complemento les asignará el valor 0 y viceversa. un punto está en el complemento de un conjunto si y sólo si no está en el conjunto. si entonces . Ávila P. Un operador de negación es pues una función N que a cada valor t en el intervalo [0. Los contadores necesitaban potencias muy elevadas a la entrada y generaban picos de ruido cuando varios bits cambiaban simultáneamente. Ejemplos. que es la capacidad de adelantarse en el tiempo a los acontecimientos. haría fallar. Negaciones Operadores binarios Productos cartesianos NEGACIONES Veamos cómo extender a la operación de ``complemento''. La función es una negación.ESCUELA POLITÉCNICA NACIONAL SISTEMAS DIGITALES booleana. En esta sección veremos algunas maneras de extender las operaciones conjuntistas convencionales a conjuntos difusos. Del mismo ejemplo puede observarse otra de las principales ventajas de estos sistemas. . Esta técnica de codificación se originó cuando los circuitos lógicos digitales se realizaban con válvulas de vacío y dispositivos electromecánicos. Esta técnica de codificación se originó cuando los circuitos lógicos digitales se realizaban con válvulas de vacío y dispositivos electromecánicos. En los conjuntos usuales. Figure: Típica función de negación . N(1)=0 y que además es una función no-creciente. Las siguientes son negaciones: Lineal.133 - . muy probablemente. ya que en ocasiones no es sencillo especificar el efecto de los cuantificadores de nuestro lenguaje en dicha función.1] le asocia un valor N(t) en el mismo intervalo [0. todo el sistema completo.1]. El hecho de que cualquier función de pertenencia del sistema estuviese mal especificada. Sergio E. El uso de código Gray garantizó que en cualquier transición variaría tan sólo un bit. Si vemos al conjunto como su propia función característica. de manera tal que N(0)=1. estabilizando siempre el entorno físico que controla. El uso de código Gray garantizó que en cualquier transición variaría tan sólo un bit. Como principal inconveniente cabe destacar la dificultad de elegir una correcta función de pertenencia para los conjuntos difusos. Su gráfica se ve en la figura 8. Los contadores necesitaban potencias muy elevadas a la entrada y generaban picos de ruido cuando varios bits cambiaban simultáneamente.

Sea la función . el complemento de C bajo N coincide con el complemento de C en el sentido usual. Negación de la falsedad. Si A es un conjunto difuso y N es una negación.ESCUELA POLITÉCNICA NACIONAL SISTEMAS DIGITALES Sea la función .1 Si C es un conjunto usual y N es una negación cualquiera.1 Si C es un conjunto usual y N es una negación cualquiera. (b) Negación de la falsedad. Figure 9: (a) Negación de la verdad. Observación 2. Por ejemplo para el conjunto de contribuyentes mayores definido por la ecuación (1) se tiene Por ejemplo para el conjunto de contribuyentes mayores definido por la ecuación (1) se tiene Si A es un conjunto difuso y N es una negación. Ávila P.134 - . entonces la composición es el complemento de A bajo el operador N. Sergio E. Su gráfica se ve en la figura 9 (a). Observación 2. el complemento de C bajo N coincide con el complemento de C en el sentido usual. entonces la composición es el complemento de A bajo el operador N. Su gráfica se ve en la figura 9 (b). .

una negación-d satisface el principio de la doble negación por su propia definición. Para todo : N1(N1(x))=x. no-decreciente. reforzaremos la noción de negación. La negación N1 definida anteriormente. El hecho de que cualquier función de pertenencia del sistema estuviese mal especificada. todo el sistema completo. haría fallar. que es la capacidad de adelantarse en el tiempo a los acontecimientos. para cualquier conjunto difuso A: .135 - . Ávila P. 3. Sergio E. estabilizando siempre el entorno físico que controla. tal que f(0)=0.1] en sí mismo. Las extensiones de la negación no necesariamente poseen todas las propiedades de la negación usual. del intervalo [0. Así pues. Una negación-d es una función M. Observación 2. Como principal inconveniente cabe destacar la dificultad de elegir una correcta función de pertenencia para los conjuntos difusos. Un operador de negación es pues una función N que a cada Ejemplos. para todo : Para todo conjunto difuso A. En los conjuntos usuales. un punto está en el complemento de un conjunto si y sólo si no está en el conjunto. para todo : Para todo conjunto difuso A. Puesto que con la definición que hemos introducido para las negaciones. tenemos que la operación complemento ``voltea'' los valores de pertenencia: A los puntos donde se tuviese un valor de pertenencia 1 el complemento les asignará el valor 0 y viceversa. Veamos cómo extender a la operación de ``complemento''. algunas dejan de cumplir el principio de la doble negación. Del mismo ejemplo puede observarse otra de las principales ventajas de estos sistemas. Para p=0. Es decir. Cada una de estas negaciones introduce un criterio propio para decidir cuándo un contribuyente NO es mayor.2 El principio de la ``doble negación'' sólo vale para el índice p=1. Es decir: 1. no-creciente tal que M(0)=1 y para cada x: M(M(x))=x. 2. Tenemos que M es contínua. Si vemos al conjunto como su propia función característica. Sea una función contínua y (estrictamente) creciente. .ESCUELA POLITÉCNICA NACIONAL SISTEMAS DIGITALES donde i(x) es el impuesto anual pagado por x en unidades monetarias. muy probablemente. ya que en ocasiones no es sencillo especificar el efecto de los cuantificadores de nuestro lenguaje en dicha función. Las siguientes son negaciones-d: p=1.Para . Sea . Generadas.

ESCUELA POLITÉCNICA NACIONAL SISTEMAS DIGITALES y para todo : f(Mf(x))=f(1)-f(x). (1). La función f se dice ser generadora de la negación-d Mf. Mf es pues una negación-d. Figure: (a) Función . Por tanto. y por consiguiente Mf(Mf(x))=f-1(f(1)-(f(1)-f(x))) =f-1(f(x)) =x. (b) Correspondiente negación Mg. Ávila P.136 - . . Por ejemplo. (b) Correspondiente negación Mf. Sergio E. y su gráfica se muestra en la figura 12 (a). cuya gráfica se muestra en la figura 10 (a). Para cada elección de una función f con las propiedades enlistadas. obtenemos una negación-d en particular. Figure: (a) Función . Consideremos ahora la función g ``simétrica'' de la anterior f (el exponente lo cambiamos por el exponente 2): Para g tal que . cuya gráfica se muestra en la figura 10 (b). Para la función f tal que . consideremos el conjunto de contribuyentes mayores definido por la ec. cuya gráfica se muestra en la figura 11 (a). tenemos que su inversa se expresa como y consecuentemente .

es completo. Por tanto. donde es el complemento de la unión. Ávila P. es completo. donde . de entre ellas a las leyes de De Morgan de manera principal. utilizando propiedades de álgebra booleana.3 Se tiene: 1. donde denota a la operación complemento. es completo. donde es el complemento de la intersección. es completo. 5. y su gráfica se muestra en la figura 12 (b). es completo. Observación 2.137 - . 2. cuya gráfica se muestra en la figura 11 (b).ESCUELA POLITÉCNICA NACIONAL SISTEMAS DIGITALES tenemos que su inversa se expresa como y consecuentemente . . 4. Recordamos que una colección de operadores en conjuntos se dice ser completa si cualquier otro operador conjuntista se expresa en términos de los operadores en esa colección. en términos de se tiene Sergio E. OPERADORES BINARIOS Las operaciones conjuntistas usuales pueden ponerse en función de algunas otras operaciones distinguidas. 1. 3. En efecto.

en términos de se tiene y. que es la capacidad de adelantarse en el tiempo a los acontecimientos. en términos de se tiene y como es completo se tiene lo aseverado. o sea Generalicemos estas propiedades. esto basta para tener lo aseverado. 4. muy probablemente. Un operador es un conjuntor6 si se cumplen las propiedades siguientes: Sergio E. . todo el sistema completo. es decir.ESCUELA POLITÉCNICA NACIONAL SISTEMAS DIGITALES 2. en tanto que su complemento es un anulador.138 - . Como principal inconveniente cabe destacar la dificultad de elegir una correcta función de pertenencia para los conjuntos difusos. esto basta para tener lo aseverado. ya que en ocasiones no es sencillo especificar el efecto de los cuantificadores de nuestro lenguaje en dicha función. Usaremos esto como estrategia para extender las operaciones conjuntistas a los conjuntos difusos: extenderemos las operaciones en un conjunto dado completo de conectivos y luego obtendremos las extensiones de los demás operadores en función de las extensiones que hagamos de los operadores que aparezcan en el conjunto completo. El hecho de que cualquier función de pertenencia del sistema estuviese mal especificada. conmutativa. estabilizando siempre el entorno físico que controla. en términos de se tiene y. haría fallar. Procederemos ahora a introducir operadores que extiendan a los usuales de intersección y unión. 3. por el punto anterior. y además el universo X es una unidad. en términos de se tiene y como es completo se tiene lo aseverado. Basta pues definir un conjunto completo de operadores para describir luego a los otros operadores conjuntistas en términos de los ya definidos. por el punto anterior. monótona en cada uno de sus factores. 5. Del mismo ejemplo puede observarse otra de las principales ventajas de estos sistemas. Ávila P. Observemos que la intersección usual es asociativa.

Entonces es. es una negación entonces. son del tipo llamado ``de densidad''. Si. Veamos algunos ejemplos. un operador conjuntor y. Las que aparecen en el lado derecho. Min-Max. en efecto. se puede definir a los demás en términos de ellos. Procederemos ahora a introducir operadores que extiendan a los usuales de intersección y unión. Ávila P. Observemos que la intersección usual es asociativa. ya que la intersección junto con el complemento forman un conjunto completo de conectivos. de acuerdo con el lema (2. En la figura 13 presentamos las gráficas de estas funciones. es decir.139 - . por otro lado.ESCUELA POLITÉCNICA NACIONAL SISTEMAS DIGITALES Un operador conjuntor determina un operador de intersección de conjuntos difusos. que son gráficas a vista de pájaro. conmutativa. monótona en cada uno de sus factores. Figure 13: Operadores composicionales del tipo Max-Min . Sergio E. donde los menores valores corresponden al color negro.3). . Sea y N(x)=N1(x)=1-x.

respectivamente. sin ser un álgebra booleana. entre los cuáles están llamados negación. Es convencional confundir a la etiqueta lingüística con su propio nombre. Ávila P. En cada uno de los tres conjuntos de conectivos anteriores se define también uno de ``equivalencia lógica'': Con cada clase de conectivos.ESCUELA POLITÉCNICA NACIONAL SISTEMAS DIGITALES ukasiewicz-D. Sea y N(x)=N1(x)=1-x. si X=[0. disyunción.140 - . Para precisar el concepto de fórmula bien formada asignemos primeramente prioridades a los conectivos: tiene prioridad 1 tienen prioridad 2 Sergio E. es decir el valor que toma la etiqueta n en el punto x.1 a los que se identifica como falso y verdadero. respectivamente. Etiquetas lingüísticas Una etiqueta lingüística es un nombre a un conjunto difuso. es una terceta . donde Nombre es el nombre asociado al conjunto difuso A en el universo X.200] es el conjunto de velocidades posibles de automóviles. la etiqueta lingüística Lento puede corresponder al conjunto difuso Si E es un conjunto de etiquetas lingüísticas sobre el universo X entonces la relación difusa . . posee varias de las propiedades características de estas últimas. medidas en kms/hr. y de algunos conectivos. implicación y equivalencia. los conjuntos difusos forman una estructura algebraica que. Entonces es. Sintaxis Recordamos que un cálculo de proposiciones (CProp) se construye a partir de un conjunto finito de variables proposicionales . en efecto. Por ejemplo. de los valores constantes 0. conjunción. Veremos más adelante que una estructura algebraica típica conformada por los conjuntos difusos es la de un ``retículo residual''. Las formas proposicionales son las así llamadas fórmulas bien formadas. un operador conjuntor y. Es decir. . se dice ser el significado de E en X.

la convención es usual: ``Menores valores numéricos corresponden a prioridades mayores y. 2. B o C pudieron haber actuado y al menos uno de ellos es culpable: . 4Nadie más que A. Ávila P.141 - . Posteriormente se atrapa a tres maleantes sospechosos A. Si A fuese culpable y B inocente. entonces C ha de ser culpable: . Table 10: Definición de formas proposicionales. En el recuadro (10) presentamos estas definiciones precisas. Hay que decidir las culpabilidades de ellos. Las pesquisas muestran evidencias de que A siempre se acompaña de B o de C para sus fechorías. Sergio E. y al mismo tiempo se define la noción de conectivo principal de FP's. se aplican primero los conectivos más a la izquierda''. Consideremos tres variables proposicionales para codificar correspondientes hipótesis: Los ``hechos'' siguientes pueden representarse por correspondientes formas proposicionales: 1.ESCUELA POLITÉCNICA NACIONAL SISTEMAS DIGITALES tienen prioridad 2 En el manejo de prioridades. A nunca actuaría con C: . B y C. C nunca actuaría solo: . } El conjunto FP de formas proposicionales se define inductivamente. Los asaltantes transportaron su botín en una camioneta. Por ejemplo. con prioridades iguales. consideremos el acertijo siguiente: Ha ocurrido un cuantioso robo en una tienda. B o C y al menos uno de ellos es culpable. . pero también A no se acompañaría de C en un atraco. 3. C por su lado nunca actuaría solo. El atraco sólo pudo haber sido cometido por A.

B y C? Y si acaso se tuviese una evidencia de que cada uno de esos hechos es verdadero con una cierta probabilidad. Y algunos inconvenientes: Sergio E. poco definidos. Una alternativa práctica es aceptar esa información textual de los expertos e integrarla en el proceso de identificación del modelo. En aquellos casos en que las medidas de ciertas variables no son fiables. pero también puede estar abierta a medias. Empezaron con el artículo pionero de Zadeh. Estos factores no se pueden modelar mediante leyes físicas. En lo que sigue. ya que siempre hay una serie de incertidumbres que afectan al sistema. Se implementan fácilmente los conocimientos del operador humano. . Permite contemplar situaciones excepcionales del estado del proceso. Gran parte del auge de la lógica difusa. En sistemas complejos no lineales. La lógica difusa se encargará de traducir las representaciones verbales a una representación matemática que pueda ser ajustada empleando los datos de entrada y salida del sistema. La lógica difusa tiene una justificación en sistemas que posean alguna de las siguientes características: Procesos con incertidumbre. como se dijo en la introducción. en el cual se proponía una nueva forma de caracterizar las incertidumbres no probabilísticas mediante lo que él denominó conjuntos difusos. un sistema puede estar en estados intermedios. Una forma conveniente de realizar esto es empleando conceptos de lógica difusa. Los modelos difusos tradicionales asumen que la estructura del modelo viene dada como una función matemática parametrizada la cual esta basada por lo menos parcialmente en principios físicos. Sin embargo cuando se trabaja con procesos reales nos encontramos que en muchos de ellos la información la proporcionan una serie de expertos en ese proceso los cuales no razonan en términos matemáticos sino que describen el sistema verbalmente a través de una serie de sentencias más o menos imprecisas. y esto hace posible seguir aunque sea parcialmente otro principio básico de identificación que consiste en estimar solamente lo que es desconocido. Procesos en los que es difícil estimar los parámetros que definen el proceso. Los modelos basados en conceptos difusos tienen una historia bastante reciente. Ávila P. Las ventajas de este acercamiento son: Ofrece una forma estructurada y de alto nivel de incorporar el conocimiento lingüístico a priori en los modelos. En sistemas en los que es difícil realizar la medición de las variables que se quieren controlar. trataremos el acertijo con las respectivas propagaciones de valores que introduzcamos. El conocimiento del experto sirve para aumentar las capacidades para extrapolar empleando el modelo y para recoger fenómenos que pueden no estar relevados en los datos. Un modelo difuso tiene además un conjunto de ventajas: No es necesario un conocimiento matemático del sistema. B y C sean culpables? El acertijo se formaliza naturalmente en un cálculo proposicional con tres variables. ¿qué podría decirse acerca de las culpabilidades de A. pero si a través de experimentos. viene del cada vez mayor número de aplicaciones industriales que se han desarrollado con éxito empleando esta técnica. Según esta nueva teoría. Las regiones que no tienen sentido físicamente pueden ser evitadas debido a que no se eligen los parámetros iniciales al azar. ¿qué podría decirse acerca de las probabilidades de que A.ESCUELA POLITÉCNICA NACIONAL SISTEMAS DIGITALES De acuerdo con el acertijo.142 - . Este procedimiento de modelado nos permite limitar la flexibilidad con la que nos ajustamos a un conocimiento previo. ya que son desconocidas. gracias a su forma de representar el conocimiento. es decir una puerta puede estar abierta o cerrada. APLICACIONES Cuando modelamos el mundo real nunca tenemos un conocimiento completo del proceso. Desde entonces ha habido un gran auge en la aplicación de estos conceptos en diferentes disciplinas de la ingeniería y de la ciencia. Se puede consultar al experto para validar el modelo. si los cuatro hechos anteriores fuesen verdaderos. de orden elevado y que varían con el tiempo.

143 - . Los sistemas basados en lógica difusa imitan la forma en que toman decisiones los humanos. existe el lenguaje FSQL. el control de un vehículo.y. La primera vez que se usó de forma importante fue en el metro japonés. Por ejemplo.) Optimización de sistemas de control industriales Sistemas de reconocimiento de escritura Mejora en la eficiencia del uso de combustible en motores Sistemas expertos del conocimiento (simular el comportamiento de un experto humano) Tecnología informática Bases de datos difusas: Almacenar y consultar información imprecisa. para procesos altamente no lineales y cuando se envuelven definiciones y conocimiento no estrictamente definido (impreciso o subjetivo). . Luego existen otras aplicaciones como en el mundo de la imagen y el sonido donde han surgido cámaras difusas o en sistemas de aire acondicionado. como verdadero/falso. o lógica borrosa se utiliza para la resolución de una variedad de problemas. cuando los problemas son lineales o cuando no tienen solución. En este paradigma. las computadoras pueden manipular valores estrictamente duales. principalmente en Japón. se usan modelos matemáticos para representar nociones subjetivas. lavarropas. .. en general. como puede ser el control de un horno en una fabrica de cemento. Para este punto. el control de un proceso de purificación de agua. Una modificación de los parámetros obliga a una revisión de todo el conjunto de reglas para ver si existe algún tipo de inconsistencia o tendencia hacia la inestabilidad. también tiene un especial valor la variable del tiempo. sistemas de aire acondicionado. pueden necesitarse datos anteriores para hacer una evaluación media de la situación en un periodo de tiempo anterior. Ventajas e Inconvenientes Como principal ventaja. procesamiento de señales y reconocimiento de patrones. En cambio. Dentro de las aplicaciones industriales hay muchas centradas en el control. A continuación se citan algunos ejemplos de su aplicación: Sistemas de control de acondicionadores de aire Sistemas de foco automático en cámaras fotográficas Electrodomésticos familiares (Frigoríficos. principalmente los relacionados con control de procesos industriales complejos y sistemas de decisión en general. la conducció n automática de trenes.. como caliente/tibio/frío. lavadoras. También aplicaciones en robótica. electrónica. cabe destacar los excelentes resultados que brinda un sistema de control basado en lógica difusa: ofrece salidas de una forma veloz y precisa. Estos sistemas son generalmente robustos y tolerantes a imprecisiones y ruidos en los datos de entrada. si el aire Sergio E.. con excelentes resultados. Los sistemas de lógica difusa están también muy extendidos en la tecnología cotidiana. con la ventaja de ser mucho más rápidos. ya que los sistemas de control pueden necesitar retroalimentarse en un espacio concreto de tiempo. en sistemas expertos.. por ejemplo en cámaras digitales. para valores concretos que puedan ser manipuladas por los ordenadores. y cada vez se está usando en gran multitud de campos. etc. en problemas de optimización en tareas de información lingüística y toma de decisiones. Ávila P. Las aplicaciones de la lógica difusa son muy diversas. Con la lógica convencional. etc. no es una buena idea usarla cuando algún modelo matemático ya soluciona eficientemente el problema. etc. por ejemplo. en la gran mayoría de los sistemas de control que no dependen de un Sí/No. En la lógica difusa. la lógica difusa. Consiste en la aplicación de la lógica difusa con la intención de imitar el razonamiento humano en la programación de computadoras.La lógica difusa se utiliza cuando la complejidad del proceso en cuestión es muy alta y no existen modelos matemáticos precisos. la resolución la compresión de datos. Lógica difusa en Inteligencia Artificial En Inteligencia artificial. sí/no o ligado/desligado. Esta técnica se ha empleado con bastante éxito en la industria. el control de trafico en un cruce..ESCUELA POLITÉCNICA NACIONAL SISTEMAS DIGITALES Resulta imprescindible la presencia de un experto que suministre la base de conocimiento necesaria. disminuyendo así las transiciones de estados fundamentales en el entorno físico que controle.. bioingeniería.

$50 000 La representación de las funciones de pertenencia se muestran en las ilustraciones 9. 10 y 11. son: Precio de la computadora y Nivel de ingreso: Variables independientes.$1000 Ventas mensuales de computadoras: $10 000 . Ávila P. y el sistema de control aprendería a mantener una temperatura estable sin continuos apagados y encendidos. Sergio E.144 - . Definición de las variables lingüísticas Las variables del ítem 3.$2500 Nivel de ingresos del cliente: $100 .ESCUELA POLITÉCNICA NACIONAL SISTEMAS DIGITALES acondicionado se encendiese al llegar a la temperatura de 30º. y la temperatura actual oscilase entre los 29º- 30º.$50 000 A continuación se muestra la definición de los conjuntos difusos para cada variable: El universo de discurso de cada variable será: Precio de la computadora: $500 .$2500 Nivel de ingresos del cliente: $100 . También está la indecisión de decartarse por los expertos o por la tecnología (principalmente mediante Redes neuronales) para reforzar las reglas heurísticas iniciales de cualquier sistema de control basado en este tipo de lógica. nuestro sistema de aire acondicionado estaría encendiéndose y apagándose continuamente. El universo de discurso de cada variable será: Precio de la computadora: $500 .1. Ventas: Variables dependientes. con el gasto energético que ello conllevaría.$1000 Ventas mensuales de computadoras: $10 000 . . DESARROLLO DE UN SISTEMA DIFUSO BASADO EN REGLAS Definición del problema Se desea diseñar un sistema difuso para estimar las ventas mensuales de computadoras teniendo como datos de entrada el precio de la computadora y el nivel de ingresos del cliente. esos 30º no serían ningún umbral. Si estuviese regulado por lógica difusa.

de deducción y de inferencia. Para los diseños más pequeños o con volúmenes de producción más bajos. Cálculo proposicional difuso En un cálculo proposicional difuso se tiene inicialmente una colección de proposiciones primitivas o atómicas. debido a que el costo fijo (el costo para preparar una línea de producción para que fabrique un ASIC en particular). para describir la funcionalidad de estos dispositivos. Se usan para una función especifica. Este tipo de ASIC frecuentemente es llamado Sistema en un Chip. o Verdadero o algún otro valor entre esos dos valores extremos de verdad. En un lugar intermedio entre los ASIC y los productos de propósito general están los Productos Estándar para Aplicaciones Específicas. las FPGAs pueden tener un costo menor que un diseño equivalente basado en ASIC. Resultan entonces sendos problemas “de deducción” (dado que los valores de las proposiciones atómicas quedan caracterizados. EEPROM y Flash. tales como Verilog o VHDL. en vez de ser concebido para propósitos de uso general. Por ejemplo. No se puede afirmar que ninguno de ellos es el correcto. se ha de caracterizar los de proposiciones compuestas partiendo de ellas) y “de inferencia” (dado que los valores de las proposiciones compuestas han sido observados. dependiendo de las aplicaciones puede que uno de ellos sea el más adecuado. Historia Los conjuntos difusos involucran de manera esencial procedimientos de cálculo numérico o simbólico. Lo que tienen en común todos ellos es que cuando se los restringe a considerar sólo valores de verdad deterministas 0 (Falso) y 1 (Verdadero) entonces coinciden con el cálculo proposicional clásico.000 puertas lógicas a más de 100 millones. es un circuito integrado hecho a la medida para un uso en particular. así como otros tipos de módulos. matriz de puertas programables) son la versión moderna de los prototipos con puertas lógicas de la serie 7400. Ambos problemas. pueden ser resueltos. Cada posible selección de funciones de evaluación de conectivos da origen a un distinto cálculo proposicional difuso. respecto a los valores de las proposiciones atómicas involucradas que debieron dar origen a los valores observados). en un ASIC ha crecido desde 5. los circuitos integrados de la serie 7400 son circuitos lógicos (combinacionales o secuenciales) que se pueden utilizar para una multiplicidad de aplicaciones. Las FPGA (Field Programmable Gate Arrays. y además probarlas. Por otro lado. Los diseñadores de ASIC digitales usan lenguajes descriptores de hardware (HDL). se ha de formular hipótesis. Ávila P. por sus siglas en inglés. o ASSP por sus siglas en inglés. un chip diseñado únicamente para ser usado en un teléfono móvil es un ASIC. . más de un millón de dólares para una tecnología de 90nm o menor. pero dejará de serlo cuando se cambie de aplicaciones. veremos que la lógica difusa es un área de cálculo preciso.ESCUELA POLITÉCNICA NACIONAL SISTEMAS DIGITALES Un Circuito Integrado para Aplicaciones Específicas. y por ende la funcionalidad. analizando los tipos de las funciones matemáticas involucradas en los grados de pertenencia y en los conectivos lógicos. Contienen bloques de lógica programable e interconexiones programables que permiten a un modelo de FPGA ser usada en muchas aplicaciones distintas. una serie de conectivos lógicos y reglas definidas de “buena formación” de proposiciones compuestas a partir de las atómicas. Cada conectivo lógico tiene asociada una función que determina el valor de verdad de la proposición resultante de él en términos de los valores de verdad de las proposiciones que componen a esa proposición resultante. Con los avances en la miniaturización y en las herramientas de diseño. la complejidad máxima. efectiva y eficientemente. ROM. o SoC. Cada proposición puede asumir un valor de verdad que puede ser Falso. Cálculo de predicados difuso Sergio E. bloques de memoria RAM. Los ASIC modernos a menudo incluyen procesadores de 32-bit. Al contrario de una primera idea sugerida por su nombre. es muy alto. especialmente en las tecnologías más densas. o ASIC por sus siglas en inglés.145 - .

a la composición de fórmulas con conectivos lógicos y a las cuantificaciones universales y existenciales de fórmulas. el resto de elementos es el sistema de explotación del modelo. Para los diseños más pequeños o con volúmenes de producción más bajos. pueden ser resueltos. entonces se ha de estimar para los átomos restantes en qué intervalos debieron caer sus correspondientes valores de verdad. un número de argumentos.ocurrir. una interpretación consiste de un universo M. consistente de una colección de constantes. y empleando las reglas almacenadas en la base de conocimiento. Motor de inferencia difuso: Este bloque interpreta los conjuntos difusos proporcionados por el borrosificador. una colección de relaciones y una colección de funciones. se supone dada una signatura. digamos. De esta manera. al igual que en el caso clásico. entonces se ha de estimar en qué intervalo I ha de caer el valor de verdad de Ø. Apréciese que. veremos que la lógica difusa es un área de cálculo preciso. le corresponderá un elemento mten M. pueden ser resueltos. También. Cada relación R y cada función F tiene asociada una aridad. Para completar la noción de interpretación. Estructura de un modelo difuso La figura muestra una configuración de un modelo difuso. más de un millón de dólares para una tecnología de 90nm o menor. y a los conectivos lógicos se les asocia funciones específicas de evaluación. matriz de puertas programables) son la versión moderna de los prototipos con puertas lógicas de la serie 7400. es decir. Las fórmulas se obtienen considerando como tales a las fórmulas atómicas. Las FPGA (Field Programmable Gate Arrays. si se sabe que el valor de verdad v(Ø) cae en un intervalo I. 45 grados en cualquier dirección no pueda . produce unos conjuntos difusos de salida. si se sabe que las fórmulas atómicas que involucra toman valores de verdad en ciertos intervalos. efectiva y eficientemente. para hacerlo más fácil. De inferencia o de “diagnóstico”: Para una fórmula Ø. analizando los tipos de las funciones matemáticas involucradas en los grados de pertenencia y en los conectivos lógicos. veremos que la lógica difusa es un área de cálculo preciso. Al contrario de una primera idea sugerida por su nombre. se pueden plantear los siguientes dos problemas: De deducción o de “pronóstico”: Para una fórmula Ø. de deducción y de inferencia. Ambos problemas. Los conjuntos difusos involucran de manera esencial procedimientos de cálculo numérico o simbólico. a cada símbolo de relación R. de una correspondencia de cada constante c en la signatura con un elemento mcen M y de una correspondencia de símbolos de funciones con funciones en M: Si f es un símbolo de función de aridad n. a cada término t que no involucre variables. Contienen bloques de lógica programable e interconexiones programables que permiten a un modelo de FPGA ser usada en muchas aplicaciones distintas. Ambos problemas. Borrosificador: Este bloque mapea los valores de entrada en conjuntos difusos. es decir. de deducción y de inferencia.por definición . Al contrario de una primera idea sugerida por su nombre. como términos también.146 - . . especialmente en las tecnologías más densas. debido a que el costo fijo (el costo para preparar una línea de producción para que fabrique un ASIC en particular). entonces mfes una función con dominio Mny contradominio M. Tiene cuatro bloques específicos que se detallan a continuación: Dentro de esta estructura el modelo se define mediante las reglas difusas. las FPGAs pueden tener un costo menor que un diseño equivalente basado en ASIC. se le asocia un conjunto difuso mRen el universo Mn. Las fórmulas atómicas se obtienen como composición de símbolos de relaciones con términos. mf: Mn M. Los términosse forman considerando a las constantes y a las variables como términos y a la composición de símbolos de funciones con términos. analizando los tipos de las funciones matemáticas involucradas en los grados de pertenencia y en los conectivos lógicos. suponemos que al principio la pértiga está en una posición cercana a la central para que un ángulo mayor de. digamos que de aridad n. Ávila P. Historia Así pues.ESCUELA POLITÉCNICA NACIONAL SISTEMAS DIGITALES De igual manera a como se procede en el cálculo de predicados clásico. es muy alto. ya sea en un cálculo difuso de proposiciones o en uno de predicados. efectiva y eficientemente. Sergio E. y que para algunos átomos involucrados en Ø sus correspondientes valores de verdad caen en ciertos intervalos.

en vez de ser concebido para propósitos de uso general. Ferranti fabricó tal vez la primera matriz de puertas. o ASIC por sus siglas en inglés. especialmente en las tecnologías más densas. Los ASIC modernos a menudo incluyen procesadores de 32-bit. Por otro lado. Estas definiciones son dadas por el usuario. ASIC Un Circuito Integrado para Aplicaciones Específicas. El conocimiento del experto esta almacenado en forma de reglas condicionales “IF . Las ULAs tenían complejidades de hasta algunos miles de puertas. Las FPGA (Field ProgrammableGateArrays.147 - . más de un millón de dólares para una tecnología de 90nm o menor. Base de conocimiento o base lingüística: Es el bloque central de un modelo difuso. . las FPGAs pueden tener un costo menor que un diseño equivalente basado en ASIC. Se usan para una función especifica. ROM. la complejidad máxima. en un ASIC ha crecido desde 5. Contienen bloques de lógica programable e interconexiones programables que permiten a un modelo de FPGA ser usada en muchas aplicaciones distintas. Se usan para una función específica. con moldes base configurados tanto por las capas metálicas como polisiliconicas.. Algunos moldes base incluían elementos de RAM. es un circuito integrado hecho a la medida para un uso en particular. Por ejemplo. es un circuito integrado hecho a la medida para un uso en particular. Historia Los primeros ASIC utilizaban tecnología de matriz de puertas. matriz de puertas programables) son la versión moderna de los prototipos con puertas lógicas de la serie 7400.ESCUELA POLITÉCNICA NACIONAL SISTEMAS DIGITALES Deborrosificador: Este bloque convierte la salida difusa en una salida en formato estándar. bloques de memoria RAM. debido a que el costo fijo (el costo para preparar una línea de producción para que fabrique un ASIC en particular). En un lugar intermedio entre los ASIC y los productos de propósito general están los Productos Estándar para Aplicaciones Específicas. o ASSP por sus siglas en inglés. Este tipo de ASIC frecuentemente es llamado Sistema en un Chip. los circuitos integrados de la serie 7400 son circuitos lógicos (combinacionales o secuenciales) que se pueden utilizar para una multiplicidad de aplicaciones. Por otro lado.. THEN . Para los diseños más pequeños o con volúmenes de producción más bajos. así como otros tipos de módulos. y por ende la funcionalidad.. Sergio E. o SoC. la ULA (UncommittedLogicArray o Matriz lógica no fija). o ASSP por sus siglas en inglés. los circuitos integrados de la serie 7400 son circuitos lógicos (combinacionales o secuenciales) que se pueden utilizar para una multiplicidad de aplicaciones. El diseño a la medida se realizaba al variar la máscara de interconexión metálica. Ávila P.. A estas reglas se les asocia una representación matemática explícita en función de las definiciones para las variables lingüísticas y las conectivas empleadas. o ASIC por sus siglas en inglés. por sus siglas en inglés. Las versiones posteriores fueron más generalizadas.000 puertas lógicas a más de 100 millones. EEPROM y Flash. Por ejemplo. para describir la funcionalidad de estos dispositivos.”. En un lugar intermedio entre los ASIC y los productos de propósito general están los Productos Estándar para Aplicaciones Específicas. Los diseñadores de ASIC digitales usan lenguajes descriptores de hardware (HDL). Un Circuito Integrado para Aplicaciones Específicas. un chip diseñado únicamente para ser usado en un teléfono móvil es un ASIC. tales como Verilog o VHDL. es muy alto. en vez de ser concebido para propósitos de uso general. Con los avances en la miniaturización y en las herramientas de diseño. alrededor de 1980. un chip diseñado únicamente para ser usado en un teléfono móvil es un ASIC.

llamados Celdas Estándares. y las obleas que contienen estos dispositivos se mantienen en stock antes de la metalización. y el diseño hecho totalmente a la medida. y luego implementaba el diseño utilizando las herramientas provistas por ese fabricante en particular. . 7. en término de los costos fijos y de fabricación de cada unidad. que consiste en una colección de puertas precaracterizadas (tales como NOR de 2 entradas. y un buen desempeño eléctrico. Este tipo de diseño contempla las siguientes etapas conceptuales. Hacia finales de 1980. Un equipo de ingenieros de diseño comienza con la compresión no formal de las funciones requeridas por el ASIC a diseñar. inversores. no había un enlace efectivo entre éstas y los procesos productivos de los fabricantes. La herramienta de ruteo toma la ubicación física de las celdas. Una herramienta de síntesis lógica convierte el diseño RTL en un gran conjunto de elementos de bajo nivel. Este proceso es similar a escribir un programa computacional en un lenguaje de alto nivel. En ocasiones se utilizan técnicas avanzadas para optimizar el posicionamiento.148 - . Estos pasos de diseño son también comunes al diseño de un producto estándar. es decir. estuvieron disponibles las herramientas de síntesis lógica. la información de las fotomáscaras en entregada para la fabricación del chip. aunque en la práctica estas etapas se traslapan significativamente. los transistores y otros elementos activos están predefinidos. Una solución a este problema. capacitancias e inductancias. a diferencia de las matrices de puertas. casi siempre producen un dispositivo final que implementa correctamente el diseño original. es llamado la lista de nodos a nivel de puertas. 1. El proceso de diseño físico luego define la interconexión del dispositivo final. Estas herramientas podían compilar descripciones HDL en una lista de nodos al nivel de puertas. y por lo tanto constituyen un riesgo mucho menor que un diseño hecho totalmente a la medida. Este usualmente es llamado el diseño RTL (Register Transfer Level). Las Celdas Estándares producen una densidad de diseño con un costo comparativamente más bajo. con las que el fabricante producirá los circuitos integrados. 4. las resistencias y capacitancias parásitas y del consumo de energía. Se puede hacer una estimación bastante precisa de los retardos finales. Este tipo de diseño se ubica entre diseño de Matriz de Puertas. Estas pruebas demostrarán que el dispositivo funcionará en los rangos de temperatura y voltaje extremos. cada una perpendicular a la que la precede. 3. Estos elementos son tomados desde una biblioteca. usualmente derivada del análisis de requerimientos. implementado a nivel de software puede simular el desempeño de los ASIC a velocidades equivalentes de mil millones de instrucciones por segundo. La diferencia significativa es que el diseño con Celdas Estándares utiliza la biblioteca de celdas del fabricante. y pueden también integrar núcleos IP y SRAM en una forma efectiva. un diseñador elegía a un fabricante de ASIC. Estos pasos. NAND de 2 entradas. etc.ESCUELA POLITÉCNICA NACIONAL SISTEMAS DIGITALES Diseño basado en Celdas Estándares (Standard Cell) A mediados de 1980.). Ávila P. Cada fabricante de ASIC creaba bloques funcionales con características eléctricas conocidas. es decir. 6. A pesar de que existían herramientas de diseño provista por terceros. 2. Esta ubicación está sujeta a un conjunto de restricciones. El equipo de diseño construye una descripción del ASIC para alcanzar estos objetivos. tales como los tiempos de propagación. Para la mayoría de de los fabricantes de ASIC. tales como el DesignCompiler. que ha sido utilizada en potencialmente cientos de otros diseños. Las celdas estándares usualmente son específicas para el fabricante del ASIC. Esto dio paso a un estilo de diseño llamado Diseño basado en Celdas Estándares. ya Sergio E. 5. Diseño basado en Matriz de Puertas (GateArray) El diseño basado en Matriz de Puertas es un método de manufactura en donde las capas difundidas. Cuando estas pruebas finalizan. y utiliza el listado de nodos para crear las conexiones eléctricas entre ellas. desconectadas. utilizando un HDL. fue la implementación de Celdas Estándares. llevados a cabo con el nivel de habilidad común en la industria. Un sistema virtual. Estas estimaciones son usadas en la ronda final de pruebas. La lista de nodos es luego procesada por una herramienta de posicionamiento. El diseño basado en Celdas Estándares es el uso de estos bloques funcionales para alcanzar densidades de puertas muy altas. La validez del diseño es verificada a través de una simulación. El conjunto resultante de Celdas Estándares. esto consiste de dos a cinco capas metálicas. que además permitió aumentar la densidad de los ASIC. a menos que se introduzcan fallas al nivel físico de fabricación. Los costos fijos son mucho más bajos. junto a la interconexión de ellas. que podían ser representadas en las herramientas desarrolladas por terceros. La salidad de esta etapa es un conjunto de fotomáscaras. la cual ubica las Celdad Estándares en una región que representa el ASIC final.

Hoy. comparado con las soluciones basadas en FPGAs disponibles en el mercado. el diseño hecho totalmente a la medida define la totalidad de las capas litográficas del dispositivo. el usuario a menudo debe diseñar la alimentación. como son los microprocesadores que forman un SoC. y los ciclos productivos son mucho más cortos. probablemente se utilice el término "Semi a la medida". periféricos. lo que explica que haya variaciones en su definición. y una pre-caracterización de lo que está en el silicio (lo que reduce el tiempo de diseño). y desempeño comparable. junto con los sistemas CAD modernos. También es importante para el diseñador que con este método se pueden conseguir retardos de propagación mínimos. pueden ofrecer ventajas considerables en términos de costos y desempeño junto a un bajo riesgo. como un procesador. Lo que hace a los ASIC estructurados diferente de las matrices de puertas es que en estas últimas. gracias a la existencia de capas metálicas predefinidas (que reducen el tiempo de fabricación). una unidad DSP. memorias y bloques lógicos reconfigurables. los que requieren producir un conjunto completo de máscaras para cada diseño. Las herramientas de layout automático son rápidas y fáciles de usar. En la actualidad. En los ASIC estructurados. y el costo fijo asociado es mínimo. mientras que si se es un diseñador a nivel lógico. El término "Matriz de puertas" (GateArray) es casi sinónimo del término "Semi a la medida" (Semi-Custom). Las desventajas del diseño totalmente a la medida son un costo y tiempo de desarrollo mayores. la premisa básica es que tanto el ciclo de manufactura como el ciclo de diseño se reducen comparado con los ASIC basados en celdas. Este cambio se debe principalmente a que los ASIC son capaces de integrar estos grandes bloques de sistemas funcionales. éstas están predefinidas Sergio E. en efecto. A menudo las dificultades que aparecen al rutear las interconexiones. El diseño se realiza al crear capas de metal hechas a la medida. nunca da una utilización del 100%. las cuales pueden ser programadas por el usuario. si se es un ingeniero de proceso. Sin embargo. Los ASIC basados en MAtriz de puertas requieren siempre de un compromiso. Diseño estructurado (StructuredArray) El diseño estructurado de ASIC es una expresión ambigua. y son reemplazados por dispositivos programables. Esto corresponde. los diseños formados solamente por puertas lógicas raramente son implementados con Matriz de puertas. la metalización predefinida sirve principalmente para reducir el costo del conjunto de máscaras. ya que la metalización es un proceso comparativamente más rápido. Por ejemplo. La tecnología de "ASIC estructurados" es vista como el puente que une la barrera entre las FPGA y los diseños ASIC de celdas estándares. El término utilizado depende de quién lo utilice. requieren migrar a un dispositivo con un arreglo más grande. Los beneficios de este método usualmente incluye un área reducida (y consecuentemente costos por unidad menores). el reloj y las estructuras de prueba. mejoras en el desempeño y también la habilidad de integrar componentes analógicos y otros componentes pre-diseñados. con el consecuente aumento en el costo del dispositivo. los "ASIC estructurados" tienen costos fijos menores que los chip basados en celdas estándares o hechos totalmente a la medida. y los "sistemas en un chip" (SoC) requieren más que sólo bloques lógicos.149 - . Ávila P. Una definición establece que en un diseño ASIC estructurado. Debido a que sólo un número pequeño de las capas del chip deben ser producidas a la medida.ESCUELA POLITÉCNICA NACIONAL SISTEMAS DIGITALES que las máscaras litográficas se requieren sólo para las capas metálicas. que consisten en un gran núcleo IP (IntellectualProperty). Éste es un término relativamente nuevo en la industria. costos fijos mayores. para diseños puramente digitales. . las máscaras de las capas lógicas están predefinidas por el vendedor del ASIC (en algunos caso por un tercero). Diseño hecho totalmente a la medida (Full CustomCircuits) Por otro lado. Este se utiliza tanto para el diseño de ASIC como para el diseño de productos estándares. las Matrices de puertas están evolucionando en ASIC estructurados. y ofrecen la posibilidad de optimizar manualmente cualquier aspecto que limite el desempeño del diseño. se utiliza "Matriz de puertas" (GateArray). Sin embargo. y también se utiliza para reducir el ciclo de desarrollo. a la misma definición de una Matriz de Puertas. como las FPGA. mayor complejidad del software CAD y la necesidad de habilidades mucho mayores por parte del equipo de diseño. Estos problemas frecuentemente son resultado del software utilizado para desarrollar las interconexiones. un costo por unidad marginalmente superior. con diferentes significados dependiendo del contexto. en un diseño basado en celdas o en matriz de puertas. las librerías de "celdas estándares". ya que al determinar la correspondencia de un diseño determinado con las obleas que el fabricante tiene es stock. que crean conexiones entre los elementos predefinidos de las capas inferiores. las capas metálicas predefinidas sirven para acelerar el proceso de fabricación.

FPGA (Field ProgrammableGateArray). las herramientas utilizadas para los ASIC estructurados pueden reducir sustancialmente y facilitar el diseño. USB o interfaces telefónicas. El servicio incluye el suministro de una base de datos de diseños físicos. ethernet. comúnmente con poca responsabilidad por parte del fabricante. es decir. Otros métodos para diseñar circuitos son la captura de esquemas (con herramientas CAD) y los diagramas de bloques. Aunque puede ser usado de forma general para describir cualquier circuito se usa principalmente para programar PLD (Programable LogicDevice .Dispositivo Lógico Programable). Usualmente su diseño físico estará predefinido. o segmentos de la industria. Por ejemplo. uno puede comprar CPUs.1. ya que existen diferencias significativas entre las ofertas de los distintos vendedores. Otros lenguajes para el mismo propósito son Verilog y ABEL. comparado con el diseño de IP en ASIC basadas es celdas. el diseñador puede nuevamente ahorrar tanto tiempo como dinero. La ley de Moore y el creciente coste de inversión de las tecnologías juega a su favor y hace que su cuota de mercado crezca consistentemente cada año. Asimismo. diseños comprados a terceros como subcomponentes de un ASIC más grande. Otro aspecto importante sobre los ASIC estructurados es que permiten el uso de IP que son comunes a ciertas aplicaciones. ASIC y similares. De hecho. se fabrican a intervalos regulares. Los macros suaves a menudo no dependen del proceso. como un método para obtener prototipos de bajo costo. lo que también permite acelerar la manufactura. Librería de celdas. A menudo llamados ""shuttles"". por lo cual se denominan "macros duros". El fabricante es a menudo llamado como "fundición de silicio". comúnmente son suministrados por el fabricante del dispositivo como parte de sus servicios. donde VHSIC es el acrónimo de Very High SpeedIntegratedCircuit y HDL es a su vez el acrónimo de Hardware DescriptionLanguage. en el 2008 son asumibles diseños en 65nm con más de 10 millones de puertas. debido a la poca participación que tienen durante el proceso. macros Las bibliotecas de celdas de primitivos lógicos. Aunque su densidad siempre será menor consiguen integrar un gran número de puertas. ya que la herramienta no tienen que realizar todas las funciones necesarias para los ASIC basados en celdas. El mejor consejo es leer cuidadosamente como el vendedor define un ASIC estructurado en particular.ESCUELA POLITÉCNICA NACIONAL SISTEMAS DIGITALES en la mayoría de los ASIC estructurados. Los macros duros están limitados a un proceso. decenas de megabits de RAM e incluso varios procesadores. estos MPW. FPGAs Las FPGA (Field ProgrammableGateArray. se entregan bajo un acuerdo de confidencialidad y serán considerados como propiedad intelectual del fabricante. El contrato incluye el ensamblaje de un puñado de dispositivos. MPW por sus siglas en inglés. pero éstos no son prácticos en diseños complejos. VHDL VHDL es el acrónimo que representa la combinación de VHSIC y HDL. Sergio E. . 1. Es un lenguaje definido por el IEEE (Institute of Electrical and ElectronicsEngineers) (ANSI/IEEE 1076- 1993) usado por ingenieros para describir circuitos digitales. Pero lo que la mayoría de los ingenieros entiende como "propiedad intelectual" son los núcleos IP. que contienen varios diseños.150 - . pueden ser fabricados en un amplio rango de procesos de manufactura y por diferentes empresas. Al construir la IP directamente en la arquitectura. Ávila P. En algunos casos. lo que se traduce en un ahorro de tiempo y costos. el amplio rango de funciones disponibles en la actualidad es un factor significativo en el aumento de la electrónica en los años 1990 y 2000. como crear propiedad intelectual toma mucho tiempo y dinero. Aunque no tienen un costo adicional. Actualmente muchas organizaciones venden estas IP prediseñadas. su reutilización y desarrollos posteriores. matriz de puertas programables) se asemejan a las matrizes de puertas pero son programables por el usuario en lugar de fabricadas a medida para cada aplicación. diseño basado en IP. esto las hace suficientes para la mayoría de aplicaciones. en vez de ser diseñados. o como un diseño totalmente ruteado que puede ser impreso directamente en la máscara del ASIC. reduce drásticamente los ciclos de los productos y mejora su calidad. y las organizaciones más grandes pueden tener un departamento completo para producir estas IP para el resto de la organización. los vendedores de ASIC estructurados requieren de herramientas hechas a la medida para usar sus dispositivos. Ver el artículo dedicado a las FPGAs Obleas multiproyecto Algunos fabricantes ofrecen obleas multiproyecto. y es necesario esfuerzos adicionales para migrarlos a otros procesos o empresas. Pueden suministrarse como una descripción HDL (a menudo denominadas "macros blandos").

Durante la síntesis se tiene en cuenta la estructura interna del dispositivo. El sintetizador optimiza las expresiones lógicas con objeto de que ocupen menor área. Simulación post-síntesis. Entrada de diseños. bancos de pruebas etc. Estas sentencias secuenciales se encuentran dentro de los llamados procesos en VHDL. La metodología top-down consiste en que un diseño complejo se divide en diseños más sencillos que se puedan diseñar (o describir) más fácilmente. una de las causas puede ser por los retardos internos del chip. un diseño usa generalmente ambas metodologías. Estructural: se describe el circuito con instancias de componentes. En este paso se adapta el diseño anterior (que sabemos que funciona) a un hardware en concreto. La metodología botton-up consiste en construir un diseño complejo a partir de módulos. La modularidad es uno de los conceptos principales de todo diseño. Con esta simulación se puede comprobar. En VHDL también existen formas metódicas para el diseño de máquinas de estados. Anotación final. ya sea una FPGA o un ASIC. al transformar el código HDL en bloques lógicos conectados entre sí. o con puertos del circuito de jerarquía superior. más simples. Estos retardos son anotados en un fichero SDF (Standard DelayFormat) que asocia a cada bloque o interconexión un retardo mínimo/típico/máximo. y se definen restricciones. El proceso de ubicación consiste en situar los bloques digitales obtenidos en la síntesis de forma óptima. Los procesos son ejecutados en paralelo entre sí. Una vez ha sido completado el proceso de ubicación y enrutamiento. comprobaremos que lo escrito en el punto anterior realmente funciona como queremos. por lo que hay expresiones que no pueden ser transformadas a circuitos digitales. o bien realiza simplificaciones del circuito al optimizarlo.ESCUELA POLITÉCNICA NACIONAL SISTEMAS DIGITALES Formas de describir un circuito Dentro del VHDL hay varias formas con las que podemos diseñar el mismo circuito y es tarea del diseñador elegir la más apropiada.151 - . Ávila P. Hay sentencias del lenguaje que no son sintetizables. los sintetizadores producen resultados de síntesis incorrectos. se extraen los retardos de los bloques y sus interconexiones. a veces. El hecho de que no todas las expresiones en VHDL sean sintetizables es que el VHDL es un lenguaje genérico para modelado de sistemas (no sólo para diseño de circuitos digitales). como por ejemplo divisiones o exponenciaciones con números no constantes. Secuencia de diseño El flujo de diseño de un sistema podría ser: División del diseño principal en módulos separados. de forma que aquellos bloques que se encuentran muy interconectados entre sí se sitúen próximamente. ya diseñados. Funcional: Describimos la forma en que se comporta el circuito. Ubicación y enrutamiento. como la asignación de pines. A pesar de la simulación anterior puede que el diseño no funcione cuando se programa. Simulación temporal. filtros digitales. Este paso es necesario ya que. Simulación funcional. . Síntesis. Mixta: combinación de todas o algunas de las anteriores. Sergio E. intentando minimizar retardos de propagación para maximizar la frecuencia máxima de funcionamiento del dispositivo. al conectar los puertos de estas instancias con las señales internas del circuito. si no lo hace tendremos que modificarlo. El proceso de enrutamiento consiste en interconectar adecuadamente los bloques entre sí. Normalmente se diferencia entre dos metodologías de diseño: top-down y botton-up. y si hay errores se tiene que volver a uno de los anteriores pasos. Esta es la forma que más se parece a los lenguajes de software ya que la descripción es secuencial. pueden usarse diversos métodos tal como VHDL como se vió anteriormente. En este tipo de simulación se comprueba que el sintetizador ha realizado correctamente la síntesis del circuito. con objeto de poder realizar una simulación temporal (también llamada simulación post-layout). En este tipo de simulación se comprueba que el código VHDL o Verilog (u otro tipo de lenguaje HDL) ejecuta correctamente lo que se pretende. o bien son eliminadas las expresiones lógicas que no son usadas por el circuito. y en paralelo con asignaciones concurrentes de señales y con las instancias a otros componentes. Estas instancias forman un diseño de jerarquía superior. En la práctica. es decir. Flujo de datos: describe asignaciones concurrentes (en paralelo) de señales.

En la figura siguiente se muestra la estructura de un modelo en VHDL. Se implementa el diseño en el dispositivo final y se comprueba el resultado. Para el caso de ASIC se dibujarían las compuertas y se definiría como conectarlas. dejando los detalles para pasos posteriores. El primero es la síntesis que convierte la descripción en VHDL en un conjunto de componentes que pueden ser realizados en la tecnología seleccionada. pero hay tres pasos básicos. Como el VHDL es un lenguaje basado en texto. A la pareja entidad . Estructura de programa VHDL fue diseñado en base a los principios de la programación estructurada. Ávila P. El propósito de la simulación es verificar que el circuito trabaja como se desea.152 - . La entidad (ENTITY) en VHDL es simplemente la declaración de las entradas y salidas de un modulo mientras que la arquitectura (ARCHITECTURE) es la descripción detallada de la estructura interna del modulo o de su comportamiento. La simulación es un paso dentro del proceso de verificación. por ejemplo a continuación se muestra un programa muy simple en VHDL de una compuerta de 2 entradas. Después que se ha escrito algún código se hace necesario compilarlo. la arquitectura de la entidad de más nivel (top level) puede usar otras entidades dejando invisible los detalles de la arquitectura de la identidad de menos nivel. se puede utilizar cualquier editor para esta tarea. Muchos diseñadores conciben la Entity como una funda de la arquitectura dejando invisible los detalles de lo que hay dentro (architecture). . Para PLD esto significa que acopla las ecuaciones obtenidas con los elementos AND – OR que dispone el circuito. para sus interfaces y sus detalles internos. SINTAXIS PARA LA DECLARACION DE LA ENTIDAD VHDL Sergio E. PROCEDIMIENTO DE DISEÑO El primer paso del diseño consiste en la construcción del diagrama en bloque del sistema. Mientras que la entidad A utiliza a todas las demás. La idea es definir la interfaz de un modulo de hardware mientras deja invisible sus detalles internos. Crea toda la información necesaria para la simulación. En diseños complejos como en software los programas son generalmente jerárquicos y VHDL ofrece un buen marco de trabajo para definir los módulos que integran el sistema y sus interfaces. En proyectos complejos se hace necesario invertir un gran tiempo en generar pruebas que permitan evaluar el circuito en un amplio rango de operaciones de trabajo. el cual le permite establecer los estímulos a cada modulo y observar su respuesta. es decir es más que comparar entradas y salidas. aunque el entorno de los programas de VHDL incluye su propio editor de texto. como el máximo número de niveles lógicos o la capacidad de salida que se requiere. Su verificación en el tiempo. El compilador de VHDL analiza este código y determina los errores de sintaxis y chequea la compatibilidad entre módulos.ESCUELA POLITÉCNICA NACIONAL SISTEMAS DIGITALES Programación en el dispositivo. E y F no utilizan a otras entidades. En él último paso se realiza la verificación temporal ya que a esta altura es que se pueden calcular los elementos parásitos como las capacidades de las conexiones. La naturaleza y herramientas en esta fase dependen de la tecnología. En un fichero texto VHDL la entidad y la arquitectura se escriben separadas. En la siguiente figura se ilustra el concepto anterior. en donde hay que repetir entonces una gran cantidad de pasos del diseño. Como en cualquier otro proceso creativo puede ser que ocasionalmente se avance dos pasos hacia delante y uno hacia atrás (o peor). Esto forma la base de un sistema de diseño jerárquico. Hay dos dimensiones a verificar: Su comportamiento funcional en donde se estudia su comportamiento lógico independiente de consideraciones de tiempo como las demoras en las compuertas. Los comentarios se escriben con 2 guiones (--) y termina al final de la línea. El diseñador puede ayudar a la herramienta de síntesis especificando requerimientos a la tecnología empleada. en donde se incluye las demoras de las compuertas y otras consideraciones de tiempo como los tiempos de establecimiento (set-up time) y los tiempos de mantenimiento (hold time).arquitectura se le llama modelo. En ASIC genera una lista de compuertas y un netlist que especifica como estas compuertas son interconectadas. En el siguiente paso de ajuste (fiting) los componentes se ajustan a la capacidad del dispositivo que se utiliza. El VHDL da la posibilidad de crear bancos de prueba que automáticamente aplica entradas y compara las salidas con las respuestas deseadas. El segundo paso es la elaboración del código en VHDL para cada modulo. Después de la verificación sé está listo para entrar en la fase final del diseño. XX En la figura las entidades B. Encontrar errores en este paso del diseño es mejor que al final. El próximo paso es la simulación. Por ejemplo con PLD se generan las ecuaciones en suma de productos. Como en otros programas VHDL ignora los espacios y saltos de líneas.

ALL. el ejemplo que sigue las utilizaremos en mayúsculas y negritas para identificarlas. este especifica el conjunto de valores que el objeto puede tomar. la relacionada con el cuerpo del paquete puede o no existir y en el caso de existir las declaraciones y definiciones contenidos en la misma son locales. Un paquete muy utilizado es el paquete estándar IEEE_STD_LOGIC_1164. ellas son usadas en funciones. Todas las señales. de ésta forma dicha biblioteca se hace visible para el diseño. La sintaxis para la definición de un paquete es la siguiente: Esta última parte que aparece entre los dos END. por eso es muy común que en la primera línea de un diseño en VHDL aparezca escrito "Library IEEE". Esto depende del tipo de diseño que se esté realizando. Sergio E. pues contribuye entre otras cosas a la claridad del diseño. ENDnombre_entidad. Nombre_entidad es el nombre de su entidad. permite utilizar todas las definiciones y objetos que contiene dicho paquete. Declaraciones comunes a varias entidades pueden ser puestas en un “paquete” separado utilizado por todas las entidades. Un ejemplo de biblioteca general es la llamada Library IEEE. variables y constantes en VHDL tienen asociadas un tipo. Además del estándar. Ávila P. ENTITYNombre_entidadIS PORT( Nombre de señal: modo tipo de señal. mientras que las declaraciones y definiciones contenidas en la primera parte del paquete son visibles para todos los diseños que los utilicen. Por ejemplo USE IEEE_STD_LOGIC_1164.ESCUELA POLITÉCNICA NACIONAL SISTEMAS DIGITALES define muchos caracteres especiales llamados “palabras reservadas”. procedimientos y procesos. Además de esta biblioteca particular existen otras bibliotecas de tipo general que contienen un conjunto de definiciones que pueden utilizarse en cualquier diseño. En el ejemplo anterior no se puso declaración de variables. No obstante la declaración de señales se utiliza mucho. Aunque las palabras reservadas no son sensibles a las mayúsculas o minúsculas. Nombre_arquitectura es el nombre dado por el usuario a la arquitectura Nombre_entidad es el nombre de su entidad. Las declaraciones en la arquitectura pueden aparecer en diferente orden. lo que les permite reutilizar diseños realizados anteriormente como parte de nuevos diseños. La terminación ALL. Nombre de señal: modo tipo de señal ). que contiene definiciones estándar para VHDL. Paquetes En los paquetes se guardan definiciones de tipos y objetos que pueden ser utilizados en los diferentes diseños que invoquen su utilización. algunas o ninguna. existen otros paquetes de utilización general y también los diseñadores que trabajan con VHDL pueden definir sus propios paquetes. Al comienzo de cada diseño el compilador crea automáticamente una biblioteca llamada WORK con este objetivo. Bibliotecas Una biblioteca en VHDL es un lugar en donde se guarda la información relacionada con un diseño determinado. and etc. También hay un conjunto de operadores tales como add. Para utilizar una biblioteca general es necesario escribir su nombre al inicio del programa. Nombre_arquitectura es el nombre dado por el usuario a la arquitectura. asociados con un tipo dado. Sintaxis para la declaración de una componente en VHDLLas declaraciones y definiciones que preceden al BEGIN.ALL. Sintaxis para la definición de paquetes. La utilización de un paquete en un diseño se realiza invocando su empleo mediante la cláusula USE y el nombre del paquete. visibles solo dentro del paquete. Las señales externas de la arquitectura son las declaradas en el port de la entidad.153 - . . pero lo más usual es comenzar por la declaración de las señales. pueden estar presentes todas. no obstante una arquitectura puede contener señales y otras declaraciones que solo existen localmente en esa arquitectura. Signal signal-name : signal-type Variables en VHDL son similares a las señales excepto que ellas no tienen significado físico en el circuito.

Multiplexor Este ejemplo simula un multiplexor de dos entradas. la arquitectura. END TPKG. ARCHITECTURE T OF T IS BEGIN T <= ‘1’ WHEN a = ‘0’ AND b = ‘1’ AND c = ‘1’ ELSE ‘1’ WHEN a = ’1’ AND b = ‘0’ AND c = ‘0’ ELSE ‘0’. funciones. . Otros elementos del lenguaje son las librerías.0 0 1 0 0 0 1 1 1 1 0 0 1 1 1 0 0 ENTITY T IS PORT(a.Std_Logic_1164 define la extensión de los operadores lógicos para los tipos std_logic y Std_logic_Vector.c:INBIT.154 - . paquetes. En la siguiente figura se muestra un esquema que ilustra los diferentes niveles jerárquicos. Sin embargo la extensión de los operadores de relación y aritméticos para los tipos std_logic y std_logic_vector no están definidos en el paquete standard sino en otro paquete llamado Work_Std_arith. Ahora lo empaquetamos para poder utilizarlo en otro diseño: PACKAGE TPKG IS COMPONENT T -.b. END T. que es donde se describe el diseño de la forma que se ha visto antes. Diseñe un CLC con tres entradas a. T:OUTBIT). Un ejemplo algo más complejo es el de un multiplexor de cuatro entradas.ESCUELA POLITÉCNICA NACIONAL SISTEMAS DIGITALES Extensión (Overload) de los operadores en VHDL La validez de los operadores dados anteriormente se ha extendido a otros tipos para los que no estaban originalmente definidos. b y c y una salida T. Ejemplos de programas En un diseño en VHDL tenemos dos partes principales: la entidad es como una caja negra en la que se definen entradas y salidas pero no se tiene acceso al interior. Este ejemplo trabaja con vectores para controlar la entrada activa a través de la entrada sel.El nombre del componente tiene que ser igual a la entidad que se empaqueta PORT(a.c:INBIT. Ávila P. y es lo que usa cuanto se reutiliza un diseño dentro de otro. que realice la función mostrada en la tabla siguiente: Entradas Salida a b c T 0 0 . A medida que se sube hacia el nivel de jerarquía máxima la arquitectura se hace más general mientras que en los niveles inferiores el grado de detalles es mayor. Esto constituye una gran ventaja pues facilita el trabajo en equipo y la distribución de tareas entre distintos grupos de diseñadores.. END T.. ENDCOMPONENT. Sergio E. Por ejemplo el paquete estándar IEEE. T:OUTBIT).b. DISEÑO JERARQUICO EN VHDL En VHDL un diseño puede utilizar componentes que son a su vez otros circuitos o sistemas más sencillos previamente diseñados. Es un ejemplo sencillo que muestra como describir un elemento a partir de su funcionamiento.

ESCUELA POLITÉCNICA NACIONAL SISTEMAS DIGITALES Contador Este es un ejemplo de un sistema que contará pulsos de un reloj digital (CLK) hasta llegar a 1000 y entonces volverá a empezar. useIEEE. En esta misma dirección pueden encontrarse además el código fuente de los ejemplos expuestos a lo largo del texto así como una serie de referencias bibliográficas y direcciones de Internet de interés actualizado periódicamente. Después de compilar este programa habría que indicar a la herramienta encargada del diseño las restricciones oportunas para asignar las señales de entrada y salida a las patillas del chip donde se programará o bien usar este diseño dentro de otro. begin process(DU) variable i :INTEGER. SYN(2):= D(4)xor D(5)xor D(6)xor D(7). NOERROR:outSTD_LOGIC ). entity hamcorr is port( DU:inSTD_LOGIC_VECTOR(1 to 7).std_logic_1164. return(SYN). architecture hamcorr of hamcorr is function syndrome (D:STD_LOGIC_VECTOR) returnSTD_LOGIC_VECTORis variable SYN:STD_LOGIC_VECTOR(2 downto 0). begin SYN(0):= D(1)xor D(3)xor D(5)xor D(7). i:=CONV_INTEGER(syndrome(DU)). DC:outSTD_LOGIC_VECTOR( 1 to 7). Ávila P. Sergio E. end syndrome.all. . begin DC<=DU. cuya resolución se encuentra en una dirección de Internet que proporciona soporte al texto.std_logic_unsigned. useIEEE. La inicialización se consigue con un reset (RST). Al final de los capítulos se proponen una serie de ejercicios.all. end hamcorr.155 - . libraryIEEE. Incluye un gran número de ejemplos reales que permitirán al lector comprobar fácilmente su nivel de asimilación del lenguaje e ir poco a poco adquiriendo confianza en su capacidad de diseño. SYN(1):= D(2)xor D(3)xor D(6)xor D(7). if i=0 then NOERROR <='1'. Corrección Hamming Ejemplo del código corrector de errores Hamming implementado en VHDL.

para facilitar el paso a la utilización de los métodos modernos de diseño a estudiantes y técnicos que conocen los conceptos básicos de la electrónica digital y desean iniciarse en el diseño de sistemas digitales complejos. AHDL: Lenguaje de descripción de hardware propietario de Altera. Este libro es el resultado del esfuerzo de los autores. soporta el diseño. Son símbolos de dos estados mutuamente excluyentes. A continuación se centra en el lenguaje VHDL y sus ventajas para el diseño de sistemas digitales con respecto a los demás HDL. es porque al tener este sistema de numeración solo dos dígitos 0 y 1. a partir de su experiencia docente e investigadora a lo largo de los años 90. Por otro lado la definición de constantes en Verilog requiere la longitud de bits con su base. Ávila P. El conocimiento del lenguaje estandarizado VHDL se ha convertido en algo imprescindible para todos los estudiantes. son similares. diseñadores e ingenieros que están de alguna manera ligados al desarrollo de sistemas electrónicos digitales. El mecanismo de formateo en las rutinas de impresión y en los operadores del lenguaje (y su precedencia) son también similares. Con este código obtenemos la corrección de los errores de una palabra mediante Hamming.ESCUELA POLITÉCNICA NACIONAL SISTEMAS DIGITALES else NOERROR <='0'. así como en el vasto campo de la automatización del diseño electrónico. aunque el sistema de numeración de base dos (o cualquier otra base) y la lógica binaria (representada por su álgebra) sean conceptos totalmente distintos. El lenguaje tiene un preprocesador como C. características. Incluye un gran número de ejemplos reales que permitirán al lector comprobar fácilmente su nivel de asimilación del lenguaje e ir poco a poco adquiriendo confianza en su capacidad de diseño. apagado etc. El libro comienza con una introducción a los lenguajes de descripción del hardware (HDL) en general. las cifras 0 y 1 no representan cantidades numéricas. del Inglés Hardware Description Language) usado para modelar sistemas electrónicos. Los circuitos eléctricos digitales. "while". El lenguaje. La adaptación del álgebra de Boole a los computadores digitales fue presentada en 1938 por Claude Shannon de los Laboratorios Bell. . conectado no-conectado. prueba e implementación de circuitos analógicos. es posible establecer una relación biunívoca entre los valores numéricos y los estados lógicos. Verilog no tiene Sergio E. encendido. También son conceptos distintos los dígitos 0/1 del sistema binario y los valores cierto/falso de las variables lógicas binarias.Es un paso intermedio entre los lenguajes de bajo a alto nivelde abstracción ó complejidad. digitales y de señal mixta a diferentes niveles de abstracción.Tiene característica de HDL que le permiten ser eficiente paradesarrollos de baja a media complejidad. Al final de los capítulos se proponen una serie de ejercicios. DC(i)<=not DU(i). cuya resolución se encuentra en una dirección de Internet que proporciona soporte al texto. end hamcorr. con luz (fibra óptica) y otros. tensión no-tensión. se prestan muy bien a tratar este tipo de señales. Esta relación se hace a veces tan íntima que la distinción tiende a desdibujarse.Utiliza el modelo “behavioral” (de comportamiento) para describir la lógica que se desea implementar. algunas veces llamado Verilog HDL. etc. En esta misma dirección pueden encontrarse además el código fuente de los ejemplos expuestos a lo largo del texto así como una serie de referencias bibliográficas y direcciones de Internet de interés actualizado periódicamente.156 - . A diferencia del lenguaje C. Como nos podemos dar cuenta la lógica ha logrado conquistar el extenso mundo de la investigación y lo seguirá conquistando hoy. endprocess. El hecho de que en este tipo de sistemas (de variables lógicas binarias) se utilice un sistema de numeración binario (de base 2). abierto-cerrado. aplicaciones y limitaciones más importantes. Hagamos hincapié que en estos casos. VERILOG Verilog es un lenguaje de descripción de hardware (HDL. sus orígenes. mañana y siempre. Verilog usa Begin/End en lugar de llaves para definir un bloque de código. de tal manera que le resultara familiar a los ingenieros y así fuera rápidamente aceptada.endif. Los diseñadores de Verilog querían un lenguaje con una sintaxis similar a la del lenguaje de programación C. los circuitos con fluidos (hidráulicos y neumáticos). y la mayoría de palabras reservadas de control como "if". porque es fácil construir circuitos que adopten tales valores.

Platón había considerado ya grados de pertenencia. a principios del siglo XX. En el siglo XVIII el filósofo y obispo anglicano Irlandés. que combina los conceptos de la lógica y de los conjuntos de Lukasiewicz mediante la definición de grados de pertenencia. Las sentencias concurrentes y secuenciales definen el comportamiento del módulo. Los conjuntos difusos fueron introducidos por primera vez en 1965. Aún Aristóteles consideraba que existían ciertos grados de veracidad y falsedad. En los años sesentas. pero todas las sentencias concurrentes y todos los bloques begin/end son ejecutadas en paralelo en el diseño. más tarde renombrada Gateway Design Automation. Finalmente el concepto de tiempo. La primera lógica de vaguedades fue desarrollada en 1920 por el filósofo Jan Lukasiewicz. Las sentencias secuenciales son colocadas dentro de un bloque begin/end y ejecutadas en orden secuencial. cuyas ideas se fundamentaron en estos conceptos. apuntadores o funciones recursivas. . más que falso o verdadero. Cadence ahora tiene todos los derechos sobre los simuladores lógicos de Verilog y Verilog-XL hechos por Gateway. para muchos. la temperatura es ahora considerada caliente. La lista de nodos puede entonces ser transformada en una forma describiendo las celdas estándar de un circuito integrado. Gateway Design Automation fue comprada por Cadence Design Systems en 1990. no se encuentra en C.500 años. la creciente disciplina de la lógica difusa provee por sí misma un medio para acoplar estas tareas.157 - . Mientras la motivación original fue ayudar a manejar aspectos imprecisos del mundo real. El filosofo austríaco Ludwing Wittgenstein estudió las formas en las que una palabra puede ser empleada para muchas cosas que tienen algo en común. Por ejemplo la materia podía ser dividida infinitamente y al mismo tiempo no podía ser dividida infinitamente. color. consideraba que solo los matemáticos podían proveer definiciones claras. Esta frase marcó una fuerte necesidad de distinguir la lógica difusa de la teoría de probabilidad. en que la ejecución de las sentencias no es estrictamente lineal. muy importante en un HDL. Immanuel Kant. Esta imprecisión puede estar asociada con su forma. En 1994. En Alemania. Tal como la entendemos ahora. pero esta idea no es nueva. Estudio las vaguedades del lenguaje. o incluso en la semántica que describe lo que son. La definición exacta de cuando la temperatura va de templada a caliente es imprecisa -no podemos identificar un punto simple de templado. estuvo bajo el nombre de lógica difusa durante 25 años. o una cadena de bits para un dispositivo de lógica programable (PLD) como puede ser una FPGA o un CPLD. Lofti Zadeh inventó la lógica difusa. Internamente un módulo contiene una lista de cables y registros. cables y registros. Un diseño en Verilog consiste de una jerarquía de módulos. Este tipo de imprecisión o Sergio E. pero sus orígenes se remontan hasta 2. La mayoría de los fenómenos que encontramos cada día son imprecisos. El objetivo de Verilog era ser un lenguaje de modelado de hardware. Hume en particular. Particularmente la escuela americana de la filosofía llamada pragmatismo fundada a principios de siglo por Charles Sanders Peirce. creía en la lógica del sentido común. la lógica difusa puede ser vista como un lenguaje que permite trasladar sentencias sofisticadas en lenguaje natural a un lenguaje matemático formal. describiendo las relaciones entre los puertos. Un día cálido en invierno no es exactamente lo mismo que un día cálido en primavera. es decir. Un módulo puede contener una o más instancias de otro módulo para definir un sub-comportamiento. como forma de acercamiento al mundo y a la forma en que la gente funciona. así que emigramos a un simple grado. y muchos principios contradictorios no tenían solución. Aparecieron numerosas publicaciones que presentaban los fundamentos básicos con aplicaciones potenciales.ESCUELA POLITÉCNICA NACIONAL SISTEMAS DIGITALES estructuras. Ávila P. Un subconjunto de sentencias en el lenguaje es sintetizable. Los módulos son definidos con conjuntos de puertos de entrada. posición. En muchos casos el mismo concepto puede tener diferentes grados de imprecisión en diferentes contextos o tiempo. La idea de que la lógica produce contradicciones fue popularizada por el filósofo y matemático británico Bertrand Russell. textura. se puede usar software para convertir o sintetizar el diseño en una lista de nodos que describe los componentes básicos y los conectores que deben implementarse en hardware. salida y bidireccionales. fue el primero en considerar ''vaguedades''. El comienzo Verilog fue inventado por Phil Moorby en 1985 mientras trabajaba en Automated Integrated Design Systems. la práctica temprana de la lógica difusa permitió el desarrollo de aplicaciones prácticas. En cierto nivel. por ejemplo ASIC. después los extendió a un número infinito de valores entre 0 y 1. visualizó los conjuntos con un posible grado de pertenencia con valores de 0 y 1. momento. George Berkeley y David Hume describieron que el núcleo de un concepto atrae conceptos similares. concluyendo con precisión que la vaguedad es un grado. tienen implícito un cierto grado de difusidad en la descripción de su naturaleza. el razonamiento basado en el conocimiento que la gente adquiere en forma ordinaria mediante vivencias en el mundo. Si los módulos en un diseño contienen sólo sentencias sintetizables. la teoría de conjuntos difusos y la teoría de probabilidad tienen diferentes tipos de incertidumbre. El lenguaje difiere de los lenguajes de programación convencionales. la teoría de la lógica difusa se encontraba en la cumbre.

Co-Design fue más tarde comprada por Synopsis. Todos estos están descritos en Verilog-AMS (http://www. sobreentendiendo que los conjuntos difusos de nivel-1 son conjuntos difusos ordinarios. Las bases de Superlog y Vera han sido donadas a Accellera. Aceptamos la imprecisión como una consecuencia natural de ''la forma de las cosas en el mundo''. Un conjunto difuso tiene muchas propiedades intrínsecas que afectan la forma del conjunto. Estas extensiones se volvieron el estándar IEEE 1364- 2001 conocido como Verilog 2001. psicología. Verilog fue después enviado a la IEEE que lo convirtió en el estándar IEEE 1364-1995. Las propiedades más importantes de un conjunto difuso son las concernientes a las dimensiones verticales del conjunto difuso (altura y normalización) y las dimensiones horizontales (conjunto soporte y cortes "alpha"). Para los conjuntos difusos tipo-n. Note que el elemento 4 pertenece en grado . y el segundo componente especifica precisamente quién es ése elemento de u. tomar decisiones y reconocer conceptos compatibles con altos niveles de vaguedad y ambigüedad. La superficie de la región de un conjunto difuso es el universo de valores.8 al conjunto VARIOS y en grado . oceanografía. etc. . su uso y como participa en un modelo. Todos estos conceptos se tratarán más adelante.1] (en lugar de ser puntos de [0. en los que el primer componente es un número en el rango [0. finanzas. En general los grados de pertenencia son subjetivos en el sentido de que su especificación es una cuestión objetiva. por ejemplo los conjuntos difusos de nivel-m y los conjuntos difusos tipo-n. Verilog 2001 Extensiones a Verilog 95 fueron enviadas a la IEEE para cubrir las deficiencias que los usuarios habían encontrado en el estándar original de Verilog. que probablemente se convierta en el próximo estándar de la IEEE. por Co-Design Automation Inc. Superlog/System Verilog El advenimiento de los lenguajes de verificación de alto nivel como OpenVera y el lenguaje E de Verisity. los valores de las funciones de pertenencia son conjuntos difusos de tipo-(n-1) del intervalo [0.com). Se debe aclarar que aunque puede interpretarse como el grado de verdad de que la expresión ''u A'' sea cierta. SISTEMAS DE NUMERACIÓN DEFINICIÓN Sergio E. Cadence decidió hacer el lenguaje abierto y disponible para estandarización.1] que denota el grado de pertenencia de un elemento u de U en A. La altura de un conjunto difuso es como máximo un grado de pertenencia y es una cota cercana al concepto de normalización. Cadence transfirió Verilog al dominio público a través de Open Verilog International. ya que un conjunto difuso es un conjunto que no tiene límites bien definidos. ingeniería. Estamos capacitados para formular planes. La dicotomía entre el rigor y la precisión del modelado matemático en todo los campos y la intrínseca incertidumbre de ''el mundo real'' no es generalmente aceptada por los científicos.158 - . filósofos y analistas de negocios.ESCUELA POLITÉCNICA NACIONAL SISTEMAS DIGITALES difusidad asociado continuamente a los fenómenos es común en todos los campos de estudio: sociología. impulsaron el desarrollo de Superlog. es más natural considerarlo simplemente como un grado de pertenencia.0 a MUCHOS. Es decir un conjunto difuso A se considera como un conjunto de pares ordenados. en grado . Todo ello ha sido transformado y actualizado en forma de SystemVerilog. Las últimas versiones del lenguaje incluyen soporte para modelado analógico y de señal mixta.4 al conjunto POCOS. biología. Esta es una pregunta importante ya que es la parte fundamental de las medidas de la teoría difusa. Como veremos la fusificación es independiente de cualquier capacidad para medir. Ávila P. física. Zadeh ha hecho algunas extensiones a los conceptos de conjuntos difusos ordinarios que se han explicado. Para un conjunto difuso de nivel-m se considera como su universo de discusión al conjunto de conjuntos difusos de nivel-(m-1).1]). Sin embargo procesamos y entendemos de manera implícita la imprecisión de la información fácilmente. También los conjuntos difusos tipo-1 son equivalentes a los conjuntos difusos ordinarios. Nosotros simplemente aproximamos estos eventos a funciones numéricas y escogemos un resultado en lugar de hacer un análisis del conocimiento empírico.verilog-ams. habitualmente referido como Verilog 95. considere las siguientes sentencias: Estándar abierto Con el incremento en el éxito de VHDL. actualmente conocida como Accellera.

así que la ponemos a cero.7}. Ejemplos: el número 125(10 es un número válido en el sistema decimal. pero el número 39(8 no lo es. y sumamos 1 a la siguiente columna (centena). y seguimos contando. y no depende de la posición que ocupa el símbolo dentro del número. ya que el símbolo 9 no es un símbolo válido en el sistema octal.A. Por tanto añadimos una nueva columna a la izquierda del número.. sin pararnos a pensar en el significado que encierra esa expresión.F} R son las reglas de generación que nos indican qué números son válidos y cuáles son no-válidos en el sistema. y si queremos seguir contando no disponemos de un nuevo símbolo para representar la cantidad que hemos contado. De igual forma. reutilizamos los símbolos de que disponemos. Podemos ver esto con un ejemplo en el sistema de numeración decimal.. En el caso del sistema decimal son {0. Pero la columna de la izquierda ya ha agotado los símbolos disponibles. y de la posición que ocupan en el número. Ávila P. un sistema de numeración posicional se comporta como un cuentakilómetros: va sumando 1 a la columna de la derecha y. cuando la rueda de esa columna ha dado una vuelta (se agotan los símbolos). debemos poner a cero la columna de la derecha y sumar 1 a la de la izquierda (decenas). cuando contamos hasta 99. pero el número 12A(10 no lo es. pero el número FKE4(16 no lo es.B. Sergio E. en el binario son {0.... el número 35(8) es un número válido en el sistema octal. ponemos a cero las unidades.1. El número de símbolos permitidos en un sistema de numeración posicional se conoce como base del sistema de numeración. y que b unidades forman una unidad de orden superior. se pone a cero y se añade una unidad a la siguiente columna de la izquierda. al llegar a 9 unidades hemos agotado los símbolos disponibles. Si contamos desde 0. como de la posición que ése símbolo ocupa en el número.9}. . No Posicionales. decimos que tenemos una unidad de segundo orden (decena).1. SISTEMAS DE NUMERACIÓN POSICIONALES: Los sistemas de numeración usados en la actualidad son ponderados o posicionales.E.D. ya que utiliza un símbolo A no válido en el sistema decimal. incrementando una unidad cada vez.ESCUELA POLITÉCNICA NACIONAL SISTEMAS DIGITALES Un sistema de numeración es un conjunto de símbolos y reglas de generación que permiten construir todos los números válidos en el sistema.. En estos sistemas de numeración el valor de un dígito depende tanto del símbolo utilizado. ya que el símbolo K no es un símbolo válido en el sistema hexadecimal. hemos agotado los símbolos disponibles para las dos columnas.1}. Si un sistema de numeración posicional tiene base b significa que disponemos de b símbolos diferentes para escribir los números. por tanto si contamos (sumamos) una unidad más.9. pero una regla común a todos es que para construir números válidos en un sistema de numeración determinado sólo se pueden utilizar los símbolos permitidos en ese sistema (para indicar el sistema de numeración utilizado se añade como subíndice al número). Pero estamos tan habituados a contar usando el sistema decimal que no somos conscientes de este comportamiento.el valor de los símbolos que componen el sistema depende del valor que se les ha asignado.C. Como resultado nos queda que 99+1=100. Estas reglas son diferentes para cada sistema de numeración considerado.159 - . en el octal son {0. Un sistema de numeración puede representarse como N = S + R donde: N es el sistema de numeración considerado S son los símbolos permitidos en el sistema.el valor de los símbolos que componen el sistema es fijo.1.. Como vemos. el número F1E4(16) es un número válido en el sistema hexadecimal. y damos por hecho que 99+1=100.. en el hexadecimal son {0. CLASIFICACIÓN De una forma general y amplia podemos clasificar los sistemas de numeración en dos grandes tipos: Posicionales.

Entre esos sistemas se encuentran el de base 2 Sistema binario. una cantidad cualquiera.160 - . dos (2). nnnn es. También pueden existir en algunos idiomas vestigios del uso de otros sistemas de numeración. la cantidad mas alta que se puede representar mediante una cantidad de cuatro cifras. puesto que aquí. por ejemplo. Número de símbolos permitidos en el sistema. En cuanto al problema de representar internamente cantidades numéricas. y tan válidos y útiles como este. La fórmula general para construir un número (cualquier número) N en un sistema de numeración posicional de base b es la siguiente: El valor total del número será la suma de cada dígito multiplicado por la potencia de la base correspondiente a la posición que ocupa en el número. su representación en el sistema decimal (1978) y las "cifras" o "guarismos" que componen su representación en este "sistema de numeración" (en este caso cuatro cifras: 1. Resulta así que en el sistema decimal. las variables (las cifras). seis (6). por ejemplo 1798. Primero estableceremos unas definiciones básicas: N: Sistema de numeración b: base del sistema de numeración. 8 y 9 colocadas en un cierto orden). cinco (5). Por ejemplo. cuatro (4). los cuales siempre nos han servido de base para contar. Al final se suman los resultados parciales. el origen del sistema decimal está en los diez dedos que tenemos los humanos en las manos. el duodecimal y el vigesimal. Sin embargo hay ciertas técnicas. Desde la escuela primaria sabemos que este en este sistema. d: un símbolo cualquiera de los permitidos en el sistema de numeración n: número de dígitos de la parte entera. como por ejemplo en la informática. Teorema fundamental de la numeración: Este teorema establece la forma general de construir números en un sistema de numeración posicional. k: número de dígitos de la parte decimal. al ser un sistema de base 10. ocho (8) y nueve (9). uno (1). o cuando se emplean palabras especiales para designar ciertos números (en francés. como máximo: Sergio E. . no es muy adecuado para los dispositivos electrónicos. siete (7). 7. Símbolo utilizado para separar la parte entera de un número de su parte decimal. el valor de las cifras viene complementado por su posición en el conjunto (decimos que es posicional). por lo que se compone de las cifras: cero (0). tres (3). Ávila P.: coma decimal. Es el sistema de numeración usado habitualmente en todo el mundo (excepto ciertas culturas) y en todas las áreas que requieren de un sistema de numeración. el sistema tradicional (el decimal con cero al que estamos acostumbrados). como el quinario. de base 8 Sistema octal y el de base 16 Sistema hexadecimal. pueden tener diez valores distintos (los guarismos 0 al 9 si utilizamos el sistema arábigo de numeración). donde se utilizan sistemas de numeración adaptados al método de trabajo como el binario o el hexadecimal. en realidad se lee como: 1 x 103 + 7 x 102 + 9 x 101 + 8 x 100 == 1 x 1000 + 7 x 100 + 9 x 10 + 8 x 1 Observe la diferencia entre los diversos conceptos involucrados: El número o cantidad "mil setecientos noventa y ocho".Según los antropólogos.ESCUELA POLITÉCNICA NACIONAL SISTEMAS DIGITALES Tal es la costumbre de calcular en decimal que la inmensa mayoría de la población ni siquiera se imagina que puedan existir otros sistemas de numeración diferentes al de base 10. de forma que el valor total de una expresión viene representado por el producto de su valor-base (0 a 9) multiplicado por la potencia de 10 que corresponda según su posición. Esta representación posibilita la realización de sencillos algoritmos para la ejecución de operaciones aritméticas SISTEMA DECIMAL El sistema decimal es un sistema de numeración en el que las cantidades se representan utilizando como base el número diez. cuando se cuentan artículos por docenas. el número 80 se expresa como "cuatro veintenas"). Este conjunto de símbolos se denomina números árabes. Recordemos que en este sistema. .

En el caso de las unidades la potencia de diez es 100. apagado 0). eran conocidos en la antigua china en el texto clásico del I Ching.1 0 (10 ) = 1 (101) = 10 (102) = 100 (103) = 1000 (104) = 10000 (105) = 100000 (106) = 10000000 SISTEMA BINARIO En el sistema binario es un sistema de numeración en el que los números se representan utilizando solamente las cifras cero y uno (0 y 1).000 si le añadimos el cero). Al combinar estas cifras se consigue expresar número más grandes. ¿Cómo trabaja o funciona el sistema decimal? Ver el gráfico anterior Un número en el sistema decimal se divide en cifras con diferente peso. Ávila P. .161 - . Las unidades tienen peso 1.00001 (10-4) = 0.Ejemplo: 2005 o 235689.Los ordenadores trabajan internamente con dos niveles de voltaje. etc. Cada peso tiene asociado una potencia de 10.Este sistema es que todos utilizamos sin darnos cuenta del porqué. Sergio E. etc.01 (10-1) = 0. Observe que el mismo concepto (la misma cantidad) puede ser representada utilizando distintos sistemas de numeración. análogos a 3 bit y números binarios de 6 bit. los miles peso 1000. un sistema muy poco adecuado para las matemáticas).0001 (10-3) = 0.000001 (10-5) = 0. entonces para formar el número 3427: 3 x 103 = 3 x 1000 = 3000 3000 4 x 102 = 4 x 100 = 400 + 400 2 x 101 = 2 x 10 = 20 + 20 7 x 100 =7x1=7 + 7 = 3427 Notación Posicional del Sistema (10-6) = 0. las centenas peso 100. La razón de utilizar el sistema decimal es que los seres humanos tenemos en las manos diez (10) dedos. lo cual coincidió con su descubrimiento del concepto del número cero. En el caso del ejemplo. Es fácil verificar que un número decimal de n dígitos puede representar como máximo una cantidad igual a 10n. Series similares de combinaciones binarias también han sido utilizados en sistemas de adivinación tradicionales africanos como el Ifá. Una serie completa de 8 trigramas y 64 hexagramas. Esto podría ser cierto o no.001 (10-2) = 0. Tal vez si tuviésemos una cantidad diferente de dedos hubiésemos utilizado un sistemas diferente. por ejemplo: MDCCXCVIII en números romanos (como dijimos. Este sistema utiliza 10 cifras (del 0 al 9).ESCUELA POLITÉCNICA NACIONAL SISTEMAS DIGITALES 9 x 103 + 9 x 102 + 9 x 101 + 9 x 100 == 9999 (10. El antiguo matemático Indio Pingala presentó la primera descripción que se conoce de un sistema de numeración binario en el siglo tercero antes de Cristo. así como en la geomancia medieval Occidental. las decenas peso 10. en el caso de los miles o millares la potencia de diez es 103. por lo que su sistema de numeración natural es el sistema binario (encendido 1. 104 = 10000. para 4 dígitos.

y un método para generar el mismo. representando la secuencia decimal de 0 a 63. El primero es divisiones sucesivas y el segundo es suma de potencias de 2. no hay ningunas pruebas que Shao entendió el cómputo binario. Ejemplo Convertir el número 15310 a binario.162 - . Sin embargo. Entonces para formar el número 10102: (el número 10 en binario) 1 x 23 =1x8=8 8 0 x 22 =0x4=0 + 0 1 x 21 =1x2=2 + 2 0 x 20 =0x1=0 + 0 equivalente decimal ---> = 10 Equivalente Base 10 Número decimal Base 2 Número binario decimal 100 1 20 1 1 101 10 21 10 2 102 100 22 100 4 103 1000 23 1000 8 104 10000 24 10000 16 105 100000 25 100000 32 106 1000000 26 1000000 64 107 10000000 27 10000000 128 108 100000000 28 100000000 256 109 1000000000 29 1000000000 512 1010 10000000000 210 10000000000 1024 CONVERSIÓN DE BASES Conversiones de un Sistema a Otro Las conversiones entre números de bases diferentes se efectúan por medio de operaciones aritméticas simples. en el segundo número la potencia de dos es 2 1 y así hasta el último número del lado izquierdo. fue desarrollado por el erudito y filósofo Chino Shao Yong en el siglo XI. . apuntando los residuos. Dentro de las conversiones más utilizadas se encuentran: Conversión de Decimal a Binario Para la conversión de decimal a binario se emplean dos métodos. Cada peso tiene asociado una potencia de 2. El último residuo obtenido es el bit más significativo (MSB) y el primero es el bit menos significativo (LSB). hasta obtener un cociente cero. Por divisiones sucesivas Se va dividiendo la cantidad decimal por 2.ESCUELA POLITÉCNICA NACIONAL SISTEMAS DIGITALES Un arreglo binario ordenado de los hexagramas del I Ching. Sergio E. Ávila P. En el primer número (de derecha a izquierda) la potencia de dos 20.

1112.125 = 0.25 + 0.87510 es 0. Ejemplo de Conversión de Decimal a Binario.2.5 + 0. Conversión de Fracciones Decimales a Binario Para la conversión de fracciones decimales a binario se emplean el siguiente método.163 - .00 1 LSB Tabla 1. si se cuenta con alguna familiaridad con las potencias de 2 este último método es más rápido.5 1 0.1.1112 Por multiplicaciones sucesivas La conversión de números decimales fraccionarios a binario se realiza con multiplicaciones sucesivas por 2. El número decimal se multiplica por 2.87510 = (2-1) + (2-2) + (2-3) = 0. El resultado en binario de 0. el cual va a ser el MSB y su parte fraccional se emplea para la siguiente multiplicación y seguimos sucesivamente hasta que la parte fraccional se vuelva cero o maneje un error moderado.87510 a binario.5 1. 15310 = 27 + 24 + 23 + 20 = 128 + 16 +8 +1 15310= 100110012 Como se aprecia. .Ejemplo de conversión de decimal a binario El resultado en binario de 15310 es 10011001 Por sumas de potencias de 2 Este método consiste en determinar el conjunto de pesos binarios cuya suma equivalga al número decimal. Número N N X 2 Parte entera Peso 0.ESCUELA POLITÉCNICA NACIONAL SISTEMAS DIGITALES Figura 1.75 1.2. 0. Ejemplo Convertir el número 0. Ejemplo Convertir el número 0. Sergio E. Por suma de potencias de 2 Emplea la misma metodología de la suma de potencias de 2 pero se trabaja con potencias negativas.1.875 1.87510 a binario. de éste se extrae su parte entera.75 1 MSB 0. Ejemplo Convertir el número 15310 a binario. Ávila P. El último residuo o parte entera va a constituir el LSB.

empezando por el exponente cero. el valor de un número expresado en base n será: Número en base 'n': "abcde" Valor: e*n^0 + d*n^1 + c*n^2 + b * n^3 + a*n^4 Donde "n^x" se lee como n elevado a la x potencia.164 - . El cociente se vuelve a dividir por la base. en base 2 el número 2 se expresa como 10.en base 10 o decimal el número 10 se expresa como 10 y en base 16 o hexadecimal. La siguiente potencia de 2 en orden descendente es (29)=512 lo que es mayor que el resultado de la resta del punto anterior. en el sistema binario sólo está permitido el uso de los dígitos 0 y 1 (en lugar de 0-9) y en el sistema binario se utilizan potencias de 2 en lugar de potencias de 10. Los valores de posición se obtienen como potencias sucesivas de la base. en base 8. Cambios de base de numeración Existe un procedimiento general para cambiar una base cualquiera a otra cualquiera: Para pasar de una base cualquiera a base 10. hemos visto que basta con realizar la suma de los productos de cada dígito por su valor de posición. Ejemplos: 110101 (binario) = 53 (decimal). Cada resultado obtenido se suma. El resultado decimal es 1359-1024=335. Ávila P. el número 16 se expresa como 10. Proceso: 1*(2) elevado a (0)=1 0*(2) elevado a (1)=0 1*(2) elevado a (2)=4 0*(2) elevado a (3)=0 1*(2) elevado a (4)=16 1*(2) elevado a (5)=32 Sergio E. producen el resultado decimal. Por ejemplo. El resultado binario hasta este punto es: 1. el número 8 se expresa como 10. El último cociente y los restos (en orden inverso) indican los dígitos en la nueva base. Binario a decimal Para realizar la conversión de binario a decimal. sume todas y el número resultante será el equivalente al sistema decimal. realice lo siguiente: 1. Por tanto la mayor potencia de 2 menor que 1359 es (210). en vez de multiplicar. de derecha a izquierda. De aquí tenemos que es muy fácil convertir un número binario a decimal. en base 8 u octal. para convertir el número 1359 a binario: (210)=1024. y el resultado global es el número en base 10. y así sucesivamente hasta que el cociente sea inferior a la base. una forma conveniente es trabajar en reversa por ejemplo. El resultado decimal es aún 335. . cada número multiplíquelo por 2 y elévelo a la potencia consecutiva (comenzando por la potencia 0).. Inicie por el lado derecho del número en binario.ESCUELA POLITÉCNICA NACIONAL SISTEMAS DIGITALES Generalizando Un número en base n sólo puede estar formado por dígitos entre 0 y n-1. en base 2 sólo se admiten los dígitos 0 y 1. por lo tanto agregamos un 0 a nuestra cadena binaria. Para pasar de base 10 a otra base. 2. El sistema binario trabaja de forma similar al sistema decimal con dos diferencias. Así que en general. (211)=2048. en base 10. sume 2n donde n es la posición del dígito binario a partir del punto decimal contando a partir de cero. por ejemplo. Después de realizar cada una de las multiplicaciones. Así. ahora es: 10. sumadas. dividimos el número a convertir entre la nueva base. el valor binario 11001010 representa: 1*(27) + 1*(26) + 0*(25) + 0*(24) + 1*(23) + 0*(22) + 1*(21) + 0*(20) = 128 + 64 + 8 + 2 = 20210 Para convertir un número decimal en binario es un poco más difícil. Se requiere encontrar aquellas potencias de 2 las cuales. Restamos 1024 a 1359 y empezamos nuestro número binario poniendo un 1 a la izquierda. por cada 1 en la cadena binaria. por ejemplo. los dígitos 0 a 7. los dígitos 0 a 9.

Ejemplo de Conversión de decimal a hexadecimal El resultado en hexadecimal de 186910 es 74D16.2. Los residuos forman el número octal equivalente. siendo el último residuo el dígito más significativo y el primero el menos significativo. Sergio E. siendo el último residuo el dígito más significativo y el primero el menos significativo.ESCUELA POLITÉCNICA NACIONAL SISTEMAS DIGITALES La suma es: 53 10010111 (binario) = 151 (decimal). Proceso: 1*(2) elevado a (0)=1 1*(2) elevado a (1)=2 1*(2) elevado a (2)=4 0*(2) elevado a (3)=0 1*(2) elevado a (4)=16 1*(2) elevado a (5)=32 La suma es: 55 Conversión de Decimal a Hexadecimal En la conversión de una magnitud decimal a hexadecimal se realizan divisiones sucesivas por 16 hasta obtener un cociente de cero.2. Ávila P. Los residuos forman el número hexadecimal equivalente. Conversión de Decimal a Octal En la conversión de una magnitud decimal a octal se realizan divisiones sucesivas por 8 hasta obtener la parte entera del cociente igual a cero. Proceso: 1*(2) elevado a (0)=1 1*(2) elevado a (1)=2 1*(2) elevado a (2)=4 0*(2) elevado a (3)=0 1*(2) elevado a (4)=16 0*(2) elevado a (5)=0 0*(2) elevado a (6)=0 1*(2) elevado a (7)=128 La suma es: 151 110111 (binario) = 55 (decimal). Figura 1.165 - . Ejemplo Convertir el número 186910 a hexadecimal. .

.5 0. Ejemplo Convertir el número 010101012 a octal.875 0. Número N N ÷ 8 Parte decimal Parte decimal x 8 Peso 465 58.125 0. entonces se multiplica el valor decimal del dígito correspondiente por el respectivo peso y realizar la suma de los productos. Conversión de Hexadecimal a Decimal En el sistema hexadecimal.25 0. hasta cubrir la totalidad del número binario.ESCUELA POLITÉCNICA NACIONAL SISTEMAS DIGITALES Ejemplo Convertir el número 46510 a octal. Ejemplo Convertir el número 11002 a decimal.25 2 0. Ejemplo Sergio E. Ejemplo Convertir el número 10011101010 a hexadecimal. El resultado en octal de 46510 es 721.166 - .2. 11002 = 1x23 + 1x22 = 1210 Conversión de Binario a Hexadecimal El método consiste en conformar grupos de 4 bits hacia la izquierda y hacia la derecha del punto que indica las fracciones. Conversión de Binario a Octal El método consiste en hacer grupos de 3 bits hacia la izquierda y hacia la derecha del punto que indica las fracciones.2. Conversión de Binario a Decimal Un número binario se convierte a decimal formando la suma de las potencias de base 2 de los coeficientes cuyo valor sea 1 (ver lección 1). Ejemplo de Conversión de Decimal a Hexadecimal. hasta cubrir la totalidad del número binario.125 1 LSB 58 7. Enseguida se convierte cada grupo de número binario de 3 bits a su equivalente octal. Ávila P. Enseguida se convierte cada grupo de número binario de 4 bits a su equivalente hexadecimal. cada dígito tiene asociado un peso equivalente a una potencia de 16.875 7 MSB Tabla 1.

7158 = (111001101)2 decimal es: 1. Ejemplo : (1010. 1F0C16 = 11111000011002 Conversión de Octal a Decimal La conversión de un número octal a decimal se obtiene multiplicando cada dígito por su peso y sumando los productos: Ejemplo Convertir 47808 a decimal.5 = 408. . y la conversión de cada parte se efectúa por separado: Ejemplo : Convertir el numero (41)10 a binario 41 1 LSB 20 0 10 0 5 1 2 0 1 1 MSB Sergio E.167 - .ESCUELA POLITÉCNICA NACIONAL SISTEMAS DIGITALES Convertir el número 31F16 a decimal.011)2 = 1*23+0*22+1*21+0*20+0*2–1+1*2–2+1*2–3 = 8+0+2+0+0+0.125 = 10. Ejemplo Convertir el número 7158 a binario. Ejemplo Convertir el número 1F0C16 a binario. Ejemplo: (630.4)8 = 6*82+3*81+0*80+4*8–1 = 384+24+0.5 Cuando deseamos efectuar la conversión de decimal a binario o a cualquier otro sistema con base r es más conveniente si el número se separa en parte entera y en una parte fraccionaria. Binario a decimal Un número binario x puede convertirse en decimal efectuando la suma de las potencias cuyo valor es uno.375 Para los números expresados en base r podríamos efectuar su conversión a decimal multiplicando cada coeficiente por la potencia correspondiente de r y sumando. Ávila P.25+0. 31F16 = 3x162 + 1x16 + 15 x 160 = 3x256 + 16 + 15 = 768 + 31 = 79910 Conversión de Hexadecimal a Binario La conversión de hexadecimal a binario se facilita porque cada dígito hexadecimal se convierte directamente en 4 dígitos binarios equivalentes. 4780 = (4 x 83)+(3x82)+(8x81)+(0x80) = 2048+192+64+0= 2304 Conversión de Octal a Binario La conversión de octal a binario se facilita porque cada dígito octal se convierte directamente en 3 dígitos binarios equivalentes.

6875)10=(0.984 * 8 7 0.1011)2 Cuando deseamos convertir una fracción decimal en número expresado en base r.248 * 8 1 0.75a-2 = 0 0.6875 *2 1 0. el procedimiento es similar.656 a-3 = 6 0.513)10 a base 8 Entero Fracción Coeficiente 0.6875)10 → (101001. la multiplicación se hace con r en lugar de 2 y los coeficientes se encuentran con los enteros.3750 *2 0 0. y los enteros se acumulan en lugar de los residuos.75 *2 1 0.513 * 8 4 0.104 a-1 = 4 0.6875)10 a base 2 Entero Fracción Coeficiente 0.5 *2 1 0. Sergio E.ESCUELA POLITÉCNICA NACIONAL SISTEMAS DIGITALES (41)10 = (101001)2 Para convertir cualquier entero decimal han cualquier sistema de base r la división se hace entre r en lugar de 2. Ejemplo : (41. el sistema que se sigue es similar al que utilizamos para los enteros. se usa la multiplicación en lugar de la división.168 - .0a-4 = 1 (0. Ejemplo : convertir (0. .104 * 8 0 0.832 * 8 6 0. Ávila P.248 a-4 = 5 0. sin embargo. Ejemplo : convertir (0. Ejemplo : Convertir el numero (153)10 a base 8 153 1 LSB 198 3 2 2 MSB (153)10=(231)8 Para convertir una fracción decimal a binario.5a-3 = 1 0.656 * 8 5 0.984 a-5 = 1 0.3750 a-1 = 1 0.872 a-6 = 7 Cuando deseamos hacer la conversión de un número decimal de una parte entera y una parte fraccionaria la conversión se hace por separado y posteriormente se combinan las dos respuestas.1011)2 Números octales y hexadecimales.832 a-2 = 0 0.

1100. . 1011. (10110001101011. 1101 y 1111 no tienen decimales equivalentes. para convertir el decimal 469 a BCD. Figura 1: Conversión de decimal a BCD De esta forma el decimal 469 equivale al BCD 010001100011 NOTA: En BCD los códigos 1010. como un tercio o un cuarto del número de dígitos requeridos por el número binario equivalente. ya que cada dígito octal corresponde a tres dígitos binarios y a cada dígito hexadecimal corresponde cuatro dígitos binarios.7406)8 Cuando deseamos convertir un número binario a hexadecimal. Por lo tanto se les llaman códigos inválidos Conversion decimal fraccionario a BCD Se realiza del modo similar al anterior pero hay que tener en cuenta el punto binario.D)16 →(001100000110. tenemos que tomar cada dígito decimal y transformarlo a su equivalente BCD 1.169 - . Ejemplo : (111111111111)2 → (4095)10 Una forma de reducir esta deficiencia es emplear la relación entre el sistema de números binarios con el sistema octal o hexadecimal. CONVERSIÓN DE DECIMAL A BCD Ya que cada grupo de 4 bits solo puede representar a un único dígito decimal. octal y hexadecimal es muy importante en las comparaciones digitales.124)8 → (110001011.11110010)2 → (2C6B.1101)2 Los números binarios son difíciles de manejar ya que se requiere dos o cuatro veces mas dígitos que su equivalente decimal. El número binario (111111111111)2 tiene 12 dígitos y los podemos expresar en octal (7777)8 (cuatro dígitos) o en hexadecimal como (FFF)16 (tres dígitos). el punto del numero decimal se convertirá en el punto binario del código BCD. El número obtenido es el equivalente en BCD del número decimal El número obtenido es el equivalente en BCD del número decimal. Ejemplo: para convertir el decimal 74. la representación octal o hexadecimal es mas deseable ya que se representa en forma mas compacta. Ávila P. Por ejemplo. según lo explicado anteriormente.001010100)2 (306. Ejemplo : (613.F2)16 La conversión a hexadecimal en binario se realiza con un procedimiento inverso al anterior esto es .ESCUELA POLITÉCNICA NACIONAL SISTEMAS DIGITALES Las conversiones entre código binario. el proceso es similar excepto que el número binario se divide en grupos de 4. cada dígito octal se convierte en su equivalente binario de tres dígitos y cada dígito hexadecimal se convierte en su equivalente binario de cuatro dígitos. (10110001101011.111100000110)2 → (26153. la conversión de un numero decimal a un numero BCD se lleva a cabo de la siguiente forma: Separamos al dígito decimal en cada uno de sus dígitos Cada dígito decimal se transforma a su equivalente BCD.42 a BCD: Sergio E. 1.

Transformamos el decimal a binario 103. 2. realizaremos lo siguiente: 1.125 = 138. 010000101. A partir de la izquierda separamos al número BCD en grupos de 4 bits.5(10)=1100111. Conversion de BCD a decimal Ya que el código BCD son grupos de 4 bits.101 es igual al BCD 000100111000. Transformamos cada grupo a decimal. Convertimos cada dígito a decimal a BCD. 4. Ejemplo: Convertir el BCD 000100000011.5 + 0. Ejemplo: convertir el binario 10001010. 0101 a decimal 1 0 3. convertimos el decimal a BCD 138. 3.101 128 + 8 + 2 + 0. Cada dígito decimal se convierte a su equivalente BCD. Cada grupo de 4 bits se convierte a su decimal correspondiente.625 = 0001 0011 1000.170 - . El número obtenido equivale en decimal al número BCD.101 a BCD Se convierte primero a decimal 10001010.0101 a binario. Cada grupo de 4 bits se convierte a su equivalente decimal. El número obtenido es el equivalente decimal del número BCD. Convertimos el número binario a número decimal. Ejemplo: Convertir el número BCD 010101000011 a decimal.011000100101 Sergio E. El BCD 01110001.00001000 equivale al decimal 71. Convertimos el decimal obtenido a binario mediante las técnicas ya estudiadas. 3. A partir del punto binario separamos al número binario en grupos de 4 bits.0000100 a decimal. 2. El numero obtenido es el equivalente BCD del número binario puro. . 2. 0000 1000. y colocamos el punto binario en la misma posición del punto decimal. El número BCD lo transformamos a decimal. El punto binario se convertirá en el punto decimal. convertimos cada grupo a decimal y colocamos el punto binario como punto decimal. El binario obtenido es el equivalente en binario del número BCD. 3. ESCUELA POLITÉCNICA NACIONAL SISTEMAS DIGITALES Separamos el decimal en sus dígitos 7 4.625. 4 2.08 Conversion BCD a binario puro Si queremos transformar un número BCD a su correspondiente binario llevaremos a cabo los siguientes pasos: 1. 2. Ejemplo: Convertir el número BCD 01110001. Ávila P. Figura 3: Conversión de BCD a decimal. 3. Figura 4: Conversión de BCD fraccionario a decimal. separamos en grupo de 4 bits 0111 0001. Figura 2: Conversión de decimal fraccionario a BCD De esta forma el decimal 74.1 Conversion de Binario puro a BCD 1. 0110 0010 0101 El binario 10001010.42 equivale al BCD 01100100. El BCD 010101000011 equivale al decimal 543 Conversion de BCD fraccinario a decimal 1. Separamos en grupos de 4 bits a partir de la izquierda 0101 0100 0011. Convertimos 0001 0000 0011. 5.

2. Dividimos a partir de la izquierda al número XS3 en grupos de 4 bits. El número obtenido es el equivalente decimal del número XS3. Ejemplo: convertir el numero decimal 18 a su equivalente XS3.ESCUELA POLITÉCNICA NACIONAL SISTEMAS DIGITALES NOTA: Seguramente ha notado que los números en código BCD contienen mayor numero de bits que sus correspondientes números binarios. El resultado es el equivalente en XS3 del código BCD. 1011. Aquí detallaremos dos códigos binarios sin peso: el de exceso 3 y el código Gray. y deriva su nombre de exceso 3 debido a que cada grupo de 4 bits equivale al número BCD 8421 mas 3. 0010 1001 Sumamos 00112 a cada grupo 0010 1001 + 0011 +0011 -------. Sumarle tres (3) a cada dígito decimal. el código de exceso 3 guarda una estrecha relación con el código BCD 8421 por el hecho de que cada grupo de 4 bits solo pueden representar a un único dígito decimal (del 0 al 9). 3. 1111) como vimos en el ejemplo anterior el número 11. 3. A partir de la izquierda separamos al código BCD en grupos de 4 bits. pero nuevamente recalcamos que esta desventaja es compensada por su facilidad para convertir a decimal. Ejemplo: Convertir el BCD 00101001 a XS3 Separamos en grupos de bits. Conversion de decimal a Exceso 3 Se separa al numero decimal en cada uno de sus dígitos. Sergio E. Solución: primero le sumamos 3 a cada dígito. 1100. el cual nos resultó de la suma de 8+3. El número obtenido es el equivalente en XS3 del número decimal. . Ejemplo: Convertir 10011010 XS3 a decimal Separamos en 4 bits 1001 1010 Convirtiendo a decimal 1001 1010 1001 = 9 1010 = 10 EJERCICIOS SOBRE CAMBIOS DE SISTEMAS. Restamos 3 a cada decimal. 2. Código de Exceso 3 A pesar de ser un código binario sin peso.----- 4 11 luego cada resultado se transforma a BCD 4 = 0100 11 = 1001 Nota: En las conversiones de exceso 3 no se tiene en cuenta los códigos inválidos (1010. se convirtió directamente al BCD 1001. Convertimos a decimal cada grupo de 4 bits. 1. 3. 1101. Conversion BCD A XS3 Para convertir un número BCD a código de exceso 3 tenemos en cuenta los siguientes pasos: 1. Sumamos 00112 a cada grupo de 4 bits. 4.171 - . 2. Ávila P. 1110. CÓDIGOS BINARIOS SIN PESO De la misma forma que existen códigos binarios con peso. 1 8 +3 +3 ----. Convertir a BCD el número decimal obtenido.------- 0101 1100 El código XS3 01011100 equivale al BCD 00101001 Conversion XS3 a decimal 1. también existen códigos binarios sin peso en el cual cada bit no va a poseer un valor o ponderación por posición.

64 32 16 8 4 2 1 Pesos 1 0 0 0 0 1 1 64+2+1 = 67 10-Convertir el número Binario 1000011110 a Decimal. 128 64 32 16 8 4 2 1 Pesos 1 1 1 1 1 1 1 1 128+64+32+16+8+4+2+1 = 255 9-Convertir el número Binario 1000011 a Decimal. 32 16 8 4 2 1 Pesos 1 0 1 0 0 0 32+8 = 40 13. Sergio E. 512 256 128 64 32 16 8 4 2 1 Pesos 1 0 0 0 0 1 1 1 1 0 512+16+8+4+2 = 542 11. 4 2 1 Pesos 1 1 1 4+2+1=7 5. 256 128 64 32 16 8 4 2 1 Pesos 1 1 1 0 0 0 1 1 1 256+128+64+4+2+1=455 6-Convertir el número Binario 110011 a Decimal. .Convertir el número Binario 101000 a Decimal.Convertir el número Binario 111 a Decimal.Convertir el número Binario 1010101 a Decimal. 64 32 16 8 4 2 1 Pesos 1 0 0 0 1 1 1 64+4+2+1= 71 8-Convertir el número Binario 11111111 a Decimal.Convertir el número Binario 10001 a Decimal.172 - .Convertir el número Binario 11101110011 a Decimal. 16 8 4 2 1 pesos 1 0 0 0 1 16 + 1 = 17 3. 64 32 16 8 4 2 1 pesos 1 0 1 0 1 0 1 64+16+4+1=85 4. 32 16 8 4 2 1 pesos 1 1 1 0 0 1 32 + 16 + 8 + 1 = 57 2. Ávila P.Convertir el número Binario 111000111 a Decimal.Convertir el número Binario 111000111 a Decimal. 1024 512 256 128 64 32 16 8 4 2 1 Pesos 1 1 1 0 1 1 1 0 0 1 1 1024+512+256+64+32+16+2+1 = 1907 14. 32 16 8 4 2 1 Pesos 1 1 0 0 1 1 32+16+2+1 = 51 7-Convertir el número Binario 1000111 a Decimal.Convertir el número Binario 10101010101 a Decimal. 256 128 64 32 16 8 4 2 1 Pesos 1 1 1 0 1 0 1 1 1 256+128+64+16+4+2+1 = 471 12.ESCUELA POLITÉCNICA NACIONAL SISTEMAS DIGITALES Binario a Decimal 1.Convertir el número Binario 111001 a Decimal.

Por otro lado. Sergio E. aunque en la práctica estas etapas se traslapan significativamente. Las FPGA (Field Programmable Gate Arrays. o SoC. o ASIC por sus siglas en inglés. EEPROM y Flash. Los ASIC modernos a menudo incluyen procesadores de 32-bit. ROM. Historia Los primeros ASIC utilizaban tecnología de matriz de puertas. en término de los costos fijos y de fabricación de cada unidad. Con los avances en la miniaturización y en las herramientas de diseño. es muy alto. que podían ser representadas en las herramientas desarrolladas por terceros. no había un enlace efectivo entre éstas y los procesos productivos de los fabricantes. matriz de puertas programables) son la versión moderna de los prototipos con puertas lógicas de la serie 7400. las FPGAs pueden tener un costo menor que un diseño equivalente basado en ASIC. especialmente en las tecnologías más densas. Estas herramientas podían compilar descripciones HDL en una lista de nodos al nivel de puertas. y por ende la funcionalidad. Ávila P. Este tipo de diseño contempla las siguientes etapas conceptuales. a menos que se introduzcan fallas al nivel físico de fabricación.ESCUELA POLITÉCNICA NACIONAL SISTEMAS DIGITALES 1024 512 256 128 64 32 16 8 4 2 1 Pesos 1 0 1 0 1 0 1 0 1 0 1 1024+256+64+16+4+1 = 1365 15. Esto dio paso a un estilo de diseño llamado Diseño basado en Celdas Estándares. capacitancias e inductancias. fue la implementación de Celdas Estándares. tales como el Design Compiler. . en un ASIC ha crecido desde 5. en vez de ser concebido para propósitos de uso general. más de un millón de dólares para una tecnología de 90nm o menor. debido a que el costo fijo (el costo para preparar una línea de producción para que fabrique un ASIC en particular). y el diseño hecho totalmente a la medida. o ASSP por sus siglas en inglés. un diseñador elegía a un fabricante de ASIC. tales como Verilog o VHDL. Algunos moldes base incluían elementos de RAM. tales como los tiempos de propagación. para describir la funcionalidad de estos dispositivos. En un lugar intermedio entre los ASIC y los productos de propósito general están los Productos Estándar para Aplicaciones Específicas. es un circuito integrado hecho a la medida para un uso en particular. llevados a cabo con el nivel de habilidad común en la industria. la ULA (Uncommitted Logic Array o Matriz lógica no fija). Los diseñadores de ASIC digitales usan lenguajes descriptores de hardware (HDL). El diseño a la medida se realizaba al variar la máscara de interconexión metálica. y luego implementaba el diseño utilizando las herramientas provistas por ese fabricante en particular. alrededor de 1980. la complejidad máxima. los circuitos integrados de la serie 7400 son circuitos lógicos (combinacionales o secuenciales) que se pueden utilizar para una multiplicidad de aplicaciones. con moldes base configurados tanto por las capas metálicas como polisiliconicas.173 - . un chip diseñado únicamente para ser usado en un teléfono móvil es un ASIC. Hacia finales de 1980. Contienen bloques de lógica programable e interconexiones programables que permiten a un modelo de FPGA ser usada en muchas aplicaciones distintas. Una solución a este problema. Por ejemplo. Cada fabricante de ASIC creaba bloques funcionales con características eléctricas conocidas. Estos pasos. que además permitió aumentar la densidad de los ASIC. Las versiones posteriores fueron más generalizadas. estuvieron disponibles las herramientas de síntesis lógica. Este tipo de ASIC frecuentemente es llamado Sistema en un Chip. Para los diseños más pequeños o con volúmenes de producción más bajos. Ferranti fabricó tal vez la primera matriz de puertas. por sus siglas en inglés.Convertir el número Binario 110000000011 a Decimal. Este tipo de diseño se ubica entre diseño de Matriz de Puertas.000 puertas lógicas a más de 100 millones. casi siempre producen un dispositivo final que implementa correctamente el diseño original. A pesar de que existían herramientas de diseño provista por terceros. El diseño basado en Celdas Estándares es el uso de estos bloques funcionales para alcanzar densidades de puertas muy altas. bloques de memoria RAM. Diseño basado en Celdas Estándares (Standard Cell) A mediados de 1980. así como otros tipos de módulos. Las ULAs tenían complejidades de hasta algunos miles de puertas. y un buen desempeño eléctrico. Se usan para una función especifica. 2048 102 512 256 128 64 32 16 8 4 2 1 Pesos 4 1 1 0 0 0 0 0 0 0 0 1 1 2048+1024+2+1 = 3075 Un Circuito Integrado para Aplicaciones Específicas.

Con los avances en la miniaturización y en las herramientas de diseño. Por otro lado. no había un enlace efectivo entre éstas y los procesos productivos de los fabricantes. y un buen desempeño eléctrico. tales como el Design Compiler. matriz de puertas programables) son la versión moderna de los prototipos con puertas lógicas de la serie 7400. para describir la funcionalidad de estos dispositivos. más de un millón de dólares para una tecnología de 90nm o menor.ESCUELA POLITÉCNICA NACIONAL SISTEMAS DIGITALES Un Circuito Integrado para Aplicaciones Específicas. tales como los tiempos de propagación. El diseño a la medida se realizaba al variar la máscara de interconexión metálica. a menos que se introduzcan fallas al nivel físico de fabricación. Este tipo de ASIC frecuentemente es llamado Sistema en un Chip. bloques de memoria RAM. o ASSP por sus siglas en inglés. llevados a cabo con el nivel de habilidad común en la industria. Una solución a este problema. en un ASIC ha crecido desde 5. Cada fabricante de ASIC creaba bloques funcionales con características eléctricas conocidas. tales como Verilog o VHDL. Este tipo de diseño se ubica entre diseño de Matriz de Puertas. la complejidad máxima. por sus siglas en inglés. o ASIC por sus siglas en inglés. fue la implementación de Celdas Estándares. casi siempre producen un dispositivo final que implementa correctamente el diseño original. Ávila P. especialmente en las tecnologías más densas. Las FPGA (Field Programmable Gate Arrays. 10/2 = 5 Resto 0 LSB 5/2 = 2 Resto 1 1010 2/2 = 1 Resto 0 1 MSB Sergio E. 1. Hacia finales de 1980. alrededor de 1980.Convertir el número Decimal 10 a Binario. en término de los costos fijos y de fabricación de cada unidad. Este tipo de diseño contempla las siguientes etapas conceptuales. Estos pasos. un diseñador elegía a un fabricante de ASIC. es muy alto. Historia Los primeros ASIC utilizaban tecnología de matriz de puertas. y el diseño hecho totalmente a la medida. es un circuito integrado hecho a la medida para un uso en particular. Los diseñadores de ASIC digitales usan lenguajes descriptores de hardware (HDL). A pesar de que existían herramientas de diseño provista por terceros. Para los diseños más pequeños o con volúmenes de producción más bajos. ROM. con moldes base configurados tanto por las capas metálicas como polisiliconicas. Ferranti fabricó tal vez la primera matriz de puertas. Esto dio paso a un estilo de diseño llamado Diseño basado en Celdas Estándares. Contienen bloques de lógica programable e interconexiones programables que permiten a un modelo de FPGA ser usada en muchas aplicaciones distintas. la ULA (Uncommitted Logic Array o Matriz lógica no fija). así como otros tipos de módulos. El diseño basado en Celdas Estándares es el uso de estos bloques funcionales para alcanzar densidades de puertas muy altas. o SoC. En un lugar intermedio entre los ASIC y los productos de propósito general están los Productos Estándar para Aplicaciones Específicas. Diseño basado en Celdas Estándares (Standard Cell) A mediados de 1980. debido a que el costo fijo (el costo para preparar una línea de producción para que fabrique un ASIC en particular). . los circuitos integrados de la serie 7400 son circuitos lógicos (combinacionales o secuenciales) que se pueden utilizar para una multiplicidad de aplicaciones. Se usan para una función especifica. Decimal a Binario. EEPROM y Flash. Las ULAs tenían complejidades de hasta algunos miles de puertas. Las versiones posteriores fueron más generalizadas. y luego implementaba el diseño utilizando las herramientas provistas por ese fabricante en particular. Estas herramientas podían compilar descripciones HDL en una lista de nodos al nivel de puertas. un chip diseñado únicamente para ser usado en un teléfono móvil es un ASIC. Los ASIC modernos a menudo incluyen procesadores de 32-bit. Por ejemplo.174 - . que podían ser representadas en las herramientas desarrolladas por terceros.000 puertas lógicas a más de 100 millones. estuvieron disponibles las herramientas de síntesis lógica. aunque en la práctica estas etapas se traslapan significativamente. Algunos moldes base incluían elementos de RAM. capacitancias e inductancias. las FPGAs pueden tener un costo menor que un diseño equivalente basado en ASIC. y por ende la funcionalidad. en vez de ser concebido para propósitos de uso general. que además permitió aumentar la densidad de los ASIC.

Convertir el número Decimal 34 a Binario. 215/2 = 107 Resto 1 LSB 107/2 = 53 Resto 1 53/2 = 26 Resto 1 26/2 = 13 Resto 0 11010111 13/2 = 6 Resto 1 6/2 = 3 Resto 0 3/2 = 1 Resto 1 1 MSB 5. 34/2 = 17 Resto 0 LSB 17/2 = 8 Resto 1 8/2 = 4 Resto 0 100010 4/2 = 2 Resto 0 2/2 = 1 Resto 0 1 MSB 3.Convertir el número Decimal 125 a Binario. . 125/2 = 62 Resto 1 LSB 62/2 = 31 Resto 0 31/2 = 15 Resto 1 15/2 = 7 Resto 1 1111101 7/2 = 3 Resto 1 3/2 = 1 Resto 1 1 MSB 4. Ávila P. 524/2 = 262 Resto 0 LSB 262/2 = 131 Resto 0 131/2 = 65 Resto 1 65/2 = 32 Resto 1 32/2 = 16 Resto 0 16/2 = 8 Resto 0 1000001100 8/2 = 4 Resto 0 4/2 = 2 Resto 0 Sergio E.175 - .ESCUELA POLITÉCNICA NACIONAL SISTEMAS DIGITALES 2.Convertir el número Decimal 545 a Binario.Convertir el número Decimal 215 a Binario.

4002/2 = 2001 Resto 0 LSB 2001/2 = 1000 Resto 1 1000/2 = 500 Resto 0 500/2 = 250 Resto 0 Sergio E. .Convertir el número Decimal 4002 a Binario.Convertir el número Decimal 3226 a Binario. 3226/2 = 1613 Resto 0 LSB 1613/2 = 806 Resto 1 806/2 = 403 Resto 0 403/2 = 201 Resto 1 201/2 = 100 Resto 1 100/2 = 50 Resto 0 50/2 = 25 Resto 0 110010011010 25/2 = 12 Resto 1 12/2 = 6 Resto 0 6/2 = 3 Resto 0 3/2 = 1 Resto 1 1 MSB 8. Ávila P.ESCUELA POLITÉCNICA NACIONAL SISTEMAS DIGITALES 2/2 = 1 Resto 0 1 MSB 6. 1024/2 = 512 Resto 0 LSB 512/2 = 256 Resto 0 256/2 = 128 Resto 0 128/2 = 64 Resto 0 64/2 = 32 Resto 0 32/2 = 16 Resto 0 10000000000 16/2 = 8 Resto 0 8/2 = 4 Resto 0 4/2 = 2 Resto 0 2/2 = 1 Resto 0 1 MSB 7.Convertir el número Decimal 1024 a Binario.176 - .

La semántica de relación ternaria. de modo que serán los problemas que el condicional ha venido planteando a lo largo de la historia de la lógica el objeto fundamental de nuestro estudio. El manejo de la semántica relacional ternaria es verdaderamente útil dada su idoneidad para modelizar una gran variedad de lógicas. la estructura de esta exposición es la siguiente: comenzaré explicando el concepto de implicación de Lewis y cómo éste intenta eliminar las paradojas del condicional material clásico.177 - . expondré brevemente y de modo muy general cómo se consigue eliminar las paradojas del condicional dando lugar al nacimiento de las lógicas de la relevancia y a continuación. Tales lógicas tienen como objetivo lograr un condicional que realmente represente la noción de implicación del lenguaje ordinario. Urquhart y Fine entre otros. 9. Para comprender los conceptos básicos de la semántica de relación ternaria.Convertir el número Decimal 5151 a Binario. como un tipo de implicación. Ávila P. 5151/2 = 2575 Resto 1 LSB 2575/2 = 1287 Resto 1 1287/2 = 643 Resto 1 643/2 = 321 Resto 1 321/2 = 160 Resto 1 160/2 = 80 Resto 0 80/2 = 40 Resto 0 1010000011111 40/2 = 20 Resto 0 20/2 = 10 Resto 0 10/2 = 5 Resto 0 5/2 = 2 Resto 1 Sergio E.ESCUELA POLITÉCNICA NACIONAL SISTEMAS DIGITALES 250/2 = 125 Resto 0 125/2 = 62 Resto 1 62/2 = 31 Resto 0 111110100010 31/2 = 15 Resto 1 15/2 = 7 Resto 1 7/2 = 3 Resto 1 3/2 = 1 Resto 1 1 MSB El objetivo de esta exposición es explicar del modo más claro y sencillo posible cómo funciona la semántica de relación ternaria y las ideas básicas en las que se basa desde el punto de vista de los problemas que plantean las lógicas para las que fue diseñada. De modo general. daré unos apuntes sobre la negación dado que esta exposición se centra en la problemática del condicional y la negación puede también entenderse. podríamos decir que la idea fundamental es sustituir la relación binaria de la semántica kripkeana por una relación ternaria. algunas de ellas realmente especiales. A continuación. definida a comienzos de los años setenta por Routley y Meyer. y el análisis de las ideas principales en las que se fundamenta creo que puede ser de gran interés para todos aquellos que trabajen en campos afines a la lógica y la filosofía del lenguaje. . Finalmente. Por tanto. me detendré en analizar de qué modo los modelos Kripke tratan de librarse de dichas paradojas desde un punto de vista semántico y explicaré cómo la semántica de relación ternaria lo consigue. como veremos. hemos de hablar primero de las paradojas del condicional y de la semántica de los mundos posibles estándar o modelos Kripke. se diseñó especialmente para modelizar las lógicas de la relevancia.

178 - .ESCUELA POLITÉCNICA NACIONAL SISTEMAS DIGITALES 2/2 = 1 Resto 0 1 MSB 10. 6363/2 = 3181 Resto 1 LSB 3181/2 = 1590 Resto 1 1590/2 = 795 Resto 0 795/2 = 397 Resto 1 397/2 = 198 Resto 1 198/2 = 99 Resto 0 99/2 = 49 Resto 1 1100011011011 49/2 = 24 Resto 1 24/2 = 12 Resto 0 12/2 = 6 Resto 0 6/2 = 3 Resto 0 3/2 = 1 Resto 1 1 MSB 11.Convertir el número Decimal 10010 a Binario. 8224/2 = 4112 Resto 0 LSB 4112/2 = 2056 Resto 0 2056/2 = 1028 Resto 0 1028/2 = 514 Resto 0 514/2 = 257 Resto 0 257/2 = 128 Resto 1 128/2 = 64 Resto 0 64/2 = 32 Resto 0 10000000100000 32/2 = 16 Resto 0 16/2 = 8 Resto 0 8/2 = 4 Resto 0 4/2 = 2 Resto 0 2/2 = 1 Resto 0 1 MSB 12. . Sergio E. Ávila P.Convertir el número Decimal 8224 a Binario.Convertir el número Decimal 6363 a Binario.

podríamos decir que la idea fundamental es sustituir la relación binaria de la semántica kripkeana por una relación ternaria. de modo que serán los problemas que el condicional ha venido planteando a lo largo de la historia de la lógica el objeto fundamental de nuestro estudio. La semántica de relación ternaria. hemos de hablar primero de las paradojas del condicional y de la semántica de los mundos posibles estándar o modelos Kripke. y el análisis de las ideas principales en las que se fundamenta creo que puede ser de gran interés para todos aquellos que trabajen en campos afines a la lógica y la filosofía del lenguaje. definida a comienzos de los años setenta por Routley y Meyer. me detendré en analizar de qué modo los modelos Kripke tratan de librarse de dichas paradojas desde un punto de vista semántico y explicaré cómo la semántica de relación ternaria lo consigue. Urquhart y Fine entre otros. como veremos. El manejo de la semántica relacional ternaria es verdaderamente útil dada su idoneidad para modelizar una gran variedad de lógicas. Por tanto.Convertir el número Decimal 11222 a Binario. algunas de ellas realmente especiales. Finalmente. como un tipo de implicación. daré unos apuntes sobre la negación dado que esta exposición se centra en la problemática del condicional y la negación puede también entenderse. Tales lógicas tienen como objetivo lograr un condicional que realmente represente la noción de implicación del lenguaje ordinario. expondré brevemente y de modo muy general cómo se consigue eliminar las paradojas del condicional dando lugar al nacimiento de las lógicas de la relevancia y a continuación.179 - . Ávila P. 11222/2 = 5611 Resto 0 LSB 5611/2 = 2805 Resto 1 2805/2 = 1402 Resto 1 1402/2 = 701 Resto 0 Sergio E. . De modo general. A continuación.ESCUELA POLITÉCNICA NACIONAL SISTEMAS DIGITALES 10010/2 = 5005 Resto 0 LSB 5005/2 = 2502 Resto 1 2502/2 = 1251 Resto 0 1251/2 = 625 Resto 1 625/2 = 312 Resto 1 312/2 = 156 Resto 0 156/2 = 78 Resto 0 78/2 = 39 Resto 0 10011100011010 39/2 = 19 Resto 1 19/2 = 9 Resto 1 9/2 = 4 Resto 1 4/2 = 2 Resto 0 2/2 = 1 Resto 0 1 MSB El objetivo de esta exposición es explicar del modo más claro y sencillo posible cómo funciona la semántica de relación ternaria y las ideas básicas en las que se basa desde el punto de vista de los problemas que plantean las lógicas para las que fue diseñada. 13. Para comprender los conceptos básicos de la semántica de relación ternaria. la estructura de esta exposición es la siguiente: comenzaré explicando el concepto de implicación de Lewis y cómo éste intenta eliminar las paradojas del condicional material clásico. se diseñó especialmente para modelizar las lógicas de la relevancia.

Convertir el número Decimal 13456 a Binario.ESCUELA POLITÉCNICA NACIONAL SISTEMAS DIGITALES 701/2 = 350 Resto 1 350/2 = 175 Resto 0 175/2 = 87 Resto 1 87/2 = 43 Resto 1 10101111010110 43/2 = 21 Resto 1 21/2 = 10 Resto 1 10/2 = 5 Resto 0 5/2 = 2 Resto 1 2/2 = 1 Resto 0 1 MSB 14.Convertir el número Decimal 23987 a Binario.180 - . Ávila P. 23987/2 = 11993 Resto 1 LSB 11993/2 = 5996 Resto 1 5996/2 = 2998 Resto 0 2998/2 = 1499 Resto 0 1499/2 = 749 Resto 1 749/2 = 374 Resto 1 374/2 = 187 Resto 1 Sergio E. . 13456/2 = 6728 Resto 0 LSB 6728/2 = 3364 Resto 0 3364/2 = 1682 Resto 0 1682/2 = 841 Resto 0 841/2 = 420 Resto 1 420/2 = 210 Resto 0 210/2 = 105 Resto 0 105/2 = 52 Resto 1 1010010010000 52/2 = 26 Resto 0 26/2 = 13 Resto 0 13/2 = 6 Resto 1 6/2 = 3 Resto 0 3/2 = 1 Resto 1 1 MSB 15.

1024/16 = 64 Resto 0 64/16 = 4 Resto 0 4 0 0 Sergio E. 17/16 = 1 Resto 1 1 1 2-Convertir el número Decimal 31 a Hexadecimal. 325/16 = 2 Resto 5 2 5 7.Convertir el número Decimal 1024 a Hexadecimal. Ávila P. 31/16 = 1 Resto 15 1 F 3-Convertir el número Decimal 112 a Hexadecimal.ESCUELA POLITÉCNICA NACIONAL SISTEMAS DIGITALES 187/2 = 93 Resto 1 101110111110011 93/2 = 46 Resto 1 46/2 = 23 Resto 0 23/2 = 11 Resto 1 11/2 = 5 Resto 1 5/2 = 2 Resto 1 2/2 = 1 Resto 0 1 MSB Decimal a Hexadecimal. .Convertir el número Decimal 169 a Hexadecimal. 112/16 = 7 Resto 0 7 0 4.181 - . 888/16 = 55 Resto 8 55/16 = 3 Resto 7 3 7 8 8.Convertir el número Decimal 325 a Hexadecimal. 169/16 = 1 Resto 9 1 9 6. 1-Convertir el número Decimal 17a Hexadecimal.Convertir el número Decimal 888 a Hexadecimal.

3333/16 = 208 Resto 5 208/16 = 13 Resto 0 D 0 5 11.Convertir el número Decimal 3333 a Hexadecimal. Ávila P. .Convertir el número Decimal 111222 a Hexadecimal. 6969/16 = 435 Resto 9 435/16 = 27 Resto 3 27/16 = 1 Resto 11 1 B 3 9 12.Convertir el número Decimal 12345 a Hexadecimal. 19876/16 = 1242 Resto 4 1242/16 = 77 Resto 10 77/16 = 4 Resto 3 4 3 A 4 14.Convertir el número Decimal 6969 a Hexadecimal.Convertir el número Decimal 33333 a Hexadecimal. 33333/16 = 2083 Resto 5 2083/16 = 130 Resto 3 130/16 = 8 Resto 2 8 2 3 5 15.182 - . 1999/16 = 124 Resto 15 124/16 = 7 Resto 12 7 C F 10.Convertir el número Decimal 19876 a Hexadecimal. 111222/16 = 6951 Resto 6 6951/16 = 434 Resto 7 Sergio E. 12345/16 = 771 Resto 9 771/16 = 48 Resto 3 48/16 = 3 Resto 0 3 0 3 9 13.ESCUELA POLITÉCNICA NACIONAL SISTEMAS DIGITALES 9.Convertir el número Decimal 1999 a Hexadecimal.

registradores. Una de las principales aplicaciones de la electrónica digital es el diseño de dispositivos capaces de efectuar cálculos aritméticos. Ávila P. el cual escribió acerca de dicho suceso en sus diferentes tipos de memorias en la cual alcanzo diferentes logros.al cual apodó "Modelo K" (porque lo construyó en una cocina. De este modo. como una subfunción que les permita realizar su cometido principal (medidores. Los Laboratorios Bell autorizaron un completo programa de investigación a finales de 1938. Máquinas registradoras. Algunos participantes de la conferencia que presenciaron la demostración fueron John Von Neumann. es necesario entender las operaciones aritméticas fundamentales en términos del sistema de numeración binario. el matemático británico George Boole.) Por ello. particularmente en el desarrollo de circuitos electrónicos. John Mauchly y Norbert Wiener. lo cual coincidió con su descubrimiento del concepto del número cero. En este capítulo se tratan las operaciones fundamentales en el sistema binario solamente para números enteros. En una demostración en la conferencia de la Sociedad Americana de Matemáticas. En 1854. etc. el 11 de septiembre de 1940. con Stibitz al mando. la cual era capaz de realizar cálculos con números complejos. El 8 de enero de 1940 terminaron el diseño de una Calculadora de Números Complejos.ESCUELA POLITÉCNICA NACIONAL SISTEMAS DIGITALES 434/16 = 27 Resto 2 27/16 = 1 Resto 11 3 B 2 7 6 ARITMETICA BINARIA HISTORIA El antiguo matemático Indio Pingala presentó la primera descripción que se conoce de un sistema de numeración binario en el siglo tercero antes de Cristo. y dado que los sistemas digitales sólo pueden manejar información binaria. Pues bien. Titulada Un Análisis Simbólico de Circuitos Conmutadores y Relés. es decir.que utilizaba la suma binaria para realizar los cálculos. en inglés "kitchen"). En 1937. Leibniz usó el 0 y el 1. publicó un artículo que marcó un antes y un después. Sergio E. El sistema binario moderno fue documentado en su totalidad por Leibniz en el siglo diecisiete en su artículo "Explication de l'Arithmétique Binaire". en 1957 Lemmon define los sistemas de Lewis como extensiones de la lógica clásica con el operador de necesidad □ y una serie de axiomas que rigen su comportamiento. George Stibitz. La primera de estas dos es una extensión casi inmediata del la aritmética entera. controladores. sin duda. la negación y el operador de posibilidad.183 - . en la cual implementaba el Álgebra de Boole y aritmética binaria utilizando relés y conmutadores por primera vez en la historia. por tanto. Stibitz logró enviar comandos de manera remota a la Calculadora de Números Complejos a través de la línea telefónica mediante un teletipo. Claude Shannon realizó su tesis doctoral en el MIT. detallando un sistema de lógica que terminaría denominándose Álgebra de Boole. la aritmética de punto fijo y la de punto flotante. que requiere explicación semántica es el operador de necesidad. la tesis de Shannon básicamente fundó el diseño práctico de circuitos digitales. construyó un ordenador basado en relés . Fue la primera máquina computadora utilizada de manera remota a través de la línea de teléfono. Un tratamiento más general debe contener un tratamiento de números fraccionarios. Lo único. al igual que el sistema de numeración binario actual. la disyunción. Dicho sistema jugaría un papel fundamental en el desarrollo del sistema binario actual. etc. computadoras.) o bien. trabajando por aquel entonces en los Laboratorios Bell. con la conjunción. se retoma la noción de verdad necesaria como “verdad en todos los mundos posibles” y esto. ya sea como principal objetivo (calculadoras. favorece el advenimiento de la semántica de los mundos posibles. Como anoté más arriba Lewis define sus sistemas de la implicación estricta. . En noviembre de 1937.

dados dos mundos posibles a. los modelos Kripke rechazan las paradojas del condicional material ¿cómo? Definiendo la implicación estricta de una determinada manera. supondríamos que no es válida y trataríamos de llegar a una contradicción.184 - . cI≠A).ESCUELA POLITÉCNICA NACIONAL SISTEMAS DIGITALES Si bien anteriormente vimos cómo definir lógicas sin paradojas desde un punto de vista sintáctico. no podemos tener: A→ (B→A) Para intentar probar que esta fórmula es válida. Sin embargo. Tales lógicas tienen como objetivo lograr un condicional que realmente represente la noción de implicación del lenguaje ordinario. Tenemos que A es verdadera en un mundo posible (b) y falsa en otro (c) ¿Y? No llegamos a ninguna contradicción porque una de las características esenciales de esta semántica es que una misma fórmula puede ser verdadera en algunos mundos posibles y falsa en otros. Rab puede leerse de este modo: b es accesible desde a) y una función de evaluación que asigna a cada fórmula en cada mundo posible un valor de verdad (con la función de evaluación especificamos cuándo las fórmulas de nuestra lógica (las fórmulas conjuntivas. Pues bien. Ávila P. se diseñó especialmente para modelizar las lógicas de la relevancia. Por ejemplo. aquellas fórmulas no son válidas aquí. llegamos a concluir que una de las fórmulas (A) es verdadera y falsa en un mismo mundo posible. implicativas. Para empezar. Por ejemplo. es una estructura en la que contamos con el conjunto de todos los mundos posibles (K). El consecuente es una implicación por tanto hay otro mundo accesible (hay cєK tal que Rbc. Urquhart y Fine entre otros. de nuevo la semántica de los mundos posibles estándar no consigue evitar todas las paradojas. De este modo conseguimos evitar las paradojas que encontrábamos en la lógica clásica. bI=A.. entonces B es verdadera: aI=A→B syss Ұbє K [(Rab & bI=A)↔bI=B] La definición de validez es la siguiente: una fómula A es válida si ésta es verdadera en todos los mundo posibles de todos los modelos: I=A syss aI=A para todo aєK de todos los modelos. Por reducción al absurdo. Esta semántica no logra evitar todas las paradojas porque define la validez respecto de todo el conjunto de los mundos posibles y porque trata la implicación con una relación binaria. procederíamos por reducción al absurdo es decir. una relación binaria definida en (K) que puede entenderse como una relación de accesibilidad entre mundos posibles (por ej. Para poder explicar mejor esta definición. algunas de ellas realmente especiales. definida a comienzos de los años setenta por Routley y Meyer. y el análisis de las ideas principales en las que se fundamenta creo que puede ser de gran interés para todos aquellos que trabajen en campos afines a la lógica y la filosofía del lenguaje. ? B?A. por válido entendemos aquello que es verdadero en todos los mundos posibles). Para eliminar las paradojas hemos de recurrir a una semántica de relación ternaria. De modo general. ahora veamos cómo entenderíamos esas lógicas desde un punto de vista semántico. El manejo de la semántica relacional ternaria es verdaderamente útil dada su idoneidad para modelizar una gran variedad de lógicas. Sergio E. en esta semántica trabajamos con modelos y un modelo aquí. podemos decir de modo tosco. La semántica de relación ternaria. sin profundizar demasiado. Pues bien. partiendo de la hipótesis de que esta regla no es válida conseguimos llegar a una contradicción. si suponemos que no es válida. que utilizamos una semántica para intentar demostrar que en un determinado sistema lógico todo lo derivable es válido y que todo lo válido es derivable (en este caso. hay un mundo posible en el que no es verdadera (aI≠ A→ (B→A)) y esto quiere decir que hay un mundo posible accesible desde éste en el que el antecedente es verdadero y el consecuente es falso (hay bєK tal que Rab. de modo muy general y de nuevo sin profundizar. negativas) son verdaderas y cuándo son falsas). A implica estrictamente a B en un mundo posible a si y sólo si en todos los mundos accesibles desde a. b. cI=B. de modo que serán los problemas que el condicional ha venido planteando a lo largo de la historia de la lógica el objeto fundamental de nuestro estudio. a saber. bI≠(B→A)) . disyuntivas. Teniendo todo esto en cuenta veamos ya cómo se define la implicación en esta semántica. El objetivo de esta exposición es explicar del modo más claro y sencillo posible cómo funciona la semántica de relación ternaria y las ideas básicas en las que se basa desde el punto de vista de los problemas que plantean las lógicas para las que fue diseñada. . en esta semántica es valida la regla conocida como la regla K: si ?A. si A es verdadera.

la sustracción. . me detendré en analizar de qué modo los modelos Kripke tratan de librarse de dichas paradojas desde un punto de vista semántico y explicaré cómo la semántica de relación ternaria lo consigue. como un tipo de implicación. Repite desde 3 mientras que i < n. Para comprender los conceptos básicos de la semántica de relación ternaria.ESCUELA POLITÉCNICA NACIONAL SISTEMAS DIGITALES podríamos decir que la idea fundamental es sustituir la relación binaria de la semántica kripkeana por una relación ternaria. el producto y la división. Si = LSB(Ai + Bi + Ci). esas operaciones incluyen la adición.Sea Ci el acarreo (carry) generado al sumar los bits AiBi (Ai+Bi) 2. como veremos. Sea i=0 y Ci =0 3. pueden hacerse algunas simplificaciones que facilitan mucho la realización de las operaciones. Incrementa i 6. Sea i=0 y Ci =0 2. con datos numéricos expresados en el sistema binario. La función LSB[] devuelve el bit menos significativo del argumento 4.185 - . pero debido a la sencillez del sistema de numeración. OPERACIONES ELEMENTALES CON NÚMEROS BINARIOS La Unidad Aritmético Lógica. hemos de hablar primero de las paradojas del condicional y de la semántica de los mundos posibles estándar o modelos Kripke. Las operaciones se hacen del mismo modo que en el sistema decimal. Ci+1 = MSB(Ai + Bi + Ci) y Si = Si -2 5. en la CPU del procesador. la estructura de esta exposición es la siguiente: comenzaré explicando el concepto de implicación de Lewis y cómo éste intenta eliminar las paradojas del condicional material clásico.(Bi + Ci) y Ci+1 =0 en caso contrario Ri = LSB[ (Bi + Ci) . 3. Aritmética binaria básica a)Suma binaria 1. Sea Ci el acarreo (borrow) generado al restar los bits Ai Bi 2. Por tanto. A continuación. Ávila P. es capaz de realizar operaciones aritméticas. Naturalmente. daré unos apuntes sobre la negación dado que esta exposición se centra en la problemática del condicional y la negación puede también entenderse. Ejemplos: c) Resta binaria 1. Incrementa i 5.Ai] y Ci+1 =1. Si Ai >= (Bi + Ci) entonces Ri = Ai . expondré brevemente y de modo muy general cómo se consigue eliminar las paradojas del condicional dando lugar al nacimiento de las lógicas de la relevancia y a continuación. Finalmente. Repite desde 3 mientras que i < n Sergio E.

colocando un numero encima del otro. Todos los números bajo la misma columna tienen el mismo valor posicional. . Del gráfico de la figura 1 podemos sacar las siguientes conclusiones: 1. salvo que la suma final se realiza en binario. Los números o sumandos se suman en paralelo o en columnas. Sergio E.ESCUELA POLITÉCNICA NACIONAL SISTEMAS DIGITALES Ejemplo: c) Multiplicación binaria La multiplicación binaria sigue las mismas reglas que la correspondiente a la base diez. Ávila P. La diferencia radica en que en los números binarios se produce un acarreo (carry) cuando la suma excede de uno mientras en decimal se produce un acarreo cuando la suma excede de nueve(9). Ejemplos: d) División binaria Ejemplos: Suma Binaria Figura 1: Suma binaria La suma o adición binaria es análoga a la de los números decimales.186 - .

Ávila P. el proceso de resta binaria.B (borrow) En la figura siguiente se muestra el proceso de resta de 2 números binarios de 5 bits. en binario. Al igual que en la suma.ESCUELA POLITÉCNICA NACIONAL SISTEMAS DIGITALES 2. La operación de un semisumador como el anterior mostrado en la figura se puede sintetizar suma binaria donde se tenga presente un carry de entrada se debe implementar un circuito que tenga presente esta nueva variante. conexión en bloques utilizando semirrestadores y una puerta OR y el diagrama lógico de un restador completo. se inicia en la columna correspondiente a la de los dígitos menos significativos. la diferencia y el préstamo. mientras que en decimal se produce un préstamo de 10. si existe. La diferencia radica en que. llamado semirrestador (HS). se produce un préstamo o borrow de 2. y el préstamo anterior y ofrezca como salidas. Figura: Semirrestador Figura: Restador completo Sergio E. como es el caso del sumador completo. cuando el minuendo es menor que el sustraendo. La operación de un Semirrestador como el mostrado en la figura anterior se puede resumir mediante las 5 ecuaciones booleanas: Di=A·B(neg)+A(neg)·B= A(xor)B (diferencia) Bi=A(neg).187 - . que sustrae un B de un bit A y suministra un bit de diferencia (Di) y un bit de préstamo (Bo). En la figura 7 se muestra el diagrama de bloques. El objeto de esta operación es ilustrar el manejo de los préstamos y plantear la necesidad de un restador completo de 2 bits que tenga. el minuendo. como entradas. El orden de ubicación de los números no importa (propiedad conmutativa). el sustraendo. El sumador completo tiene 3 entradas que se ) Figura: Semisumador Figura: Sumador completo Resta Binaria Figura 5: Resta binaria La resta o sustracción de números binarios es similar a los números decimales. En la figura 5 se indican las reglas que rigen la resta binaria y en la figura 6 se muestra un circuito lógico. Figura 2: Reglas para la suma binaria En la figura 2 se indican las reglas que rigen la suma binaria y en la figura 3 se muestra un circuito lógico llamado semisumador. que suma 2 bits (A y B) que genera un bit de suma y un bit de acarreo cuando este se produce. .

es decir. Pero conviene repasar la operación de restar en decimal para comprender la operación binaria. llegamos al resultado correcto: 11000100 en binario. sumándola.188 - . ------ 010000101011 0100 0010 1011 Y. . en binario. 196 en decimal Utilizando el complemento a 1.1 = 1 y me llevo 1. Esa unidad prestada debe devolverse. Tenemos interiorizado el sistema decimal y hemos aprendido a restar mecánicamente. igual que en el sistema decimal. igual que en el sistema decimal.ESCUELA POLITÉCNICA NACIONAL SISTEMAS DIGITALES El algoritmo de la resta.1 se resuelve. sustraendo y diferencia. 2 – 1 = 1. tomando una unidad prestada de la posición siguiente: 10 . que es más sencilla. 2910 .-----. sumándola.2110 La resta 0 . Ejemplo: Ejemplo: 11001 – 1010 = Sergio E. vemos cómo se divide una resta larga en tres restas cortas: Restamos 100110011101 1001 1001 1101 -010101110010 -0101 -0111 -0010 ------------------.1 se resuelve. Veamos algunos ejemplos: Restamos 17 . es fácil confundirse. a la posición siguiente. es el mismo que en el sistema decimal. 2 – 1 = 1. Veamos algunos ejemplos: Restar 11101 . 4510 . es decir. tomando una unidad prestada de la posición siguiente: 10 . Las restas básicas 0-0. 1-0 y 1-1 son evidentes: 0–0=0 1–0=1 1–1=0 La resta 0 . La resta de dos números binarios puede obtenerse sumando al minuendo el complemento a uno del sustraendo y a su vez sumarle el bit de overflow (bit que se desborda).= ------. lo que equivale a decir en decimal.10 = 7(2=345) Restamos 217 .10101. lo que equivale a decir en decimal. Para simplificar las restas y reducir la posibilidad de cometer errores hay varias soluciones: Dividir los números largos en grupos.171 = 46 (3=690) 10001 11011001 -01010 -10101011 ------. ------------ 00111 00101110 Restar 101101 . Los términos que intervienen en la resta se llaman minuendo. Ávila P. despreciando el bit que se desborda por la izquierda.1 = 1 y me llevo 1.710 A pesar de lo sencillo que es el procedimiento.111. En el siguiente ejemplo. sin detenernos a pensar en el significado del arrastre. a la posición siguiente. Esa unidad prestada debe devolverse.

El de la izquierda contiene cero en todos sus bits al comenzar y en el se almacenan las sumas parciales. En general los sumadores que dispondremos en las computadoras son capaces de sumar dos números por lo tanto debemos adoptar el algoritmo e ir acumulando el resultado parcial y sucesivamente sumar el multiplicando corrido si el bit del multiplicador así lo indica.ESCUELA POLITÉCNICA NACIONAL SISTEMAS DIGITALES Producto de números binarios El producto de números binarios es especialmente sencillo. . ya que el 0 multiplicado por cualquier número da 0. De esta forma los sucesivos bits del multiplicador están ubicados en el último bit del registro y eso le permite a la unidad decidir si sumar el multiplicando o cero. Si procedemos igual que en decimal una multiplicación resultaría: 010011 101101 ------ 010011 000000 010011 010011 000000 010011 ----------- 01101010111 De esta forma deben sumarse muchos bits simultáneamente por columna. La configuración más sencilla consiste en un acumulador de 2n bits. tres. sin contar los bits de transporte ( carry ) de las columnas anteriores. De esta forma la unidad pierde el valor del multiplicador y al final el resultado esta en los 2n bits del acumulador. cuatro. ----------------- 10110 11010110111 00000 11010110111 Sergio E. En nuestro caso hay una columna de seis bits. Luego de cada suma se corre el acumulador un lugar a la derecha. Para la multiplicación de números binarios utilizaremos las mismas reglas que para la multiplicación de números decimales. el de la derecha al comenzar contiene el multiplicador y la unidad puede detectar si el último bit vale 0 o 1. Ávila P. La tabla de multiplicar es mucho más sencilla ya que solo tiene dos entradas 0 y 1. multipliquemos 10110 por 1001: 10110 11010110111 1001 101011 --------. ingresando el bit de carry.189 - . Como los números pueden estar almacenados con o sin bit de signo se presentan varios casos que trataremos en forma sepa Por ejemplo. separado en dos registros de n bits. Una primera conclusión es que aunque se multiplican dos números de 6 bits y el resultado es de 12 bits ( en general los dos números de n bits y el resultado de 2n bits ) no hace falta un sumador de 12 bits si se cuenta con un sumador de 6 bits que se corre un lugar para la izquierda. El mismo efecto se consigue si se mantiene fijo el sumador y el multiplicando y se corre el resultado acumulado a la derecha un bit cada vez. En el desarrollo para justificar los resultados todos los números negativos estarán representados en complemento a la base (o complemento a dos ). dos y uno. y el 1 es el elemento neutro del producto. dos de cinco.

190 - . el multiplicando negativo En este caso al resultado hay que corregirlo. 00000000000 11000110 11010110111 ------------------------ 10010000010111101 Multiplicación de números binarios positivos 101101 110011 ------ 101101 101101 ------- 10000111 000000 -------- 10000111 000000 --------- 010000111 101101 ---------- 1101010111 101101 ----------- 100011110111 Multiplicación de números binarios. Ávila P. . Debe entonces restarse el multiplicador corrido n bits.ESCUELA POLITÉCNICA NACIONAL SISTEMAS DIGITALES 00000 00000000000 10110 11010110111 --------. 101101 011011 ------ 101101 101101 ------- 10000111 000000 -------- 10000111 101101 --------- 111101111 101101 ---------- 10010111111 000000 ----------- 010010111111 100101 Corrección sumando el complemento ------------ 110111111111 Da negativo con bit de signo y complemento Sergio E. teniendo en cuenta que los cálculos realizados son: Al resultado correcto le sobra el multiplicador corrido n bits.

el resultado de multiplicar el divisor por 1 es el propio divisor. donde la salida de suma puede mandarse a un visualizador el cual sería el LSB del resultado de la suma y la otra salida es la del CARRY OUT. Restamos las cifras del dividendo del divisor y bajamos la cifra siguiente. casi inmediatos para dar un resultado. Ejemplo: 100010 / 110 = SUMADORES Y RESTADORES EN PARALELO Los circuitos que realizan operaciones en paralelo son mas rápidos en sus respuestas. el divisor sólo podrá estar contenido una vez en el dividendo. El CARRY OUT del ultimo sumador debe mandarse a un visualizador "en este caso" para tener presente el ultimo arrastre que se pueda generar. habrá igual numero de sumadores completos como bits menos 1 tengan las palabras binarias a sumar. la primera cifra del cociente es un UNO. se intenta la división tomando un dígito más (1001 entre 100).Para el caso de un sumador se toma el bit LSB de cada una de las palabras que vayan a ser sumados y se llevan hacia las dos entradas de un semisumador (HA). sino de un sumador completo y. Si la división es posible. De ahora en adelante en este ejercicio tomado como ejemplo (ver figura 9) las conexiones que se harán de la forma ya Figura 8: Sumador paralelo descrita (teniendo presente 3 entradas a sumar) con la única variante de que el CARRY IN ya no viene de un semisumador. entonces. Ávila P. en el ejemplo). es decir. empezando por tomar en ambos el mismo número de cifras (100 entre 110. Esta es llevada a un sumador completo (FA). en binario: Se intenta dividir el dividendo por el divisor. la división es muy fácil de realizar. Si aun te preguntas donde esta la conexión en paralelo regresa a la figura anterior y observa que los bits que son sumados (en HA y/o FA) son aquellos que tiene el mismo peso o valor por posición en cada uno de las palabras binarias. En ese caso.191 - . Si no puede dividirse. debido a que el primer dispositivo a sumar es un semisumador. El multiplicando es ahora de 2n bits de largo y los cálculos son: División de números binarios Igual que en el producto. RESTADORES Sergio E. 42 : 6 = 7. . Consideremos el siguiente ejemplo.ESCUELA POLITÉCNICA NACIONAL SISTEMAS DIGITALES 001000000001 Valor absoluto Se puede evitar realizar la corrección si se extiende el bit de signo. el cual tiene presente 3 entradas que son : los dos bits consecutivos a los LSB de cada palabra binaria y un arrastre o acarreo de entrada que como mencionamos viene del semisumador (CARRY IN). porque no son posibles en el cociente otras cifras que UNOS y CEROS.

es decir: Minuendo + (-Sustraendo) = Diferencia Por ejemplo.ESCUELA POLITÉCNICA NACIONAL SISTEMAS DIGITALES La columna del 1 de la figura que se muestra al final utiliza un semirrestador (HS). Sumar el minuendo al sustraendo en complemento a 2. No considerar el «overflow» (rebose). La entrada Cin del primer FA esta en un nivel ALTO. SUMADORES PARA LA RESTA En una resta binaria están involucradas tres variables bien definidas: Minuendo. SUMADORES/RESTADORES Si observamos los dos últimos gráficos podemos apreciar que estos circuitos son muy parecidos por lo que nos queda fácil implementar un circuito que realice las dos operaciones tratadas (suma y resta). en vez de ser concebido para propósitos de uso general. En un lugar intermedio entre los ASIC y los productos de propósito general están los Productos Estándar para Aplicaciones Específicas. Por otro lado. Surge entonces una nueva forma en que podemos realizar la resta binaria. las cuatro puertas XOR no tienen efecto en el dato de las entradas B (el dato pasa a través de las puertas XOR y no es invertido). los circuitos integrados de la serie 7400 son circuitos lógicos (combinacionales o secuenciales) que se pueden utilizar para una multiplicidad de aplicaciones. Si esta entrada está en un nivel bajo (0 lógico). El nivel alto de la entrada Cin en el FA del 1 es lo mismo que sumar +1 al sustraendo. Ávila P. Cada una de las salidas Di de los restadores esta conectada a un indicador de salida para mostrar la diferencia.4 y 2 utilizan restadores completos (FS). Se invierte el Figura 12: Sumador/restador de 4 bits sustraendo (entradas B). Sustraendo y Diferencia. es posible implementar la resta sumando el negativo del sustraendo al minuendo. La razón por la cual el circuito anterior funciona como restador . lo que es lo mismo que sumar +1 al sustraendo en complemento a 1.192 - . la resta de 10 menos 5 se puede expresar como: 10 + (-5) = 5 Aplicando esta definición. estos parámetros se relacionan así: Minuendo . Cuando la entrada de Modo de Control esta en un nivel alto (1 lógico). Un Circuito Integrado para Aplicaciones Específicas. Se usan para una función especifica. CIRCUITOS PRÁCTICOS Estos circuitos no son mas que una estandarización de la circuitería empleada para el caso de los sumadores completos (FS) que el FA trabaja como HA. Según la ley de la resta. Las columnas Figura 10: Sumador paralelo práctico del 8. Por ejemplo. La diferencia (resultado) se puede apreciar en los visualizadores. o ASSP por sus siglas en inglés. Se descarta el MSB. Sergio E. la cual se rige por las siguientes reglas: 1. . 2. y los bits restantes indican la diferencia binaria. Cambiar el sustraendo a su forma en complemento a 2. El circuito Sumador/Restador mostrado en la figura 12 tiene una entrada adicional denominada MODO DE CONTROL.Sustraendo = Diferencia La resta de dos números se puede expresar también como la suma del minuendo mas el negativo del sustraendo. es un circuito integrado hecho a la medida para un uso en particular. las cuatro XOR actúan como inversores. La entrada Cin del primer FA es mantenido en un nivel BAJO. se debe a que los cuatro inversores convierten el sustraendo binario a su complemento a 1 (cada 1 es cambiado a 0 y cada 0 a 1). Las lineas de préstamo conectan la salida Bo de un restador a la entrada Bin del siguiente bit mas significativo. El minuendo y el sustraendo en complemento a 2 se suman. lo cual hace que este primer FA trabaje como semisumador. o ASIC por sus siglas en inglés. El terminal Co del ultimo FA se descarta (overflow). Las lineas de prestamos siguen las pista de los muchos prestamos de la resta binaria. un chip diseñado únicamente para ser usado en un teléfono móvil es un ASIC. Este tipo de restador da una respuesta casi inmediata.

3. Las ULAs tenían complejidades de hasta algunos miles de puertas. para describir la funcionalidad de estos dispositivos. y un buen desempeño eléctrico.193 - . la ULA (Uncommitted Logic Array o Matriz lógica no fija). un diseñador elegía a un fabricante de ASIC. Ferranti fabricó tal vez la primera matriz de puertas. a menos que se introduzcan fallas al nivel físico de fabricación. Una solución a este problema. tales como Verilog o VHDL. más de un millón de dólares para una tecnología de 90nm o menor. Las FPGA (Field Programmable Gate Arrays. Historia Los primeros ASIC utilizaban tecnología de matriz de puertas. Estos pasos. Este tipo de diseño contempla las siguientes etapas conceptuales. casi siempre producen un dispositivo final que implementa correctamente el diseño original. que además permitió aumentar la densidad de los ASIC. alrededor de 1980. en un ASIC ha crecido desde 5.000 puertas lógicas a más de 100 millones. bloques de memoria RAM. tales como el Design Compiler. Sumar el MSB del numero binario al bit situado a su derecha inmediata y anotar el resultado del numero en código Gray que estamos formando. hasta llegar al LSB. Algunos moldes base incluían elementos de RAM. Cada fabricante de ASIC creaba bloques funcionales con características eléctricas conocidas. Para los diseños más pequeños o con volúmenes de producción más bajos. A pesar de que existían herramientas de diseño provista por terceros. Las versiones posteriores fueron más generalizadas. Este tipo de ASIC frecuentemente es llamado Sistema en un Chip. EEPROM y Flash. Contienen bloques de lógica programable e interconexiones programables que permiten a un modelo de FPGA ser usada en muchas aplicaciones distintas. Conversion de Binario a Gray El MSB del numero binario será el mismo para el código Gray. y luego implementaba el diseño utilizando las herramientas provistas por ese fabricante en particular.ESCUELA POLITÉCNICA NACIONAL SISTEMAS DIGITALES Con los avances en la miniaturización y en las herramientas de diseño. 1. especialmente en las tecnologías más densas. matriz de puertas programables) son la versión moderna de los prototipos con puertas lógicas de la serie 7400. en término de los costos fijos y de fabricación de cada unidad. que podían ser representadas en las herramientas desarrolladas por terceros. . y por ende la funcionalidad. El número en código Gray tendrá el mismo número de bits que el número binario. las FPGAs pueden tener un costo menor que un diseño equivalente basado en ASIC. debido a que el costo fijo (el costo para preparar una línea de producción para que fabrique un ASIC en particular). Continuar sumando bits a los bits situados a la derecha y anotando las sumas. fue la implementación de Celdas Estándares. Los ASIC modernos a menudo incluyen procesadores de 32-bit. Esto dio paso a un estilo de diseño llamado Diseño basado en Celdas Estándares. capacitancias e inductancias. El diseño a la medida se realizaba al variar la máscara de interconexión metálica. así como otros tipos de módulos. y el diseño hecho totalmente a la medida. Este tipo de diseño se ubica entre diseño de Matriz de Puertas. Estas herramientas podían compilar descripciones HDL en una lista de nodos al nivel de puertas. Hacia finales de 1980. tales como los tiempos de propagación. Diseño basado en Celdas Estándares (Standard Cell) A mediados de 1980. Ilustraremos mejor esta explicación con un ejemplo: Ejemplo: convertir el numero binario 0010 a código Gray Sergio E. Los diseñadores de ASIC digitales usan lenguajes descriptores de hardware (HDL). o SoC. ROM. por sus siglas en inglés. aunque en la práctica estas etapas se traslapan significativamente. 2. Sumar el MSB del numero binario al bit situado a su derecha inmediata y anotar el resultado del numero en código Gray que estamos formando. Ávila P. 4. es muy alto. llevados a cabo con el nivel de habilidad común en la industria. estuvieron disponibles las herramientas de síntesis lógica. El diseño basado en Celdas Estándares es el uso de estos bloques funcionales para alcanzar densidades de puertas muy altas. no había un enlace efectivo entre éstas y los procesos productivos de los fabricantes. la complejidad máxima. con moldes base configurados tanto por las capas metálicas como polisiliconicas.

2. y el resultado se anotara a la derecha del número binario a formar. pero simplemente decir que no se realiza de forma coherente con este sistema. Entonces el numero binario 0010 equivale al 0011 en código Gray Conversión de Gray a Binario El bit izquierdo de código Gray será el MSB del número binario. . un byte nos permitirá.ESCUELA POLITÉCNICA NACIONAL SISTEMAS DIGITALES Aquí finaliza la conversión dado que ya llegamos al LSB del numero binario. el número es negativo y se encuentra en su forma complementada. 4. será tan sencillo como en los siguientes ejemplos: 01101010b -> 106 decimal 10000010b -> -2 decimal 00000010b -> 2 decimal 10000111b -> -7 decimal 100000000b.el 1. + 5 es positivo y se expresará directamente pro su magnitud en binario como 0000101 . se han ideado una serie de sistemas que pretenden solucionar este problema. BIT DE SIGNO (S): En el sistema de numeración de complemento a dos el MSB se denomina bit de signo y se usa para indicar el signo del número representado. Ávila P. 0000000b -> 0 decimal El problema de esta representación. Este resultado se le suma al bit situado a la derecha inmediata del último bit que sumamos y el resultado será el otro bit del número binario (se ordena de izquierda a derecha). no voy a pararme a explicar cómo se resta en binario . al aplicar el complemento a 2 a un número binario. la primera cifra del número hará de signo -. Sergio E.194 - . Así pues. reside en que no se pueden realizar restas con facilidad. equivale a cambiarle el signo (multiplicar por -1) q Ejemplo: 11010112 es un número de 7 bits. incluyendo el bit signo. 5. 3. Entonces. Así. Repetir el paso anterior hasta llegar al bit mas a la derecha del código Gray. ¿Cuál es su equivalente decimal? Como el bit signo es = 1. haciendo el bit más significativo (el que está más a la izquierda) el signo negativo o positivo. Tomaremos entonces. Este resultado se le suma al bit situado a la derecha inmediata del último bit que sumamos y el resultado será el otro bit del número binario (se ordena de izquierda a derecha). como signo .se deduce de todas formas fácilmente de la resta decimal -. S = 1 El número es negativo y está en la forma complementada Ejemplo: Expresar +5 y -5 en una palabra de 8 bits en el sistema de complemento a 2. Este resultado se le suma al bit situado a la derecha inmediata del último bit que sumamos y el resultado será el otro bit del número binario (se ordena de izquierda a derecha). El bit obtenido es sumado al segundo bit de la izquierda del código Gray. REPRESENTACION DE VALORES EN COMPLEMENTO Magnitud Con los números binarios tenemos un problema: no sabemos representar números negativos. En este sistema. el más sencillo de los cuales es el signo/magnitud. de acuerdo a la siguiente convención: S = 0 El número es positivo y el resto de los bits indica su magnitud directamente. teniendo dos representaciones para el 0 (00000000 y 100000000). 6. tendremos un rango que irá de 127 a 127 (sin signo iría de 0 a 255).510 Obsérvese que de acuerdo a esta convención del sistema de complemento a dos. 1. El número de bits del número binario deberá coincidir con el número de bits del número en código Gray.5 es negativo y estará expresado en la forma de complemento a 2 como: +5=00000101 Complemento a 2: 1 1 1 1 1 0 1 1 = .

En cambio si |A|>|B| el resultado es un número negativo que debe expresarse como: 2n – (A-B) – 1 De hecho. el número es positivo y el resto de los bits indican su magnitud. En ella lo que se hace básicamente es. para representar el negativo de un número. incluyendo el bit signo. el término 2n. Se disponen de dos números binarios A y B de distinto signo. invertir absolutamente todos los bits que lo forman (excepto el primero. al resultado correcto se le suma el término 2n. que debe despreciarse y se le resta una unidad. a) magnitud(A) < = magnitud(B) (|A|<=|B|) Si A es un número negativo. o sea. de la suma real. entonces en Ca1 expresa la cantidad 2n – |A| . el carry de salida. que como en Signo/Magnitud será 1 para el negativo y 0 para el positivo). y además el resultado correcto aparece con una unidad menos. entonces el resultado debe ser un número positivo que en Ca1 se expresaría como: (B-A) Pero la suma de las cantidades 2n – A -1 con B genera el resultado 2n + (B-A) – 1 por tanto si B>=A. de la suma de A y B debe ser 2n – (A+B) – 1 Pero la suma de estas cantidades genera el siguiente resultado 2n –A – 1 +2n –B-1 =2n – (A+B) -1 + 2n –1 Nos sobra. Ávila P. Sergio E.|B| . . expresado en Ca1.1 2n . Convirtiendo +535 a Hexadecimal: Obsérvese que para indicar este resultado se requieren por lo menos 11 bits. el -X. Complemento a 1 Un sistema mejorado para la representación de números negativos (aunque ya veremos como todo esto va haciendo más compleja su interpretación) es el complemento a 1. 2. esta es la cantidad que se obtiene por la suma de ambos números.ESCUELA POLITÉCNICA NACIONAL SISTEMAS DIGITALES 1 1 0 1 0 1 1 : número negativo 0 0 1 0 1 0 1 : valor absoluto (complemento a dos del número) 21 : equivalente decimal del complemento entonces: [1101011]2 = -2110 Ejemplo: Si (01101011)2 es un número de 8 bits. número positivo: 0 1 1 0 1 0 1 1 = 107 10 valor absoluto : 0 1 1 0 1 0 1 1 entonces (01101011)2 =+10710 Ejemplo: Cuál es el equivalente en binario de complemento a dos de (-535)10 ? Usaremos hexadecimal como paso intermedio a binario.1 Donde n es el número de bits de A y B y |A|. pero ahora no se genera carry puesto que A-B es una cantidad positiva que se resta a 2n – 1.195 - . I) Se disponen de dos números A y B positivos Este caso es idéntico al del Ca2 puesto que los números positivos se expresan igual II) Se disponen de dos números A y B negativos 13Si Ay B son números negativos sin parte fraccionaria. ¿Cuál es su equivalente decimal? Como el bit signo es = 0. entonces en Ca1 expresa la cantidad 2n – |A| . El resultado correcto.1 Si |A|<=|B|. |B| son las magnitudes de ambos números.

esto es. para n = 16. el número positivo 950310 se representa igual que en Signo Magnitud o que en Binario Puro: Por tanto. n = 6. Ejemplo: En Complemento a 1. Por ejemplo: Si N = 10110101101010101110 su complemento a uno es: El complemento a uno también se puede definir como una unidad menor que su complemento a dos. El complemento a uno de un número binario N se obtiene al cambiar cada uno de sus elementos por su complementario. exclusivamente. se pueden representar 216 .1 .1 . por la misma razón.ESCUELA POLITÉCNICA NACIONAL SISTEMAS DIGITALES La aritmética en Ca1 permite la realización de sumas y restas utilizando. expresado en binario (101101). el rango de representación es: Así pues. 11111000b -> -7 decimal Ejemplo: En Complemento a 1. este sería 10000001. su complemento a uno es una unidad más pequeño: 010011 -000001 ------- 010010 En Complemento a 1. es decir: y. que lo que hemos hecho es darle la vuelta a las 7 últimas cifras del número).1 = 65535 números enteros.196 - . tiene 6 dígitos: N = 45. un sumador binario. El resultado correcto de la operación aritmética se obtiene despreciando el carry de salida que se utiliza para sumar una unidad al resultado. Por ejemplo. es decir. el rango de representación es el mismo que en Signo Magnitud: Otro ejemplo de esta representación: 01101010b -> 106 decimal 11111110b -> -1 decimal (si comparamos con el signo/magnitud.10010100011111 = = 1101101011100000C1 Sergio E. calculemos el complemento a 1 del número 45 que. para n = 16. del número 100101000111112: C1(N) = C1(10010100011111) = = 2n . el número -950310 se escribe calculando el Complemento a la Base Menos 1 del número 950310 escrito en base 2. para n = 16. Ávila P. . que van desde el -3276710 hasta el 3276710. 950310 = 0010010100011111C1 = 0010010100011111SM = 0010010100011111BP Ejemplo: En Complemento a 1. 26 = 64 su complemento a dos es: y. es decir.N = = 216 . cambiar los unos por ceros y los ceros por unos.10010100011111 = = 10000000000000000 .1 .

sabemos que es negativo. debe agregarse 2 en vez de 1 siempre que se cuente más allá de 1111. en primer lugar. se divide progresivamente el número decimal por 8. con el primer residuo como el menos significativo (bms). en segundo lugar. y para calcular su valor en base 10. dado un número entero positivo (N) en Complemento a 1. Ejemplo : Para n = 16. pero agréguese un 1 extra siempre que se pase por 11112. Si se comienza en 1000 2- 710) y se avanza. Los métodos para convertir un número decimal a su equivalente octal son los mismos como los usados para convertir de decimal a binario. para calcular su valor en base 10. calcularemos el valor en base 10 del número obtenido.2∙0) ∙ (1∙210 + 1∙28 + 1∙21) )10 = = ( (1) ∙ (1024 + 256 + 2) )10 = 128210 o con la misma fórmula utilizada para números representados en Binario Puro: 0000010100000010C1 = ( 1∙210 + 1∙28 + 1∙21 )10 = ( 1024 + 256 + 2 )10 = 128210 De forma que: 1111101011111101C1(negativo) = -( 0000010100000010C1(positivo) )10 = -128210 es decir. Los residuos representan los dígitos del número octal. anotando los residuos después de cada división. En caso contrario..197 - . convertir 26610 a octal: Sergio E. -950310 = 1101101011100000C1 Obsérvese que. con la misma fórmula que se emplea para los números escritos en Signo Magnitud: 0000010100000010C1 = ( (1 . Esto sugiere una técnica para sumar números en complemento a 1: hágase una suma binaria normal. habrá que cambiar todos los unos por ceros y todos los ceros por unos. 1111101011111101C1 = -128210 Por otro lado. con el primer residuo como el menos significativo (bms). se divide progresivamente el número decimal por 8. obteniendo así su correspondiente número positivo. es decir. . Como ejemplo. puesto que el bit más significativo es un 1. se obtiene cada número en complemento a uno sucesivo al sumar 1 al número previo. Para convertir un entero decimal a octal. el Complemento a 1 de un número entero positivo (N) escrito en binario es el resultado de cambiar todos los bits de valor. Ávila P. el número será negativo. excepto en la transición de 1111. por tanto. Un número (N) representado en Complemento a 1 es positivo si el bit más significativo es cero. (0 negativo) a 0001 2 (+110). anotando los residuos después de cada división. Para convertir un entero decimal a octal. Ejemplo: Si se desea calcular el valor en base 10 del número 1111101011111101C1. Los métodos para convertir un número decimal a su equivalente octal son los mismos como los usados para convertir de decimal a binario. se puede utilizar la misma fórmula que en Signo Magnitud o que en Binario Puro. Como ejemplo. cambiaremos los ceros por unos y los unos por ceros: 1111101011111101C1(negativo) → 0000010100000010C1(positivo) y. al igual que ocurría en Signo Magnitud. Para mantener el conteo apropiado. convertir 26610 a octal: Por otra parte. todos los ceros por unos y todos unos por ceros. el número 010 se puede escribir de dos formas en Complemento a 1: 010 = 0000000000000000C1 = 1111111111111111C1 Suma y resta en complemento a uno Otra mirada a la tabla ayuda a explicar la regla de la suma en complemento a uno. Los residuos representan los dígitos del número octal. el número 010 también tiene dos representaciones en Complemento a 1. al cual sí se le puede aplicar una de las fórmulas anteriores y cambiarle el signo al resultado.ESCUELA POLITÉCNICA NACIONAL SISTEMAS DIGITALES En consecuencia.

A continuación se dan ejemplos de sumas en complemento a uno. fuera del MSB. la suma de un número y de su complemento produce el 0 negativo. Magnitud con (igual signo) Se suman las Cambie el signo Cambie el bit de signo signo magnitudes. De hecho. si ocurre un préstamo fuera del MSB.198 - . Resumen de las reglas de suma y resta para números binarios. Siguiendo la regla anterior de la suma de dos pasos. La tabla resume las reglas que presentamos en esta y las secciones previas para la negación. Ejemplos de suma en complemento a uno Tabla 2-7. Esta regla a menudo se conoce como carry en redondo. Ávila P. rango. .ESCUELA POLITÉCNICA NACIONAL SISTEMAS DIGITALES El conteo hecho más allá de 11112 durante una suma puede detectarse al observar el carry fuera de la posición del signo. el resultado tiene el signo de la magnitud mayor. los últimos tres incluyen carry en redondo. Las reglas de desborde para la suma y resta en complemento a uno son las mismas que las de complemento a dos. si ocurre un carry como en la suma. si hay un carry fuera de la posición del signo. El N/A Se resta el sustraendo signo resultado esta fuera de rango. Al igual que con el complemento a dos. (signo opuesto) Se resta la magnitud más pequeña a la mayor. º Complemento a Se suma e ignora cualquier Se complementan Se complementan todos dos carry fuera del MSB. Figura 2-7. El si ocurre un carry fuera del resultado está fuera de MSB. se se suman al minuendo entrante y saliente al MSB suma 1 al con un carry inicial son diferentes resultado Sergio E. Por lo que la regla para sumar número en complemento a uno puede establecerse fácilmente: Hágase una suma binaria normal. del minuendo. una operación de suma que use esta regla nunca puede producir un cero positivo a menos que ambos sumandos sean el cero positivo. ocurre un de bit del sustraendo y proceda desborde. el resultado tiene el mismo signo. la forma más fácil de hacer la resta en complemento a uno es complementar el sustraendo y sumar. Sistema de Reglas de suma Reglas de Reglas de resta negación Números Sin Se suman los números. un desborde es imposible. súmese 1 al resultado. El todos los bits del los bits del sustraendo y desborde ocurre si los carrys sustraendo. suma y resta en sistemas de números binarios.

en un primer paso se calcula el Complemento a 1 de dicho número: y. en codificación binaria. sumarle 1.N = NC2 El rango de representación en Complemento a 2 es: Figura. en un segundo paso. Complemento a 2 El algoritmo de representación binaria de complemento a 2. el número -950310 se escribe calculando el Complemento a la Base del número 950310 representado en base 2. ese -X. se expresa del siguiente modo: Cb(N) = bn . para n = 16. En este sistema de representación. El porqué de esta representación es sencillo y tiene que ver con los motivos que nos llevan a rechazar los dos anteriores como menos válidos. Se representará el negativo de un número. Ejemplo: En Complemento a 2. este es el único sistema en el que si se suman un número y su opuesto se obtiene 0. Por tanto.N = = 216 .199 - . Signo Magnitud o Binario Puro: 950310 = 0010010100011111C2 = 0010010100011111C1 = = 0010010100011111SM = 0010010100011111BP Ejemplo: En Complemento a 2. invirtiendo todos los bits que lo forman excepto el primero que marca signo. lo cual le da gran consistencia aritmética. el Complemento a 2. -950310 = 1101101011100001C2 Fíjese que.ESCUELA POLITÉCNICA NACIONAL SISTEMAS DIGITALES Complemento a Se suma y si hay un carry Se complementan Se complementan todos uno fuera del MSB.10010100011111 = = 10000000000000000 .10010100011111 = = 1101101011100001C2 En consecuencia.N Siendo n el número de cifras empleadas en la representación del número. después. Rango de representación en Complemento a 2. el Complemento a la Base de un número entero positivo N de base b. dado el número: para calcular el Complemento a 2. consiste en una mejora del complemento a 1. el número positivo 950310 se representa igual que en Complemento a 1. para n = 16. el Complemento a 2 de un número entero positivo (N) escrito en binario es el resultado de cambiar todos los bits de valor (ceros por unos y unos por ceros). del número 100101000111112: C2(N) = C2(10010100011111) = = 2n . sumándole 1 (restando 1 en otro caso). para n = 16. Sin embargo. y en caso de hacerlo de positivo a negativo. el rango de representación es: Ejemplo: En Complemento a 2. se le suma 1 al número obtenido en Complemento a 1: Sergio E. . los números positivos se expresan igual que en Complemento a 1. Ávila P. fácilmente. obteniendo así el Complemento a 1 del número y. Signo Magnitud o Binario Puro. Formalmente. en tan solo dos pasos se puede calcular. el Complemento a 2 (C2) de un número entero positivo (N) se puede expresar como: C2(N) = 2n . Hay desborde si sustraendo se procede como en la los carrys entrante y saliente suma. Por ejemplo. se suma 1 al todos los bits del los bits del sustraendo y resultado. C2(N) = C1(N) + 1 = NC1 + 1 = NC2 De esta manera. al MSB son diferentes. es decir. para escribir los números negativos se utiliza el Complemento a la Base.

Sin embargo. el resultado es 11111111b y no 00000000b (podríamos considerar todo 1s como otra forma del 0. ignorando los carrys más allá del MSB. siempre que no se exceda el rango del sistema numérico.200 - . 0000 -7 1001 1000 1111 0001 -6 1010 1001 1110 0010 -5 1011 1010 1101 0011 -4 1100 1011 1100 0100 -3 1101 1100 1011 0101 -2 1110 1101 1010 0110 -1 1111 1110 1001 0111 0 0000 1111 o 0000 1000 o 1000 0000 1 0001 0001 0001 1001 2 0010 0010 0010 1010 3 0011 0011 0011 1011 4 0100 0100 0100 1100 5 0101 0101 0101 1101 6 0110 0110 0110 1110 Sergio E. se tiene que utilizar la fórmula: Fórmula para calcular. si se pretende calcular el valor en base 10 de un número entero positivo (N) escrito Complemento a 2. si sumamos 11111111b (-1) y 00000001b (1). pero tener dos representaciones del 0 sigue siendo aritméticamente un problema). Si se comienza con 1000 2 (-810) y se sigue contando. se puede usar la misma fórmula que en Signo Magnitud o que en Binario Puro. No puede decirse lo mismo de los números en magnitud y signo y de los en complemento a uno. lo que buscábamos. Ávila P. el resultado es 00000000b. puede obtenerse al sumar 1 al número previo. el valor de un número entero negativo escrito en Complemento a 2. El resultado en todos los casos será la suma correcta.ESCUELA POLITÉCNICA NACIONAL SISTEMAS DIGITALES El resultado es el esperado: Por otro lado. . En caso contrario. vemos que cada número sucesivo en complemento a dos hasta 0111 2 (+710 ). Decimales y números de 4 bits Decimal Complemento a Complemento a Magnitud Exceso2m-1 dos uno y signo -8 1000 . se debe emplear la fórmula anterior. los números en complemento a dos pueden sumarse mediante la suma binaria ordinaria. Un número (N) representado en Complemento a 2 es positivo si el bit más significativo es cero. y para calcular su valor en base 10. en complemento a 2. SUMA Y RESTA EN COMPLEMENTO A-2 REGLAS DE LA SUMA Una tabla de números decimales y sus equivalentes en diferentes sistemas de números (Tabla 2-5) revela por qué se prefiere el complemento a dos para operaciones aritméticas. el número será negativo. Ejemplo: Para calcular el valor en base 10 del número 1001000000000110C2. ignorando los carrys más allá de la cuarta posición. en base 10. Algunos ejemplos de suma decimal y las correspondientes sumas en complemento a dos de números de 4 bits confirman esto: Tabla 2-5. De tal forma que: 1001000000000110C2 = ( (-1∙215) + (1∙212 + 1∙22 + 1∙21) )10 = ( (-32768) + (4102) )10 = -2866610 En el caso de complemento a 1. . si sumásemos 11111110b (-1) y 00000001b (1). Debido a que la suma ordinaria es sólo una extensión del conteo.

Si m <n. haciendo el bit más significativo (el que está más a la izquierda) el signo negativo o positivo. teniendo dos representaciones para el 0 (00000000 y 100000000). el desborde ocurre durante la suma de números positivos cuando contamos más allá de + 7. también se describe el complemento a la base disminuida y los sistemas en complemento a 1. como se muestra con los siguientes ejemplos.n copias del bit de signo de X a la izquierda de X. pero hay que tener cuidado. como signo . En todas las operaciones en complemento a dos se ignora este bit y sí lo se usan los n bits de orden inferior del resultado. como se muestra en el último ejemplo. se tiene un número negativo extra. se dice que ocurre un desborde. se agregan ceros a los números positivos y unos a los números negativos. Sin embargo. sin embargo. el más sencillo de los cuales es el signo/magnitud. Esto es. Entonces. el cero se considera positivo debido a que su bit de signo es 0. Algunas veces la regla de desborde se establece en términos de carrys generados durante la operación de suma: una suma se desborda si los bits de carry Cin y Cout en la posición del signo son diferentes. se han ideado una serie de sistemas que pretenden solucionar este problema. existe una regla simple para detectar el desborde en la suma: una suma se desborda si los signos de los sumandos son iguales y el signo de la suma es diferente al signo de los sumandos. Ya que el complemento a dos tiene una única representación del cero. pero la suma de dos números de igual signo puede provocarlo. se descartan los n . DESBORDE: Si una operación de suma produce un resultado que excede el rango del sistema numérico. sólo hay dos casos donde C in es diferente de Cout. La mayoría de las computadoras y otros sistemas digitales usan el sistema de complemento a dos para representar números negativos. . el resultado es válido si todos los bits descartados son iguales al bit de signo del resultado. Si m >n debemos agregar m . tendremos un rango que irá de 127 a 127 (sin signo iría de 0 a 255). En el sistema numérico en complemento a dos. La suma de dos números con signo diferente nunca produce un desborde. En este sistema.201 - . Podemos convertir un número X en complemento a dos de n bits en uno de m bits. Afortunadamente. la primera cifra del número hará de signo -. Un examen cuidadoso de la tabla 1-3 muestra que las dos reglas son equivalentes.el 1. será tan sencillo como en los siguientes ejemplos: Ejemplo a 8 bits En un caso ocurre un carry fuera de la posición del MSB. Y son los dos únicos casos donde x = y y el bit de suma es diferente. el cual no tiene una contraparte positiva. Ávila P. En la representación de conteo modular de desborde la figura 1-3. -2n-1. Así. Reglas de la resta Sergio E. para ser completos.m bits de más a la izquierda de X. Así pues. un byte nos permitirá.ESCUELA POLITÉCNICA NACIONAL SISTEMAS DIGITALES 7 0111 0111 0111 1111 Con los números binarios tenemos un problema: no sabemos representar números negativos. Tomaremos entonces. esto se conoce como extensión de signo.

Ávila P. Si se intenta negar el número negativo "extra" da como resultado un desborde. cuando sumamos un 1 en el proceso de complementariedad: Sin embargo. Simplemente se realiza la multiplicación como ya se vio anteriormente. la condición de desborde definida antes indica un resultado fuera de rango. y pueden formularse reglas apropiadas para detectar el desborde. Más bien niegan el sustraendo al tomar su complemento a dos y luego lo suman al minuendo con las reglas normales de la suma. y así detectar el desborde independientemente de los signos de entrada y salida. Sin embargo. este número puede aún usarse en sumas y restas siempre que el resultado final no exceda el rango: Números binarios en complemento a dos y sin signo Ya que los números en complemento a dos se suman y restan como números sin signo de la misma longitud con los mismos algoritmos básicos de suma y resta binaria. los carrys entrantes y salientes en la posición del bit de signo pueden observarse. al emplear de nuevo la misma regla que en la suma. la mayoría de los circuitos para resta de números en complemento a dos no realizan la resta en forma directa. aunque no en la magnitud. Algunos ejemplos de representación: 11111101b -> -3 decimal 11111110b -> -2 decimal 00000011b -> 3 decimal 01111111b -> 127 decimal Multiplicación La multiplicación con signo puede realizarse como una multiplicación cualquiera convirtiendo ambos operandos en positivos. Pero silos operandos tienen signos diferentes. usando las mismas reglas de la suma. de acuerdo con las reglas previas. en el sentido de que puede o no ocurrir el desborde independientemente de que haya un carry o no. o bien al usar la técnica de los ejemplos precedentes. Supongamos que deseamos realizar la multiplicación de dos numero con signo como -2 (1110) y -4 (1100). Sin embargo. En seguida se dan unos ejemplos. El carry desde la posición del bit más significativo es irrelevante en la suma con signo. en la suma sin signo el carry o préstamo en la posición del bit más significativo indica un resultado fuera de rango. Para resumir. Si los operandos eran de signos iguales entonces el resultado ha de ser positivo y correcto a nuestro resultado. Para reducir estos pasos y simplificar sobre todo el hardware al implementar una multiplicación con signo su puede utilizar el algoritmo de Booth. Para el algoritmo de Booth debemos considerar el multiplicando como un registro o variable M y el multiplicador una variable Q. Negar el sustraendo y sumar el minuendo puede realizarse con una sola operación de suma como sigue: hágase el complemento bit a bit del sustraendo. luego súmese al minuendo con un carry inicial (c) de 1 en vez de 0. entonces el resultado (que siempre será positivo) es incorrecto en cuanto al signo. Aun así es necesario convertir el numero a su complemento a2 para dejarlo en su forma negativa.ESCUELA POLITÉCNICA NACIONAL SISTEMAS DIGITALES Los números en complemento a dos pueden restarse como si fuesen números binarios ordinarios sin signo. una computadora o sistema digital puede usar el mismo circuito sumador para manejar números de ambos tipos. El desborde en la resta puede detectarse al examinar los signos del minuendo y el sustraendo complementado.202 - . En la suma con signo en complemento a dos. los resultados deben interpretarse de manera diferente dependiendo de que el sistema está trabajando números con signo (por ejemplo de -8 a + 7) o números sin signo (por ejemplo de O a 15). . Además existe la variable A y el bit Q-1 que representa el bit menos Sergio E.

Si m <n. Bi Ci y dos salidas Ri y Ci+1. .m bits de más a la izquierda de X. La variable A siempre inicia con valores 0000. el resultado aparecerá en este registro virtual al que denominaré R (A. el arrastre de la resta (“me llevo uno”). El resultado de esta operación puede observarse en la línea 5. el arrastre. Si son idénticos (0-0. La salida Si representa el resultado de la suma aritmética de las entradas Ai y Bi y la salida Ci+1... Comparando en la línea 6 los bits vemos que son iguales por lo que solo hay que realizar un desplazamiento aritmético en el ciclo cuatro. puede observarse que son iguales los bits por lo que solo se realizará un desplazamiento aritmético durante el ciclo dos. El sumador completo o sumador total es un circuito combinacional con tres entradas. Circuitos semisumador y sumador completo Un semisumador o sumador medio (HA).n copias del bit de signo de X a la izquierda de X. Cn. Circuitos semirestador y restador completo Un semirestador (HS) o restador medio es un circuito combinacional con dos entradas. La salida Ri representa el resultado de la resta aritmética de las entradas Ai. El algoritmo de Booth con estas variables definidas consiste en analizar el bit menos significativo de Q y Q-1. Esta línea 6 es el final del ciclo tres. De hecho. sin embargo. esto es 00001000 = 8. En todas las operaciones en complemento a dos se ignora este bit y sí lo se usan los n bits de orden inferior del resultado. Es igual a un desplazamiento lógico como ya vimos en la primera parte solo que el bit del signo se conserva siempre.A0) y B (Bn-1. 1-1) entonces solo hay que realizar un desplazamiento aritmético a la variable completa R. S (Sn-1. Los sumadores de n bits pueden representarse como bloques funcionales que disponen de 2*n entradas (números A y B). Ya que el complemento a dos tiene una única representación del cero. En la línea 3 puede observarse el resultado de este desplazamiento.. ¿Cuánto es -2 por -4? Pues ocho. -2n-1. Q y Q-1 es ese orden estrictamente. Si m >n debemos agregar m . Después de cada operación es necesario realizar un desplazamiento del resultado. generan n salidas (resultado S) y un carry. En el sistema numérico en complemento a dos. Q-1) y del cual hay que ignorar el bit Q-1 a la hora de leer el resultado. Al comparar el la línea tres. Ai y Bi y dos salidas Ri y Ci+1. En la línea 4 se observa el resultado de este corrimiento. Ávila P. He numerado las filas de la tabla para simplificar su explicación. el cero se considera positivo debido a que su bit de signo es 0. El resultado se observa en la línea 7.. Como los números con de 4 bits solo se necesitan 4 ciclos.S0) y un carry Cn. Esto es. se descartan los n . Al comparar en la línea 4 los bits vemos que hay una diferencia por lo que hay que hacer A A-M. el resultado es válido si todos los bits descartados son iguales al bit de signo del resultado. La suma de dos números binarios de n bits A (An-1. Veamos nuestro caso representado en la tabla anterior. En la línea 6 se muestra el resultado de dicho desplazamiento. Se comparan el bit menos significativo de la variable Q y Q-1 (ambos en rojo) y se determina que son iguales por lo que durante el ciclo uno solo se realizará el desplazamiento aritmético de la variable completa R. también de n bits.. el carry.203 - . En la fila dos puede observarse los valores iniciales de cada una de las variables de nuestro ejercicio. Ai Bi Ci y dos salidas Si y Ci+1. La salida Si representa la suma binaria de las tres entradas y Ci+1 el carry. lo mismo que el bit Q-1. pero hay que tener cuidado. La mayoría de las computadoras y otros sistemas Sergio E. se agregan ceros a los números positivos y unos a los números negativos. que es el resultado del ciclo uno. como se muestra en el último ejemplo. Sumadores y restadores de n bits Los sumadores y restadores anteriores pueden combinarse para formar circuitos sumadores y restadores de números de n bits. El resultado se obtiene del registro R omitiendo el bit Q-1. En el caso de que sean diferentes se realizarán las siguientes operaciones: cuando sea 1-0 se hace A A-M y cuando sea 0-1 se hace A A+M.ESCUELA POLITÉCNICA NACIONAL SISTEMAS DIGITALES significativo de un registro virtual formado por A. Un restador completo (FS) es un circuito combinacional con tres entradas Ai. es un circuito combinacional con dos entradas Ai y Bi y dos salidas Si y Ci+1. Podemos convertir un número X en complemento a dos de n bits en uno de m bits. esto se conoce como extensión de signo. se tiene un número negativo extra.. La salida Ri representa el resultado de la resta aritmética de las entradas Ai y Bi (Ai – Bi) y la salida Ci+1. Bi y Ci (Ai – Bi – Ci) y la salida Ci+1. En un caso ocurre un carry fuera de la posición del MSB.B0) genera un resultado. el cual no tiene una contraparte positiva. Q.

B<0 Chequear para no exceder el formato de 16 bits y el 17vo bit no se toma en cuenta. para ser completos. también se describe el complemento a la base disminuida y los sistemas en complemento a 1. B<0 A-B 1 Negativo en complemento a Complementar los 16 bits para dos obtener el verdadero valor. A-B 1 0 Positivo en binario normal El 17vo bit no se toma en cuenta para el resultado. Sin embargo. El resultado puede presentar varias formas que se determinan aplicando los mismos casos de la suma en formato de 16 bits. 3. A<0. B>0 1 Chequear para no exceder el formato de 16 bits y el 17vo bit no se toma en cuenta. Ávila P. A-B 0 1 Negativo en complemento a Complementar los 16 bits para obtener el verdadero valor o Sergio E. Tabla 1. . A>0. utilizando el formato de 16 bits. Operación Acarreo Acarreo Resultado Observaciones 16vo bit 17vo bit A+B 0 0 Positivo en binario normal Chequear para no exceder el formato de 16 bits. B>0 (**) A+B 1 1 Negativo en complemento a Complementar los 16 bits para dos obtener el verdadero valor. B>0 A<B A-B 0 0 Positivo en binario normal Chequear para no exceder el formato de 16 bits.ESCUELA POLITÉCNICA NACIONAL SISTEMAS DIGITALES digitales usan el sistema de complemento a dos para representar números negativos. Resumen de las operaciones suma y resta binaria con los datos A y B. Resta de dos números negativos y de distinto signo. A>0. A>0. B>0 A+B 0 1 Negativo en complemento a Complementar los 16 bits para dos obtener el verdadero valor. B<0 (**) A+B 1 0 Positivo en binario normal El 17vo bit no se toma en cuenta para el resultado. A<0. B>0 A>=B A-B 0 1 Negativo en complemento a Complementar los 16 bits para dos obtener el verdadero valor. A>0. A>0.204 - . A<0.

mientras que en decimal se produce un préstamo de 10. B (borrow) En la figura siguiente se muestra el proceso de resta de 2 números binarios de 5 bits. se inicia en la columna correspondiente a la de los dígitos menos significativos. La diferencia radica en que. también denominados punto fijo y punto flotante respectivamente. el minuendo.4 se pueden observar las representaciones desde - 810 hasta +810 en complemento a dos y en código con exceso donde P2 = 10002. Por ejemplo para indicar números decimales desde un valor numérico -P10 hasta +P10 es necesario desplazar el equivalente binario (-P10 )2 sumando P2 unidades positivas. y el préstamo anterior y ofrezca como salidas. el sustraendo. (**) (**) Se producen resultados negativos o positivos dependiendo del mayor entre A y B. Son representaciones para números con signo que eliminan el centrado de la representación básica en complemento a dos. se produce un préstamo o borrow de 2. con frecuencia. conexión en bloques utilizando semirrestadores y una puerta OR y el diagrama lógico de un restador completo. para representar los exponentes de los números con coma flotante. que sustrae un B de un bit A y suministra un bit de diferencia (Di) y un bit de préstamo (Bo). Esta cantidad se conoce como exceso o sesgo. en binario. El objeto de esta operación es ilustrar el manejo de los préstamos y plantear la necesidad de un restador completo de 2 bits que tenga. . Sin embargo.205 - . como entradas. En la tabla 1. En la figura 5 se indican las reglas que rigen la resta binaria y en la figura 6 se muestra un circuito lógico. La operación de un Semirrestador como el mostrado en la figura anterior se puede resumir mediante las 5 ecuaciones booleanas: Di=A·B(neg)+A(neg)·B= A(xor)B (diferencia) Bi=A(neg). Ávila P. la diferencia y el préstamo. Todo depende de la magnitud de A y B. B<0 dos o positivo normal dejarlo igual. En la figura 7 se muestra el diagrama de bloques. Al igual que en la suma. y pueden representar números enteros y números reales tanto negativos como positivos. Las representaciones con exceso se utilizan. la representación del mismo número negativo en código desplazado con exceso 8 es de 00002.ESCUELA POLITÉCNICA NACIONAL SISTEMAS DIGITALES A<0. llamado semirrestador (HS). el proceso de resta binaria. cuando el minuendo es menor que el sustraendo. RESTA BINARIA Figura 5: Resta binaria La resta o sustracción de números binarios es similar a los números decimales. Figura 6: Semirrestador REPRESENTACIÓN CON EXCESO O SESGADA. si existe. Representación numérica en coma fija y coma flotante. Consiste en una cadena de bits que guardan relación con la notación científica. En complemento a dos -810 es igual a 10002. Antes de comenzar a describir estos formatos se debe entender el funcionamiento de un caso especial de complemento a dos el cual se denomina representación con exceso o sesgada. es de hacer notar que solamente ocurre un cambio en el bit más significativo (MSB: Most Sergio E. Los formatos más conocidos son la coma fija y la coma flotante. Estas representaciones son utilizadas por las computadoras para procesar cálculos numéricos con formatos grandes.

de la Ec. algunas de ellas realmente especiales. Ávila P. De modo general. Los números fraccionarios y con signo se pueden representar mediante la coma fija. me detendré en analizar de qué modo los modelos Kripke tratan de librarse de dichas paradojas desde un punto de vista semántico y explicaré cómo la semántica de relación ternaria lo consigue. Para comprender los conceptos básicos de la semántica de relación ternaria.1 se puede obtener la representación con signo de coma fija y está dada por: . Urquhart y Fine entre otros. ver figura 1. hemos de hablar primero de las paradojas del condicional y de la semántica de los mundos posibles estándar o modelos Kripke. podríamos decir que la idea fundamental es sustituir la relación binaria de la semántica kripkeana por una relación ternaria. ejemplo de esto se puede apreciar en la tabla 1. El valor Ees el exponente o característica.1. para indicar números negativos. podríamos decir que la idea fundamental es sustituir la relación binaria de la semántica kripkeana por una relación ternaria. hemos de hablar Sergio E.3(a) donde se tiene la representación de números enteros con signo en formato de 16 bits. No obstante. El manejo de la semántica relacional ternaria es verdaderamente útil dada su idoneidad para modelizar una gran variedad de lógicas. expondré brevemente y de modo muy general cómo se consigue eliminar las paradojas del condicional dando lugar al nacimiento de las lógicas de la relevancia y a continuación. Por tanto. Finalmente.3(b) respectivamente. Los números representados en coma flotante tienen la misma forma que la notación científica. A continuación. dada en la figura 1. definida a comienzos de los años setenta por Routley y Meyer. definida a comienzos de los años setenta por Routley y Meyer. y el análisis de las ideas principales en las que se fundamenta creo que puede ser de gran interés para todos aquellos que trabajen en campos afines a la lógica y la filosofía del lenguaje. Para comprender los conceptos básicos de la semántica de relación ternaria. El objetivo de esta exposición es explicar del modo más claro y sencillo posible cómo funciona la semántica de relación ternaria y las ideas básicas en las que se basa desde el punto de vista de los problemas que plantean las lógicas para las que fue diseñada.En forma general.3(b). algunas de ellas realmente especiales. se forma sumando el valor de P a cada palabra o número del código. está dado en formato de complemento a dos con exceso y bes la base del sistema. Urquhart y Fine entre otros. REPRESENTACIÓN NUMÉRICA EN COMA FIJA. de modo que serán los problemas que el condicional ha venido planteando a lo largo de la historia de la lógica el objeto fundamental de nuestro estudio. Por lo tanto. como veremos.206 - . la estructura de esta exposición es la siguiente: comenzaré explicando el concepto de implicación de Lewis y cómo éste intenta eliminar las paradojas del condicional material clásico. la representación de cualquier código con exceso -P. La representación tiene la siguiente forma (Ec. Tales lógicas tienen como objetivo lograr un condicional que realmente represente la noción de implicación del lenguaje ordinario. se diseñó especialmente para modelizar las lógicas de la relevancia. La semántica de relación ternaria. Tales lógicas tienen como objetivo lograr un condicional que realmente represente la noción de implicación del lenguaje ordinario.2 y la figura 1. Representación numérica en coma flotante. y el análisis de las ideas principales en las que se fundamenta creo que puede ser de gran interés para todos aquellos que trabajen en campos afines a la lógica y la filosofía del lenguaje. como un tipo de implicación. . existe otra representación para coma fija. este valor indica la cantidad de dígitos significativos que tiene el número Nde coma flotante.6). daré unos apuntes sobre la negación dado que esta exposición se centra en la problemática del condicional y la negación puede también entenderse.1. Los restantes bits deben indicar la magnitud fraccionaria. de modo que serán los problemas que el condicional ha venido planteando a lo largo de la historia de la lógica el objeto fundamental de nuestro estudio. la cual consiste en fijar la posición de la coma después del bit de signo. La semántica de relación ternaria. De modo general. se obtiene la forma de coma flotante El objetivo de esta exposición es explicar del modo más claro y sencillo posible cómo funciona la semántica de relación ternaria y las ideas básicas en las que se basa desde el punto de vista de los problemas que plantean las lógicas para las que fue diseñada. ahora sustituyendo por el formato de coma fija. se diseñó especialmente para modelizar las lógicas de la relevancia. también de coma fija. donde Mes la mantisa o significado y se representa en coma fija.ESCUELA POLITÉCNICA NACIONAL SISTEMAS DIGITALES Significative Bit) del código con exceso. El manejo de la semántica relacional ternaria es verdaderamente útil dada su idoneidad para modelizar una gran variedad de lógicas. COMPARACIÓN DE CÓDIGOS EN COMPLEMENTO A DOS Y EXCESO 8.

ESCUELA POLITÉCNICA NACIONAL SISTEMAS DIGITALES primero de las paradojas del condicional y de la semántica de los mundos posibles estándar o modelos Kripke.1. Finalmente. esto es equivalente a escribir E con formato de exceso en base dos de la siguiente manera.207 - .1. FORMATO TOTAL DE BITS DE LA BITS DEL EXCESO DEL BITS MANTISA EXPONENTE EXPONENTE Estándar IEEE Sergio E. Por tanto.7). e es el número de bits del exponente con . (Ec. los que más se utilizan son los siguientes: En las figuras 1. Existen varias formas de representar los formatos de coma flotante. Ávila P. Su eficacia radica en la gran velocidad de cálculo de los procesadores. es un truco muy ingenioso que veremos en el siguiente apartado.4(b) se definen los formatos en coma flotante para datos numéricos reales cortos y largos utilizados en los computadores. expondré brevemente y de modo muy general cómo se consigue eliminar las paradojas del condicional dando lugar al nacimiento de las lógicas de la relevancia y a continuación. usados en los sistemas de computación. .4(a) y 1. siendo frecuente además un La tabla 1. (Ec. A continuación. como un tipo de implicación. La fórmula general queda del siguiente modo.5 muestra un resumen de los formatos de precisión sencilla y doble (corto y largo) respectivamente. la estructura de esta exposición es la siguiente: comenzaré explicando el concepto de implicación de Lewis y cómo éste intenta eliminar las paradojas del condicional material clásico. como veremos. Las operaciones de sumar. tantas veces como indique el otro factor. sin embargo. El producto se hace sumando a sí mismo uno de los factores. . restar. por lo tanto. me detendré en analizar de qué modo los modelos Kripke tratan de librarse de dichas paradojas desde un punto de vista semántico y explicaré cómo la semántica de relación ternaria lo consigue. sin embargo. multiplicar y dividir en el sistema binario se hacen de igual forma que en decimal. es normal que la electrónica interna de las máquinas digitales solo tenga capacidad para sumar.8) donde bs es el bit de signo. Otras operaciones diferentes a la suma se consiguen mediante un conjunto de sumas: La resta de dos valores se consigue sumando a uno de los valores el complemento del otro. daré unos apuntes sobre la negación dado que esta exposición se centra en la problemática del condicional y la negación puede también entenderse.

M=+(0. Formatos comunes para números representados en coma flotante.111010101)2 E=-410=-(100)2. restar.7 y luego el exponente E con exceso. En este caso hay que sumarle al exponente un exceso de 1610. M=+(0. efectiva y eficientemente. sin embargo.1.1101 2 b) 0. Otras operaciones diferentes a la suma se consiguen mediante un conjunto de sumas: La resta de dos valores se consigue sumando a uno de los valores el complemento del otro.5.E= 11002+10002 = 01002 La solución final queda de la siguiente forma: bs Exponente E Mantisa M 0 0100 111010101 Al contrario de una primera idea sugerida por su nombre.1.208 - . Las operaciones de sumar. analizando los tipos de las funciones matemáticas involucradas en los grados de pertenencia y en los conectivos lógicos. si el bit de signo es positivo entonces E'=01002.ESCUELA POLITÉCNICA NACIONAL SISTEMAS DIGITALES 754-1985 Precisión sencilla 32 24 8 128 Doble Precisión 64 53 11 1024 IBM 360 Precisión sencilla 32 24 7 64 Doble precisión 64 56 7 64 DEC VAX 11/780 Formato F 32 24 8 128 Formato D 64 56 8 128 Formato G 64 53 11 1024 Tabla 1. Ejemplo: Escribir en formato de coma flotante los números: a) 11011101. .7 y luego el exponente E con exceso. si el bit de signo es negativo entonces E'=1100 2.1101110111010)2 E=+810=+(1000)2. pueden ser resueltos. En este caso hay que sumarle al exponente un exceso de 810. multiplicar y dividir en el sistema binario se hacen de igual forma que en decimal. veremos que la lógica difusa es un área de cálculo preciso. de deducción y de inferencia. es normal que la electrónica interna de las máquinas digitales solo tenga capacidad para sumar.00001110101012 Solución (a): Se debe llevar a la forma .E= 010002+100002 = 110002 La solución final queda de la siguiente forma: bs Exponente E Mantisa M 0 11000 1101110111010 Solución (b): Se debe llevar a la forma . Ambos problemas. primero hay que hallar la mantisa con la Ec. Ávila P. primero hay que hallar la mantisa con la Ec. es un truco muy ingenioso que Sergio E.

Si el número de cifras es grande. encontraremos que de 1 a 10 (será 2 pasado a decimal) va 1 y se arrastra 1 a la izquierda para sumar al 0. Urquhart y Fine entre otros.ESCUELA POLITÉCNICA NACIONAL SISTEMAS DIGITALES veremos en el siguiente apartado. con lo que obtenemos 1 + 1 + 1 = 11 luego dejaremos un 1 y arrastramos otro 1 a la izquierda. Su eficacia radica en la gran velocidad de cálculo de los procesadores. En el ejemplo binario. expondré brevemente y de modo muy general cómo se consigue eliminar las paradojas del condicional dando lugar al nacimiento de las lógicas de la relevancia y a continuación. Si sabemos multiplicar en sistema decimal no encontraremos ningún problema para hacerlo en binario. El producto se hace sumando a sí mismo uno de los factores. por lo tanto. A continuación. En sexto lugar encontramos que de 9 a 15 van 6 y arrastramos 1 a la izquierda que se suma al 9. hemos de hablar primero de las paradojas del condicional y de la semántica de los mundos posibles estándar o modelos Kripke. Sergio E.209 - . Ávila P. Ejemplo de suma binaria: En binario. La semántica de relación ternaria. en cuarto lugar encontramos que de 7 a 13 van 6 y arrastramos 1 a la izquierda que se suma al 4 (quedando 5 y faltando 3 para llegar a 8). solo presenta interés la suma. Por tanto. podríamos decir que la idea fundamental es sustituir la relación binaria de la semántica kripkeana por una relación ternaria. por ejemplo 5 unos cuya suma binaria es 101. A título informativo se describen a continuación los 4 tipos de operaciones básicas pero como ya se ha indicado. se arrastra un 0 a la izquierda (que no afecta) y se arrastra un 1 dos lugares a la izquierda. se diseñó especialmente para modelizar las lógicas de la relevancia. definida a comienzos de los años setenta por Routley y Meyer. lo que reduce la carga del procesador central. me detendré en analizar de qué modo los modelos Kripke tratan de librarse de dichas paradojas desde un punto de vista semántico y explicaré cómo la semántica de relación ternaria lo consigueVea que empezando por la derecha. cuando en la suma encontramos dos unos resulta 1 + 1 = 10. siendo frecuente además un coprocesador matemático dedicado solo para operaciones. es posible que se junten muchos unos en las sumas finales. En sexto lugarvolvemos a encontrar que de 1 a 10 va 1 y se arrastra 1 a la izquierda para sumar al 1 (esto desencadena otro arrastre hasta la última posición izquierda). con lo que de 2 a 5 van 3. . Ejemplo de resta binaria: Se ha puesto un ejemplo de resta en decimal como punto de referencia para restar en binario. la estructura de esta exposición es la siguiente: comenzaré explicando el concepto de implicación de Lewis y cómo éste intenta eliminar las paradojas del condicional material clásico. una división solo es una cuestión de repartir a partes iguales que se puede conseguir por aproximaciones sucesivas. entonces se deja el 0 y se arrastra el 1 para ser sumado a la izquierda. la cifra más alta es el 1. en cuyo caso queda 1. Por último. en cuarto lugar comenzando por la derecha. con lo que queda 0 (de 0 a 4 van 4) y se arrastra el 1 para sumarse al 1 del extremo izquierdo. Debido al 1 de arrastre pueden juntarse tres unos. Para comprender los conceptos básicos de la semántica de relación ternaria. De modo general. Esto hace que 9 + 1 = 10. tantas veces como indique el otro factor. Ejemplo de producto binario: La multiplicación es tan sencilla que no se necesita explicación.

de hecho seguimos sin poder eliminar la regla K. pero la electrónica del dispositivo sería compleja porque debería ser capaz de restar cuando encontrara el signo menos. Si en el registro solo hay ceros. el resultado hay que considerarlo 0. ya no podemos contar. Las reglas de la transformación tienen que ser muy simples ya que de lo contrario no compensaría el esfuerzo y tratándose del sistema binario. si el antecedente es verdadero en b. A implica B en un mundo posible a si en todos los mundos relacionados o accesibles desde a (b. por lo tanto 721 + 9279 = 0. el conjunto de mundos designados O. En la semántica de relación ternaria (que como ya indicamos en la introducción fue definida a comienzos de los setenta para modelizar las lógicas de la relevancia) la implicación se definiría de este modo: aI=A→B syss Ұb. es decir. lo que solo es posible si 9279 es igual a -721.210 - . . El problema que se trata de resolver es la forma de expresar números negativos en el sistema binario. el consecuente es verdadero en c. de todos los mundos posibles que contengan todos los teoremas de la lógica que estemos estudiando o como la lógica en cuestión. distinguimos en K (el conjunto de todos los mundos posibles). Por ejemplo. por ejemplo. Esbozo la prueba de que sólo con la nueva definición del condicional y sin la nueva definición de validez. Así. una fórmula A es válida cuando A es verdadera en todos los mundos que pertenecen a O. la máquina transforma uno de los datos de manera que resuelve la resta haciendo una suma. ahora lo que hacemos es definir la validez respecto al conjunto de los mundos designados O y no respecto del conjunto de todos los mundos posibles K. Parece imposible. no podríamos falsar la regla K: 1. Pues bien. Por supuesto. De este modo ya hemos eliminado las paradojas. con la regla K. pero esto es lo que funciona realmente en los dispositivos digitales: Cuando introducimos dos valores y los restamos. en un registro de 4 cifras solo caben los 4 ceros y el 1 se pierde. el valor 10011 en un registro de 8 bits (cifras) será 00010011 y su complemento a 1 será 11101100. Con este cambio conseguimos eliminar algunas paradojas que la semántica de Kripke no conseguía eliminar como ésta: B→ (A→A). incluyendo los ceros a la izquierda hasta completar la capacidad del registro. Los complementos. La clave está en que en la semántica de relación ternaria es posible que las fórmulas válidas sean falsas en algunos mundos posibles. en la definición de modelo que vimos grosso modo en la sección anterior. Para ello. Ávila P. Así sucesivamente. hay que comenzar cogiendo 4 cifras del dividendo para sobrepasar al divisor. c). Necesitamos modificar la noción de validez.cєK [(Rabc & bI=A)↔cI=B] Es decir. ¿Cree por ejemplo que el valor 9279 es igual a -721? Si los valores (en este ejemplo) se manipulan siempre en registros de 4 cifras y todo lo que se salga desaparece. I=A hip. Otra característica esencial de esta semántica que la aleja radicalmente de la semántica estándar es que algunas contradicciones son verdaderas en algunos mundos posibles (el objetivo es poder falsar e contradictione quodlibet). Nota. pero seguimos sin eliminarlas todas. Sergio E. valiéndonos únicamente de señales que solo pueden ser verdaderas o falsas. entonces es cierto y lo vamos a ver: Si hacemos la suma 721 + 9279 se obtiene el valor 10000. 1 por 111 es 111 y falta 100 hasta llegar a 1011. Es cierto que una de las señales podría representar el signo y el resto de las cifras formarían siempre un valor positivo. pero como se ha dicho. y lo es. Así resulta que 1011 entre 111 toca a 1 (solo puede ser 1 o 0). Bajando la siguiente cifra (un 0) resulta que 1000 entre 111 toca a 1. El complemento a 1 de un valor binario se obtiene invirtiendo el estado de todas sus cifras. Para poder eliminar todas las paradojas necesitamos hacer algo más. un subconjunto de K que puede interpretarse como el conjunto de todos los mundos posibles normales.ESCUELA POLITÉCNICA NACIONAL SISTEMAS DIGITALES Ejemplo de división binaria: En este ejemplo. realmente son muy sencillas. se puede pensar que se trata de un truco. pero los complementos permiten hacer restas mediante sumas y reducen con ello la electrónica de la máquina.

quedando en el registro el resultado esperado de la resta. I≠B→A hip. que equivale en decimal a 2 31 . Abs.37510 = 25 + 0. dado que en ese caso ya no podemos decir que A. el valor negativo más bajo será un uno seguido de 31 ceros. Números como 10. Lo importante es que debe tenerse una cierta precaución en las operaciones. Por ejemplo: 25. el complemento a 2 de 10011 (el mismo anterior) será 11101100 + 1 = 11101101. La conclusión anterior afecta directamente a la programación de cualquier dispositivo programable.375 10 Para pasar de decimal a binario se pasa normalmente la parte entera y la parte decimal se va multiplicando por 2 hasta que se anulan los decimales y los decimales binarios se obtienen con la parte entera que se obtiene en cada paso. es decir. el contenido siempre será positivo. otros ejemplos pueden ser los enteros largos y los reales o dobles.1. incluido el bit de mayor peso. es verdadera en todos los mundos posibles y que por tanto lo es necesariamente en a. En la semántica relacional ternaria podemos probar el siguiente lema Si I=A→B. Otra forma de restar sumando consiste en utilizar el complemento a 1.375 = 110012 + decimales Sergio E. ya que si el resultado desborda la capacidad del registro podemos encontrarnos con la sorpresa de que nos devuelve un valor extraño que además puede estar cambiado de signo. Llegaríamos a una contradicción en los pasos 3 y 4. siempre multiplicando por 1/2 para obtener el siguiente. El complemento a 2 de un valor binario se obtiene sumando 1 al complemento a 1. cada tipo de dato tiene asignado un determinado número de bits.1. 32 unos. Por el contrario. a los que se destina normalmente el doble de bits que al entero. 45 o -13 son valores enteros que se manipulan con las operaciones que ya conocemos. comienza por la izquierda con valor igual a 1/2 y decrece hacia la derecha.47 que no son enteros pero al igual que los anteriores forman parte del conjunto de los números reales. el número positivo más grande será un cero seguido de 31 unos. Cómo restar sumando: El complemento a 2 de un número binario se puede considerar directamente su equivalente negativo. Igualmente. Sin embargo si utilizamos la nueva definición de validez. como es válida.b = ¿x? basta con calcular el resultado "x" (sin olvidar el tamaño del registro que se utilice) como: x = a + (complemento a 2 de b).0112 = 1·16 + 1·8 + 0·4 + 0·2 + 1·1 + 0·(1/2) + 1·(1/4) + 1·(1/8) = 25. así por ejemplo cuando se define un dato como entero con signo en un procesador de 32 bits. que equivale en decimal a -(231). Veamos un ejemplo: 11001. Por último voy a explicar cómo se define la negación en esta semántica si la concebimos como un tipo especial de negación. ¿qué podemos pensar de un valor como 1101? ¿será positivo o negativo? No hay duda: Cuando el bit de mayor peso (el que está más a la izquierda en el registro que contiene al número) sea un uno significa que es negativo y si es un cero será positivo.211 - . aI=A Definición de validez de la semántica estándar. Por ejemplo. red. . pero en este caso. actualmente 32 en la mayoría de los ordenadores y autómatas industriales. En binario también tienen representación los números con decimales: Cada cifra que haya después de la coma tiene igualmente un peso que depende de su posición. el 1 de arrastre que se sale fuera del registro se suma de nuevo al resultado. Utilizando la nueva definición no podemos afirmar que A es verdadera en a. Esto es así porque al complementar un valor (al hacerlo negativo). Bit de signo: Suponiendo que un registro es de 4 bits. los ceros a la izquierda también se transforman en unos. siendo el valor más bajo el cero y el más grande será 232 . no llegamos a ninguna contradicción.ESCUELA POLITÉCNICA NACIONAL SISTEMAS DIGITALES 2. hay aєK tal que aI=B y aI=A 4. para hacer la resta a . Por lo tanto. Otra cosa son los valores como 25. entonces para todo aєK si aI=A↔ aI=B 3. El tamaño de los registros es normalmente el número de bits del procesador de la máquina. Ávila P. cuando un dato se define como entero sin signo. Como el complemento a 2 de 1101 es 0011. entonces resulta que 1101 = -0011 = -310. En programación. Números reales (coma flotante).

hay que multiplicar al entero por la base (10 en sistema decimal. haciendo el bit más significativo (el que está más a la izquierda) el signo negativo o positivo.ESCUELA POLITÉCNICA NACIONAL SISTEMAS DIGITALES 0. Al dividir. En coma flotante cada número se expresa con un valor entero y un exponente de la base del sistema.375·2 = 0. siempre y cuando tengan igual exponente. 2 en binario) elevada al valor que se resta al exponente. tendremos un rango que irá de 127 a 127 (sin signo iría de 0 a 255). se dividen los enteros y se restan los exponentes. Con los números binarios tenemos un problema: no sabemos representar números negativos. por ejemplo. no se puede sumar directamente 103·10 -2 con 235·10-1. Por ejemplo. 1 Circuitos semisumador y sumador completo Un semisumador o sumador medio (HA).212 - .37510 = 11001.50·2 = 1. es decir. un byte nos permitirá. La salida Si representa la suma binaria de las tres entradas y Ci+1 el accarreo.425 será igual a -43425·10-3 (notación científica). . Al multiplicar los valores de dos registros.750 (primer decimal el 0). el valor -43. Ai y Bi y dos salidas Ri y Ci+1. La salida Ri representa el resultado de la resta aritmética de las entradas Ai y Bi (Ai – Bi)y la salida Ci+1. Ávila P. En los registros. pero sí se puede sumar 103·10-2 con 2350·10-2 porque ya tienen igual exponente y el resultado será (103 + 2350)·10 -2. La salida Si representa el resultado de la suma aritmética de las entradas Ai y Bi y la salida Ci+1. 0. Sin coma flotante. 0. el acarreo. En este sistema. Nótese que al restar un valor al exponente. Sergio E. El sumador completo o sumador total es un circuito combinacional con tres entradas. la primera cifra del número hará de signo -.75·2 = 1. se suman o restan los enteros y se mantienen los exponentes. el más sencillo de los cuales es el signo/magnitud. Así pues. Entonces.0 (tercer decimal el 1).0112 La forma anterior de proceder es complicada de implementar con electrónica digital o al menos existe otra manera mucho más sencilla que es la coma flotante. Ai Bi Ci y dos salidas Si y Ci+1. es necesario seguir la pista a la posición de la coma cada vez que se hace una operación y al operar con los valores de dos registros no puede relacionarse directamente bit con bit de iguales posiciones. queda definido por el valor entero -43425 y el exponente -3. es un circuito combinacional con dos entradas Ai y Bi y dos salidas Si y Ci+1. se destina un número fijo de cifras para el valor entero y el resto de cifras para el exponente. simplemente se multiplican los enteros y se suman los exponentes. ya que al variar las posiciones de las comas hacen que los pesos de cada bit también se desplacen. teniendo dos representaciones para el 0 (00000000 y 100000000).50 (segundo decimal el 1). el arrastre de la resta (“me llevo uno”). se han ideado una serie de sistemas que pretenden solucionar este problema. Queda finalmente: 25. Ci+1= Ai Bi + Ai Ci + Bi Ci Circuitos semirestador y restador completo Un semirestador (HS) o restador medio es un circuito combinacional con dos entradas. Para sumar o restar dos valores.

La suma de dos números binarios de n bits A (An-1. En la representación de conteo modular de desborde la figura 1-3. el arrastre. Los sumadores de n bits pueden representarse como bloques funcionales que disponen de 2*n entradas (números A y B). S (Sn-1..S0) y un acarreo Cn. se dice que ocurre un desborde. también de n bits.. Sergio E. . Ávila P. Bi y Ci (Ai – Bi – Ci) y la salida Ci+1.. La salida Ri representa el resultado de la resta aritmética de las entradas Ai. el desborde ocurre durante la suma de números positivos cuando contamos más allá de + 7. La suma de dos números con signo diferente nunca produce un desbordeUn restador completo (FS) es un circuito combinacional con tres entradas Ai.B0) genera un resultado..213 - .A0) y B (Bn-1. generan n salidas (resultado S) y un acarreo... Bi y Ci y dos salidas Ri y Ci+1. SUMADORES Y RESTADORES DE N BITS Los sumadores y restadores anteriores pueden combinarse para formar circuitos sumadores y restadores de números de n bits. Cn.ESCUELA POLITÉCNICA NACIONAL SISTEMAS DIGITALES Si una operación de suma produce un resultado que excede el rango del sistema numérico.

. comienza por la izquierda con valor igual a 1/2 y decrece hacia la derecha.214 - . se diseñará un circuito sumador/restador. Este circuito debe disponer de una señal de control RESTAR/#SUMAR. puede construirse como muestra la siguiente figura. Sergio E. En la siguiente figura se representa una asociación de sumadores de cuatro bits para sumar dos números de 12 bits. En binario también tienen representación los números con decimales: Cada cifra que haya después de la coma tiene igualmente un peso que depende de su posición. siempre multiplicando por 1/2 para obtener el siguiente. Un restador de dos números de n bits. Se aprecia que además del acarreo de salida CO(C4) existe un acarreo de entrada CI(C0). Ávila P. Veamos un ejemplo: En este apartado.ESCUELA POLITÉCNICA NACIONAL SISTEMAS DIGITALES En la siguiente figura se representa un circuito aritmético de 4 bits y su bloque funcional. utilizando las propiedades de las notaciones Ca1 y Ca2. 4 Circuito sumador-restador La operación aritmética de la resta puede implementarse con una suma si los números se introducen en complemento a 1 o en complemento a 2.

en caso de generarse acarreo. En la suma de dos dígitos BCD con sumadores binarios de 4 bits. pueden darse los siguientes casos: a) El resultado es un número BCD y no existe arrastre: Sergio E.215 - . “a” y “control”. Ávila P. . Circuito sumador/restador en Ca2 5 Sumador BCD: aritmética decimal Algunos aspectos deben ser considerados en la aritmética BCD. para obtener el resultado correcto. El circuito sumador/restador en complemento a 1 se muestra en la siguiente figura.ESCUELA POLITÉCNICA NACIONAL SISTEMAS DIGITALES En la siguiente figura se ha representado una puerta exor de dos entradas denominadas. se debe añadir una unidad. El circuito complementador La aritmética en Ca1 exige que al resultado de la suma o resta. y una salida S.

ESCUELA POLITÉCNICA NACIONAL SISTEMAS DIGITALES

b) El resultado no es un número BCD

c) El resultado es un número BCD y se genera arrastre

Los casos b) y c) pueden resolverse si se le suma la maginitud 0110 (6) al resultado obtenido por el sumador
binario.
En la siguiente figura se representa el sumador BCD

UNIDAD ARITMÉTICO LÓGICA (ALU)

Una ALU de n bits es un dispositivo combinacional que acepta dos palabras de entrada A y B, de n bits cada
una y genera un resultado de n bits (además de cierta información como acarreo, overflow, etc.) procedente de
la realización de alguna operación aritmética o lógica identificada por unas señales se selección.

El diseño de una ALU se realiza en tres etapas: diseño del circuito aritmético, diseño del circuito lógico y
unión de las partes anteriores.

1 Diseño del circuito aritmético
El componente básico del circuito aritmético de una ALU de n bits es un sumador paralelo de n bits. Si se
controlan las entradas de dicho sumador, su salida puede generar distintas funciones aritméticas:

a) Si las entradas del sumador son A y (Todo 0’s) ( En este caso, tampoco se utiliza el número B de entrada de
la ALU), se pueden obtener funciones de transferencia (F=A si Cin =0) o de incremento (F=A+1 si Cin =1).

Sergio E. Ávila P. - 216 -

ESCUELA POLITÉCNICA NACIONAL SISTEMAS DIGITALES

b) Si las entradas del sumador son A y B (los números de entrada de la ALU), se pueden obtener funciones de
suma F= A+B (si Cin =0) o F=A+B+1 (si Cin =1).

c) Si las entradas del sumador son A y B’ (se complementan los bits del número B de entrada de la ALU), se
pueden obtener operaciones de resta en Ca1 – F=A+B’ si Cin =0- o de resta en Ca2 – F= A+b’+1 si Cin =1.

d) Si las entradas del sumador son A y (Todo 1’s) ( En este caso no se utiliza el número B de entrada de la
ALU), se pueden obtener funciones de transferencia (F=A si Cin =1) o de decremento (F=A-1 si Cin =0).

Se debe diseñar un circuito combinacional que, en función de S1 y S0, permita seleccionar la entrada B del
sumador completo y, por tanto, la operación aritmética. Se considera que el sumador completo dispone de dos
entradas (X e Y). La entrada X se conecta al número A, o lo que es lo mismo, Xi = Ai, mientras que la entrada
Y se conecta al circuito cuyas salidas, para cada bit, se representa en la siguiente tabla de verdad

Por tanto, la salida será
Yi = Bi S1’ S0 + Bi’ S1 S0‘+ S1 S0 = Bi S0 + Bi’S1

Sergio E. Ávila P. - 217 -

ESCUELA POLITÉCNICA NACIONAL SISTEMAS DIGITALES

El circuito aritmético es, por tanto, el siguiente:

El acarreo de salida nos puede dar una información muy importante:
Diseño del circuito lógico
Supongamos que las operaciones lógicas a realizar son: A AND B, A OR B,A EXOR B y NOT A, donde A y
B son las palabras de entrada en la ALU. (Se entiende que A AND B – o cualquier otra operación lógica-
genera un resultado F, donde cada bit, Fi =Ai AND Bi )

El circuito que permite calcular la operación lógica aparece en la siguiente figura.

Para formar la ALU se han de unir las dos secciones que la forman. Las variables S1 S0 serán comunes para
las dos secciones siempre que S2 distinga entre una etapa y otra. La siguiente figura representa una posible
solución para la etapa i de una ALU.

2 Diseño del circuito lógico

Sergio E. Ávila P. - 218 -

ESCUELA POLITÉCNICA NACIONAL SISTEMAS DIGITALES

Supongamos que las operaciones lógicas a realizar son: A AND B, A OR B,A EXOR B y NOT A, donde A y
B son las palabras de entrada en la ALU. (Se entiende que A AND B – o cualquier otra operación lógica-
genera un resultado F, donde cada bit, Fi =Ai AND Bi ) La configuración mas sencilla consiste en un
acumulador de 2n bits, separado en dos registros de n bits. El de la izquierda contiene cero en todos sus bits al
comenzar y en el se almacenan las sumas parciales; el de la derecha al comenzar contiene el multiplicador y la
unidad puede detectar si el último bit vale 0 o 1.
Luego de cada suma se corre el acumulador un lugar a la derecha, ingresando el bit de carry. De esta forma los
sucesivos bits del multiplicador estan ubicados en el último bit del registro y eso le permite a la unidad decidir
si sumar el multiplicando o cero. De esta forma la unidad pierde el valor del multiplicador y al final el
resultado esta en los 2n bits del acumulador.
El circuito que permite calcular la operación lógica aparece en la siguiente figura.

3 Unión de la seccióna aritmética y lógica

Para formar la ALU se han de unir las dos secciones que la forman. Las variables S1 S0 serán comunes para
las dos secciones siempre que S2 distinga entre una etapa y otra. La siguiente figura representa una posible
solución para la etapa i de una ALU.

OTROS CODIGOS BINARIOS

CODIGO BINARIO BCD

El BCD (el binario decimal codificado) es una forma directa asignada a un equivalente binario. Es posible
asignar cargas a los bits binarios de acuerdo a sus posiciones. Las cargas en el código BCD son 8, 4, 2, 1.

Ejemplo:

Para representar el digito decimal 6 en código BCD sería:.

0110

Ya que 0 x 8 + 1 x 4 + 1 x 2 ÷ 0+1 = 6.

Sergio E. Ávila P. - 219 -

ESCUELA POLITÉCNICA NACIONAL SISTEMAS DIGITALES

Es posible asignar cargas negativas a un código decimal, tal como se muestra en el código 8, 4, -2, -1. En esta
caso la combinación de bits 0110 se interpreta como el digito decimal 2, l obtenerse de 0 x 8 + 1 x 4 + 1 x (-2)
+ 0 x (-1)=2.

Un código decimal que se ha usado en algunos computadores viejos en el código de exceso a 3. Este último es
un código sin carga, cuya asignación se obtiene del correspondiente valor en BCD una vez se haya sumado 3.
Los números se representan en computadores digitales en binario o decimal a través de un codigo binario.
Cuando se estén especificando los datos, el usuario gusta dar los datos en forma decimal. Las maneras
decimales recibidas se almacenan internamente en el computador por medio del código decimal. Cada digito
decimal requiere por lo menos cuatro elementos de almacenamiento binario. Los números decimales ses
convierten a binarios cuando las operaciones aritméticas se hacen internamente con números representados en
binario. Es posible también realizar operaciones aritméticas directamente en decimal con todos los números ya
dejados en forma codificada. Por ejemplo, el número decimal 395, cuando se convierte aq binario es igual a
112221211 y consiste en nueve digitos binarios. El mismo número representado alternamente en BCD, ocupa
cuatro bits para cada digito decimal para un total de 12 bits:001110010101.

Decimal Binario BCD

395 112221211 001110010101.

En el código BCD: los cuatro primeros bits representan el 3.Los siguientes cuatro representan el 9 y los
últimos cuatro el 5.

Es muy importante comprender la diferencia entre conversión de un número decimal binario y la codificación
binaria de un número decimal. En cada caso el resultado final es una seria de bits. Los bits obtenidos de la
conversión son dígitos binarios. Los bits obtenidos de la codificación son combinaciones de unos ceros
arregladas de acuerdo a las reglas del código usado. Por tanto es extremadamente importante tener en cuenta
que una serie de unos y ceros en un sistema digital puede algunas veces representar un número binario y otras
veces representar alguna otras cantidad discreta de información como se especifica en un código binario dado.

El código BCD por ejemplo, ha sido escogido de tal manera que es un código y una conversión binaria directa
siempre y cuando los números decimales sean algún entero entre 0 y 9. Para números mayores que 9, la
conversión y la codificación son completamente diferentes. Este concepto es tan importante que vale la pena
repetirlo usando otro ejemplo: la conversión binaria del decimal 13 es 1101; la codificación decimal 13 con
BCD es 00010011.

Decimal Conversión Binaria Codificación BCD

13 1101 00010011

El código BCD es uno de los más utilizados. Los otros códigos de cuatro bits tienen una característica en
común que no se encuentra en BCD. El exceso a 3, el 2, 4, 2, 1 y el 8, 4, -2, -1, son códigos
autocomplementarios, esto es que el complemento a 9 del número decimal se obtiene fácilmente cambiando
los más por ceros y los ceros por más. Esta propiedad es muy útil cuando se hacen las operaciones aritméticas
internamente con números decimales (en código binario) y la sustracción se hace por medio del complemento
de 9.

El código biguinario mostrado a continuación es un ejemplo de un código de siete digitos con propiedades de
detección de error. Cada dígito decimal consiste de 5 ceros y 2 unos colocados en las correspondientes
columnas de carga.

La propiedad de detección de error de este código puede comprenderse si uno se da cuenta de que los sistemas
digitales representan el binario 1 mediante una señal específica uno y el binario cero por otra segunda señal
específica. Durante la trasmisión de señales de un lugar a otro puede presentarse un error. Uno o más bits
pueden cambiar de valor. Un circuito en el lado de recepción puede detectar la presencia de más (o menos) de
dos unos y en el caso de que la combinación permitida, se detectará un error.

Binary-coded decimal (BCD8421) es un sistema numérico usado en sistemas computacionales y electrónicos
para codificar números enteros positivos y facilitar las operaciones aritméticas. Es un código pesado debido a
que representa los dígitos con un orden específico (8421).

Sergio E. Ávila P. - 220 -

ESCUELA POLITÉCNICA NACIONAL SISTEMAS DIGITALES

Fundamentos

En BCD cada cifra que representa un dígito decimal (0, 1,...8 y 9) se representa con su equivalente binario en
cuatro bits (nibble o cuarteto) (esto es así porque es el número de bits necesario para representar el nueve, el
número más alto que se puede representar BCD). En la siguiente tabla se muestran los códigos BCD más
empleados:
Decimal Natural Aiken 5 4 2 1 Exceso 3

0 0000 0000 0000 0011

1 0001 0001 0001 0100

2 0010 0010 0010 0101

3 0011 0011 0011 0110

4 0100 0100 0100 0111

5 0101 1011 1000 1000

6 0110 1100 1001 1001

7 0111 1101 1010 1010

8 1000 1110 1011 1011

9 1001 1111 1100 1100

Como se observa con el BCD sólo se utilizan 10 de las 16 posibles combinaciones que se pueden formar con
números de 4 bits, por lo que el sistema pierde capacidad de representación, aunque se facilita la compresión
de los números. Esto es porque el BCD solo se usa para representar cifras no números en su totalidad. Esto
quiere decir que para números de más de una cifra hacen falta dos números BCD para componerlo. A primera
vista esto puede parecer más engorroso pero en realidad de cara al cálculo y la programación de sistemas
digitales es sumamente práctico ya que permite trabajar de hecho con números decimales ordinarios haciendo
uso solo de los dos bits posibles que otorga un circuito digital típico ON (1) / OFF (0). Algo que como se verá
resulta muy útil.

Desde que los sistemas informáticos empezaron a almacenar los datos en conjuntos de ocho bits (octeto), hay
dos maneras comunes de almacenar los datos BCD:
Omisión de los cuatro bits más significativos(como sucede en el EBCDIC)
Almacenamiento de dos datos BCD, es el denominado BCD "empaquetado", en el que también se
incluye en primer lugar el signo, por lo general con 1100 para el + y 1101 para el -.

De este modo, el número 127 sería representado como (11110001, 11110010, 11110111) en el EBCDIC o
(00010010, 01111100) en el BCD empaquetado.

El BCD sigue siendo ampliamente utilizado para almacenar datos, en aritmética binaria o en electrónica. Los
números se pueden mostrar fácilmente en visualizadores de siete segmentos enviando cada cuarteto BCD a un
visualizador. La BIOS de un ordenador personal almacena generalmente la fecha y la hora en formato del
BCD, probablemente por razones históricas se evitó la necesidad de su conversión en ASCII.
La ventaja del código BCD frente a la representación binaria clásica es que no hay límite para el tamaño de un
número. Los números que se representan en formato binario están generalmente limitados por el número
mayor que se pueda representar con 8, 16, 32 o 64 bits. Por el contrario utilizando BCD añadir un nuevo
dígito sólo implica añadir una nueva secuencia de 4 bits.
El BCD es muy común en sistemas electrónicos donde se debe mostrar un valor numérico, especialmente en
los sistemas digitales no programados (sin microprocesador o microcontrolador).

Sergio E. Ávila P. - 221 -

se transmite una palabra de validación de paridad por columnas. EL BCD EN ELECTRÓNICA El BCD es muy común en sistemas electrónicos donde se debe mostrar un valor numérico. Esto lleva a su vez una simplificación en el diseño físico del circuito (hardware). Esto lleva a su vez una simplificación en el diseño físico del circuito (hardware). especialmente en los sistemas digitales no programados (sin microprocesador o microcontrolador). Ávila P. el BCD fue substituido por el EBCDIC de ocho bits. 5. CÓDIGOS CORRECTORES DE ERRORES. La letra A fue codificada como (B. La cantidad de errores posibles de detectar y además corregir dependerá de la cantidad par o impar de errores que se produzcan en una fila o columna. Una variante del BCD fue utilizada en la mayoría de las primeras computadoras de IBM. letras mayúsculas y caracteres especiales. 2 y 1. en el BCD de seis bits. incluyendo IBM1620 e IBM 1400. se simplifica la manipulación de los datos numéricos que deben ser mostrados por ejemplo en un visualizador de siete segmentos. A. el circuito sería mucho más complejo que si se utiliza el BCD. Si la cantidad numérica fuera almacenada y manipulada en binario natural. Para codificar los dígitos numéricos. además de lo anterior. 4.ESCUELA POLITÉCNICA NACIONAL SISTEMAS DIGITALES Utilizando el código BCD. Utilizando el código BCD. incluyendo IBM1620 e IBM 1400.A. se simplifica la manipulación de los datos numéricos que deben ser mostrados por ejemplo en un visualizador de siete segmentos. Sergio E. letras mayúsculas y caracteres especiales.Las posiciones de los bits.Junto con transmitir las palabras deseadas. el BCD fue substituido por el EBCDIC de ocho bits. involucra la capacidad de saber la posición exacta del bit erróneo. La intersección de errores de paridad por filas y columnas indican el bit del bloque que está errado. Se transmite un conjunto o bloque de palabras con un código detector de error (bit de paridad o código m de n). La detección de errores considera que el sistema es capaz de darse cuenta que existe un error. con paridad par por columnas.1). Ejemplo de error de transmisión. Se presentan a continuación dos métodos para corregir errores en la transmisión: La transmisión en bloque y el Código Hamming. Con este método es posible corregir varios errores. Con la introducción de System/360. 4. Concepto. A y B eran cero. Con la introducción de System/360. el circuito sería mucho más complejo que si se utiliza el BCD. En el caso de la corrección de errores. Si la cantidad numérica fuera almacenada y manipulada en binario natural. . 8. generalmente fueron etiquetadas como B. IBM utilizó los términos decimal codificado en binario y BCD para los códigos binarios de seis bits con el que representaron números. Ejemplo: Transmitir los dígitos 1. Transmisión en bloques. 2.222 - . IBM Y EL BCD: IBM utilizó los términos decimal codificado en binario y BCD para los códigos binarios de seis bits con el que representaron números. Al producirse un error de transmisión se altera la paridad por filas y por columnas. 9 en BCD 8421 con bit de paridad par. Una variante del BCD fue utilizada en la mayoría de las primeras computadoras de IBM.

en el BCD de seis bits. . estos no son utilizados. GRAY El Código Gray es un caso particular de código binario. Esto significa que el complemento correspondiente al 0 decimal es el 9. Esta técnica de codificación se originó cuando los circuitos lógicos digitales se realizaban con válvulas de vacío y dispositivos electromecánicos. no todos los dígitos decimales tienen una sola representación. Algunos ejemplos de estos códigos se muestran en la siguiente tabla . distintos del BCD u 8421.1). a pesar de que los problemas de ruido y potencia se hayan reducido. Numerosos sensores son de tipo analógico porque transmiten una señal eléctrica variable y dependiente de la magnitud que miden. etc. Un ejemplo puede ser con medida de caudales de fluidos.ESCUELA POLITÉCNICA NACIONAL SISTEMAS DIGITALES Las posiciones de los bits. Como se puede apreciar en la tabla. Un sensor detecta el paso de las palas de la hélice y transmite impulsos que son contados por una tarjeta electrónica que a su vez envía el valor de la cuenta al controlador digital. Para codificar los dígitos numéricos. El uso de código Gray garantizó que en cualquier transición variaría tan sólo un bit. eliminando conversores analógico-digitales aunque añadiendo generalmente un dispositivo electrónico que interpreta la información. consistente en una hélice que gira más deprisa cuanto mayor sea el caudal. Algunos de los códigos ponderados. Hay varios algoritmos para generar una secuencia de código Gray (y varios códigos posibles resultantes. pero el más usado consiste en cambiar el bit menos significativo que genera un nuevo código. el código Gray se sigue empleando para el diseño de cualquier circuito electrónico combinacional mediante el uso de un Mapa de Karnaugh. OTROS CÓDIGOS PONDERADOS Aunque como mencionamos el código de este tipo más natural es el código BCD u 8421. Esta es una desventaja que presentan los códigos ponderados. Sin embargo. en función del orden que se desee seguir). etc. existen otros códigos ponderados. Ávila P. A y B eran cero. por ejemplo el código 642-1. el complemento del 9 es el 0. Los contadores necesitaban potencias muy elevadas a la entrada y generaban picos de ruido cuando varios bits cambiaban simultáneamente. Consiste en una ordenación de 2n números binarios de tal forma que cada número sólo tenga un dígito binario distinto a su predecesor. 4. Sin embargo. ya que el principio de diseño de buscar transiciones más simples y rápidas entre estados sigue vigente.223 - . Sergio E. el complemento del 2 decimal es el 7. tienen la propiedad de ser autocomplementarios. hay magnitudes que pueden ser medidas con procedimientos puramente digitales. el complemento del 8 es el 1. Los pesos en este caso no tienen porqué corresponder a la base elevada a la potencia correspondiente a la posición del dígito binario. A. La letra A fue codificada como (B. En la actualidad.A. Por programa se puede calcular el caudal sabiendo que será proporcional al número de impulsos recibidos en un tiempo determinado. De la misma forma. generalmente fueron etiquetadas como B. el complemento del 1 decimal es el 8. También es posible diseñar códigos con combinaciones de pesos positivos y negativos. 8. 2 y 1. como el 5211 de la tabla.

Como inconveniente está su baja resolución. La regla o disco está dividido en una serie de pistas con zonas claras y oscuras y unos fotodiodos detectan el cambio de zona y transmiten señales binarias. algunos de los cuales llegan a transmitir más de 1000 impulsos por vuelta de su eje y la resolución de medida puede ser muy alta. Continuando con este proceso se llegará al número de señales que sean necesarias. el Tribunal Supremo de Estados Unidos anuló la decisión de una instancia más baja de la corte que había permitido una patente para convertir números codificados BCD a binario en una computadora (véase Gottschalk v Benson en inglés). según se trate de medida lineal o angular. Una vez reflejado se añadirá una nueva columna a la izquierda en la que la mitad superior serán ceros y la inferior unos. Este fue uno de los primeros casos importantes en la determinación de la patentabilidad del software y de los algoritmos. Una regla o un disco absoluto no puede ser codificado en binario porque hay muchos casos en los que al pasar de una combinación de señales a la siguiente cambia de estado más de una señal. Por ejemplo. originando una combinación intermedia que no se corresponderá con la posición a medir. mientras que los descritos en el párrafo anterior son incrementales). . aunque depende de la relación de transmisión con la que se acople al movimiento (en máquinas de control numérico se fijan posiciones con precisión de centésimas o incluso milésimas de milímetro). Ávila P. bien mediante una regla codificada o un disco. que no deberían detectarse.224 - . Este código también se denomina reflex porque se obtiene reflejando las combinaciones como si fueran vistas con un espejo (lineas de trazos): Para una sola señal. al pasar de 011 (3 en decimal) a 100 (4 en decimal) cambiarán las tres señales y será impredecible el orden en el que aparecerán las combinaciones intermedias. Historia legal En 1972. por lo que no es necesario contar impulsos para conocer el desplazamiento (por esta razón se demominan absolutos. Aunque las separaciones sean muy precisas siempre se detectará primero uno de los cambios. Estos componentes tienen apariencia de pequeños motores y se denominan encoders. Tabla de códigos BCD Decimal Código BCD 0 0000 1 0001 2 0010 3 0011 4 0100 5 0101 6 0110 7 0111 8 1000 9 1001 10 0001 0000 11 0001 0001 12 0001 0010 13 0001 0011 14 0001 0100 15 0001 0101 Digito Decimal BCD 8421 Exceso a 3 84-2-1 2421 (Biguinario) 5043210 0 0 11 0 0 0100001 1 1 100 111 1 0100010 2 10 101 110 10 0100100 3 11 110 101 11 0101000 Sergio E.ESCUELA POLITÉCNICA NACIONAL SISTEMAS DIGITALES Otro ejemplo similar puede ser la medida de desplazamientos y velocidades. Un ejemplo más simple es la medida absoluta de posición. también basado en los impulsos que transmite un componente ligado al movimiento. Cada combinación de las señales corresponde a una posición. las combinaciones son 0 y 1. En la siguente figura se puede comprobar que en código Gray solo hay un cambio de señal cada vez que se pasa de una combinación a la siguiente.

Este código también se denomina reflex porque se obtiene reflejando las combinaciones como si fueran vistas con un espejo (lineas de trazos): Para una sola señal. Una vez obtenido el equivalente binario solo faltará pasarlo a decimal. Si la cifra en Gray es un cero. Para pasar un valor en código Gray a decimal seguimos exactamente el proceso inverso: Cada cifra la dividimos en dos hacia arriba y comenzamos el valor binario con un cero. las dos binarias serán iguales.225 - . El código BCD natural es el normalmente utilizado cuando tiene que haber representación numérica. se deduce la otra. Ávila P. Hay varios algoritmos para generar una secuencia de código Gray (y varios códigos posibles resultantes. En la actualidad. En la imagen anterior también se indica cómo se puede traducir un valor decimal (6 en el ejemplo) directamente a código Gray (resultado 101): Se comienza pasando a binario el valor decimal sin olvidar que hace falta al menos un cero a la izquierda. Una vez reflejado se añadirá una nueva columna a la izquierda en la que la mitad superior serán ceros y la inferior unos. Luego se agrupan de dos en dos como indica la figura y se tiene en cuenta que si las dos cifras son iguales corresponde un cero en código Gray y si son distintas corresponde un uno. las dos cifras binarias deben ser distintas y como una ya es conocida porque siempre se comienza con un cero.. Este es un código gray de cuatro bits generado con dicho algoritmo: Equivalencia decimal Código Gray Equivalencia decimal Código Gray Sergio E. a pesar de que los problemas de ruido y potencia se hayan reducido. pero el más usado consiste en cambiar el bit menos significativo que genera un nuevo código. Los contadores necesitaban potencias muy elevadas a la entrada y generaban picos de ruido cuando varios bits cambiaban simultáneamente. es el ejemplo de calculadoras. Esta técnica de codificación se originó cuando los circuitos lógicos digitales se realizaban con válvulas de vacío y dispositivos electromecánicos. Continuando con este proceso se llegará al número de señales que sean necesarias. CODIGO BINARIO GRAY El Código Gray es un caso particular de sistema binario. Si la cifra en Gray es un uno.ESCUELA POLITÉCNICA NACIONAL SISTEMAS DIGITALES 4 100 111 100 100 0110000 5 101 1000 1011 1011 1000001 6 110 1001 1010 1100 1000010 7 111 1010 1001 1101 1000100 8 1000 1011 1000 1110 1001000 9 1001 1100 1111 1111 1010000 Los números decimales se convierten a binario BCD mediante circuitos codificadores y mediante decodificadores y unidades de visualización (displays) se hace la representación decimal de códigos BCD. ya que el principio de diseño de buscar transiciones más simples y rápidas entre estados sigue vigente.. en función del orden que se desee seguir). . El uso de código Gray garantizó que en cualquier transición variaría tan sólo un bit. sistemas de control industrial etc. Consiste en una ordenación de 2n números binarios de tal forma que cada número sólo tenga un dígito binario distinto a su predecesor. En la siguente figura se puede comprobar que en código Gray solo hay un cambio de señal cada vez que se pasa de una combinación a la siguiente. instrumental. el código Gray se sigue empleando para el diseño de cualquier circuito electrónico combinacional mediante el uso de un Mapa de Karnaugh. las combinaciones son 0 y 1.

Pues en Gray también. Si es igual al dígito anterior se pone un 0 (no cambia). un investigador de los laboratorios Bell. A cada bit del código binario generado. las dos binarias serán iguales. 3. Un número en binario siempre empieza en 1 --Los ceros a la izquierda no cuentan--. a pesar de que los problemas de ruido y potencia se hayan reducido. Para la conversión de código binario a Código Gray se siguen los siguientes pasos: El bit más significativo en el código gray. Si la cifra en Gray es un cero. Pero no fueron patentados hasta 1953 por Frank Gray (que dio nombre al sistema de codificación). Luego se agrupan de dos en dos como indica la figura y se tiene en cuenta que si las dos cifras son iguales corresponde un cero en código Gray y si son distintas corresponde un uno. Binario a Gray En la imagen anterior también se indica cómo se puede traducir un valor decimal (6 en el ejemplo) directamente a código Gray (resultado 101): Se comienza pasando a binario el valor decimal sin olvidar que hace falta al menos un cero a la izquierda. Para convertir de código gray a binario. Si la cifra en Gray es un uno. En los casos sucesivos se repite el paso anterior. pues el dígito anterior era un 1 y el que observamos un 0-.226 - . Ej: El número del ejemplo anterior será: 11xxxXXXXxxxx.ESCUELA POLITÉCNICA NACIONAL SISTEMAS DIGITALES 0 0000 12 1100 1 0001 13 1101 3 0011 15 1111 2 0010 14 1110 6 0110 10 1010 7 0111 11 1011 5 0101 9 1001 4 0100 8 1000 El primer uso documentado de un código de estas características fue en una demostración del telégrafo del ingeniero francés Émile Baudot. Ahora nos fijamos en el segundo dígito. En la actualidad. las dos cifras binarias deben ser distintas y como una ya es conocida porque siempre se comienza con un cero. hay una regla fácil de implementar en un lenguaje de programación: 1. en función del orden que se desee seguir).se pondrá un 1 (cambia). Si es diferente --como es el caso. observando en el número binario 'natural' el dígito anterior al que se evalúa. se deduce la otra. pero el más usado consiste en cambiar el bit menos significativo que genera un nuevo código. El uso de código Gray garantizó que en cualquier transición variaría tan sólo un bit. Ej: El número del ejemplo anterior. Se descartan los acarreos. El Código Gray es un caso particular de código binario. 2. sumar cada par adyacente de los bits en código binario para obtener el siguiente bit en código gray. Sergio E. pasado a código Gray será: 1100010001000. es el mismo que el correspondiente bit en código gray. . Yendo de izquierda a derecha. se le suma el bit en código gray de la siguiente posición adyacente. en 1878. ya que el principio de diseño de buscar transiciones más simples y rápidas entre estados sigue vigente. Esta técnica de codificación se originó cuando los circuitos lógicos digitales se realizaban con válvulas de vacío y dispositivos electromecánicos. Ej: 1000011110000 en binario se escribe 1xxxxXXXXxxxx. Para pasar un valor en código Gray a decimal seguimos exactamente el proceso inverso: Cada cifra la dividimos en dos hacia arriba y comenzamos el valor binario con un cero. Hay varios algoritmos para generar una secuencia de código Gray (y varios códigos posibles resultantes. Ávila P. es el mismo de código binario. el código Gray se sigue empleando para el diseño de cualquier circuito electrónico combinacional mediante el uso de un Mapa de Karnaugh. Se descartan los acarreos. Este es un código gray de cuatro bits generado con dicho algoritmo: Para pasar un número binario al código binario Gray. Una vez obtenido el equivalente binario solo faltará pasarlo a decimal. se siguen los pasos siguientes: El bit más significativo en código binario. Los contadores necesitaban potencias muy elevadas a la entrada y generaban picos de ruido cuando varios bits cambiaban simultáneamente. Consiste en una ordenación de 2n números binarios de tal forma que cada número sólo tenga un dígito binario distinto a su predecesor.

El primer dígito del código Gray será el mismo que el del binario 2. O también: 1. . 3. Si el tercer dígito del código Gray es "0".100100 011001 . De esta manera. instrumental. Ávila P. especialmente en los sistemas digitales no programados (sin microprocesador o microcontrolador). ya que cada código BCD posee distintas combinaciones binarias. Los números decimales se convierten a binario BCD mediante circuitos codificadores y mediante decodificadores y unidades de visualización (displays) se hace la representación decimal de códigos BCD.El ejemplo más sencillo de este tipo de códigos es el código BCD natural. no son ponderados. 234 y 4598 se representarían en BCD natural del siguiente modo: 17: 0001 0111 (cifras 1 y 7) 234: 0010 0011 0100 (cifras 2. que se usan para representar las cifras del 0 al 9 y que servirán para codificar cada una de las cifras de un número decimal por medio de combinaciones binarias. El código BCD natural es el normalmente utilizado cuando tiene que haber representación numérica. el BCD Aiken (BCD 2421) y el BCD 5421. sistemas de control industrial etc.227 - . es decir. si este dígito es "1".. Esto lleva a su vez una simplificación en el diseño físico del circuito (hardware). si este dígito es "1" el segundo dígito binario es el inverso del primer dígito binario..ESCUELA POLITÉCNICA NACIONAL SISTEMAS DIGITALES Otros ejemplos: 1010 . En esto se diferencia del código binario natural. de forma que las cifras de cualquier número decimal se podrán codificar en binario. y así hasta terminar. cada posición de la secuencia de bits tiene un peso asociado. En cambio si se coloca un 1 es porque la cifra ha cambiado así que si había un 0 ahora se colocará un 1 y viceversa. el tercer dígito binario es igual al segundo dígito binario. Si la cantidad numérica fuera almacenada y manipulada en binario natural. lo único que cambia es la combinación correspondiente a cada número decimal. los números decimales 17. Si el segundo dígito del código Gray es "0". el segundo dígito binario es igual al primer digito binario. 5. el tercer dígito binario es el inverso del segundo dígito binario. se simplifica la manipulación de los datos numéricos que deben ser mostrados por ejemplo en un visualizador de siete segmentos. también se puede sumar cada bit individualmente descartando cualquier acarreo) del número a sí mismo pero con un acarreo a la derecha 2. por lo que el equivalente decimal se puede hallar multiplicando cada bit por el peso correspondiente a su posición y sumando todos estos resultados.. aplicar un XOR (disyunción exclusiva. letras mayúsculas y caracteres especiales. Una variante del BCD fue utilizada en la Sergio E. como el BCD exceso a tres. Los acarreos tienen que descartarse Gray a Binario Hacer el cambio contrario es simplemente invertir lo que hace el anterior. Ejemplos de códigos BCD ponderados son el BCD natural (o BCD 8421). 3 y 4) 4598: 0100 0101 1001 1000 (cifras 4. Otros códigos BCD. Algunos códigos BCD son ponderados. del inglés: Binary-Coded Decimal) son códigos de 4 bits en los que solamente existen diez combinaciones válidas. eliminar el bit del extremo derecho 3.1111 111000 . 9 y 8) Cualquier otro código BCD se puede emplear de forma similar para codificar números decimales. Códigos BCD Los códigos BCD (decimal codificado en binario. Utilizando el código BCD.101111111001 Otra técnica sencilla para pasar de binario a Gray sin usar un lenguaje de programación es esta: 1. IBM utilizó los términos decimal codificado en binario y BCD para los códigos binarios de seis bits con el que representaron números. que toma las diez primeras combinaciones del código binario natural. de forma que si se encuentra un cero (siempre que no sea al principio) se debe poner la cifra anterior. El BCD es muy común en sistemas electrónicos donde se debe mostrar un valor numérico.010101 110101010001 .... el circuito sería mucho más complejo que si se utiliza el BCD. en el que cada número decimal tiene asociada una secuencia de bits diferente (por lo que existen infinitas combinaciones posibles). es el ejemplo de calculadoras. correspondientes a los números decimales del 0 al 9.

se simplifica la manipulación de los datos numéricos que deben ser mostrados por ejemplo en un visualizador de siete segmentos. Una variante del BCD fue utilizada en la mayoría de las primeras computadoras de IBM.ESCUELA POLITÉCNICA NACIONAL SISTEMAS DIGITALES mayoría de las primeras computadoras de IBM. incluyendo IBM1620 e IBM 1400. del inglés: Binary-Coded Decimal) son códigos de 4 bits en los que solamente existen diez combinaciones válidas. Utilizando el código BCD. las dos cifras binarias deben ser distintas y como una ya es conocida porque siempre se comienza con un cero. Esto lleva a su vez una simplificación en el diseño físico del circuito (hardware). especialmente en los sistemas digitales no programados (sin microprocesador o microcontrolador). A. permiten detectar diferencias en la palabra transmitida y la recibida. se deduce la otra. el código Gray se sigue empleando para el diseño de cualquier circuito electrónico combinacional mediante el uso de un Mapa de Karnaugh. . Con la introducción de System/360. A. Los códigos BCD (decimal codificado en binario. 2 y 1. Ávila P. 8. se simplifica la manipulación de los datos numéricos que deben ser mostrados por ejemplo en un visualizador de siete segmentos. 8. Para codificar los dígitos numéricos. En esto se diferencia del código binario natural. Si la cifra en Gray es un cero. La letra A fue codificada como (B. generalmente fueron etiquetadas como B. Luego se agrupan de dos en dos como indica la figura y se tiene en cuenta que si las dos cifras son iguales corresponde un cero en código Gray y si son distintas corresponde un uno. La letra A fue codificada como (B.A. En la imagen anterior también se indica cómo se puede traducir un valor decimal (6 en el ejemplo) directamente a código Gray (resultado 101): Se comienza pasando a binario el valor decimal sin olvidar que hace falta al menos un cero a la izquierda. Si la cantidad numérica fuera almacenada y manipulada en binario natural. Las posiciones de los bits. 4.228 - . A y B eran cero. Con la introducción de System/360. Una vez obtenido el equivalente binario solo faltará pasarlo a decimal. que se usan para representar las cifras del 0 al 9 y que servirán para codificar cada una de las cifras de un número decimal por medio de combinaciones binarias. es decir. IBM utilizó los términos decimal codificado en binario y BCD para los códigos binarios de seis bits con el que representaron números. La letra A fue codificada como (B. El BCD es muy común en sistemas electrónicos donde se debe mostrar un valor numérico. a pesar de que los problemas de ruido y potencia se hayan reducido. Para pasar un valor en código Gray a decimal seguimos exactamente el proceso inverso: Cada cifra la dividimos en dos hacia arriba y comenzamos el valor binario con un cero. el circuito sería mucho más complejo que si se utiliza el BCD. el BCD fue substituido por el EBCDIC de ocho bits. en el BCD de seis bits. ya que el principio de diseño de buscar transiciones más simples y rápidas entre estados sigue vigente. Este código también se denomina reflex porque se obtiene reflejando Sergio E. existen técnicas basadasen la codificación que permiten detectar si ha existido un error de transmisión. A y B eran cero. es decir. Las posiciones de los bits. Si la cantidad numérica fuera almacenada y manipulada en binario natural.A. incluyendo IBM1620 e IBM 1400. en el BCD de seis bits. Esto lleva a su vez una simplificación en el diseño físico del circuito (hardware). se simplifica la manipulación de los datos numéricos que deben ser mostrados por ejemplo en un visualizador de siete segmentos. Esto lleva a su vez una simplificación en el diseño físico del circuito (hardware).1).El BCD es muy común en sistemas electrónicos donde se debe mostrar un valor numérico. letras mayúsculas y caracteres especiales. 2 y 1. 2 y 1. el BCD fue substituido por el EBCDIC de ocho bits. generalmente fueron etiquetadas como B. 8. Si la cifra en Gray es un uno. En la actualidad. el circuito sería mucho más complejo que si se utiliza el BCD. especialmente en los sistemas digitales no programados (sin microprocesador o microcontrolador). Para codificar los dígitos numéricos. Si la cantidad numérica fuera almacenada y manipulada en binario natural.1). 4. Para codificar los dígitos numéricos. especialmente en los sistemas digitales no programados (sin microprocesador o microcontrolador). generalmente fueron etiquetadas como B. Las posiciones de los bits. en el BCD de seis bits. el BCD fue substituido por el EBCDIC de ocho bits. el circuito sería mucho más complejo que si se utiliza el BCD. las dos binarias serán iguales.1).A. Para la transmisión digital (se transmiten palabras binarias). 4. permiten detectar diferencias en la palabra transmitida y la recibida. Para la transmisión digital (se transmiten palabras binarias). A y B eran cero. Utilizando el código BCD. en el que cada número decimal tiene asociada una secuencia de bits diferente (por lo que existen infinitas combinaciones posibles). existen técnicas basadasen la codificación que permiten detectar si ha existido un error de transmisión. En la siguente figura se puede comprobar que en código Gray solo hay un cambio de señal cada vez que se pasa de una combinación a la siguiente. A. Con la introducción de System/360.El BCD es muy común en sistemas electrónicos donde se debe mostrar un valor numérico. Utilizando el código BCD.

es decir. Decimal BCD natural BCD Aiken 8421 2421 0 0000 0000 1 0001 0001 2 0010 0010 Sergio E. la solución al problema consiste en volver a transmitir hasta que el error no se produzca. La detección de errores considera que el receptor es capaz de detectar que se ha producido un error de transmisión. Ávila P. las combinaciones son 0 y 1.ESCUELA POLITÉCNICA NACIONAL SISTEMAS DIGITALES las combinaciones como si fueran vistas con un espejo (lineas de trazos): Para una sola señal. Sus pesos son 2-4-2-1.229 - . . Tabla del código BCD de intercambio normalizado 7 bits CODIGO BCD AIKEN Los códigos pueden ser de tipo ponderado o no. Cuando el sistema detecta un error. Continuando con este proceso se llegará al número de señales que sean necesarias. En los códigos ponderados el número decimal equivalente se obtiene mediante la suma de los pesos de los dígitos binarios que forman el código. pero no es capaz de saber que dígito binario es el que está errado. a través de la detección no se puede conocer la posición del error. Una vez reflejado se añadirá una nueva columna a la izquierda en la que la mitad superior serán ceros y la inferior unos.

si ambos bits están inactivos significa modo absoluto. de la variable indicada (definida obligatoriamente con DUP): Sergio E.indica si es lejana o FAR (0FFFEh) o cercana o NEAR (0FFFFh). El TASM utiliza también el bit 3 para indicar algo que desconozco.OFFSET variable. No es tan práctica para la computación en comparación a la representación en complemento a 2 Es igual que el complemento a 2 sólo que ahora el MSB es “0” para cantidades negativas y “1” para positivas. El cero se considera positivo. .OFFSET nombre_grupo:variable también es válido: MOV AX.OFFSET DS:variable Operador . No válido en variables DUP: kilos DW 76 MOV AX.TYPE: devuelve el modo de la expresión indicada en un byte. Es útil para contadores binarios y para conversión analógico/digital o digital/analógico. Este sistema tiene la ventaja de una simple progresión binaria desde números negativos a positivos. respectivamente. * Operadores SIZE y LENGTH: devuelven el tamaño (en bytes) o el nº de elementos.TYPE variable Operador TYPE: devuelve el tamaño (bytes) de la variable indicada.TYPE kilos . Luego la magnitud de un número binario negativo puede ser simplemente substraída desde ese punto cero. AX = 2 Tratándose de etiquetas -en lugar de variables. Ejemplo: Como ejemplo simple considerar un número binario de 4 bits con un máximo de 15 para restar 7 obtenemos la siguiente representación Dentro del código binario offset se puede decir que es un operador de retorno de valores por ejemplo: Operador OFFSET: devuelve el desplazamiento de la variable o etiqueta en su segmento: MOV AX. El bit 0 indica modo «relativo al código» y el 1 modo «relativo a datos».230 - . Ávila P. el bit 7 indica si la expresión contiene una referencia externa. Es uno de los más empleados en convertidores analógico/digital con entradas bipolares. El bit 5 indica si la expresión es local (0 si está definida externamente o indefinida). Este operador es útil sobre todo en las macros para determinar el tipo de los parámetros: Iinfo .ESCUELA POLITÉCNICA NACIONAL SISTEMAS DIGITALES 3 0011 0011 4 0100 0100 5 0101 1011 6 0110 1100 7 0111 1101 8 1000 1110 9 1001 1111 CODIGO BINARIO OFFSET Una manera lógica de representar enteros positivos con signo es tener un rango suficiente en números binarios de tal manera que el cero pueda ser compensado a la mitad del rango de números binarios positivos. Si se desea obtener el offset de una variable respecto al grupo (directiva GROUP) de segmentos en que está definida y no respecto al segmento concreto en que está definida: MOV AX.

Distancia del código es la distancia menor (diferencia de bits). • Continuo:si los números decimales consecutivos tiene representaciones Adyacentes.ESCUELA POLITÉCNICA NACIONAL SISTEMAS DIGITALES DW 100 DUP (12345) MOV AX.: Gray o reflejado... • Cíclico:si la última representación es adyacente a la primera. . Un código continuo es que dos palabras código consecutivas son adyacentes.231 - . Ej.: Binario natural. Los códigos pueden tener las siguientes características: • Ponderado: el valor de cada bit depende de la posición que ocupe (peso). BX = 100 * Operadores MASK y WIDTH: informan de los campos de un registro de bits (véase RECORD). varían en un único bit. la primera palabra y la última también lo son. es decir. el número más alto cifrable en BCD). Ej. Códigos Gray o Johnson" Código cíclico aquel que además de ser continuo.: Gray o reflejado. le corresponde un peso según su posición. . AX = 200 MOV BX.SIZE matriz . Propiedades de los Códigos Binarios Propiedades Un código binario es ponderado cuando a cada dígito binario. Ávila P. Ej.LENGTH matriz . Ej. Fundamentos En BCD cada cifra que representa a un dígito decimal (0. es un código pesado debido a que con un orden específico (8421). El BCD en electrónica Sergio E.Polinomiales: correctores Señal de error Código binario decimal Binary-coded decimal (BCD8421) es un sistema numérico usado en sistemas computacionales y electrónicos para codificar números enteros positivos y facilitar las operaciones aritméticas. 1. Control de Errores: -Paridad: detecta 1 error » Par: número par de 1s » Impar: número impar de 1s .8 y 9) se representa con su equivalente binario en 4 bits (cuarteto) (esto es así porque 4 es el número de bits necesario para representar el 9.

A. es posible que la palabra transmitida no sea la misma que la palabra recibida. En el caso de la transmisión de datos. sino que además se deben transmitir otros bits. Sergio E. existen técnicas basadasen la codificación que permiten detectar si ha existido un error de transmisión. generalmente fueron etiquetadas como B. Ávila P. 4. de modo que serán los problemas que el condicional ha venido planteando a lo largo de la historia de la lógica el objeto fundamental de nuestro estudio. lo cual en algunos casos se debe a imperfecciones en el medio de transmisión. para la detección de errores como para la corrección de ellos. En general. Una variante del BCD fue utilizada en la mayoría de las primeras computadoras de IBM. esto es. se simplifica la manipulación de los datos numéricos que deben ser mostrados por ejemplo en un visualizador de siete segmentos. incluyendo IBM1620 e IBM 1400. es necesario agregar información redundante que sirva para los propósitos anteriores. Si la cantidad numérica fuera almacenada y manipulada en binario natural. . Esto lleva a su vez una simplificación en el diseño físico del circuito (hardware). especialmente en los sistemas digitales no programados (sin microprocesador o microcontrolador). A. Códigos detectores de error. El objetivo de esta exposición es explicar del modo más claro y sencillo posible cómo funciona la semántica de relación ternaria y las ideas básicas en las que se basa desde el punto de vista de los problemas que plantean las lógicas para las que fue diseñada. es decir. el BCD fue substituido por el EBCDIC de ocho bits. permiten detectar diferencias en la palabra transmitida y la recibida. es decir. se diseñó especialmente para modelizar las lógicas de la relevancia. A y B eran cero. a través de la detección no se puede conocer la posición del error. me detendré en analizar de qué modo los modelos Kripke tratan de librarse de dichas paradojas desde un punto de vista semántico y explicaré cómo la semántica de relación ternaria lo consigue. esta última considera la ubicación de bit errado. Para comprender los conceptos básicos de la semántica de relación ternaria. en el BCD de seis bits. podríamos decir que la idea fundamental es sustituir la relación binaria de la semántica kripkeana por una relación ternaria.1). Por tanto. el medio por el que se transmiten los datos y el receptor (Rx). A continuación. es decir. De modo general. definida a comienzos de los años setenta por Routley y Meyer. 2 y 1. pero no es capaz de saber que dígito binario es el que está errado. Para la transmisión digital (se transmiten palabras binarias). la estructura de esta exposición es la siguiente: comenzaré explicando el concepto de implicación de Lewis y cómo éste intenta eliminar las paradojas del condicional material clásico. no sólo basta con transmitir la palabra deseada. como veremos. como un tipo de implicación. algunas de ellas realmente especiales.232 - . La semántica de relación ternaria. Para codificar los dígitos numéricos. expondré brevemente y de modo muy general cómo se consigue eliminar las paradojas del condicional dando lugar al nacimiento de las lógicas de la relevancia y a continuación. el circuito sería mucho más complejo que si se utiliza el BCD. Conceptos. 8. letras mayúsculas y caracteres especiales. hemos de hablar primero de las paradojas del condicional y de la semántica de los mundos posibles estándar o modelos Kripke.Utilizando el código BCD.ESCUELA POLITÉCNICA NACIONAL SISTEMAS DIGITALES El BCD es muy común en sistemas electrónicos donde se debe mostrar un valor numérico. La letra A fue codificada como (B. La detección de errores considera que el receptor es capaz de detectar que se ha producido un error de transmisión. El manejo de la semántica relacional ternaria es verdaderamente útil dada su idoneidad para modelizar una gran variedad de lógicas. Tales lógicas tienen como objetivo lograr un condicional que realmente represente la noción de implicación del lenguaje ordinario. El esquema de comunicación más básico contempla 3 elementos importantes: El transmisor (Tx). se ha producido un error de transmisión. Con la introducción de System/360. Las posiciones de los bits. daré unos apuntes sobre la negación dado que esta exposición se centra en la problemática del condicional y la negación puede también entenderse. y el análisis de las ideas principales en las que se fundamenta creo que puede ser de gran interés para todos aquellos que trabajen en campos afines a la lógica y la filosofía del lenguaje. Urquhart y Fine entre otros. Finalmente. IBM y el BCD IBM utilizó los términos decimal codificado en binario y BCD para los códigos binarios de seis bits con el que representaron números.

La semántica de relación ternaria. se diseñó especialmente para modelizar las lógicas de la relevancia. la solución al problema consiste en volver a transmitir hasta que el error no se produzca. Paridad impar: El número de unos en la palabra más el bit de paridad deben ser impares. Verificando la cantidad de “1s” en la palabra recibida se observa si ha ocurrido un error. · Si existe en la transmisión un número par de errores. Típicamente se utilizan los códigos 2 de 5. Dec 50-43210 10-86420 Sergio E. Códigos m de n ponderados Código 2 de 5 ponderado 50-43210 y 10-86420 Estos códigos mantienen “m” unos en una palabra de n dígitos.233 - .ESCUELA POLITÉCNICA NACIONAL SISTEMAS DIGITALES Cuando el sistema detecta un error. definida a comienzos de los años setenta por Routley y Meyer. Bit de paridad: Es un bit que se agrega a la palabra para verificar la paridad de unos. Según lo anterior. podríamos decir que la idea fundamental es sustituir la relación binaria de la semántica kripkeana por una relación ternaria. De modo general. Ávila P. Típicamente se utilizan los códigos 2 de 5. Urquhart y Fine entre otros. . la cuenta de paridad es correcta. Bit de paridad. L as técnicas de detección de errores a estudiar son básicamente tres: El uso del bit de paridad. Verificando la cantidad de “1s” en la palabra recibida se observa si ha ocurrido un error. Paridad par: El número de unos en la palabra más el bit de paridad deben ser pares. Código 2 de 5 Walking Code. se pueden realizar las siguientes observaciones: · Este método es capaz de detectar un número impar de errores. los códigos m de n y los códigos m de n ponderados. Paridad bp b6 b5 b4 b3 b2 b1 b0 Par 1 1 0 0 1 0 1 0 Impar 0 1 0 0 1 0 1 0 Códigos m de n Estos códigos mantienen “m” unos en una palabra de n dígitos. Ejemplo: Para el número de 7 bits 1001010 encontrar bit de paridad par e impar.

Dec bp b3 b2 b1 b0 Sergio E. . se transmite una palabra de validación de paridad por columnas. Al producirse un error de transmisión se altera la paridad por filas y por columnas. La intersección de errores de paridad por filas y columnas indican el bit del bloque que está errado. Conceptos. En el caso de la corrección de errores. involucra la capacidad de saber la posición exacta del bit erroneo.234 - . Junto con transmitir las palabras deseadas. 5. Ejemplo: Transmitir los dígitos 1. La cantidad de errores posibles de detectar y además corregir dependerá de la cantidad par o impar de errores que se produzcan en una fila o columna. Ejemplo de error de transmisión: Con este método es posible corregir varios errores. con paridad par por columnas. 9 en BCD 8421 con bit de paridad par. Se presentan a continuación dos método para corregir errores en la transmisión: La Transmisión en bloque y el Código Hamming. Transmisión en bloques. Ávila P. La detección de errores considera que el sistema es capaz de darse cuenta que existe un error. 4. además de lo anterior. Se transmite un conjunto o bloque de palabras con un código detector de error (bit de paridad o código m de n). 2.ESCUELA POLITÉCNICA NACIONAL SISTEMAS DIGITALES Códigos correctores de errores. Dec bp b3 b2 b1 b0 Se presentan a continuación dos método para corregir errores en la transmisión: La Transmisión en bloque y el Código Hamming.

7(10) = 0 1 1 1 (BCD8421) 4 bits de datos implican 3 bits de redundancia 1357 (P1 . 12. 9. Si se quiere corregir un error. 15. 1 2 3 4 5 6 7 8 9 10 11 P1 P2 D3 P4 D5 D6 D7 P8 D9 D10 D11 Cada bit de validación Pi debe producir paridad par (o impar) en determinadas posiciones según la siguiente tabla: P1: 1. 0 . 12. 1 . 10. es necesario identificarla posición del error.. 9. P4: 4. Luego debe cumplirse que 2k -1 ³ n = m + k k: Bits de corrección. 6. Para poder detectar o corregir errores es necesario introducir bits redundantes.. 5. 15. 13. 11. 13. P8: 8. 17. 11.. 6. m: bits de datos en el código.ESCUELA POLITÉCNICA NACIONAL SISTEMAS DIGITALES Código Hamming. 15.. 13. 14. n: Bits totales del código. Hamming propuso ubicar los bits redundantes o de validación en posiciones potencias de 2 y en las restantes posiciones ubicar los datos. 11. . 7. 7. “m” bits de datos y “k” dígitos de redundancia se cumple que: n=m+k Con “k” bits de redundancia se pueden direccionar 2k –1 posiciones. 3. .235 - . 7. . 18. ... 10.. P2: 2. En una palabra de “n” bits. Ávila P. Bits P de validación Bits D de datos. . 20.. utilizando para verificación paridad par. 24. 3. 5. Ejemplo: Codificar en Hamming el equivalente a 7 decimal en BCD 8421. 1 ) => P1 = 0 2367 Sergio E. 14. 14.

El manejo de la semántica relacional ternaria es verdaderamente útil dada su idoneidad para modelizar una gran variedad de lógicas. Para obtener la posición del error se revisa la paridad de las posiciones anteriores incluyendo el bit P correspondiente. 1 ) => P2 = 0 4567 (P4. La semántica de relación ternaria. Finalmente. como veremos. se diseñó especialmente para modelizar las lógicas de la relevancia. 1 ) => E4 = 1 La posición del error es la formada por los bits E de la siguiente forma: E4 E2 E1 = 1 1 02 = 610 En caso de no existir error los valores Ei son todos ceros. 1 . 0 . 1 . 1 . 1 . y el análisis de las ideas principales en las que se fundamenta creo que puede ser de gran interés para todos aquellos que trabajen en campos afines a la lógica y la filosofía del lenguaje. Urquhart y Fine entre otros. el análisis de la información de los datos recepcionados indicará la posición del error. de modo que serán los problemas que el condicional ha venido planteando a lo largo de la historia de la lógica el objeto fundamental de nuestro estudio. algunas de ellas realmente especiales. hemos de hablar primero de las paradojas del condicional y de la semántica de los mundos posibles estándar o modelos Kripke. 1357 ( 0 . El objetivo de esta exposición es explicar del modo más claro y sencillo posible cómo funciona la semántica de relación ternaria y las ideas básicas en las que se basa desde el punto de vista de los problemas que plantean las lógicas para las que fue diseñada. 0 . 0 . 1) => P4 = 1 P1 P2 D3 P4 D5 D6 D7 0001111 Si existe un error de transmisión. podríamos decir que la idea fundamental es sustituir la relación binaria de la semántica kripkeana por una relación ternaria. A continuación. 0 . 0 . como un tipo de implicación. daré unos apuntes sobre la negación dado que esta exposición se centra en la problemática del condicional y la negación puede también entenderse.ESCUELA POLITÉCNICA NACIONAL SISTEMAS DIGITALES (P2 . la estructura de esta exposición es la siguiente: comenzaré explicando el concepto de implicación de Lewis y cómo éste intenta eliminar las paradojas del condicional material clásico. 1 ) => E2 = 1 4567 ( 1. Para comprender los conceptos básicos de la semántica de relación ternaria. definida a comienzos de los años setenta por Routley y Meyer. Ávila P. 1 ) => E1 = 0 2367 (0 . expondré brevemente y de modo muy general cómo se consigue eliminar las paradojas del condicional dando lugar al nacimiento de las lógicas de la relevancia y a continuación. 1 . CODIGO GRAY Sergio E. Tales lógicas tienen como objetivo lograr un condicional que realmente represente la noción de implicación del lenguaje ordinario. Por tanto. De modo general. .236 - . me detendré en analizar de qué modo los modelos Kripke tratan de librarse de dichas paradojas desde un punto de vista semántico y explicaré cómo la semántica de relación ternaria lo consigue.

.237 - . Existen muchas versiones del código Gray. Numerosos sensores son de tipo analógico porque transmiten una señal eléctrica variable y dependiente de la magnitud que miden. consistente en una hélice que gira más deprisa cuanto mayor sea el caudal. a pesar de que los problemas de ruido y potencia se hayan reducido. Número 1 1 0 1 01 Rango 6 5 4 3 21 Sergio E. eliminando conversores analógico-digitales aunque añadiendo generalmente un dispositivo electrónico que interpreta la información. en función del orden que se desee seguir). hay magnitudes que pueden ser medidas con procedimientos puramente digitales.ESCUELA POLITÉCNICA NACIONAL SISTEMAS DIGITALES El uso de código Gray garantizó que en cualquier transición variaría tan sólo un bit. siendo n el rango de la cifra contada de de + (2n derecha a izquierda. Sin embargo.. el código Gray se sigue empleando para el diseño de cualquier circuito electrónico combinacional mediante el uso de un Mapa de Karnaugh. de cada número al siguiente sólo varia un bit cada vez. pero el más usado consiste en cambiar el bit menos significativo que genera un nuevo código. pero todas tienen una características básica en común. Obtención de un número decimal en código Gray Cada término Gray tiene una ponderación )1. Ávila P. ya que el principio de diseño de buscar transiciones más simples y rápidas entre estados sigue vigente. En la actualidad. Hay varios algoritmos para generar una secuencia de código Gray (y varios códigos posibles resultantes. Un sensor detecta el paso de las palas de la hélice y transmite impulsos que son contados por una tarjeta electrónica que a su vez envía el valor de la cuenta al controlador digital. Un ejemplo puede ser con medida de caudales de fluidos.

La más famosa alternativa es el llamado Código Binario Gray que enumera todas las 2nc cadenas de n bits de tal manera que un solo bit cambie entre cualesquiera dos cadenas contiguas Por ejemplo. una solución absurdamente sencilla consiste en comenzar con el número binario _0.11_2 = 2n-1. N=54 63 -15 +7 -1 = 54 1 0 1 1 0 1 Consideremos el problema de obtener todas las 2n cadenas que consisten de n dígitos binarios. Sin embargo hay situaciones en que preferiríamos visitar dichas 2ncadenas en un orden distinto.238 - . .00_2 = 0 y sumar 1 repetidamente hasta llegar a _1. . Tenemos que buscar los diferentes pesos en código Gray que sumados algebraicamente obtengamos el número decimal. a continuación tomaremos un peso Gray negativo de forma que la suma algebraica nos dé el número más próximo a N por debajo de éste. Ávila P. el código binario Gray para n = 4 es: Sergio E.ESCUELA POLITÉCNICA NACIONAL SISTEMAS DIGITALES Peso 63 31 15 7 31 Signo + -+ - 63-31+7-1=38 en decimal Codificación en GRAY de un número decimal. Rango 9 8 7 6 5 4 3 2 1 Peso 511 255 127 63 31 15 7 3 1 Tomaremos con signo positivo el peso Gray inmediatamente superior al buscado. .

. que convierte unas entradas en salidas acordes con los planteamientos lógicos que usan el razonamiento aproximado. En general la lógica borrosa se aplica tanto a sistemas de control como para modelar cualquier sistema continuo de ingeniería. una solución absurdamente sencilla consiste en comenzar con el número binario _0. Como puede verse en la Tabla 1. La más famosa alternativa es el llamado Código Binario Gray que enumera todas las 2n cadenas de n bits de tal manera que sólo un bit cambie entre cualesquiera dos cadenas contiguas [1].00_2 = 0 y sumar 1 repetida- mente hasta llegar a _1. Ávila P. y del lado derecho. biología o economía.ESCUELA POLITÉCNICA NACIONAL SISTEMAS DIGITALES Consideremos el problema de obtener todas las 2n cadenas que consisten de n dígitos binarios. que convierte unas entradas en salidas acordes con los planteamientos lógicos que usan el razonamiento aproximado. Las reglas involucradas en un sistema borroso. la propiedad de cambio de un sólo bit entre cadenas adyacentes también se cumple entre el primero y el último elemento. La lógica borrosa es entonces definida como un sistema matemático que modela funciones no lineales. La lógica borrosa es una rama de la inteligencia artificial que se funda en el concepto "Todo es cuestión de grado" . En la siguiente figura se muestra del lado izquierdo el órden lexicográfico para n = 4.11_2 = 2n-1. o estas reglas pueden también ser formuladas por un experto humano. En general la lógica borrosa se aplica tanto a sistemas de control como para modelar cualquier sistema continuo de ingeniería. Por ejemplo. . pueden ser aprendidas con sistemas adaptativos que aprenden al ' observar ' como operan las personas los dispositivos reales. el código binario Gray correspondiente[1]. biología o economía. Sin embargo el término fue utilizado por vez primera para un código binario específico. La lógica borrosa es entonces definida como un sistema matemático que modela funciones no lineales. el código binario Gray para n = 4 es: En realidad puede haber más de un código Gray para un tamaño dado de cadena.239 - . Las reglas involucradas en un sistema borroso. . Sergio E. pueden ser aprendidas con sistemas adaptativos que aprenden al ' observar ' como operan las personas los dispositivos reales. lo cual permite manejar información vaga o de difícil especificación si quisiéramos hacer cambiar con esta información el funcionamiento o el estado de un sistema especifico. el código binario reflejado Gray. Sin embargo hay situaciones en que preferiríamos visitar dichas 2ncadenas en un orden distinto. BRGC [2]. Es entonces posible con la lógica borrosa gobernar un sistema por medio de reglas de 'sentido común' las cuales se refieren a cantidades indefinidas. o estas reglas pueden también ser formuladas por un experto humano. física. física.

algunas de ellas realmente especiales. . la estructura de esta exposición es la siguiente: comenzaré explicando el concepto de implicación de Lewis y cómo éste intenta eliminar las paradojas del condicional material clásico.. independientemente de que también esté medio vacío. es cierto que el razonamiento humano utiliza valores de verdad que no necesariamente son ``deterministas''. las lógicas difusas son tipos especiales de lógicas multivaluadas. así como también de sistemas de diagnóstico. Se fundamenta en los denominados conjuntos borrosos y un sistema de inferencia borroso basado en reglas de la forma " SI. me detendré en analizar de qué modo los modelos Kripke tratan de librarse de dichas paradojas desde un punto de vista semántico y explicaré cómo la semántica de relación ternaria lo consigue. Por ejemplo. Tales lógicas tienen como objetivo lograr un condicional que realmente represente la noción de implicación del lenguaje ordinario. pues de hecho hay que hablar de ellas en plural. Por tanto. Se ha considerado de manera general que la lógica difusa se inició en 1965. por lo cual son particularmente útiles en aplicaciones electrónicas o computacionales. Pretenden producir resultados exactos a partir de datos imprecisos. hasta el diseño de dispositivos artificiales de deducción automática. en efecto. Ahora bien. pasando por la construcción de artefactos electrónicos de uso doméstico y de entretenimiento. como veremos. Por otra parte. aunque esto último no implique necesariamente cuantificar la velocidad del vehículo con toda precisión. son esencialmente lógicas multivaluadas que extienden a las lógicas clásicas las cuales deben su nombre a que imponen a sus enunciados únicamente valores falso o verdadero. Sergio E. entendida esta última como una propiedad de indeterminismo. Bien que las lógicas clásicas han modelado satisfactoriamente a una gran parte del razonamiento ``natural''. Qué tan lleno puede estar es un elemento de incertidumbre. es decir. de modo que serán los problemas que el condicional ha venido planteando a lo largo de la historia de la lógica el objeto fundamental de nuestro estudio. Zadeh ([17]).. es así como las reglas siempre convierten un conjunto borroso en otro. donde los valores lingüísticos de la premisa y el consecuente están definidos por conjuntos borrosos. hemos de hablar primero de las paradojas del condicional y de la semántica de los mundos posibles estándar o modelos Kripke. El manejo de la semántica relacional ternaria es verdaderamente útil dada su idoneidad para modelizar una gran variedad de lógicas. Ávila P. y el análisis de las ideas principales en las que se fundamenta creo que puede ser de gran interés para todos aquellos que trabajen en campos afines a la lógica y la filosofía del lenguaje. La expedición de patentes industriales de mecanismos basados en la lógica difusa tiene un crecimiento sumamente rápido en todas las naciones industrializadas del orbe. Finalmente. En esta presentación haremos énfasis en el carácter multivaluado de las lógicas difusas. Las lógicas difusas.... "... Las lógicas difusas tratan de crear aproximaciones matemáticas en la resolución de ciertos tipos de problemas. desde un punto de vista optimista. ENTONCES. e igualmente. al calificar que ``el cielo es azul'' uno está tentado a graduar qué tan ``azul''.240 - . por lo general.. La lógica difusa ha cobrado una fama grande por la variedad de sus aplicaciones. en la Universidad de California en Berkeley por Lotfi A. podríamos decir que la idea fundamental es sustituir la relación binaria de la semántica kripkeana por una relación ternaria. Consecuentemente.ESCUELA POLITÉCNICA NACIONAL SISTEMAS DIGITALES El objetivo de esta exposición es explicar del modo más claro y sencillo posible cómo funciona la semántica de relación ternaria y las ideas básicas en las que se basa desde el punto de vista de los problemas que plantean las lógicas para las que fue diseñada. expondré brevemente y de modo muy general cómo se consigue eliminar las paradojas del condicional dando lugar al nacimiento de las lógicas de la relevancia y a continuación. las cuales van desde el control de complejos procesos industriales. los valores de verdad asumidos por enunciados aunque no son deterministas. De modo general. Un vaso medio lleno.. La semántica de relación ternaria. A continuación. Para comprender los conceptos básicos de la semántica de relación ternaria. de difusidad.. no está lleno completamente ni está vacío completamente. El adjetivo ``difuso'' aplicado a estas lógicas se debe a que en ellas los valores de verdad no-deterministas utilizados tienen. si ``un vehículo se mueve rápido''. definida a comienzos de los años setenta por Routley y Meyer. se diseñó especialmente para modelizar las lógicas de la relevancia. una connotación de incertidumbre. como un tipo de implicación. es el cielo. Urquhart y Fine entre otros. no necesariamente son desconocidos. daré unos apuntes sobre la negación dado que esta exposición se centra en la problemática del condicional y la negación puede también entenderse. lo difuso puede entenderse como la posibilidad de asignar más valores de verdad a los enunciados que los clásicos ``falso'' o ``verdadero''. también se está obligado a considerar qué tan rápido es el vehículo..

entonces podemos definir a _n con estas dos reglas [1]: Sergio E. Sin embargo. la figura de la derecha nunca dará una mala lectura. como en la figura de la izquierda. y las operaciones usuales en ese tipo de conjuntos. salvo en las dos filas centrales y entre la primera y la última fila. El resultado es el código binario Gray para n = 3. . cada uno de los cuales puedes distinguir entre blanco y negro. Este código es importante en aplicaciones en las que información analógica es convertida en digital o viceversa. Definición Podemos entonces definir el código binario Gray de manera recursiva. corremos el riesgo de obtener mediciones altamente imprecisas cuando los sensores se encuentran entre las separaciones de los sectores.ESCUELA POLITÉCNICA NACIONAL SISTEMAS DIGITALES Introduciremos primero la noción de conjunto difuso. una para cada sensor. Entonces añadimos un 0 al comienzo de cada fila de la primera mitad y un 1 a cada fila de la seguna mitad. Si representa la decimos que _n secuen- cia binaria Gray de n bits. Además el orden del bit menos significativo de la mitad inferior de la secuencia se invierte con respecto a la primera mitad. Si abajo del código Gray para n = 2 añadimos una copia del mismo invertida en el eje vertical se cumple la propiedad de cambio en un solo bit. Si empleamos el orden lexicográfico para marcar cuatro pistas concéntricas. Para n = 2 notamos que la mitad superior de la secuencia difiere de la inferior en el bit más significativo. Inmediatamente después. Análisis El caso para n = 1 es trivial pues se trata de la misma secuencia que en el orden lexicográfico. Ávila P. presentaremos ciertos tipos de cálculos proposicionales de tipo difuso y concluiremos con algunos esquemas de deducción automática basados en lógicas difusas. Por ejemplo. supóngase que queremos identificar la posición de un disco rotatorio que ha sido dividido en 16 sectores utilizando 4 sensores.241 - .

en el código de gray. En la tabla anterior se presentan los códigos de gray y binario natural para los números del 0 hasta el 15.ESCUELA POLITÉCNICA NACIONAL SISTEMAS DIGITALES Programación Si representamos el conjunto de cadenas binarias como una lista compuesta a su vez por 2n listas. cada código de gray corresponde a un mismo número decimal. Si lo ponemos en forma de matriz para hacerlo más legible: CÓDIGO DE GRAY (REFLEJADO).- Es un código binario en el que la posición del bit no tiene significación numérica (ponderación). la transición de un código al siguiente implica el cambio de un solo dígito a la vez. podemos definir las siguientes dos funciones que corresponden a las reglas en (1): Las lógicas difusas tratan de crear aproximaciones matemáticas en la resolución de ciertos tipos de problemas. sin embargo. después se hace una comparación entre los dos códigos para determinar las relaciones que permitan convertir el uno en el otro y viceversa. cuando el valor de un número cambia. puede decirse Sergio E. por observación de la tabla. Fácilmente se lo puede transformar a su equivalente binario. y en donde cada elemento de las segundas es un dígito. . por lo cual son particularmente útiles en aplicaciones electrónicas o computacionales. Ávila P.242 - . Como puede verse en esta tabla. Pretenden producir resultados exactos a partir de datos imprecisos.

la conversión de código binario a código de gray puede deducirse a partir de la tablaanterior. . Ávila P. que podrían ocurrir en otros códigos. entonces el próximo bit binario es el complemento del anterior bit binario. el Sergio E.ESCUELA POLITÉCNICA NACIONAL SISTEMAS DIGITALES que la conversión del código de gray al código binario se realiza de la siguiente manera: el bit correspondiente al extremo izquierdo (“msb”) es el mismo tanto en el código de gray como en el binario. el msb binario es el mismo “msb” de gray..243 - .existe una gran variedad de códigos binarios. si el siguiente bit de gray es “1”.. todo ¢omplementado. Pero si el siguiente bit de gray en “0”.8 y 9) se representa con su equivalente binario en cuatro bits (nibble o cuarteto) (esto es así porque es el número de bits necesario para representar el nueve. Es un código ponderado debido a que cada posición numérica tiene un peso específico (8421). Fundamentos En BCD cada cifra que representa un dígito decimal (0. etc. entre otros: signo-magnitud. Ejemplo: 1011¢b a 1110¢g 1110 0101 1000¢b a 1001 0111 0100¢g El código de gray es útil en aquellas aplicaciones en las que pueden presentarse códigos intermedios falsos. mucho más fácil es implementar los códigos ¢omplemento a-1 y ¢omplemento a-2. binario desplazado (offset). el código signo-magnitud y el complemento a 1 tienen dos códigos binarios para representar el valor decimal 0. estos códigos sirven para representar cantidades tanto positivas como negativas (para lo cual un dígito representa el signo y los otros la “magnitud” del número).. De igual manera.. que son los más usados en las computadoras.continuando la lectura hacia la derecha. entonces el próximo bit binario es la copia del bit binario anterior. ¢omplemento a 2. al continuar hacia la derecha. Códigos bipolares. Los códigos signo-magnitud y binario offset conceptualmente son simples. ejemplo: 1010 (gray) a 1100 (binario) 1110 0110 0011¢g a 1011 1011 1101¢b. cada cambioen el código binario produce un “1” y cada no cambioproduce un “0” en el código de gray. lo que constituye un problema Código binario decimal Binary-coded decimal (BCD8421) es un sistema numérico usado en sistemas computacionales y electrónicos para codificar números enteros positivos y facilitar las operaciones aritméticas. los códigos bipolares más comunes (para 4-bits incluido el signo) se indican en la siguiente tabla. ¢omplemento a 1. 1. pero representan dificultades al querer implementarlos en software.

LOS CÓDIGOS Sergio E. para el ordenador todas esas informaciones siempre se resumen a lo mismo. independientemente de la naturaleza de la señal con la que estén representadas. si una máquina.c. Una forma sencilla de calcular números en BCD. Algo que como se verá resulta muy útil.2. por lo que el sistema pierde capacidad de representación. Cuando un ordenador guarda su información en algún periférico. lo que los símbolos 0.ESCUELA POLITÉCNICA NACIONAL SISTEMAS DIGITALES número más alto que se puede representar en BCD). y a la información representada con estos dos signos o estados se le llama información binaria.244 - .1. pero en cualquier caso siempre podemos interpretar que estamos tratando informaciones 0 o 1. tensión o no tensión. Ávila P. Esto es porque el BCD sólo se usa para representar cifras no números en su totalidad. Los símbolos 0 y 1 representan para el sistema binario utilizado por los ordenadores. es sumando normalmente bit a bit. En cualquier caso. En la siguiente tabla se muestran los códigos BCD más empleados: Decimal Natural Aiken 8 4 2 1 Exceso 3 0 0000 0000 0000 0011 1 0001 0001 0001 0100 2 0010 0010 0010 0101 3 0011 0011 0011 0110 4 0100 0100 0100 0111 5 0101 1011 0101 1000 6 0110 1100 0110 1001 7 0111 1101 0111 1010 8 1000 1110 1000 1011 9 1001 1111 1001 1100 Como se observa con el BCD sólo se utilizan 10 de las 16 posibles combinaciones que se pueden formar con números de 4 bits. es porque alguien se ha inventado un procedimiento artificial para poder conseguir eso. es la que se llama dígito binario o bit . entonces se le suma un 6 (0110) en binario.d. . etc. sustituye el estado de tensión / no tensión por estado como campo magnético/no magnético (discos magnéticos) o reflexión de la luz/no reflexión de la luz (discos ópticos). es capaz de guardar y representar datos. y si el conjunto de 4 bits sobrepasa el número 9. EBCDIC Y BAUDOT La información en el computador La técnica de informática no es algo natural.a. recibe el nombre de sistema binario. representan para el sistema alfanumérico por lo humanos. Esto quiere decir que para números de más de una cifra hacen falta dos números BCD para componerlo. Un sistema como éste. para poder volver a empezar. Estas informaciones 0 o 1.b. El principio de funcionamiento de los ordenadores se basa en la facilidad que tienen los dispositivos electrónicos para manejar informaciones binarias. 0 o 1. como si hicieramos un módulo al elemento sumante. como es el ordenador. que solo maneja dos estados o dos signos. aunque se facilita la compresión de los números. CODIGOS ALFANUMERICOS CODIGOS ASCII. A primera vista esto puede parecer más engorroso pero en realidad de cara al cálculo y la programación de sistemas digitales es sumamente práctico ya que permite trabajar de hecho con números decimales ordinarios haciendo uso solo de los dos bits posibles que otorga un circuito digital típico ON (1) / OFF (0).

es necesario establecer una relación entre los 0 y 1 de los ordenadores y las informaciones alfanuméricas. en la historia han ido apareciendo distintos tipos de códigos. Es ese sentido. de vídeo o de cualquier otra naturaleza utilizada por el hombre.1 Código Baudot Sergio E. signos de puntuación y determinados comandos de control con tan sólo 5 bits. Cambio a Cambio a 11111 31 1F 37 letras letras Tabla 1. El código BAUDOT. utilizado por las redes telemáticas establecidas hace unas décadas. existen unos procedimientos llamados codificación.ESCUELA POLITÉCNICA NACIONAL SISTEMAS DIGITALES Las informaciones 0 y 1 utilizadas por los ordenadores no tienen ninguna utilidad en sí si no representan una información útil para el usuario. de audio o de vídeo con la información binaria. representa la s letras del alfabeto.245 - . En el caso de los símbolos alfanuméricos. 01101 13 D 15 F ! 01110 14 E 16 C : 01111 15 F 17 K ( 10000 16 10 20 T 5 10001 17 11 21 Z " 10010 18 12 22 L ) 10011 19 13 23 W 2 10100 20 14 24 H # 10101 21 15 25 Y 6 10110 22 16 26 P 0 10111 23 17 27 Q 1 11000 24 18 30 O 9 11001 25 19 31 B ? 11010 26 1A 32 G & Cambio a Cambio a 11011 27 1B 33 cifras cifras 11100 28 1C 34 M . llamándose códigos a la tabla de correspondencia que relaciona la información alfanumérica. Para hacer eso. . 11101 29 1D 35 X / 11110 30 1E 36 V . Binary Decimal Hex Octal Letra Cifra 00000 0 0 0 N/A N/A 00001 1 1 1 E 3 00010 2 2 2 LF LF 00011 3 3 3 A - 00100 4 4 4 espacio espacio 00101 5 5 5 S ´ 00110 6 6 6 I 8 00111 7 7 7 U 7 01000 8 8 10 interlinea interlinea 01001 9 9 11 D $ 01010 10 A 12 R 4 01011 11 B 13 J ' 01100 12 C 14 N . los números. dependiendo de la necesidad que se ha tenido en cada momento. Ávila P. de audio.

(J-R). Los caracteres 0x00–0x3F y 0xFF son de control. IBM adaptó el EBCDIC del código de tarjetas perforadas en los años 1960 y lo promulgó como una táctica customer-control cambiando el código estándar ASCII. A-11000001 B-11000010 C-11000011 D-11000100 E-11000101 F-11000110 G-11000111 H-11001000 I-11001001 J-11010001 K-11010010 Sergio E.ESCUELA POLITÉCNICA NACIONAL SISTEMAS DIGITALES CODIGO EBCDIC EBCDIC (Extended Binary Coded Decimal Interchange Code) es un código estándar de 8 bits usado por computadoras mainframe IBM. EBCDIC es un código binario que representa caracteres alfanuméricos.246 - . Existen muchas versiones ("codepages") de EBCDIC con caracteres diferentes. (S-Z) y en las primeras cuatro posiciones se identifica el grupo al cual pertenece la letra y en las restantes cuatro posiciones el dígito correspondiente a la posición de la letra en el grupo./ ÂÄÀ Áà ÅÇ Ñ¦ . 0x41 es no-saltar página y 0xCA es un guión suave. Ávila P. respectivamente sucesiones diferentes de los mismos caracteres. ^ 60 . < ( + ! 50 &é ê ë è í î ï ì ß ] $ * ) . por eso EBCDIC define un total de 256 caracteres. 0x40 es un espacio. 0 1 2 3 4 5 6 7 8 9 ABC DE F 40 â ä à á ã å ç ñ [ . una variante de EBCDIC. Cada carácter está compuesto por 8 bits = 1 byte. . Letras mayúsculas de la A a la Z: se dividen en tres grupos (A-I). Por ejemplo al menos hay 9 versiones nacionales de EBCDIC con Latín 1 caracteres con sucesiones diferentes. controles y signos de puntuación.0 1 0 0 0 0 0 0. % _ > ? 70 ø É Ê Ë È Í Î Ï Ì ` : # @' = " 80 Øa b c d e f g h i « » ð ý þ ± 90 ° j k l m n o p q r ª º æ ¸ Ƥ A0 µ ~ s t u v w x y z ¡ ¿ Ð Ý Þ ® B0 ¢ £ ¥ · © § ¶ ¼ ½ ¾ ¬ | ¯ ¨ ´ × C0 { A B C D E F G H I ô ö ò ó õ D0 } J K L M N O P Q R ¹ û ü ù ú ÿ E0 \ ÷ S T U V W X Y Z ² Ô Ö Ò Ó Õ F0 0 1 2 3 4 5 6 7 8 9 ³ Û Ü Ù Ú Clave EBCDIC Espacio en blanco . El siguiente es el código CCSID 500.

Se utiliza en España y los países de América Latina. ¬ 5_ ( 5 hex = 0101 bin ) 6_ .247 - . 0-11110000 1-11110001 2-11110010 3-11110011 4-11110100 5-11110101 6-11110110 7-11110111 8-11111000 9-11111001 EBCDIC 284 Codepage 284 es un EBCDIC-codepage con Latín-1-charset completo. . < ( + 4_ ( 4 hex = 0100 bin ) 5_ & é ê ë è í î ï ì ß ] $ * ) . codepage 284 América Latina./ Â Ä À Á Ã Å Ç # ñ . Ávila P.ESCUELA POLITÉCNICA NACIONAL SISTEMAS DIGITALES L-11010011 M-11010100 N-11010101 O-11010110 P-11010111 Q-11011000 R-11011001 S-11100010 T-11100011 U-11100100 V-11100101 W-11100110 X-11100111 Y-11111000 Z-11111001 La letra Ñ se representa 0 1 1 0 1 0 0 1 Los dígitos del cero (0) al nueve (9): se identifican con un uno en las primeras cuatro posiciones y en las restantes cuatro posiciones el dígito en binario. España 0 1 2 3 4 5 6 7 8 9 A B C D E F 4_ â ä à á ã å ç ¦ [ . % _ > ? 6_ ( 6 hex = 0110 bin ) 7_ ø É Ê Ë È Í Î Ï Ì ` : Ñ @ ' = " 7_ ( 7 hex = 0111 bin ) 8_ Ø a b c d e f g h i « » ð ý þ ± 8_ ( 8 hex = 1000 bin ) 9_ ° j k l m n o p q r ª º æ ¸ Æ ¤ 9_ ( 9 hex = 1001 bin ) A_ µ ¨ s t u v w x y z ¡ ¿ Ð Ý Þ ® A_ ( A hex = 1010 bin ) B_ ¢ £ ¥ · © § ¶ ¼ ½ ¾ ^ ! ¯ ~ ´ × B_ ( B hex = 1011 bin ) C_ { A B C D E F G H I ô ö ò ó õ C_ ( C hex = 1100 bin ) D_ } J K L M N O P Q R ¹ û ü ù ú ÿ D_ ( D hex = 1101 bin ) E_ \ ÷ S T U V W X Y Z ² Ô Ö Ò Ó Õ E_ ( E hex = 1110 bin ) F_ 0 1 2 3 4 5 6 7 8 9 ³ Û Ü Ù Ú F_ ( F hex = 1111 bin ) 0 1 2 3 4 5 6 7 8 9 A B C D E F 40 : espacio Sergio E.

además de todo un complejo juego de comandos de control. Decimal Hexadecimal Character Decimal Hexadecimal Character 129 81 a 194 C2 B 130 82 b 195 C3 C 131 83 c 196 C4 D 132 84 d 197 C5 E 133 85 e 198 C6 F 134 86 f 199 C7 G 135 87 g 200 C8 H 136 88 h 201 C9 I 137 89 i 209 D1 J 145 91 j 210 D2 K 146 92 k 211 D3 L 147 93 l 212 D4 M 148 94 m 213 D5 N 149 95 n 214 D6 O 150 96 o 215 D7 P 151 97 p 216 D8 Q 152 98 q 217 D9 R 153 99 r 226 E2 S 162 A2 s 227 E3 T 163 A3 t 228 E4 U 164 A4 u 229 E5 V 165 A5 v 230 E6 W 166 A6 w 231 E7 X 167 A7 x 232 E8 Y 168 A8 y 233 E9 Z 169 A9 z 64 40 blank 240 F0 0 75 4B .ESCUELA POLITÉCNICA NACIONAL SISTEMAS DIGITALES 41 : espacio no-frágil CA : guión suave/corto FF : carácter de control ( EBCDIC ) 9F : carácter de euro € ( EBCDIC . contienen mas signos de puntuación que el código Baudot. diferencia las letras mayúsculas de las minúsculas. Ávila P. 241 F1 1 76 4C < 242 F2 2 77 4D ( 243 F3 3 78 4E + 244 F4 4 79 4F | 245 F5 5 80 50 & 246 F6 6 90 5A ! 247 F7 7 91 5B $ 248 F8 8 92 5C * Sergio E. . utilizado por los ordenadores de IBM de los de la serie IBM PC (miniordenadores y mainframes).248 - .1145) El código EBCDIC (Extended Binary Coded Decimal Interchange Code). En este caso se utilizan 8 bits para representar cada símbolo.

expliquemos el contexto de este desarrollo de manera sencilla: Emile emplea un 'bit' de arranque y un 'bit' para parar . el signo de pesos y centavos. lo que para nuestro cansado amigo Emile resulta en 25 posibles combinaciones. el cual incorpora una gran variedad de símbolos gráficos.A. y separación de frases. asi Baudot necesita solamente cinco 'bits' de información para identificar cada letra. la Prensa Asociada.2 Código EBCDIC Los ordenadores de tipo PC utilizan el Código ASCII (american standart code for information interchange). si nunca hubiera tenido la necesidad de enviar mensajería con textos o la necesidad de conectar con computadoras!!!!!. la Western Union. las Fuerzas Armadas. 123 7B # 96 60 - 124 7C @ 97 61 / 125 7D ' 107 6B . La Red de Telex tenía dos graves limitaciones que no pudieron ser superadas confiablemente: 1) El código no proveía de paridad o algún otro método para la detección de errores de recepción o transmisión. y. podemos decir que los terminales fabricados en los años treinta y cuarenta utilizaban el código BAUDOT de 5 bits por carácter. juega con las teclas de una vieja máquina de escribir accionando accidentalmente la tecla <SHIFT> que hizo que el mecanismo de 'tipos' diera un brinco hacia arriba haciendo aparecer los paréntesis. de manera que asi puede marcar el comienzo y final de cada letra transmitida. y los terminales más modernos suelen utilizar el código ASCII extendido de 8 bits por carácter. un teniente del Servicio Telegráfico Francés. crearon sus propias versiones del código original. claro. la F. hay mas de 26 caracteres conocidos aparte de tildes y puntuaciones. Pero. si solamente cuenta con solo 25 disponibles????. énfasis. desarrolla el denominado "distribuidor Baudot de Telegrafía". Sergio E. los caracteres necesarios para completar mas o menos un código aceptablemente funcional eran. signos aritméticos. Como diablos puede hacerle el teniente Baudot para transmitir 45 caracteres diferentes. signos de puntuación y caracteres de control. inglés y castellano. porque en francés. El problema de Emile. El código ASCII representa con 7 bits las letras mayúsculas y minúsculas. 45!!!. asterisco y las barras espaciadoras y de subrayar. En general.249 - . luego es necesario recordar que tenemos números también y caracteres de espacio. Ávila P. los números.. resultando fantásticas de momento. El problema ahora era jugar con el total de combinaciones posibles con solo cinco 'bits'.. EL CODIGO BAUDOT/MURRAY El código Baudot/Murray data alrededor de 1874 (!) cuando Emile Baudot.ESCUELA POLITÉCNICA NACIONAL SISTEMAS DIGITALES 249 F9 9 93 5D ) 122 7A : 94 5E .. y no era raro encontrar símbolos raros incluidos. El código ASCII extendido en el utilizado habitualmente por el sistema operativo DOS del PC. Un problemón. . Fácil verdad? No. todos. 126 7E = 108 6C % 127 7F " 109 6D _ 193 C1 A 110 6E > ¡¡ ¡¡ ¡¡ 111 6F ? Tabla 1. La confusión provocada por la limitacion de caracteres del Baudot original hizo que con el tiempo el Baudot evolucione creando cierto grado de confusión en el tráfico doméstico e internacional. Existe también un código ASCII extendido de 8 bits por carácter.A.. Ahora Emile podía usar uno de sus cinco 'bits' para realizar este <SHIFT> en su flamante código obteniendo nada menos que 64 nuevas probabilidades. el Weather Bureau. la Bell System. los terminales fabricados entre los años cincuenta y setenta utilizaban el código ASCII de 7 bits por carácter. al colmo que algunos usuarios simplemente no eran capaces de ponerse de acuerdo en la misma configuración del teclado. también había otra versión del código Baudot/Murray: el llamado Alfabeto Internacional Telegráfico Número Dos.. Cuando la Red Internacional de Telex fue formada poco antes de la II Guerra Mundial. fue resuelto una noche cuando bajo la tenue luz de una lámpara de carburo. peor aún cuando el sistema carecía de medios para detectar que un error se había perpetrado sin posibilidad de corrección.

como el Packet o el Pactor. Ávila P. el RTTY/Baudot sigue ganando adeptos día a día. Vista general Como otros códigos de representación de caracteres. o ANSI) como una refundición o evolución de los conjuntos de códigos utilizados entonces en telegrafía. En el momento en el que se introdujo el código ASCII muchos ordenadores trabajaban con grupos de ocho bits (bytes u octetos). especialmente con ordenadores personales y estaciones de trabajo. Más tarde. / 0 1 2 3 4 5 6 7 8 9 :. aunque otros sistemas como las computadoras Prime. en 1967. sin lugar a dudas. . con estas graves limitaciones este código se convierte en la forma mas popular de RTTY de la comunidad Amateur y aparentemente. Fue creado en 1963 por el Comité Estadounidense de Estándares (ASA. como la unidad mínima de información. Casi todos los sistemas informáticos actuales utilizan el código ASCII o una extensión compatible para representar textos y para el control de dispositivos que manejan texto.250 - . es un código de caracteres basado en el alfabeto latino tal como se usa en inglés moderno y en otras lenguas occidentales. El código de caracteres ASCII1 — o una extensión compatible (ver más abajo) — se usa casi en todos los ordenadores. lo que nos dice que el Baudot tiene mas ventajas que desventajas. merced a la desigual competencia del internet y de otras formas de transferencia de datos redundantes como el PTC II y el Clover. permitiendo de esta forma la comunicación entre dispositivos digitales así como su procesado y almacenamiento. pronunciado generalmente [áski]. con todo y el problema de la extraordinaria SUPRESION de otras modalidades que en otros tiempos fueran igualmente populares. Sergio E. se incluyeron las minúsculas. aunque inicialmente empleaba un bit adicional (bit de paridad) que se usaba para detectar errores en la transmisión. como el estándar ISO-8859-1 que es una extensión que utiliza 8 bits para proporcionar caracteres adicionales usados en idiomas distintos al inglés. El nombre más apropiado para este ! " # $ % & ' ( ) * +. acrecentando la actividad que es escuchada ahora en todas las bandas. Los caracteres controladores de LETRAS o de NÚMEROS hacían que los viejos operadores de máquinas electromecánicas de Teletipo se enojaran al perder datos sin saber en realidad que es lo que habían recibido y que se imprimía como ruido convirtiendo la actividad del Telex en una situación muy frustrante.ESCUELA POLITÉCNICA NACIONAL SISTEMAS DIGITALES 2) El código era secuencial donde un carácter específico definía la identidad de los subsecuentes caracteres por un lapso de tiempo hasta que aparecía un carácter de control nuevo que ponía el <SHIFT> bien en <FIGS> o en <CARACTERES>. y se redefinieron algunos códigos de control para formar el código conocido como US- ASCII. donde el octavo bit se usaba habitualmente como bit de paridad con funciones de control de errores en líneas de comunicación u otras funciones específicas del dispositivo. conocido desde 1969 como el Instituto Estadounidense de Estándares Nacionales. que ejecutaban PRIMOS ponían el octavo bit del código ASCII a uno. ASCII fue publicado como estándar por primera vez en 1967 y fue actualizado por última vez en 1986. A menudo se llama incorrectamente ASCII a otros códigos de caracteres de 8 bits.2 @ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_ ASCII es. CODIGO ASCCI El código ASCII (acrónimo inglés de American Standard Code for Information Interchange — Código Estadounidense Estándar para el Intercambio de Información). como el español. lo que significa que usa cadenas de bits representables con siete dígitos binarios (que van de 0 a 127 en base decimal) para representar información de caracteres. en sentido `abcdefghijklmnopqrstuvwxyz{|}~ estricto. En la actualidad define códigos para 33 caracteres no imprimibles. -. más otros 95 caracteres imprimibles que les siguen en la numeración (empezando por el carácter espacio). de los cuales la mayoría son caracteres de control obsoletos que tienen efecto sobre como se procesa el texto. sin embargo. el ASCII especifica una correspondencia entre cadenas de bits y una serie de símbolos (alfanuméricos y otros). un código de siete bits. < = > ? código de caracteres es "US-ASCII". Las máquinas que no usaban la comprobación de paridad asignaban al octavo bit el valor cero en la mayoría de los casos. El código ASCII utiliza 7 bits para representar los caracteres.

Baudot usó códigos de longitud constante.4-1986 se publicó en la literatura técnica de IBM como página de códigos 367. además de reservar unos cuantos códigos de control para el procesador de textos. .4-1968. Ávila P. sino para controlar dispositivos (como impresoras) que usaban ASCII. La Agencia de Estándares Estadounidense (ASA). equivale a "suprimir" ("delete"). La versión de IBM de ANSI X3. DIN publicó una versión de ASCII como el estándar DIN 66003 en 1974. ISO/IEC 646:1991 La International Reference Version es la misma que en el ANSI X3. otro carácter especial. sin embargo. publicó por primera vez el código ASCII en 1963.251 - .4-1986.4-1986. El código 127 (los siete bits a uno). constituyendo los primeros 128 caracteres (o los 'más bajos'). y tomó muchas características del código Morse. que se convertiría más tarde en el Instituto Nacional Estadounidense de Estándares (ANSI). El código ASCII también está incluido en su probable relevo. Comparado con los primeros códigos telegráficos.3 La Organización Internacional de Estandarización (ISO) publicó su versión. a diferencia del código Morse. La edición de 1991 es idéntica a ANSI X3. estos asuntos están especificados por otros lenguajes como los lenguajes de etiquetas. 1983. A principios de la década de 1970 publicó una versión como Recomendación CCITT V.ESCUELA POLITÉCNICA NACIONAL SISTEMAS DIGITALES El código ASCII define una relación entre caracteres específicos y secuencias de bits. En particular.50.4-1986. 1972. basada en ANSI X3. Algunos observadores consideran el código ASCII el estándar de software más exitoso que nunca se haya promulgado. los diseñadores de ASCII idearon este código para poder "borrar" una sección de papel perforado (un medio de almacenamiento popular hasta la década de 1980) Sergio E. La versión de 1967 añadió las letras minúsculas. que hace que una impresora avance el papel. Otros órganos de estandarización han publicado códigos de caracteres que son idénticos a ASCII. Baudot ayudó en la automatización del envío y recepción de mensajes telegráficos. 1973. 1967. 1970.4-1986. Por ejemplo.4-1977. El ASCII publicado en 1963 tenía una flecha apuntando hacia arriba (↑) en lugar del circunflejo (^) y una flecha apuntando hacia la izquierda en lugar del guión bajo (_). Los caracteres de control ASCII El código ASCII reserva los primeros 32 códigos (numerados del 0 al 31 en decimal) para caracteres de control: códigos no pensados originalmente para representar información imprimible. que añadía puntuación y letras minúsculas al más antiguo código de teleimpresión Baudot. y finalmente ANSI X3. derivado de Fieldata. Historia El código ASCII se desarrolló en el ámbito de la telegrafía. Unicode. Aunque esta función se asemeja a otros caracteres de control. cambió los nombres de algunos códigos de control y cambió de lugar los dos códigos de control ACK y ESC de la zona de letras minúsculas a la zona de códigos de control. el código propuesto por Bell y ASA resultó en una reorganización más conveniente para ordenar listas (especialmente porque estaba ordenado alfabéticamente) y añadió características como la 'secuencia de escape'. que habían empezado a desarrollar el código ASCII. en 1992.3. 1983 y 1991. ISO 646:1972 estableció un conjunto de versiones específicas para cada país donde los caracteres de puntuación fueron reemplazados con caracteres no ingleses. a pesar de que ASCII se define estrictamente solamente por los estándares ASA/ANSI: La Asociación Europea de Fabricantes de Ordenadores (ECMA) publicó ediciones de su clon de ASCII. ASCII fue actualizado en consecuencia y publicado como ANSI X3. y 1991. La Unión Internacional de Telecomunicaciones (ITU) publicó su versión de ANSI X3. el carácter 10 representa la función "nueva línea" (line feed). y no define ningún mecanismo para describir la estructura o la apariencia del texto en un documento. ISO 646 (más tarde ISO/IEC 646) en 1967. y el carácter 27 representa la tecla "escape" que a menudo se encuentra en la esquina superior izquierda de los teclados comunes. El Grupo de Trabajo en Ingeniería de Internet (IETF) publicó una versión en 1969 como RFC 20. y estableció la versión estándar para Internet. Bell había planeado usar un código de seis bits. y se usó por primera vez comercialmente como un código de teleimpresión impulsado por los servicios de datos de Bell.4-1986. Estos códigos de caracteres reciben a menudo el nombre de ASCII. Recomendación ITU T. ECMA-6 en 1965. pero se les convenció para que se unieran al subcomité de la Agencia de Estándares Estadounidense (ASA). ANSI X3. con la publicación de RFC 1345 en 1992.

ESCUELA POLITÉCNICA NACIONAL SISTEMAS DIGITALES

mediante la perforación de todos los agujeros posibles de una posición de carácter concreta, reemplazando
cualquier información previa. Dado que el código 0 era ignorado, fue posible dejar huecos (regiones de
agujeros) y más tarde hacer correcciones.

Muchos de los caracteres de control ASCII servían para marcar paquetes de datos, o para controlar protocolos
de transmisión de datos (por ejemplo ENQuiry, con el significado: ¿hay alguna estación por ahí?,
ACKnowledge: recibido o "acuse de recibo", Negative AcKnowledge: No recibido, Start Of Header: inicio de
cabecera, Start of TeXt: inicio de texto, End of TeXt: final de texto, etc.). ESCape y SUBstitute permitían a un
protocolo de comunicaciones, por ejemplo, marcar datos binarios para que contuviesen códigos con el mismo
código que el carácter de protocolo, y que el receptor pudiese interpretarlos como datos en lugar de como
caracteres propios del protocolo.

Los diseñadores del código ASCII idearon los caracteres de separación para su uso en sistemas de cintas
magnéticas. Dos de los caracteres de control de dispositivos, comúnmente llamados XON y XOFF
generalmente ejercían funciones de caracteres de control de flujo para controlar el flujo a hacia un dispositivo
lento (como una impresora) desde un dispositivo rápido (como un ordenador), de forma que los datos no
saturasen la capacidad de recepción del dispositivo lento y se perdiesen.

Los primeros usuarios de ASCII adoptaron algunos de los códigos de control para representar
"metainformación" como final-de-línea, principio/final de un elemento de datos, etc. Estas asignaciones a
menudo entraban en conflicto, así que parte del esfuerzo de convertir datos de un formato a otro comporta
hacer las conversiones correctas de metainformación. Por ejemplo, el carácter que representa el final-de-línea
en ficheros de texto varía con el sistema operativo. Cuando se copian archivos de un sistema a otro, el sistema
de conversión debe reconocer estos caracteres como marcas de final-de-línea y actuar en consecuencia.

Actualmente los usuarios de ASCII usan menos los caracteres de control, (con algunas excepciones como
"retorno de carro" o "nueva línea"). Los lenguajes modernos de etiquetas, los protocolos modernos de
comunicación, el paso de dispositivos basados en texto a basados en gráficos, el declive de las teleimpresoras,
las tarjetas perforadas y los papeles continuos han dejado obsoleta la mayoría de caracteres de control.

Binario Decimal Hex Abreviatura Repr AT Nombre/Significado

0000 0000 0 00 NUL ␀ ^@ Carácter Nulo

0000 0001 1 01 SOH ␁ ^A Inicio de Encabezado

0000 0010 2 02 STX ␂ ^B Inicio de Texto

0000 0011 3 03 ETX ␃ ^C Fin de Texto

0000 0100 4 04 EOT ␄ ^D Fin de Transmisión

0000 0101 5 05 ENQ ␅ ^E Enquiry

0000 0110 6 06 ACK ␆ ^F Acknowledgement

0000 0111 7 07 BEL ␇ ^G Timbre

0000 1000 8 08 BS ␈ ^H Retroceso

0000 1001 9 09 HT ␉ ^I Tabulación horizontal

0000 1010 10 0A LF ␊ ^J Line feed

0000 1011 11 0B VT ␋ ^K Tabulación Vertical

Sergio E. Ávila P. - 252 -

ESCUELA POLITÉCNICA NACIONAL SISTEMAS DIGITALES

0000 1100 12 0C FF ␌ ^L Form feed

0000 1101 13 0D CR ␍ ^M Carriage return

0000 1110 14 0E SO ␎ ^N Shift Out

0000 1111 15 0F SI ␏ ^O Shift In

0001 0000 16 10 DLE ␐ ^P Data Link Escape

Device Control 1 — oft.
0001 0001 17 11 DC1 ␑ ^Q
XON

0001 0010 18 12 DC2 ␒ ^R Device Control 2

Device Control 3 — oft.
0001 0011 19 13 DC3 ␓ ^S
XOFF

0001 0100 20 14 DC4 ␔ ^T Device Control 4

Negative
0001 0101 21 15 NAK ␕ ^U
Acknowledgement

0001 0110 22 16 SYN ␖ ^V Synchronous Idle

0001 0111 23 17 ETB ␗ ^W End of Trans. Block

0001 1000 24 18 CAN ␘ ^X Cancel

0001 1001 25 19 EM ␙ ^Y End of Medium

0001 1010 26 1A SUB ␚ ^Z Substitute

0001 1011 27 1B ESC ␛ ^[ or ESC Escape

0001 1100 28 1C FS ␜ ^\ File Separator

0001 1101 29 1D GS ␝ ^] Group Separator

0001 1110 30 1E RS ␞ ^^ Record Separator

0001 1111 31 1F US ␟ ^_ Unit Separator

^?, Delete, or
0111 1111 127 7F DEL ␡ Backspace
Delete

Otros nombres para ASCII

La RFC 1345 (publicada en junio de 1992) y el registro IANA de códigos de caracteres, reconocen los
siguientes nombres alternativos para ASCII para su uso en Internet.

ANSI_X3.4-1968 (nombre canónico)
ANSI_X3.4-1986

Sergio E. Ávila P. - 253 -

ESCUELA POLITÉCNICA NACIONAL SISTEMAS DIGITALES

ASCII
US-ASCII (nombre MIME recomendado)
us
ISO646-US
ISO_646.irv:1991
iso-ir-6
IBM367
cp367
csASCII

De estos, sólo los nombres "US-ASCII" y "ASCII" se usan ampliamente. A menudo se encuentran en el
parámetro de "código de caracteres" opcional en la cabecera Content-Type de algunos mensajes MIME, en el
elemento equivalente "meta" de algunos documentos HTML, y en la parte de declaración de codificación de
carácter de la cabecera de algunos documentos XML.@

Variantes de ASCII

A medida que la tecnología informática se difundió a lo largo del mundo, se desarrollaron diferentes
estándares y las empresas desarrollaron muchas variaciones del código ASCII para facilitar la escritura de
lenguas diferentes al inglés que usaran alfabetos latinos. Se pueden encontrar algunas de esas variaciones
clasificadas como "ASCII Extendido", aunque en ocasiones el término se aplica erróneamente para cubrir
todas las variantes, incluso las que no preservan el conjunto de códigos de caracteres original ASCII de siete
bits.

La ISO 646 (1972), el primer intento de remediar el sesgo pro-inglés de la codificación de caracteres, creó
problemas de compatibilidad, pues también era un código de caracteres de 7 bits. No especificó códigos
adicionales, así que reasignó algunos específicamente para los nuevos lenguajes. De esta forma se volvió
imposible saber en qué variante se encontraba codificado el texto, y, consecuentemente, los procesadores de
texto podían tratar una sola variante.

La tecnología mejoró y aportó medios para representar la información codificada en el octavo bit de cada byte,
liberando este bit, lo que añadió otros 128 códigos de carácter adicionales que quedaron disponibles para
nuevas asignaciones. Por ejemplo, IBM desarrolló páginas de código de 8 bits, como la página de códigos
437, que reemplazaba los caracteres de control con símbolos gráficos como sonrisas, y asignó otros caracteres
gráficos adicionales a los 128 bytes superiores de la página de códigos. Algunos sistemas operativos como
DOS, podían trabajar con esas páginas de código, y los fabricantes de ordenadores personales incluyeron
soporte para dichas páginas en su hardware.

Los estándares de ocho bits como ISO 8859 y Mac OS Roman fueron desarrollados como verdaderas
extensiones de ASCII, dejando los primeros 127 caracteres intactos y añadiendo únicamente valores
adicionales por encima de los 7-bits. Esto permitió la representación de un abanico mayor de lenguajes, pero
estos estándares continuaron sufriendo incompatibilidades y limitaciones. Todavía hoy, ISO-8859-1 y su
variante Windows-1252 (a veces llamada erróneamente ISO-8859-1) y el código ASCII original de 7 bits son
los códigos de carácter más comúnmente utilizados.

Unicode y Conjunto de Caracteres Universal (UCS) ISO/IEC 10646 definen un conjunto de caracteres mucho
mayor, y sus diferentes formas de codificación han empezado a reemplazar ISO 8859 y ASCII rápidamente en
muchos entornos. Mientras que ASCII básicamente usa códigos de 7-bits, Unicode y UCS usan "code points"
o apuntadores relativamente abstractos: números positivos (incluyendo el cero) que asignan secuencias de 8 o
más bits a caracteres. Para permitir la compatibilidad, Unicode y UCS asignan los primeros 128 apuntadores a
los mismos caracteres que el código ASCII. De esta forma se puede pensar en ASCII como un subconjunto
muy pequeño de Unicode y UCS. La popular codificación UTF-8 recomienda el uso de uno a cuatro valores
de 8 bits para cada apuntador, donde los primeros 128 valores apuntan a los mismos caracteres que ASCII.
Otras codificaciones de caracteres como UTF-16 se parece a ASCII en cómo representan los primeros 128
caracteres de Unicode, pero tienden a usar 16 a 32 bits por carácter, así que requieren de una conversión
adecuada para que haya compatibilidad entre ambos códigos de carácter.

La palabra ASCIIbético (o, más habitualmente, la palabra "inglesa" ASCIIbetical) describe la ordenación
según el orden de los códigos ASCII en lugar del orden alfabético. 5

Sergio E. Ávila P. - 254 -

ESCUELA POLITÉCNICA NACIONAL SISTEMAS DIGITALES

La abreviatura ASCIIZ o ASCIZ se refiere a una cadena de caracteres terminada en cero (del inglés "zero").

Caracteres imprimibles ASCII

El código el carácter espacio, designa al espacio entre palabras, y se produce normalmente por la barra
espaciadora de un teclado. Los códigos del 33 al 126 se conocen como caracteres imprimibles, y representan
letras, dígitos, signos de puntuación y varios símbolos.

El ASCII de siete bits proporciona siete caracteres "nacionales" y, si la combinación concreta de hardware y
software lo permite, puede utilizar combinaciones de teclas para simular otros caracteres internacionales: en
estos casos un backspace puede preceder a un acento abierto o grave (en los estándares británico y americano,
pero sólo en estos estándares, se llama también "opening single quotation mark"), una tilde o una "marca de
respiración".

De He Representa De He Representa De He Representa
Binario c x ción Binario c x ción Binario c x ción

0010 0 0100 0 0110 0
32 20 espacio ( ) 64 40 @ 96 60 `
000 000 000

0010 0 0100 0 0110 0
33 21 ! 65 41 A 97 61 a
001 001 001

0010 0 0100 0 0110 0
34 22 " 66 42 B 98 62 b
010 010 010

0010 0 0100 0 0110 0
35 23 # 67 43 C 99 63 c
011 011 011

0010 0 0100 0 0110 0 10
36 24 $ 68 44 D 64 d
100 100 100 0

0010 0 0100 0 0110 0 10
37 25 % 69 45 E 65 e
101 101 101 1

0010 0 0100 0 0110 0 10
38 26 & 70 46 F 66 f
110 110 110 2

0010 0 0100 0 0110 0 10
39 27 ' 71 47 G 67 g
111 111 111 3

0010 1 0100 1 0110 1 10
40 28 ( 72 48 H 68 h
000 000 000 4

0010 1 0100 1 0110 1 10
41 29 ) 73 49 I 69 i
001 001 001 5

0010 1 0100 1 0110 1 10
42 2A * 74 4A J 6A j
010 010 010 6

0010 1 0100 1 0110 1 10
43 2B + 75 4B K 6B k
011 011 011 7

0010 1 0100 1 0110 1 10
44 2C , 76 4C L 6C l
100 100 100 8

0010 1 0100 1 0110 1 10
45 2D - 77 4D M 6D m
101 101 101 9

Sergio E. Ávila P. - 255 -

ESCUELA POLITÉCNICA NACIONAL SISTEMAS DIGITALES

0010 1 0100 1 0110 1 11
46 2E . 78 4E N 6E n
110 110 110 0

0010 1 0100 1 0110 1 11
47 2F / 79 4F O 6F o
111 111 111 1

0011 0 0101 0 0111 0 11
48 30 0 80 50 P 70 p
000 000 000 2

0011 0 0101 0 0111 0 11
49 31 1 81 51 Q 71 q
001 001 001 3

0011 0 0101 0 0111 0 11
50 32 2 82 52 R 72 r
010 010 010 4

0011 0 0101 0 0111 0 11
51 33 3 83 53 S 73 s
011 011 011 5

0011 0 0101 0 0111 0 11
52 34 4 84 54 T 74 t
100 100 100 6

0011 0 0101 0 0111 0 11
53 35 5 85 55 U 75 u
101 101 101 7

0011 0 0101 0 0111 0 11
54 36 6 86 56 V 76 v
110 110 110 8

0011 0 0101 0 0111 0 11
55 37 7 87 57 W 77 w
111 111 111 9

0011 1 0101 1 0111 1 12
56 38 8 88 58 X 78 x
000 000 000 0

0011 1 0101 1 0111 1 12
57 39 9 89 59 Y 79 y
001 001 001 1

0011 1 0101 1 0111 1 12
58 3A : 90 5A Z 7A z
010 010 010 2

0011 1 0101 1 0111 1 12
59 3B ; 91 5B [ 7B {
011 011 011 3

0011 1 0101 1 0111 1 12
60 3C < 92 5C \ 7C |
100 100 100 4

0011 1 0101 1 0111 1 12
61 3D = 93 5D ] 7D }
101 101 101 5

0011 1 0101 1 0111 1 12
62 3E > 94 5E ^ 7E ~
110 110 110 6

0011 1 0101 1
63 3F ? 95 5F _
111 111

Rasgos estructurales

Los dígitos del 0 al 9 se representan con sus valores prefijados con el valor 0011 en binario (esto significa
que la conversión BCD-ASCII es una simple cuestión de tomar cada unidad bcd y prefijarla con 0011).

Sergio E. Ávila P. - 256 -

ESCUELA POLITÉCNICA NACIONAL SISTEMAS DIGITALES

Las cadenas de bits de las letras minúsculas y mayúsculas sólo difieren en un bit, simplificando de esta
forma la conversión de uno a otro grupo.

La RFC 1345 (publicada en Junio de 1992) y el registro IANA de códigos de caracteres, reconocen los
siguientes nombres alternativos para ASCII para su uso en Internet.
ANSI_X3.4-1968 (nombre canónico)
ANSI_X3.4-1986
ASCII
US-ASCII (nombre MIME recomendado)
us
ISO646-US
ISO_646.irv:1991
iso-ir-6
IBM367
cp367
csASCII

De estos, sólo los nombres "US-ASCII" y "ASCII" se usan ampliamente. A menudo se encuentran en el
parámetro de "código de caracteres" opcional en la cabecera Content-Type de algunos mensajes MIME, en el
elemento equivalente "meta" de algunos documentos HTML, y en la parte de declaración de codificación de
carácter de la cabecera de algunos documentos XML.@

El código Baudot/Murray data alrededor de 1874 (!) cuando Emile Baudot, un teniente del Servicio
Telegráfico Francés, desarrolla el denominado "distribuidor Baudot de Telegrafía".
Pero, expliquemos el contexto de este desarrollo de manera sencilla: Emile emplea un 'bit' de arranque y un
'bit' para parar , de manera que asi puede marcar el comienzo y final de cada letra transmitida, asi Baudot
necesita solamente cinco 'bits' de información para identificar cada letra.

Fácil verdad? No. El problema ahora era jugar con el total de combinaciones posibles con solo cinco 'bits', lo
que para nuestro cansado amigo Emile resulta en 25 posibles combinaciones. Un problemón, porque en
francés, inglés y castellano, hay mas de 26 caracteres conocidos aparte de tildes y puntuaciones, luego es
necesario recordar que tenemos números también y caracteres de espacio, énfasis, y separación de frases, los
caracteres necesarios para completar mas o menos un código aceptablemente funcional eran... 45!!!. Como
diablos puede hacerle el teniente Baudot para transmitir 45 caracteres diferentes, si solamente cuenta con solo
25 disponibles????.

El problema de Emile, fue resuelto una noche cuando bajo la tenue luz de una lámpara de carburo, juega con
las teclas de una vieja máquina de escribir accionando accidentalmente la tecla <SHIFT> que hizo que el
mecanismo de 'tipos' diera un brinco hacia arriba haciendo aparecer los paréntesis, el signo de pesos y
centavos, signos aritméticos, asterisco y las barras espaciadoras y de subrayar. Ahora Emile podía usar uno de
sus cinco 'bits' para realizar este <SHIFT> en su flamante código obteniendo nada menos que 64 nuevas
probabilidades, resultando fantásticas de momento, claro, si nunca hubiera tenido la necesidad de enviar
mensajería con textos o la necesidad de conectar con computadoras!!!!!.

La confusión provocada por la limitacion de caracteres del Baudot original hizo que con el tiempo el Baudot
evolucione creando cierto grado de confusión en el tráfico doméstico e internacional; la Western Union, la
Bell System, el Weather Bureau, la F.A.A., las Fuerzas Armadas, y... la Prensa Asociada, todos, crearon sus
propias versiones del código original, al colmo que algunos usuarios simplemente no eran capaces de ponerse
de acuerdo en la misma configuración del teclado, y no era raro encontrar símbolos raros incluidos.
Cuando la Red Internacional de Telex fue formada poco antes de la II Guerra Mundial, también había otra
versión del código Baudot/Murray: el llamado Alfabeto Internacional Telegráfico Número Dos. La Red de
Telex tenía dos graves limitaciones que no pudieron ser superadas confiablemente:

1) El código no proveía de paridad o algún otro método para la detección de errores de recepción o
transmisión, peor aún cuando el sistema carecía de medios para detectar que un error se había perpetrado sin
posibilidad de corrección;

2) El código era secuencial donde un carácter específico definía la identidad de los subsecuentes caracteres
por un lapso de tiempo hasta que aparecía un carácter de control nuevo que ponía el <SHIFT> bien en
<FIGS> o en <CARACTERES>.

Sergio E. Ávila P. - 257 -

con estas graves limitaciones este código se convierte en la forma mas popular de RTTY de la comunidad Amateur y aparentemente. Casi todos los sistemas informáticos actuales utilizan el código ASCII o una extensión compatible para representar textos y para el control de dispositivos que manejan texto. publicó por primera vez el código ASCII en 1963. aunque inicialmente empleaba un bit adicional (bit de paridad) que se usaba para detectar errores en la transmisión. Baudot ayudó en la automatización del envío y recepción de mensajes telegráficos. Vista general Como otros códigos de representación de caracteres.ESCUELA POLITÉCNICA NACIONAL SISTEMAS DIGITALES Los caracteres controladores de LETRAS o de NÚMEROS hacían que los viejos operadores de máquinas electromecánicas de Teletipo se enojaran al perder datos sin saber en realidad que es lo que habían recibido y que se imprimía como ruido convirtiendo la actividad del Telex en una situación muy frustrante. sin embargo. el RTTY/Baudot sigue ganando adeptos día a día. pero se les convenció para que se unieran al subcomité de la Agencia de Estándares Estadounidense (ASA). estos asuntos están especificados por otros lenguajes como los lenguajes de etiquetas. merced a la desigual competencia del internet y de otras formas de transferencia de datos redundantes como el PTC II y el Clover. que se convertiría más tarde en el Instituto Nacional Estadounidense de Estándares (ANSI). En el momento en el que se introdujo el código ASCII muchos ordenadores trabajaban con grupos de ocho bits (bytes u octetos). especialmente con ordenadores personales y estaciones de trabajo. Ávila P. El ASCII publicado Sergio E.2 ASCII es. y tomó muchas características del código Morse. Baudot usó códigos de longitud constante. derivado de Fieldata. El código ASCII utiliza 7 bits para representar los caracteres. más otros 95 caracteres imprimibles que les siguen en la numeración (empezando por el carácter espacio). El nombre más apropiado para este código de caracteres es "US-ASCII". un código de siete bits. que ejecutaban PRIMOS ponían el octavo bit del código ASCII a uno. Bell había planeado usar un código de seis bits. A menudo se llama incorrectamente ASCII a otros códigos de caracteres de 8 bits. permitiendo de esta forma la comunicación entre dispositivos digitales así como su procesado y almacenamiento. Las máquinas que no usaban la comprobación de paridad asignaban al octavo bit el valor cero en la mayoría de los casos. el ASCII especifica una correspondencia entre cadenas de bits y una serie de símbolos (alfanuméricos y otros).258 - . Comparado con los primeros códigos telegráficos. aunque otros sistemas como las computadoras Prime. sin embargo. de los cuales la mayoría son caracteres de control obsoletos que tienen efecto sobre como se procesa el texto. El código ASCII define una relación entre caracteres específicos y secuencias de bits. y no define ningún mecanismo para describir la estructura o la apariencia del texto en un documento. La Agencia de Estándares Estadounidense (ASA). con todo y el problema de la extraordinaria SUPRESION de otras modalidades que en otros tiempos fueran igualmente populares. El código de caracteres ASCII 1 — o una extensión compatible (ver más abajo) — se usa casi en todos los ordenadores. donde el octavo bit se usaba habitualmente como bit de paridad con funciones de control de errores en líneas de comunicación u otras funciones específicas del dispositivo. como el estándar ISO-8859-1 que es una extensión que utiliza 8 bits para proporcionar caracteres adicionales usados en idiomas distintos al inglés. lo que significa que usa cadenas de bits representables con siete dígitos binarios (que van de 0 a 127 en base decimal) para representar información de caracteres. el código propuesto por Bell y ASA resultó en una reorganización más conveniente para ordenar listas (especialmente porque estaba ordenado alfabéticamente) y añadió características como la 'secuencia de escape'. como la unidad mínima de información. que habían empezado a desarrollar el código ASCII. En la actualidad define códigos para 33 caracteres no imprimibles. como el español. además de reservar unos cuantos códigos de control para el procesador de textos. Historia El código ASCII se desarrolló en el ámbito de la telegrafía. lo que nos dice que el Baudot tiene mas ventajas que desventajas. como el Packet o el Pactor. en sentido estricto. a diferencia del código Morse. acrecentando la actividad que es escuchada ahora en todas las bandas. que añadía puntuación y letras minúsculas al más antiguo código de teleimpresión Baudot. . ASCII fue publicado como estándar por primera vez en 1967 y fue actualizado por última vez en 1986. y se usó por primera vez comercialmente como un código de teleimpresión impulsado por los servicios de datos de Bell. sin lugar a dudas.

Los caracteres de control ASCII El código ASCII reserva los primeros 32 códigos (numerados del 0 al 31 en decimal) para caracteres de control: códigos no pensados originalmente para representar información imprimible. Dos de los caracteres de control de dispositivos. constituyendo los primeros 128 caracteres (o los 'más bajos'). La versión de IBM de ANSI X3. La versión de 1967 añadió las letras minúsculas. ISO 646:1972 estableció un conjunto de versiones específicas para cada país donde los caracteres de puntuación fueron reemplazados con caracteres no ingleses. Los diseñadores del código ASCII idearon los caracteres de separación para su uso en sistemas de cintas magnéticas. Start of TeXt: inicio de texto. y el carácter 27 representa la tecla "escape" que a menudo se encuentra en la esquina superior izquierda de los teclados comunes. ECMA-6 en 1965.). 1973. La edición de 1991 es idéntica a ANSI X3. reemplazando cualquier información previa.3. ACKnowledge: recibido o "acuse de recibo".4-1986 se publicó en la literatura técnica de IBM como página de códigos 367. los diseñadores de ASCII idearon este código para poder "borrar" una sección de papel perforado (un medio de almacenamiento popular hasta la década de 1980) mediante la perforación de todos los agujeros posibles de una posición de carácter concreta. Por ejemplo. 1967. El código ASCII también está incluido en su probable relevo. con la publicación de RFC 1345 en 1992. comúnmente llamados XON y XOFF generalmente ejercían funciones de caracteres de control de flujo para controlar el flujo a hacia un dispositivo lento (como una impresora) desde un dispositivo rápido (como un ordenador). en 1992. Dado que el código 0 era ignorado. y que el receptor pudiese interpretarlos como datos en lugar de como caracteres propios del protocolo.ESCUELA POLITÉCNICA NACIONAL SISTEMAS DIGITALES en 1963 tenía una flecha apuntando hacia arriba (↑) en lugar del circunflejo (^) y una flecha apuntando hacia la izquierda en lugar del guión bajo (_). ESCape y SUBstitute permitían a un protocolo de comunicaciones. 1972. Muchos de los caracteres de control ASCII servían para marcar paquetes de datos.4-1986. El Grupo de Trabajo en Ingeniería de Internet (IETF) publicó una versión en 1969 como RFC 20. Recomendación ITU T. Estos códigos de caracteres reciben a menudo el nombre de ASCII. DIN publicó una versión de ASCII como el estándar DIN 66003 en 1974.3 La Organización Internacional de Estandarización (ISO) publicó su versión. 1970. ANSI X3. cambió los nombres de algunos códigos de control y cambió de lugar los dos códigos de control ACK y ESC de la zona de letras minúsculas a la zona de códigos de control. basada en ANSI X3. Estas asignaciones a Sergio E. ISO/IEC 646:1991 La International Reference Version es la misma que en el ANSI X3. Aunque esta función se asemeja a otros caracteres de control. Los primeros usuarios de ASCII adoptaron algunos de los códigos de control para representar "metainformación" como final-de-línea.4-1986. 1983. . ASCII fue actualizado en consecuencia y publicado como ANSI X3.4-1977. y 1991. Algunos observadores consideran el código ASCII el estándar de software más exitoso que nunca se haya promulgado. otro carácter especial. Unicode. La Unión Internacional de Telecomunicaciones (ITU) publicó su versión de ANSI X3. o para controlar protocolos de transmisión de datos (por ejemplo ENQuiry. que hace que una impresora avance el papel. A principios de la década de 1970 publicó una versión como Recomendación CCITT V. etc. 1983 y 1991. fue posible dejar huecos (regiones de agujeros) y más tarde hacer correcciones. ISO 646 (más tarde ISO/IEC 646) en 1967. el carácter 10 representa la función "nueva línea" (line feed). principio/final de un elemento de datos. Negative AcKnowledge: No recibido. sino para controlar dispositivos (como impresoras) que usaban ASCII. Otros órganos de estandarización han publicado códigos de caracteres que son idénticos a ASCII. equivale a "suprimir" ("delete"). marcar datos binarios para que contuviesen códigos con el mismo código que el carácter de protocolo.50.4-1986. con el significado: ¿hay alguna estación por ahí?. End of TeXt: final de texto.4-1986. Start Of Header: inicio de cabecera. y estableció la versión estándar para Internet. y finalmente ANSI X3. de forma que los datos no saturasen la capacidad de recepción del dispositivo lento y se perdiesen.259 - . Ávila P. En particular.4-1968. El código 127 (los siete bits a uno).4-1986. etc. por ejemplo. a pesar de que ASCII se define estrictamente solamente por los estándares ASA/ANSI: La Asociación Europea de Fabricantes de Ordenadores (ECMA) publicó ediciones de su clon de ASCII.

. que reemplazaba los caracteres de control con símbolos gráficos como sonrisas. Algunos sistemas operativos como DOS. Más tarde. como la página de códigos 437. Unicode y UCS usan "code points" o apuntadores relativamente abstractos: números positivos (incluyendo el cero) que asignan secuencias de 8 o más bits a caracteres. pronunciado generalmente [áski]. La tecnología mejoró y aportó medios para representar la información codificada en el octavo bit de cada byte. o ANSI) como una refundición o evolución de los conjuntos de códigos utilizados entonces en telegrafía. Unicode y Conjunto de Caracteres Universal (UCS) ISO/IEC 10646 definen un conjunto de caracteres mucho mayor. Todavía hoy. liberando este bit. ISO-8859-1 y su variante Windows-1252 (a veces llamada erróneamente ISO-8859-1) y el código ASCII original de 7 bits son los códigos de carácter más comúnmente utilizados. IBM desarrolló páginas de código de 8 bits. y asignó otros caracteres gráficos adicionales a los 128 bytes superiores de la página de códigos. en 1967. creó problemas de compatibilidad. pero tienden a usar 16 a 32 bits por carácter. el primer intento de remediar el sesgo pro-inglés de la codificación de caracteres. Por ejemplo. De esta forma se volvió imposible saber en qué variante se encontraba codificado el texto. así que reasignó algunos específicamente para los nuevos lenguajes. Ávila P.260 - . así que parte del esfuerzo de convertir datos de un formato a otro comporta hacer las conversiones correctas de metainformación. conocido desde 1969 como el Instituto Estadounidense de Estándares Nacionales. No especificó códigos adicionales. Variantes de ASCII A medida que la tecnología informática se difundió a lo largo del mundo. Se pueden encontrar algunas de esas variaciones clasificadas como "ASCII Extendido". La ISO 646 (1972). consecuentemente. se incluyeron las minúsculas. pues también era un código de caracteres de 7 bits.ESCUELA POLITÉCNICA NACIONAL SISTEMAS DIGITALES menudo entraban en conflicto. se desarrollaron diferentes estándares y las empresas desarrollaron muchas variaciones del código ASCII para facilitar la escritura de lenguas diferentes al inglés que usaran alfabetos latinos. De esta forma se puede pensar en ASCII como un subconjunto muy pequeño de Unicode y UCS. más habitualmente. dejando los primeros 127 caracteres intactos y añadiendo únicamente valores adicionales por encima de los 7-bits. aunque en ocasiones el término se aplica erróneamente para cubrir todas las variantes. Fue creado en 1963 por el Comité Estadounidense de Estándares (ASA. y sus diferentes formas de codificación han empezado a reemplazar ISO 8859 y ASCII rápidamente en muchos entornos. podían trabajar con esas páginas de código. y. Los estándares de ocho bits como ISO 8859 y Mac OS Roman fueron desarrollados como verdaderas extensiones de ASCII. la palabra "inglesa" ASCIIbetical) describe la ordenación según el orden de los códigos ASCII en lugar del orden alfabético. Esto permitió la representación de un abanico mayor de lenguajes. lo que añadió otros 128 códigos de carácter adicionales que quedaron disponibles para nuevas asignaciones. Unicode y UCS asignan los primeros 128 apuntadores a los mismos caracteres que el código ASCII. los procesadores de texto podían tratar una sola variante. Otras codificaciones de caracteres como UTF-16 se parece a ASCII en cómo representan los primeros 128 caracteres de Unicode. 4 La abreviatura ASCIIZ o ASCIZ se refiere a una cadena de caracteres terminada en cero (del inglés "zero"). y se redefinieron algunos códigos de control para formar el código conocido como Sergio E. incluso las que no preservan el conjunto de códigos de caracteres original ASCII de siete bits. el carácter que representa el final-de-línea en ficheros de texto varía con el sistema operativo. La palabra ASCIIbético (o. así que requieren de una conversión adecuada para que haya compatibilidad entre ambos códigos de carácter. La popular codificación UTF-8 recomienda el uso de uno a cuatro valores de 8 bits para cada apuntador. y los fabricantes de ordenadores personales incluyeron soporte para dichas páginas en su hardware. donde los primeros 128 valores apuntan a los mismos caracteres que ASCII. Cuando se copian archivos de un sistema a otro. Para permitir la compatibilidad. Mientras que ASCII básicamente usa códigos de 7-bits. Por ejemplo.} Arte ASCII El código ASCII (acrónimo inglés de American Standard Code for Information Interchange — Código Estadounidense Estándar para el Intercambio de Información). pero estos estándares continuaron sufriendo incompatibilidades y limitaciones. el sistema de conversión debe reconocer estos caracteres como marcas de final-de-línea y actuar en consecuencia. es un código de caracteres basado en el alfabeto latino tal como se usa en inglés moderno y en otras lenguas occidentales.

Igualmente. Así resulta que 1011 entre 111 toca a 1 (solo puede ser 1 o 0). ¿qué podemos pensar de un valor como 1101? ¿será positivo o negativo? No hay duda: Cuando el bit de mayor peso (el que está más a la izquierda en el registro que contiene al número) sea un uno significa que es negativo y si es un cero será positivo. 1 por 111 es 111 y falta 100 hasta llegar a 1011. comprueba los resultados haciendo las multiplicaciones en el sistema decimal: 10110101000101 x 1011 10100001111011 x 10011 Sergio E. siendo el valor más bajo el cero y el más grande será 232 . Por el contrario. Lo importante es que debe tenerse una cierta precaución en las operaciones. Como el nombre lo implican sólo dos de los cinco bits son 1. Bajando la siguiente cifra (un 0) resulta que 1000 entre 111 toca a 1. el valor negativo más bajo será un uno seguido de 31 ceros. Haz las siguientes multiplicaciones binarias. el 1 de arrastre que se sale fuera del registro se suma de nuevo al resultado. Ejemplo: Representar el numero decimal 23710 en código 2 de 5.261 - . Otra forma de restar sumando consiste en utilizar el complemento a 1. La conclusión anterior afecta directamente a la programación de cualquier dispositivo programable. ya que si el resultado desborda la capacidad del registro podemos encontrarnos con la sorpresa de que nos devuelve un valor extraño que además puede estar cambiado de signo. El código ASCII utiliza 7 bits para representar los caracteres. Ávila P. En programación. 23710 = 00110 01001 100102 de 5 Este es un código binario no ponderado y tiene la propiedad de que los códigos para dígitos decimales sucesivos difiere en un sólo bit.1. que equivale en decimal a 2 31 . Al código Gray también se le llama autorreflejado. Al terminar. Se usan cinco bits para representar los dígitos decimales (0-9). entonces resulta que 1101 = -0011 = -310. se hace el complemento correspondiente y de nuevo se coloca la coma. que equivale en decimal a -(231). cuando un dato se define como entero sin signo. Esto es así porque al complementar un valor (al hacerlo negativo). actualmente 32 en la mayoría de los ordenadores y autómatas industriales. el contenido siempre será positivo. hay que comenzar cogiendo 4 cifras del dividendo para sobrepasar al divisor. El complemento a 2 de un valor binario se obtiene sumando 1 al complemento a 1. los ceros a la izquierda también se transforman en unos. Bit de signo: Suponiendo que un registro es de 4 bits. es decir. aunque inicialmente empleaba un bit adicional (bit de paridad) que se usaba para detectar errores en la transmisión. se quita la coma. Por lo tanto. Ejemplo de división binaria: En este ejemplo. otros ejemplos pueden ser los enteros largos y los reales o dobles. Así sucesivamente. o cíclico.b = ¿x? basta con calcular el resultado "x" (sin olvidar el tamaño del registro que se utilice) como: x = a + (complemento a 2 de b) El tamaño de los registros es normalmente el número de bits del procesador de la máquina. así por ejemplo cuando se define un dato como entero con signo en un procesador de 32 bits. quedando en el registro el resultado esperado de la resta. para hacer la resta a . utilizando el formato de 16 bits. ¡ MAL HECHO ! Estructura de computadores Tema 2: Sistemas de representación numérica 31RESTA EN no afecta) y se arrastra un 1 dos lugares a la izquierda. el complemento a 2 de 10011 (el mismo anterior) será 11101100 + 1 = 11101101. Como el complemento a 2 de 1101 es 0011.ESCUELA POLITÉCNICA NACIONAL SISTEMAS DIGITALES US-ASCII. a los que se destina normalmente el doble de bits que al entero. incluido el bit de mayor peso. Por ejemplo. En la siguiente tabla se muestra dicho código para los números del 0 al 16 Resumen de las operaciones suma y resta binaria con los datos A y B. el número positivo más grande será un cero seguido de 31 unos. como el español. pero en este caso. A menudo se llama incorrectamente ASCII a otros códigos de caracteres de 8 bits. . 32 unos. cada tipo de dato tiene asignado un determinado número de bits. Tipos de Codigo El código 2 de 5 es un código multibit no ponderado. este código está diseñado para la detección de errores en diferentes tipos de cálculos y operaciones con registros de corrimiento. Cómo restar sumando: El complemento a 2 de un número binario se puede considerar directamente su equivalente negativo. los códigos no pueden obtenerse usando una expresión polinomial. NOTA: Para calcular el complemento (cualquiera). como el estándar ISO-8859-1 que es una extensión que utiliza 8 bits para proporcionar caracteres adicionales usados en idiomas distintos al inglés.1. es decir. cuando hay decimales.

Es el número de bits que utiliza para codificar un carácter. entonces. a cada uno de esta simbología codificada se le denomina carácter. . luego necesitan un mínimo de 6 bits. en la historia han ido apareciendo distintos tipos de códigos. Código de 7 caracteres. la computadora puede con facilidad decir cuándo termina un carácter y empieza otro. + * /). estamos enviando al procesador un código binario. de audio o de vídeo con la información binaria. representa la s letras del alfabeto. se representa cada carácter por medio de 8 bits.  Número máximo del conjunto de caracteres. así cuando pulsamos una tecla e el teclado. en binario: Se intenta dividir el dividendo por el divisor. se intenta la división tomando un dígito más (1001 entre 100). todo tipo de información puede ser utilizada internamente formando cadenas de bytes sucesivos que representan cadenas de caracteres.%. utilizado por las redes telemáticas establecidas hace unas décadas. # .ESCUELA POLITÉCNICA NACIONAL SISTEMAS DIGITALES Consideremos el siguiente ejemplo. llamándose códigos a la tabla de correspondencia que relaciona la información alfanumérica. Es el más utilizado en los ordenadores. en general. dependiendo de la necesidad que se ha tenido en cada momento. Estos códigos ponen a disposición de la computadora letras y otros tipos de caracteres. signos de puntuación y determinados comandos de control con tan sólo 5 bits. 42 : 6 = 7. Al menos deben representar 26 letras del alfabeto y 10 dígitos. de forma que las codificaciones más utilizadas emplean 7 y 8 bits: ASCII EBCDIC (Extended BCD Interchange Code). también les corresponden ciertas combinaciones binarias. Los símbolos A.  Los caracteres de control (órdenes entre dispositivos)  Longitud de un código binario. En ellos podemos definir las siguientes características:  Conjunto de caracteres:  Las 10 cifras del sistema decimal (0 al 9)  Las letras del alfabeto (mayúsculas y minúsculas)  Los signos de puntuación (. Además el mismo código binario debe representar números y algunos otros caracteres especiales. : .Las informaciones 0 y 1 utilizadas por los ordenadores no tienen ninguna utilidad en sí si no representan una información útil para el usuario. así como números en forma binaria. Es ese sentido. Para superar los inconvenientes de la representación binaria real.el resultado de multiplicar el divisor por 1 es el propio divisor.262 - . es decir 36caracteres. El código alfanumérico más popular es el denominado ASCII ( American Standard Code for Information Interchange). Si la división es posible. Restamos lascifras del dividendo del divisor y bajamos la cifra siguiente. así como para enviar órdenes entre dispositivos. Los primeros códigos utilizados fueron los de 6 bits que permitían la representación de 64 caracteres. sino también de letras. En estos códigos. Para representar cadenas de caracteres alfabéticos es necesario tener un código binario para el alfabeto. Unicode (16 bits) 32 las de las aplicaciones de las computadoras digitales requieren la manipulación de datos que constan no sólo de números. es necesario establecer una relación entre los 0 y 1 de los ordenadores y las informaciones alfanuméricas. /. Debido a que son códigos de longitud fija. en el ejemplo). El procedimiento de división continúa del mismo modo que en el sistema decimal. Si no puede dividirse. El código BAUDOT. En realidad. se han desarrollado varios códigos en base binaria de longitud fija. B . numéricos. Sergio E. los números. En ese caso. la primera cifra del cociente es un UNO. signos de puntuación y signos de control mediante cadenas de dígitos binarios.Son códigos utilizados por los ordenadores para guardar y transmitir información. el divisor sólo podrá estar contenido una vez en el div idendo. con lo cual. En el caso de los símbolos alfanuméricos. . Estos eran:  26 mayúsculas  10 numéricos  28 especiales Son las codificaciones encargadas de representar los caracteres alfabéticos. Para hacer eso. de vídeo o de cualquier otra naturaleza utilizada por el hombre. de audio.=. empezando por tomar en ambos el mismo número de cifras (100 entre 110. se necesitan más caracteres. es decir. existen unos procedimientos llamados codificación. Ávila P. más 1 de control (paridad).

IBM lo utilizó en sus ordenadores o computadoras como método normalizado de asignación de valores binarios (numéricos) a los caracteres alfabéticos. Se diferencia por utilizar 8 bits para la codificación. 0x41 es no-saltar página y 0xCA es un guión suave. las 26 letras del alfabeto y cierto número de de símbolos especiales como el $. 0x41 es no-saltar página y 0xCA es un guión suave. Debido a que son códigos de longitud fija. controles y signos de puntuación. estos asuntos están especificados por otros lenguajes como los lenguajes de etiquetas. podemos decir que los terminales fabricados en los años treinta y cuarenta utilizaban el código BAUDOT de 5 bits por carácter. numéricos. IBM adaptó el EBCDIC del código de tarjetas perforadas en los 60´s y lo promulgó como una táctica customer-control cambiando el Código estándar ASCII. de puntuación y de control de transmisión. Aunque EBCDIC no se utiliza mucho en las microcomputadoras. Para superar los inconvenientes de la representación binaria real. Por lo tanto debe codificarse con un mínimo de seis bits (2 6 = 64 . además de todo un complejo juego de comandos de control. además de reservar unos cuantos códigos de control para el procesado de textos. respectivamente sucesiones diferentes de los mismos caracteres.Por ejemplo al menos hay 9 versiones nacionales de EBCDIC con Latín 1 caracteres con sucesiones diferentes. es conocido y aceptado internacionalmente. diferencia las letras mayúsculas de las minúsculas. El siguiente es el código CCSID 500. una variante de EBCDIC. respectivamente sucesiones diferentes de los mismos caracteres. En general. 0x40 es un espacio. Los caracteres 0x00–0x3F y 0xFF son de control.263 - . Estos códigos ponen a disposición de la computadora letras y otros tipos de caracteres. así como números en forma binaria. lo que permite 256 caracteres posibles (en contraste con los 7 bits y 128 caracteres del conjunto ASCII estándar). El número total de elementos en un grupo alfanumérico es mayor de 36. El ASCII ( The American Standard Code for Information Interchange. Existan muchas versiones ("codepages") de EBCDIC con caracteres diferentes.ESCUELA POLITÉCNICA NACIONAL SISTEMAS DIGITALES Un código alfanumérico es un código binario de un grupo de elementos que constan de diez dígitos decimales. y no define ningún mecanismo para describir la estructura o la apariencia del texto en un documento. EBCDIC es un producto de IBM para ordenadores centrales. Código Estándar estadounidense para el intercambio de información) es un código desarrollado por el Instituto Estadounidense de Normas y fue diseñado originalmente como un código de 7 bits que podía representar 128 (2 7 ) caracteres. Cada carácter está compuesto por 8 bits = 1 byte. la computadora puede con facilidad decir cuándo termina un carácter y empieza otro. pero 2 3 = 32 no es suficiente). Sergio E. El código ASCII define una relación entre caracteres específicos y secuencias de bits. IBM adaptó el EBCDIC del código de tarjetas perforadas en los 60´s y lo promulgó como una táctica customer-control cambiando el Código estándar ASCII.El código EBCDIC (Extended Binary Coded Decimal Interchange Code) es un código estándar de 8 bits usado por computadoras mainframe IBM. pero en la práctica es un código de ocho bits debido a que de manera invariable se agraga un bit por paridad. por eso EBCDIC define un total de 256 caracteres. Aplicaciones EBCDIC es un código binario que representa caracteres alfanuméricos. letras mayúsculas y gran número de caracteres adicionales que antes no se podían expresar usando las 64 combinaciones del BCD. sobre todo como código de IBM para los mainframes y minicomputadoras de la compañía. letras minusculas. Ávila P. El código EBCDIC (Extended Binary Coded Decimal Interchange Code). Existan muchas versiones ("codepages") de EBCDIC con caracteres diferentes. El código EBCDIC (Extended Binary Coded Decimal Interchange Code) es un código estándar de 8 bits usado por computadoras mainframe IBM. Los caracteres 0x00–0x3F y 0xFF son de control. El siguiente es el código CCSID 500. 0x40 es un espacio. . De ahí que el código BCD se extendiera a una representación utilizando 8 bits dando origen al código EBCDIC (Extended Binary Coded Decimal Interchange Code). se han desarrollado varios códigos en base binaria de longitud fija. EBCDIC es análogo al esquema de codificación ASCII aceptado más o menos en todo el mundo de los microordenadores o las microcomputadoras. Cada carácter está compuesto por 8 bits = 1 byte. En este caso se utilizan 8 bits para representar cada símbolo. los terminales fabricados entre los años cincuenta y setenta utilizaban el código ASCII de 7 bits por carácter. y los terminales más modernos suelen utilizar el código ASCII extendido de 8 bits por carácter. es un código de siete bits que nace de la necesidad de representar digitos decimales. El ASCII se usa de forma muy extensa en la comunicación de datos y es el código que se utiliza para representar los datos internamente en las computadoras personales. En las transmisiones de datos es necesario utilizar un gran número de caracteres de control para la manipulación de los mensajes y realización de otras funciones. Por ejemplo al menos hay 9 versiones nacionales de EBCDIC con Latín 1 caracteres con sucesiones diferentes. EBCDIC es un producto de IBM para ordenadores centrales. El ASCII. utilizado por los ordenadores de IBM de los de la serie IBM PC (miniordenadores y mainframes). El código ASCII es un código consta de siete bits. Este código surge como una ampliación del código BCD. contienen mas signos de puntuación que el código Baudot. por eso EBCDIC define un total de 256 caracteres. una variante de EBCDIC.

0000001. el conjunto de caracteres predeterminado de Linux) contienen el código ASCII en su mitad inferior. de puntuación y de control de transmisión. los terminales fabricados entre los años cincuenta y setenta utilizaban el código ASCII de 7 bits por carácter. el código propuesto por Bell y ASA resultó en una reorganización más conveniente para ordenar listas (especialmente porque estaba ordenado alfabéticamente) y añadió características como la 'secuencia de escape'. Un esquema de codificación desarrollado por IBM para utilizarlo en sus ordenadores o computadoras como método normalizado de asignación de valores binarios (numéricos) a los caracteres alfabéticos. signos de puntuación y caracteres de control. derivado de Fieldata.. Los caracteres mayúsculas y minúsculas difieren sólo en un bit y el carácter ASCII 2 también difiere de las comillas dobles en sólo un bit. 1111111).) que son necesarios en muchos contextos. Estados Unidos en la primera mitad del siglo XX. Comparado con los primeros códigos telegráficos. En las terminales más antiguas. Aunque EBCDIC no se utiliza mucho en las microcomputadoras. podemos decir que los terminales fabricados en los años treinta y cuarenta utilizaban el código BAUDOT de 5 bits por carácter. llamada "flecha atrás". El código ASCII extendido en el utilizado habitualmente por el sistema operativo DOS del PC. Se diferencia por utilizar 8 bits para la codificación. Codigo Extendido Sergio E. el acento circunflejo (^) como una flecha arriba y la barra vertical tiene un agujero en medio. Más tarde. Por otra parte IBM iba evolucionando su estándar llamado EBCDIC de 8bits. y los terminales más modernos suelen utilizar el código ASCII extendido de 8 bits por carácter. .. en 1968 se amplio a ASCII de 8bits con 190 caracteres imprimibles. lo que permite 256 caracteres posibles (en contraste con los 7 bits y 128 caracteres del conjunto ASCII estándar). ni tantos otros símbolos (matemáticos. que desarrollo su propio código de caracteres del que era propietario. Muchos códigos de 8 bits (como el ISO 8859-1. Acrónimo de Extended Binary Coded Decimal Interchange Code (Código Ampliado de Caracteres Decimales Codificados en Binario para el Intercambio de la Información). además de cifras. a diferencia del código Morse.Europa adoptó ASCII pero pronto se dieron cuenta de que no era suficiente para la gran diversidad de lenguas existentes en el antiguo continente. Por estar íntimamente ligado al octeto (y por consiguiente a los enteros que van del 0 al 127. La institución ASA. Los ordenadores de tipo PC utilizan el Código ASCII (american standart code for information interchange). Baudot usó códigos de longitud constante. Aplicaciones Codigo ASCII son las siglas de American Standar Code for Information Interchange. Bell había planeado usar un código de seis bits. es conocido y aceptado internacionalmente. Su uso primordial es facilitar el intercambio de información entre sistemas de procesamiento de datos y equipos asociados y dentro de sistemas de comunicación de datos. numéricos. ASA anuncia el estándar ASCII (American National Standar for Information Interchange) que contaba con 32 caracteres de control y 96 imprimibles. y decide que un código como el de Baudot pero de 7-bits era suficiente para cumplir las necesidades del alfabeto anglosajón. En 1963. el cual incorpora una gran variedad de símbolos gráficos. El estándar ASCII fue publicado por el United States of American Standards Institute (USASI) en 1968. el subrayado (_) se muestra como una flecha izquierda. puntuación. En general. y algunos "caracteres de control" (por ejemplo. El código ASCII fue adoptado por todas las computadoras fabricadas en US menos por IBM. Existe también un código ASCII extendido de 8 bits por carácter.. EBCDIC es análogo al esquema de codificación ASCII aceptado más o menos en todo el mundo de los microordenadores o las microcomputadoras. el problema que presenta es que no puede codificar más que 128 símbolos diferentes (128 es el número total de diferentes configuraciones que se pueden conseguir con 7 dígitos binarios (0000000... más tarde llamada ANSI empieza a estudiar el problema a finales de los 50. los números. tiene la necesidad de crear un estándar de códigos de caracteres para el intercambio de datos. y tomó muchas características del código Morse. Un cupo de 128 es suficiente para incluir mayúsculas y minúsculas del abecedario inglés. Tal combinación se encontraba en los viejos teletipos. que añadía puntuación y letras minúsculas al más antiguo código de teleimpresión Baudot. El código ASCII representa con 7 bits las letras mayúsculas y minúsculas. Ávila P. sobre todo como código de IBM para los mainframes y minicomputadoras de la compañía. uno que instruye a una impresora que pase a la hoja siguiente). sin embargo. Como resultado del rápido desarrollo de las nuevas máquinas emergentes.ESCUELA POLITÉCNICA NACIONAL SISTEMAS DIGITALES El código ASCII se desarrolló en el ámbito de la telegrafía. pero se les convenció para que se unieran al subcomité de la Agencia de Estándares Estadounidense (ASA). usando el octavo dígito de cada octeto (bit o dígito de paridad) para detectar algún error de transmisión). Esto hace mucho más fácil codificar caracteres mecánicamente o con un teclado electrónico que no se base en un microcontrolador. La denominación internacional del código ASCII se conoce como ISO 646.264 - . . pero el ASCII no incluye ni los caracteres acentuados ni el comienzo de interrogación que se usa en castellano. que habían empezado a desarrollar el código ASCII. letras griegas. y se usó por primera vez comercialmente como un código de teleimpresión impulsado por los servicios de datos de Bell. Baudot ayudó en la automatización del envío y recepción de mensajes telegráficos. .

Es decir. El conjunto ASCII básico. en 1967. Es un código de caracteres basado en el alfabeto latino tal como se usa en inglés moderno y en otras lenguas occidentales. El Código ASCII se desarrolló hace ya algún tiempo. se incluyeron las minúsculas. también conocido como ASCII extendido. Los códigos ASCII extendidos presentan variaciones nacionales. Este código codifica 128 caracteres diferentes. Al normalizar los valores utilizados para dichos caracteres. El código estándar ASCII-7 puede representar 128 caracteres diferentes. y es por eso que un código ASCII es la representación numérica de caracteres tales como la letra 'b'. es decir 27 combinaciones de siete 0´s y 1´s. y en la actualidad sus caracteres se usan raramente para su propósito original. ASCII fue desarrollado principalmente para los teletipos. signos de puntuación y algunos otros caracteres. El conjunto ASCII extendido utiliza 8 bits para cada código. Este código esta ordenado en 4 grupos de 8 combinaciones de bits. como el estándar ISO-8859-1 que es una extensión que utiliza 8 bits para proporcionar caracteres adicionales usados en idiomas distintos al inglés. y se redefinieron algunos códigos de control para formar el código conocido como US-ASCII. En el conjunto de caracteres ASCII básico los primeros 32 valores están asignados a los códigos de control de comunicaciones y de impresora —caracteres no imprimibles. Estos conjuntos representan todas las combinaciones posibles de 7 u 8 bits. no son suficientes 8 bits para codificar todos los alfabetos y escrituras del mundo. Hay dos versiones del código ASCII: ASCII-7 y ASCII-8. Más tarde. Notepad (el editor de notas de windows) crea archivos de texto ASCII. o incluso MS Word puede crear archivos ASCII al guardarlos como "sólo texto". que incluye un bit de paridad extra que se usa para detección de errores. a los dígitos del 0 al 9 y a las letras mayúsculas y minúsculas del alfabeto latino. El Código estándar americano para el intercambio de información (American Standard Code for Information Interchange) es el código alfanumérico más extendido. ASCII permite que los ordenadores o computadoras y programas informáticos intercambien información. El conjunto ASCII básico. de 128 cada uno. y generalmente hoy ASCII representa al texto plano y limpio. Cada una de las palabras del código ASCII suele almacenar en un byte. y una serie de caracteres de control. ASCII incluye 256 códigos divididos en dos conjuntos. El código ASCII original utilizaba 7 bits para representar 128 caracteres (0 hasta 7F en hexadecimal (0111 1111)) donde los primeros 32 caracteres son de control (n o gráficos o invisibles) y los restantes son gráficos (visibles). de 128 cada uno. utiliza 7 bits para cada código. En este código. también conocido como código ASCII Extendido. números. En computación.ESCUELA POLITÉCNICA NACIONAL SISTEMAS DIGITALES Debido a las limitaciones del ASCII se definieron varios códigos de caracteres de 8 bits. el problema de estos códigos de 8 bits es que cada uno de ellos se define para un conjunto de lenguas con escrituras semejantes y por tanto no dan una solución unificada a la codificación de todas las lenguas del mundo. incluyendo mayúsculas y minúsculas. un esquema de codificación que asigna valores numéricos a las letras. 'c' y símbolos tales como '@' o una acción de un tipo determinado. siendo esta última el número de bits en un byte. Ávila P. El código ASCII utiliza 7 bits para representar los caracteres. lo que da como resultado 128 códigos de caracteres desde 0 hasta 127 (00H hasta 7FH hexadecimal). o ANSI) como una refundición o evolución de los conjuntos de códigos utilizados entonces en telegrafía. como el español. lo que da como resultado 128 códigos de caracteres desde 0 hasta 127 (00H hasta 7FH hexadecimal). Sin embargo. estándar y extendido. En la actualidad ASCII es un código de 8 bits. Los 96 códigos restantes se asignan a los signos de puntuación corrientes. entre ellos el ASCII extendido. Fue creado en 1963 por el Comité Estadounidense de Estándares (ASA. algunos signos de puntuación. como retroceso. El código ASCII-8. fue introducido en 1981 por IBM. . dando como resultado 128 códigos adicionales. Estos conjuntos representan todas las combinaciones posibles de 7 u 8 bits. El conjunto ASCII extendido utiliza 8 bits para Sergio E. conocido desde 1969 como el Instituto Estadounidense de Estándares Nacionales. estándar y extendido. aunque inicialmente empleaba un bit adicional (bit de paridad) que se usaba para detectar errores en la transmisión. Es el código de caracteres más utilizado en las aplicaciones de cómputo. numerados desde el 128 hasta el 255 (80H hasta FFH extendido). números. el tercero para letras mayúsculas y otros símbolos especiales y el último grupo es usado para letras minúsculas. Descripción Las computadoras sólo pueden entender números. o estándar. El código más usado en nuestra zona geográfica es el Latin-1. cada carácter se representa con una cadena de 7 bits. o estándar.265 - . ASCII incluye 256 códigos divididos en dos conjuntos. utiliza 7 bits para cada código. el segundo para números y marcas de puntuación. sin ningún tipo de formato. retorno de carro y tabulación— empleados para controlar la forma en que la información es transferida desde una computadora a otra o desde una computadora a una impresora. El primer grupo es usado para comandos de control. Por sus siglas en ingles se llama Código estándar americano para intercambio de información. Arriba encontramos una Tabla de caracteres ASCII. A menudo se llama incorrectamente ASCII a otros códigos de caracteres de 8 bits. siendo esta última el número de bits en un byte.

Aalib está soportada por algunos programas de diseño gráfico. Las informaciones 0 y 1 utilizadas por los ordenadores no tienen ninguna utilidad en sí si no representan una información útil para el usuario.). End of TeXt: final de texto. de los cuales la mayoría son caracteres de control obsoletos que tienen efecto sobre como se procesa el texto. Start Of Header: inicio de cabecera. marcar datos binarios para que contuviesen códigos con el mismo código que el carácter de protocolo. de audio o de vídeo con la información binaria. En la actualidad define códigos para 33 caracteres no imprimibles. pues las imágenes producidas con esta técnica generalmente se aprecian con más detalle al ser vistas a distancia. como teletipos. como la librería Aalib (de licencia libre). Para permitir la compatibilidad. Unicode y UCS asignan los primeros 128 apuntadores a los mismos caracteres que el código ASCII. más otros 95 caracteres imprimibles que les siguen en la numeración (empezando por el carácter espacio). El efecto resultante ha sido comparado con el puntillismo. Dado que el código 0 era ignorado. El arte ASCII empezó siendo un arte experimental. Casi todos los sistemas informáticos actuales utilizan el código ASCII o una extensión compatible para representar textos y para el control de dispositivos que manejan texto. Es ese sentido. Negative AcKnowledge: No recibido. y que el receptor pudiese interpretarlos como datos en lugar de como caracteres propios del protocolo. apareciendo códigos de 6 bits capaces de manejar 64 símbolos distintos (el código FIELDATA es un ejemplo de ellos). también se pueden convertir automáticamente imágenes y vídeos en ASCII mediante software. por ejemplo. fue posible dejar huecos (regiones de agujeros) y más tarde hacer correcciones. así que requieren de una conversión adecuada para que haya compatibilidad entre ambos códigos de carácter. Unicode y Conjunto de Caracteres Universal (UCS) ISO/IEC 10646 definen un conjunto de caracteres mucho mayor. de vídeo o de cualquier otra naturaleza utilizada por el hombre. ESCape y SUBstitute permitían a un protocolo de comunicaciones. juegos y reproductores de vídeo Los estándares de ocho bits como ISO 8859 y Mac OS Roman fueron desarrollados como verdaderas extensiones de ASCII. como retroceso. los diseñadores de ASCII idearon este código para poder "borrar" una sección de papel perforado (un medio de almacenamiento popular hasta la década de 1980) mediante la perforación de todos los agujeros posibles de una posición de carácter concreta.ESCUELA POLITÉCNICA NACIONAL SISTEMAS DIGITALES cada código. pero estos estándares continuaron sufriendo incompatibilidades y limitaciones. a los dígitos del 0 al 9 y a las letras mayúsculas y minúsculas del alfabeto latino. Sergio E. Start of TeXt: inicio de texto. Mientras que ASCII básicamente usa códigos de 7-bits. Aunque esta función se asemeja a otros caracteres de control. En el conjunto de caracteres ASCII básico. correos electrónicos o algunas impresoras. Ávila P. dejando los primeros 127 caracteres intactos y añadiendo únicamente valores adicionales por encima de los 7-bits.Todavía hoy. Para hacer eso. o para controlar protocolos de transmisión de datos (por ejemplo ENQuiry. equivale a "suprimir" ("delete"). numerados desde el 128 hasta el 255 (80H hasta FFH extendido). existen unos procedimientos llamados codificación. . ISO-8859-1 y su variante Windows-1252 (a veces llamada erróneamente ISO-8859-1) y el código ASCII original de 7 bits son los códigos de carácter más comúnmente utilizados. retorno de carro y tabulación- empleados para controlar la forma en que la información es transferida desde una computadora a otra o desde una computadora a una impresora. Aunque se puede componer arte ASCII manualmente mediante un editor de textos. donde los primeros 128 valores apuntan a los mismos caracteres que ASCII. Otras codificaciones de caracteres como UTF-16 se parece a ASCII en cómo representan los primeros 128 caracteres de Unicode. La popular codificación UTF-8 recomienda el uso de uno a cuatro valores de 8 bits para cada apuntador. los primeros 32 valores están asignados a los códigos de control de comunicaciones y de impresora -caracteres no imprimibles. pero pronto se popularizó como recurso para representar imágenes en soportes incapaces de procesar gráficos. que ha alcanzado cierta popularidad. es necesario establecer una relación entre los 0 y 1 de los ordenadores y las informaciones alfanuméricas. etc. Los 96 códigos restantes se asignan a los signos de puntuación corrientes. de audio. Muchos de los caracteres de control ASCII servían para marcar paquetes de datos. Más tarde se paso a códigos ASCII fue publicado como estándar por primera vez en 1967 y fue actualizado por última vez en 1986. De esta forma se puede pensar en ASCII como un subconjunto muy pequeño de Unicode y UCS. llamándose códigos a la tabla de correspondencia que relaciona la información alfanumérica. reemplazando cualquier información previa. otro carácter especial. Unicode y UCS usan "code points" o apuntadores relativamente abstractos: números positivos (incluyendo el cero) que asignan secuencias de 8 o más bits a caracteres.266 - . ACKnowledge: recibido o "acuse de recibo". pero tienden a usar 16 a 32 bits por carácter. dando como resultado 128 códigos adicionales. terminales. el arte ASCII. Posteriormente se hizo necesario aumentar el conjunto de caracteres. que consiste en la composición imágenes mediante caracteres imprimibles ASCII. El código de caracteres ASCII es el soporte de una disciplina artística minoritaria. El código 127 (los siete bits a uno). Esto permitió la representación de un abanico mayor de lenguajes. y sus diferentes formas de codificación han empezado a reemplazar ISO 8859 y ASCII rápidamente en muchos entornos. con el significado: ¿hay alguna estación por ahí?.

Ávila P. El nombre más apropiado para este código de caracteres es "US-ASCII". Sergio E. La versión de 1967 añadió las letras minúsculas. .2El ASCII publicado en 1963 tenía una flecha apuntando hacia arriba (↑) en lugar del circunflejo (^) y una flecha apuntando hacia la izquierda en lugar del guión bajo (_). cambió los nombres de algunos códigos de control y cambió de lugar los dos códigos de control ACK y ESC de la zona de letras minúsculas a la zona de códigos de control. especialmente con ordenadores personales y estaciones de trabajo. Casi todos los sistemas informáticos actuales utilizan el código ASCII o una extensión compatible para representar textos y para el control de dispositivos que manejan texto.ESCUELA POLITÉCNICA NACIONAL SISTEMAS DIGITALES El código de caracteres ASCII1 — o una extensión compatible (ver más abajo) — se usa casi en todos los ordenadores.267 - .

ESCUELA POLITÉCNICA NACIONAL SISTEMAS DIGITALES MÉTODO DE SIMPLIFICACIÓN TABULAR QUINE MCCLUSEY INTRODUCCIÓN El método de Quine McCluskey o método tabular consta de dos partes.268 - . La primera parte consiste en hacer una búsqueda exhaustiva y comparativa en todos los términos para seleccionar aquellos que son candidatos para la función simplificada. El Algoritmo Quine–McCluskey es un método de simplificación de funciones booleanas desarrollado por Willard Van Orman Quine y Edward J. Es funcionalmente idéntico a la utilización del mapa de Sergio E. La siguiente parte consiste en discriminar los implicantes primos encontrados para formar la expresión de la función con el menor número de literales o variables. McCluskey. Ávila P. . Estos términos candidatos se denominan implicantes primos.

cuando se trata de trabajar con más de cuatro variables. mediante la combinación de los términos mínimos para el que las funciones están activas: la EN-cubierta .ESCUELA POLITÉCNICA NACIONAL SISTEMAS DIGITALES Karnaugh.. En general. mientras que el intercambio de productos plazo para múltiples funciones de salida es aún más difícil de llevar a cabo. este método no se presta a ser automatizado en la forma de un programa de ordenador. Complejidad Aunque es más práctico que el mapa de Karnaugh. [2]. Esta operación se denomina comúnmente como Optimización Lógica Los métodos clásicos de minimización Reducir al mínimo las funciones de Boole a mano con los clásicos mapas de Karnaugh es un proceso laborioso. con el fin de simplificar la tabla de función mediante la combinación de los términos separados en los más grandes que contienen menos variables. La descripción se puede afirmar en alguna forma algorítmica o porecuaciones lógicas.el DC-cubierta . Espresso ha inspirado amuchos derivados. Digit Code Segments A-G 0 0000 1 1 1 1 1 1 0 -A- 1 0001 0 1 1 0 0 0 0 F B 2 0010 1 1 0 1 1 0 1 | -G -| 3 0011 1 1 1 1 0 0 1 E C . Si n = 32 habrá más de 6. El punto de partida para el diseño de un circuito de puerta lógica es su funcionalidad deseada. y provee un método determinístico de conseguir la mínima expresión de una función booleana. [4] Por otra parte.. .5 * 1015 implicantes primos. pero por lo general algún método oficial por ordenador se aplica. pero su forma tabular lo hace más eficiente para su implementación en lenguajes computacionales. El siguiente ejemplo muestra una parte de una mesa para un conductor de 7 segmentos que traduce el código binario de los valores de un dígito decimal en las señales que hacen que losrespectivos segmentos de la pantalla se encienda. -D- El proceso de aplicación se inicia con una fase de minimización lógica. Funciones con un número grande de variables tienen que ser minimizadas con otros métodos heurísticos. No es adecuado para más de 6 variables de entrada y prácticos sólo para un máximo de 4 variables. el resultado minimizado puede dividirse en partes más pequeñas por un procedimiento de factorización y finalmente se asignan a las células lógicas disponibles básicos de la tecnología de destino. no son más queuna combinación de elementos de memoria y circuitos combinacionales de la puerta.o para los que el valor de la función es irrelevante . Las máquinas de estado. habiendo derivado del análisis del sistema como un todo. Se puede demostrar que para una función de n variables el limite superior del número de implicantes primos es 3n/n. que se describe a continuación. el tiempo de resolución del algoritmo Quine-McCluskey crece de forma exponencial con el aumento del número de variables.. como los contadores. la aplicación de los circuitos de puerta se conoce como síntesis de la lógica.Rudell. . . Espresso se ha desarrollado en IBM por Richard L. el diseño de funciones digitales viene a la aplicación de loscircuitos de puerta combinadas de los bloques de construcción básicos. desde las funciones lógicas modernas por lo general no restringido a un pequeño número de variables. Finalmente un Sergio E. . Todos los sistemas digitales se componen de dos funciones primarias: elementos de memoria para almacenar información y combinadas de los circuitos puerta lógica para traducir esa información. Rudell más tarde publicó la variante Espresso-MV en 1986 bajo el título de "múltiples valores minimización de la lógica para la síntesis de PLA".269 - . en esencia. Dado que los elementos de memoria son componentes estándar que se pueden seleccionar de unconjunto limitado. . En este artículolos métodos de diseño de circuitos de puerta combinadas se resumen brevemente. Ávila P. pero se pueden resumir en la forma de una tabla también. El primer método alternativo para convertirse en popular era el método tabular desarrollado por Quine y McCluskey. Heurística Espresso lógica minimizador La lógica de minimizer Espresso es un programa de computadora utilizado el uso de algoritmos heurísticos y específicos para una eficiente reducción de la complejidad de loscircuitos digitales electrónicos de puerta. que básicamente se puede realizara mano. .un conjunto de implicantes primos se compone. A partir de la tabla de verdad para un conjunto de funciones lógicas. mientras que el costo. A continuación. tedioso y propenso a errores. . así como el riesgo de cometer errores es prohibitivo para la aplicación manual de funciones lógicas. el uso de las computadoras se volvieron indispensables. Sin embargo. . . el circuito de puerta es hacer que parte de. así como la interconexión de todos estos bloques de construcción.

De esta forma se volvió imposible saber en qué variante se encontraba codificado el texto. el primer intento de remediar el sesgo pro-inglés de la codificación de caracteres. pues también era un código de caracteres de 7 bits. como la página de códigos 437. La ISO 646 (1972). Todavía hoy.} IMPLICACIÓN Un implicante es un min término o un grupo de éstos que formen un sub-cubo. creó problemas de compatibilidad. que reemplazaba los caracteres de control con símbolos gráficos como sonrisas. IBM desarrolló páginas de código de 8 bits. el método de Quine-McCluskey es práctico sólo para las funciones con un número limitado de variables de entrada y funciones de salida. La popular codificación UTF-8 recomienda el uso de uno a cuatro valores de 8 bits para cada apuntador. aunque en ocasiones el término se aplica erróneamente para cubrir todas las variantes. porque la longitud de la tabla de verdad aumenta exponencialmente con el número de variables. así que reasignó algunos específicamente para los nuevos lenguajes. Mientras que ASCII básicamente usa códigos de 7-bits. consecuentemente. Adición de una variable a la función se duplicará tanto de ellos. Para permitir la compatibilidad. Un problema similar ocurre cuando se aumenta el número de funciones de salida de un bloque de función combinacional. dejando los primeros 127 caracteres intactos y añadiendo únicamente valores adicionales por encima de los 7-bits. Algunos sistemas operativos como DOS. donde los primeros 128 valores apuntan a los mismos caracteres que ASCII. . se desarrollaron diferentes estándares y las empresas desarrollaron muchas variaciones del código ASCII para facilitar la escritura de lenguas diferentes al inglés que usaran alfabetos latinos. los procesadores de texto podían tratar una sola variante. el resultado es aún muy lejos de ser eficiente en términos de tiempo de procesamiento y uso de la memoria. 4 La abreviatura ASCIIZ o ASCIZ se refiere a una cadena de caracteres terminada en cero (del inglés "zero"). No especificó códigos adicionales. la palabra "inglesa" ASCIIbetical) describe la ordenación según el orden de los códigos ASCII en lugar del orden alfabético. Los estándares de ocho bits como ISO 8859 y Mac OS Roman fueron desarrollados como verdaderas extensiones de ASCII. pero estos estándares continuaron sufriendo incompatibilidades y limitaciones. pero tienden a usar 16 a 32 bits por carácter. Por ejemplo. Unicode y UCS usan "code points" o apuntadores relativamente abstractos: números positivos (incluyendo el cero) que asignan secuencias de 8 o más bits a caracteres. lo que añadió otros 128 códigos de carácter adicionales que quedaron disponibles para nuevas asignaciones. incluso las que no preservan el conjunto de códigos de caracteres original ASCII de siete bits. La palabra ASCIIbético (o. Como resultado. Otras codificaciones de caracteres como UTF-16 se parece a ASCII en cómo representan los primeros 128 caracteres de Unicode. Se pueden encontrar algunas de esas variaciones clasificadas como "ASCII Extendido". y los fabricantes de ordenadores personales incluyeron soporte para dichas páginas en su hardware. ISO-8859-1 y su variante Windows-1252 (a veces llamada erróneamente ISO-8859-1) y el código ASCII original de 7 bits son los códigos de carácter más comúnmente utilizados. Ávila P. Unicode y UCS asignan los primeros 128 apuntadores a los mismos caracteres que el código ASCII. A medida que la tecnología informática se difundió a lo largo del mundo. Esto permitió la representación de un abanico mayor de lenguajes. liberando este bit. así que requieren de una conversión adecuada para que haya compatibilidad entre ambos códigos de carácter. y sus diferentes formas de codificación han empezado a reemplazar ISO 8859 y ASCII rápidamente en muchos entornos. La tecnología mejoró y aportó medios para representar la información codificada en el octavo bit de cada byte. Sergio E. podían trabajar con esas páginas de código.ESCUELA POLITÉCNICA NACIONAL SISTEMAS DIGITALES procedimiento sistemático es seguido para encontrar el conjunto más pequeño de implicantes primos las funciones de salida puede ser realizado con A pesar de este algoritmo de Quine-McCluskey se adapta muy bien para ser implementado en un programa de ordenador. y. Unicode y Conjunto de Caracteres Universal (UCS) ISO/IEC 10646 definen un conjunto de caracteres mucho mayor. De esta forma se puede pensar en ASCII como un subconjunto muy pequeño de Unicode y UCS. más habitualmente. y asignó otros caracteres gráficos adicionales a los 128 bytes superiores de la página de códigos.270 - .

Encontrar los implicantes primos es determinar los grupos de mintérminos que pueden escribirse con menos literales. si se descarta un literal del implicante. con g una función booleana. puede anotarse: f=X+g. Se desea ahora definir las componentes de f que sean más primitivas. B'CD Sergio E. Si existe y. Deben estar presentes en la forma mínima. Se anota la implicación de la siguiente forma: f X X f Puede verse que si X f. 1. Implicante primo esencial Es aquél que cubre a lo menos un min término de la función que no es cubierto por otros implicantes primos. Algunas propiedades de un implicante primo: No contiene literales repetidos. Básicamente. BC'. donde el número de literales de y es menor que el número de literales de X. no considerados en X. a encontrar un grupo de mintérminos que forman el sub-cubo mayor posible. No puede encontrarse un grupo mayor que X. 2. Pasar de un implicante a un implicante primo está asociado a un proceso de crecimiento. Se dice primo o primitivo en el sentido de ser componente básica o elemental de una función. X es un término o parte de f. si y solamente si f=1 para cualquier combinación de valores para los cuales X=1. el resto no será implicante. es decir. Los min términos superfluos pueden emplearse para formar implicantes primos. Ejemplo: Para una función de 4 variables se tienen los siguientes implicantes primos: A'B'D. AB. si X corresponde a un grupo de min términos. No contiene variables redundantes. . Es decir. Se dice que X (producto de literales)es un “implicante primo” de f si y sólo si: X f No existe y tal que X y f. es un producto de literales que no puede ser combinado con otros para obtener un término con menos literales. y viceversa. g corresponderá al resto de los min términos de f. En una mapa de f. Si x e y son implicantes primos de f. entonces y es un implicante primo. También suele decirse que f cubre a X.271 - . A'C'D. para formar un sub- cubo de mayor dimensión. Ávila P. entonces: x no cubre a y. Implicantes primos Un implicante primo es un implicante que no puede ser agrupado con otros implicantes. AC. No contiene a una variable y a su complemento.ESCUELA POLITÉCNICA NACIONAL SISTEMAS DIGITALES Una expresión X implica la función f. Es decir. pero no deben considerarse para los implicantes primos esenciales.

si se encuentra un término que sólo difiera en una variable.Obtención de implicantes primos Se forma una primera columna con los mintérminos de la función. Básicamente. 1 1 1 0 D 0 1 1 1 La función mínima debe contener C los esenciales. 3. Se forma la siguiente columna según:  Se revisa el primer elemento de la columna con todos los siguientes. es una búsqueda exhaustiva de todas las adyacencias entre los mintérminos de la función. Ávila P. y con éstos se logra 0 1 0 0 cubrir completamente a la función: B f = ABC' + ACD