오늘은 맑음

System Verilog study (1). system verilog란 본문

Language/System Verilog

System Verilog study (1). system verilog란

자전거 타는 구구 2021. 5. 16. 23:31
반응형

제 경험상 소프트웨어나 하드웨어에서 공통적으로 일을 하는 과정은 크게 아래와 같습니다.

 

1. Architecturing

 코딩을 시작하기 전에 전체적인 구조를 구상합니다. 첫 단추가 잘 끼워져야 다음 단추가 잘 끼워지듯이 전체적인 구조를 구상하는 과정은 매우 중요하고 많은 시간을 투자해야 합니다. 문제가 생길 수 있는 많은 경우의 수를 확인하고 판단해야 합니다. 만약 1번 과정을 대충 하게 된다면 다음 과정을 진행하면서 문제가 발생할 때 마다 대처하게 되며 이 과정에서 많은 부작용이 발생할 수 있습니다.(기존의 동작에 영향을 끼치거나 다음 문제가 발생했을 때 대처하지 못하는 상황이 발생할 수 있습니다)

 

2. Coding

1번에서 구조를 정하게 되면 이를 실행하는 과정입니다.

 

3. Verification

 2번을 통해 나온 결과물을 검증하는 과정입니다. 가장 많은 시간이 소모되며, 가장 중요한 과정일 수 있습니다. 1번과 2번에서 많은 경우의 수를 고려했다고 하더라도, 실제 상황에서는 정말 많은 요인에 의해 복합적으로 문제가 발생할 수 있기 때문에 verification을 통해 문제를 찾아내어 보완할 수 있습니다. Verification을 진행하는 방법에 따라 빠른 시간내에 많은 문제를 찾아낼 수도 있고, 혹은 시간이 정말 많이 걸릴 수도 있습니다.


 이번에는 RTL로 만들어진 design을 효율적으로 Verification하기 위한 방법인 System Verilog 통한 verification을 공부하도록 하겠습니다. 최근에는 RTL을 검증을 System Verilog로 하고 있습니다. System verilog는 verification에 필요한 다양한 기능을 제공하는데, 특히 중요한 부분은 coverage-driven random stimulus라고 합니다.
 Design을 검증할 때  Corner case를 테스트 하고 random 테스트를 진행합니다. 아무리 random 테스트를 진행하더라도 design 내의 모든 기능을 다 테스트 해봤는지를 알 수 없었지만 System verilog에서는 그 내용을 수치화해 보여준다고 합니다. 이런 장점 외에도 많은 기능으로 인해 RTL design 검증을 System verilog로 진행한다고 합니다. 앞으로는 시간이 될 때 마다 System verilog study를 해볼까 합니다.

Reference)
http://www.doulos.com/knowhow/systemverilog/systemverilog-tutorials/

 

Doulos

KnowHowFree Technical Resources

www.doulos.com

https://www.youtube.com/watch?v=sfUW711b2BE

 

반응형

'Language > System Verilog' 카테고리의 다른 글

System Verilog study (2). system environment  (0) 2021.06.12
Comments