Saltar para o conteúdo
BigTree108

Serviços de desenvolvimento de FPGA

Serviços de desenvolvimento de FPGA em SystemVerilog e VHDL em dispositivos AMD, Altera, Lattice e Microchip: design RTL, verificação de FPGA e ASIC, sistemas SoC FPGA, pipelines de vídeo e câmara, processamento de pacotes e lógica 5G, aquisição de dados de alta velocidade e aceleração por hardware para telecomunicações, semicondutores, testes e medições, indústria, imagiologia médica, broadcast e automóvel, com engenheiros de FPGA dedicados para a sua equipa ou projetos entregues de ponta a ponta.

O que construímos com FPGA

  • Design RTL

    SystemVerilog e VHDL sintetizáveis, com cruzamentos de domínios de relógio, resets e restrições de temporização concebidos desde o início, e temporização fechada no Vivado, no Quartus Prime, no Radiant ou no Libero SoC.

  • Verificação de design

    Testbenches autoverificáveis em UVM ou cocotb com cobertura funcional, simulação no Questa, no Riviera-PRO, no Verilator ou no GHDL, e verificações formais de propriedades com SymbiYosys ou Jasper nos blocos em que um caso limite falhado seria caro.

  • Sistemas SoC FPGA

    Designs Zynq UltraScale+, Versal, Agilex e PolarFire SoC em que a lógica e os núcleos do processador partilham o trabalho: interfaces AXI na fabric, drivers Linux e uma imagem Yocto no lado do processador.

  • Pipelines de vídeo e câmara

    Captura e saída MIPI CSI-2, HDMI, 12G-SDI e SMPTE ST 2110, processamento de sinal de imagem, redimensionamento e compressão em lógica, para visão artificial, imagiologia médica, equipamento de broadcast e câmaras de assistência à condução.

  • Processamento de pacotes e lógica 5G

    Ethernet de 10 a 400 Gigabit, análise e filtragem de pacotes, temporização IEEE 1588 e Time-Sensitive Networking, e fronthaul O-RAN e processamento de sinal 5G para switches, equipamento de temporização e unidades de rádio.

  • Aquisição de dados de alta velocidade

    Interfaces de conversores JESD204B e JESD204C, DMA para memória DDR4 ou DDR5 e saída PCIe ou Ethernet de 100 Gigabit para o anfitrião, para instrumentos de teste e medição, imagiologia médica e sensorização industrial.

  • Prototipagem de ASIC e IP cores

    Designs de ASIC e SoC prototipados em placas FPGA para que o firmware e os drivers possam arrancar antes do silício, e IP cores reutilizáveis entregues com mapa de registos, testbench e documentação.

  • Algoritmos na fabric

    Filtros, FFTs, malhas de controlo de motores e de potência e kernels de cálculo passados de C++, MATLAB ou Python para lógica, à mão em RTL ou através do Vitis HLS, e verificados bit a bit face ao modelo original.

  • Aceleração por hardware e baixa latência

    Offload de cálculo em placas aceleradoras AMD Alveo e Versal e em placas Altera Agilex, e feed handlers de dados de mercado e gateways de ordens em lógica para sistemas de negociação, com latência medida em nanossegundos no cabo.

Contratar engenheiros de FPGA

  • engenheiros de FPGA dedicados

    Engenheiros de FPGA que integram a sua equipa a tempo inteiro, trabalham nos seus repositórios, no seu tracker e nas suas reuniões, e reportam ao seu responsável. A sua empresa entrevista-os; nós assumimos o contrato ucraniano, o processamento salarial, a faturação e as férias.

  • Entrega de projetos FPGA

    Uma equipa que conduz o projeto FPGA do âmbito à release: estimativa, desenvolvimento, testes e implementação, com um líder técnico do nosso lado que é responsável pelo plano e pela qualidade.

  • Suporte e tomada a cargo de sistemas FPGA

    Um sistema FPGA existente assumido de outra equipa ou mantido em funcionamento: primeiro uma revisão só de leitura e uma lista escrita de riscos, depois correções e novas funcionalidades por ordem de impacto.

A página da equipa dedicada explica como os especialistas integram a sua equipa, e a página de outsourcing aborda a entrega de projetos, as tomadas a cargo e a forma como cobramos.

Quem trabalha no seu projeto FPGA

  • engenheiros de FPGA

    Design RTL, fecho de temporização e bring-up de placas

  • Engenheiros de verificação

    UVM, cocotb e verificações formais para FPGA e ASIC

  • Engenheiros de software embebido

    Drivers Linux e software em SoC FPGAs

  • Engenheiros de hardware

    A placa, a sua alimentação e as suas interfaces de alta velocidade

  • Engenheiros de Python

    Modelos de referência e automação de testes

Como trabalhamos em designs FPGA

A verificação é planeada com o design e não depois dele: cada bloco tem um testbench antes de ser integrado, as regressões correm na pipeline a cada commit, e os avisos de temporização, utilização e síntese são acompanhados por build, pelo que um design que fechava a temporização e deixou de fechar é detetado no dia em que muda. As versões das ferramentas do fabricante são fixadas por projeto e o build inteiro corre a partir de scripts Tcl em controlo de versões, e não de um ficheiro de projeto que só uma estação de trabalho consegue abrir.

O hardware chega ao engenheiro de uma de duas formas: os kits de desenvolvimento e as placas de protótipo são-lhe enviados, ou o engenheiro trabalha num rack no seu laboratório através de comutação remota de alimentação, uma sonda de depuração e uma consola série pela sua VPN. Em qualquer dos casos, o build corre na sua pipeline e o código vive nos seus repositórios.

Outros serviços de sistemas embebidos e hardware

Visão geral de Sistemas embebidos e hardware

Perguntas sobre o desenvolvimento em FPGA

Com que dispositivos e ferramentas FPGA trabalham?

AMD Artix, Kintex, Virtex, Zynq e Versal no Vivado e no Vitis; Altera Cyclone, Arria, Stratix e Agilex no Quartus Prime; Lattice Nexus e Avant no Radiant; Microchip PolarFire no Libero SoC; e fluxos de código aberto com Yosys e nextpnr. O trabalho pode ser um design novo, a extensão de um existente, verificação isolada ou a passagem para uma família de dispositivos atual.

Em que setores trabalham os engenheiros de FPGA?

Telecomunicações e redes, em switches, equipamento de temporização e unidades de rádio 5G; semicondutores, em verificação de ASIC e prototipagem FPGA; testes e medições, em osciloscópios, analisadores e sistemas de aquisição de dados; automação industrial e visão artificial; imagiologia médica, em equipamento de ecografia, raios X e endoscopia; broadcast e vídeo profissional; automóvel, em processamento de câmaras e sensores para assistência à condução; e finanças, em negociação de baixa latência.

Conseguem migrar o nosso design para uma família FPGA atual?

Sim. Designs ainda construídos no ISE para Spartan-6 ou Virtex-6, ou em versões antigas do Quartus para Cyclone IV, são migrados para dispositivos e ferramentas atuais: IP do fabricante substituído pelo equivalente atual, restrições reescritas, e os designs antigo e novo corridos contra o mesmo testbench até coincidirem.

Em quanto tempo podem começar engenheiros de FPGA?

Quando o engenheiro de FPGA adequado está disponível, o arranque depende apenas da sua entrevista, do NDA e da cedência de propriedade intelectual. Caso contrário, fazemos uma pesquisa, que normalmente produz perfis de candidatos em duas a três semanas, e ninguém começa antes de a sua empresa dar o seu acordo.

Como contratamos engenheiros de FPGA através da BigTree108?

Diga-nos qual é o trabalho, a senioridade e o horário de que precisa. Propomos uma ou duas pessoas com os respetivos perfis, a sua empresa entrevista-as como entrevistaria uma contratação própria, e assina um único contrato com a BIG TREE 108 LLC e recebe uma fatura por mês.

A quem pertence o trabalho que produzem?

A sua empresa. Cada especialista tem um contrato assinado com a BigTree108 que atribui à empresa todo o trabalho produzido, e o nosso contrato com a sua empresa atribui-lho. O código, os designs e os documentos são entregues nos seus próprios repositórios e ferramentas, e não mantidos onde só nós os podemos alterar.

Está a trabalhar num design FPGA?

Diga-nos o dispositivo, as interfaces e o débito que o design tem de atingir. Receberá resposta no prazo de um dia útil: perfis de candidatos, um plano para o design ou uma recomendação sobre o dispositivo.