43
PlanAhead Software Tutorial Visão geral do fluxo de reconfiguração parcial Índice analítico PlanAhead Software Tutorial: Visão geral do fluxo de reconfiguração parcial Introdução Este tutorial demonstra como criar um simples reconfiguração parcial (PR) projeto de síntese de HDL através da geração de arquivo BIT e download. Ferramentas Xilinx ® software são usadas para implementar e analisar o projeto através do software PlanAheadTM. Outras ferramentas, tais como NÚCLEO GeneratorTM e ChipScopeTM Pro, pode ser usado com um desenho de reconfiguração parcial, mas não são descritos neste tutorial. Para beneficiar deste tutorial você precisa ter conhecimento

PlanAhead Software Tutorial

Embed Size (px)

Citation preview

PlanAhead Software TutorialVisão geral do fluxo de reconfiguração parcial

Índice analítico

PlanAhead Software Tutorial: Visão geral do fluxo de reconfiguração parcial

Introdução

Este tutorial demonstra como criar um simples reconfiguração parcial (PR) projeto de síntese de HDL através da geração de arquivo BIT e download. Ferramentas Xilinx ® software são usadas para implementar e analisar o projeto através do software PlanAheadTM. Outras ferramentas, tais como NÚCLEO GeneratorTM e ChipScopeTM Pro, pode ser usado com um desenho de reconfiguração parcial, mas não são descritos neste tutorial. Para beneficiar deste tutorial você precisa ter conhecimento de reconfiguração parcial, bem como experiência na implementação de um projeto de FPGA com software Xilinx. Mais informações sobre a reconfiguração parcial está disponível no Guia de reconfiguração parcial usuário (UG702) citados no Anexo A, Recursos adicionais.

Nota: Este tutorial abrange um subconjunto dos recursos contidos no produto de software empacotado com PlanAhead ISE Design Suite ®. Os recursos adicionais

são abordados em detalhes em outros tutoriais. Veja o link Tutoriais PlanAhead no Apêndice A, Recursos adicionais.

Objetivos Tutorial

Depois de concluir este tutorial, você será capaz de criar, executar e gerenciar um projeto PR através do software PlanAhead. Especificamente, você vai saber como criar partições reconfiguráveis, adicionar módulos reconfiguráveis, definir faixas pBlock para as partições reconfiguráveis, executar verificações PR-específicas da RDC, criar e implementar configurações, verifique a configuração, e gerar arquivos BIT necessária para a reconfiguração parcial em hardware.

Primeiros passos

Requisitos de Software

O software é instalado com PlanAhead ISE ® Design Suite software. Antes de iniciar o tutorial, certifique-se de que o software PlanAhead é operacional, e que os dados de design tutorial está instalado.

Para instruções de instalação e informações, consulte o Suite Design ISE: Instalação e Guia de Licenciamento (UG798) citados no Anexo A, Recursos adicionais.

Você deve obter uma licença FlexLM para reconfiguração parcial para acessar os recursos reconfiguração parcial. Contacte o Xilinx Campo Engenheiro de Aplicações para obter uma licença de 30 dias, ou acesse o site da Xilinx em: http://www.xilinx.com/getproduct. Opcionalmente, uma placa ML605 e um cabo de transferência USB para testar em hardware pode ser usado.

Requisitos de hardware

Xilinx recomenda um mínimo de 2 GB de RAM ao utilizar o software PlanAhead em dispositivos maiores. Apesar de 1 GB é suficiente, pode afetar o desempenho.

Localizando arquivos de projeto Tutorial

Este tutorial usa um design de referência, UG743_design_files.zip, que deve ser descompactado em um diretório de escrita acessível em sua máquina. Você pode baixar uma cópia do projeto de referência de http://www.xilinx.com/support/documentation/ dt_planahead_planahead13-2_tutorials.htm.

O diretório de dados descompactado é referido neste tutorial como <Extract_Dir>.

O tutorial de dados de projeto de amostra é modificado durante a execução deste tutorial. Uma nova cópia do os dados originais é necessária cada vez que você executar o tutorial.

Este tutorial inclui um arquivo de projeto que já foi implementado. Para reduzir o tamanho dos dados, alguns arquivos de implementação foram retirados do projeto, deixando apenas os dados necessários resultados nos diretórios de execução.

Design Descrição Tutorial

O projeto de FPGA neste tutorial é voltado para o protótipo de placa Xilinx ML605 descrito no http://www.xilinx.com/ml605. O projeto tem como alvo um dispositivo Virtex ® -6 xc6vlx240tff1156-1. O dispositivo FPGA impulsiona os LEDs em sequências particulares, dependendo dos módulos reconfiguráveis carregados. O projeto contém duas partições reconfiguráveis, uma com bloqueio incorporado RAM e outro com embutidos de I/O buffers. A reconfiguração do módulo RAM bloco com dados diferentes de RAM do bloco irá alterar a sequência dos oito LED GPIO LEDs. Reconfigurar o módulo de E/S com transições diferentes de máquinas de estado muda a direção que os quatro LEDs de rotação, no sentido horário ou anti-horário.

Visão geral do software tutorial

Fluxo de ferramentas de software

Reconfiguração parcial utiliza uma abordagem de síntese de baixo para cima com a de cima para baixo metodologia de implementação. Neste tutorial, você vai usar a Tecnologia de Xilinx Synthesis (XST) para sintetizar o design e o software PlanAhead para implementar o projeto. Outras ferramentas e metodologias

podem ser utilizadas para implementar com sucesso um projeto de reconfiguração parcial.

Diretório do Projeto de Estrutura de Projeto e HDL

Uma caixa preta e bottom-up abordagem de síntese é necessária para estruturar e sintetizar corretamente um projeto de FPGA parcialmente reconfigurável. Cada módulo reconfigurável (RM) é sintetizado como um projeto individual gerando sua própria netlist. O design de nível superior instancia a RMS como caixas pretas para que os netlists RM não estão incluídos no netlist de nível superior.

A estrutura de diretórios do projeto tutorial é:

Como cada RM é sintetizado de forma independente, há um diretório para o módulo de nível superior, bem como cada um dentro do RM Fonte / e diretórios Synth / implementação.

Implementation Top (top level and all static logic) BramFirst (first version of the BRAM RM) BramSecond (second version of the BRAM RM) CountCW (ClockWise version of the counter) CountCCW (CounterClockWise version of the counter)

Abra o arquivo de origem de nível superior, <Extract_Dir> / Fonte / Top / Top.v. Observe que os dois módulos reconfiguráveis neste projeto, recon_block_bram e recon_block_count, são declarados como caixas-pretas do HDL - não descrições HDL subjacentes são fornecidas para estes blocos.

Passos Tutorial

Este tutorial tem os seguintes passos:Passo 1: Sintetizando netlists de Fonte HDL (Opcional)Passo 2: Criando um projetoPasso 3: Criando Partições reconfiguráveis e Adicionando módulos reconfiguráveis Passo 4: Adicionando módulos reconfiguráveis adicionaisPasso 5: Adicionando módulos Black Box (Opcional)Passo 6: Divisórias reconfiguráveis floorplanningPasso 7: Pins partição e RP de temporização de InterfacePasso 8: Running parciais de reconfiguração Verifica regra de designPasso 9: Implementar e promover uma configuraçãoPasso 10: Criando e Implementando Configurações adicionaisPasso 11: Configurações de VerificaçãoPasso 12: Geração e download de arquivos BIT

Passo 1: Sintetizando netlists de Fonte HDL (Opcional)

O software PlanAhead não suporta projetos de HDL para o fluxo de reconfiguração parcial. Isto significa que a concepção tem de ser sintetizado usando XST antes de criar um projeto PlanAhead. Nos arquivos fornecidos com o tutorial, XST já foi executado e os NGCs fornecidos podem ser usados. Para tirar proveito disso e usar os arquivos NGC, pule para a Etapa 2: Criando um projeto.

Os arquivos de projeto XST são:• <Extract_Dir> / Synth / Top / Top.xst• <Extract_Dir> / Synth / Top / Top.prj

Em Top.xst, aviso automático de que I/O buffer de inserção é ligado, o que é o padrão.

-IOBUF SIM

Este atributo deve ser definido como NO nos arquivos de projeto XST para todos os módulos reconfiguráveis (RMS). De nível mais baixo não pode ter módulos I/O buffers inseridos, exceto em circunstâncias especiais que serão descritas mais adiante e ilustrado na partição U2_RP_Count reconfigurável.

Executando os scripts Tcl no <Extract_Dir> / Directory Ferramentas para sintetizar todos os módulos

1. Execute o seguinte comando a partir do diretório <Extract_Dir> / Implementação.                       tclsh .. / Ferramentas / xpartition.tcl .. / Ferramentas / data_synth.tcl

Este script chama XST para sintetizar os arquivos Verilog nos diretórios de origem.

• Os módulos do <Extract_Dir> Fonte / / Bram RAM bloco * tem no RM.• Os módulos do <Extract_Dir> Fonte / / * A contagem tem de I / O buffers na RM. Os arquivos NGC netlist gerado por XST são armazenados na <Extract_Dir> / Synth /<module> diretórios.

Nota: Ou, se você preferir usar Synplify Pro, modificar o arquivo antes de executar o data_synth.tcl acima como se segue:

                       SYNTH_TOOL "synplify_pro" \

Os arquivos de projeto Synplify Pro previstos nos diretórios <Extract_Dir> Synth / / <module> são usados quando esta opção está definida.

Passo 2: Criando um projeto

Iniciando o Software PlanAhead e Criando um novo projeto

1. Abra o software PlanAhead• No Windows, selecione a Xilinx PlanAhead ícone desktop ou Iniciar> Programas>Xilinx ISE Design Suite 13> PlanAhead> PlanAhead.• No Linux, altere o diretório para <Extract_Dir> / PlanAhead, e entrar planAhead.

O PlanAhead Introdução Ajuda abre a página.

2. Selecione o link Criar Novo projeto.O Criar um novo projeto PlanAhead caixa de diálogo de confirmação.

3. Clique em Avançar.O Projeto caixa de diálogo Nome abre.

4. Defina o nome do projeto e localização do projeto e clique em Avançar.

5. Selecione Especificar sintetizado netlist (EDIF ou NGC), verifique a caixa de Projecto PR, e clique em Avançar (Figura 3).

6. Procure o arquivo de netlist no Top <Extract_Dir> / Synth / Top / Top.ngc. Clique em Abrir e clique em Avançar. Não defina os diretórios netlist opcionais.

Nota: The optional netlist directories should only be usedinaPRprojectiftherearelower nível netlists associados com a lógica estática. De nível inferior netlists associados com módulos reconfiguráveis (RMs) são adicionados posteriormente.

7. Na página Arquivos de restrição, clique em Adicionar arquivos e navegue até o arquivo de restrições seguinte usuário (UCF):   <Extract_Dir> / Source/UCF/top_ml605.ucf

8. Clique em OK e, em seguida, clique em Avançar.

9. O assistente Parte Padrão varre o netlist e pega a parte apropriada.Verifique se o dispositivo selecionado é xc6vlx240tff1156-1, e clique em Avançar.

10. On the New Project Summary page, verify the Project settings are as shown inFigura 4, e clique em Concluir.

Passo 3: Criando Partições reconfiguráveis e Adicionando módulos reconfiguráveis

Criação de uma partição Reconfigurável (RP) para U1_RP_Bram

1. No Navegador de Fluxo, selecione Design Netlist para carregar o Netlist na memória.A mensagem sobre casos indefinidos abre porque você não atribuiu qualquernetlists para os módulos reconfiguráveis (RMs) ainda.2. Clique em OK

Nota: Muitas das janelas e ferramentas descritas neste tutorial estão disponíveis somente quando o projeto Netlist está aberta. Se você fechar o Design Netlist, ou se você fechar e reabrir o projeto, clique em Design Netlist no Navegador de fluxo para abrir o Design Netlist.

3. Na janela Netlist, selecione U1_RP_Bram, botão direito do mouse e selecione Definir partição. Isso inicia o assistente partição do conjunto.

4. Clique em Avançar na primeira tela do assistente, e selecione uma partição reconfigurável se já não estiver selecionado. Clique em Avançar.

5. Nomeie o Reconfigurável Módulo BramFirst, selecione Netlist já disponível se não estiver selecionado e clique em Avançar.

6. Para o arquivo de netlist Top, procurar e selecionar <Extract_Dir> / Synth / BramFirst / recon_block_bram.ngc.

7. Clique em Abrir e clique em Avançar.Nota: diretórios netlist opcionais podem ser adicionados aqui se o RM tem menor nível netlists associada com ele. Neste caso, não há nenhuma.

8. Clique em Avançar novamente para ignorar a tela opcional restrição arquivos.Isto é onde os arquivos de nível de módulo de restrição pode ser adicionado. Neste caso, não há nenhuma.

9. Verifique se o Resumo partição do conjunto e clique em Finish para concluir o assistente.

Neste ponto, uma partição Reconfigurável foi criado para U1_RP_Bram. O ícone na janela Netlist mudou desde a significando isto, e não é um módulo de reconfiguração mostrado sob U1_RP_Bram (Figura 7). Esta instância é agora mostrado como um pBlock na janela de restrições físicas.

Criando um RP para U2_RP_Count

1. Selecione U2_RP_Count, botão direito do mouse e selecione Definir partição.

2. Clique em Sim para salvar o projeto Netlist antes de definir a partição reconfigurável.

3. Concluir o assistente de partição do conjunto, definindo o seguinte:• Select é uma partição reconfigurável se já não estiver definido.• O nome do CountCW módulo reconfigurável.• Selecione Netlist já disponíveis para este módulo reconfigurável se já não estiver definido.• Conjunto de arquivo netlist cima para <Extract_Dir> / Synth / CountCW / recon_block_count.ngc.

Existe agora um RM para cada RP neste projeto. O passo seguinte descrevem como adicionar MRs adicionais para uma RP.

Passo 4: Adicionando módulos reconfiguráveis adicionais

Adicionando um módulo reconfigurável (RM) para RP U1_RP_Bram

1. Na janela Netlist, selecione U1_RP_Bram, botão direito do mouse e selecione Adicionar módulo reconfigurável. Isso inicia o assistente Adicionar módulo reconfigurável.

2. Clique em Avançar na página de introdução do assistente.

3. Nomeie o BramSecond novo módulo reconfigurável, selecione netlist já disponíveis para este módulo reconfigurável se já não estiver selecionado e clique em Avançar.

4. Defina o arquivo de netlist Top navegando até <Extract_Dir> Synth / / BramSecond recon_block_bram.ngc / e clique em Abrir.

5. Novamente, não há netlists de nível inferior para adicionar os diretórios Netlist opção, então clique em Next para continuar.

6. Clique em Avançar para ignorar o módulo opcional de nível tela de arquivo restrições.

7. Verifique a página Resumo Adicionar Reconfigurável Módulo e clique em Finish para concluir o assistente.

Adicionando uma RM para U2_RP_Count

1. Selecione U2_RP_Count, botão direito do mouse e selecione Adicionar módulo reconfigurável.

2. Conclua o assistente Adicionar módulo reconfigurável, definindo o seguinte:• Nome do novo módulo reconfigurável CountCCW.• Netlist Select já disponíveis para este módulo reconfigurável se não jáseleccionado.• Conjunto de arquivo netlist cima para <Extract_Dir> / Synth / CountCCW / recon_block_count.ngc.

Neste ponto, um módulo adicional Reconfigurable (RM), foi adicionado a cada partição Reconfigurable (RP), e a janela de netlist deve ser semelhante à da Figura 9. Você vai notar que em cada RP há redes e Primitivas listados. Estas redes e primitivos são específicas para o RM que está actualmente activa, e são representadas pelo diamante amarelo com uma marca de verificação. Na Figura 9 os módulos activos e são BramSecond CountCCW. Para alterar a RM ativo para outro, selecione uma RM, botão direito do mouse e selecione Definir como Módulo Reconfigurável Ativa.

Tome um momento para explorar os primitivos associados ao RMs diferentes. Há um RAMB36 para o RMS associado U1_RP_Bram, e sob a pasta Primitivas de CountCW / CountCCW você vai ver lógica Slice (LUT, XORY, e FDR) e primitivas mais importante OBUF. As primitivas OBUF são especialmente importantes porque eles terão de ser incluídas no grupo de área de RP Gama no Passo 6: Reconfigurable Floorplanning Partições.

Passo 5: Adicionando módulos Black Box (Opcional)

Este passo é opcional porque os módulos de caixa preta não são necessários para todos os projetos de reconfiguração parcial. O objetivo da criação de um módulo de caixa preta é gerar um ficheiro de BIT "vazio" no passo BitGen. Para mais informações sobre os usos para este arquivo BIT, consulte o Guia de reconfiguração parcial usuário (UG702) citados no Anexo A, Recursos adicionais.

Adicionar um módulo de caixa preta para U1_RP_Bram

1. Na janela Netlist, verifique se BramFirst e CountCW são os módulos ativos (indicado por uma marca de seleção ao lado do nome do módulo). Se eles não são os módulos ativos, U1_RP_Bram seleção, botão direito do mouse e selecione Adicionar módulo reconfigurável. O Add Reconfigurável Módulo assistente se abre.

2. Clique em Avançar na página de introdução do assistente.

3. Nome do novo módulo reconfigurável BramBB, selecione Adicionar esta Reconfigurável módulo como uma caixa preta sem um netlist, e clique em Avançar.

Porque não haverá nenhuma restrição ou arquivo netlist associado com um módulo de caixa preta, o assistente não solicita para qualquer dessas informações.

4. Verifique a página Resumo Adicionar Reconfigurável Módulo e clique em Finish para concluir o assistente.

Adicionar um módulo de caixa preta para U2_RP_Count

1. Na janela Netlist, selecione U1_RP_Bram, botão direito do mouse e selecione Adicionar módulo reconfigurável. O Add Reconfigurável Módulo assistente se abre.

2. Conclua o assistente Adicionar módulo reconfigurável, definindo o seguinte:• Defina Reconfigurável nome do módulo para CountBB.• Selecione Adicionar este módulo reconfigurável como uma caixa preta sem netlist.

Se completado este passo opcional, um módulo de caixa preta exibe sob cada partição Reconfigurable (RP) na janela netlist como mostrado na Figura 10, na página 18. Não há mais qualquer rede ou primitivos listados para o RM. Isto porque o RM caixa preta está ativo no momento, e não há nenhuma lógica ou redes associados a este módulo.

Passo 6: Divisórias reconfiguráveis floorplanning

Cada partição Reconfigurável (RP) deve ter restrições AREA_GROUP (AG) Intervalo para designar que os recursos físicos são parte do que a RP. Neste exemplo, as partições são reconfiguráveis U1_RP_Bram e U2_RP_Count.

Todos os recursos físicos não fazem parte da restrição Faixa AG associado com um RP são parte da lógica estática. Lógica estática não é afetado pela reconfiguração parcial e permanece operacional durante o processo de reconfiguração. As restrições Faixa AG não deve ser criado até o RP foi criado com o comando partição do conjunto, conforme descrito na Etapa 3: Criando Partições reconfiguráveis e Adicionando módulos reconfiguráveis.

Criando o Gama AREA_GROUP para pblock_U1_RP_Bram

1. Na janela Netlist, verifique se BramFirst e CountCW são os módulos ativos (indicado por uma marca de seleção ao lado do nome do módulo). Se não, selecione BramFirst e CountCW, botão direito do mouse e selecione Definir como Módulo Reconfigurável Ativo para defini-los como os módulos reconfiguráveis ativos.

O software PlanAhead relata os recursos necessários para o intervalo AREA_GROUP para o Módulo Reconfigurável ativa (RM). É importante certificar-se de que um RM caixa preta não está ativo. Para situações onde RMs diferentes associados com uma partição Reconfigurável (RP) usam vários recursos, o Range

AG da RP deve conter um super conjunto de recursos utilizados por todos os seus RMs, mostrados na Figura 11.

2. Clique no botão de menu Layout e selecione Floorplanning para mudar a visão atual Análise do Design para Floorplanning.

3. Clique na janela de restrições físicas para ver uma lista de todos os Pblocks atuais.

No software PlanAhead, restrições AREA_GROUP são chamados Pblocks, e Pblocks são criados automaticamente para todos os módulos definidos como um RP.

4. Na janela de restrições físicas, selecione a partição pblock_U1_RP_Bram Reconfigurável.

5. No lado esquerdo da vista de dispositivos, clique no botão Definir Tamanho pBlock. Alternativamente, pblock_U1_RP_Bram botão direito do mouse e selecione Tamanho pBlock Set.

6. Desenhe uma caixa que engloba alguma lógica fatia e pelo menos um RAMB36 (colunas cor de rosa).

7. Depois de desenhar o retângulo, selecione ambos fatia e RAMB36 recursos para o AREA_GROUP, como mostrado na Figura 12.

8. Clique em OK.

Criando um intervalo AREA_GROUP para pblock_U2_RP_Count

1. Selecione pblock_U2_RP_Count.

2. Use a ferramenta Definir Tamanho pBlock e desenhar uma caixa que engloba recursos fatia bem como Lógica IOB.

Porque U2_RP_Count já tem I / O pino colocação na UCF, o Range AREA_GROUP deve incluir os seguintes pinos, que são visíveis na planta baixa:• AD21• AH27 • AE21• AH28

3. Depois de desenhar o retângulo, selecionar recursos fatia e IOB para a AG, como mostrado na Figura 13, página 21.

4. Clique em OK.

Se a RM teve de entrada ou saída do flip-flops (ou lógica de entrada / saída de outro), então outros recursos, como iLogic e ologic seria incluído também. Este projeto não contém tais recursos.

5. Comente floorplan e fazer os ajustes necessários.

A planta resultante deve ser semelhante à imagem da Figura 14, página 22.

6. Verifique se os pinos necessários para U2_RP_Count estão dentro da faixa AREA_GROUP (AG).

Os pinos de AD21, AH27, AH28 AE21 e devem ser incluídos no rectângulo da Gama AG para U2_RP_Count como mostrado na Figura 14. Além disso, note que o rectângulo estende para a direita da coluna de I / O. Isto é crítico, pois há I / O encaminhamento dos recursos no lado direito desta coluna I / O que deve ser incluído na Faixa AG ou o router falhará implementação. Isto porque todos os recursos RM de encaminhamento deve estar dentro da região de RP, tal como definido pelo intervalo AG.

Para localizar esses pinos na visão de dispositivos, a fim de verificar se estão dentro do Range AG, selecione Editar> Localizar e procurar site com jogos Nome AD21. O pino é realçado na exibição de dispositivos porque a UCF contém uma restrição LOC já. Selecione Exibir> Ajustar Seleção ou pressione F9 para ampliar para o site em destaque. O mesmo procedimento pode ser usado para localizar o AH27, AE21, e AH28 pinos.

7. Verificar a RAMB36 necessário para U1_RP_Bram está incluído no intervalo AG. Na janela de restrições físicas, selecione pblock_U1_RP_Bram, e clique na guia Estatísticas, como mostrado na Figura 15, página 23. Note-se que o número disponível de RAMBFIFO36E1 excede a quantidade requerida.

As restrições criadas pela Escala AREA_GROUP etapas anteriores exibidas noPlanAhead software.

8. Selecione Arquivo> Salvar Projeto para salvar o projeto.

9. No Navegador de fluxo, clique Project Manager.

Isso abre a janela de fontes com toda a fonte e arquivos de restrição para o projeto.

10. UnderConstraints, duplo-clicktheUCFfile.

Os constrangimentos AREA_GROUP são semelhantes ao seguinte.

INST "U1_RP_Bram" AREA_GROUP = "pblock_U1_RP_Bram";AREA_GROUP "pblock_U1_RP_Bram" RANGE = SLICE_X48Y60: SLICE_X55Y79;AREA_GROUP "pblock_U1_RP_Bram" RANGE = RAMB36_X3Y12: RAMB36_X3Y15;INST "U2_RP_Count" AREA_GROUP = "pblock_U2_RP_Count";   AREA_GROUP "pblock_U2_RP_Count" RANGE = SLICE_X56Y20: SLICE_X67Y79;

   AREA_GROUP "pblock_U2_RP_Count" RANGE = IOB_X1Y20: IOB_X1Y79;

11. ReturntotheNetlistDesignview, presstheLayoutmenubutton, andselectDesign Análise de voltar para o modo de exibição padrão no software PlanAhead.

Passo 7: Pins partição e RP de temporização de Interface

Pinos de partição (PP) são necessários no fluxo parcial de reconfiguração para todos Partition Reconfigurable sinais (RP) de interface que não sejam a lógica global ou percursos dedicados. Partições fornecer uma conexão de roteamento conhecido ao PR, e são inseridas automaticamente pelo NGDBuild quando a implementação é executado. Estes são uma tecnologia de substituição para macros de ônibus do fluxo de PR anterior.

A implementação atual do PP requer lógica proxy, que é um LUT1. Uma LUT1 é inserido nos caminhos de entrada e de saída do RP. É recomendado que você se registrar essas entradas / saídas de ambos os lados da fronteira RP. Isso ajuda a minimizar os problemas de atraso de encerramento relacionados com a interface de RP. Se estas orientações forem seguidas, é provável que uma restrição PERÍODO simples é suficiente para restringir a esta interface. No entanto, em situações com requisitos de tempo muito apertados, talvez seja necessário criar restrições TPSYNC sobre o PP, ou adicionar restrições LOC a lógica estática para minimizar os atrasos de roteamento entre a lógica estática e do PP. Para mais informações sobre como adicionar restrições TPSYNC aos pinos de partição, consulte o Guia do usuário de reconfiguração parcial (UG702) citados no Anexo A, Recursos adicionais.

Como a implementação mesma lógica estático será usado para cada configuração, é importante tentar encontrar tempo com a maioria dos módulos de tempo reconfiguráveis críticos (RMs) primeiro. As interfaces RP neste tutorial são muito semelhantes entre o RMS, e uma restrição PERÍODO global é suficiente para atender o timing interface de RP.

Adicionando uma restrição período para o Design

1. A partir da janela Design Netlist, clique na guia Restrições Tempo para abrir esta janela.

2. Na janela de restrições de tempo, o botão direito do mouse e selecione Novo restrição de tempo, ou clique no botão nova restrição sincronismo no topo da janela para abrir a ferramenta nova restrição Tempo.

3. Sob o grupo básico da categoria (TNM), defina os seguintes valores:• Nome do grupo: Digite clk_p• Tipo de Grupo: Definir a Net• Tipo de TNM: Defina para TNM_NET• grupo predefinido: Deixe em branco• Net: Defina para clk_p

4. Clique em OK para adicionar a restrição.

5. Abrir a ferramenta nova restrição de temporização novamente. Na categoria timespec período, defina os seguintes valores:• Nome timespec: Digite TS_clk_p• Período: Conjunto de 5 ns• Clique no botão Procurar e usuário conjunto definido no campo Tipo de grupo restrições e clk_p no campo grupos definidos pelo usuário.

6. Clique em OK para adicionar a restrição. A janela de restrição de tempo deve agora olhar como Figura 16, página 25. Note que essa é uma restrição de tempo global que vai restringir todos os caminhos síncronos conectados a clk_p no projeto. Isto não é uma restrição de tempo específico para a interface de RP.

7. Salve o projeto e navegar de volta para o Project Manager para visualizar a UCF. O limitações que se seguem devem agora ser incluído no ficheiro de restrição.

Nota: Se o UCF já estava aberto das etapas anteriores, o hiperlink Reload no topo do editor pode ser usado para recarregar o arquivo modificado.

   Timespec TS_clk_p = PERÍODO "clk_p" 5 ns;   NET "clk_p" TNM_NET = "clk_p";

Passo 8: Running parciais de reconfiguração Verifica regra de design

Há muitas regras parciais de reconfiguração específicas de projeto que devem ser seguidas a fim de implementar um projeto válido. Algumas dessas regras foram incorporadas na Regra motor de Verificação de projeto (RDC), sob o

Reconfig parcial e títulos de partições. Essas verificações devem ser executados no projeto PR antes de implementar configurações e geração de arquivos Bit.

Em um projeto típico você pode querer executar todos os DRCs PlanAhead. Para este tutorial, vamos executar o Reconfig parcial e DRCs partição só.

Executando a reconfiguração parcial e DRCs partição

1. No Navegador de fluxo, selecione Executar RDC, localizado sob o Design Netlist, mostrada na Figura 17.

2. A partir da caixa de diálogo Executar RDC, selecionar a partição e parciais regras Reconfig, mostrados na Figura 18, página 27.

3. Reveja as mensagens retornadas pelo RDC na coluna Detalhes e observe a gravidade. As mensagens retornadas pela RDC pode ter uma gravidade de: Consultivo, Aviso, Erro ou fatal. Neste caso, o pior Gravidade retornado é um aviso (Figura 19).

Passo 9: Implementar e promover uma configuração

Cada partição Reconfigurável (RP) pode ter vários módulos reconfiguráveis (RMs) associados, mas apenas a RM pode ser implementada em qualquer um tempo para o RP.

O conjunto de RMs ativa juntamente com a lógica estática é chamado de configuração e é um projeto completo. Múltiplas configurações existirá para um projeto de reconfiguração parcial, de modo que diferentes permutações de MRs podem ser implementadas, gerando arquivos BIT integrais e parciais. Cada configuração é a sua execução própria implementação independente. Os arquivos de saída resultantes são NGD, NGM, NCD, e arquivos de formato PCF e arquivos de relatório. Ferramentas Xilinx software e técnicas de depuração pode ser executado em cada configuração individualmente, como a abertura de um NCD com FPGA Editor ou realizar uma simulação porta-nível.

O projeto neste tutorial pode ser totalmente implementada com apenas duas configurações que usam esses conjuntos RM e arquivos bit resultante:

Em resumo:• O config_1.bit arquivo completo BIT contém RMs BramFirst e CountCW.• O config_2.bit arquivo completo BIT contém BramSecond e CountCCW.

Dois conjuntos de configuração de outros pode gerar arquivos únicos, pouco cheio. No entanto, eles reutilizar módulos previamente implementados para que os ficheiros BIT parciais serão idênticos aos ficheiros BIT parciais gerados nas configurações acima.

A aplicação de uma configuração de software dentro do PlanAhead é chamado de execução. Uma corrida deve ser criado para cada configuração.

O software PlanAhead automaticamente cria uma configuração de quando o projeto é criado. O conjunto de RMs para esta configuração dependem da ordem

do RMS foram adicionados ao projeto. O RM primeira definido para cada RP fica definido para esta configuração (BramFirst e CountCW no caso deste tutorial).

Um FPGA configurado com um arquivo BIT completa contém o MR que foram implementados na configuração. Se o sistema exige que apenas a lógica estática está funcionando depois de carregar o arquivo BIT completo, em seguida, implementar uma configuração contendo caixas-pretas para todas as partições reconfiguráveis. Os arquivos resultantes BIT parciais são efetivamente arquivos em branco para as partições reconfiguráveis.

Implementação de configuração config_1

1. Verifique se o conjunto de RMs para config_1 são BramFirst e CountCW.a. No Design Executa janela (Runs Window> Design), selecione config_1.b. Na janela Propriedades de Implementação de execução, selecione a guia Partições (Figura 20).c. Garantir que as variantes do módulo listados são BramFirst e CountCW.

2. No Navegador de fluxo, clique Implementar para iniciar o funcionamento implementação.

O Design Executa campo Status janela mostra quando NGDBuild, Mapa, PAR, e TRACE estão em execução. Isso também pode ser monitorado na barra de status no canto direito superior da janela do software PlanAhead principal. Para mais detalhes, consulte a janela Log de compilação.

3. Promover a configuração config_1.

Agora que config_1 foi implementado com sucesso, ele pode ser promovido. Note-se que outras configurações podem ser executados sem promover a primeira configuração, mas isto irá resultar em arquivos incompatíveis BIT parciais entre configurações. Você deve promover uma configuração. Você deve definir todas as outras configurações para "importar" a lógica estática de esta partição promovido a fim de obter arquivos compatíveis com pouco parcial entre múltiplas configurações. Isso irá garantir lógica procuração consistente entre todas as configurações.

A compatibilidade entre múltiplas configurações pode ser verificado usando o comando de configuração Verify, que está coberto de Passo 11: Configurações de verificação.

4. No Navegador de Fluxo, clique no botão Promover partições (Figura 21).

5. Na caixa de diálogo Promover partições, clique em OK.

6. Selecione a aba Configurações (escolha Janela> Configurações se não estiver aberto). O Estado tem é listado como "promovido" (Figura 22, página 31).

Passo 10: Criando e Implementando Configurações adicionais

Criação de uma nova configuração

1. No Navegador de fluxo, use o implemento lista drop-down para selecionar Criar Runs nova implementação (Figura 23).

Em O assistente é executado criar vários, você irá criar uma nova configuração.

2. Na página de introdução do assistente, clique em Avançar.

3. Na página de configuração Run Implementação, clique em Avançar.

Nas Estratégias de Implementação e Escolha página Módulos Reconfigurável, você pode criar várias configurações, escolher estratégias de implementação, e definir quais módulos reconfiguráveis (RMs) compõem as configurações. Já existe uma nova configuração listada chamado config_2.

4. Nas estratégias de implementação escolher e página Módulos Reconfigurável, deixe o nome nova configuração como config_2 para este tutorial.

5. Clique no botão na coluna Ação partição para abrir a caixa de diálogo Especificar partição (Figura 24, página 33).

A Variante Módulo padrão é baseado no que RMs estão atualmente ativos no projeto. Neste caso, é o BramFirst e CountCW. Porque estes já foram implementadas e importados, que estão definidas para "importar" e ter um conjunto local de importação.

6. Para criar uma configuração que implementa o BramSecond e CountCCW MRs, alterar a coluna Variante Módulo para combinar estes MR (Figura 25).Porque estes RMs não foram implementadas (ou promovido), as alterações do campo de ação para implementar.

7. Na caixa de diálogo Especificar partição, clique em OK.

8. Opcional. Se você fez o passo opcional de criação de variantes do módulo Black Box, criar um configuração adicional para implementar esses módulos.

a Clique em Mais nas estratégias de implementação escolher e módulos reconfiguráveis página para adicionar config_3.b. Clique em Escolher configurações e definir as variantes do módulo para BramBB e CountBB, como mostrado na Figura 26.

9. Clique em Avançar na página Run Implementação Criar para continuar com o assistente.

10. On the Launch Options page, select the Do not launch now radio button and click Avançar.

As configurações poderia ter sido lançado a partir daqui, mas para efeitos de discussão, você vai lançar novas configurações no próximo par de passos.

11. Clique em Concluir na página Resumo Criar Novo corre para concluir o assistente. No Design Executa janela, você vê agora novas configurações que foram criadas através do assistente.

12. Selecione uma nova configuração no Design Executa janela.

13. IntheImplementationRunPropertieswindow, clickthePartitionstab (Figure27, página 35) para verificar as variantes do módulo e campos de acção.

Nota: A lógica estática é definida como Importar, e será importado a partir dos resultados promovidos de config_1.

14. ClickandselectLaunchRunstolaunchaconfiguration direito.

Note que se você tiver várias novas configurações, eles podem ser lançados em paralelo (em vários processadores, se disponível), porque os resultados não são

dependentes um do outro, mas depende apenas da lógica estática de config_1 (Figura 28, página 36).

15. IntheLaunchSelectedRunsdialogbox, selecttheLaunchrunsonLocalHostbutton, selecione o número adequado de postos de trabalho (número de processadores para uso) e clique em OK.

Passo 11: Configurações de Verificação

Depois de várias configurações são implementadas, você pode compará-los para verificar se a lógica estática e pinos divisórias são consistentes em todas as configurações. Executar Verifique as configurações para garantir que os arquivos BIT são compatíveis.

Verificar a configuração de execução em todas as configurações

1. No Navegador de Fluxo, utilizar o Programa e caixa de Debug suspensa para selecionar Verificar a configuração (Figura 29).

2. Selecione dois ou mais configurações para verificar uns contra os outros, e clique em OK.

Se a verificação verifica passe, os relatórios de software PlanAhead que nenhum erro foi encontrado em uma caixa de mensagem. Isso indica que agora é bom para gerar arquivos Bit.

3. Clique em OK para fechar a caixa de mensagem.

O relatório detalhado exibe no software PlanAhead e é salvo<Extract_Dir> / PlanAhead/project_1/project_1.runs/pr_verify.log.

Passo 12: Geração e download de arquivos BIT

Para cada configuração, os ficheiros de múltiplos bits são gerados.

• Um arquivo BIT completo é gerado e pode ser usado para programar o FPGA durante a inicialização.• Um arquivo BIT parcial para cada partição Reconfigurável (RP) contém a lógica para as variantes do módulo associados à configuração particular. Qualquer um dos ficheiros BIT parciais pode ser usado para reconfigurar as regiões associadas PR.

Neste tutorial você irá criar configurações com BramFirst, CountCW, BramSecond, CountCCW e, opcionalmente, BramBB e CountBB. Ao gerar arquivos de bits para cada configuração, você vai acabar com arquivos BIT parciais para Todos estes módulos reconfiguráveis (RMS). Independentemente do ficheiro BIT completo utilizado para configurar o dispositivo inicialmente, qualquer dos ficheiros BIT parciais pode ser usado para reconfigurar as regiões associadas PR.

Gerar arquivos BIT para todas as configurações1. No Design Executa janela, selecione todas as configurações. Botão direito do mouse e selecione Gerar Bitstream (Figura 30).

2. Não há opções de BitGen especiais necessárias para gerar arquivos de pouco parcial, então clique em OK na caixa de diálogo Opções BitGen lançar BitGen.

Os arquivos de BIT parciais são baixados para o FPGA da mesma maneira como ficheiros completos BIT. A ferramenta de software impacto pode ser utilizado para download de arquivo BIT, verificação e fins de depuração.

3. Conecte o cabo de transferência USB à placa ML605 eo PC.

4. Para iniciar iMPACT no modo autônomo, a partir do Navegador de fluxo, use o Programa e Depurar caixa suspensa para selecionar impacto (Figura 31).

5. No iMPACT Fluxos quadro, Boundary Scan duplo-clique, em seguida, clique no botão Cadeia Initialize.

6. Depois da cadeia foi detectado com sucesso, clique com o dispositivo xc6vlx240t e selecione Atribuir novo arquivo de configuração e selecione o arquivo BIT seguinte completa:

<Extract_Dir> / PlanAhead / <nome_do_projeto> / <nome_do_projeto> .runs/config_1 / config_1.bit

7. Botão direito do mouse xc6vlx240t novamente, e seleccione o programa (Figura 32).

O FPGA no ML605 irá programar com o arquivo BIT completo. Vai demorar alguns segundos para configurar.

Associando um arquivo de pouco parcial

1. Direito do mouse no dispositivo xc6vlx240t e selecione Atribuir novo arquivo de configuração e selecione o arquivo BIT parcial a seguir:

<Extract_Dir> / PlanAhead / <nome_do_projeto> / <nome_do_projeto> .runs/config_2 / config_2_U1_RP_Bram_BramSecond_partial.bit.

2. Direito do mouse no dispositivo e selecione xc6vlx240t Programa.

Parcialmente a reconfiguração do FPGA é quase instantânea, pois o arquivo BIT parcial é muito pequena.

Conclusão

Neste tutorial, você criou um projeto PR no software PlanAhead. Em seguida, criou duas partições reconfiguráveis (RPs) e associados módulos reconfiguráveis múltiplos para cada RP. Cada RP foi, então, obrigado a uma área do dispositivo usando restrições AREA_GROUP, e você criou restrições de tempo globais para restringir o projeto inteiro. Uma configuração inicial foi implementado e promovido, e depois que você criou outras configurações que importaram a lógica estática da configuração inicial. Você verificou a coesão de todas as configurações e arquivos BIT foram gerados. Finalmente você baixou um arquivo BIT completo para a placa contendo o ML605 BramFirst e módulos CountCW e

reconfigurou a RP U1_RP_Bram com um arquivo BIT parcial para o módulo BramSecond.