Meilleure réponse
1.Verilog est un HDL (Hardware Description Language) tandis que SystemVerilog (SV) est à la fois un HDL et HVL (Hardware Verification Language), ainsi combiné appelé HDVL.
2.Verilog a principalement 2 types de données Reg et Wire qui sont 4 valeurs logiques 0,1, x, z tandis que SV est enrichi dune grande variété de type de données comme int, shortint, longint, logic, bit, real, realtime, reg, chandle, type de données défini par lutilisateur, etc. qui sont tous deux une combinaison de logique à valeurs 4 et 2.
3.Mémoire et tableaux Les déclarations sur Verilog sont de nature statique, tandis quen cas de SV, leur nature dynamique signifie que la déclaration peut être modifiée pendant la compilation.
4. Toute la file dattente dévénements dans Verilog est subdivisée en 4 régions qui sont actives , inactif, NBA et région reportée tandis quen cas de SV, il est divisé en 17 régions, y compris le PLI et lintroduction dun bloc de programme qui a un banc dessai sans course intégré et utilisé comme une séparation entre n DUT et TB contrairement à Verilog.
5.Verilog a un seul bloc always pour limplémentation de la logique combinatoire et séquentielle tandis que SV utilise la construction always\_ff, always\_comb, always\_latch pour lutilisation dune logique différente.
6.La casse complète et la casse parallèle dans Verilog sont remplacées par une instruction unique et prioritaire dans SV.
7. Limplémentation de FSM dans SV est beaucoup plus facile dans SV avec lutilisation du type de données enum qui a un certain nombre de méthodes comme number, first, last, next, previous qui aident au débogage à la différence de lutilisation du paramètre dans Verilog qui est codé en dur.
8. SystemVerilog utilise une construction dinterface qui a utilisé pour regrouper tous les signaux avec un bloc dhorloge qui est utilisé pour la synchronisation contrairement à Verilog dans lequel linstanciation avec le DUT devient fastidieuse en raison du grand nombre de signaux.
9.Verilog utilise testbench au niveau du module tandis que SV utilise le testbench basé sur les classes qui est de nature dynamique.
Answer
SystemVerilog est un sur-ensemble et une extension de la langue Verilog . Pour comprendre comment il a évolué, il sera bon de comprendre brièvement lhistorique sur son évolution
Le langage Verilog a commencé en 1983 en tant que langage propriétaire pour la modélisation matérielle à Gateway Design Automation Inc. Gateway Design Automation a ensuite été racheté par Cadence en 1990 et a continué à saméliorer. Il est ensuite devenu norme IEEE 1364 en 1995 et a commencé à être plus largement utilisé. Deux améliorations majeures ont été apportées à Verilog plus tard dans 2001 et 2005 .
Dans le même laps de temps, les complexités de conception augmentaient et les améliorations apportées au standard Verilog concernaient principalement les constructions RTL.
Les méthodologies de vérification ont également évolué dans le même laps de temps pour gérer une vérification efficace des conceptions complexes. La vérification aléatoire contrainte avec la vérification basée sur la couverture et lassertion devenait de plus en plus utile.
Le langage Verilog ne prenant pas en charge le même langage, plusieurs autres langages orientés Verification comme Vera et Specman devenaient largement utilisés dans lindustrie car ceux-ci supportaient la plupart des constructions nécessaires à la vérification en termes de modélisation, de stimulus, dassertions, etc. Mais ces langages étaient limités à des fournisseurs spécifiques et non à aucune norme IEEE.
SystemVerilog était à lorigine conçu comme une extension de Verilog 2005 et est devenu la norme IEEE 1800. Il a été publié en tant que document séparé et comprend des centaines daméliorations et extensions de verilog. En 2009, il est officiellement devenu un super ensemble de Verilog et a de nouveau été mis à jour en 2012 en tant que IEEE 1800-2012 standard.
Il y avait 5 grands zones où des améliorations ont été ajoutées à SystemVerilog
1) SVD – System Verilog for Design. Cela inclut plusieurs améliorations de la conception des constructions.
2) SVTB – SystemVerilog pour les bancs de test: Cétait la plus grande série daméliorations dans SystemVerilog pour prendre en charge toute la modélisation Testbench et les besoins de nouvelles méthodologies de vérification.
Cela inclut à un niveau élevé – Prise en charge de la programmation orientée objet avec Classes, un solveur de contraintes avec plusieurs capacités pour créer un stimulus aléatoire contraint, des processus concurrents , sémaphores, boîtes aux lettres et bien dautres.
3) SVA – Assertions System Verilog: Cela inclut plusieurs fonctionnalités pour les assertions temporelles et simultanées comme les propriétés et les séquences.
4) SVDPI – Interface de programmation SV Direct: Cela inclut des fonctionnalités pour une meilleure intégration C / C ++
5) SVAPI – Interface de programmation dapplication SV: Cela inclut des fonctionnalités pour une meilleure intégration des API pour la couverture et les assertions
Pour plus de détails, reportez-vous à lIEEE 1800.2012 spec – 1800-2012 Standard