Verificação funcional distribuída para projetos de circuitos integrados baseados em arquiteturas heterogêneas. - SILVA, Thiago Werlley Bandeira da. (2021)
Este trabalho trata da verificação funcional distribuída de projetos em hardware baseados em arquiteturas heterogêneas. Um testbench foi concebido para permitir a utilização de open source IP-cores. O testbench é baseado na biblioteca SystemC e utiliza o conceito de Virtual Bus da especificação da arquitetura de alto nível (HLA). Desse modo, a integração de um IP-core demanda o desenvolvimento de dois wrappers de comunicação, um externo e outro interno ao testbench. O testbench foi utilizado na verificação do projeto de um sistema composto de dois subsistemas, um que efetua a conversão de RGB para YCbCr (S1) e outro que calcula a integral da imagem (S2). Dois cenários de verificação foram considerados, no primeiro os subsistemas são conectados em série (C1), e no segundo, são conectados em paralelo (C2). No cenário C1, os IP-cores de S1 e de S2 foram disponibilizadas em C++/OpenCL e SystemVerilog, respectivamente. No cenário C2, os IP-cores foram disponibilizadas em C++/OpenCL e SystemVerilog, respectivamente. Nesses dois cenários foram utilizados IP-cores de domínio público, e os respectivos wrappers de comunicação externos foram implementados. Considerou-se que os “golden models” desses IP-cores eram disponíveis. No cenário C1, usou-se o testbench para integrar os IP-cores usando o Virtual Bus, sendo necessário implementar wrappers internos para C++/OpenCL e SystemVerilog. No cenário C2, foi necessário implementar wrappers internos para C++/OpenCL e System Verilog. No cenário C1 a saída gerada por S2 é comparada a saída do golden model de S2. No cenário C2 as saídas geradas por S1 e S2 são comparadas com os respectivos golden models. A utilização do Virtual Bus/HLA permite a integração de um open source IP-core sem a necessidade de re-codificação, elimina uma etapa do fluxo de projeto convencional, e desse modo, reduz o tempo de projeto e elimina erros. Além disso, o open source IP-core é executado na arquitetura e na infraestrutura em que for disponibilizado, sem ensejar óbice ao processo de verificação.