1 Introduction
1.1 SystemVerilog란?
반도체 Chip의 복잡도와 크기가 증가하면서 설계보다는 검증의 비중이 점점 커지고 있다. 오직 설계하는 것을 목표로 한다면, Verilog-2001까지의 문법으로도 대부분의 Logic을 구현할 수 있다. 하지만, Verilog만으로는 복잡한 Logic을 효율적으로 검증하기에 무리가 있다. 그래서, 검증을 효율적으로 정확하게 하기 위해 탄생한 언어가 바로 SystemVerilog이다.
- HDL(Hardware Description Language)의 역사
~1980 | 1990 | 2000 | 2010~ | |
VHDL | - ’81: VHSIC - ’87: IEEE 1076-1987 (VHDL-1987) |
- IEEE 1164-1993 | - IEEE 1076-2002 - IEEE 1076-2007 - ’09: IEEE 1076-2008 (VHDL-2008) |
|
SystemC | - ’00: SystemC 1.0 - ’05: SystemC 2.1 IEEE 1666-2005(SystemC-2005) |
|||
Verilog | - ’72/’77/’85: HiLo1/2/3 - ’85: Verilog introduced by Gateway D.A. (Verilog-XL) - ’90: Acquired by Cadence |
- ’90: SuperLog - ’90: ModelSim – Mentor - VCS: ’92: Viewlogic -> ’97: Synopsys - ’95: IEEE 1364-1995 (Verilog-95) |
- ’01: IEEE 1364-2001 (Verilog-2001) - ’05: IEEE 1364-2005 (Verilog-2005) |
|
SystemVerilog | - ’02: SystemVerilog 3.0 - ’03: SystemVerilog 3.1 - ’05: SystemVerilog 3.1a IEEE 1800-2005 (SystemVerilog-2005) |
- ’09: IEEE 1800-2009 (Systemverilog-2009) - IEEE 1800-2012 - IEEE 1800-2017 |
SystemVerilog를 학습하기 전, Verilog HDL의 역사를 훑어보고 가는 것이 좋겠다.
- 1985년, Gateway Design Automation(GDA)에 의하여 Verilog HDL 이 도입된다.
- 1990년, Cadence에서 GDA를 인수한다.
- 1991년, Candence에 의해 Open Verilog International(OVI, 현재 Accelera)이 조직되었고 Verilog의 문서가 OVI라는 이름으로 퍼블릭 도메인으로 이전된다.
- 1995년, IEEE에 제출되어 IEEE standard 1364-1995, 흔히 Verilog-95라고 불리게 된다.
- 2001년, Verilog-95의 확장 버전이 IEEE에 다시 제출되어 Verilog-2001으로 알려진 IEEE standard 1364-2001이 된다. 이 확장 버전은 Verilog-95의 몇 가지 결함을 해결하는데, 가장 중요한 업그레이드 중 하나는 2’s complement 지원이다.
- 2005년, Verilog-2005(IEEE standard 1364-2005)가 약간의 수정과 함께 발표된다. 또한, 설계 검증을 지원하는 많은 새로운 기능을 갖춘 Verilog-2005의 Superset인 SystemVerilog-2005(IEEE standard 1800-2005)가 발표된다.
- 2009년, SystemVerilog와 Verilog 언어 표준은 SystemVerilog-2009(IEEE standard 1800-2009)에 병합된다.
현재는 IEEE standard 1800-2017로 Release된 버전을 주로 사용한다. Systemverilog는 여러 언어들의 특징을 가진다. 설계를 위한 문법들은 Verilog-2005의 확장 버전을 사용하고, 검증을 위한 문법들은 Java의 OOP와 클래스, OpenVera의 assertion에서 가져왔다. 마지막으로, C/C++을 사용하기 위한 DPI(Direct Programming Interface)가 있다.
'VLSI > Verification' 카테고리의 다른 글
[SystemVerilog Assertion(SVA)] 1-3. Introduction (0) | 2024.11.15 |
---|---|
[SystemVerilog Assertion(SVA)] 1-2. Introduction (1) | 2024.11.14 |
[SystemVerilog Assertion(SVA)] 1-1. Introduction (0) | 2024.11.13 |
[SystemVerilog] 1.2 SystemVerilog의 특징 (0) | 2023.10.22 |
댓글