Conheça a Zybo board: ARM e FPGA em uma única placa

Zybo-board-destaque Zybo board

Há algum tempo atrás foi noticiado aqui no embarcados a nova geração de FPGAs contendo os novos System-on-Chip (SoCs) da Altera e Xilinx. Esta nova geração de FPGAs contém em um único encapsulamento uma parte de lógica programável e um ou mais núcleos dedicados com processador ARM.

As duas líderes do mercado de dispositivos programáveis, Xilinx e Altera, têm lançando suas novas plataformas de desenvolvimento, integrando as placas com os softwares (SDK). Neste artigo irei introduzir um pouco mais sobre a Zybo board da Digilent com o  Zynq 7000, SoC da Xilinx que une o melhor de duas plataformas para desenvolvimento embarcado: um ARM-cortex A9 dual core e parte de lógica programável correspondente a 4,400 logic slices.

Zybo board: características gerais

Zybo-board-01
Figura 1 - uma visão geral da  Zybo board

A Zybo board é mais uma placa de desenvolvimento resultado  da parceria da Digilent com Xilinx. A placa possui os principais conectores e padrões de conexão para desenvolvimento embarcado. Como introduzido anteriormente, o grande diferencial da placa, do Zynq 7000, é a composição de ARM com FPGA.

O SoC Zynq 7000 caracteriza a placa com:

  • 650 MHz dual-core ARM Cortex-A9 processor;
  • Memória DDR3;
  • Peripheral controllers: SPI, UART, CAN, I2C;
  • Lógica programável equivalente a FPGA Artix-7;
  • GPIO: 6 pushbuttons, 4 switches, 5 LEDs e 30 I/Os de uso geral (PMOD ports);
  • Conversor A/D  de 12-bits com 1MSPS;
  • Conexão VGA, HDMI, ethernet e USB OTG;
  • Slot para cartão micro-SD.

Além de sua poderosa configuração de hardware, outro grande diferencial da placa é a integração com o novo software de desenvolvimento da Xilinx, o Vivado Design Suite, que substitui o ISE, usado nas plataformas de FPGA anteriores. O software Vivado fornece uma grande variedade de IPs para a placa, além de ferramenta para o seu desenvolvimento próprio de módulos.  

Vale ressaltar que apesar de placa ser uma plataforma inicial para desenvolvimento com o SoC Zynq 7000, torna-se necessário o projetista possuir vasta experiência com FPGA (desenvolvimento com Verilog/VHDL) e integração de plataformas. Como tendência da área de FPGAs, o desenvolvimento em System Verilog poderá ser um diferencial para o uso da placa.

Como de costume da maioria das placas de desenvolvimento baseadas em FPGA, o tamanho da placa é um pouco grande. A Figura 2 mostra um pequeno comparativo do tamanho da placa quando comparada ao Raspberry Pi 3.

Zybo-board-02
Figura 2 - comparação do tamanho da placa com o Raspberry PI 3

 

Programando a Zybo board: lógica programável e ARM

Para o desenvolvimento com a Zybo board algumas possibilidades estão disponíveis. O grande diferencial da placa é o uso em conjunto da parte de lógica programável com o ARM, realizando a integração pelo barramento AMBA. Apesar disso, as opções de programar apenas a parte de lógica programável ou o ARM estão disponíveis.

A programação para o ARM está disponível em C, alguns tutoriais na internet estão disponíveis. Vale ressaltar que devido a complexidade da placa e seu poder de processamento, todo codigo por mais simples que seja pode se tornar complicado para implementar devido ao um sistema um pouco complexo.

Para a correspondente programação da parte de lógica programável, o uso de Verilog e System Verilog parecem ser uma boa pedida. Particularmente, minha experiência com placa resume-se a programação da parte de lógica programável até o momento. Estou estudando um pouco sobre a integração com o ARM através do barramento AMBA. Para os interessados sobre a placa existe um ebook free sobre a Zybo, já mencionado aqui no site.

Aplicações e projetos com a Zybo/Zynq 7000

Pesquisando na internet você poderá encontrar os mais diversos com a placa. Fora os tradicionais projetos envolvendo alguma linguagem de descrição de hardware, a placa possibilita a execução de distribuições de Linux e até Ubuntu quando usada com um cartão micro-SD.

Os projetos que pude trabalhar até o momento com a Zybo além dos testes básicos, foram referentes a área processamento de sinais usando Verilog/SV (aplicações de filtros FIR). A característica das conexões GPIO da placa são para possibilitar o encaixe de PMODs, um tipo de adaptador padrão da Digilent. A figura 3 mostra o PMOD DA2 contendo conversor digital analogico (DAC).

Zybo-board-03
Figura 3 - Zybo board com PMOD para conversor D/A

Outros projetos que achei na internet que exploram mais características da placa são listados abaixo:

A depender da resposta deste artigo e usuários que possam se interessar em como fazer um projeto em HDL no Vivado, um próximo post poderá ser um tutorial em como fazer o primeiro projeto usando Verilog na Zybo ou em qualquer outra FPGA que use o Vivado SDK.

Segue um vídeo com algumas primeiras impressões da placa e uma visão geral.

Vale a pena comprar a Zybo board?

Após uma breve introdução sobre a placa Zybo e o Zynq 7000 a pergunta natural a se fazer é: vale a pena comprar a placa?

Como parte da resposta deve-se salientar qual nível de experiência você tem com ferramentas de desenvolvimento baseadas em FPGA. Para aquelas que possuem conhecimento intermediário/avançado em desenvolvimento com placas FPGAs da Xilinx ou até mesmo Altera, a Zybo board será o próximo passo em desenvolvimento devido a sua integração com o ARM (placas baseadas em SoC). Eu pessoalmente me incluo nesta categoria, tenho aprendido sobre a placa e ferramenta Vivado.

De uma maneira diferente, se você começou a programar em VHDL ou Verilog recentemente e deseja comprar uma placa para brincar a Zybo não será o modelo mais adequado. A placa contém documentação aberta, como o Zynq book e tutoriais, porém possui conceitos um pouco mais complexos e exige certa experiência.

Assim, o veredicto final a respeito da Zybo é que ela se destina a projetistas acostumados a programar em HDL e para projetos que exijam paralelismo, poder de processamento e uma possível integração entre FPGA e microcontrolador. Algumas alternativas para a Zybo, aos que desejam explorar as possibilidades do Zynq 7000 é a Pynq, plataforma baseada no Zynq que suporta Python como linguagem de programação.

Infelizmente não temos nenhum revendedor no Brasil da placa, porém a mesma pode ser comprada no site da Digilent e estudantes podem obter preço educacional.

Estou a disposição de toda comunidade do Embarcados para dúvidas sobre a Zybo board e o Vivado. Espero que o próximo post seja um breve tutorial da programação da lógica programável neste novo SDK!

Licença Creative Commons Esta obra está licenciada com uma Licença Creative Commons Atribuição-CompartilhaIgual 4.0 Internacional.

Receba os melhores conteúdos sobre sistemas eletrônicos embarcados, dicas, tutoriais e promoções.

Hardware » Conheça a Zybo board: ARM e FPGA em uma única placa
Comentários:
Notificações
Notificar
guest
3 Comentários
recentes
antigos mais votados
Inline Feedbacks
View all comments
Rafael Souza
Rafael Souza
19/06/2019 08:57

Olá Eron, existe alguma placa de desenvolvimento de baixo custo para iniciantes n desenvolvimento com FPGAs?

Bruno Beraldi
Bruno Beraldi
17/03/2017 12:48

A Altera tem alguma produto equivalente ao Zynq 7000?

Eron Neto
Eron Neto
Reply to  Bruno Beraldi
16/08/2017 22:40

Sim Bruno! A Altera recentemente atualizou alguma de suas placas de desenvolvimento FPGA para a linha baseada em SoCs. Um exemplo fica por conta da placa DE2.

https://www.terasic.com.tw/cgi-bin/page/archive.pl?No=30

Talvez você goste:

Séries

Menu

WEBINAR
 
RISC-V:
Novidades de 2020

 

Data: 26/08 às 19:30h - Apoio: Mouser Elecctronics
 
INSCREVA-SE AGORA »



 
close-link