Integração do Cocotb à IDE AURORA: Cossimulação e Verificação de Modelos de Hardware em Python
Abstract
Verificar um algoritmo embarcado em hardware é, em essência, um problema de modelagem computacional: o mesmo estimador existe como modelo estrutural sintetizável, executado por um simulador de eventos discretos, e como modelo numérico de referência, e a confiança no circuito nasce do confronto contínuo entre os dois. Este trabalho apresenta a integração do cocotb (coroutine cosimulation testbench) à IDE AURORA, do ecossistema do processador soft-core SAPHO, que permite escrever esse confronto inteiramente em Python, em cossimulação com os simuladores Icarus Verilog e Verilator, com a rotina de teste reconhecida pela interface e executada em um clique. A metodologia é demonstrada na verificação de uma Unidade de Medição Fasorial implementada no SAPHO segundo a norma IEC/IEEE 60255-118-1: gerador de estímulos, modelo de referência em dupla precisão, emulação da aquisição e análise convivem em um único testbench, que valida o hardware em dois níveis, contra o fasor analítico da norma e contra o modelo numérico. O primeiro nível confirmou um Erro Total do Vetor máximo de 0,98%, dentro do limite normativo; o segundo mostra que o float de 24 bits do processador reproduz a referência com desvio de 5×10⁻⁶ no fasor, atribuindo o erro remanescente ao método de estimação, e não à aritmética do hardware.