Circuitos digitales configurables Parte3 Tema 3

Anuncio
Escuela Técnica de Ingenieros de Telecomunicación
Departamento de Tecnología Electrónica
Universidad de Vigo
Circuitos digitales configurables
SISTEMAS ELECTRÓNICOS DIGITALES
BLOQUE 2
CIRCUITOS DIGITALES CONFIGURABLES
(PARTE 3: Tema 3)
CONJUNTO CONFIGURABLE DE PUERTAS
FPGA (Field Programmable Gate Array)
Diseño de sistemas digitales implementados en un circuito FPGA
Enrique Mandado Pérez
María José Moure Rodríguez
Escuela Técnica de Ingenieros de Telecomunicación
Departamento de Tecnología Electrónica
Universidad de Vigo
Circuitos digitales configurables
FPGA (Field Programmable Gate Array)
Proceso de diseño de sistemas digitales implementados en un circuito FPGA
GUI
Diseño
Esquema
electrónico
Traducción
Diagrama
Grafo
de
estados
Lenguaje de
descripción
hardware
Síntesis
Simulación
funcional
Simulación
temporal
Simulación
Compilación
Enrutado
Configuración
dispositivo
EDA: Electronic Design Automation
Escuela Técnica de Ingenieros de Telecomunicación
Departamento de Tecnología Electrónica
Universidad de Vigo
Circuitos digitales configurables
FPGA (Field Programmable Gate Array)
DESCRIPCIÓN DEL SISTEMA
DESCRIPCIÓN
MEDIANTE UN
DIAGRAMA
DE ESTADOS
Ejemplo
HERRAMIENTA
StateCAD
de Xilinx
Escuela Técnica de Ingenieros de Telecomunicación
Departamento de Tecnología Electrónica
Universidad de Vigo
Circuitos digitales configurables
FPGA (Field Programmable Gate Array)
DESCRIPCIÓN DEL SISTEMA
Lenguajes de descripción hardware o HDL (Hardware Description Languages)
Mediante ellos se realizan descripciones de circuitos complejos imposibles de describir
mediante esquemas.los esquemáticos.
• Ejemplo de HDL: VHDL
architecture comportamiento of decodificador is
entity decodificador is
port (E0,E1, EN: in bit;
S0,S1,S2,S3: out bit)
end;
begin
process (E0,E1,EN)
begin
if EN=‘0’ then
S0<=‘0’; S1<=‘0’; S2<=‘0’; S3<=‘0’;
elseif E0=‘0’ and E1=‘0’ then
S0<=‘1’; S1<=‘0’; S2<=‘0’; S3<=‘0’;
elseif E0=‘1’ and E1=‘0’ then
S0<=‘0’; S1<=‘1’; S2<=‘0’; S3<=‘0’;
elseif E0=‘0’ and E1=‘1’ then
S0<=‘0’; S1<=‘0’; S2<=‘1’; S3<=‘0’;
elseif E0=‘1’ and E1=‘1’ then
S0<=‘0’; S1<=‘0’; S2<=‘0’; S3<=‘1’;
endif
end process;
end comportamiento;
Escuela Técnica de Ingenieros de Telecomunicación
Departamento de Tecnología Electrónica
Universidad de Vigo
Circuitos digitales configurables
FPGA (Field Programmable Gate Array)
DESCRIPCIÓN DEL SISTEMA
•
INDEPENDIENTE DE LA TECNOLOGÍA
Utiliza descripciones de alto nivel sin tener en cuenta el circuito en el que se van
a implementar.
– Generalmente se utilizan descripciones de comportamiento mediante
lenguajes de descripción física (HDL) .
– Permite probar el sistema en diferentes circuitos, pero no optimiza las
prestaciones en ninguno de ellos.
•
DEPENDIENTE DE LA TECNOLOGÍA
Utiliza recursos y componentes específicos del circuito en el que se va a
implementar el sistema digital.
– Generalmente se utilizan descripciones estructurales mediante editores de
esquemas (Schematic).
– Permite optimizar las prestaciones para un circuito concreto, pero dificulta
la migración del sistema a otro circuito.
Escuela Técnica de Ingenieros de Telecomunicación
Departamento de Tecnología Electrónica
Universidad de Vigo
Circuitos digitales configurables
FPGA (Field Programmable Gate Array)
DESCRIPCIÓN DEL SISTEMA
GENERACIÓN DE LA LISTA DE CONEXIONES (NETLIST)
•
•
La lista de conexiones es un fichero que describe las interconexiones entre los
elementos de un circuito (descripción estructural). En general es un fichero
muy extenso.
Existen formatos normalizados para intercambio de datos entre programas.
Ejemplo:
Escuela Técnica de Ingenieros de Telecomunicación
Departamento de Tecnología Electrónica
Universidad de Vigo
Circuitos digitales configurables
FPGA (Field Programmable Gate Array)
DESCRIPCIÓN DEL SISTEMA
SIMULACIÓNFUNCIONAL
- Facilita la comprobación de la
funcionalidad del circuito (nivel
lógico) para lo cual asigna retardos
nulos o unidad.
- Hay que aplicar vectores de estímulo
que se pueden ser generar
automáticamente.
- En general no es exhaustiva
(sistemas secuenciales complejos).
Escuela Técnica de Ingenieros de Telecomunicación
Departamento de Tecnología Electrónica
Universidad de Vigo
Circuitos digitales configurables
FPGA (Field Programmable Gate Array)
DESCRIPCIÓN DEL SISTEMA
ASIGNACIÓN DE RECURSOS (FITTING)
•
•
Asigna un elemento físico del circuito a cada elemento lógico del sistema
diseñado:
• Asignación de biestables.
• Asignación de macroceldas a cada ecuación lógica, compartiendo si es
necesario recursos de otras macroceldas.
• Si no es posible asignar la ecuación a una única macrocelda, la
subdivide para su realización en varias mediante realimentaciones.
Obtiene una nueva lista de conexiones al final del proceso y un informe de
usuario.
Escuela Técnica de Ingenieros de Telecomunicación
Departamento de Tecnología Electrónica
Universidad de Vigo
Circuitos digitales configurables
FPGA (Field Programmable Gate Array)
DESCRIPCIÓN DEL SISTEMA
ENRUTADO (ROUTING)
– Asigna los caminos físicos que recorre cada señal.
– Trata de obtener el menor retardo posible para cada señal. El retardo de
interconexión es decisivo en el retardo total de las señales (40% al 60%).
– Si no se cumplen los retardos máximos especificados por el usuario se
vuelve a la fase de asignación de recursos.
– Los recursos de interconexión en general no permiten ocupar toda la lógica
del dispositivo (menos del 80 %).
Escuela Técnica de Ingenieros de Telecomunicación
Departamento de Tecnología Electrónica
Universidad de Vigo
Circuitos digitales configurables
FPGA (Field Programmable Gate Array)
Simulación temporal
Permite evaluar:
- Retardos del circuito
(velocidad de funcionamiento)
- Consumo
- Recursos utilizados
Escuela Técnica de Ingenieros de Telecomunicación
Departamento de Tecnología Electrónica
Universidad de Vigo
Circuitos digitales configurables
FPGA (Field Programmable Gate Array)
HERRAMIENTAS DE
DISEÑO ASISTIDO POR COMPUTADOR
Cada fabricante de Circuitos Digitales Configurables dispone de su propia herramienta
de CAD, que hay que utilizar imprecindiblemente al menos para la fase de
implementación.
Todas las herramientas de CAD son muy similares.
Las herramientas actuales están orientadas sobre todo al diseño de sistemas digitales
basados en al menos un lenguaje de descripción del hardware (HDL) como por ejemplo
Verilog o VHDL.
Escuela Técnica de Ingenieros de Telecomunicación
Departamento de Tecnología Electrónica
Universidad de Vigo
Circuitos digitales configurables
FPGA (Field Programmable Gate Array)
Herramienta ISE de Xilinx
Escuela Técnica de Ingenieros de Telecomunicación
Departamento de Tecnología Electrónica
Universidad de Vigo
Circuitos digitales configurables
FPGA (Field Programmable Gate Array)
ISE: Ejemplo de resultados de la implementación
Escuela Técnica de Ingenieros de Telecomunicación
Departamento de Tecnología Electrónica
Universidad de Vigo
Circuitos digitales configurables
FPGA (Field Programmable Gate Array)
ISE: Programación del circuito FPGA
Escuela Técnica de Ingenieros de Telecomunicación
Departamento de Tecnología Electrónica
Universidad de Vigo
Circuitos digitales configurables
FPGA (Field Programmable Gate Array)
XILINX System Generator: DISEÑO DSP A PARTIR DE MATLAB
Descargar