Development of a DPI-C Test Environment - Vieira, Orlando Pedro Cardoso (2021)
Fruto da evolução tecnológica, a integração de sistemas com milhares de milhões de transístores num único circuito integrado conduziu a um aumento da complexidade dos projetos digitais. Consequentemente, o esforço/tempo necessário para o desenvolvimento destes ´e maior, tal como a probabilidade da existência de erros de hardware. De forma a evitar passar esses erros para o silício, a Synopsys, uma empresa líder em Automação de Projetos Eletrónicos (Eletronic Design Automation - EDA), e em IP (Intellectual Property), e uma das empresas responsáveis por esta evolução tecnológica, tem uma equipa de IP Prototyping Kit (IPK), que cria protótipos rápidos dos circuitos IP em sistemas baseados em Field Programmable Gate Arrays (FPGA) e outras plataformas. Durante a integração do sistema em FPGA são usadas simulações/ testbenchs em SystemVerilog (SV) e testadas as plataformas de hardware de forma a ajudar no desenvolvimento do projeto e sua depuração. O IPK permite a integração do software e do hardware numa etapa inicial do projeto. Contudo, a prototipagem pode ser um processo complicado e demorado. Para auxiliar os engenheiros a acelerar o desenvolvimento, foi proposta a criação de um ambiente de teste baseado em C, batizado de DPIC (Direct Programming Interface em C), compatível com SystemVerilog e com as plataformas de hardware para testes. Este ambiente, também chamado de C-Tests, usa o mesmo caso de estudo como parâmetro de entrada para as duas plataformas. O objetivo ´e obter o mesmo resultado em ambas, facilitando a sua comparação e o diagnóstico e resolução de qualquer problema existente.