domingo, 10 de octubre de 2021
sábado, 9 de octubre de 2021
CUESTIONARIO DE CLASE
¿QUÉ ES LA ELECTRÓNICA ?
Se llama electrónica a una disciplina técnica y científica, considerada como una rama de la física y como una especialización de la ingeniería, que se dedica al estudio y la producción de sistemas físicos basados en la conducción y el control de un flujo de electrones o de partículas cargadas eléctricamente.
Para ello, la electrónica se sirve no solo de ciertos principios teóricos básicos como el electromagnetismo, sino también de la ciencia de los materiales y otras formas de aplicación práctica del conocimientos científicos. Sus resultados son de especial interés para otros campos del saber especializado, como la informática o la ingeniería de sistemas.
Entre las aplicaciones contemporáneas de la electrónica se encuentran:
- Sistemas de control. Permiten poner en marcha o detener procesos, como es el caso de los circuitos de luz en nuestros hogares y pueden adquirir incluso cierto grado de automatización.
- Electrónica de potencia. Se basa en el empleo de dispositivos electrónicos para regular potencia y voltaje eléctrico, sobre todo a niveles significativos, lo cual es clave en la distribución de la energía y en otros procesos industriales contemporáneos.
- Telecomunicaciones. Es una de las áreas más amplias del desarrollo tecnológico de la electrónica tiene que ver con las base de datos y sistemas de información digital, como internet. Así como con el universo de gadgets o artefactos electrónicos disponibles para la llamada cultura 2.0.
Existen diferentes tipos de compuertas y algunas de estas son más complejas, con la posibilidad de ser simuladas por compuertas más sencillas. Todas estas tienen tablas de verdad que explican los comportamientos en los resultados que otorga, dependiendo del valor booleano que tenga en cada una de sus entradas.
¿QUÉ ES EL MAPA DE KARNAUGH?
La tabla de Karnaugh consiste en una representación bidimensional de la función que se quiere simplificar. Si la función viene expresada como una tabla de verdad, entonces la tabla de Karnaugh puede verse como una forma alternativa de representación 2D. Puesto que la tabla de verdad de una función de n variables posee 2n filas, la tabla de Karnaugh correspondiente debe poseer también 2n celdas. La construcción de la tabla de Karnaugh pasa por codificar cada celda en código binario reflejado (o código Gray) de manera que celdas adyacentes tengan un código que difiere en un solo dígito.
viernes, 8 de octubre de 2021
TIPOS DE DISPOSITIVOS LÓGICOS PROGRAMABLES.
Circuito
integrado de aplicación específica (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 específica. 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 bits, bloques de memoria RAM,
ROM, EEPROM y Flash, así como otros tipos de módulos. Este tipo de ASIC
suele ser 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.
Complex
Programmable Logic Device(CPLD)
Un CPLD (del acrónimo inglés Complex Programmable Logic Device)
es un dispositivo electrónico.
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, ya que utilizan menor espacio, mejoran la fiabilidad del
diseño, y reducen costos. Un CPLD se forma con múltiples bloques lógicos, cada
uno similar a un PLD. Los bloques lógicos se comunican entre sí utilizando una
matriz programable de interconexiones, lo cual hace más eficiente el uso del
silicio, conduciendo a una mejor eficiencia a menor costo. A continuación se
explican brevemente las principales características de la arquitectura de un
CPLD.
Field
Programmable Gate Array(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. 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.Ciertos fabricantes
cuentan con FPGAs que sólo se pueden programar una vez, por lo que sus ventajas
e inconvenientes se encuentran a medio camino entre los ASICs y las FPGAs
reprogramables.
Las FPGAs se utilizan en aplicaciones similares a los ASICs sin embargo son más
lentas, tienen un mayor consumo de potencia y no pueden abarcar sistemas tan
complejos como ellos. A pesar de esto, las FPGAs tienen las ventajas de ser
reprogramables (lo que añade una enorme flexibilidad al flujo de diseño), 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.
Matriz
lógica programable(PAL)
Una matriz lógica programable o PAL es un dispositivo diseñado
por la empresa Monolithic Memories (ahora adquirida por AMD) y ha sido sin duda
el circuito programable más utilizado durante décadas.
La estructura de una PAL, derivada de las PLA, se basa en que cualquier función
lógica puede ser descrito por sumas de productos lógicos. Un dispositivo PAL
tiene una matriz de entrada formada por una puerta AND conectada a una serie de
puertas AND, con las salidas conectadas a un pin del dispositivo. La matriz de
puertas AND es programable y, por tanto, permite efectuar el producto lógico
con cualquier combinación de las entradas primarias.
Dispositivos
logicos programables simples(SPLD)
Los SPLDs es una combinación de un dispositivo lógico (arreglo
de compuertas AND, seguido por otro arreglo de compuertas OR, uno o ambos
arreglos programables, algunos incluyen Flip Flops) y una memoria. La memoria
se utiliza para almacenar el patrón el que se le ha dado al chip durante la
programación. La mayoría de los métodos para almacenar datos en un circuito
integrado han sido adaptados para el uso en SPLDs. Entre estos se incluyen:
antifusibles de silicio, SRAMs, Células EPROM o EEPROM y memoria flash.
Dispositivos SPLD se introducen en 1978 por Monolithic Memories, Inc., (MMI),
la arquitectura era más sencilla que la FPLA porque omitía la matriz OR
programable. Esto hizo los dispositivos más rápidos, más pequeños y más
baratos.
Los SPLD de MMI pronto fueron distribuidos por AMD la cual empleo tecnología
PROM de fusibles Titanio-Tungsteno programables una sola vez; Texas Instruments
apoya las PALs con arquitectura variable programables una sola vez y National
Semiconductor, quien fue el pionero en el desarrollo de Arreglos Lógicos
Programables (Programmable Logic Arrays, PLA’s) en forma de un DIP grande de 24
pines o terminales (0.6 pulgadas de ancho) con 96 términos productos, 14
entradas, 8 salidas.
jueves, 7 de octubre de 2021
Álgebra boole
El álgebra de Boole está formada por un conjunto de variables Booleanas,
x∈{0,1} y eso se basa en variables que sólo pueden tomar dos valores: 0 ó 1, abierto o cerrado, encendido o apagado, etc.
Un literal l es una variable o su negada. Existen dos tipos: literalres con signo positivo cuando representan el valor ‘1’ de la variable (l=x), y con signo negativo cuando representa el valor ‘0’ (l=¯¯¯x).
El álgebra de Boole está definido por 3 operaciones básicas: complemento, suma (OR) y producto (AND).
martes, 5 de octubre de 2021
Mapa de Karnaugh
Un mapa de Karnaugh (también conocido como tabla de Karnaugh o diagrama de Veitch) es un diagrama utilizado para la simplificación de funciones algebraicas en forma canónica. A partir de la tabla de Karnaugh se puede obtener una forma canónica mínima (con el mínimo número de términos). En este texto emplearemos indistintamente los términos “mapa” y “tabla” de Karnaugh.
La tabla de Karnaugh consiste en una representación bidimensional de la función que se quiere simplificar. Si la función viene expresada como una tabla de verdad, entonces la tabla de Karnaugh puede verse como una forma alternativa de representación 2D. Puesto que la tabla de verdad de una función de n variables posee 2n filas, la tabla de Karnaugh correspondiente debe poseer también 2n celdas. La construcción de la tabla de Karnaugh pasa por codificar cada celda en código binario reflejado (o código Gray) de manera que celdas adyacentes tengan un código que difiere en un solo dígito.
Figura 3.1: Descripción del mapa de Karnaugh
En la Fig. 3.1 puede verse un ejemplo de codificación Gray para el caso de funciones lógicas de 4 variables. Cada variable lógica (A, B, C, D en la figura) se corresponde con un bit del código Gray.
En la práctica, no es necesario explicitar el código de cada celda; basta con expresar las cabeceras de las filas y columnas en código Gray (el código de la celda se construye combinando la fila y columna correspondiente), según se desprende de la figura.
Definida la codificación Gray para la tabla, las celdas se rellenan asignando el valor ‘1’ para el caso que exista el término canónico correspondiente en la función objeto de análisis, y el valor ‘0’ en caso contrario. Si la función lógica viene expresada como tabla de verdad, se puede elegir la forma canónica para expresar la función. El criterio más lógico es elegir aquella forma que contenga inicialmente el menor número de términos. Para ello basta con contar el número de interpretaciones que satisfacen la fórmula lógica (filas de la tabla de verdad con resultado ‘1’). Cuando el número de interpretaciones que satisfacen la fórmula lógica es menor que el número de interpretaciones que no la satisfacen, se elige la forma canónica DNF. En caso contrario la CNF.
Una vez construida la tabla de Karnaugh se procede a la reducción del número de términos (si es posible) mediante la agrupación de celdas adyacentes en la tabla con valor ‘1’24.
Las dos secciones siguientes describen el algoritmo de simplificación en detalle para las formas canónicas DNF y CNF.
domingo, 3 de octubre de 2021
Dispositivos de programación
Dispositivos programables
Existes diferentes tipos de dispositivos el cual son (PAL,GAL,CPLD,FPGA)
Los PAL
Se basan en dispositivos para cualquier función lógica pueden ser descrita por sumas de producto, cuenta con una matriz de entrada formada por compuertas AND conectadas a una serie de puertas OR, con salidas que conectan a un pin del dispositivo
Los( CPLD)
Este tipo de dispositivos permiten implementar un sistema más eficaz ya que utilizan menor espacio mejorando la fiabilidad del diseño y reducen costos. CPLD se forman con múltiples bloques lógicos se comunican entre si utilizados una matriz programables de interconexiones
FPGA
Estos dispositivos semiconductores que contienen bloques de lógica conexión y estooa pueden ser programables mediante un lenguaje de descripción especializado. La lógica programable puede producir desde funciones sencillas como las llevamos por una puerta lógica
GAL
se Demonia a un circuito integrado que básicamente está formado por una matriz AND reprogrammable y una matriz OR fija con configuración de salidas y las entradas
sábado, 25 de septiembre de 2021
Lenguaje VHdl
A partir del desarrollo de circuitos Integrados Digitales programables con una gran cantidad de componentes lógicos y la necesidad de sistema digitales para aplicaciones mas complejas, las herramientas de diseño tradicionales se vuelven cada vez más ineficientes y poco efectivas para lograr desarrollos adecuados, por lo tanto las empresas fabricantes de circuitos integrados desarrollan herramientas más útiles, originándose así los HDL ó Lenguajes de Descripción de hardware. Así cada empresa crea el suyo estableciendo una diversidad de lenguajes muy grande. Para tratar de unificar estas herramientas, entre los años 1984 y 1987, el IEEE y el Departamento de Defensa de los Estados Unidos (DoD) patrocinan el desarrollo de un Lenguaje llamado VHDL. Su nombre viene de VHSIC HDL, o sea Lenguaje de Descripción de hardware para circuitos integrados de muy alta velocidad. Considerando que un lenguaje de descripción de hardware es una herramienta formal que permite describir la estructura y comportamiento de un sistema para lograr una adecuada especificación, documentación y simulación del mismo antes de su realización real; para su implementación se establecieron ciertas características fundamentales, que aún hoy siguen siendo válidas, y son: • Cada elemento de diseño tiene una interfaz única y perfectamente definida, que permite conectarla a otros elementos. • Cada elemento tiene un comportamiento preciso y unívocamente definido, que permiten su posterior simulación. • La especificación de comportamiento que permite definir la operatividad puede realizarse a través de un algoritmo ó de una estructura de hardware real. • Los diseños mantienen una estructura jerárquica, que permite descomponerlo adecuadamente. • Las características concurrentes, temporizadas y de sincronismo (por ej. reloj) pueden ser modeladas adecuadamente. • Se puede simular cualquier operación lógica y de temporización. Se establece así una herramienta que además tiene amplias características de modelado y documentación. De esta forma cualquier circuito digital se puede especificar y simular adecuadamente. Luego del desarrollo de este lenguaje aparecieron las herramientas adecuadas de síntesis que completan el panorama de diseño de un sistema digital. Así de esta forma se puede decir que si utiliza VHDL se puede diseñar, simular y sintetizar cualquier sistema digital, desde el combinacional más simple hasta la estructura secuencial más compleja. Las nuevas versiones de HDL permiten también el desarrollo de circuitos analógicos.
1. Etapa de Desarrollo: Tiene varios pasos, a saber:
a. Planteo General del Sistema: Consiste en hacer un Diagrama en Blocks funcional y jerárquico del sistema a desarrollar. Definición de módulos e interfaces generales del sistema
b. Codificación: Consiste en escribir el código VHDL para todos los componentes planteados, módulos específicos e interfaces. Se trata de un simple discurso de texto, por lo que puede realizarse en cualquier editor conocido por el diseñador. Sin embargo, los ambientes de diseño incluyen un Editor VHDL especializado, por lo que el desarrollo de esta etapa es más sencilla. Estos editores incluyen características propias del lenguaje, como sangría automática, resaltado de palabras clave, verificación sintáctica, etc.
c. Compilación: En esta etapa el compilador VHDL transforma el programa fuente en objeto, por lo cual analiza la sintaxis de lo escrito y verifica la compatibilidad con cualquier otro módulo ingresados como fuente del presente programa. Junto a esto produce toda la información necesaria para la posterior simulación del proyecto.
Nota: A veces, en proyectos complejos conviene realizar compilaciones parciales, ganando así tiempo posterior de desarrollo.
d. Verificación: Esta etapa es muy importante, pues permite establecer si el circuito obtenido funciona como se pretendió al fijar las pautas de diseño.
Existen dos características a verificar, y ellas son las Funcional y la Temporal. En el primer caso se analiza el funcionamiento lógico del circuito, sin considerar el tiempo como variable. Aquí los elementos lógicos son considerados como ideales, es decir sin retardos. En la verificación temporal se analizan los resultados del circuito real, considerando retardos estimados, ya que aún no se han seleccionado los circuitos reales de síntesis. De esta manera se verifica la funcionalidad temporal de circuitos combinacionales y especialmente los secuenciales con características de memorización. La verificación funcional y temporal se realiza a través de un proceso complejo conocido como simulación, el cual permite detectar errores en el diseño obtenido, y de esta forma hacer las correcciones adecuadas antes de pasar a la etapa de síntesis.
Simulación: Este procedimiento de verificación permite definir entradas y aplicarlas al prototipo de software, analizar el comportamiento de los diversos módulos definidos y observar las salidas. Todo esto sin tener que realizar el prototipo físico con circuitos reales. Para proyectos pequeños se pueden generar entradas y verificar salidas en forma manual; pero en grandes sistemas se crean ¨bancos de prueba” con la capacidad de establecer entradas, verificar salidas y realizar las comparativas con lo valores esperados. La simulación funcional es completa y precisa, sin embargo la temporal sólo es aproximada pues se basa en valores estimados, y sirve para establecer que vamos en el camino correcto. Esto es así pues es muy dependiente de la síntesis, dónde se establecen los circuitos específicos y es allí dónde salen los verdaderos valores de retardos de acuerdo al circuito, a la tecnología, al layout, tipo de componentes discretos, etc.
2. Etapa de Realización: Las características y herramientas son algo diferentes de la anterior. Tiene varios pasos, a saber:
a. Sintesís: Convierte el modelo descripto por VHDL en un conjunto de primitivas ó componentes que se articularán en un circuito real en una tecnología adecuada. Generalmente estas herramientas presentan la posibilidad de establecer filtros, premisas ó restricciones específicas del tipo de circuito ó tecnología. Por ejemplo en los circuitos lógicos programables, como PAL, GAL, CPLD, FPGA las herramientas de síntesis pueden generar ecuaciones booleanas; y en el caso de ASIC ó ASSP generar una lista de compuertas y la malla que fija el cableado correspondiente de interconexión.
b. Ajuste y Enrutamiento: Son herramientas que mapean las ecuaciones ó componentes de acuerdo a los recursos disponibles de cada dispositivo. Como en el paso anterior, el diseñador puede especificar restricciones ó asignaciones específicas para lograr el módulo correcto.
Verificación temporal y total del circuito: Este es la etapa crucial ya que establece la funcionalidad temporal correcta basada en todos los parámetros reales introducidos en el diseño, como circuitos integrados reales, longitud de los buses incorporados, longitud de los alambres, cargas de los elementos físicos, etc. Generalmente se aplican las mismas señales ó bancos de prueba utilizadas en la etapa de desarrollo.
Modulos embebidos DSP
Componentes de un sistema embebido Un estaría formando por un microprocesador y un software que se ejecute sobre éste. Sin embargo este...
-
Un mapa de Karnaugh (también conocido como tabla de Karnaugh o diagrama de Veitch) es un diagrama utilizado para la simplificación de fun...
-
El álgebra de Boole está formada por un conjunto de variables Booleanas, x ∈ { 0 , 1 } x ∈ { 0 , 1 } y eso se basa en variables que sól...
-
Frecuencia natural Cualquier objeto oscilante tiene una 'frecuencia natural', que es la frecuencia con la que tiende a vibrar lueg...