Anda di halaman 1dari 51

DISEÑO DIGITAL CON VHDL

Ideas generales

Dr. Javier Vega Pineda


Profesor-Investigador

Departamento de Ingeniería Eléctrica y


Electrónica
Instituto Tecnológico de Chihuahua

Semestre Enero-Junio
2018
Contenido
• Introducción
• Dispositivos Programables
• SPLD (Simple Programmable Logic Design)
• CPLD (Complex Programmable Logic Design)
• FPGA (Field Programmable Gate Array)
• Herramientas de Desarrollo
• Aplicaciones

Semestre Enero-Junio
2018
Introducción
• Show de Electrónica
(Las Vegas)

Presentación de tres
compañías de
Tarjetas controladoras de
discos para el nuevo bus
XEXSI de ultra alto
mega rendimiento

“Los tres sistemas cumplen con las


especificaciones del estándar XEXSI aún no
Semestre Enero-Junio
2018 liberado”
Introducción
• Un mes después se liberaron las
especificaciones del estándar para el bus
XEXSI
• Hubo cambios
• Dos de las compañias tuvieron que retirar
sus tarjetas del mercado e irse a rediseñar
sus productos

Semestre Enero-Junio
2018
Introducción
• Compañía A: Puso el 90% de su diseño en un CI CMOS
aislando las partes claves del diseño que no podían cambiar y
el 10% en logica TTL de alta corriente para interfase al bus.

• Compañía B: Usaron un microprocesador rápido y lógica


estándar discreta. Implantó el 90% del diseño en software, y
las partes que requerían velocidad y manejo alto de corriente
en lógica estándar barata.

• Compañía C: Aislaron mucho del diseño en un


microcontrolador pequeño, con la lógica del protocolo
sensible a la velocidad en una FPGA. La lógica de alta
corriente era estándar.
Semestre Enero-Junio
2018
Dispositivos Lógicos Programables
Los PLD
Simples Complejos
PLD
CPLD
Programmable Logic
Complex Programmable
Device
Logic Device
PLA
FPGA
Programmable Logic Array
Field Programmable Gate
Array
PAL
Programmable Array Logic

GAL
Generic Array Logic
Semestre Enero-Junio
2018
SPLD
Los PLDs son circuitos integrados digitales
con capacidad de ser programados para
proveer una variedad de diferentes funciones
n entradas
lógicas.
Menos de 500
compuertas (gates):
ARREGLO
ARREGLO OR
AND
PLA
Programmable
Logic Array
k términos producto

Semestre Enero-Junio m salidas


2018
Es posible demostrar con elementos de
PLA álgebra booleana, que cualquier función
combinacional puede implementarse con
elementos lógicos AND y OR en un
arreglo de dos niveles (Una Suma de
Productos SOPs.
A B C

TP 1

TP 2

F0 F1 F2 F3
Semestre Enero-Junio
2018
A B C

PLA TP 1

Un problema:
F0  A' B ' A' C TP 2

Para formar las cuatro funciones es


F1  A' C  B necesario contar con los términos
F0 F1 F2 F3

F2  A' B ' B ' C producto (TP): A’B’, A’C, B, B’C, AC


F3  B  AC Y con los TPs es posible formar las
Sumas de Productos que definen las
cuatro diferentes funciones.
A B C

A’B’

A’C

B’C

AC

F0 F1 F2 F3
Semestre Enero-Junio
2018
La estructura básica del PAL es la misma que
PAL un PLA pero solo el arreglo AND es
programable, el arreglo OR esta ya
programado o fijo pero sigue formando la
suma de productos.

Tipo No. de Entradas No. de Salidas Configuración No. de Entradas


de Compuertas por Compuerta OR
10H8 10 8 AND-OR 2
12H6 12 6 AND-OR 4, 2, 2, 2, 2, 4
14H4 14 4 AND-OR 4
16H2 16 2 AND-OR 8
16C1 16 1 AND-OR/NOR 16
20C1 20 1 AND-OR/NOR 16
10L8 10 8 AND-OR 2
12L6 12 6 AND-OR 4, 2, 2, 2, 2, 4
14L4 14 4 AND-OR 4
16L2 16 2 AND-OR 8
12L10 12 10 AND-OR 2

Semestre Enero-Junio
2018
PAL: Máquinas de Estados Finitos
o Circuitos Secuenciales
X1
Z1

X2 ... Z2
... ...
Xm Zn

Q1
D1

CIRCUITO
COMBINA-
Q2
CIONAL D2

. .
. .
. .

Qk
Dk

clock

Semestre Enero-Junio
2018
PAL: Máquinas de Estados
Finitos o Circuitos Secuenciales Clock
A A’ B B’ C C’
EN

D Q Q’

Q’

No. Tipo No. de Entradas No. de Salidas No. de Compuertas


(directas + retros (flip-flops + pines AND por Compuerta
+ pines E/S) de E/S) OR
16R4 8+4+4 4+4 8
16R6 8+6+2 6+2 8
16R8 8+8+0 8+0 8
20R4 12+4+4 4+4 8
20R6 12+6+2 6+2 8
20R8 12+8+0 8+0 8
20X4 10+4+6 4+6 3/2*
Semestre Enero-Junio 20X8 10+8+2 8+2 3/2
2018 20X10 10+10+0 10+0 -/2
PALCE 22V10
10 Macroceldas
individualmente
configurables
Para circuitos
combinacionales
y/o secuenciales

Semestre Enero-Junio
2018
PALCE 22V10

Semestre Enero-Junio
LA MACROCELDA
2018
PALCE 22V10

Semestre Enero-Junio
2018
Herramientas de Desarrollo
EDITOR DE
TEXTO COMPILADOR
LOGICO ARCHIVO
ARCHIVO
FUENTE JEDEC

HARDWARE Y SOFTWARE
DE PROGRAMACION

EDIT COMPILA/SIM VISUAL PROGRAMA-CION


Crear archivos (PLDasm) Errores, Reportes y otros Software de Programación
fuente archivos

.ERR
.RPT
.PDS COMPILACION DEL DISEÑO/ .ETC .JED
CONVERSION Y SIMULACION

Semestre Enero-Junio
2018
Herramientas de Desarrollo
Lenguajes para Descripción de Hardware:
CUPL
PLDShell
ABEL
PALASM
Son lenguajes para diseños relativamente
pequeños (descontinuados algunos de ellos)

Semestre Enero-Junio
2018
Title bin2ex3.pds
Author Javier Vega Pineda

CHIP SIMPLE 22V10 PLDShell


;entradas Convertidor BCD a Exceso3
PIN A
PIN B
Circuito Combinacional
PIN C
;salidas
PIN A3
PIN B3
PIN C3
; el software definira automaticamente el numero del pin. El usuario los
puede definir.

EQUATIONS
A3 = /A * /B * C + /A * B * /C + /A * B * C + A * /B * /C
B3 = /A * /B * /C + /A * B * C + A * /B * /C + A * B * C
C3 = /A * /B * /C + /A * B * /C + A * /B * /C + A * B * /C

SIMULATION
SETF /A /B /C
SETF /A /B C
SETF /A B /C
SETF /A B C
SETF A /B /C
SETF A /B C
SETF A B /C
SETF A B C
Semestre Enero-Junio
2018
PLDShell Convertidor BCD a Exceso3
;tabla de la verdad EQUATIONS
A3 = A * /B * /C + /A * C + /A * B
T_TAB( A B C >> A3 B3 C3) A3.TRST = VCC
0 0 0 : 0 1 1 B3 = /B * /C + B * C
0 0 1 : 1 0 0 B3.TRST = VCC
C3 = /C
0 1 0 : 1 0 1 C3.TRST = VCC
0 1 1 : 1 1 0 ***** Design implemented successfully
1 0 0 : 1 1 1 iPLD22V10
- - - - -
1 0 1 : 0 0 0 A -| 1 24|- Vcc
1 1 0 : 0 0 1 C -| 2 23|- Gnd
1 1 1 : 0 1 0 B -| 3 22|- Gnd
Gnd -| 4 21|- Gnd
Gnd -| 5 20|- Gnd
Gnd -| 6 19|- Gnd
Gnd -| 7 18|- Gnd
Gnd -| 8 17|- Gnd
Gnd -| 9 16|- C3
Gnd -|10 15|- B3
Gnd -|11 14|- A3
GND -|12 13|- Gnd
- - - - -
CMOS Device: ground unused inputs and I/Os
Gnd = unused input or I/O pin.
RESERVED = Leave pins unconnected on board.
N.C. = unconnected pins
3/10 MacroCells (30%), 20% of used Pterms
Filled
3/12 Input Pins (25%)
PTerms Used 5%
Semestre Enero-Junio
2018 Archivo JEDEC simple1.jed (un fragmento):
PLDShell
Detector de Secuencia STATE
MEALY_MACHINE
Circuito Secuencial DEFAULT_OUTPUT /Z
DEFAULT_BRANCH S0
; Definicion de edos. en la maquina
Tabla de transición de Estados S0 = /Q1 * /Q0
AB A+B+ Z S1 = /Q1 * Q0
S2 = Q1 * /Q0
X=0 X=1 X=0 X=1 ; Definicion de la transicion de edos.
00 00 01 0 0 S0 := IN0 -> S0
+ IN1 -> S1
01 10 01 0 0 S1 := IN0 -> S2
10 00 01 0 1 + IN1 -> S1
S2 := IN0 -> S0
+ IN1 -> S1
; Def. de salidas en transicion de edos
X = 0011011001010100 S0.OUTF = IN0 -> /Z
+ IN1 -> /Z
Z = 0000010000010100 S1.OUTF = IN0 -> /Z
Detectar: 101 + IN1 -> /Z
S2.OUTF = IN0 -> /Z
+ IN1 -> Z

Semestre Enero-Junio
2018
22V10 vs TTL

74LS160 Contadores de
4 bits

Semestre Enero-Junio
2018
COMPLEX PLD (CPLD)
Extiende el concepto de PLD a un mayor grado de
integración:
•Ocupan menos espacio físico
•Aumenta confiabilidad
•Reducen costos

Se manejan Bloques Lógicos


similares a los PLD (22V10)

ALTERA

Semestre Enero-Junio
2018
COMPLEX PLD (CPLD-ALTERA)
Familia MAX Multiple Array
Matrix 5K
PIA Programmable
Interconect Array

LAB Logic Array Block

Semestre Enero-Junio
2018
COMPLEX PLD (CPLD-ALTERA)
La macrocelda MAX

El arreglo expansor MAX


Semestre Enero-Junio
2018
COMPLEX PLD (CPLD-ALTERA)
Familia 7K
tiempos en PIA:
5K, 14 ns
7K, 2 ns

Semestre Enero-Junio
2018
COMPLEX PLDs
(CPLDs-ALTERA)

Semestre Enero-Junio
2018
COMPLEX PLDs
FAMILIA APEX

Semestre Enero-Junio
2018
COMPLEX PLDs- (CPLDs-ALTERA)

Semestre Enero-Junio
2018
FIELD PROGRAMMABLE GATE ARRAY,
FPGAS
Es un arreglo de celdas lógicas que se comunican unas
con otras y con E/S mediante CANALES DE
ENRUTAMIENTO

Semestre Enero-Junio
2018
FIELD PROGRAMMABLE GATE
ARRAY, FPGAS
Contador de 3
bits

Semestre Enero-Junio
2018
FIELD
PROGRA-
MMABLE
GATE
ARRAY,
FPGAS

Semestre Enero-Junio
2018
Semestre Enero-Junio
2018
FPGAS Xilinx

Semestre Enero-Junio
2018
FPGAS Xilinx

Semestre Enero-Junio
2018
FPGAS Xilinx

Semestre Enero-Junio
2018
Herramientas de Desarrollo
• Lenguajes de alto nivel para diseño de
hardware digital :
– VHDL
– Verilog
• Simuladores
• Verificación de Diseño
• Verificación de Fallas
• Etc.

Semestre Enero-Junio
2018
Lenguajes de alto nivel para diseño de
hardware digital
VHDL
VHSIC Very High Speed Integrated Circuit
VHDL VHSIC Hardware Description Language

Semestre Enero-Junio
2018
VHDL
Semestre Enero-Junio
2018
Ciclo de Desarrollo

Semestre Enero-Junio
2018
Simulación

Semestre Enero-Junio
2018
Herramientas de Desarrollo

Semestre Enero-Junio
2018
Tarjeta WINNOV
Captura y Edición
de Video

Semestre Enero-Junio
2018
Semestre Enero-Junio
2018
XCS10XL-PC84
FPGA Xilinx:
•DRAM Memory
Interface
•IDE Interface
•DMA Controller
with 2 concurrent
channels

Semestre Enero-Junio
2018
Alcatel, Servicios de
Comunicación Vía Fibra Optica

233mm X 210mm
200,000 compuertas

Semestre Enero-Junio
2018
CTI PET Systems - Siemens
PET Tomografía por Emisión de
Positrones de Muy Alta
Resolución

Semestre Enero-Junio
2018
CTI PET Systems - Siemens

Semestre Enero-Junio
2018
GENICOM
Microlaser 320
Printers

Semestre Enero-Junio
2018
Technology 80 (Tech 80)
Controlador de Movimiento de Servo

Semestre Enero-Junio
2018
Información, Software,
Hardware, Tutoriales, Etc.

www.altera.com
www.xilinx.com

Semestre Enero-Junio
2018
Muchas Gracias por su Atención
jvega@itchihuahua.edu.mx

Semestre Enero-Junio
2018

Anda mungkin juga menyukai