INTRODUCCION
En este trabajo final el grupo ha desarrollado previamente los momento 1, 2 y 3 se continua con el proceso de desarrollo del momento 4 en el que se consolidan los diseños de la momentos antes mencionados y dan solución al caso de estudio.
En este trabajo final se pretende desarrollar los conceptos propios de la microelectrónica y la creación de circuitos integrados. Desarrollando el blog como parte de la interacción del grupo y solución a las propuestas de diseño junto con las normas APA y estructuras de informes.
Anexo los links de los momentos trabajos anteriores:
Trabajo uno : http://microelectronika.blogspot.ca/2015/03/momento-uno.html
Trabajo Dos : http://microelectronika.blogspot.ca/2015/03/trabajodos.html
Trabajo Tres: http://microelectronika.blogspot.ca/2015/04/trabajo-colaborativo-3.html
Resumen de las actividades desarrolladas
Objetivos
Generales
Desarrollar las prácticas requeridas en la etapa 4 finales del
curso de Micro electrónica, lo que incluye leer y analizar el caso de estudio planteado en la guía de
actividades
Específicos
Ø Utilizar como
referencia de materiales,
Ø Participar
activamente dentro del foro de trabajo colaborativo – fase 4
Ø Plantear posibles
alternativas de solución a las fases anteriores
Ø Retroalimentar a
los compañeros de grupo
Ø Analizar las
temáticas de la unidad de aplicación de dispositivos lógicos programables
Ø Aplicación de
dispositivos lógicos programables,
Ø Análisis y posible
solución a la segunda etapa del caso de estudio
Ø Desarrollar video
que dé solución a la segunda etapa del caso de estudio
Ø Video donde
muestren el diseño en DSCH 3 y layout en Microwind
Ø
Participación en el foro.
Ø
Verificación de los resultados
con los integrantes del grupo.
Ø El grupo de trabajo colaborativo analizará el caso de estudio
planteado dentro de esta guía integradora de actividades y discutirán dentro del
foro de trabajo colaborativo las posibles soluciones que puedan surgir mediante
las lecturas de referencias complementarias y sugeridas como también utilizando
la rúbrica TIGRE.
Ø Cada estudiante hará mínimo tres intervenciones respecto a las
conclusiones y aspectos más relevantes que encontró según las lecturas de la
unidades, y usando la rúbrica TIGRE retroalimentara mínimo a dos compañeros
junto con sus aportes.
MARCO
TEORICO
DISEÑO
CON LOGICA PROGRAMABLE
El procesamiento digital de señales o DSP (sigla en inglés de
digital signal processing). Es la
manipulación matemática de una señal de información para modificarla o
mejorarla en algún sentido. Este está caracterizado por la representación en el
dominio del tiempo discreto, en el dominio frecuencia discreta, u otro dominio
discreto de señales por medio de una secuencia de números o símbolos y el
procesado de esas señales.
Esto se puede conseguir
mediante un sistema basado en un procesador o microprocesador que posee un
juego de instrucciones, un hardware y un software optimizados para aplicaciones
que requieran operaciones numéricas a muy alta velocidad. Debido a esto es
especialmente útil para el procesado y representación de señales analógicas en
tiempo real: en un sistema que trabaje de esta forma (tiempo real) se reciben
muestras (samples en inglés), normalmente provenientes de un conversor
analógico/digital (ADC). Se puede trabajar con señales analógicas, pero es un
sistema digital, por lo tanto necesitará un conversor analógico/digital a su
entrada y digital/analógico en la salida.
Como todo sistema basado en procesador programable necesita una
memoria donde almacenar los datos con los que trabajará y el programa que
ejecuta. Uno de los beneficios
principales del DSP es que las transformaciones de señales son más sencillas de
realizar. Una de las más importantes transformadas es la transformada de
Fourier discreta (TFD). Esta transformada convierte la señal del dominio del
tiempo al dominio de la frecuencia. La TDF permite un análisis más sencillo y eficaz
sobre la frecuencia, sobre todo en aplicaciones de eliminación de ruido y en
otros tipos de filtrado (filtros de paso bajo, de paso alto, de paso banda, de
rechazo de banda, etc.). Otra de las
transformadas importantes es la transformada de coseno discreta, que es similar
a la anterior en cuanto a los cálculos requeridos para obtenerla, pero esta
convierte a las señales en componentes del coseno trigonométrico. Esta
transformada es una de las bases del algoritmo de compresión de imágenes JPEG. Un DSP está diseñado teniendo en cuenta las
tareas más habituales del procesado digital: sumas, multiplicaciones y retrasos
(almacenar en memoria).
Los DSP abandonan la arquitectura clásica de Von Neumann, en la que
datos y programas están en la misma zona de memoria, y apuestan por la
denominada Arquitectura Harvard. En una arquitectura Harvard existen bloques de
memoria físicamente separados para datos y programas. Cada uno de estos bloques
de memoria se direcciona mediante buses separados (tanto de direcciones como de
datos), e incluso es posible que la memoria de datos tenga distinta anchura de
palabra que la memoria de programa (como ocurre en ciertos
microcontroladores). Los elementos
básicos que componen un DSP son:
Conversores en las entradas y salidas. Memoria de datos, memoria de
programa y DMA. MACs: multiplicadores y acumuladores. ALU: Unidad
aritmético-lógica. Registros. PLL: Bucles enganchados en fase. PWM: Módulos de
control de ancho de pulso.
Los dispositivos Field Programable Gate Arrays, en español Arreglos
de Compuertas Programable en el Campo, tal como su nombre lo indica son un
arreglo (arrays) matricial de bloques lógicos (gates) programables
(programable) en cualquier espacio físico (Field).
ALTERNATIVAS DE DISEÑO DE
CIRCUITOS INTEGRADOS
Full Custom Tradicionalmente, un diseño Full Custom (FC) se entiende
que es aquel en el que el layout e
optimiza a mano. Por ejemplo: Utilizar lógicas no estándar, es posible que no
haya librerías con los componentes adecuados, y se hace necesario diseñar
específicamente los bloques a utilizar. Otra razón puede ser la modificación
manual de algunos bloques para mejorar sus prestaciones, dimensionando
específicamente los transistores que lo componen. El resultado es un circuito normalmente de altas prestaciones y de área
muy reducida, pero el inconveniente es un coste de diseño muy elevado (sobre
todo en personas-tiempo).
Actualmente la alta complejidad de los sistemas que se diseñan hace
impracticable la estrategia FC para el chip completo, pero muchos sistemas
siguen teniendo partes críticas optimizadas manualmente, con lo que los diseños
FC son en realidad en parte FC y en parte un diseño basado en librerías
(Standard Cell). Standard Cell Un diseño
Standard Cell (SC) se basa en una librería de celdas (componentes funcionales),
todas con la misma altura. Esto permite disponerlas de forma contigua formando
un conjunto de las y espacios entre ellas. Es posible generar una librería SC o
añadir elementos a una librería existente con bloques que sean necesarios para
un diseño concreto. En este caso, los bloques deben diseñarse con la altura
correcta para que se puedan usar en el entorno de diseño SC.
Gate Array Un circuito Gate Array (GA) o matriz de puertas, se basa
en la interconexión de bloques pre-colocados consistentes en primitivas de
diseño (por ejemplo, puertas NAND y biestables). Con las primitivas de diseño
se puede realizar cualquier sistema digital mientras se interconecte
adecuadamente.
El proceso de diseño consiste en definir las interconexiones, lo
cual es sencillo desde el punto de vista de la automatización del proceso.
Además, el proceso de fabricación es también más sencillo, ya que sólo las
capas de metalización son diferentes para diferentes diseños. Por tanto, se
parte de obleas prefabricadas, en donde ya se han fabricado los transistores
que forman las primitivas y su interconexión local que define los bloques, y
sólo se añaden las capas de interconexión entre primitivas.
Las ventajas de esta alternativa son su rapidez en el diseño, la reducción
de costes de fabricación, ya que parte del proceso es común para cualquier
diseño y por tanto se distribuyen los costes entre muchos diseños diferentes, y
también un menor tiempo de fabricación. Por contra, el circuito resultante no
está optimizado ni en área ni en prestaciones, por lo que es una alternativa de
bajo coste usada sobre todo para prototipos o en aplicaciones poco exigentes.
FPGA Las FPGA (del inglés Field Programmable Gate Array), también
conocidas genéricamente como dispositivos programables, son una evolución del
concepto de GA. Consisten a grandes rasgos en un chip completamente fabricado
en el cual hay una matriz de bloques, cada uno conteniendo un conjunto de
primitivas lógicas.
La interconexión entre bloques se realiza no en la etapa de
fabricación como en las GA, sino a base de multiplexores que conectan un
conjunto de bloques con otro. En función del valor de selección de los
multiplexores de conexión, se define la conexión del sistema global y por
tanto, su definición. El conjunto de valores de selección para todos los
multiplexores de conexión se guarda en una memoria no volátil, y cambiando el
contenido de la memoria se cambia la funcionalidad del chip (se personaliza).
Dentro de la familia de dispositivos programables existen muchas subfamilias en
función de su arquitectura (número y tipo de bloques lógicos) y del tipo de
memoria (OTP o programable una sola vez, reprogramable, programable en campo).
Las ventajas de esta alternativa son su gran flexibilidad y el hecho de que la
personalización del chip es prácticamente inmediata.
Por otra parte, sus inconvenientes son, al igual que con las GA, la
falta de optimización de prestaciones y área. Otro inconveniente a mencionar es
que el proceso de personalización debe hacerse por cada dispositivo, por lo que
es una opción para volúmenes de producción poco elevados.
Un FPGA es un dispositivo que un diseñador de sistemas digitales
puede programar, después que está soldado en el circuito impreso, para que
funcione de un modo determinado. Los FPGAs son fabricados con conexiones y
lógica programables. El diseñador desarrolla su sistema digital usando
herramientas tipo EDA (Electronics Design Automation), sean dibujos
esquemáticos o lenguaje de descripción de hardware (como VHDL), para poder
plasmar el sistema en lógica digital. Luego
de simular satisfactoriamente el sistema digital comprobando su funcionalidad
se usan herramientas específicas del vendedor del FPGA para crear un archivo de
configuración del FPGA, el cual describe todas las conexiones, interconexiones
y lógica que necesita ser programada dentro del FPGA para poder implementar el
sistema digital desarrollado.
Entonces, a través de un cable USB se conecta el FPGA o el circuito
impreso en cual está soldado el FPGA, a una PC y usando el software de
configuración del FPGA se descarga el archivo de configuración. Una vez
comprobado el correcto funcionamiento del sistema en el FPGA se graba el
archivo de configuración en una memoria no volátil que el FPGA leerá y usará
para auto-configurarse cada vez que se aplica la tensión de alimentación al
FPGA o cada vez que se desee re-configurar el FPGA.
Desarrollo de la actividad de la fase 4
(Complementado con las fases
1, 2 y 3)
CIRCUITO INTEGRADO CON LAS TRES ETAPAS
ETAPA 1:
Para la primera etapa se diseñara el sistema de apertura y cierre de
las puertas de acceso del laboratorio, teniendo en cuenta que son dos salones,
estos estarán interconectados por una puerta de acceso y otra puerta estará
definida como ingreso al laboratorio, en cuyo caso serán dos puertas en total,
una de interconexión y otra de acceso general; según el historial de
participación e ingreso a recinto de los estudiantes se deben automatizar las
puertas tal que el ingreso de los estudiantes sea coordinado con las clases y
con las prácticas de investigación según sea el caso, en la siguiente tabla se
muestra el esquema de apertura y cierre de las puertas y encendido y apagado de
un led según las condiciones dadas anteriormente:
Un monitor de laboratorio solo tiene la manipulación
de la puerta principal, las demás condiciones dadas en la tabla anterior se
deben generar según sea el caso, si por ejemplo la puerta de acceso principal
se abre la puerta de interconexión entre los salones también se abre y el led
de indicación de puerta de interconexión se enciende y el led de puerta de
acceso principal se apaga, para ello de sebe diseñar y desarrollar el circuito
integrado que permita la realización de esta etapa.
SOLUCION: Lógica de control
R=
(A&B) + (~A&B) ==> R = B (A
+~A) ==> R = B. 1 ==> R = B
S
= (~A & ~B) + (A & ~B) ==> S = (~A +A) & (~B) ==> 1 & ~B ==> S = ~B
ETAPA 2:
Para la etapa 2, los diseñadores deberán crear un
circuito integrado capaz de controlar la temperatura del laboratorio, para ello
tendrán un sensor de grados de ocho estados en los que se destacan mayormente
las temperaturas más alcanzadas, también contaran con un techo movedizo de
apertura y cierre y dos ventiladores para la ayuda de refrigeración del
laboratorio, y dos led de indicación de estados caliente o frio según la
temperatura del laboratorio, para poder comenzar con el diseño del circuito
integrado se ha diseñado la siguiente tabla con las condiciones predefinidas:
Si por ejemplo la temperatura alcanza los 10º C, el
panel de techo se cierra, el ventilador 1 se apaga y el ventilador 2 se apaga,
pero el led de indicación de temperatura promedio estará apagado, indicando la
temperatura más baja, para ello se deberá diseñar el circuito integrado que
satisfaga estas condiciones.
SOLUCION LOGICO DE CONTROL
ENTRADAS
TEMP = TEMPERATURE = CELSIUS
= ESCALA 10 – 60 - ANALOGA
SALIDAS
PT = ABRIR PANEL TECHO
VENT1= VENTILADOR 1 ON
VENT2 = VENTILADOR 2 ON
LED = LED TEMPERATURA
PROMEDIO ON
LOGICA
DE CONTROL
PT = (TEMP >=
40 & TEMP <= 60).
VENT1 = (TEMP >=25
& TEMP <=40) + (
TEMP>=52 & TEMP <= 60)
VENT2 = (TEMP>=18 & TEMP <= 25) + (TEMP >=32 & TEMP <= 40) +(TEMP >= 48 &
TEMP <= 52) + (TEMP >=60)
LED
= (TEMP>=25 & TEMP
<= 52)
SIMULACIÓN DE LA ETAPA 3:
ETAPA 3:
En la etapa 3, los diseñadores deberán crear el
último integrado capaz de controlar las cámaras de vigilancia, dado que solo se
tienen cuatro cámaras, se deberán mover en un rango de derecha a izquierda
según un tiempo dado, para ello se ha
establecido un led de indicación de vigilancia en el salón 1 y el salón 2, para
ello de a creado la siguiente tabla con las condiciones que se deberán diseñar
para obtener el circuito integrado:
LOGICA DE CONTROL
C1= Cámara 1
C2= Cámara 2
C3= Cámara 3
C4= Cámara 4
L1= Led Vigilancia Salón 1
L2= Led Vigilancia Salón 2
C1= T1 + T3 + T4 + T5
C1 = (A&~B&~C) + (A&B+~C) + (~A~B&C) + (A&~B&C)
C1= (A & ~C) (~B + B) + (~B & C) (~A + A)
C1=
(A& ~C) + (~B& C)
|
C2 = T2 + T3 + T5
C2 = (~A&B&~C) + (A&B&~C) + (A&~B&C)
C2= (B&~C) (~A+A) + (A&~B&C)
C2= (B&~C) + (A&~B&C)
|
C3= T4 + T5 + T6
C3= (~A&~B&C) + (A&~B&C) + (~A&B&C)
C3= ~BC (~A+A) + (~A&B&C)
C3= ~BC + (~A&B&C)
C3=
C (~B + ~AB)
|
C4 = T4 + T5 +T6 + T7
C4 = (~A~BC) + (A~BC)
+ (~ABC) + (ABC)
C4 = C
|
L1= T1 + T2 + T3 + T4
L1 = (A~B~C) + (~AB~C) +
(AB~C) + (~A~BC)
L1 = ~C (A~B + ~AB + AB)
+ (~A~BC)
L1 = ~C
+ (~A~BC)
|
L2= T4 + T5 + T6 + T7
L2 = (~A~BC) + (A~BC)
+ (~ABC) + (ABC)
L2 = C
|
Simulacion en Microwind software
Programa en Verilog:
module trabajo_finalV3( in1,clk1,in2,T0s10,T1s18,T2s25,T3s32,T4s40,
T5s48,T6s52,T7s60,Puerta_interconexion,digit2,digit3,digit4,Cam1,
Cam3,Cam4,Led_salon1,Led_Salon2,Cam2,Led_temperatura,Vent_uno,Panel_techo,
Vent_dos,Puerta_interconexionLed,Puerta_PrincipalLed);
input in1,clk1,in2,T0s10,T1s18,T2s25,T3s32,T4s40;
input T5s48,T6s52,T7s60,Puerta_interconexion;
output digit2,digit3,digit4,Cam1,Cam3,Cam4,Led_salon1,Led_Salon2;
output Cam2,Led_temperatura,Vent_uno,Panel_techo,Vent_dos,Puerta_interconexionLed,Puerta_PrincipalLed;
wire w3,w5,w6,w20,w21,w22,w23,w24;
wire w26,w27,w28,w30,w32,w33,w43,w44;
wire w45,w46,w47,w48,w49,w50,w51,w52;
wire w53,w54,w55,w56,w57,w58,w59,w60;
wire w61,w62,w63;
or #(37) or2_1(w3,w6,in2);
assign Cam1=((~digit2)&digit4)|((~digit3)&digit2);
assign Cam2=(digit3&(~digit2))|(digit4&(~digit3)&digit2);
assign Cam3=(digit2&(~digit3|((~digit4)&digit3)));
assign Cam4=digit2;
assign Led_salon1=~digit2 | ((~digit4)&(~digit3)&digit2);
assign Led_Salon2=digit2;
assign Panel_techo=(w20|w21|w22|w23);
assign Vent_uno=((w26|w27)&(~w20))|w22;
assign Vent_dos=(w30|(w27&(~w20))|(w21&(~w22)));
assign w30=((w32&(~w26))|w23);
assign Led_temperatura=(w26&(~w22));
and #(44) and2_2(w32,T1s18,T0s10);
and #(72) and2_3(w26,T2s25,w32);
and #(58) and2_4(w27,T3s32,w26);
and #(72) and2_5(w20,T4s40,w27);
and #(58) and2_6(w21,T5s48,w20);
and #(86) and2_7(w22,T6s52,w21);
and #(44) and2_8(w23,T7s60,w22);
not #(10) inv_9(Puerta_PrincipalLed,Puerta_interconexionLed);
mux #(24) mux2x4_1_10(w50,w5,w43,w44,w45,w46,vss,vss,vss,vss,w47,w48,w49);
mux #(20) mux_1_2_11(w49,w43,vss,w5);
mux #(20) mux_2_3_12(w48,w44,vss,w5);
mux #(20) mux_3_4_13(w47,w45,vss,w5);
mux #(20) mux_4_5_14(w50,w46,vss,w5);
dreg #(3) dreg_1_6_15(w6,w52,w49,w3,w51);
dreg #(3) dreg_2_7_16(digit2,w53,w48,w3,w51);
dreg #(3) dreg_3_8_17(digit3,w54,w47,w3,w51);
dreg #(3) dreg_4_9_18(digit4,w55,w50,w3,w51);
not #(50) inv_5_10_19(w51,clk1);
xor #(21) xor2_1_11_20(w44,digit2,w56);
and #(27) and2_2_12_21(w57,w56,digit2);
xor #(21) xor2_3_13_22(w43,w6,w57);
and #(2) and2_4_14_23(w58,w57,w6);
xor #(21) xor2_5_15_24(w45,digit3,w59);
and #(27) and2_6_16_25(w56,w59,digit3);
xor #(21) xor2_7_17_26(w46,digit4,in1);
and #(27) and2_8_18_27(w59,in1,digit4);
and #(15) and2_1_19_28(w61,w60,w6);
and #(15) and2_2_20_29(w63,digit4,w62);
not #(13) inv_3_21_30(w60,digit2);
not #(13) inv_4_22_31(w62,digit3);
and #(57) and2_5_23_32(w5,w63,w61);
endmodule
module counter10( enable,rst,clk,equal9,q3,q2,q1,q0);
input enable,rst,clk;
output equal9,q3,q2,q1,q0;
wire w3,w4,w5,w6,w7,w8,w9,w10;
wire w18,w19,w20,w21,w22,w23,w24,w25;
wire w26,w27,w28,w29,w30;
mux #(20) mux2x4_1(w10,equal9,w3,w4,w5,w6,vss,vss,vss,vss,w7,w8,w9);
mux #(12) mux_1_2(w9,w3,vss,equal9);
mux #(12) mux_2_3(w8,w4,vss,equal9);
mux #(12) mux_3_4(w7,w5,vss,equal9);
mux #(12) mux_4_5(w10,w6,vss,equal9);
dreg #(6) dreg_1_6(q3,w19,w9,rst,w18);
dreg #(6) dreg_2_7(q2,w20,w8,rst,w18);
dreg #(6) dreg_3_8(q1,w21,w7,rst,w18);
dreg #(6) dreg_4_9(q0,w22,w10,rst,w18);
not #(44) inv_5_10(w18,clk);
xor #(14) xor2_1_11(w4,q2,w23);
and #(25) and2_2_12(w24,w23,q2);
xor #(14) xor2_3_13(w3,q3,w24);
and #(4) and2_4_14(w25,w24,q3);
xor #(14) xor2_5_15(w5,q1,w26);
and #(25) and2_6_16(w23,w26,q1);
xor #(14) xor2_7_17(w6,q0,enable);
and #(25) and2_8_18(w26,enable,q0);
and #(15) and2_1_19(w28,w27,q3);
and #(15) and2_2_20(w30,q0,w29);
not #(12) inv_3_21(w27,q2);
not #(12) inv_4_22(w29,q1);
and #(43) and2_5_23(equal9,w30,w28);
endmodule
Video link : https://plus.google.com/u/0/photos?pids=6149129313194392786&oid=110228555657568794897&pid=6149129313194392786
Anexo los links de los momentos
trabajos anteriores:
- Trabajo uno: http://microelectronika.blogspot.ca/2015/03/momento-uno.html
- Trabajo Dos: http://microelectronika.blogspot.ca/2015/03/trabajodos.html
- Trabajo Tres: http://microelectronika.blogspot.ca/2015/04/trabajo-colaborativo-3.html
- Adjunto video hecho y subido a You tube de la creación de circuitos electrónicos. https://www.youtube.com/watch?v=qxVPGGZ9C1o&feature=youtu.be
- Blog con los aportes http://microelectronika.blogspot.ca/2015/05/trabajo-final.html
- Adjunto trabajo final par su revisión: http://es.calameo.com/read/00431254020458d9e83f3
- Adjunto video dos : https://youtu.be/qxVPGGZ9C1o
Conclusiones
- Facilidad de diseño y programación con los FPGA, estas nuevas herramientas permiten expresar la lógica de los circuitos utilizando formas variadas de entrada tales como; ecuaciones, tablas de verdad, procedimientos para máquinas de estados, esquemas, etc. La simulación digital posibilita la depuración de los diseños antes de la programación de los dispositivos. Todo el equipo de diseño se reduce a un software de bajo coste que corre en un PC, y a un programador.
- Los PLDs TTL tienen tiempos de conmutación tan rápidos como los circuitos integrados de función fija más veloces. Los PLDs ECL son todavía más rápidos. El incremento de velocidad obtenido con los dispositivos CMOS, que ya han igualado o superado en prestaciones a los dispositivos TTL, está provocando el abandono de la tecnología bipolar por parte de los fabricantes.
- En cuanto al consumo de potencia, los PLDs generalmente consumen menos que el conjunto de chips a los que reemplazan.
- v Para los FPGAs sus características se tiene: Field Programable Gate Arrays (Matrices de puertas programables en campo), Superan las limitaciones en tamaño de las CPLDs, mediante arquitecturas avanzadas, ofrecen mayor variedad de recursos lógicos: Lógica combinacional, Lógica secuencial, Memoria RAM, Conformadores de reloj, Señales globales, Multiplicadores,
- v Estos bloques lógicos e interconexiones pueden ser programados después del proceso de manufactura por el usuario/diseñador, así que el FPGA puede desempeñar cualquier función lógica necesaria.
- v La reducción del área de las placas de circuito impreso obtenida gracias a que cada PLD sustituye a varios circuitos integrados de función fija. Muchas veces se consigue reducir el número de placas de circuito impreso economizándose en conectores.
- v Las memorias ROM resultan de menor coste que las EPROM, las HAL (Hard Array Logic) o PLDs programados por el fabricante proporcionan ahorros adicionales en grandes cantidades.
- v En términos de Seguridad. Los PLDs tienen fusibles de seguridad que impiden la lectura de los dispositivos programados, protegiendo los diseños frente a copias.
- v Además de los puntos mencionados, podemos añadir que los PLDs facilitan el ruteado de las placas de circuito impreso debido a la libertad de asignación de patillas que proporcionan. Permiten realizar modificaciones posteriores del diseño y en ocasiones hacen posible la reutilización de circuitos impresos con algunos fallos, mediante una reasignación de los PLDs.
- v Muchos FPGA modernos soportan la reconfiguración parcial del sistema, permitiendo que una parte del diseño sea reprogramada, mientras las demás partes siguen funcionando. Este es el principio de la idea de la «computación reconfigurable», o los «sistemas reconfigurables».
- v Un PLA es un bloque funcional que se utiliza para implementar multifunciones booleanas. Existe una gran relación entre su estructura interna y el conjunto de funciones que realiza. Un PLA está constituido básicamente por dos submatrices o planos denominados plano AND y OR, respectivamente. La realización física de un PLA se lleva a cabo mediante la conexión de cada una de las celdas que pertenecen a las regiones anteriores (buffers de entrada, plano AND, transistores de pull-up del plano AND, conexión AND-OR, plano OR, transistores de pull-up del plano OR y buffers de salida). De todas estas celdas, sólo las de los planos AND y OR están relacionadas con las funciones lógicas que definen el circuito. El resto hace referencia a otros factores externos ajenos a la lógica propiamente dicha.
- v La Programación de FPGA tiene celdas que se configuran con una función específica ya sea como memoria (FLIP-FLOP tipo D), como multiplexor o con una función lógica tipo AND, OR, XOR. La labor del "programador" es describir el hardware que tendrá la FPGA. La tarea del "programador" es definir la función lógica que realizará cada uno de los CLB, seleccionar el modo de trabajo de cada IOB e interconectarlos.
- v El diseñador cuenta con la ayuda de entornos de desarrollo especializados en el diseño de sistemas a implementarse en un FPGA. Un diseño puede ser capturado ya sea como esquemático, o haciendo uso de un lenguaje de programación especial. Estos lenguajes de programación especiales son conocidos como HDL o Hardware Description Language (lenguajes de descripción de hardware). Los HDLs más utilizados son: VHDL, Verilog, ABEL.
- v El ciclo de diseño con PLDs es mucho más rápido que los de las matrices de puertas o las células normalizadas. En determinadas aplicaciones, un PLD puede sustituir desde unos pocos hasta unas decenas de CI de función fija, mientras que los grandes ASICs pueden sustituir a cientos e incluso miles de CI.
- v Los PLD se utilizan para realizar prototipos que posteriormente se llevarán a un ASIC más complejo. El trabajo con PLDs proporciona: facilidad de diseño, prestaciones, fiabilidad, economía y seguridad.
- v Tanto los CPLDs como las FPGAs contienen un gran número de elementos lógicos programables. Si medimos la densidad de los elementos lógicos programables en puertas lógicas equivalentes (número de puertas NAND equivalentes que podríamos programar en un dispositivo) podríamos decir que en un CPLD hallaríamos del orden de decenas de miles de puertas lógicas equivalentes y en una FPGA del orden de cientos de miles hasta millones de ellas.
- v Las diferencias en densidad entre ambos tipos de dispositivos, la diferencia fundamental entre las FPGAs y los CPLDs es su arquitectura. La arquitectura de los CPLDs es más rígida y consiste en una o más sumas de productos programables cuyos resultados van a parar a un número reducido de biestables síncronos (también denominados flip-flops).
- v La arquitectura de las FPGAs, por otro lado, se basa en un gran número de pequeños bloques utilizados para reproducir sencillas operaciones lógicas, que cuentan a su vez con biestables síncronos. La enorme libertad disponible en la interconexión de dichos bloques confiere a las FPGAs una gran flexibilidad.
- v Otra diferencia importante entre FPGAs y CPLDs es que en la mayoría de las FPGAs se pueden encontrar funciones de altos niveles (como sumadores y multiplicadores) embebidas en la propia matriz de interconexiones, así como bloques de memoria.
- v El conocimiento previo de lógica digital y control de circuitos ayuda considerablemente a la reducción de circuitos lógicos, y poder realizarlos en el software Dsch.
- v La participación con los miembros del grupo permite la interacción y clarificación de conceptos.
- v El software Dsch y el Microwind son herramientas muy amigables para su uso.
Referencias Bibliográficas
·
Robayo,
F. (2009). Introducción a la Microelectrónica y Procesos de Fabricación.
Bogotá D.C.: Universidad Nacional Abierta y/a Distancia. Disponible en:
http://datateca.unad.edu.co/contenidos/299008/299008_AVA/Entorno_de_Conocimiento/Unidad_1/Introduccion_a_la_Electronica_y_procesos_de_fabricacion_.pdf
·
Robayo,
F. (2009). Repaso de Electrónica Digital y Circuitos Combinacionales. Bogotá
D.C.: Universidad Nacional Abierta y/a Distancia. Disponible en: http://datateca.unad.edu.co/contenidos/299008/299008_AVA/Entorno_de_Conocimieto/Unidad_1/Repaso_de_Electronica_Digital_y_Circuitos_Combinacionales.pdf
·
Sola,
J. A. R. (2003). Diseño de circuitos y sistemas integrados. Consultado en 10,
18, 2014 en http://books.google.es/books?hl=es&lr=&id=4AtUxr5u6JMC&oi=fnd&pg=PT16&dq=Procesos+de+fabricaci%C3%B3n+de+circuitos+integrados&ots=spJDCPZPo9&sig=Y8FgZlHm ZBAKGn8-
·
3GNnbxjqy8E#v=onepage&q=Procesos%20de%20fabricaci%C3%B3n%20de%20circuitos%20integrados&f=false.
·
Tocci,
R. J., &Widmer, N. S. (2003). Sistemas Digitales Principios y Aplicaciones.
·
Robayo,
F. (2009). Diseño con Lógica Programables y Estructura de los FPGAs. Bogotá
D.C.: Universidad Nacional Abierta y/a Distancia. Disponible
en:http://datateca.unad.edu.co/contenidos/299008/299008_AVA/Entorno_de_Conocimiento/Unidad_3/Diseno_con_logica_programable_y_estructura_de_los_FPGAs.pdf
·
Robayo, F. (2009). Otros Dispositivos Programables y Familias FPAAs. Bogotá
D.C.:Universidad Nacional Abierta y/a Distancia. Disponible
en:http://datateca.unad.edu.co/contenidos/299008/299008_AVA/Entorno_de_Conocimiento/Unidad_3/Otros_dispositivos_programables_y_familias_FPAAs.pdf
·
Robayo, F. (2009). Otras Aplicaciones. Bogotá D.C.: Universidad Nacional
Abierta y/a Distancia. Disponible en: http://datateca.unad.edu.co/
contenidos/299008/299008_AVA/Entorno_de_Conocimiento/Unidad_3/Otras_Apliaciones.pdf
·
Magdaleno, E., Rodríguez, M., Ayala, A., Mendoza, B., & Rodríguez, S.
(2004). Metodología para el Aprendizaje de Sistemas Electrónicos Digitales y su
Diseño. Consultado en 10, 18, 2014 en http://espacio.uned.es/fez/eserv.php?pid=taee:congreso-2004-1133&dsID=SP102.pdf.
·
Pérez, E. M., Acevedo, J. M., & Silva, C. F. (2009). Autómatas programables
y sistemas de automatización. Consultado en 10, 18, 2014 en
http://books.google.es/books?hl=es&lr=&id=5jp3bforBB8C&oi=fnd&pg=PA1&dq=
·
Dispositivos+l%C3%B3gicos+Programables&ots=g0Bv8_5kYa&sig=C96Lo0qnl7
1HSeAXhQgDpm_5DUE#v=onepage&q=Dispositivos%20l%C3%B3gicos%20Pr




























































