Intel - logoSoftware de Ambiente de Simulação de Unidade Funcional
Guia do usuário

Sobre este documento

Este documento descreve como simular comoample Accelerator Functional Unit (AFU) usando o Intel
Ambiente de Simulação (ASE) da Unidade Funcional do Acelerador (AFU). Consulte o Guia do usuário do ambiente de simulação (ASE) Intel Accelerator Functional Unit (AFU) para obter detalhes abrangentes sobre os recursos e a arquitetura interna do ASE.
O Ambiente de Simulação (ASE) da Unidade Funcional Intel Accelerator (AFU) é um ambiente de co-simulação de hardware e software para qualquer placa de aceleração Intel FPGA Programmable® (Intel FPGA PAC). Este ambiente de co-simulação de software atualmente suporta os seguintes PACs Intel FPGA: 10 GX FPGA

  • Placa de aceleração programável Intel FPGA D5005
  • Placa de aceleração programável Intel com Intel Arria®
    O ASE fornece um modelo transacional para o protocolo Core Cache Interface (CCI-P) e um modelo de memória para a memória local anexada ao FPGA.
    O ASE também valida a conformidade da Accelerator Functional Unit (AFU) com os seguintes protocolos e APIs:
  • A especificação do protocolo CCI-P
  • O Avalon
    Especificação de interface mapeada em memória (Avalon-MM)
  • O Open Programmable Acceleration Engine (OPAE)®

Tabela 1. Acceleration Stack para CPU Intel Xeon® com FPGAs Glossário

Prazo Abreviação Descrição
Pilha de aceleração Intel para CPU Intel Xeon® com FPGAs Pilha de aceleração Uma coleção de software, firmware e ferramentas que oferece conectividade otimizada para desempenho entre um Intel FPGA e um processador Intel Xeon.
Placa de aceleração programável Intel FPGA (Intel FPGA PAC) PAC Intel FPGA Placa aceleradora PCIe* FPGA.
Contém um FPGA Interface Manager (FIM) que emparelha com um processador Intel Xeon em um barramento PCIe.
Plataforma escalável Intel Xeon com FPGA integrado Plataforma FPGA Integrada Plataforma Intel Xeon plus FPGA com o Intel Xeon e um FPGA em um único pacote e compartilhando um cache coerente de memória via Ultra Path Interconnect (UPI).

Informações relacionadas
Guia do usuário do ambiente de simulação (ASE) da unidade funcional do acelerador Intel (AFU)

Corporação Intel. Todos os direitos reservados. Intel, o logotipo Intel e outras marcas Intel são marcas comerciais da Intel Corporation ou de suas subsidiárias. A Intel garante o desempenho de seus produtos FPGA e semicondutores de acordo com as especificações atuais de acordo com a garantia padrão da Intel, mas se reserva o direito de fazer alterações em quaisquer produtos e serviços a qualquer momento sem aviso prévio. A Intel não assume nenhuma responsabilidade ou obrigação decorrente da aplicação ou uso de qualquer informação, produto ou serviço aqui descrito, exceto conforme expressamente acordado por escrito pela Intel. Os clientes Intel são aconselhados a obter a versão mais recente das especificações do dispositivo antes de confiar em qualquer informação publicada e antes de fazer pedidos de produtos ou serviços.
*Outros nomes e marcas podem ser reivindicados como propriedade de terceiros.
ISO 9001: 2015 registrado

Requisitos do sistema

Aqui estão os requisitos de sistema para o ambiente de simulação (ASE) da unidade funcional do acelerador Intel (AFU):

  • Um sistema operacional Linux de 64 bits. Esta versão validou os seguintes sistemas operacionais:
    — Para Intel FPGA PAC D5005:
  • RHEL 7.6 com Kernel 3.10.0-957
    — Para Intel PAC com Intel Arria 10 GX FPGA:
  • RHEL 7.6 com Kernel 3.10.0-957
  • Ubuntu 18.04 com Kernel 4.15
  • Um dos seguintes simuladores:
    — Synopsys de 64 bits* VCS-MX-2016.06-SP2-1 Simulador RTL
    — Mentor Graphics* Modelsim SE Simulator de 64 bits (versão 10.5c)
    — Simulador QuestaSim de Mentor Graphics de 64 bits (versão 10.5c)
  • Compilador C: GCC 4.7.0 ou superior
  • CMake: versão 2.8.12 ou superior
  • Biblioteca GNU C: versão 2.17 ou superior
  • Python: versão 2.7
  • Software Intel Quartus® Prime Pro Edition versão 19.2 (1)

Configurando o ambiente

Você deve configurar seu ambiente de simulação e instalar o software OPAE antes de executar o ASE.

  1. Defina as seguintes variáveis ​​de ambiente para seu software de simulação:
    • Para VCS:
    $ export VCS_HOME=
    $ exportar PATH=$VCS_HOME/bin:$PATH
    A estrutura do diretório de instalação do VCS é a seguinte:
    Software de Ambiente de Simulação da Unidade Funcional Intel Accelerator - Figura 1Certifique-se de que seu sistema tenha uma licença VCS válida.
    • Para Modelsim SE/QuestaSim:
    $ export MTI_HOME=
    $ exportar PATH=$MTI_HOME/linux_x86_64/:$MTI_HOME/bin/:$PATH
    A estrutura do diretório de instalação do Modelsim/Questa é a seguinte:
    Software de Ambiente de Simulação da Unidade Funcional Intel Accelerator - Figura 2Certifique-se de que seu sistema tenha uma licença válida do Modelsim SE/QuestaSim.
    • Para Intel Quartus Prime Pro Edition:
    $ export QUARTUS_HOME=
    A estrutura do diretório de instalação do Intel Quartus Prime é a seguinte:
    Software de Ambiente de Simulação da Unidade Funcional Intel Accelerator - Figura 3Adicione a variável de ambiente para verificar a licença do Modelsim:
    $ exportação MGLS_LICENSE_FILE=
  2. Exportar:
    $ exportação LM_LICENSE_FILE=
  3.  Extraia o arquivo de tempo de execução file, e instale as bibliotecas e binários da OPAE, incluindo files e bibliotecas ASE, conforme descrito na seção: Instalando o pacote de software OPAE no Guia de início rápido do Intel Acceleration Stack apropriado para seu PAC Intel FPGA.

Seu ambiente deve ser configurado corretamente para configurar e construir uma AFU. Em particular, você deve instalar o Kit de Desenvolvimento de Software (SDK) da OPAE corretamente. Os scripts do SDK do OPAE devem estar no PATH e incluir files e bibliotecas que devem estar disponíveis para o compilador C. Além disso, você deve garantir que a variável de ambiente OPAE_PLATFORM_ROOT esteja configurada. Consulte Instalando o Pacote de Software OPAE para obter mais informações.
Para garantir que o SDK do OPAE e o ASE estejam instalados corretamente, em um shell, confirme se o PATH inclui afu_sim_setup. O afu_sim_setup deve estar no diretório /usr/bin ou em se você construiu o OPAE a partir da fonte files.

Informações relacionadas

  • Guia do usuário do ambiente de simulação (ASE) da unidade funcional do acelerador Intel (AFU)
  • Instalando o pacote de software OPAE
    Para Intel PAC com Intel Arria 10 GX FPGA.
  • Instalando o pacote de software OPAE para Intel FPGA PAC D5005.

Simulando hello_afu no modo cliente-servidor

O ex hello_afuample é um modelo AFU simples que demonstra a interface CCI-P primária. O RTL atende aos requisitos mínimos de um AFU, respondendo a leituras de E/S mapeadas na memória para retornar o cabeçalho de recurso do dispositivo e o UUID do AFU.
Figura 1. Árvore de diretórios hello_afu

Software de Ambiente de Simulação da Unidade Funcional Intel Accelerator - Figura 4

Observação:
Este documento usaample> para se referir a um example design, como hello_afu na figura acima.
O software demonstra os requisitos mínimos para anexar a um FPGA usando o OPAE. O RTL demonstra os requisitos mínimos para satisfazer o driver OPAE e o ex hello_afuampo software.
filelist.txt especifica o files para simulação e síntese RTL.
Para configurar e construir com sucesso os AFU samparquivos, seu ambiente deve ser configurado corretamente, conforme descrito em Configurando o Ambiente.

Informações relacionadas

  • Guia do usuário do ambiente de simulação (ASE) da unidade funcional do acelerador Intel (AFU)
  • Configurando o ambiente na página 5

Desenvolvendo AFUs com o SDK OPAE
No Guia do desenvolvedor da Accelerator Functional Unit (AFU)

4.1. Simulação em modo cliente-servidor

O seguinte example flow apresenta os scripts ASE básicos. Você pode simular todos os examparquivos com o ASE, exceto eth_e2e_e10 e eth_e2e_e40.
A simulação requer dois processos de software: um processo para simulação RTL e um segundo processo para executar o software conectado. Para construir um ambiente de simulação RTL, execute o seguinte em $OPAE_PLATFORM_ROOT/hw/samples/olá_afu:
$ afu_sim_setup –fonte hw/rtl/filelista.txt build_sim
Este comando constrói um ambiente ASE no subdiretório build_sim.
Para construir e executar o simulador:
$ cd build_sim
$ fazer
$ fazer sim
O simulador imprime uma mensagem de que está pronto para simulação. Ele também imprime uma mensagem solicitando que você defina a variável de ambiente ASE_WORKDIR.
Abra outro shell para simulação de software. Você deve certificar-se de definir a variável de ambiente OPAE_PLATFORM_ROOT.
Para compilar e executar o software no novo shell:
$cd$OPAE_PLATFORM_ROOT
$ exportar ASE_WORKDIR=$OPAE_PLATFORM_ROOT/hw/samparquivos/hello_afu/build_sim/work
$ cd $OPAE_PLATFORM_ROOT/hw/samples/olá_afu/sw
$ fazer limpo
$façaUSE_ASE=1
$ ./olá_afu

Observação:
O nome de caminho específico para ASE_WORKDIR pode variar. Use o nome do caminho fornecido pelo prompt do simulador.
O software e o simulador são executados, registram transações e saem.

4.1.1. Registro de simulação Files
O diretório de trabalho de simulação armazena a forma de onda, transações CCI-P e log de simulação files.
Conclua as etapas a seguir para view o banco de dados de forma de onda:

  1. Mude para o diretório no qual você executou o comando make sim.
  2. Tipo:
    $ faz onda
    O comando make wave invoca a forma de onda viewé.

4.1.2. Declarações de projeto
A seguir file e diretórios definem a simulação AFU:

  • $OPAE_PLATFORM_ROOT/hw/samparquivos/ample>/hw/rtl/filelist.txt especifica fontes RTL.
  • <AFU example> é o example como mostrado na figura da árvore de diretórios hello_afu.
  • filelist.txt lista SystemVerilog, VHDL e AFU JavaScript Object Notation (.json) file.
  • O AFU .json descreve as interfaces que o AFU requer. Ele também inclui um UUID para identificar o AFU uma vez baixado para um FPGA.
  • hw/rtl/hello_afu.json define ccip_std_afu como a interface de nível superior definindo afu-top-interface como ccip_std_afu. ccip_std_afu é a interface CCI-P básica, incluindo clocks, reset e estruturas CCI-P TX e RX. ex mais avançadoampos arquivos definem outras opções de interface.
  • O .json file declara o UUID AFU. Um script OPAE gera o UUID. O RTL carrega o UUID de afu_json_info.vh.
  • sw/fazerfile gera afu_json_info.h. O software carrega o UUID de afu_json_info.h.

4.1.3. Solucionando problemas de simulação cliente-servidor
Se o comando afu_sim_setup falhar, confirme que:

  • afu_sim_setup está no seu PATH. afu_sim_setup deve estar em /usr/bin ou em se você construiu o OPAE a partir da fonte files.
  • Você tem o Python versão 2.7 ou superior instalado.

Se você não conseguir construir e executar o simulador, é provável que não tenha instalado sua ferramenta de simulação RTL corretamente.
Ao tentar compilar e executar o software, se você vir uma mensagem “Erro ao enumerar AFCs”, você omitiu a configuração USE_ASE=1 na linha de comando make. O software está procurando um dispositivo FPGA físico. Para recuperar, repita as etapas do comando make clean.

AFU Exampos

Tabela 2.
AFU Exampos
Cada ex AFUample inclui um README detalhado file, fornecendo uma descrição operacional e notas sobre como simular o projeto. Para uma compreensão completa do processo de simulação, review o README file em cada ex AFUampeu.

AFU Descrição
olá_mem_afu hello_mem_afu demonstra um AFU que cria uma máquina de estado simples para acessar a memória. A máquina de estado é capaz de vários padrões de acesso à memória local diretamente conectada aos pinos do FPGA, como DIMMs DDR4. Essa memória é distinta da memória do host acessada pelo CCI-P. O host gerencia a máquina de estado do controlador hello_mem_afu usando solicitações de E/S mapeada em memória (MMIO) para controlar e registradores de status (CSRs).
olá_intr_afu hello_intr_afu demonstra o recurso de interrupção do aplicativo no ASE.
DMA e f1.1 (2) _ dma_afu demonstra um DMA Basic Building Block para transferências de memória de host para FPGA, FPGA para host e FPGA para FPGA. Ao simular este AFU, o tamanho do buffer usado para transferência de DMA é pequeno para manter o tempo de simulação razoável. Para obter mais informações, consulte o Guia do Usuário da Unidade Funcional do Acelerador DMA (AFU).
nlb_mode_O nlb_mode_O é um sistema CCI-P demonstrando o teste de cópia de memória. $0PAE_PLATFORM_ROOT/sw/opae—cre/ease number>/sample/hello_fpga . c inclui nlb_mode_0.
$ sh regress.sh -a -r rtl_sim
-s < vcslmodelsimlquesta > [-i )
-b
streaming_dma streaming_dma demonstra como transferir dados entre a memória do host e uma porta de streaming FPGA. Para obter mais informações, consulte o Guia do Usuário da Unidade Funcional do Acelerador de DMA de Transmissão (AFU).
olá_afu hel lo_a fu é um AFU simples que demonstra a interface CCI-P primária. O RTL atende aos requisitos mínimos de um AFU, respondendo às leituras MMIO para retornar o cabeçalho de recurso do dispositivo e o UUID do AFU.

Informações relacionadas

  • Guia do Usuário da Unidade Funcional do Acelerador DMA (AFU)
    Para obter informações sobre como compilar e executar o dma_afu em seu Intel PAC com Intel Arria 10 GX FPGA.
  • Guia do usuário da unidade funcional do acelerador de DMA de streaming (AFU)
    Para obter informações sobre como compilar e executar o streaming_dma_afu em seu Intel PAC com Intel Arria 10 GX FPGA.
  • Guia do usuário da unidade funcional do acelerador DMA: Intel FPGA Programmable Acceleration Card D5005
    Para obter informações sobre como compilar e executar o dma_afu em seu Intel FPGA PAC D5005.
  • Guia do usuário da unidade funcional do acelerador de DMA de streaming: Intel FPGA Programmable Acceleration Card D5005
    Para obter informações sobre como compilar e executar o dma_afu em seu Intel FPGA PAC D5005.

Solução de problemas

Se o seguinte erro aparecer durante a simulação, corrija-o seguindo as etapas abaixo.
Mensagem de erro
# [SIM] Uma instância ASE provavelmente ainda está em execução no diretório atual!
# [SIM] Verifique o PID 28816
# [SIM] A simulação será encerrada… você pode usar um SIGKILL para encerrar o processo de simulação.
# [SIM] Verifique também se .ase_ready.pid file é removido antes de prosseguir. Solução

  1. Digite kill ase_simv para matar os processos de simulação de zumbis e remover qualquer temporário files deixados para trás por processos de simulação falhos ou travamentos.
  2. Exclua o .ase_ready.pid file, localizado no diretório $ASE_WORKDIR.

Arquivos do Guia do Usuário de Inicialização Rápida do ASE

Versão da pilha de aceleração Intel Guia do usuário
2.0 Guia de início rápido do usuário do ambiente de simulação (ASE) do Intel Accelerator Functional Unit (AFU)
1. Guia de início rápido do usuário do ambiente de simulação (ASE) do Intel Accelerator Functional Unit (AFU)
1. Guia de início rápido do usuário do ambiente de simulação (ASE) do Intel Accelerator Functional Unit (AFU)
1.0 Guia de início rápido do usuário do ambiente de simulação (ASE) do Intel Accelerator Functional Unit (AFU)

Guia do usuário de início rápido do histórico de revisão do documento para ASE

Versão do documento Versão da pilha de aceleração Intel Mudanças
2020.03.06 1.2.1 e 2.0.1 Atualizado o seguinte:
• Requisitos do sistema
2019.08.05 2.0 • Atualizada a versão do Intel Quartus Prime Pro Edition em Requisitos do sistema.
• Adicionado o hello_afu no AFU Examples.
• Removidas informações sobre simulação em modo de regressão.
• Adicionada uma nova seção: Arquivos do Guia do Usuário do ASE Quick Start.
2018.12.04 1. Adicionado suporte ao Ubuntu.
2018.08.06 1. Atualizado os requisitos do sistema, estrutura de diretórios e filenomes.
2018.04.10 1.0 Lançamento inicial.

683200 | 2020.03.06
Hub de Link TCL HH42CV1 - ícone 8Enviar feedback

Documentos / Recursos

Software de Ambiente de Simulação de Unidade Funcional Intel Accelerator [pdf] Guia do Usuário
Unidade Funcional do Acelerador, Software do Ambiente de Simulação, Ambiente de Simulação da Unidade Funcional do Acelerador, Software, Software do Ambiente de Simulação da Unidade Funcional do Acelerador

Referências

Deixe um comentário

Seu endereço de e-mail não será publicado. Os campos obrigatórios estão marcados *