Está en la página 1de 83

3.

Tecnología

© 2020 Electrónica digital bit a bit 3. Tecnología 1


3.01

Transistores MOSFET

© 2020 Electrónica digital bit a bit 3. Tecnología 2


El MOSFET
• Para implementar compuertas lógicas se utilizan transistores
• El transistor más común para implementar compuertas lógicas
es el MOSFET
– Metal-Oxide-Semiconductor Field-Effect Transistor
– Éstos funcionan como switches y pueden ser de dos tipos (o “sabores”):
NMOS o PMOS Transistor NMOS Transistor PMOS

Switch conduce Switch conduce


cuando 𝑉𝐺 = 𝑉𝐷𝐷 cuando 𝑉𝐺 = 0 𝑉

© 2020 Electrónica digital bit a bit 3. Tecnología 3


Longitud de canal
• La característica que mejor identifica a un MOSFET es su
tecnología de fabricación, nodo tecnológico o longitud
de canal
• Es posible fabricar hasta miles de
millones de MOSFETs en un solo
chip
– Very Large Scale Integration (VLSI)

Corte transversal de un NMOS


© 2020 Electrónica digital bit a bit 3. Tecnología 4
¿Qué aprendimos hoy?
• Transistores MOSFET
 Dos sabores: NMOS y PMOS
• Longitud de canal de un transistor

© 2020 Electrónica digital bit a bit 3. Tecnología 5


3.02

Compuertas lógicas
NMOS

© 2020 Electrónica digital bit a bit 3. Tecnología 6


Compuertas lógicas NMOS
• Es posible implementar compuertas usando un solo
tipo de MOSFET, por ejemplo NMOS
• Las más sencillas son las compuertas NOT, NAND y NOR

© 2020 Electrónica digital bit a bit 3. Tecnología 7


Implementación de NAND y NOR
• Compuertas NAND y NOR:

𝑥1 𝑥2 𝑓 𝑥1 , 𝑥2
0 0 1 𝑥1 𝑥2 𝑓 𝑥1 , 𝑥2
0 1 1 0 0 1
1 0 1 0 1 0
1 1 0 1 0 0
1 1 0

© 2020 Electrónica digital bit a bit 3. Tecnología 8


¿Qué aprendimos hoy?
• Circuitos digitales con NMOS
• Implementación de NAND y NOR con NMOS

© 2020 Electrónica digital bit a bit 3. Tecnología 9


3.03

Compuertas lógicas
CMOS

© 2020 Electrónica digital bit a bit 3. Tecnología 10


Compuertas lógicas CMOS
• Las compuertas de tipo CMOS combinan NMOS y
PMOS para generar la función lógica
– Complementary Metal-Oxide-Semiconductor (CMOS)

• PUN y PDN son redes duales, como


un espejo pero opuestos
– Cuando hay una conexión en serie en
la PDN, hay una conexión en paralelo
de las mismas entradas en la PUN

© 2020 Electrónica digital bit a bit 3. Tecnología 11


Ejemplo 1: inversor lógico
• Ya vimos como implementar un inversor lógico
usando un transistor NMOS
• Con CMOS se requiere de un PMOS para la PUN

𝑥 𝑇1 𝑇2 𝑓 𝑥1 , 𝑥2 No pasa corriente cuando no


hay cambios en la entrada,
0 Cerrado Abierto 1
por lo que no consumen
1 Abierto Cerrado 0 potencia estática

© 2020 Electrónica digital bit a bit 3. Tecnología 12


Ejemplo 2: NAND
• Un NAND está representado por la función 𝑓 = 𝑥1 𝑥2 = 𝑥1 + 𝑥2
– Cuando 𝑥1 = 0 o 𝑥2 = 0 vemos que 𝑓 = 1, lo que equivale a dos PMOS
en paralelo
• El complemento de la función es 𝑓 ҧ = 𝑥1 𝑥2
– Cuando 𝑥1 = 1 y 𝑥2 = 1 vemos que 𝑓 ҧ = 1, lo que equivale a dos NMOS
en serie
𝑥1 𝑥2 𝑇1 𝑇2 𝑇3 𝑇4 𝑓 𝑥1 , 𝑥2
0 0 Cerrado Cerrado Abierto Abierto 1
0 1 Cerrado Abierto Abierto Cerrado 1
1 0 Abierto Cerrado Cerrado Abierto 1
1 1 Abierto Abierto Cerrado Cerrado 0
¿Cómo sería la implementación de un NOR con CMOS?

© 2020 Electrónica digital bit a bit 3. Tecnología 13


Velocidad de circuitos con
compuertas lógicas
• ¿Qué tan rápido puede cambiar de
estado un transistor?
• En realidad los transistores no
funcionan como interruptores
ideales y tienen una resistencia
interna cuando están abiertos
• Además poseen capacitancias
parásitas que retrasan la velocidad
de propagación

© 2020 Electrónica digital bit a bit 3. Tecnología 14


¿Qué aprendimos hoy?
• Tecnología CMOS
 PUN (NMOS) y PDN (PMOS)
• Ejemplos:
 Inversor lógico
 NAND
• Limitaciones de velocidad
 Capacitancias parásitas

© 2020 Electrónica digital bit a bit 3. Tecnología 15


3.04

Proceso de fabricación
CMOS

© 2020 Electrónica digital bit a bit 3. Tecnología 16


Proceso de fabricación
• Los transistores son fabricados en un sustrato de silicio (wafer)
y conectados mediante capas de metal depositadas encima
mediante un proceso llamado fotolitografía
• Se utiliza 𝑆𝑖𝑂2 como aislante para evitar un cortocircuito entre
distintas capas de metal
• ¿Qué función cumple el n-well?

Sección transversal del inversor lógico


© 2020 Electrónica digital bit a bit 3. Tecnología 17
Otra perspectiva
• Sin contar el 𝑆𝑖𝑂2 , identificamos 6 máscaras para fabricar un
inversor lógico que definen en dónde se ubicarán los
elementos del chip

Vista superior del inversor lógico


© 2020 Electrónica digital bit a bit 3. Tecnología 18
Nodo tecnológico CMOS
• Los circuitos CMOS son fabricados en diferentes
procesos o nodos tecnológicos
• A medida que la tecnología de fabricación mejora, es posible fabricar
transistores más pequeños, más rápidos y más eficientes
• La longitud de canal mínima de un proceso de fabricación define el
nodo tecnológico
– Ley de Moore
– En 1971 teníamos transistores de 10 𝜇𝑚
– En 2017 llegamos a los 10 𝑛𝑚

© 2020 Electrónica digital bit a bit 3. Tecnología 19


¿Qué aprendimos hoy?
• Proceso de fabricación
 Fotolitografía
• Máscaras del proceso de fabricación
• Nodos tecnológicos
 Ley de Moore

© 2020 Electrónica digital bit a bit 3. Tecnología 20


3.05

Circuitos con lógica


negativa

© 2020 Electrónica digital bit a bit 3. Tecnología 21


Sistema de lógica negativa
• Hasta ahora hemos trabajado con el sistema de
lógica positiva
– Asignar 1s a 𝑉𝐷𝐷 y 0s a tierra
• Un circuito que usa lógica negativa es aquel que asigna los valores
de manera inversa
• Los circuitos que utilizan lógica negativa están marcados con
pequeños triángulos en sus terminales

© 2020 Electrónica digital bit a bit 3. Tecnología 22


NAND y NOR con lógica negativa
• Una compuerta NAND con lógica positiva es lo mismo que
un NOR con lógica negativa, y también a la inversa

𝑥1 𝑥2 𝑓 𝑓′ 𝑥1 𝑥2 𝑓 𝑓′
0 0 1 0 0 0 0 1
0 1 1 0 0 1 0 1
1 0 1 0 1 0 0 1
1 1 0 1 1 1 1 0

© 2020 Electrónica digital bit a bit 3. Tecnología 23


¿Qué aprendimos hoy?
• Sistema de lógica negativa
• Ejemplos con compuertas NAND y NOR

© 2020 Electrónica digital bit a bit 3. Tecnología 24


3.06

Chips estándar

© 2020 Electrónica digital bit a bit 3. Tecnología 25


Chips estándar
• Existen muchos tipos de circuitos integrados,
desde chips con compuertas lógicas fijas hasta
circuitos programables https://de.wikipedia.org/wiki/74xx
• Hablaremos de los chips lógicos estándar, que
contienen compuertas lógicas
• Actualmente han sido
reemplazados por chips
programables en la mayoría
de aplicaciones
• Aún los usamos para
funciones de “glue logic” https://store.digilentinc.com/

© 2020 Electrónica digital bit a bit 3. Tecnología 26


Chips estándar serie 7400
• Son chips con compuertas lógicas predeterminadas
• Hay muchos tipos y variados fabricantes
• Todos siguen la sigla 74xx

Dual-inline package Estructura del SN7404 (Texas Instruments)

© 2020 Electrónica digital bit a bit 3. Tecnología 27


Implementación de un circuito
digital
• Implementación de la
función 𝑓 = 𝑥1 𝑥2 + 𝑥2 𝑥3

• Usando chips fabricados


por Texas Instruments,
necesitaríamos un
SN7404, un SN7408 y un
SN7432

© 2020 Electrónica digital bit a bit 3. Tecnología 28


¿Qué aprendimos hoy?
• Tipos de circuitos integrados
 Con compuertas lógicas fijas
 Programables
• Chips de la serie 7400

© 2020 Electrónica digital bit a bit 3. Tecnología 29


3.07

Dispositivos lógicos
programables

© 2020 Electrónica digital bit a bit 3. Tecnología 30


PLD: Programmable Logic Device
• La desventaja de los chips 74xx es que tienen
pocas compuertas y son fijas
– No son adecuados para implementar funciones con
muchas entradas
• PLDs permiten implementar
cualquier función lógica

© 2020 Electrónica digital bit a bit 3. Tecnología 31


Arreglo lógico programable (PLA)
• Son un tipo de PLD y
consisten en planos
programables de
compuertas lógicas
• Implementan
funciones lógicas en
la forma de suma de
productos, con un
plano AND seguido
de un plano OR

© 2020 Electrónica digital bit a bit 3. Tecnología 32


Lógica de arreglo programable (PAL)

• Los PLA presentaban ciertos


problemas de implementación
• Surgieron los PAL, similar a los PLA
pero con el plano OR fijo, con el
costo de tener menor flexibilidad
• PALs y PLAs son generalmente
usados como partes de chips más
grandes (pero con conexiones fijas)

© 2020 Electrónica digital bit a bit 3. Tecnología 33


Programación de PLAs y PALs
• No es factible programar a mano PLDs
que contienen miles de interruptores
• Existen herramientas computacionales
(CADs) que generan automáticamente
un archivo (fuse map) que establece el
estado de los interruptores según los
requerimientos del programador https:/www.distrelec.biz

• Generalmente usan un encapsulado


llamado PLCC, que es cuadrado a
diferencia de los DIPs
https://www.digikey.com/

© 2020 Electrónica digital bit a bit 3. Tecnología 34


Dispositivos complejos de lógica
programable (CPLD)
• Los CPLD son circuitos más complejos
que los PAL o PLA
• Están conformados por unidades
interconectadas más pequeñas
similares a los PAL
• Su complejidad varía desde 2 a más
de 100 bloques tipo PAL
• Se programan directamente y suelen
usar un encapsulado QFP, que no es
retirable como los PLCC
© 2020 Electrónica digital bit a bit 3. Tecnología 35
Arreglos de compuertas
programables en el campo (FPGA)

• Los chips anteriores tienen tamaño


limitado. Los CPLD contienen hasta
10.000 compuertas, lo cual es muy poco
• Las FPGAs permiten implementar
circuitos mucho más grandes, con un
equivalente de más de 1.000.000
compuertas
• No funcionan con compuertas, sino que
con bloques lógicos como LUTs (Look-up
tables)
© 2020 Electrónica digital bit a bit 3. Tecnología 36
Herramientas de CAD para
implementación en CPLD y FPGA
• Estos circuitos tienen tantas compuertas que es
imposible programarlas a mano
• En cambio, se configuran usando HDLs (Hardware
Description Language)
• Estos lenguajes transforman código en archivos
necesarios para establecer la configuración de los
switches internos del chip
• La programación de estos chips es volátil, es decir,
cuando se apagan pierden su configuración
• Para suplir esto, las tarjetas con FPGAs por lo general
contienen bloques de memoria que cargan la
configuración en el FPGA al encenderse
© 2020 Electrónica digital bit a bit 3. Tecnología 37
¿Qué aprendimos hoy?
• Programmable Logic Devices (PLDs)
 PLA
 PAL
 CPLD
 FPGA
• Programación de un CPLD y una FPGA

© 2020 Electrónica digital bit a bit 3. Tecnología 38


3.08

Chips a la medida

© 2020 Electrónica digital bit a bit 3. Tecnología 39


Custom chips y celdas estándar
• La alternativa a los PLD es crear un chip desde
cero, lo cual es tremendamente caro
• Para no diseñar chips desde cero, se utilizan
celdas estándar de un mismo tamaño diseñadas
para la tecnología específica de fabricación

© 2020 Electrónica digital bit a bit 3. Tecnología 40


Arreglos de compuertas
• Para ahorrar trabajo en algunos
casos se utilizan arreglos de
compuertas
• Son chips con partes
prefabricadas (template) pero
sin las conexiones metálicas
• Esta tecnología se denomina
mar de compuertas (sea of
gates)

© 2020 Electrónica digital bit a bit 3. Tecnología 41


Layout de un chip

• El layout de un chip es la representación del


chip en función de figuras geométricas
asociadas a las distintas máscaras del proceso de
fabricación
• Existen diferentes herramientas CAD enfocadas
en el diseño de layouts
– Por ejemplo: Electric VLSI Design System
• ¿A qué compuerta lógica corresponde el layout
de la imagen?

© 2020 Electrónica digital bit a bit 3. Tecnología 42


¿Qué aprendimos hoy?
• Custom chips
 Celdas estándar
 Arreglo de compuertas
• Layout de un chip

© 2020 Electrónica digital bit a bit 3. Tecnología 43


3.09

Aspectos prácticos
de los MOSFETs

© 2020 Electrónica digital bit a bit 3. Tecnología 44


Aspectos prácticos
• Los transistores no se comportan como
interruptores ideales
• Debido a su proceso de fabricación en silicio, se
producen fenómenos que afectan la forma en que
diseñamos circuitos digitales
• Consumo de potencia, velocidad del circuito
(tiempo de retardo o delay) y tamaño son los
principales aspectos que queremos mejorar al
momento de fabricar un chip

© 2020 Electrónica digital bit a bit 3. Tecnología 45


Comportamiento de los MOSFETs
• Habíamos dicho que los MOSFETs se construyen a partir de
wafers de silicio en un proceso de fotolitografía
• El silicio es un semiconductor eléctrico, por lo que puede ser
manipulado para que no siempre conduzca corriente

Cuando 𝑽𝑮𝑺 = 𝟎 𝑽, el transistor no conduce Cuando 𝑽𝑮𝑺 = 𝟓 𝑽, el transistor conduce


© 2020 Electrónica digital bit a bit 3. Tecnología 46
Resistencia del MOS
• Asumimos que los transistores tienen
resistencia 0 cuando están encendidos
y resistencia ∞ cuando están apagados
• En realidad, siempre presentan una
resistencia dada por 𝑉𝐷𝑆 /𝐼𝐷

NMOS NOT 𝑽𝒙 = 𝟓 𝑽
© 2020 Electrónica digital bit a bit 3. Tecnología 47
Niveles de voltaje
• Las compuertas lógicas implementadas
con un solo tipo, NMOS o PMOS,
conducen en uno de los estados
– Conducción produce caída de potencial
• Entonces ocurre que
– En tecnología NMOS, 𝑉𝑂𝐻 = 5 𝑉, 𝑉𝑂𝐿 > 0 𝑉
– En tecnología PMOS, 𝑉𝑂𝐻 < 5 𝑉, 𝑉𝑂𝐿 = 0 𝑉

NMOS NOT 𝑽𝒙 = 𝟓 𝑽
© 2020 Electrónica digital bit a bit 3. Tecnología 48
Niveles de voltaje
• Para solucionar el
problema anterior, se
utilizan compuertas CMOS
• Estas compuertas
producen valores de
voltaje idénticos a los rieles
de alimentación
• Además no consumen
potencia estática

© 2020 Electrónica digital bit a bit 3. Tecnología 49


Márgenes de ruido
• Para definir un 1 o 0 lógico,
existe un rango de voltajes
al cual se asocia cada valor
• Este rango permite
distinguir niveles válidos
del ruido electrónico al que
está sometido un circuito
• Para ahorrar potencia, hay
circuitos con excursión
reducida (reduced swing)

© 2020 Electrónica digital bit a bit 3. Tecnología 50


Operación dinámica de compuertas
lógicas
• Debido al proceso de
fabricación por capas de los
transistores, se producen
capacitancias parásitas
• Los transistores no pueden
cambiar el voltaje de salida
instantáneamente
• Junto con las resistencias de los
transistores, se forman filtros
pasabajos que disminuyen la
velocidad de subida y bajada
de las señales Carga capacitiva en el nodo A
© 2020 Electrónica digital bit a bit 3. Tecnología 51
Operación dinámica de compuertas
lógicas
𝐶 Δ𝑉 𝐶 𝑉𝐷𝐷 /2
• Podemos identificar distintos 𝑡𝑝 = =
𝐼𝐷 𝐼𝐷
tipos de retardos: 1.7𝐶
𝑡𝑝 ≈
• 𝑡𝑟 (rise time): tiempo que 𝑘𝑛′
𝑊
𝑉
demora un nodo en cambiar de 𝐿 𝐷𝐷

0 a 1 (10% a 90% de 𝑉𝐷𝐷 )


• 𝑡𝑓 (fall time): tiempo que
demora un nodo en cambiar de
1 a 0 (90% a 10%) de 𝑉𝐷𝐷 )
• 𝑡𝑝 (propagation delay): tiempo
para que el cambio en un nodo
afecte al siguiente

© 2020 Electrónica digital bit a bit 3. Tecnología 52


¿Qué aprendimos hoy?
• Resistencia del MOS
• Niveles de voltaje
• Márgenes de ruido
• Operación dinámica de compuertas
 Rise time
 Fall time
 Propagation delay

© 2020 Electrónica digital bit a bit 3. Tecnología 53


3.10

Disipación de potencia,
fan-in y fan-out

© 2020 Electrónica digital bit a bit 3. Tecnología 54


Disipación de potencia
• Cuando hay billones de • Circuitos CMOS consumen
transistores en un chip, la principalmente potencia
potencia consumida por dinámica, ya que la transición 2
transistor es relevante entre estados no es inmediata
𝑃𝐷 = 𝛼𝑓𝐶𝑉𝐷𝐷
• Transistores consumen
potencia de dos formas:
– Cuando están encendidos
(𝐼𝑠𝑎𝑡 ) consumen potencia
estática
– Mientras se encuentran
cambiando de estado (subida
o bajada) consumen
potencia dinámica
Cambio de 0 a 1 Cambio de 1 a 0
© 2020 Electrónica digital bit a bit 3. Tecnología 55
Paso de 0s y 1s a través de
interruptores transistorizados

• ¿Qué pasa si
conectamos los
NMOS a 𝑉𝐷𝐷 y los
PMOS a tierra? 𝑥1 𝑥2 𝑉𝑓 𝑓
– Se dice que un 0 0 1.5 𝑉 0
NMOS pasa bien un 0 1 1.5 𝑉 0
0 pero mal un 1 1 0 1.5 𝑉 0
– Un PMOS pasa bien
1 1 3.5 𝑉 1
un 1 pero mal un 0

© 2020 Electrónica digital bit a bit 3. Tecnología 56


Fan-in y Fan-out
• Fan-in es la cantidad 𝒌 de
entradas a una compuerta
• Muchas entradas implica Retardo de propagación crece con fan-in
un aumento de elementos 1.7𝐶
𝑡𝑝 ≈ ×𝑘
parásitos y de tiempo de 𝑊
𝑘𝑛′ 𝑉
𝐿 𝐷𝐷
propagación
• Ej: en CMOS es más
conveniente hacer un AND
de 6 entradas con dos AND
de 3 entradas y un AND de
2 entradas

© 2020 Electrónica digital bit a bit 3. Tecnología 57


Fan-in y Fan-out
• Fan-out es la
cantidad 𝒏 de
compuertas
manejadas por
una compuerta
• Incrementa las
capacitancias
parásitas y el
tiempo de
propagación

© 2020 Electrónica digital bit a bit 3. Tecnología 58


¿Qué aprendimos hoy?
• Disipación de potencia
 Potencia estática
 Potencia dinámica
• Fan-in de una compuerta
• Fan-out de una compuerta

© 2020 Electrónica digital bit a bit 3. Tecnología 59


3.11

Compuertas de
transmisión CMOS

© 2020 Electrónica digital bit a bit 3. Tecnología 60


Compuertas de transmisión CMOS

𝑠 𝑓
0 𝑍 • Transmiten la señal 𝑥 cuando 𝑠 = 1
1 𝑥 • Presenta alta impedancia cuando 𝑠 = 0
• El uso de CMOS en lugar de NMOS o PMOS
Circuito Tabla de verdad
mejora transmisión de 0s y 1s
• Además permiten disminuir
considerablemente la cantidad de transistores
por compuertas en algunos circuitos
• Sin embargo, también pasan el ruido (non
restoring logic) a diferencia de compuertas
Circuito CMOS tradicionales
Símbolo
equivalente
© 2020 Electrónica digital bit a bit 3. Tecnología 61
Recordemos compuerta lógica XOR

𝑥1 𝑥2 𝑓
0 0 0
0 1 1
1 0 1 𝑥1 ⊕ 𝑥2 = 𝑥1 𝑥2 + 𝑥1 𝑥2
1 1 0

© 2020 Electrónica digital bit a bit 3. Tecnología 62


Compuerta lógica XOR
Es posible implementar una compuerta XOR usando
compuertas de transmisión ahorrando gran cantidad
de transistores

Comparar con esto:

© 2020 Electrónica digital bit a bit 3. Tecnología 63


Circuitos multiplexores
Otro circuito que podemos implementar
eficientemente con compuertas de transmisión son
los multiplexores

© 2020 Electrónica digital bit a bit 3. Tecnología 64


¿Qué aprendimos hoy?
• Compuertas de transmisión CMOS
• Uso en la implementación de un XOR
• Uso en la implementación de un multiplexor

© 2020 Electrónica digital bit a bit 3. Tecnología 65


3.12

Detalles de
implementación en
SPLDs, CPLDs y FPGAs

© 2020 Electrónica digital bit a bit 3. Tecnología 66


Detalles de implementación en
SPLDs, CPLDs y FPGAs
• Para configurar estos circuitos
se puede realizar de forma
permanente o reprogramable
• Para hacerlos reprogramables
se utilizan memorias EEPROM
– Los transistores utilizados son
ligeramente distintos a los
MOSFET comunes
• Esto permite elegir qué
conexiones realizar y cambiar
para implementar un circuito
totalmente distinto Plano NOR programable
© 2020 Electrónica digital bit a bit 3. Tecnología 67
Detalles de implementación en
SPLDs, CPLDs y FPGAs

Esto permite elegir qué


conexiones activar para
implementar un circuito
totalmente distinto cada
vez que se programa

¿Suma de productos o
producto de sumas?
© 2020 Electrónica digital bit a bit 3. Tecnología 68
Implementación en FPGA
• Los FPGA no funcionan con
EEPROM, sino que con bloques
de memoria SRAM
• Los interruptores son
implementados con NMOS
mientras que el estado de éstos
es controlado por la memoria
– Si hay un 0 en el bloque de
memoria, su transistor NMOS
asociado está apagado
– Si hay un 1 en el bloque de
memoria, su transistor NMOS
asociado está encendido

© 2020 Electrónica digital bit a bit 3. Tecnología 69


¿Qué aprendimos hoy?
• Configuración de SPLDs, CPLDs y FPGAs
 Memorias EEPROM
 Memorias SRAM

© 2020 Electrónica digital bit a bit 3. Tecnología 70


3.13

Xilinx y Basys 3

© 2020 Electrónica digital bit a bit 3. Tecnología 71


Xilinx
• Es una empresa tecnológica de Estados Unidos
destacada en la industria de los circuitos integrados
• Fue fundada en 1984 por James Barnett, Ross Freeman y Bernie
Vonderschmitt
• Famosos por inventar los primeras FPGAs comerciales y ser la primera
empresa de semiconductores en crear un modelo fabless

https://www.kleinerperkins.com/case-studies/xilinx/
© 2020 Electrónica digital bit a bit 3. Tecnología 72
Tecnología desarrollada
• Xilinx se caracteriza por desarollar PLDs, FPGAs y
CPLDs principalmente
– Utilizados típicamente en el mercado de las comunicaciones, el mercado
automotriz y en aplicaciones de procesamiento de datos
• Dentro de la variedad de familias de FPGAs que ofrecen destacan
Virtex, Kintex, Spartan y Artix
• A lo largo del curso trabajaremos con la placa de desarrollo Basys 3,
basada en la FPGA Artix-7, y usaremos Vivado Design Suite para
programarla
– Pero podemos aplicar lo aprendido aquí para trabajar con otros FPGAs

© 2020 Electrónica digital bit a bit 3. Tecnología 73


Basys 3
• Esta tarjeta está enfocada en principiantes
que están recién entrando al mundo de las
FPGAs
• Cuenta con diferente puertos y periféricos:
switches, LEDs, botones, display de 7
segmentos con cuatro dígitos, puerto VGA,
puerto USB y más
• Se recomienda leer el manual de
referencia de la tarjeta antes de empezar
a utilizarla

© 2020 Electrónica digital bit a bit 3. Tecnología 74


¿Qué aprendimos hoy?
• Xilinx y sus FPGAs
 Virtex
 Kintex
 Spartan
 Artix
• Basys 3 (Artix-7)
 Vivado Design Suite
 Verilog

© 2020 Electrónica digital bit a bit 3. Tecnología 75


3.14

Programar una
FPGA con Vivado

© 2020 Electrónica digital bit a bit 3. Tecnología 76


Vivado Design Suite
• Es un software de Xilinx muy útil para la síntesis y análisis de
diseños de circuitos digitales hechos con HDL

• Podemos crear distintos proyectos,


simular cada uno de nuestros módulos
de Verilog con un testbench, sintetizar
nuestros diseños y cargarlos a una
FPGA

© 2020 Electrónica digital bit a bit 3. Tecnología 77


Vivado – Crear un proyecto
Al crear un proyecto en Vivado le damos un nombre y
especificamos que es un proyecto tipo RTL
RTL: Register Transfer Level

Podemos crear junto al proyecto los


módulos de Verilog que diseñaremos y
el archivo XDC de la FPGA (más
adelante)
Estos archivos también podemos agregarlos
más tarde
Al crear el proyecto especificamos la
FPGA con la que trabajaremos
En el caso de la Basys 3, la FPGA
corresponde a la Artix7 XC7A35T-1CPG236C

© 2020 Electrónica digital bit a bit 3. Tecnología 78


Vivado – Ventana de trabajo
Con nuestro proyecto ya creado, veremos donde se organizan
nuestros módulos, propiedades del proyecto, herramientas de
síntesis, simulación, etc.

© 2020 Electrónica digital bit a bit 3. Tecnología 79


Xilinx Design Constraint file (XDC)
• Al programar una FPGA con Vivado, debemos indicarle al
programa los pines físicos de la FPGA que utilizaremos en
nuestro diseño
• El archivo XDC le indica al software
todos los pines disponibles de la FPGA
– Los pines que no usamos los
comentamos
• Entre los pines del archivo XDC
encontramos los periféricos (LED,
display de 7 segmentos, etc) y señales
como el Clock (Clk)
https://reference.digilentinc.com/learn/software/tutorials/vivado-xdc-file

© 2020 Electrónica digital bit a bit 3. Tecnología 80


Ejemplo con periféricos de la FPGA
• Cuando queremos utilizar alguno de los periféricos de nuestra
FPGA, como los LEDs, en nuestro módulo de Verilog debemos
llamarlos con el mismo nombre con el que se definen en el
archivo XDC de la FPGA
• En este módulo la entrada sw representa
los interruptores (switches) de la Basys 3
– Al ser un vector de 4 bits, utilizamos los
primeros 4 interruptores
• De la misma manera, el vector de salida
LED representa los primeros 4 LEDs de la
Basys 3 que se encienden y apagan según
la posición de los interruptores

© 2020 Electrónica digital bit a bit 3. Tecnología 81


Vivado – Programar una FPGA

• Para programar un FPGA debemos


realizar los siguientes procesos de
Vivado:
– Run Synthesis
– Run Implementation
– Generate Bitstream
• Luego en el Hardware Manager
podemos conectar Vivado con
nuestra FPGA y cargarle nuestro
diseño
© 2020 Electrónica digital bit a bit 3. Tecnología 82
¿Qué aprendimos hoy?
• Crear un proyecto con Vivado
• Archivo XDC (Xilinx Design Constraint)
• Utilizar periféricos de la Basys 3 en un módulo Verilog
• Cargar un diseño en una FPGA

© 2020 Electrónica digital bit a bit 3. Tecnología 83

También podría gustarte