Placas de Desenvolvimento FPGA / SoM / Projeto Customizado / Integração IP
info@profpga.net +86 18621324348
Início/Blog/Prática de aplicação/Substituição Prática de ZYNQ Nacional: O Quanto Muda da Migração de Xilinx ZYNQ para PBC7Z020G/021G
Prática de aplicação

Substituição Prática de ZYNQ Nacional: O Quanto Muda da Migração de Xilinx ZYNQ para PBC7Z020G/021G

2026-10-22 Leitura estimada: 11 min Equipe de P&D da Duyuan Electronics

O projeto original usa Xilinx Zynq-7000 (XC7Z020) para o esquema heterogêneo de software ARM + lógica FPGA real, e agora precisa ir para nacional. Trocar o chip significa reescrever o projeto inteiro, ou apenas mudanças locais? Este artigo divide a migração do HWD7Z020 (compatível com XC7Z020) para PBC7Z020G/021G em três camadas — software PS, lógica PL, boot e BSP — e detalha o volume real de mudança, as partes reaproveitáveis e os pontos de risco.

1. Por Que Migrar: Do XC7Z020 ao HWD7Z020 Nacional

O valor do ZYNQ é que um chip segura tanto um dual-core ARM Cortex-A9 (PS, rodando software de sistema, rede e sistema de arquivos) quanto lógica programável (PL, fazendo aquisição paralela, aceleração de protocolo e IO em tempo real). Quando um design XC7Z020 precisa ir para nacional, o objetivo não é uma arquitetura totalmente diferente, mas um compatível drop-in nacional em conjunto de instruções, periféricos e fluxo Vivado. O PBC7Z020G carrega HWD7Z020-1PBGA400 e o PBC7Z021G carrega HWD7Z020-1CLG484; ambos são nacionais de grau industrial, dual-core A9@800MHz mais FPGA heterogêneo, nativamente compatíveis com Vivado sem patch extra, e com faixa de temperatura ultraampla de −55~125°C.

Antes de migrar, divida o projeto em três camadas e estime cada uma:

1. Software PS: programas bare-metal, tarefas FreeRTOS, apps Linux e drivers rodando no A9.

2. Lógica PL: RTL, IP cores, constraints e mapeamento de pinos escritos no Vivado, rodando na fabric do FPGA.

3. Boot e BSP: imagem de boot, config de boot QSPI/eMMC/SD, device tree e board support package.

2. Migração de Software PS: Maior Reuso de BSP

1. Bare-Metal e FreeRTOS: O Projeto Quase Não Muda

Projetos bare-metal e FreeRTOS chamam as interfaces de periféricos do A9 (UART, GPIO, timers, controlador de interrupção) via BSP. O layout dos registradores PS do HWD7Z020 é compatível com o XC7Z020, então os drivers SDK/BSP são reaproveitáveis e o código da camada de aplicação não precisa de reescrita. As mudanças se concentram em regenerar o BSP sob a biblioteca de dispositivo nacional, recompilar e checar números de interrupção e config de clock. O esforço é medido em dias, não meses.

2. Linux: Ajustes Locais no Device Tree, U-Boot e Kernel

Para designs Linux, o lado PS muda mais que no bare-metal, mas não é um recomeço:

  • Device tree (DTS): remapear os nós de periféricos PS e os nós de conexão PL da árvore do XC7Z020 para os conectores da placa nacional; preencher capacidade/largura DDR3, partições eMMC/QSPI, nós Ethernet/USB da nova placa.
  • U-Boot e kernel: usar uma config compatível com XC7Z020 para enxugar; ajustar bootargs, baud rate do console e montagem de rootfs; recompilar e testar regressão dos drivers customizados no dispositivo nacional.
  • Camada de aplicação: serviços de usuário, programas de rede e algoritmos de negócio são independentes de chip e migram direto.

Estime a banda DDR3 pela config da placa primeiro: ambos PBC7Z020G/021G usam DDR3 1GB, barramento de 32 bits, 1066Mbps; banda de byte = 4B × 1066MT/s ≈ <span class=”hl”>4,26 GB/s</span>, suficiente para controle embarcado comum e transferência leve de imagem, então não há troca de plataforma por banda.

3. Migração de Lógica PL: Replanejar Constraints Após Checagem de Recursos

Comparação de Recursos PL (Classe XC7Z020 vs HWD7Z020 / PBC7Z021G)

Recurso Classe XC7Z020 PBC7Z021G (HWD7Z020-1CLG484) Veredito de migração
Logic cells ~85K 85K Mesma classe, cabe no design
LUT ~53,2K 53.200 Mesma classe
Flip-Flops ~106K 106.400 Mesma classe
Multiplicadores DSP 220 220 Mesma classe
Block RAM 4,9 Mb 4,9 Mb Mesma classe
IO PL disponível — 198 (mais 48 pares LVDS, 100 IO configuráveis por tensão) Replanejar nos novos conectores

O código RTL comportamental original, a lógica puramente combinacional/sequencial e a maioria dos IP cores (BRAM, FIFO, PLL/MMCM, interconnect AXI) sintetizam direto no fluxo compatível e não precisam de reescrita.

Constraints, IP e Remapeamento de Pinos

Depois que o package migra de PBGA400 (020G, pequeno 35×42mm) para 1CLG484 (021G, 60×60mm), os pinos físicos e o IO exposto diferem, então o arquivo de constraint XDC precisa ser re-atribuído pelos novos conectores da placa; a árvore de potência, o roteamento DDR3 e os cristais de clock (o 021G carrega um cristal PS de 33,33MHz mais um cristal PL de 50MHz) também são checados contra a nova placa. Se um IP usa um bloco duro proprietário do fornecedor (certos transceptores, módulos de segurança), confirme se o dispositivo nacional fornece um IP equivalente; senão substitua por RTL genérico.

4. Cadeia de Boot e Checklist de Pouso

Modos de Boot e Imagem de Boot

O PBC7Z021G reserva um JTAG de 6 pinos e suporta modos de boot JTAG / QSPI / cartão SD selecionados por um DIP switch; o PBC7Z020G usa 2 conectores Panasonic de 120 pinos e alimentação de 5V. Pouse a migração percorrendo este checklist:

1. Software PS: regenerar BSP, recompilar e testar regressão bare-metal/FreeRTOS; atualizar device tree, bootargs U-Boot e config de kernel para Linux.

2. Lógica PL: sintetizar o projeto original, reescrever constraints XDC para o novo package, checar compatibilidade de IP e fechamento de temporização.

3. Config de boot: confirmar modo de boot (debug JTAG → QSPI/SD de produção), gerar boot.bin (FSBL, bitstream, device tree) e rootfs.

4. Temperatura ampla e confiabilidade: placas nacionais são −55~125°C (020G/021G); rodar ciclo térmico e testes de longa ligação para a condição alvo e confirmar margem de potência.

<div class=”case”>

<h3>Seleção: Escolha 020G / 021G / Expansão FPGA Puro por Tamanho e IO</h3>

<ul>

<li><strong>Substituição ultracompacta (PBC7Z020G, ¥799)</strong>: 35×42×5,5mm, 2×120 pinos, para nós embarcados e de substituição miniaturizados com espaço apertado e lógica média.</li>

<li><strong>Produção totalmente exposta (PBC7Z021G, ¥999)</strong>: 60×60mm, 4×80 pinos, 198 IO PL e 48 pares LVDS, recursos PS/PL totalmente expostos, para engenharia de produção e designs que precisam de mais IO externo.</li>

<li><strong>Expansão FPGA pura de grande recurso (PBC7K325G, ¥1.999)</strong>: quando o lado PL precisa de transceptores de alta velocidade ou lógica grande (16 lanes GTX@12,5Gb/s, 2GB DDR3, 326K logic cells), um SoM Kintex-7 nacional assume, complementando o esquema ZYNQ.</li>

</ul>

</div>

A substituição ZYNQ nacional não é uma reconstrução: o software PS e a camada de aplicação são os que mais reaproveitam; o que você realmente mexe é replanejar as constraints PL para o novo package e atualizar o device tree e a imagem de boot. Divida em camadas PS, PL e boot para estimar cada uma; dentro do fluxo compatível o projeto só precisa de ajuste local, com risco concentrado na compatibilidade de IP e na regressão de temperatura ampla, então a migração pousa no prazo.

EmbarcadoFPGAHWD7Z020Substituição NacionalZYNQ
Duyuan Electronics · Artigo técnico original

Produtos relacionados

‹ Artigo anterior

Retorno de Fibra 10G/25G: Planejamento de Taxa de Linha GTX/GTH e Offload UDP

O artigo não resolveu o seu problema?

Fale conosco com suas necessidades específicas para suporte técnico individual.

Contato · +86 18621324348