64ª Reunião Anual da SBPC |
A. Ciências Exatas e da Terra - 2. Ciência da Computação - 12. Simulação |
UM ESTUDO DAS METODOLOGIAS OVM E BVM |
Victor Andrade Perone 1 Elton Brasil da Costa 1 Elmar Uwe Kurt Melcher 2 |
1. Departamento de Sistemas e Computação - DSC, Universidade Federal de Campina Grande – UFCG 2. Prof. Dr. / Orientador – Departamento de Sistemas e Computação – UFCG |
INTRODUÇÃO: |
O objetivo geral desse trabalho é fazer um estudo de duas metodologias usadas para Verificação Funcional, a BVM (Brazil – IP Verification Metodology) e a OVM (Open Verification Metodology). Vale primar que Verificação Funcional, segundo BERGERON, é o processo usado para demonstrar que o objetivo do projeto é preservado em sua implementação. Nesta perspectiva, serão apresentadas ao longo deste trabalho, funcionalidades dessas metodologias para que se possa obter uma eficácia no plano de verificação. Consolidou-se no âmbito desta pesquisa, a Linguagem System Verilog, que foi escolhida para simulação das metodologias, por se tratar de uma linguagem direcionada para Verificação Funcional. |
METODOLOGIA: |
Inicialmente, para a realização desse estudo foram abordadas as diferenças básicas entre as metodologias OVM e BVM como o ambiente de Verificação, visto que em BVM denomina-se de Testbench e em OVM é dito por OVC (OVM Verification Component) onde se diferem desde a metodologia até aspectos relacionados às suas implementações. Após esse estudo, foi desenvolvida uma pesquisa direcionada aos componentes dessas metodologias, que consiste na checagem de valores, coleta de transações, gerador de estímulos, randomização de dados, entre outras funcionalidades. Ressalta-se que essas funcionalidades fazem parte de todo o ambiente de Verificação Funcional, que são características das metodologias em questão. Feito esses procedimentos, desenvolveu-se em System Verilog um ambiente para simulação desses componentes. Observou-se que os modelos de comunicação diferem-se nessas metodologias, pois em BVM a comunicação de unidades é feito através de TLM FIFO (First in First out), por sua vez, em OVM, o ambiente de comunicação já se encontra configurado e pronto para uso com uma arquitetura consistente. Em último momento, através de resultados das simulações, buscou-se a comparação das metodologias quanto à eficiência e rapidez da verificação. |
RESULTADOS: |
Com o desempenho das simulações, verificou-se que as metodologias BVM e OVM têm um importante aspecto, que é o reúso dos próprios elementos do Testbench, para que desta maneira possa prevenir erros. Deste modo, o processo torna-se mais ágil ao criar primeiro o ambiente de verificação para somente após criar um ambiente de implementação, sem que se precisem escrever mais códigos. A metodologia OVM por fazer reúso de outras metodologias no desenvolvimento dos componentes UVC (Universal Verification Component) focado na criação de SoC, pode ser considerada mais eficiente em relação as outras, pois a documentação é concisa, de fácil entendimento e provém de uma maneira eficiente de conectar elementos que compõem o Testbench. Em BVM, a criação do componente Actor permitiu monitorar os sinais do protocolo de comunicação, bem como a simplificação da comunicação entre dois elementos do Testbench, por meio da criação de uma FIFO. Sua utilização é de grande importância, pois em projetos mais complexos que exigem uma integração de vários módulos, esta metodologia torna a detecção de erros mais simples. |
CONCLUSÃO: |
Com a implementação das duas metodologias comprovou-se experimentalmente uma melhor eficácia da metodologia BVM, pelo fato desta possuir alguns elementos que facilitam a Verificação Funcional. Vale ressaltar que para a caracterização da Metodologia BVM faz-se o uso da biblioteca OVM, por oferecer uma maneira simples e eficiente de conexão dos elementos do Testbench, uma vez que BVM implementa de maneira nativa um protocolo de comunicação padrão para os elementos que comunicam-se diretamente com o DUV (Designer Under Verification). Em testes comparativos a metodologia BVM consome 20% menos tempo para implementar a Verificação Funcional em relação a outras metodologias, tornando-a, portanto, mais eficiente nos testes realizados. |
Palavras-chave: System Verilog, Testbench, Verificação Funcional. |