intel-LOGO

Intel AN 903 Peche de temporización acelerada

intel-AN-903-Producto-acelerado-de-peche-temporal

AN 903: Acelerar o peche do tempo en Intel® Quartus® Prime Pro Edition

A densidade e complexidade dos deseños modernos de FPGA, que combinan sistemas integrados, IP e interfaces de alta velocidade, presentan desafíos crecentes para o peche de tempo. Os cambios arquitectónicos tardíos e os desafíos de verificación poden levar a iteracións de deseño que levan moito tempo. Este documento resume tres pasos para acelerar o peche do tempo utilizando unha metodoloxía verificada e repetible no software Intel® Quartus® Prime Pro Edition. Esta metodoloxía inclúe análise e optimización RTL inicial, así como técnicas automatizadas para minimizar o tempo de compilación e reducir a complexidade do deseño e as iteracións necesarias para o peche do tempo.

Pasos de aceleración do peche do tempo

intel-AN-903-Accelerating-Ting-Closure-FIG-1

Pasos de aceleración do peche do tempo

Paso de peche temporal Actividade de peche temporal Información detallada
Paso 1: Analiza e optimiza RTL •    Corrixir as infraccións do asistente de deseño na páxina 4

•    Reducir os niveis lóxicos na páxina 7

•    Reducir as redes de alta ventilación na páxina 9

•    Intel Quartus Prime Pro Edición Guía de Usuario: Deseño Optimización

•    Intel Quartus Prime Pro Edición Guía de Usuario: Deseño Recomendacións

Paso 2: aplicar a optimización do compilador •    Aplicar modos de optimización do compilador e Estratexias na páxina 13

•    Reducir a conxestión para un alto uso na páxina 16

•    Intel Quartus Prime Pro Edición Guía de Usuario: Deseño Compilación

•    Intel Quartus Prime Pro Edición Guía de Usuario: Deseño Optimización

Paso 3: preservar os resultados satisfactorios •    Bloquear reloxos, memorias RAM e DSP na páxina 20

•    Preservar os resultados da partición de deseño na páxina 21

•    Intel Quartus Prime Pro Edición Guía de Usuario: Block- Deseño baseado

•    AN-899: Compilación reducida Tempo con conservación rápida

Paso 1: Analiza e optimiza RTL de deseño

A optimización do código fonte do teu deseño é normalmente a primeira e máis eficaz técnica para mellorar a calidade dos teus resultados. O Intel Quartus Prime Design Assistant axúdache a corrixir rapidamente as infraccións das regras básicas de deseño e recomenda cambios RTL que simplifican a optimización do deseño e o peche do tempo.

Problemas de peche temporal

  • Os niveis lóxicos excesivos inflúen na orde de procesamento de Fitter, na duración e na calidade dos resultados.
  • As redes de gran extensión provocan conxestión de recursos e engaden tensión adicional nas rutas de datos, aumentando innecesariamente a criticidade das rutas e complicando o peche do tempo. Esta tensión é a forza de atracción que tira do camiño (e de todos os camiños que comparten ese sinal de saída de abanico elevado) cara á fonte de saída de abanico alto.

Solucións de peche temporal

  • Corrixir as infraccións do asistente de deseño na páxina 4: para identificar e corrixir rapidamente as infraccións das regras básicas de deseño relevantes para o seu deseño.
  • Reducir os niveis lóxicos na páxina 7: para garantir que todos os elementos do deseño poidan recibir as mesmas optimizacións de Fitter e para reducir os tempos de compilación.
  • Reducir as redes de saída elevadas na páxina 9: para reducir a conxestión de recursos e simplificar o peche do tempo.

Información relacionada

  • "Comprobación de regras de deseño con Design Assistant", Guía de usuario de Intel Quartus Prime Pro Edition: Recomendacións de deseño
  • "Optimizar código fonte", Intel Quartus Prime Pro Edition Guía do usuario: optimización do deseño
  • "Rexistros duplicados para o control de fan-out", Intel Quartus Prime Pro Edition Guía do usuario: optimización do deseño

Corrixir as infraccións do asistente de deseño

A realización da análise inicial do deseño para eliminar os problemas coñecidos de peche de tempo aumenta significativamente a produtividade. Despois de executar unha compilación inicial coa configuración predeterminada, pode volverview o Asistente de deseño informa para a análise inicial. Cando está activado, Design Assistant informa automaticamente de calquera infracción dun conxunto estándar de directrices de deseño recomendadas por Intel FPGA. Podes executar Design Assistant no modo Compilation Flow, o que che permite view as violacións relevantes para a compilación stages ti corres. Alternativamente, Design Assistant está dispoñible no modo de análise no Analizador de tempo e no planificador de chips.

  • Modo de fluxo de compilación—execútase automaticamente durante un ou máis stages de compilación. Neste modo, Design Assistant utiliza datos de entrada (transitorios) durante a compilación.
  • Modo de análise—executa o asistente de deseño de Timing Analyzer e Chip Planner para analizar as infraccións de deseño nunha compilación específica.tage, antes de avanzar no fluxo de compilación. No modo de análise, Design Assistant usa datos de instantáneas de compilación estáticos.

O asistente de deseño designa cada infracción das regras cun dos seguintes niveis de gravidade. Podes especificar que regras queres que o Asistente de deseño verifique no teu deseño e personalizar os niveis de gravidade, eliminando así as comprobacións de regras que non son importantes para o teu deseño.

Niveis de gravidade da regra do asistente de deseño

Categorías Descrición Cor do nivel de gravidade
Crítico Problema de enderezo para a entrega. Vermello
Alto Potencialmente provoca fallos funcionais. Pode indicar datos de deseño que faltan ou son incorrectos. Laranxa
Medio Potencialmente afecta a calidade dos resultados para fMAX ou utilización de recursos. marrón
Baixo A regra reflicte as mellores prácticas para as directrices de codificación RTL. Azul

Asistente de configuración de deseño
Pode personalizar completamente o asistente de deseño para as súas características individuais de deseño e os requisitos de informes. Faga clic en Asignacións ➤ Configuración ➤ Configuración de regras do asistente de deseño para especificar opcións que controlan que regras e parámetros se aplican aos distintos s.tages de compilación de deseño para a comprobación de regras de deseño.

Configuración das regras do asistente de deseñointel-AN-903-Accelerating-Ting-Closure-FIG-2

Asistente de deseño en execución
Cando está activado, o Asistente de deseño execútase automaticamente durante a compilación e informa de infraccións das regras de deseño activadas no Informe de compilación. Como alternativa, pode executar Design Assistant no modo de análise nunha instantánea de compilación específica para centrar a análise só nesatage. Para activar a verificación automatizada de Design Assistant durante a compilación:

  • Activa Habilitar a execución do asistente de deseño durante a compilación na configuración da regra do asistente de deseño. Para executar o Asistente de deseño no modo de análise para validar unha instantánea específica contra as regras de deseño que se apliquen á instantánea:
  • Fai clic en Informar DRC no panel Tarefas do analizador de tempo ou do planificador de chips.

Viewing e corrixir os resultados do asistente de deseño
Os informes de Design Assistant permitiron violacións das regras de deseño nos distintos stages do Informe de Compilación.

Asistente de deseño resulta en informes de síntese, planificación, colocación e finalizaciónintel-AN-903-Accelerating-Ting-Closure-FIG-3

Para view os resultados de cada regra, faga clic na regra na lista Regras. Aparece unha descrición da regra e recomendacións de deseño para a súa corrección.

Recomendación de infracción da norma do asistente de deseño

intel-AN-903-Accelerating-Ting-Closure-FIG-4

Modifica o teu RTL para corrixir as infraccións das regras de deseño.

Reducir os niveis lóxicos

Os niveis lóxicos excesivos poden afectar a calidade dos resultados do Fitter porque a ruta crítica do deseño inflúe na orde e duración do procesamento do Fitter. O Fitter coloca e encamina o deseño baseándose na folga de tempo. O encaixador coloca primeiro os camiños máis longos coa menor soltura. O Fitter xeralmente prioriza as rutas de nivel lóxico máis alto sobre as rutas de nivel lóxico inferior. Normalmente, despois do Montador stage está completo, os camiños críticos restantes non son os camiños de nivel lóxico máis alto. O encaixador dá unha colocación, enrutamento e retempo preferente a unha lóxica de nivel superior. Reducir o nivel lóxico axuda a garantir que todos os elementos do deseño reciban a mesma prioridade de Fitter. Executar informes ➤ Informes personalizados ➤ Informe de temporización no Analizador de temporización para xerar informes que mostren os niveis de lóxica do camiño. Se o camiño falla no tempo e o número de niveis lóxicos é alto, considere engadir canalizacións nesa parte do deseño para mellorar o rendemento.

Informe de profundidade lóxica no camiño

intel-AN-903-Accelerating-Ting-Closure-FIG-5

Informe de profundidade do nivel lóxico
Despois do Plan do Compilador stage, pode executar report_logic_depth na consola Timing Analyzer Tcl para view o número de niveis lóxicos dentro dun dominio de reloxo. report_logic_depth mostra a distribución da profundidade lóxica entre os camiños críticos, o que lle permite identificar áreas onde pode reducir os niveis lóxicos no seu RTL.

profundidade_lóxica_informe -nome_panel -de [get_clocks ] \ -para [obter_reloxos ]

informe_logic_depth Saídaintel-AN-903-Accelerating-Ting-Closure-FIG-6

Para obter datos para optimizar RTL, execute report_logic_depth despois do Plan do compiladortage, antes de correr restantes Montador stages. En caso contrario, os informes post-Fitter tamén inclúen resultados da optimización física (retemporización e resíntese).

Denuncia de camiños veciñais
Despois de executar o Fitter (Finalizar) stage, pode executar report_neighbor_paths para axudar a determinar a causa raíz da ruta crítica (por exemploample, nivel lóxico alto, limitación de retempo, colocación subóptima, cruce de columnas de E/S, fixación de retención ou outros): report_neighbor_paths -to_clock -nvías -nome_panel

report_neighbor_paths informa dos camiños máis críticos para o tempo no deseño, incluíndo a soltura asociada, información adicional de resumo de camiños e caixas de delimitación de camiños.

report_neighbor_paths Saídaintel-AN-903-Accelerating-Ting-Closure-FIG-7

report_neighbor_paths amosa o camiño antes e despois de cada camiño crítico con máis tempo. A retemporalización ou o equilibrio lóxico do camiño pode simplificar o peche do tempo se hai unha folga negativa no Camiño, pero unha folga positiva no Camiño Antes ou despois.

Para activar a retemporalización, asegúrese de que as seguintes opcións estean activadas:

  • Para rexistros: habilite Asignacións ➤ Configuración ➤ Configuración do compilador ➤ Optimización do rexistro ➤ Permitir a retemporización do rexistro
  • Para puntos finales de RAM: habilite Asignacións ➤ Configuración ➤ Configuración do compilador ➤ Configuración do adaptador (avanzado) ➤ Permitir retemporización da RAM
  • Para puntos de conexión DSP: habilite Asignacións ➤ Configuración ➤ Configuración do compilador ➤ Configuración do adaptador (avanzado) ➤ Permitir retemporización de DSP

NOTA

Se se precisa máis equilibrio lóxico, debes modificar manualmente o teu RTL para mover a lóxica da ruta crítica á ruta anterior ou á ruta despois.
Se a saída dun rexistro está conectada á súa entrada, unha ou ambas as rutas veciñas poden ser idénticas á ruta actual. Cando se buscan camiños veciños con peor soltura, considéranse todas as condicións de funcionamento, non só as condicións de funcionamento do propio camiño principal.

Visualización dos niveis lóxicos no mapa tecnolóxico Viewer
O Mapa Tecnolóxico Viewer tamén ofrece representacións esquemáticas, mapeadas pola tecnoloxía, da lista de rede de deseño e pode axudarche a ver que áreas dun deseño poden beneficiarse de reducir o número de niveis lóxicos. Tamén pode investigar a disposición física dun camiño en detalle no Chip Planner. Para localizar unha ruta de tempo nun dos viewers, faga clic co botón dereito nun camiño no informe de temporización, apunte a Localizar camiño e seleccione Localizar no mapa tecnolóxico Viewer.

Reducir as redes de alta ventilación

As redes de gran expansión poden causar conxestión de recursos, polo que complica o peche do tempo. En xeral, o compilador xestiona automaticamente redes de alta distribución relacionadas cos reloxos. O compilador promove automaticamente redes recoñecidas de alta distribución na rede de reloxo global. O compilador fai un maior esforzo de optimización durante os lugares e rutastages, o que resulta nunha beneficiosa duplicación do rexistro. Nos seguintes casos de esquina, tamén pode reducir a conxestión facendo os seguintes cambios manuais no seu RTL de deseño:

Esquinas de esquina de rede de alta ventilación

Característica de deseño Optimización manual de RTL
Redes de gran distribución que chegan a moitas xerarquías ou destinos físicamente afastados Especifique a asignación de duplicate_hierarchy_depth no último rexistro dunha canalización para duplicar manualmente redes de gran distribución entre xerarquías. Especifique a asignación duplicate_register para duplicar rexistros durante a colocación.
Deseños con sinais de control para bloques de memoria DSP ou M20K desde a lóxica combinacional Dirixe o sinal de control á memoria DSP ou M20K desde un rexistro.

Rexistrar duplicacións entre xerarquías
Podes especificar a asignación de duplicate_hierarchy_depth no último rexistro dunha canalización para guiar a creación de duplicación de rexistros e separacións. As seguintes figuras ilustran o impacto da seguinte asignación de duplicate_hierarchy_depth:

set_instance_assignment -name duplicate_xerarchy_depth -to \

Onde:

  • register_name: o último rexistro dunha cadea que se expande a varias xerarquías.
  • level_number: o número de rexistros da cadea que se van duplicar.

Figura 9. Antes da duplicación do rexistro
Establece a asignación duplicate_hierarchy_depth para implementar a duplicación de rexistros entre xerarquías e crea unha árbore de rexistros despois do último rexistro da cadea. Especifica o nome do rexistro e o número de duplicados representados por M no seguinte example. As frechas vermellas mostran as posibles localizacións dos rexistros duplicados.

  • set_instance_assignment –nome DUPLICATE_HIERARCHY_DEPTH –a regZ Mintel-AN-903-Accelerating-Ting-Closure-FIG-8

Duplicación de rexistro = 1
Ao especificar o seguinte nivel único de duplicación de rexistro (M=1), duplícase un rexistro (regZ) nun nivel inferior da xerarquía de deseño:

  • set_instance_assignment –nome DUPLICATE_HIERARCHY_DEPTH –to regZ 1intel-AN-903-Accelerating-Ting-Closure-FIG-9

Duplicación de rexistro = 3
Ao especificar tres niveis de duplicación de rexistros (M=3) duplícase tres rexistros (regZ, regY, regX) abaixo tres, dous e un nivel da xerarquía, respectivamente:

  • set_instance_assignment –nome DUPLICATE_HIERARCHY_DEPTH –to regZ 3intel-AN-903-Accelerating-Ting-Closure-FIG-10

Ao duplicar e empurrar os rexistros cara abaixo nas xerarquías, o deseño mantén o mesmo número de ciclos para todos os destinos, ao tempo que acelera moito o rendemento nestes camiños.

Rexistrar a duplicación durante a colocación
A Figura 12 na páxina 11 mostra un rexistro con gran desnivel a unha zona moi espallada do chip. Ao duplicar este rexistro 50 veces, pode reducir a distancia entre o rexistro e os destinos que, en última instancia, resultan nun rendemento máis rápido do reloxo. Asignar duplicate_register permite ao compilador aproveitar a proximidade física para guiar a colocación de novos rexistros que alimentan un subconxunto de fan-outs.

Figura 12. Rexistrar a duplicación durante a colocaciónintel-AN-903-Accelerating-Ting-Closure-FIG-11

Nota: Para transmitir un sinal a través do chip, use un multistage gasoduto. Aplique a asignación duplicate_register a cada un dos rexistros da canalización. Esta técnica crea unha estrutura en árbore que transmite o sinal a través do chip.

Viewresultados de duplicación
Despois da síntese do deseño, view a duplicación resulta no informe Resumo da duplicación da árbore xerárquica no cartafol Síntese do Informe de compilación. O informe ofrece o seguinte:

  • Información sobre os rexistros que teñen a asignación de duplicate_hierarchy_depth.
  • Razón da lonxitude da cadea que pode usar como punto de partida para mellorar a tarefa.
  • Información sobre os rexistros individuais da cadea que pode utilizar para comprender mellor a estrutura dos duplicados implementados.

O informe de Fitter tamén inclúe unha sección sobre rexistros que teñen a configuración duplicate_register.

Aplicar técnicas de optimización do compilador

Deseños que utilizan unha porcentaxe moi altatagOs recursos do dispositivo FPGA poden causar conxestión de recursos, o que provoca un fMAX máis baixo e un peche de tempo máis complexo. A configuración do modo de optimización do compilador permítelle especificar o foco dos esforzos do compilador durante a síntese. Por example, optimiza a síntese para Area ou Routability ao abordar a conxestión de recursos. Podes probar con combinacións destas mesmas configuracións do modo de optimización no Intel Quartus Prime Design Space Explorer II. Esta configuración e outras técnicas manuais poden axudarche a reducir a conxestión en deseños moi utilizados.

Problema de peche temporal

  • Os deseños cunha utilización moi alta dos recursos do dispositivo complican o peche do tempo.

Solucións de peche temporal

  • Aplicar modos e estratexias de optimización do compilador na páxina 13: especifique o obxectivo principal do modo de optimización para a síntese do deseño.
  • Experimenta coas opcións de área e ruta na páxina 16: aplique coleccións adicionais de opcións de configuración para reducir a conxestión e cumprir os obxectivos de área e rutas.
  • Considere a síntese fractal para deseños intensivos en aritmética na páxina 16: para deseños de alto rendemento e aritmética intensiva, a síntese fractal reduce o uso de recursos do dispositivo mediante a regularización do multiplicador, a retempo e o empaquetado continuo de aritmética.

Información relacionada

  • Capítulo "Peche e optimización do tempo", Guía de usuario de Intel Quartus Prime Pro Edition: Optimización do deseño
  • Guía de usuario de Intel Quartus Prime Pro Edition: compilación de deseño

Aplicar modos e estratexias de optimización do compilador

Use a seguinte información para aplicar os modos de optimización do compilador e as estratexias de compilación Design Space Explorer II (DSE II).

Proba coa configuración do modo de optimización do compilador
Siga estes pasos para probar coa configuración do modo de optimización do compilador:

  1. Cree ou abra un proxecto Intel Quartus Prime.
  2. Para especificar a estratexia de optimización de alto nivel do compilador, faga clic en Asignacións ➤ Configuración ➤ Configuración do compilador. Proba con calquera dos seguintes axustes de modo, como se describe na Táboa 4 na páxina 14.
  3. Para compilar o deseño con esta configuración, fai clic en Iniciar compilación no Panel de control de compilación.
  4. View a compilación resulta no Informe de compilación.
  5. Fai clic en Ferramentas ➤ Analizador de tempo para view os resultados da configuración de optimización sobre o rendemento.

Configuración do modo de optimización do compilador

intel-AN-903-Accelerating-Ting-Closure-FIG-22

Modos de optimización (Páxina de configuración do compilador)

Modo de optimización Descrición
Equilibrado (fluxo normal) O compilador optimiza a síntese para unha implementación equilibrada que respecta as restricións de tempo.
Esforzo de alto rendemento O compilador aumenta o esforzo de optimización do tempo durante a colocación e o enrutamento e permite optimizacións de síntese física relacionadas co tempo (configuracións de optimización por rexistro). Cada optimización adicional pode aumentar o tempo de compilación.
Alto rendemento con máximo esforzo de colocación Activa as mesmas optimizacións do compilador que Esforzo de alto rendemento, cun esforzo adicional de optimización da colocación.
Rendemento superior Activa as mesmas optimizacións do compilador que Esforzo de alto rendemento, e engade máis optimizacións durante a análise e a síntese para maximizar o rendemento do deseño cun potencial aumento da área lóxica. Se a utilización do deseño xa é moi alta, esta opción pode levar a dificultades de axuste, o que tamén pode afectar negativamente á calidade global da optimización.
Rendemento superior con máximo esforzo de colocación Activa as mesmas optimizacións do compilador que Rendemento superior, cun esforzo adicional de optimización da colocación.
Área agresiva O compilador fai un esforzo agresivo para reducir a área do dispositivo necesaria para implementar o deseño a costa potencial do rendemento do deseño.
Alto Esforzo de Rutabilidade de Colocación O compilador fai un gran esforzo para encamiñar o deseño a costa potencial da área de deseño, o rendemento e o tempo de compilación. O compilador dedica tempo adicional a reducir a utilización do enrutamento, o que pode mellorar a enrutabilidade e tamén aforrar enerxía dinámica.
Alto Esforzo de Rutabilidade de Embalaxe O compilador fai un gran esforzo para encamiñar o deseño a costa potencial da área de deseño, o rendemento e o tempo de compilación. O compilador dedica tempo adicional a empaquetar rexistros, o que pode mellorar a enrutabilidade e tamén aforrar enerxía dinámica.
Optimizar Netlist para Routability O compilador implementa modificacións da lista de rede para aumentar a enrutabilidade á posible conta do rendemento.
continuou…
Modo de optimización Descrición
Alto Esforzo de Potencia O compilador fai un gran esforzo para optimizar a síntese para baixa potencia. Alto Esforzo de Potencia aumenta o tempo de execución da síntese.
Poder agresivo Fai un esforzo agresivo para optimizar a síntese para baixa potencia. O compilador reduce aínda máis o uso de enrutamento dos sinais coas taxas de alternancia especificadas ou estimadas máis altas, aforrando potencia dinámica adicional pero afectando potencialmente o rendemento.
Tempo de compilación agresivo Reduce o tempo de compilación necesario para implementar o deseño cun esforzo reducido e menos optimizacións de rendemento. Esta opción tamén desactiva algunhas funcións de informes detallados.

Nota: Acendendo Tempo de compilación agresivo activa a configuración de Intel Quartus Prime File (.qsf) axustes que non poden ser substituídos por outros axustes .qsf.

Deseña estratexias de compilación Space Explorer II
DSE II permítelle atopar a configuración óptima do proxecto para os obxectivos de optimización de recursos, rendemento ou potencia. DSE II permítelle compilar de forma iterativa un deseño utilizando diferentes combinacións predefinidas de opcións e restricións para acadar un obxectivo específico. A continuación, DSE II informa da mellor combinación de configuración para cumprir os seus obxectivos. DSE II tamén pode levar adiantetage de habilidades de paralelización para compilar sementes en varios ordenadores. Os axustes da estratexia de compilación DSE II fan eco da configuración do modo de optimización na Táboa 4 na páxina 14

Design Space Explorer IIintel-AN-903-Accelerating-Ting-Closure-FIG-12

Siga estes pasos para especificar a estratexia de compilación para DSE II:

  1. Para iniciar DSE II (e pechar o software Intel Quartus Prime), faga clic en Ferramentas ➤ Iniciar Design Space Explorer II. DSE II ábrese despois de que se peche o software Intel Quartus Prime.
  2. Na barra de ferramentas DSE II, faga clic na icona Exploración.
  3. Ampliar os puntos de exploración.
  4. Seleccione Exploración de deseño. Activa calquera das estratexias de compilación para executar exploracións de deseño dirixidas a esas estratexias.

Reducir a conxestión para un alto uso

Os deseños que utilizan máis do 80 % dos recursos do dispositivo adoitan presentar máis dificultades para sincronizar o peche. Podes aplicar as seguintes técnicas manuais e automatizadas para reducir aínda máis a conxestión e simplificar o tempo de peche.

  • Experimenta coas opcións de área e de ruta na páxina 16
  • Considere a síntese fractal para deseños intensivos en aritmética na páxina 16

Experimenta coas opcións de área e de ruta

Cando a utilización do dispositivo provoca conxestión de enrutamento, podes probar coa configuración de optimización de área e enrutabilidade para reducir a utilización de recursos e a conxestión do teu deseño. Fai clic en Asignacións ➤ Configuración ➤ Configuración do compilador ➤ Modo de optimización para acceder a esta configuración:

Opcións de área e enrutabilidade

intel-AN-903-Accelerating-Ting-Closure-FIG-13

Considere a síntese fractal para deseños intensivos en aritmética

Para deseños de alto rendemento e aritmética intensiva, pode activar optimizacións automáticas de síntese fractal para mellorar o uso dos recursos do dispositivo. As optimizacións da síntese fractal inclúen a regularización do multiplicador e a retemporalización, así como o empaquetamento aritmético continuo. As optimizacións teñen como obxectivo deseños con gran cantidade de operacións aritméticas de pouca precisión (como sumas e multiplicacións). Podes activar a síntese fractal globalmente ou só para multiplicadores específicos. En condicións ideais, a optimización da síntese fractal pode acadar unha redución de área do 20-45%.

Regularización de multiplicadores e retemporización
A regularización do multiplicador e a retemporalización realizan inferencias de implementacións de multiplicadores suaves altamente optimizadas. O compilador pode aplicar a retemporización cara atrás a dúas ou máis canalizaciónstages se é necesario. Cando activas a síntese fractal, o compilador aplica a regularización do multiplicador e a retemporalización aos multiplicadores asinados e sen asinar.

Figura 16. Retemporización do multiplicadorintel-AN-903-Accelerating-Ting-Closure-FIG-14

NOTA

  • A regularización do multiplicador usa só recursos lóxicos e non usa bloques DSP.
  • A regularización e a retemporalización do multiplicador aplícase aos multiplicadores asinados e sen asinar nos módulos nos que se establece a asignación de QSF FRACTAL_SYNTHESIS.

Empaquetado aritmético continuo
O empaquetado aritmético continuo re-sintetiza as portas aritméticas en bloques lóxicos de tamaño óptimo para encaixar nos LAB Intel FPGA. Esta optimización permite unha utilización de ata o 100% dos recursos de LAB para os bloques aritméticos. Cando activa a síntese fractal, o compilador aplica esta optimización a todas as cadeas de transporte e as portas lóxicas de dúas entradas. Esta optimización pode empaquetar árbores de sumadores, multiplicadores e calquera outra lóxica relacionada coa aritmética.

Empaquetado aritmético continuo

intel-AN-903-Accelerating-Ting-Closure-FIG-15

NOTA

Teña en conta que o empaquetamento aritmético continuo funciona independentemente da regularización do multiplicador. Polo tanto, se estás a usar un multiplicador que non está regularizado (como escribir o teu propio multiplicador), entón o empaquetado aritmético continuo aínda pode funcionar. A optimización da síntese fractal é máis adecuada para deseños con aceleradores de aprendizaxe profunda ou outras funcións de alto rendemento e aritmética intensiva que superan todos os recursos DSP. Habilitar a síntese fractal en todo o proxecto pode provocar un inchazo innecesario en módulos que non son axeitados para optimizacións fractais.

Activar ou desactivar a síntese fractal

Para os dispositivos Intel Stratix® 10 e Intel Agilex™, a optimización da síntese fractal execútase automaticamente para pequenos multiplicadores (calquera declaración A*B en Verilog HDL ou VHDL onde o ancho de bits dos operandos sexa 7 ou menos). Tamén podes desactivar a síntese fractal automática para pequenos multiplicadores para estes dispositivos mediante calquera dos seguintes métodos:

  • En RTL, configure o DSP multstyle, como describe o "Atributo de síntese Multistyle Verilog HDL". Por example: (* multstyle = “dsp” *) módulo foo(…); módulo foo(..) /* síntese multstyle = “dsp” */;
  • No .qsf file, engade como unha asignación do seguinte xeito: set_instance_assignment -name DSP_BLOCK_BLANCING_IMPLEMENTATION \DSP_BLOCKS -to r

Ademais, para os dispositivos Intel Stratix 10, Intel Agilex, Intel Arria® 10 e Intel Cyclone® 10 GX, pode activar a síntese fractal de forma global ou para multiplicadores específicos coa opción GUI de síntese fractal ou a asignación FRACTAL_SYNTHESIS .qsf correspondente:

  • En RTL, use altera_attribute do seguinte xeito: (* altera_attribute = "-name FRACTAL_SYNTHESIS ON" *)
  • No .qsf file, engade como unha asignación do seguinte xeito: set_global_assignment -name FRACTAL_SYNTHESIS ON -entity

Na interface de usuario, siga estes pasos:

  1. Fai clic en Tarefas ➤ Editor de tarefas.
  2. Seleccione Síntese fractal para Nome da asignación, Activado para o Valor, o nome da entidade de uso intensivo de aritmética para a Entidade e un nome de instancia na columna Para. Podes introducir un comodín (*) para que To asigne todas as instancias da entidade.

Figura 18. Asignación de síntese fractal no Editor de tarefas

intel-AN-903-Accelerating-Ting-Closure-FIG-16

Información relacionada

  • Atributo de síntese de Multstyle Verilog HDL
    • En Intel Quartus Prime Help.

Conservar resultados satisfactorios

Podes simplificar o peche do tempo anotando os resultados satisfactorios da compilación para bloquear a colocación de grandes bloques relacionados con reloxos, memorias RAM e DSP. Do mesmo xeito, a técnica de reutilización de bloques de deseño permítelle conservar resultados de compilación satisfactorios para bloques específicos de deseño lóxico de núcleo ou periferia FPGA (lóxica que comprende unha instancia de deseño xerárquico) e despois reutilizar eses bloques en compilacións posteriores. Na reutilización do bloque de deseño, asigna a instancia xerárquica como unha partición de deseño e, a continuación, conserva e exporta a partición despois da compilación exitosa. Preservar e reutilizar resultados satisfactorios permítelle centrar o esforzo e o tempo do compilador só en partes do deseño que non teñen o tempo pechado.

Problema de peche temporal

  • A menos que estea bloqueado, o compilador pode implementar bloques de deseño, reloxos, memorias RAM e DSP de forma diferente de compilación a compilación dependendo de varios factores.

Solucións de peche temporal

  • Bloquear reloxos, memorias RAM e DSP na páxina 20: anote os resultados satisfactorios da compilación para bloquear a colocación de grandes bloques relacionados con reloxos, memorias RAM e DSP.
  • Conservar os resultados da partición de deseño na páxina 21: preserva as particións para bloques que cumpran o tempo e enfoca a optimización nos outros bloques de deseño.

Información relacionada

  • Axuda da caixa de diálogo para anotar as tarefas
  • AN-899: Reducir o tempo de compilación cunha conservación rápida
  • Guía de usuario de Intel Quartus Prime Pro Edition: deseño baseado en bloques

Bloquear reloxos, memorias RAM e DSP

Podes simplificar o peche do tempo anotando os resultados satisfactorios da compilación para bloquear a colocación de grandes bloques relacionados con reloxos, memorias RAM e DSP. Bloquear a colocación de bloques grandes pode producir un fMAX máis alto con menos ruído. Bloquear bloques grandes como RAM e DSP pode ser eficaz porque estes bloques teñen unha conectividade máis pesada que os LAB habituais, o que complica o movemento durante a colocación. Cando unha semente produce bos resultados cunha colocación adecuada de RAM e DSP, pode capturar esa colocación cunha anotación posterior. As compilacións posteriores poden beneficiarse da colocación de RAM e DSP de alta calidade da boa semente. Esta técnica non beneficia significativamente os deseños con moi poucas memorias RAM ou DSP. Faga clic en Asignacións ➤ Asignacións con anotación traseira para copiar as asignacións de recursos do dispositivo da última compilación ao .qsf para usalas na seguinte compilación. Seleccione o tipo de anotación posterior na lista Tipo de anotación posterior.

Cadro de diálogo para anotar as tarefas

intel-AN-903-Accelerating-Ting-Closure-FIG-17

Alternativamente, pode executar a anotación posterior co seguinte executable quartus_cdb. quartus_cdb –back_annotate [–dsp] [–ram] [–clock]

NOTA

  • O executable admite as variables adicionais [–dsp], [–ram] e [–clock] que aínda non admite a caixa de diálogo Asignacións de anotación posterior.

Preservar os resultados da partición de deseño

NOTA

  • Despois de particionar o deseño, podes conservar as particións para bloques que cumpran o tempo e centrar a optimización nos outros bloques de deseño. Ademais, a opción Fast Preserve simplifica a lóxica dunha partición conservada para só a lóxica da interface durante a compilación, reducindo así o tempo de compilación da partición. Fast Preserve só admite a reutilización da partición raíz e os deseños de reconfiguración parcial. Para os deseños con submódulos que son un reto para o peche temporal, pode realizar unha optimización e compilación autónomas da partición do módulo e, a continuación, exportar o módulo tempo pechado para preservar a implementación nas compilacións posteriores.

Preservando os resultados da partición de deseño

intel-AN-903-Accelerating-Ting-Closure-FIG-18

O deseño baseado en bloques require a partición do deseño. A partición do deseño permítelle conservar bloques lóxicos individuais no seu deseño, pero tamén pode introducir unha perda de rendemento potencial debido ao cruce de particións e aos efectos do plano de planta. Debes equilibrar estes factores cando utilizas técnicas de deseño baseadas en bloques. Os seguintes pasos de alto nivel describen o fluxo de conservación de particións para os deseños de reutilización de particións raíz:

  1. Faga clic en Procesamento ➤ Inicio ➤ Iniciar análise e elaboración.
  2. No Navegador de proxectos, faga clic co botón dereito na instancia de deseño pechado por tempo, apunte a Partición de deseño e seleccione un Tipo de partición, tal e como se describe a Configuración da partición de deseño na páxina 23.

Crea particións de deseño

intel-AN-903-Accelerating-Ting-Closure-FIG-19

  1. Defina restricións de planificación do bloqueo lóxico para a partición. Na xanela Deseñar particións, faga clic co botón dereito na partición e, a continuación, prema en Rexión de bloqueo lóxico ➤ Crear nova rexión de bloqueo lóxico. Asegúrese de que a rexión sexa o suficientemente grande como para encerrar toda a lóxica na partición.
  2. Para exportar os resultados da partición despois da compilación, na xanela Deseño de particións, especifique a partición .qdb como Exportación posterior á final. File.

Post Exportación Final File

intel-AN-903-Accelerating-Ting-Closure-FIG-20

  1. Para compilar o deseño e exportar a partición, fai clic en Compilar deseño no panel de compilación.
  2. Abre o proxecto de nivel superior no software Intel Quartus Prime.
  3. Fai clic en Asignacións ➤ Configuración ➤ Configuración do compilador ➤ Compilación incremental. Activa a opción de Conservación rápida.

Opción de conservación rápida

intel-AN-903-Accelerating-Ting-Closure-FIG-21

  1. Fai clic en Aceptar.
  2. Na xanela Deseño de particións, especifique o .qdb exportado como a base de datos de particións File para a partición en cuestión. Este .qdb é agora a fonte desta partición no proxecto. Cando activa a opción Fast Preserve, o compilador reduce a lóxica da partición importada a só a lóxica da interface, reducindo así o tempo de compilación que require a partición.

Configuración da partición de deseño

Configuración da partición de deseño

Opción Descrición
Nome da partición Especifica o nome da partición. Cada nome de partición debe ser único e constar só de caracteres alfanuméricos. O software Intel Quartus Prime crea automaticamente unha "partición_raíz" de nivel superior (|) para cada revisión do proxecto.
Camiño da xerarquía Especifica a ruta da xerarquía da instancia de entidade que asigna á partición. Especifica este valor no Crear unha nova partición caixa de diálogo. A ruta da xerarquía da partición raíz é |.
Tipo Fai dobre clic para especificar un dos seguintes tipos de partición que controlan como o compilador procesa e implementa a partición:
continuou…
Opción Descrición
•    Por defecto—Identifica unha partición estándar. O compilador procesa a partición usando a fonte de deseño asociada files.

•    Reconfigurable—Identifica unha partición reconfigurable nun fluxo de reconfiguración parcial. Especifique o Reconfigurable tipo para preservar os resultados da síntese, ao tempo que permite a reinstalación da partición no fluxo PR.

•    Núcleo reservado—Identifica unha partición nun fluxo de deseño baseado en bloques que se reserva para o desenvolvemento do núcleo por parte dun consumidor que reutiliza a periferia do dispositivo.

Nivel de conservación Especifica un dos seguintes niveis de conservación para a partición:

•    Non definido- Non especifica ningún nivel de conservación. A partición compílase desde a fonte files.

•    sintetizados—a partición compílase usando a instantánea sintetizada.

•    final—a partición compílase usando a instantánea final.

Con Nivel de conservación of sintetizados or final, os cambios no código fonte non aparecen na síntese.

Baleiro Especifica unha partición baleira que o compilador omite. Esta configuración é incompatible co Núcleo reservado e Base de datos de particións File configuración para a mesma partición. O Nivel de conservación debe ser Non definido. Unha partición baleira non pode ter ningunha partición filla.
Base de datos de particións File Especifica unha base de datos de particións File (.qdb) que o compilador usa durante a compilación da partición. Exporta o .qdb para o stage de compilación que quere reutilizar (sintetizada ou final). Asigne o .qdb a unha partición para reutilizar eses resultados noutro contexto.
Revinculación da entidade • PR Flow: especifica a entidade que substitúe á persoa predeterminada en cada revisión de implementación.

• Fluxo de reutilización da partición raíz: especifica a entidade que substitúe a lóxica central reservada no proxecto do consumidor.

Cor Especifica a codificación de cores da partición nas pantallas de Chip Planner e Design Partition Planner.
Exportación posterior á síntese File Exporta automaticamente os resultados da compilación posterior á síntese para a partición ao .qdb que especifique, cada vez que se executa Análise e síntese. Pode exportar automaticamente calquera partición de deseño que non teña unha partición pai conservada, incluída a partición_raíz.
Post Exportación Final File Exporta automaticamente os resultados da compilación post-final para a partición ao .qdb que especifique, cada vez que o s finaltage do Montador corre. Pode exportar automaticamente calquera partición de deseño que non teña unha partición pai conservada, incluída a partición_raíz.

Historial de revisión de documentos AN 903

Este documento ten o seguinte historial de revisións:

Versión do documento Versión Intel Quartus Prime Cambios
2021.02.25 19.3 Substituíuse "tirar" por "tensión". Analizar e optimizar o deseño RTL tema.
2020.03.23 19.3 Erro de sintaxe corrixido no código sample no tema "Bloquear reloxos, memorias RAM e DSP".
2019.12.03 19.3 • Primeiro lanzamento público.

Documentos/Recursos

Intel AN 903 Peche de temporización acelerada [pdfGuía do usuario
AN 903 Peche de temporización acelerada, AN 903, Peche de temporización acelerada, Peche de temporización

Referencias

Deixa un comentario

O teu enderezo de correo electrónico non será publicado. Os campos obrigatorios están marcados *