최상의 답변
1. Verilog는 HDL (Hardware Description Language)이고 SystemVerilog (SV)는 HDL과 HVL입니다. (Hardware Verification Language), HDVL이라고도합니다.
2. Verilog에는 주로 2 개의 데이터 유형 Reg 및 Wire가 있으며, 이는 4 값 논리 0,1, x, z 인 반면 SV는 다양한 int, shortint, longint, logic, bit, real, realtime, reg, chandle, 사용자 정의 데이터 유형 등과 같은 데이터 유형은 4 및 2 값 논리의 조합입니다.
3. 메모리 및 배열 Verilog에 대한 선언은 본질적으로 정적이지만 SV의 경우 동적은 본질적으로 컴파일 시간 동안 선언이 변경 될 수 있음을 의미합니다.
4.Verilog의 전체 이벤트 큐는 활성화 된 4 개의 영역으로 세분됩니다. , inactive, NBA 및 연기 된 영역, SV의 경우 PLI를 포함한 17 개 영역으로 나뉘며, method race free testbench가 내장되어 분리 된 betwee로 사용되는 프로그램 블록 도입 n DUT 및 TB는 Verilog와 다릅니다.
5. Verilog에는 조합 및 순차 논리 구현을위한 단일 always 블록이 있으며 SV는 다른 논리 사용을 위해 always\_ff, always\_comb, always\_latch 구문을 사용합니다.
6. Verilog의 Full case 및 parallel case는 SV에서 고유 한 우선 순위 문으로 대체됩니다.
7. SV에서 FSM 구현은 SV에서 많은 수의 enum 데이터 유형을 사용하여 훨씬 더 쉽습니다. number, first, last, next, previous와 같은 메소드는 하드 코딩 된 Verilog에서 매개 변수를 사용하는 것과 달리 디버깅 목적에 도움이됩니다.
8. SystemVerilog는 많은 신호로 인해 DUT와의 인스턴스화가 지루 해지는 Verilog와 달리 동기화에 사용되는 클럭킹 블록과 함께 모든 신호를 묶는 데 사용되는 인터페이스 구성을 사용합니다.
9.Verilog는 SV는 본질적으로 동적 인 클래스 기반 테스트 벤치를 사용하는 반면 모듈 수준 테스트 벤치입니다.
Answer
SystemVerilog 는 수퍼 세트입니다. 및 Verilog 언어에 대한 확장입니다. 어떻게 진화했는지 이해하려면 어떻게 진화했는지에 대한 역사를 간략히 이해하는 것이 좋습니다.
Verilog 언어 1983 이 Gateway Design Automation Inc. Gateway Design Automation은 1990 년에 Cadence에 인수되어 지속적으로 개선되었습니다. 나중에 1995 년에 IEEE 표준 1364 가되었고 더 널리 사용되기 시작했습니다. 나중에 2001 및 2005 에 Verilog에 두 가지 주요 개선 사항이 있습니다.
동일한 시간 프레임에서 설계 복잡성이 증가하고 Verilog 표준의 향상된 기능은 주로 RTL 구성을위한 것이 었습니다.
검증 방법론도 복잡한 설계의 효율적인 검증을 처리하기 위해 동일한 시간 프레임에서 발전했습니다. Coverage 및 Assertion 기반 검증을 통한 제한된 무작위 검증이 더욱 유용 해지고 있습니다.
Verilog 언어는 동일한 기능을 지원하지 않았으므로 Vera 및 Specman 은 모델링, 자극, 주장 등의 측면에서 검증에 필요한 대부분의 구성을 지원하기 때문에 업계에서 널리 사용되었습니다. 그러나 이러한 언어는 IEEE 표준이 아닌 특정 공급 업체로 제한되었습니다.
SystemVerilog 는 원래 Verilog 2005의 확장으로 의도되었으며 IEEE 표준 1800이되었습니다. 별도의 문서로 게시되었으며 수백 가지의 향상된 기능으로 구성됩니다. 및 verilog에 대한 확장. 2009 년에 공식적으로 Verilog의 수퍼 세트가되었으며 2012 년 IEEE 1800-2012 표준으로 다시 업데이트되었습니다.
5 개의 메이저가 있습니다. SystemVerilog에 향상된 기능이 추가 된 영역
1) SVD – 디자인을위한 시스템 Verilog. 여기에는 설계 구성에 대한 몇 가지 개선 사항이 포함됩니다.
2) SVTB-Testbenches 용 SystemVerilog : 이는 가장 큰 개선 세트였습니다. SystemVerilog에서 모든 Testbench 모델링 및 새로운 검증 방법에 대한 요구를 지원합니다.
여기에는 제한된 무작위 자극, 동시 프로세스를 생성하기위한 여러 기능을 가진 제약 솔버 인 Classes를 사용한 객체 지향 프로그래밍 지원이 포함됩니다. , 세마포어, 사서함 등이 있습니다.
3) SVA – 시스템 검증 어설 션 : 여기에는 속성 및 시퀀스와 같은 일시적 및 동시 어설 션에 대한 여러 기능이 포함됩니다.
4) SVDPI – SV 직접 프로그래밍 인터페이스 : 여기에는 더 나은 C / C ++ 통합을위한 기능이 포함됩니다.
5) SVAPI – SV 애플리케이션 프로그래밍 인터페이스 : 여기에는 커버리지 및 어설 션을위한 API의 더 나은 통합을위한 기능이 포함됩니다.
자세한 내용은 IEEE 1800.2012를 참조하십시오. 사양- 1800-2012 표준