제목을 검증의 기본 Assertion이라고 했지만, 설계에 있어서도 Assertion은 필수적인 요소일까? 인터페이스나 버스, 프로토콜이 중요한 IP에는 조기 검증에 큰 도움이 된다고 본다. 하지만 Assertion을 쓰지 않는다고 해서 부족한 설계라고 할 수 없으며, 본인이 추구하는 방법대로 검증하는 실력 있는 설계자들도 많다. Assertion을 알고 제대로 사용한다면 불필요한 검증 리소스를 줄일 수 있고 내 설계의 어떤 부분이 수정되어야 하는지 빠르게 알 수 있다. 두 말 할 것 없이 검증 엔지니어라면 필수로 알아야만 하는 System Verilog 문법이며, IP의 입력이나 출력이 잘못되었는지 확인하기엔 이만한 방법이 없다. 설계 엔지니어일 때, Assertion은 내게 가깝고도 먼 이름이었다. ..
Verilog를 사용해본 유저들이라면, SystemVerilog가 생소하지는 않을 것이다. SystemVerilog는 설계를 위해 사용되는 언어라기보다는 검증에 최적화되어 있다. 오로지 설계를 위해서라면, Verilog2001까지의 문법만으로도 대부분의 logic을 구현하기에 전혀 무리가 없다. 그러나 검증의 세계에 첫발을 디디면 완전히 새로운 세상이 펼쳐진다. Verilog라는 단일 언어로는 복잡한 logic을 효율적으로 검증하기에는 한계가 있다. 특히 Verilog로 OOP(객체지향) 관점에서의 Testbench를 꾸미기에는 무리가 있으며, 이를 위해서 탄생한 것이 오늘 소개할 SystemVerilog이다. 일단, 본인은 logic 검증 엔지니어가 아님을 밝혀두는 바이다. 솔직히 말해 IP 설계자로서..