Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Programación Hardware:
CAD para FPGAs y CPLDs
4
Pines de una FPGA (4)
Pines permanentemente dedicados (b):
• CCLK. Reloj para la configuración, es de
entrada en la configuración en modo esclavo, y
de salida en los demás modos.
5
Pines de una FPGA (5)
Pines permanentemente dedicados (c):
• ¬Program. Es una entrada. A nivel bajo borra
la memoria de configuración. Cuando su nivel
sube, inicia un nuevo ciclo de borrado de la
memoria de configuración, y genera la señal de
inicialización de la carga de la configuración por
el pin ¬INIT.
6
Pines de una FPGA (6)
Pines de I/O con otras funciones (a):
• RDY/¬ ¬Busy. Durante la configuración en modo
periférico indica cuando la FPGA está lista para
recibir otro byte por D0-D7. Luego pin de I/O.
11
Pines de una FPGA (11)
Pines de I/O con otras funciones (f):
• A0-A17. Durante la configuración en modo
Paralelo Maestro se usan para direccionar la ROM
externa. Luego son pines de I/O.
12
Pines de una FPGA (12)
Pines de I/O con otras funciones (g):
• Din. Durante la configuración en modo Serie
Esclavo o Serie Maestro, recibe el bit de dato de la
configuración que es leido al flanco ascendente de
la señal CCLK. Durante la configuración en
paralelo Din es D0. Luego pin de I/O.
14
Alimentación (1)
Distribución de pines de alimentación.
Anillos de
Vcc y GND
15
Alimentación (2)
• Configuración:
• SERIE / PARALELO.
• MAESTRO / ESCLAVO.
18
Configuración de una FPGA (3)
• Modo MAESTRO
• Si la configuración es PARALELA,
internamente se hace serie.
19
Configuración de una FPGA (4)
• Modo PERIFERICO
20
Configuración de una FPGA (5)
• Modo ESCLAVO
22
Configuración de una FPGA (7)
Modo: SLAVE SERIAL
23
Configuración de una FPGA (8)
Modo:
MASTER
PARALELO
24
Configuración de una FPGA (9)
Modo:
PERIFERICO
SINCRONO
25
Configuración de una FPGA (10)
Modo: PERIFERICO ASINCRONO
26
Configuración de una FPGA (11)
27
Configuración de una FPGA (12)
Pseudocódigo de configuración:
• WHILE Vcc<3.5 volts DO ;
• IF (-program=LOW)&(Test_M012=OK) THEN
• clear_memory;
• IF es_master THEN WAIT UNTIL init=HIGH;
• REPEAT
• REPEAT
• Cargar un FRAME
• UNTIL Frame=OK;
• UNTIL memoria_cfg_IS_FULL;
• Secuencia de START-UP. 28
Fin
29