Logotipo de Intel1

Contenido esconder
1 Guía del usuario de GPIO Intel® FPGA IP

Guía del usuario de GPIO Intel® FPGA IP


Dispositivos Intel® Arria® 10 e Intel® Cyclone® 10 GX

Actualizado para Intel® Quartus® Prime Design Suite: 21.2
Versión IP: 20.0.0

GPIO Intel FPGA IP - Comentarios Versión en línea                                                               IDENTIFICACIÓN: 683136
GPIO Intel FPGA IP - en todo el mundo Enviar comentarios             ug-altera_gpio            Versión: 2021.07.15


El núcleo IP GPIO Intel® FPGA es compatible con las funciones y los componentes de E/S de propósito general (GPIO). Puede usar GPIO en aplicaciones generales que no son específicas de transceptores, interfaces de memoria o LVDS.

El núcleo IP GPIO está disponible solo para dispositivos Intel Arria® 10 e Intel Cyclone® 10 GX. Si está migrando diseños de dispositivos Stratix® V, Arria V o Cyclone V, debe migrar los núcleos IP ALTDDIO_IN, ALTDDIO_OUT, ALTDDIO_BIDIR o ALTIOBUF.

Información relacionada

Información de lanzamiento para GPIO Intel FPGA IP

Las versiones de Intel FPGA IP coinciden con las versiones del software Intel Quartus® Prime Design Suite hasta v19.1. A partir de la versión 19.2 del software Intel Quartus Prime Design Suite, Intel FPGA IP tiene un nuevo esquema de control de versiones.


Corporación Intel. Reservados todos los derechos. Intel, el logotipo de Intel y otras marcas de Intel son marcas comerciales de Intel Corporation o sus subsidiarias. Intel garantiza el rendimiento de sus productos semiconductores y FPGA según las especificaciones actuales de acuerdo con la garantía estándar de Intel, pero se reserva el derecho de realizar cambios en cualquier producto y servicio en cualquier momento sin previo aviso. Intel no asume ninguna responsabilidad que surja de la aplicación o el uso de cualquier información, producto o servicio descrito en este documento, excepto que Intel lo acuerde expresamente por escrito. Se recomienda a los clientes de Intel que obtengan la última versión de las especificaciones del dispositivo antes de confiar en cualquier información publicada y antes de realizar pedidos de productos o servicios. *Otros nombres y marcas pueden reclamarse como propiedad de otros.

ISO 9001: 2015 registrado

El número de versión de Intel FPGA IP (XYZ) puede cambiar con cada versión de software Intel Quartus Prime. Un cambio en:

  • X indica una revisión importante de la propiedad intelectual. Si actualiza el software Intel Quartus Prime, debe regenerar la IP.
  • Y indica que la IP incluye nuevas funciones. Regenera tu IP para incluir estas nuevas funciones.
  • Z indica que la IP incluye cambios menores. Regenera tu IP para incluir estos cambios.

Tabla 1. Información de versión actual de GPIO Intel FPGA IP Core

Artículo

Descripción

Versión IP 20.0.0
Versión Intel Quartus Prime 21.2
Fecha de lanzamiento 2021.06.23
Funciones IP GPIO Intel FPGA

El núcleo IP de GPIO incluye funciones para admitir los bloques de E/S del dispositivo. Puede utilizar el editor de parámetros de Intel Quartus Prime para configurar el núcleo IP de GPIO.

El núcleo IP de GPIO proporciona estos componentes:

  • Entrada/salida de velocidad de datos doble (DDIO): un componente digital que duplica o reduce a la mitad la velocidad de datos de un canal de comunicación.
  • Cadenas de retardo: configure las cadenas de retardo para realizar un retardo específico y asistir en el cierre de temporización de E/S.
  • Búferes de E/S: conecte los pads a la FPGA.
Rutas de datos IP GPIO Intel FPGA

Figura 1. Alto nivel View de GPIO de terminación única

GPIO Intel FPGA IP - Figura 1

Tabla 2. Modos de ruta de datos de GPIO IP Core

Ruta de datos

Modo de registro
Derivación Registro sencillo

E/S DDR

Tarifa completa

Media tarifa

Aporte Los datos van desde el elemento de retardo hasta el núcleo, sin pasar por todas las E/S de doble velocidad de datos (DDIO). El DDIO de tasa completa funciona como un registro simple, sin pasar por los DDIO de tasa media. El instalador elige si empaqueta el registro en la E/S o implementa el registro en el núcleo, según el área y las compensaciones de tiempo. El DDIO de tasa completa funciona como un DDIO regular, sin pasar por los DDIO de tasa media. El DDIO de tasa completa funciona como un DDIO normal. Los DDIO de tasa media convierten datos de tasa completa en datos de tasa media.
Producción Los datos van desde el núcleo directamente al elemento de retardo, sin pasar por todos los DDIO. El DDIO de tasa completa funciona como un registro simple, sin pasar por los DDIO de tasa media. El instalador elige si empaqueta el registro en la E/S o implementa el registro en el núcleo, según el área y las compensaciones de tiempo. El DDIO de tasa completa funciona como un DDIO regular, sin pasar por los DDIO de tasa media. El DDIO de tasa completa funciona como un DDIO normal. Los DDIO de tasa media convierten datos de tasa completa en datos de tasa media.
Bidireccional El búfer de salida impulsa tanto un pin de salida como un búfer de entrada. El DDIO de tasa completa funciona como un registro simple. El búfer de salida impulsa tanto un pin de salida como un búfer de entrada. El DDIO de tasa completa funciona como un DDIO normal. El búfer de salida impulsa tanto un pin de salida como un búfer de entrada. El búfer de entrada impulsa un conjunto de tres flip-flops. El DDIO de tasa completa funciona como un DDIO normal. Los DDIO de tasa media convierten datos de tasa completa a tasa mitad. El búfer de salida impulsa tanto un pin de salida como un búfer de entrada. El búfer de entrada impulsa un conjunto de tres flip-flops.

Si usa señales asíncronas claras y preestablecidas, todos los DDIO comparten estas mismas señales.

Los DDIO de tasa media y tasa completa se conectan a relojes separados. Cuando utiliza DDIO de velocidad media y velocidad completa, el reloj de velocidad completa debe funcionar al doble de la frecuencia de velocidad media. Puede utilizar diferentes relaciones de fase para cumplir con los requisitos de tiempo.

Información relacionada
Bits altos y bajos del bus de entrada y salida en la página 12

Ruta de entrada

El pad envía datos al búfer de entrada y el búfer de entrada alimenta el elemento de retardo. Después de que los datos van a la salida del elemento de retardo, los multiplexores de derivación programables seleccionan las características y las rutas a usar. Cada ruta de entrada contiene dos stages de DDIO, que son de tasa completa y tasa media.

Figura 2. Simplificado View de ruta de entrada GPIO de un solo extremo

GPIO Intel FPGA IP - Figura 2

  1. El pad recibe datos.
  2. DDIO IN (1) captura datos en los flancos ascendente y descendente de ck_fr y envía los datos, las señales (A) y (B) en la siguiente figura de forma de onda, a una velocidad de datos única.
  3. DDIO IN (2) y DDIO IN (3) reducen a la mitad la tasa de datos.
  4. dout[3:0] presenta los datos como un bus de tasa media.

Figura 3. Forma de onda de ruta de entrada en modo DDIO con conversión de tasa media

En esta figura, los datos van desde un reloj de velocidad completa con una velocidad de datos doble hasta un reloj de media velocidad con una velocidad de datos única. La velocidad de datos se divide por cuatro y el tamaño del bus aumenta en la misma proporción. El rendimiento general a través del núcleo IP GPIO permanece sin cambios.

La relación de temporización real entre diferentes señales puede variar según el diseño específico, los retrasos y las fases que elija para los relojes de frecuencia completa y frecuencia media.

GPIO Intel FPGA IP - Figura 3

Nota: El núcleo IP GPIO no admite la calibración dinámica de pines bidireccionales. Para aplicaciones que requieren calibración dinámica de pines bidireccionales, consulte la información relacionada.

Información relacionada

Rutas de salida y habilitación de salida

El elemento de retardo de salida envía datos al pad a través del búfer de salida.

Cada ruta de salida contiene dos stages de DDIO, que son de tasa media y tasa completa.

Figura 4. Simplificado View de ruta de salida GPIO de un solo extremo

GPIO Intel FPGA IP - Figura 4

Figura 5. Forma de onda de ruta de salida en modo DDIO con conversión de tasa media

GPIO Intel FPGA IP - Figura 5

Figura 6. Simplificado View de ruta de habilitación de salida

GPIO Intel FPGA IP - Figura 6

La diferencia entre la ruta de salida y la ruta de habilitación de salida (OE) es que la ruta OE no contiene DDIO de tasa completa. Para admitir implementaciones de registros empaquetados en la ruta OE, un registro simple funciona como DDIO de tasa completa. Por la misma razón, solo está presente un DDIO de tasa media.

La ruta OE opera en los siguientes tres modos fundamentales:

  • Bypass: el núcleo envía datos directamente al elemento de retardo, sin pasar por todos los DDIO.
  • Registro empaquetado: omite DDIO de tasa media.
  • Salida SDR a mitad de tasa: los DDIO de mitad de tasa convierten datos de tasa completa a mitad de tasa.

Nota: El núcleo IP GPIO no admite la calibración dinámica de pines bidireccionales. Para aplicaciones que requieren calibración dinámica de pines bidireccionales, consulte la información relacionada.

Información relacionada

Señales de interfaz IP GPIO Intel FPGA

Dependiendo de la configuración de parámetros que especifique, diferentes señales de interfaz están disponibles para el núcleo IP GPIO.

Figura 7. Interfaces GPIO IP Core

GPIO Intel FPGA IP - Figura 7

Figura 8. Señales de interfaz GPIO

GPIO Intel FPGA IP - Figura 8

Tabla 3. Señales de interfaz de pad

La interfaz del pad es la conexión física desde el núcleo IP GPIO al pad. Esta interfaz puede ser una interfaz de entrada, salida o bidireccional, según la configuración del núcleo IP. En esta tabla, SIZE es el ancho de datos especificado en el editor de parámetros IP core.

Nombre de la señal

Dirección

Descripción

pad_in[TAMAÑO-1:0]

Aporte

Señal de entrada desde el pad.
pad_in_b[TAMAÑO-1:0]

Aporte

Nodo negativo de la señal de entrada diferencial del pad. Este puerto está disponible si enciende el Usar búfer diferencial opción. 
pad_out[TAMAÑO-1:0]

Producción

Señal de salida al pad.
pad_out_b[TAMAÑO-1:0]

Producción

Nodo negativo de la señal de salida diferencial al pad. Este puerto está disponible si enciende el Usar búfer diferencial opción.
pad_io[TAMAÑO-1:0]

Bidireccional

Conexión de señal bidireccional con el pad.
pad_io_b[TAMAÑO-1:0]

Bidireccional

Nodo negativo de la conexión de la señal bidireccional diferencial con el pad. Este puerto está disponible si enciende el Usar búfer diferencial opción.

Tabla 4. Señales de interfaz de datos

La interfaz de datos es una interfaz de entrada o salida desde el núcleo IP GPIO al núcleo FPGA. En esta tabla, SIZE es el ancho de datos especificado en el editor de parámetros IP core.

Nombre de la señal

Dirección

Descripción

DIN[DATA_SIZE-1:0]

Aporte

Entrada de datos desde el núcleo FPGA en modo salida o bidireccional.
DATA_SIZE depende del modo de registro:
  • Omitir o registro simple—DATA_SIZE = SIZE
  • DDIO sin lógica de tasa media: DATA_SIZE = 2 × SIZE
  • DDIO con lógica de tasa media: DATA_SIZE = 4 × SIZE
salida[DATA_SIZE-1:0]

Producción

Salida de datos al núcleo FPGA en modo de entrada o bidireccional,
DATA_SIZE depende del modo de registro:
  • Omitir o registro simple—DATA_SIZE = SIZE
  • DDIO sin lógica de tasa media: DATA_SIZE = 2 × SIZE
  • DDIO con lógica de tasa media: DATA_SIZE = 4 × SIZE
oe[TAMAÑO_OE_1:0]

Aporte

Entrada OE desde el núcleo FPGA en modo de salida con Habilitar puerto de habilitación de salida encendido, o modo bidireccional. OE es alto activo.
Al transmitir datos, configure esta señal en 1. Al recibir datos, configure esta señal en 0. OE_SIZE depende del modo de registro:
  • Omitir o registro simple—DATA_SIZE = SIZE
  • DDIO sin lógica de tasa media: DATA_SIZE = SIZE
  • DDIO con lógica de tasa media: DATA_SIZE = 2 × SIZE

Tabla 5. Señales de interfaz de reloj

La interfaz de reloj es una interfaz de reloj de entrada. Consta de diferentes señales, dependiendo de la configuración. El núcleo IP GPIO puede tener cero, una, dos o cuatro entradas de reloj. Los puertos de reloj aparecen de manera diferente en diferentes configuraciones para reflejar la función real realizada por la señal de reloj.

Nombre de la señal

Dirección

Descripción

ck

Aporte

En las rutas de entrada y salida, este reloj alimenta un registro empaquetado o DDIO si apaga el Lógica de media tasa parámetro.
En modo bidireccional, este reloj es el único reloj para las rutas de entrada y salida si apaga el Relojes de entrada/salida separados parámetro.
ck_fr

Aporte

En las rutas de entrada y salida, estos relojes alimentan los DDIO de tasa completa y tasa media si enciende el Lógica de media tasa parámetro.
En el modo bidireccional, las rutas de entrada y salida usan estos relojes si apaga el Relojes de entrada/salida separados parámetro.

ck_hr

ck_in

Aporte

En modo bidireccional, estos relojes alimentan un registro empaquetado o DDIO en las rutas de entrada y salida si especifica estas dos configuraciones:
  • Apaga el Lógica de media tasa parámetro.
  • Enciende el Relojes de entrada/salida separados parámetro.
ck_out
ck_fr_in

Aporte

En modo bidireccional, estos relojes alimentan un DDIOS de tasa completa y mitad de tasa en las rutas de entrada y salida si especifica ambas configuraciones.
  • Enciende el Lógica de media tasa parámetro.
  • Enciende el Relojes de entrada/salida separados parámetro.

Por ejemploample, ck_fr_out alimenta el DDIO de tasa completa en la ruta de salida.

ck_fr_out
ck_hr_in
ck_hr_out
cke

Aporte

Habilitar reloj.

Tabla 6. Señales de interfaz de terminación

La interfaz de terminación conecta el núcleo IP GPIO a los búferes de E/S.

Nombre de la señal

Dirección

Descripción

control de terminación en serie

Aporte

Entrada del bloque de control de terminación (OCT) a los búferes. Establece el valor de la impedancia en serie del búfer.
control de terminación en paralelo

Aporte

Entrada del bloque de control de terminación (OCT) a los búferes. Establece el valor de la impedancia paralela del buffer.

Tabla 7. Restablecer señales de interfaz

La interfaz de reinicio conecta el núcleo IP GPIO a los DDIO.

Nombre de la señal

Dirección

Descripción

desclr

Aporte

Entrada clara síncrona. No disponible si habilita sset.
aclr

Aporte

Entrada clara asíncrona. Alto activo. No disponible si habilita aset.
un activo

Aporte

Entrada de conjunto asíncrono. Alto activo. No disponible si habilita aclr.
conjunto

Aporte

Entrada de conjunto síncrono. No disponible si habilita sclr.

Información relacionada
Bits altos y bajos del bus de entrada y salida en la página 12

Señales compartidas
  • Las rutas de entrada, salida y OE comparten las mismas señales claras y preestablecidas.
  • La ruta de salida y OE comparte las mismas señales de reloj.
Orden de bits de datos para la interfaz de datos

Figura 9. Convención de orden de bits de datos

Esta figura muestra la convención de orden de bits para las señales de datos din, dout y oe.

GPIO Intel FPGA IP - Figura 9

  • Si el valor del tamaño del bus de datos es SIZE, el LSB está en la posición más a la derecha.
  • Si el valor del tamaño del bus de datos es 2 × SIZE, el bus se compone de dos palabras de SIZE.
  • Si el tamaño del bus de datos tiene un valor de 4 × TAMAÑO, el bus consta de cuatro palabras de TAMAÑO.
  • El LSB está en la posición más a la derecha de cada palabra.
  • La palabra más a la derecha especifica la primera palabra que sale para los buses de salida y la primera palabra que entra para los buses de entrada.

Información relacionada
Ruta de entrada en la página 5

Bits altos y bajos del bus de entrada y salida

Los bits altos y bajos en las señales de entrada o salida se incluyen en los buses de entrada y salida din y dout.

Bus de entrada

Para el bus DIN, si datain_h y datain_l son los bits alto y bajo, siendo cada ancho datain_width:

  • datain_h = din[(2 × datain_width – 1):datain_width]
  • datain_l = din[(ancho_datos – 1):0]

Por ejemploample, para din[7:0] = 8'b11001010:

  • datos en_h = 4'b1100
  • datos en_l = 4'b1010

Bus de salida

Para el bus dout, si dataout_h y dataout_l son los bits alto y bajo, siendo cada ancho dataout_width:

  • salida_datos = duda[(2 × ancho_salidadatos – 1):ancho_salidadatos]
  • salida_datos = duda[(ancho_salidadatos – 1):0]

Por ejemploample, para dout[7:0] = 8'b11001010:

  • salida_datos_h = 4'b1100
  • salida_datos_l = 4'b1010
Señales de interfaz de datos y relojes correspondientes

Tabla 8. Señales de interfaz de datos y relojes correspondientes

Nombre de la señal 

Configuración de parámetros Reloj
Modo de registro Media tarifa

Relojes separados

estruendo
  • Registro sencillo
  • DDIO

Apagado

Apagado

ck
DDIO

On

Apagado

ck_hr
  • Registro sencillo
  • DDIO

Apagado

On

ck_in
DDIO

On

On

ck_hr_in
  • duda
  • oe
  • Registro sencillo
  • DDIO

Apagado

Apagado

ck
DDIO

On

Apagado

ck_hr
  • Registro sencillo
  • DDIO

Apagado

On

ck_out
DDIO

On

On

ck_hr_out
  • desclr
  • conjunto
  • Todas las señales de pad
  • Registro sencillo
  • DDIO

Apagado

Apagado

ck
DDIO

On

Apagado

ck_fr
  • Registro sencillo
  • DDIO

Apagado

On

  • Ruta de entrada: ck_in
  • Ruta de salida: ck_out
DDIO

On

On

  • Ruta de entrada: ck_fr_in
  • Ruta de salida: ck_fr_out
Verificación de la utilización de recursos y el rendimiento del diseño

Puede consultar los informes de compilación de Intel Quartus Prime para obtener detalles sobre el uso de recursos y el rendimiento de su diseño.

  1. En el menú, haga clic en Procesando ➤ Iniciar compilación para ejecutar una compilación completa.
  2. Después de compilar el diseño, haga clic en Procesamiento ➤ Informe de compilación.
  3. Usando el Tabla de contenido, navegar a Instalador ➤ Sección de recursos.
    un. Para view la información de uso de recursos, seleccione Resumen de uso de recursos.
    B. Para view la información de utilización de recursos, seleccione Utilización de recursos por entidad.
Configuración de parámetros IP de GPIO Intel FPGA

Puede establecer la configuración de parámetros para el núcleo IP GPIO en el software Intel Quartus Prime. Hay tres grupos de opciones: General, Buffer, y Registros.

Tabla 9. Parámetros de GPIO IP Core – General

Parámetro

Condición Valores permitidos

Descripción

Dirección de datos

  • Aporte
  • Producción 
  • Bidir
Especifica la dirección de datos para el GPIO.
Ancho de datos

1 a 128 Especifica el ancho de datos.
Usar nombres de puerto de nivel superior heredados

  • On
  • Apagado
Utilice los mismos nombres de puerto que en los dispositivos Stratix V, Arria V y Cyclone V.
Por ejemploample, dout se convierte en dataout_h y dataout_l, y din se convierte en datain_h y datain_l.
Nota: El comportamiento de estos puertos es diferente al de los dispositivos Stratix V, Arria V y Cyclone V. Para conocer las pautas de migración, consulte la información relacionada.

Tabla 10. Parámetros de GPIO IP Core: búfer

Parámetro

Condición Valores permitidos

Descripción

Usar búfer diferencial

  • On 
  • Apagado
Si está activado, habilita los búferes de E/S diferenciales.
Usar búfer pseudo diferencial
  • Dirección de datos = Salida
  • Usar búfer diferencial = Activado 
  • On 
  • Apagado
Si se activa en el modo de salida, habilita los búferes de salida pseudodiferenciales.
Esta opción se activa automáticamente para el modo bidireccional si activa Usar búfer diferencial.
Usar circuitos de retención de bus
  • Dirección de datos = Entrada o Bidir
  • Usar búfer diferencial = Desactivado
  • On 
  • Apagado
Si está activado, el circuito de retención del bus puede retener débilmente la señal en un pin de E/S en su último estado activado, donde el estado del búfer de salida será 1 o 0, pero no de alta impedancia.
Usar salida de drenaje abierto
  • Dirección de datos = Salida o Bidir
  • Usar búfer diferencial = Desactivado
  • On 
  • Apagado
Si está activada, la salida de drenaje abierto permite que el dispositivo proporcione señales de control a nivel del sistema, como señales de interrupción y habilitación de escritura, que pueden ser validadas por múltiples dispositivos en su sistema.
Habilitar puerto de habilitación de salida Dirección de datos = Salida
  • On 
  • Apagado
Si está activado, permite la entrada del usuario al puerto OE. Esta opción se activa automáticamente para el modo bidireccional.
Habilitar puertos de terminación en serie/terminación en paralelo

  • On 
  • Apagado
Si está activado, activa los puertos de control de terminación en serie y de control de terminación en paralelo del búfer de salida.

Tabla 11. Parámetros de GPIO IP Core – Registros

Parámetro Condición Valores permitidos Descripción
Modo de registro

  • Ninguno 
  • registro sencillo 
  • DDIO
Especifica el modo de registro para el núcleo IP GPIO:
  • Ninguno: especifica una conexión de cable simple desde/hacia el búfer.
  • registro sencillo: especifica que el DDIO se usa como un registro simple en el modo de velocidad de datos única (SDR). El Montador podrá embalar este registro en la E/S.
  • DDIO— especifica que el IP Core usa el DDIO.
Habilitar puerto claro/preestablecido síncrono
  • Modo de registro = DDIO
  • Ninguno 
  • Claro 
  • Programar
Especifica cómo implementar el puerto de reinicio síncrono.
  • Ninguno—Deshabilita el puerto de restablecimiento síncrono.
  • Claro—Habilita el puerto SCLR para borrados sincrónicos.
  • Programar—Habilita el puerto SSET para el preajuste síncrono.
Habilitar puerto asíncrono claro/preestablecido
  • Modo de registro = DDIO
  • Ninguno 
  • Claro 
  • Programar
Especifica cómo implementar el puerto de reinicio asíncrono.
  • Ninguno: deshabilita el puerto de reinicio asíncrono.
  • Claro—Habilita el puerto ACLR para borrados asincrónicos.
  • Programar—Habilita el puerto ASET para el preajuste asíncrono.

Las señales ACLR y ASET están activas en alto.

Habilitar puertos de habilitación de reloj Modo de registro = DDIO
  • On 
  • Apagado
  • On: expone el puerto de habilitación de reloj (CKE) para permitirle controlar cuándo se registran la entrada o la salida de los datos. Esta señal evita que los datos pasen sin su control.
  • Apagado—el puerto de habilitación del reloj no está expuesto y los datos siempre pasan a través del registro automáticamente.
Lógica de media tasa Modo de registro = DDIO
  • On 
  • Apagado
Si está activado, habilita DDIO de tasa media.
Relojes de entrada / salida separados
  • Dirección de datos = Bidir 
  • Modo de registro = Registro simple o DDIO
  • On 
  • Apagado
Si está activado, habilita relojes separados (CK_IN y CK_OUT) para las rutas de entrada y salida en modo bidireccional.

Información relacionada

  • Bits altos y bajos del bus de entrada y salida en la página 12
  • Pauta: intercambiar puertos datain_h y datain_l en la IP migrada en la página 23
Registrar Embalaje

El núcleo GPIO IP le permite empaquetar el registro en la periferia para ahorrar espacio y utilización de recursos.

Puede configurar el DDIO de velocidad completa en la ruta de entrada y salida como un flip flop. Para hacerlo, agregue las asignaciones .qsf enumeradas en esta tabla.

Tabla 12. Asignaciones de QSF de empaquetado de registros

Camino

Asignación QSF

Empaquetado del registro de entrada Asignación QSF set_instance_assignment -name FAST_INPUT_REGISTER ON -to
Empaquetado del registro de salida set_instance_assignment -name FAST_OUTPUT_REGISTER ON -to
Paquete de registro de activación de salida set_instance_assignment -name FAST_OUTPUT_ENABLE_REGISTER ON -to

Nota: Estas asignaciones no garantizan el empaquetado de registros. Sin embargo, estas asignaciones permiten al instalador encontrar una ubicación legal. De lo contrario, el instalador mantiene la chancleta en el núcleo.

Temporización IP GPIO Intel FPGA

El rendimiento del núcleo IP GPIO depende de las restricciones de E/S y las fases del reloj. Para validar la temporización de su configuración GPIO, Intel recomienda que utilice el analizador de temporización.

Información relacionada
El analizador de tiempo Intel Quartus Prime

Componentes de tiempo

Los componentes de temporización del núcleo IP de GPIO constan de tres rutas.

  • Rutas de interfaz de E/S: desde la FPGA hasta los dispositivos de recepción externos y desde los dispositivos de transmisión externos hasta la FPGA.
  • Rutas de interfaz central de datos y reloj: desde la E/S hasta el núcleo y desde el núcleo hasta la E/S.
  • Rutas de transferencia: de DDIO de tasa media a tasa completa, y de DDIO de tasa completa a tasa media.

Nota: Timing Analyzer trata la ruta dentro de los bloques DDIO_IN y DDIO_OUT como cajas negras.

Figura 10. Componentes de temporización de ruta de entrada

GPIO Intel FPGA IP - Figura 10

Figura 11. Componentes de temporización de la ruta de salida

GPIO Intel FPGA IP - Figura 11

Figura 12. Componentes de temporización de ruta de habilitación de salida

GPIO Intel FPGA IP - Figura 12

Elementos de retardo

El software Intel Quartus Prime no establece automáticamente elementos de retardo para maximizar la holgura en el análisis de temporización de E/S. Para cerrar el tiempo o maximizar la holgura, configure los elementos de retraso manualmente en la configuración de Intel Quartus Prime file (.qsf).

Tabla 13. Asignaciones de elementos de retardo .qsf

Especifique estas asignaciones en el .qsf para acceder a los elementos de retardo.

Elemento de retardo Asignación .qsf
Elemento de retardo de entrada establecer_instancia_asignación a -nombre INPUT_DELAY_CHAIN ​​<0..63>
Elemento de retardo de salida establecer_instancia_asignación a -nombre SALIDA_DELAY_CHAIN ​​<0..15>
Elemento de retardo de activación de salida establecer_instancia_asignación a -nombre OE_DELAY_CHAIN ​​<0..15>
Análisis de tiempo

El software Intel Quartus Prime no genera automáticamente las restricciones de tiempo SDC para el núcleo IP GPIO. Debe introducir manualmente las restricciones de tiempo.

Siga las pautas de tiempo y examppara asegurarse de que Timing Analyzer analice correctamente la temporización de E/S.

  • Para realizar un análisis de tiempo adecuado para las rutas de la interfaz de E/S, especifique las restricciones de nivel del sistema de los pines de datos contra el pin del reloj del sistema en el .sdc file.
  • Para realizar un análisis de tiempo adecuado para las rutas de la interfaz central, defina esta configuración de reloj en el archivo .sdc file:
    — Reloj a los registros centrales
    — Reloj para los registros de E/S para los modos de registro simple y DDIO

Información relacionada
AN 433: Restricción y análisis de interfaces sincrónicas de fuente
Describe técnicas para restringir y analizar interfaces síncronas de origen.

Registro de entrada de tasa de datos única

Figura 13. Registro de entrada de tasa de datos única

GPIO Intel FPGA IP - Figura 13

Tabla 14. Registro de entrada de velocidad de datos único Comando .sdc ExampLos

Dominio Comando Example Descripción
crear_reloj crear_reloj -nombre sdr_in_clk -período
“100 MHz” sdr_in_clk
Crea una configuración de reloj para el reloj de entrada.
establecer_retraso_de_entrada set_input_delay -reloj sdr_in_clk
0.15 sdr_en_datos
Indica al analizador de temporización que analice la temporización de la E/S de entrada con un retardo de entrada de 0.15 ns.
Registro de entrada DDIO de tasa completa o mitad de tasa

El lado de entrada de los registros de entrada DDIO de tasa completa y tasa media son los mismos. Puede restringir adecuadamente el sistema mediante el uso de un reloj virtual para modelar el transmisor fuera del chip al FPGA.

Figura 14. Registro de entrada DDIO de tasa completa o mitad de tasa

GPIO Intel FPGA IP - Figura 14

Tabla 15. Registro de entrada DDIO de tasa completa o mitad de tasa .sdc Comando ExampLos

Dominio Comando Example Descripción
crear_reloj crear_reloj -nombre reloj_virtual
-período “200 MHz”
crear_reloj -nombre ddio_in_clk
-periodo “200 MHz” ddio_in_clk
Cree una configuración de reloj para el reloj virtual y el reloj DDIO.
establecer_retraso_de_entrada set_input_delay -reloj reloj_virtual
0.25 ddio_in_data
set_input_delay -add_delay
-clock_fall -reloj virtual_clock 0.25
ddio_in_data
Indique al analizador de tiempo que analice el borde de reloj positivo y el borde de reloj negativo de la transferencia. Tenga en cuenta el -add_delay en el segundo comando set_input_delay.
establecer_ruta_falsa establecer_ruta_falsa -fall_from
reloj_virtual -rise_to ddio_in_clk
establecer_ruta_falsa -rise_from
reloj_virtual -fall_to ddio_in_clk
Indique al analizador de tiempo que ignore el flanco de reloj positivo al registro activado por flanco negativo y el flanco de reloj negativo al registro activado por flanco positivo.

Nota: La frecuencia ck_hr debe ser la mitad de la frecuencia ck_fr. Si el PLL de E/S controla los relojes, puede considerar usar el comando derive_pll_clocks .sdc.

Registro de salida de velocidad de datos única

Figura 15. Registro de salida de tasa de datos única

GPIO Intel FPGA IP - Figura 15

Tabla 16. Registro de salida de tasa de datos única Comando .sdc ExampLos

Dominio Comando Example Descripción
crear_reloj y crear_reloj_generado crear_reloj -nombre sdr_out_clk
-período “100 MHz” sdr_out_clk
crear_reloj_generado -fuente
sdr_out_clk -nombre sdr_out_outclk
sdr_out_outclk
Genere el reloj de origen y el reloj de salida para transmitir.
establecer_retraso_de_salida set_output_delay -reloj sdr_out_clk
0.45 sdr_out_data
Indica al analizador de tiempo que analice los datos de salida para transmitir contra el reloj de salida para transmitir.
Registro de salida DDIO de tasa completa o mitad de tasa

El lado de salida de los registros de salida DDIO de tasa completa y tasa media son los mismos.

Tabla 17. Registro de salida DDIO .sdc Comando ExampLos

Dominio Comando Example Descripción
crear_reloj y crear_reloj_generado crear_reloj -nombre ddio_out_fr_clk
-punto “200 MHz” ddio_out_fr_clk
crear_reloj_generado -fuente
ddio_out_fr_clk -nombre
ddio_out_fr_outclk
ddio_out_fr_outclk
Genere los relojes para el DDIO y el reloj para transmitir.
establecer_retraso_de_salida set_output_delay -reloj
ddio_out_fr_outclk 0.55
ddio_out_fr_data
set_output_delay -add_delay
-clock_fall -reloj
ddio_out_fr_outclk 0.55
ddio_out_fr_data
Indique al analizador de tiempo que analice los datos positivos y negativos contra el reloj de salida.
establecer_ruta_falsa establecer_ruta_falsa -rise_from
ddio_out_fr_clk -fall_to
ddio_out_fr_outclk
establecer_ruta_falsa -fall_from
ddio_out_fr_clk -rise_to
ddio_out_fr_outclk
Indicar al analizador de tiempo que ignore el flanco ascendente del reloj de origen contra el flanco descendente del reloj de salida y el flanco descendente del reloj de origen contra el flanco ascendente del reloj de salida
Pautas de cierre de tiempo

Para los registros de entrada GPIO, es probable que la transferencia de E/S de entrada falle en el tiempo de retención si no configura la cadena de retardo de entrada. Esta falla se debe a que el retraso del reloj es mayor que el retraso de los datos.

Para cumplir con el tiempo de espera, agregue demora a la ruta de datos de entrada utilizando la cadena de demora de entrada. En general, la cadena de retardo de entrada es de alrededor de 60 ps por paso en el grado de velocidad 1. Para obtener una configuración de cadena de retardo de entrada aproximada para pasar el tiempo, divida la holgura de retención negativa por 60 ps.

Sin embargo, si el PLL de E/S controla los relojes de los registros de entrada GPIO (registro simple o modo DDIO), puede establecer el modo de compensación en el modo síncrono de fuente. El instalador intentará configurar el PLL de E/S para una mejor configuración y esperará para el análisis de temporización de E/S de entrada.

Para la salida GPIO y los registros de habilitación de salida, puede agregar un retraso a los datos de salida y al reloj usando las cadenas de retraso de salida y habilitación de salida.

  • Si observa una violación del tiempo de configuración, puede aumentar la configuración de la cadena de retardo del reloj de salida.
  • Si observa una violación del tiempo de espera, puede aumentar la configuración de la cadena de retardo de datos de salida.
GPIO Intel FPGA Diseño IP ExampLos

El núcleo GPIO IP puede generar diseño examparchivos que coincidan con su configuración de IP en el editor de parámetros. Puedes usar estos diseños examparchivos como referencias para instanciar el núcleo IP y el comportamiento esperado en las simulaciones.

Puede generar el diseño examparchivos del editor de parámetros del núcleo IP de GPIO. Después de configurar los parámetros que desea, haga clic en Generar ejemploampel diseño. El núcleo IP genera el diseño exampla fuente files en el directorio que especifique.

Figura 16. Fuente Files en el diseño generado Exampdirectorio de archivos

GPIO Intel FPGA IP - Figura 16

Nota: El .qsys files son para uso interno durante el diseño example generación solamente. No puede editar estos .qsys files.

GPIO IP Core sintetizable Intel Quartus Prime Design Example

El diseño sintetizable example es un sistema Platform Designer listo para la compilación que puede incluir en un proyecto Intel Quartus Prime.

Generación y uso de Design Example

Para generar el diseño Intel Quartus Prime sintetizable examparchivo de la fuente files, ejecute el siguiente comando en el diseño exampdirectorio de archivos:

quartus_sh -t make_qii_design.tcl

Para especificar un dispositivo exacto para usar, ejecute el siguiente comando:

quartus_sh -t make_qii_design.tcl [nombre_dispositivo]

El script TCL crea un directorio qii que contiene el proyecto ed_synth.qpf file. Puede abrir y compilar este proyecto en el software Intel Quartus Prime.

Diseño de simulación de núcleo IP GPIO Example

El diseño de simulación example utiliza la configuración de parámetros principales de IP de GPIO para crear la instancia de IP conectada a un controlador de simulación. El controlador genera tráfico aleatorio y verifica internamente la legalidad de los datos salientes.

Usando el diseño example, puede ejecutar una simulación usando un solo comando, dependiendo del simulador que use. La simulación demuestra cómo puede usar el núcleo IP GPIO.

Generación y uso de Design Example

Para generar el diseño de simulación examparchivo de la fuente files para un simulador de Verilog, ejecute el siguiente comando en el diseño exampdirectorio de archivos:

quartus_sh -t make_sim_design.tcl

Para generar el diseño de simulación examparchivo de la fuente files para un simulador VHDL, ejecute el siguiente comando en el diseño exampdirectorio de archivos:

quartus_sh -t make_sim_design.tcl VHDL

El script TCL crea un directorio sim que contiene subdirectorios, uno para cada herramienta de simulación admitida. Puede encontrar los scripts para cada herramienta de simulación en los directorios correspondientes.

Flujo de migración IP para dispositivos Arria V, Cyclone V y Stratix V

El flujo de migración de IP le permite migrar los núcleos IP ALTDDIO_IN, ALTDDIO_OUT, ALTDDIO_BIDIR y ALTIOBUF de los dispositivos Arria V, Cyclone V y Stratix V al núcleo IP GPIO de los dispositivos Intel Arria 10 e Intel Cyclone 10 GX.

Este flujo de migración de IP configura el núcleo IP de GPIO para que coincida con la configuración de los núcleos IP ALTDDIO_IN, ALTDDIO_OUT, ALTDDIO_BIDIR y ALTIOBUF, lo que le permite regenerar el núcleo IP.

Nota: Algunos núcleos de IP admiten el flujo de migración de IP solo en modos específicos. Si su núcleo de IP está en un modo que no es compatible, es posible que deba ejecutar el Editor de parámetros de IP para el núcleo de IP de GPIO y configurar el núcleo de IP manualmente.

Migración de sus núcleos IP ALTDDIO_IN, ALTDDIO_OUT, ALTDDIO_BIDIR y ALTIOBUF

Para migrar sus núcleos IP ALTDDIO_IN, ALTDDIO_OUT, ALTDDIO_BIDIR y ALTIOBUF al núcleo IP GPIO Intel FPGA IP, siga estos pasos:

  1. Abra su núcleo IP ALTDDIO_IN, ALTDDIO_OUT, ALTDDIO_BIDIR o ALTIOBUF en el Editor de parámetros IP.
  2. En el Familia de dispositivos seleccionada actualmente, seleccionar Intel Arria 10 or Intel Cyclone 10 GX.
  3. Hacer clic Finalizar para abrir el Editor de parámetros IP de GPIO.
    El Editor de parámetros de IP configura los ajustes básicos de IP de GPIO de forma similar a los ajustes básicos de ALTDDIO_IN, ALTDDIO_OUT, ALTDDIO_BIDIR o ALTIOBUF.
  4. Si hay alguna configuración incompatible entre los dos, seleccione nueva configuración admitida.
  5. Hacer clic Finalizar para regenerar el núcleo IP.
  6. Reemplace la instanciación del núcleo IP ALTDDIO_IN, ALTDDIO_OUT, ALTDDIO_BIDIR o ALTIOBUF en RTL con el núcleo IP GPIO.

Nota: Es posible que los nombres de los puertos del núcleo IP de GPIO no coincidan con los nombres de los puertos del núcleo IP ALTDDIO_IN, ALTDDIO_OUT, ALTDDIO_BIDIR o ALTIOBUF. Por lo tanto, simplemente cambiar el nombre del núcleo IP en la creación de instancias puede no ser suficiente.

Información relacionada
Bits altos y bajos del bus de entrada y salida en la página 12

Pauta: Intercambiar puertos datain_h y datain_l en IP migrada

Cuando migra su IP de GPIO desde dispositivos anteriores al núcleo de IP de GPIO, puede activar Usar nombres de puerto de nivel superior heredados opción en el editor de parámetros del núcleo IP de GPIO. Sin embargo, el comportamiento de estos puertos en el núcleo IP GPIO es diferente al de los núcleos IP utilizados para los dispositivos Stratix V, Arria V y Cyclone V.

El núcleo IP de GPIO conduce estos puertos a los registros de salida en estos bordes de reloj:

  • datain_h: en el borde ascendente de outclock
  • datain_l—en el borde descendente de outclock

Si migró su IP de GPIO desde dispositivos Stratix V, Arria V y Cyclone V, intercambie los puertos datain_h y datain_l cuando cree una instancia de la IP generada por el núcleo de IP de GPIO.

Información relacionada
Bits altos y bajos del bus de entrada y salida en la página 12

Archivos de la guía del usuario de GPIO Intel FPGA IP

Las versiones de IP son las mismas que las versiones del software Intel Quartus Prime Design Suite hasta v19.1. A partir de la versión 19.2 o posterior del software Intel Quartus Prime Design Suite, los núcleos de IP tienen un nuevo esquema de control de versiones de IP.

Si no se incluye una versión principal de IP, se aplica la guía del usuario para la versión principal de IP anterior.

Versión principal de IP

Guía del usuario

20.0.0 Guía del usuario de GPIO Intel FPGA IP: Dispositivos Intel Arria 10 e Intel Cyclone 10 GX
19.3.0 Guía del usuario de GPIO Intel FPGA IP: Dispositivos Intel Arria 10 e Intel Cyclone 10 GX
19.3.0 Guía del usuario de GPIO Intel FPGA IP: Dispositivos Intel Arria 10 e Intel Cyclone 10 GX
18.1 Guía del usuario de GPIO Intel FPGA IP: Dispositivos Intel Arria 10 e Intel Cyclone 10 GX
18.0 Guía del usuario de GPIO Intel FPGA IP: Dispositivos Intel Arria 10 e Intel Cyclone 10 GX
17.1 Guía del usuario de Intel FPGA GPIO IP Core
17.0 Guía del usuario de Altera GPIO IP Core
16.1 Guía del usuario de Altera GPIO IP Core
16.0 Guía del usuario de Altera GPIO IP Core
14.1 Guía del usuario de la megafunción GPIO de Altera
13.1 Guía del usuario de la megafunción GPIO de Altera
Historial de revisión de documentos para GPIO Intel FPGA IP User Guide: Dispositivos Intel Arria 10 e Intel Cyclone 10 GX

Versión del documento

Versión Intel Quartus Prime Versión IP

Cambios

2021.07.15

21.2

20.0.0

Se actualizó el diagrama que muestra el simplificado view de la ruta de entrada GPIO de terminación única para actualizar dout[0] a dout[3] y dout[3] a dout[0].

2021.03.29

21.1

20.0.0

Se actualizó el número de versión de IP de GPIO a 20.0.0.

2021.03.12

20.4

19.3.0

Se actualizó la guía de migración de IP para especificar que la IP de GPIO maneja datain_h en el borde ascendente y datain_l en el borde descendente.

2019.10.01

19.3

19.3.0

Corregido error tipográfico en los códigos de asignación .qsf en el tema de elementos de retardo.

2019.03.04

18.1

18.1

En los temas sobre la ruta de entrada y las rutas de salida y habilitación de salida:
  • Se corrigieron las notas en los temas para especificar que GPIO Intel FPGA IP no admite la calibración dinámica de pines bidireccionales.
  • Se agregaron enlaces a la Guía del usuario de PHY Lite para interfaces paralelas Intel FPGA IP Core: Dispositivos Intel Stratix 10, Intel Arria 10 e Intel Cyclone 10 GX para obtener más información sobre aplicaciones que requieren calibración dinámica para pines bidireccionales.

2018.08.28

18.0

18.0

  • Se cambió el título del documento de Intel FPGA GPIO IP Core User Guide a GPIO Intel FPGA IP User Guide: Intel Arria 10 and Intel Cyclone 10 GX Devices.
  • Se agregó un enlace a la guía del usuario de Intel Stratix 10 GPIO IP. 
  • Cambió el nombre de la IP de "Intel FPGA GPIO" a "GPIO Intel FPGA IP". 
  • Instancias corregidas de "clk_fr" y "clk_hr" a "ck_fr" y "ck_hr". 
  • Se actualizaron los diagramas de rutas de salida y ruta de entrada IP de GPIO para mostrar los nombres reales de las señales principales de IP.
Fecha Versión Cambios
Noviembre de 2017 2017.11.06
  • Se agregó soporte para dispositivos Intel Cyclone 10 GX.
  • Se actualizaron los nombres de las señales en las cifras para que coincidan con los nombres de las señales en el núcleo IP de GPIO.
  • Se agregó la forma de onda de la ruta de salida.
  • Se cambió el nombre de "Altera GPIO IP core" a "Intel FPGA GPIO IP core".
  • Se cambió el nombre de "Altera IOPLL IP core" a "Intel FPGA IOPLL IP core".
  • Se cambió el nombre de "TimeQuest Timing Analyzer" a "Timing Analyzer".
  • Renombrado "Qsys" a "Diseñador de plataforma".
  • Aclaro que las señales ASET y ACLR están activas en alto.
Mayo de 2017 2017.05.08
  • Se actualizó la tabla que enumera los parámetros del búfer GPIO para especificar las condiciones para el Usar circuitos de retención de bus opción de parámetro.
  • Renombrado como Intel.
2016 de octubre 2016.10.31
  • Se actualizó la forma de onda de la ruta de entrada.
  • Se agregó un tema que describe los bits altos y bajos en los buses din y dout.
Agosto de 2016 2016.08.05
  • Se agregaron notas sobre la compatibilidad con OCT dinámico en el núcleo IP de GPIO.
  • Se actualizó el tema sobre la configuración de parámetros para mejorar la precisión y la claridad.
  • Se actualizó la sección sobre cómo generar el diseño ex.ampel.
  • Se agregó un tema de orientación sobre el comportamiento de los puertos heredados cuando migra al núcleo IP GPIO desde dispositivos Stratix V, Arria V y Cyclone V.
  • Reescribí y reestructuré el documento para mejorar la claridad y facilitar la referencia.
  • Instancias cambiadas de Quartus II a Quartus Prime.
Agosto de 2014 2014.08.18
  • Se agregó información de tiempo.
  • Se agregó información de empaque del registro.
  • Agregado Usar nombres de puerto de nivel superior heredados parámetro. Este es un nuevo parámetro.
  • Se agregó información de empaque del registro.
  • Se reemplazó el término megafunción con IP core.
Noviembre de 2013 2013.11.29 Lanzamiento inicial.

GPIO Intel FPGA IP - Comentarios Enviar comentarios

Guía del usuario de GPIO Intel FPGA IP: Dispositivos Intel Arria 10 e Intel Cyclone 10 GX

Documentos / Recursos

Intel GPIOIntel FPGA IP [pdf] Guía del usuario
GPIO Intel FPGA IP, GPIO, Intel FPGA IP, FPGA IP

Referencias

Deja un comentario

Su dirección de correo electrónico no será publicada. Los campos obligatorios están marcados *