Quais são as diferenças entre verilog e systemverilog?


Melhor resposta

1.Verilog é HDL (Hardware Description Language), enquanto SystemVerilog (SV) é HDL e HVL (Hardware Verification Language), assim combinado denominado como HDVL.

2.Verilog tem principalmente 2 tipos de dados Reg e Wire que são 4 lógicos de valor 0,1, x, z enquanto SV é enriquecido com uma grande variedade de tipo de dados como int, shortint, longint, lógico, bit, real, realtime, reg, chandle, tipo de dados definido pelo usuário, etc, que são combinações de 4 e 2 valores lógicos.

3. Memória e matrizes declaração em Verilog são de natureza estática, enquanto no caso de SV é de natureza dinâmica significa que a declaração pode ser alterada durante o tempo de compilação.

4.Toda a fila de eventos em Verilog é subdividida em 4 regiões que estão ativas , inativo, NBA e região adiada, enquanto no caso de SV é dividido em 17 regiões, incluindo o PLI e a introdução do bloco de programa que tem o método interno de teste sem corrida e usado como uma separação entre n DUT e TB ao contrário de Verilog.

5.Verilog tem um único bloco always para implementação de lógica combinacional e sequencial, enquanto SV usa a construção always\_ff, always\_comb, always\_latch para uso de lógica diferente.

6. Caso completo e caso paralelo em Verilog são substituídos por declaração única e de prioridade em SV.

7. Implementação de FSM em SV é muito mais fácil em SV com o uso de tipo de dados enum que tem uma série de métodos como número, primeiro, último, próximo, anterior, que ajuda na finalidade de depuração, ao contrário do uso de parâmetros em Verilog, que são codificados permanentemente.

8. SystemVerilog usa a construção de interface que é usada para agrupar todos os sinais junto com o bloco de clock, que é usado para sincronização, ao contrário do Verilog, no qual a instanciação com o DUT se torna tediosa devido ao grande número de sinais.

9.Verilog usa testbench de nível de módulo enquanto SV usa testbench baseado em classe que é dinâmico por natureza.

Resposta

SystemVerilog é um superconjunto e uma extensão para a linguagem Verilog . Para entender como ele evoluiu, será bom entender brevemente a história de como ele evoluiu

A linguagem Verilog começou em 1983 como uma linguagem proprietária para modelagem de hardware em Gateway Design Automation Inc. A Gateway Design Automation foi posteriormente adquirida pela Cadence em 1990 e aprimoramentos contínuos. Posteriormente, tornou-se o padrão IEEE 1364 em 1995 e começou a ser mais amplamente utilizado. Houve dois aprimoramentos principais no Verilog posteriormente em 2001 e 2005 .

Ao mesmo tempo, as complexidades do design foram aumentando e os aprimoramentos no padrão Verilog foram principalmente para construções RTL.

As metodologias de verificação também evoluíram no mesmo período para lidar com a verificação eficiente de projetos complexos. A verificação aleatória restrita com a verificação baseada em Cobertura e Asserção estava se tornando mais útil.

Como a linguagem Verilog não tinha suporte para a mesma, várias outras linguagens orientadas para a Verificação como Vera e Specman estava se tornando amplamente usado na indústria, já que apoiava a maioria das construções necessárias para verificação em termos de modelagem, estímulo, asserções, etc. Mas essas linguagens eram limitadas a fornecedores específicos e não a qualquer padrão IEEE.

SystemVerilog foi originalmente concebido como uma extensão do Verilog 2005 e tornou-se o padrão IEEE 1800. Foi publicado como um documento separado e consiste em centenas de melhorias e extensões para verilog. Em 2009, tornou-se oficialmente um superconjunto da Verilog e foi atualizado novamente em 2012 como padrão IEEE 1800-2012 .

Havia 5 principais áreas onde melhorias foram adicionadas em SystemVerilog

1) SVD – Sistema Verilog para Design. Isso inclui várias melhorias para as construções de design.

2) SVTB – SystemVerilog para Testbenches: Este foi o maior conjunto de melhorias no SystemVerilog para oferecer suporte a todas as modelagens Testbench e às necessidades de metodologias de verificação mais recentes.

Isso inclui em um alto nível – suporte de Programação Orientada a Objetos com Classes, um solucionador de restrições com vários recursos para criar estímulos aleatórios restritos, processos simultâneos , semáforos, caixas de correio e muito mais.

3) SVA – Asserções Verilog do Sistema: Inclui vários recursos para asserções temporais e simultâneas, como propriedades e sequências.

4) SVDPI – Interface de programação direta SV: Inclui recursos para uma melhor integração C / C ++

5) SVAPI – Interface de programação de aplicativo SV: inclui recursos para melhor integração de APIs para cobertura e asserções

Para obter mais detalhes, consulte o IEEE 1800.2012 especificação – 1800-2012 Padrão

Deixe uma resposta

O seu endereço de email não será publicado. Campos obrigatórios marcados com *